Ir para o conteúdo

Predefinição:ExibirPaginaNormaDatada: mudanças entre as edições

De Normas Regulamentadoras
Sem resumo de edição
Sem resumo de edição
 
(29 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:
/* ==========================================================================
<noinclude>
  CARREGADOR DA PÁGINA DE ESTUDO TRANSVERSAL (AJAX SEGURO - nr.wiki.br)
Predefinição estrutural de Estudo Transversal para Normas Regulamentadoras.
  ========================================================================== */
</noinclude>
mw.loader.using(['mediawiki.util', 'mediawiki.api']).then(function() {
<includeonly><div id="titulo-cargo-dinamico" style="display: none;">{{#cargo_query:tables=PortariasNormas|fields=designacao|where=norma={{{norma|1}}} AND verbo='R' AND origem=0 AND publica <= '{{{data}}}' AND (sai > '{{{data}}}' OR sai IS NULL)|format=raw}}</div>
     $(document).ready(function() {
<!-- CONTAINER DO CORPO DA PÁGINA -->
        var rootContainer = $('#estudo-transversal-root');
<div class="norma-page-layout">
          
  <!-- PAINEL ESQUERDA: TEXTO DA NORMA (SEMPRE) -->
         if (rootContainer.length) {
  <div class="norma-main-column">
            var urlParams = new URLSearchParams(window.location.search);
     <div class="norma-block-box principal-texto-norma">
            var norma = urlParams.get('normaq') || '1';
      <div class="conteudo-itens-norma">
            var data = urlParams.get('date');
         {{#cargo_query:
         |tables=ItensNR
        |fields=publica, vige, sai, norma, origem, ordena, nivel, texto, grafico, nota, forma, code, infra, classe


            if (!data) {
        |where=norma={{{norma|1}}} AND origem=0 AND publica <= '{{{data}}}' AND (sai > '{{{data}}}' OR sai IS NULL)
                rootContainer.html('<div style="text-align:center; padding:30px; color:red; font-weight:bold;">❌ ERRO: Coordenada temporal ausente.</div>');
        |order by=ordena ASC, publica ASC
                return;
        |limit=3000
            }
        |format=template
        |template=NormaItemLinhaDatada
        |named args=yes
        }}
      </div>
    </div>
  </div>


            // Costura a chamada limpa da nova predefinição datada
  <!-- PAINEL DIREITA: PAINÉIS LATERAIS -->
            var wikitextToRender = '{{ExibirPaginaNormaDatada|norma=' + norma + '|data=' + data + '}}';
  <div class="norma-sidebar-column">


            new mw.Api().post({
    <!-- 1) SISTEMA NAVEGAÇÃO NO ESPAÇO: ORBITAL -->
                action: 'parse',
    <div class="norma-block-box caixa-orbital-container">
                text: wikitextToRender,
      <div class="espaco-orbital">
                contentmodel: 'wikitext',
        <div class="container-satelites" id="sistema-orbital">
                format: 'json',
          {{#cargo_query:
                disablelimitreport: true
          |table=PortariasNormas
            }).done(function(res) {
          |fields=origem, apelido, vigencia, norma, '{{{data}}}'=data
                if (res && res.parse && res.parse.text) {
 
                    // Injeta todo o conteúdo estruturado carbono na tela
          |where=norma={{{norma|1}}} AND verbo='R' AND publica <= '{{{data}}}' AND (sai > '{{{data}}}' OR sai IS NULL)
                    rootContainer.html(res.parse.text['*']);
          |order by=origem ASC
                   
          |limit=17
                    // Dispara nativamente a sua rotina orbital antiga sobre o novo #sistema-orbital injetado
          |format=template
                    // Como o ID agora é o mesmo do presente, sua função original rodará sozinha com segurança!
          |template=ComposicaoOrbitalLinhaDatada
                    if (typeof processarSistemaOrbital === 'function') {
          |named args=yes
                        processarSistemaOrbital($('#sistema-orbital'));
          }}
                    }
        </div>
                } else {
      </div>
                    rootContainer.html('<div style="text-align:center; padding:30px; color:red;">❌ Erro ao renderizar registros históricos.</div>');
    </div>
                }
 
            }).fail(function() {
    <!-- 2) SISTEMA NAVEGAÇÃO NO TEMPO: DELOREAN -->
                rootContainer.html('<div style="text-align:center; padding:30px; color:red;">❌ Erro crítico de conexão de rede temporal.</div>');
    <div class="norma-block-box">
            });
      {{DataçãoLinha|norma={{{norma|1}}}}}
        }
    </div>
    });
 
});
<!-- Caixa 3: Linha do Tempo e Histórico de Vigência -->
    <div class="norma-block-box">
      <div id="infografico-vigencia" class="info-historico-infografico">
        {{#cargo_query:
        |tables=PortariasNormas, PortariasDados
        |join on=PortariasNormas.vigencia=PortariasDados.vigencia
        |fields=PortariasNormas.verbo=verbo, PortariasNormas.vigencia=vigencia, PortariasNormas.publica=publica, PortariasDados.link=link
 
        |where=norma={{{norma|1}}} AND PortariasNormas.origem={{{origem|0}}}
        |order by=PortariasNormas.publica DESC
        |limit=100
        |format=template
        |template=HistoricoLinha
        |named args=yes
        }}
      </div>
    </div>
 
      <!-- Caixa 4: Certidão de Nascimento: Quadro envelhecido (Sempre igual) -->
    <div class="norma-block-box">
      <div class="container-preview-historico">
        <div class="preview-velho-wrapper">https://nr.wiki.br/images/DOU_NR{{{norma|1}}}.png</div>
      </div>
    </div>
 
  </div>
 
</div>
</includeonly>

Edição atual tal como às 22h06min de 20 de agosto de 2026

Predefinição estrutural de Estudo Transversal para Normas Regulamentadoras.