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
Linha 1: Linha 1:
<noinclude>
/* ==========================================================================
Predefinição estrutural de Estudo Transversal para Normas Regulamentadoras - Lógica Imutável.
  CARREGADOR DA PÁGINA DE ESTUDO TRANSVERSAL (AJAX SEGURO - nr.wiki.br)
</noinclude>
  ========================================================================== */
<!-- TÍTULO DINÂMICO (SEMPRE) -->
mw.loader.using(['mediawiki.util', 'mediawiki.api']).then(function() {
<includeonly><div style="text-align: center; font-size: 1.6em; font-weight: bold; margin: -10px 0 -5px 0; padding: 0 !important; background: none !important;">{{#cargo_query:tables=Normas|fields=CONCAT('NR-',{{{norma|}}},' – ',Normas.nome)=t|where=Normas.norma={{{norma|}}}|format=raw}}</div>
    $(document).ready(function() {
        var rootContainer = $('#estudo-transversal-root');
       
        if (rootContainer.length) {
            var urlParams = new URLSearchParams(window.location.search);
            var norma = urlParams.get('normaq') || '1';
            var data = urlParams.get('date');


<div class="norma-page-layout">
            if (!data) {
                rootContainer.html('<div style="text-align:center; padding:30px; color:red; font-weight:bold;">❌ ERRO: Coordenada temporal ausente.</div>');
                return;
            }


  <!-- PAINEL ESQUERDA: TEXTO DA NORMA (SEMPRE) -->
            // Costura a chamada limpa da nova predefinição datada
  <div class="norma-main-column">
            var wikitextToRender = '{{ExibirPaginaNormaDatada|norma=' + norma + '|data=' + data + '}}';
    <div class="norma-block-box principal-texto-norma">
      <div class="conteudo-itens-norma">
        {{#cargo_query:
        |tables=ItensNR
        |fields=publica, vige, sai, norma, origem, ordena, nivel, texto, grafico, nota, forma, code, infra, classe


        |where=norma={{{{norma|1}}}}} AND origem=0 AND publica <= '{{{data}}}' AND (sai > '{{{data}}}' OR sai IS NULL)
            new mw.Api().post({
        |order by=ordena ASC
                action: 'parse',
        |limit=3000
                text: wikitextToRender,
        |format=template
                contentmodel: 'wikitext',
        |template=NormaItemLinha
                format: 'json',
        |named args=yes
                disablelimitreport: true
        }}
            }).done(function(res) {
      </div>
                if (res && res.parse && res.parse.text) {
    </div>
                    // Injeta todo o conteúdo estruturado carbono na tela
  </div>
                    rootContainer.html(res.parse.text['*']);
 
                   
  <!-- PAINEL DIREITA: PAINÉIS LATERAIS -->
                    // Dispara nativamente a sua rotina orbital antiga sobre o novo #sistema-orbital injetado
  <div class="norma-sidebar-column">
                    // Como o ID agora é o mesmo do presente, sua função original rodará sozinha com segurança!
 
                    if (typeof processarSistemaOrbital === 'function') {
    <!-- 1) SISTEMA NAVEGAÇÃO NO ESPAÇO: ORBITAL -->
                        processarSistemaOrbital($('#sistema-orbital'));
    <div class="norma-block-box caixa-orbital-container">
                    }
      <div class="espaco-orbital">
                } else {
        <div class="container-satelites" id="sistema-orbital">
                    rootContainer.html('<div style="text-align:center; padding:30px; color:red;">❌ Erro ao renderizar registros históricos.</div>');
          {{#cargo_query:
                }
          |table=PortariasNormas
            }).fail(function() {
          |fields=origem, apelido, vigencia, norma
                rootContainer.html('<div style="text-align:center; padding:30px; color:red;">❌ Erro crítico de conexão de rede temporal.</div>');
 
            });
          |where=norma={{{norma|1}}} AND verbo='R' AND publica <= '{{{data}}}' AND (sai > '{{{data}}}' OR sai IS NULL)
         }
          |order by=origem ASC
     });
          |limit=17
});
          |format=template
          |template=ComposicaoOrbitalLinha
          |named args=yes
          }}
        </div>
      </div>
    </div>
 
    <!-- 2) SISTEMA NAVEGAÇÃO NO TEMPO: DELOREAN -->
    <div class="norma-block-box">
      <h4>Máquina do Tempo</h4>
      {{DataçãoLinha|norma={{{norma|1}}}}}
    </div>
 
    <!-- 3) MAPA DE PORTARIAS: VIGÊNCIAS -->
    <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=0 AND PortariasNormas.publica <= '{{{data}}}'
        |order by=PortariasNormas.publica DESC
        |limit=100
        |format=template
        |template=HistoricoLinha
        |named args=yes
        }}
      </div>
    </div>
 
    <!-- 4) CERTIDÃO DE NASCIMENTO: QUADRO ENVELHECIDO -->
    <div class="norma-block-box">
      <h4>Documento Histórico</h4>
      <div class="container-preview-historico">
         <div class="preview-velho-wrapper">https://nr.wiki.br{{{norma|1}}}.png</div>
      </div>
     </div>
 
  </div>
 
</div>
</includeonly>

Edição das 15h57min de 5 de agosto de 2026

/* ==========================================================================

  CARREGADOR DA PÁGINA DE ESTUDO TRANSVERSAL (AJAX SEGURO - nr.wiki.br)
  ========================================================================== */

mw.loader.using(['mediawiki.util', 'mediawiki.api']).then(function() {

   $(document).ready(function() {
       var rootContainer = $('#estudo-transversal-root');
       
       if (rootContainer.length) {
           var urlParams = new URLSearchParams(window.location.search);
           var norma = urlParams.get('normaq') || '1';
           var data = urlParams.get('date');
           if (!data) {

rootContainer.html('

❌ ERRO: Coordenada temporal ausente.

');

               return;
           }
           // Costura a chamada limpa da nova predefinição datada
           var wikitextToRender = '/* ==========================================================================
  CARREGADOR DA PÁGINA DE ESTUDO TRANSVERSAL (AJAX SEGURO - nr.wiki.br)
  ========================================================================== */

mw.loader.using(['mediawiki.util', 'mediawiki.api']).then(function() {

   $(document).ready(function() {
       var rootContainer = $('#estudo-transversal-root');
       
       if (rootContainer.length) {
           var urlParams = new URLSearchParams(window.location.search);
           var norma = urlParams.get('normaq') || '1';
           var data = urlParams.get('date');
           if (!data) {

rootContainer.html('

❌ ERRO: Coordenada temporal ausente.

');

               return;
           }
           // Costura a chamada limpa da nova predefinição datada
           var wikitextToRender = 'Ciclo de predefinições detectado: Predefinição:ExibirPaginaNormaDatada';
           new mw.Api().post({
               action: 'parse',
               text: wikitextToRender,
               contentmodel: 'wikitext',
               format: 'json',
               disablelimitreport: true
           }).done(function(res) {
               if (res && res.parse && res.parse.text) {
                   // Injeta todo o conteúdo estruturado carbono na tela
                   rootContainer.html(res.parse.text['*']);
                   
                   // Dispara nativamente a sua rotina orbital antiga sobre o novo #sistema-orbital injetado
                   // Como o ID agora é o mesmo do presente, sua função original rodará sozinha com segurança!
                   if (typeof processarSistemaOrbital === 'function') {
                       processarSistemaOrbital($('#sistema-orbital'));
                   }
               } else {

rootContainer.html('

❌ Erro ao renderizar registros históricos.

');

               }
           }).fail(function() {

rootContainer.html('

❌ Erro crítico de conexão de rede temporal.

');

           });
       }
   });

});';

           new mw.Api().post({
               action: 'parse',
               text: wikitextToRender,
               contentmodel: 'wikitext',
               format: 'json',
               disablelimitreport: true
           }).done(function(res) {
               if (res && res.parse && res.parse.text) {
                   // Injeta todo o conteúdo estruturado carbono na tela
                   rootContainer.html(res.parse.text['*']);
                   
                   // Dispara nativamente a sua rotina orbital antiga sobre o novo #sistema-orbital injetado
                   // Como o ID agora é o mesmo do presente, sua função original rodará sozinha com segurança!
                   if (typeof processarSistemaOrbital === 'function') {
                       processarSistemaOrbital($('#sistema-orbital'));
                   }
               } else {

rootContainer.html('

❌ Erro ao renderizar registros históricos.

');

               }
           }).fail(function() {

rootContainer.html('

❌ Erro crítico de conexão de rede temporal.

');

           });
       }
   });

});