wagtail-enap-designsystem 1.2.1.168__py3-none-any.whl → 1.2.1.169__py3-none-any.whl

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.
@@ -64,7 +64,7 @@
64
64
  <a class="tabbusca tab-btn {% if tipo == 'cursos' %}active{% endif %} tabcursos"
65
65
  href="?q={{ query }}&tipo=cursos&ordenacao=relevantes">
66
66
  Cursos
67
- <span class="tab-count">{{ tabs_totais.cursos }}</span>
67
+ <span id="resultInfoTab" class="tab-count">{{ tabs_totais.cursos }}</span>
68
68
  </a>
69
69
 
70
70
  <a class="tabbusca tab-btn {% if tipo == 'servicos' %}active{% endif %} tabservicos"
@@ -128,7 +128,7 @@
128
128
  <span style="text-decoration: underline;">Limpar Filtros</span>
129
129
  </button>
130
130
  </div>
131
- <div class="result-info-wrapper">
131
+ <div id="resultInfoWrapper" class="result-info-wrapper">
132
132
  {% with pagination.current_page|add:"-1" as page_offset %}
133
133
  {% with page_offset|add:"0"|mul:10 as start %}
134
134
  {% with start|add:"1" as start_display %}
@@ -275,7 +275,7 @@
275
275
  <!-- Botões de ação no final da sidebar -->
276
276
  <div style="margin-top: 20px; padding: 0 20px; display: flex; flex-direction: column; gap: 10px;">
277
277
  <!-- Botão Aplicar -->
278
- <button type="submit" class="filtro-aplicar" onclick="submitForm()">
278
+ <button id="btn-aplicar-filtros" class="filtro-aplicar" type="submit" onclick="submitForm()">
279
279
  <span style="vertical-align: middle;" class="material-icons">filter_alt</span>
280
280
  Aplicar Filtros
281
281
  <span id="contador-filtros"></span>
@@ -311,21 +311,21 @@
311
311
  {% endfor %}
312
312
  </div>
313
313
  </div>
314
- </form>
314
+ </form>{{ pagination.current_page|add:"-1" }}
315
315
 
316
- <div class="paginacao-wrapper">
316
+ <div id="paginacaoWrapper" class="paginacao-wrapper">
317
317
  <div class="paginacao">
318
- <a href="?{{ pagination.base_querystring }}page=1" {% if not pagination.has_previous %}class="disabled"{% endif %}>&laquo;</a>
319
- <a href="?{{ pagination.base_querystring }}page={{ pagination.current_page|add:"-1" }}" {% if not pagination.has_previous %}class="disabled"{% endif %}>&lsaquo;</a>
318
+ <button type="button" onclick="submitForm(1)" {% if not pagination.has_previous %}class="disabled"{% endif %}>&laquo;</button>
319
+ <button type="button" onclick="submitForm({{ pagination.current_page|add:"-1" }})" {% if not pagination.has_previous %}class="disabled"{% endif %}>&lsaquo;</button>
320
320
 
321
321
  {% for num in pagination.pages %}
322
- <a href="?{{ pagination.base_querystring }}page={{ num }}" class="{% if num == pagination.current_page %}ativo{% endif %}">
322
+ <button type="button" onclick="submitForm({{ num }})" class="{% if num == pagination.current_page %}ativo{% endif %}">
323
323
  {{ num }}
324
- </a>
324
+ </button>
325
325
  {% endfor %}
326
326
 
327
- <a href="?{{ pagination.base_querystring }}page={{ pagination.current_page|add:"1" }}" {% if not pagination.has_next %}class="disabled"{% endif %}>&rsaquo;</a>
328
- <a href="?{{ pagination.base_querystring }}page={{ pagination.total_pages }}" {% if not pagination.has_next %}class="disabled"{% endif %}>&raquo;</a>
327
+ <button type="button" onclick="submitForm({{ pagination.current_page|add:"1" }})" {% if not pagination.has_next %}class="disabled"{% endif %}>&rsaquo;</button>
328
+ <button type="button" onclick="submitForm({{ pagination.total_pages }})" {% if not pagination.has_next %}class="disabled"{% endif %}>&raquo;</button>
329
329
  </div>
330
330
  </div>
331
331
  </div>
@@ -802,6 +802,34 @@
802
802
  align-items: center;
803
803
  }
804
804
 
805
+ /* Estilo do esqueleto */
806
+ .skeleton-card {
807
+ background: #e0e0e0;
808
+ animation: skeleton-loading 1.5s infinite ease-in-out;
809
+ min-width: 268px;
810
+ min-height: 450px;
811
+ border-radius: 20px;
812
+ box-shadow: inset 0 0 0 1px #DEE3ED;
813
+ margin-top: 20px;
814
+ }
815
+
816
+
817
+ .skeleton-card:nth-child(odd) {
818
+ animation-delay: 0.5s;
819
+ }
820
+
821
+ @keyframes skeleton-loading {
822
+ 0% {
823
+ background-color: #e0e0e0;
824
+ }
825
+ 50% {
826
+ background-color: #f0f0f0;
827
+ }
828
+ 100% {
829
+ background-color: #e0e0e0;
830
+ }
831
+ }
832
+
805
833
  </style>
806
834
  {% endblock %}
807
835
 
@@ -812,9 +840,67 @@
812
840
 
813
841
  {% block scriptinline %}
814
842
  <script>
815
- function submitForm() {
816
- document.getElementById("filtroForm").submit();
843
+ function submitForm(num=1) {
844
+ // Previne o envio tradicional do formulário
845
+ event.preventDefault();
846
+
847
+ var skeletonCards = Array(12).fill('<div class="skeleton-card"></div>').join('');
848
+ $("#cardsGrid").html(skeletonCards);
849
+
850
+ // Coleta os dados do formulário
851
+ var formData = $("#filtroForm").serialize() + "&page=" + num;
852
+
853
+ // Faz a requisição AJAX
854
+ $.ajax({
855
+ url: $("#filtroForm").attr("action"), // URL onde o formulário será enviado
856
+ type: "GET", // Método da requisição (GET, pois o seu formulário usa GET)
857
+ data: formData, // Dados a serem enviados
858
+ success: function(response) {
859
+ // Atualiza a área de resultados com os novos cards
860
+ $("#cardsGrid").html($(response).find("#cardsGrid").html());
861
+ $("#resultInfoWrapper").html($(response).find("#resultInfoWrapper").html());
862
+ $("#resultInfoTab").html($(response).find("#resultInfoTab").html());
863
+ $("#paginacaoWrapper").html($(response).find("#paginacaoWrapper").html());
864
+ var newURL = "?" + formData
865
+ // Atualiza a URL para refletir os filtros
866
+ history.pushState(null, null, newURL);
867
+ },
868
+ error: function(xhr, status, error) {
869
+ // Em caso de erro
870
+ console.error("Erro na requisição AJAX:", status, error);
871
+ }
872
+ });
817
873
  }
874
+
875
+ function limparFiltros() {
876
+ // Desmarcar todos os checkboxes
877
+ document.querySelectorAll('#filtroForm input[type="checkbox"]').forEach(checkbox => {
878
+ checkbox.checked = false;
879
+ });
880
+
881
+ // Atualizar contador
882
+ updateFilterCounter();
883
+
884
+ // Opcional: Aplicar automaticamente ou deixar o usuário decidir
885
+ submitForm();
886
+ }
887
+
888
+ function handleResponsiveFilters() {
889
+ const isMobile = $(window).width() < 768; // Verifica se a tela é menor que 768px
890
+ const checkboxes = $("input[type=checkbox]"); // Seleciona todos os checkboxes
891
+
892
+ // Em dispositivos móveis, ativa o envio apenas ao clicar no botão
893
+ if (isMobile) {
894
+ $("#btn-aplicar-filtros").show(); // Exibe o botão de "Aplicar Filtros"
895
+ } else {
896
+ // Em telas maiores que 768px, o envio será feito automaticamente ao marcar/desmarcar
897
+ checkboxes.off('change').on('change', function() {
898
+ submitForm(); // Dispara a função submitForm ao marcar/desmarcar
899
+ });
900
+ $("#btn-aplicar-filtros").hide(); // Oculta o botão de "Aplicar Filtros"
901
+ }
902
+ }
903
+
818
904
  function toggleFiltros() {
819
905
  const wrapper = document.getElementById('filtroWrapper');
820
906
  const btn = document.querySelector('.toggle-filtro-btn');
@@ -830,38 +916,10 @@
830
916
  const allDropdowns = document.querySelectorAll('.dropdown-checkbox-area');
831
917
  const allHeaders = document.querySelectorAll('.dropdown-header');
832
918
 
833
- // allDropdowns.forEach((dd, index) => {
834
- // if (dd !== dropdown) {
835
- // dd.classList.remove('open');
836
- // allHeaders[index].classList.remove('active');
837
- // }
838
- // });
839
-
840
919
  // Toggle do dropdown atual
841
920
  dropdown.classList.toggle('open');
842
921
  header.classList.toggle('active');
843
922
  }
844
-
845
- // Fechar dropdown ao clicar fora
846
- // document.addEventListener('click', function(event) {
847
- // const dropdowns = document.querySelectorAll('.dropdown-filter');
848
- // let clickedInside = false;
849
-
850
- // dropdowns.forEach(dropdown => {
851
- // if (dropdown.contains(event.target)) {
852
- // clickedInside = true;
853
- // }
854
- // });
855
-
856
- // if (!clickedInside) {
857
- // document.querySelectorAll('.dropdown-checkbox-area').forEach(dd => {
858
- // dd.classList.remove('open');
859
- // });
860
- // document.querySelectorAll('.dropdown-header').forEach(header => {
861
- // header.classList.remove('active');
862
- // });
863
- // }
864
- // });
865
923
 
866
924
 
867
925
  function updateFilterCounter() {
@@ -923,28 +981,17 @@
923
981
  checkbox.checked = true;
924
982
  }
925
983
  });
926
-
927
984
  });
928
-
929
-
930
- }
931
-
932
- function limparFiltros() {
933
- // Desmarcar todos os checkboxes
934
- document.querySelectorAll('#filtroForm input[type="checkbox"]').forEach(checkbox => {
935
- checkbox.checked = false;
936
- });
937
-
938
- // Atualizar contador
939
- updateFilterCounter();
940
-
941
- // Opcional: Aplicar automaticamente ou deixar o usuário decidir
942
- // submitForm();
943
985
  }
944
986
 
945
987
  // Inicializar
946
988
  document.addEventListener('DOMContentLoaded', function() {
947
989
  const checkboxes = document.querySelectorAll('#filtroForm input[type="checkbox"]');
990
+ handleResponsiveFilters();
991
+
992
+ window.addEventListener('resize', function() {
993
+ handleResponsiveFilters(); // Ajusta a lógica de filtros quando a tela for redimensionada
994
+ });
948
995
 
949
996
  keepFilterCheck();
950
997
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: wagtail-enap-designsystem
3
- Version: 1.2.1.168
3
+ Version: 1.2.1.169
4
4
  Summary: Módulo de componentes utilizado nos portais ENAP, desenvolvido com Wagtail + CodeRedCMS
5
5
  Author: Renan Campos
6
6
  Author-email: renan.oliveira@enap.gov.br
@@ -567,7 +567,7 @@ enap_designsystem/static/enap_designsystem/blocks/topic_links_block.css,sha256=I
567
567
  enap_designsystem/static/enap_designsystem/blocks/why_choose.css,sha256=nhzTUBt68Ba72WOq3YtS_PB1IUAE94f_cWGzcNoRaYA,1531
568
568
  enap_designsystem/static/enap_designsystem/blocks/wizard.css,sha256=Kmn9UygR3KFlkLxl4vfe0KurLaftAdcpYzpNLC-Epb4,1567
569
569
  enap_designsystem/static/enap_designsystem/blocks/navbar/navbar.css,sha256=77m2cSzFLQAm5yZy3EbM_fnSVPrv1g7ieD87m-butKU,5597
570
- enap_designsystem/static/enap_designsystem/blocks/pages/page_search.css,sha256=yY0hKLFDmfaND73AoNOtV3jb-Cq8xU2n_97Wf2D5D5A,15628
570
+ enap_designsystem/static/enap_designsystem/blocks/pages/page_search.css,sha256=b1NdTsM8HJofxMCmewEGd5gIza8Zpos6fx9BWAF-FBI,15726
571
571
  enap_designsystem/static/enap_designsystem/blocks/pages/page_search.js,sha256=Y8Glb6rYO0nYQS9ry9-7__XvvXF6fGHwUSEVS9VslTI,4717
572
572
  enap_designsystem/static/enap_designsystem/blocks/pages/template_cursos.css,sha256=f7oyQwzbkCU_aNdSSEqJ62_irFNC1h82Y47p3DppDso,415
573
573
  enap_designsystem/static/enap_designsystem/blocks/pages/template_especializacao.css,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -657,7 +657,7 @@ enap_designsystem/templates/admin/csv_export.html,sha256=VEKnMKncJJ0hGHOVmq30hmn
657
657
  enap_designsystem/templates/admin/exportar_respostas.html,sha256=jF7hGJ6LkbKo536-7ZIulTXjJQVOOf07-dJbIbzKbBI,6017
658
658
  enap_designsystem/templates/admin/meta_tags_manager.html,sha256=_zJZLEvEfZD4AFoK_YYEOE0C3_dHsYiHv-lumvXFr5s,11826
659
659
  enap_designsystem/templates/enap_designsystem/accordion_v2.html,sha256=SE-72OoHu-WucITL-CPR4XJzfLHrq78kmiytaSJB3Lc,4228
660
- enap_designsystem/templates/enap_designsystem/base.html,sha256=CyYr6U5b3RjHc5eJFI-mQMczSccQ9AdI_t0XGZonsvo,18709
660
+ enap_designsystem/templates/enap_designsystem/base.html,sha256=BEV3lOQS7UB1ViI222keqLh44bSiTPVMP_ZXit9_Qoc,18965
661
661
  enap_designsystem/templates/enap_designsystem/sistema_votacao_page.html,sha256=N8EoF3iXltBsD49yKAAO5n6zSop_DI1pv3WI8Js9quc,64128
662
662
  enap_designsystem/templates/enap_designsystem/blocks/accordions.html,sha256=WXBQrkO4U0R8SDbdbFRWBx742gdpiYiKEviiyQURZMk,2940
663
663
  enap_designsystem/templates/enap_designsystem/blocks/accordionsv2.html,sha256=-WXIV6zFjdbRAylWhF9mQkMxUr1Df4-d3OazVm1xT9s,5186
@@ -720,7 +720,7 @@ enap_designsystem/templates/enap_designsystem/blocks/dropdown.html,sha256=DOwuPg
720
720
  enap_designsystem/templates/enap_designsystem/blocks/evento_block.html,sha256=IvRgSfrhr5qmVhAvRZOGaGZpHMmLOpDjooixxV6TUYQ,7351
721
721
  enap_designsystem/templates/enap_designsystem/blocks/feature-img-texts.html,sha256=OcgTR0zcv_cx0GbWNUa4qE1F5sf49mpSkpS29x9iMQg,1153
722
722
  enap_designsystem/templates/enap_designsystem/blocks/feature_course.html,sha256=9VGJMncgxQACUogNFU4h4Na_Yj_gO0Igrn-Ri6lVMzw,1043
723
- enap_designsystem/templates/enap_designsystem/blocks/feature_estrutura.html,sha256=-jH91tO_aLHJ5CQYSaRVFsYhDql3EchF2mVZzAIuga8,2700
723
+ enap_designsystem/templates/enap_designsystem/blocks/feature_estrutura.html,sha256=dYQXC1MBsbcWpzUYJkJmY8vGPnEM7g8ef6MQ_9U_pTU,2482
724
724
  enap_designsystem/templates/enap_designsystem/blocks/feature_list_block.html,sha256=1bB85R09qIYqHhCpPIibyKbB8YDZkmckN9XSZp3-Pzk,2688
725
725
  enap_designsystem/templates/enap_designsystem/blocks/feature_processo_seletivo.html,sha256=MLKSppkz8gRUS2RzNwExmY60K12MH_edXsMYFGzNyWA,1198
726
726
  enap_designsystem/templates/enap_designsystem/blocks/feature_with_links_block.html,sha256=nuVkYrXdvs6t4kGyehQLb-vDS-U7v8V_USdCP2EkMHA,3775
@@ -816,7 +816,7 @@ enap_designsystem/templates/enap_designsystem/includes/form_field.html,sha256=D3
816
816
  enap_designsystem/templates/enap_designsystem/pages/404.html,sha256=v_vUTG27_ohx0_YLcOBrxMG4MYdDT92g3boJE9m8Mrg,2885
817
817
  enap_designsystem/templates/enap_designsystem/pages/area_aluno.html,sha256=aWDmOE3Ti0Ct-ztxh7tcgIDGvdij7Heq5gzMyHLjjR0,15775
818
818
  enap_designsystem/templates/enap_designsystem/pages/article_index_page.html,sha256=6VjJ3_EroEPCidFCW5gBDzvbi81UcFX9lGpbc4j6r9U,11482
819
- enap_designsystem/templates/enap_designsystem/pages/capsula_index_page.html,sha256=z754w481YEKv9BJgakywBRVDMrNxyHEiau33uU3f70I,21773
819
+ enap_designsystem/templates/enap_designsystem/pages/capsula_index_page.html,sha256=49nmMgUNhAOfkjLCoJj2XpJRNkOjxtquT2oTy81Iqdc,34747
820
820
  enap_designsystem/templates/enap_designsystem/pages/capsula_page.html,sha256=sRf-zYdiPzKg-hdX0sMJ4FBcFpekw3aeIgE6pUbgcQ8,40159
821
821
  enap_designsystem/templates/enap_designsystem/pages/carta_servico.html,sha256=Fi0nIa1PF2PO7hjzccT64a5IaxUOimPjVn4BM2RJAcU,69181
822
822
  enap_designsystem/templates/enap_designsystem/pages/curso_ead.html,sha256=54JDGkkJ8_zzPQ8-focy44x-6DOTRNoW8hgtO3JbsmQ,3521
@@ -824,7 +824,7 @@ enap_designsystem/templates/enap_designsystem/pages/durante_evento.html,sha256=c
824
824
  enap_designsystem/templates/enap_designsystem/pages/enap_layout.html,sha256=JqS4oXQrNLQaPc4HMYRmZu8LlevuRUl_Hyf2d8XMugM,1961
825
825
  enap_designsystem/templates/enap_designsystem/pages/enap_layout_semana.html,sha256=nZV71dI5MiM2CC6vbcKAX2H0fuqBsz2jvSOwtODEluU,1969
826
826
  enap_designsystem/templates/enap_designsystem/pages/mba_especializacao.html,sha256=YBFfX_xSCvLs3YYXy7Vw2mhdjrmAuO_YPRkHQdn5KtY,6298
827
- enap_designsystem/templates/enap_designsystem/pages/page_search.html,sha256=oKiOa3DMBjvMJXdG3zYZgHVXXg_2akqUaEFxAYoRIxc,53086
827
+ enap_designsystem/templates/enap_designsystem/pages/page_search.html,sha256=YCmtC0nW11hEQUU0O3Jej1EcL8qFE2Z-gkmEZ9oFpsU,55223
828
828
  enap_designsystem/templates/enap_designsystem/pages/pagepreview_block.html,sha256=RBqtL0rphuSh5Bi4XPPtXlGUf_zyWFPZY3xwJb8hhZM,235
829
829
  enap_designsystem/templates/enap_designsystem/pages/pos_evento.html,sha256=BWRdoOJuTPWetwQeTfkygvpMVSMQqBG8QK_AbHKBqKw,3273
830
830
  enap_designsystem/templates/enap_designsystem/pages/pre_evento.html,sha256=aLLqMoW4cnu7NFZ57D5Lq3B_cwbHAPmp3p1f7blYiOs,3806
@@ -902,8 +902,8 @@ enap_designsystem/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG
902
902
  enap_designsystem/utils/decorators.py,sha256=aq6SbLn0LcH2rfE3ZFit8jkD7pSx9fLVBUUwVB747hg,335
903
903
  enap_designsystem/utils/services.py,sha256=6dG5jLSbwH49jpZV9ZNpWlaZqI49gTlwlr1vaerxdiU,5824
904
904
  enap_designsystem/utils/sso.py,sha256=vjAuoYgoLeQAa_dkkyQ6-LmHvKMaVCxizNFpe5y3iUA,1145
905
- wagtail_enap_designsystem-1.2.1.168.dist-info/licenses/LICENSE,sha256=Btzdu2kIoMbdSp6OyCLupB1aRgpTCJ_szMimgEnpkkE,1056
906
- wagtail_enap_designsystem-1.2.1.168.dist-info/METADATA,sha256=SbI_dJ9gKb2SxVzpcNWUICbZMZIEa6Vjuz2QPhyVvi8,3651
907
- wagtail_enap_designsystem-1.2.1.168.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
908
- wagtail_enap_designsystem-1.2.1.168.dist-info/top_level.txt,sha256=RSFgMASxoA-hVftm5i4Qd0rArlX4Dq08lLv5G4sYD-g,18
909
- wagtail_enap_designsystem-1.2.1.168.dist-info/RECORD,,
905
+ wagtail_enap_designsystem-1.2.1.169.dist-info/licenses/LICENSE,sha256=Btzdu2kIoMbdSp6OyCLupB1aRgpTCJ_szMimgEnpkkE,1056
906
+ wagtail_enap_designsystem-1.2.1.169.dist-info/METADATA,sha256=L9iV4RGCfmlBBKwUExi1fcgcHFV1twtvY_A0alf2xRQ,3651
907
+ wagtail_enap_designsystem-1.2.1.169.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
908
+ wagtail_enap_designsystem-1.2.1.169.dist-info/top_level.txt,sha256=RSFgMASxoA-hVftm5i4Qd0rArlX4Dq08lLv5G4sYD-g,18
909
+ wagtail_enap_designsystem-1.2.1.169.dist-info/RECORD,,