1056
| <![CDATA[<span class="text-white" style="font-size:xx-large"><svg class="lexicon-icon lexicon-icon-acessibilidade" focusable="false" id="xfpk" role="presentation"><use xlink:href="https://www.bnb.gov.br/o/bnb-dxp-theme/images/bnb/icons.svg#acessibilidade"/></svg></span>]]>
|
1524
| <![CDATA[<div class="card m-0 background-position-y-center background-position-x-center" style="border:none; background-size:cover; background-image: url(/o/adaptive-media/image/2909253/lg/cdc-convenios-home.png?t=1669057647127)">
<div class="card m-0 p-4 d-flex justify-content-end" style="border:none; min-height: 240px; background: linear-gradient(transparent 30%, rgba(0,0,0,0.6) 70%); background-blend-mode: darken;">
<a href="/credito-pessoal-consignado-convenios" class="stretched-link h5 text-white" aria-label="Saiba mais sobre CDC Convênio">
CDC Convênio
</a>
<div class="text-white"><p>Crédito pessoal na medida, com vantagens exclusivas pra você</p></div>
</div>
</div>]]>
|
1525
| <![CDATA[<div class="card m-0 p-4 d-flex justify-content-end" style="border:none; min-height: 240px; background: linear-gradient(transparent 30%, rgba(0,0,0,0.6) 70%); background-blend-mode: darken;">
<a href="/credito-pessoal-consignado-convenios" class="stretched-link h5 text-white" aria-label="Saiba mais sobre CDC Convênio">
CDC Convênio
</a>
<div class="text-white"><p>Crédito pessoal na medida, com vantagens exclusivas pra você</p></div>
</div>]]>
|
1597
| <![CDATA[<div class="card m-0 background-position-y-center background-position-x-center" style="border:none; background-size:cover; background-image: url(/o/adaptive-media/image/2191866/md/mulher-com-oculos-de-realidade-virtual.jpg?t=1660251216072)">
<div class="card m-0 p-4 d-flex justify-content-end" style="border:none; min-height: 240px; background: linear-gradient(transparent 30%, rgba(0,0,0,0.6) 70%); background-blend-mode: darken;">
<a href="https://www.bnb.gov.br/fne-inovacao" class="stretched-link h5 text-white" aria-label="Saiba mais sobre FNE Inovação">
FNE Inovação
</a>
<div class="text-white"><p>Inove em produtos, serviços e processos da sua empresa.</p></div>
</div>
</div>]]>
|
1598
| <![CDATA[<div class="card m-0 p-4 d-flex justify-content-end" style="border:none; min-height: 240px; background: linear-gradient(transparent 30%, rgba(0,0,0,0.6) 70%); background-blend-mode: darken;">
<a href="https://www.bnb.gov.br/fne-inovacao" class="stretched-link h5 text-white" aria-label="Saiba mais sobre FNE Inovação">
FNE Inovação
</a>
<div class="text-white"><p>Inove em produtos, serviços e processos da sua empresa.</p></div>
</div>]]>
|
1670
| <![CDATA[<div class="card m-0 background-position-y-center background-position-x-center" style="border:none; background-size:cover; background-image: url(/o/adaptive-media/image/1529191/md/Cart%C3%A3o+BNB+Agro.jpg?t=1652818815671)">
<div class="card m-0 p-4 d-flex justify-content-end" style="border:none; min-height: 240px; background: linear-gradient(transparent 30%, rgba(0,0,0,0.6) 70%); background-blend-mode: darken;">
<a href="/cartao-bnb-agro" class="stretched-link h5 text-white" aria-label="Saiba mais sobre Cartão BNB Agro">
Cartão BNB Agro
</a>
<div class="text-white"><p>Saiba como obter o financiamento para desenvolver o seu agronegócio</p></div>
</div>
</div>]]>
|
1671
| <![CDATA[<div class="card m-0 p-4 d-flex justify-content-end" style="border:none; min-height: 240px; background: linear-gradient(transparent 30%, rgba(0,0,0,0.6) 70%); background-blend-mode: darken;">
<a href="/cartao-bnb-agro" class="stretched-link h5 text-white" aria-label="Saiba mais sobre Cartão BNB Agro">
Cartão BNB Agro
</a>
<div class="text-white"><p>Saiba como obter o financiamento para desenvolver o seu agronegócio</p></div>
</div>]]>
|
1738
| <![CDATA[<div class="card m-0 background-position-y-center background-position-x-center" style="border:none; background-size:cover; background-image: url(/o/adaptive-media/image/56619/md/por-do-sol.jpg?t=1623335791470)">
<div class="card m-0 p-4 d-flex justify-content-end" style="border:none; min-height: 240px; background: linear-gradient(transparent 30%, rgba(0,0,0,0.6) 70%); background-blend-mode: darken;">
<a href="/agroamigo-sol" class="stretched-link h5 text-white" aria-label="Saiba mais sobre Agroamigo Sol">
Agroamigo Sol
</a>
<div class="text-white"><p>Crédito para geração de energia solar no meio rural.</p></div>
</div>
</div>]]>
|
1739
| <![CDATA[<div class="card m-0 p-4 d-flex justify-content-end" style="border:none; min-height: 240px; background: linear-gradient(transparent 30%, rgba(0,0,0,0.6) 70%); background-blend-mode: darken;">
<a href="/agroamigo-sol" class="stretched-link h5 text-white" aria-label="Saiba mais sobre Agroamigo Sol">
Agroamigo Sol
</a>
<div class="text-white"><p>Crédito para geração de energia solar no meio rural.</p></div>
</div>]]>
|
1776
| <![CDATA[<ul class="nav" style="max-height: 344px" role="navigation">
<li class="nav-item " role="presentation">
<a class="nav-link text-secondary-d1" href="https://www.bnb.gov.br/web/guest/institucional">
<svg class="lexicon-icon lexicon-icon-bnb-simbolo mr-2" focusable="false" id="porj" role="presentation"><use xlink:href="https://www.bnb.gov.br/o/bnb-dxp-theme/images/bnb/icons.svg#bnb-simbolo"/></svg> Institucional
</a>
</li>
<li class="nav-item " role="presentation">
<a class="nav-link text-secondary-d1" href="https://www.bnb.gov.br/web/guest/desenvolvimento-regional">
<svg class="lexicon-icon lexicon-icon-trajeto mr-2" focusable="false" id="qcma" role="presentation"><use xlink:href="https://www.bnb.gov.br/o/bnb-dxp-theme/images/bnb/icons.svg#trajeto"/></svg> Desenvolvimento Regional
</a>
</li>
<li class="nav-item " role="presentation">
<a class="nav-link text-secondary-d1" href="https://www.bnb.gov.br/web/guest/sustentabilidade">
<svg class="lexicon-icon lexicon-icon-responsabilidade-ambiental mr-2" focusable="false" id="qoun" role="presentation"><use xlink:href="https://www.bnb.gov.br/o/bnb-dxp-theme/images/bnb/icons.svg#responsabilidade-ambiental"/></svg> Sustentabilidade
</a>
</li>
<li class="nav-item " role="presentation">
<a class="nav-link text-secondary-d1" href="https://www.bnb.gov.br/web/guest/cultura">
<svg class="lexicon-icon lexicon-icon-mascaras-cultura mr-2" focusable="false" id="kolj" role="presentation"><use xlink:href="https://www.bnb.gov.br/o/bnb-dxp-theme/images/bnb/icons.svg#mascaras-cultura"/></svg> Cultura
</a>
</li>
<li class="nav-item " role="presentation">
<a class="nav-link text-secondary-d1" href="https://www.bnb.gov.br/web/guest/etene">
<svg class="lexicon-icon lexicon-icon-prancheta-dados mr-2" focusable="false" id="zovp" role="presentation"><use xlink:href="https://www.bnb.gov.br/o/bnb-dxp-theme/images/bnb/icons.svg#prancheta-dados"/></svg> Etene
</a>
</li>
<li class="nav-item " role="presentation">
<a class="nav-link text-secondary-d1" href="https://www.bnb.gov.br/web/guest/hub-de-inovacao">
<svg class="lexicon-icon lexicon-icon-foguete mr-2" focusable="false" id="pylc" role="presentation"><use xlink:href="https://www.bnb.gov.br/o/bnb-dxp-theme/images/bnb/icons.svg#foguete"/></svg> Hubine
</a>
</li>
<li class="nav-item " role="presentation">
<a class="nav-link text-secondary-d1" href="https://www.bnb.gov.br/web/guest/fundeci">
<svg class="lexicon-icon lexicon-icon-pasta-indicadores mr-2" focusable="false" id="tpst" role="presentation"><use xlink:href="https://www.bnb.gov.br/o/bnb-dxp-theme/images/bnb/icons.svg#pasta-indicadores"/></svg> Fundeci
</a>
</li>
<li class="nav-item " role="presentation">
<a class="nav-link text-secondary-d1" href="https://www.bnb.gov.br/web/guest/relacao-com-acionistas-e-investidores">
<svg class="lexicon-icon lexicon-icon-relacionamento-2 mr-2" focusable="false" id="dgct" role="presentation"><use xlink:href="https://www.bnb.gov.br/o/bnb-dxp-theme/images/bnb/icons.svg#relacionamento-2"/></svg> Relação com Acionistas e Investidores
</a>
</li>
<li class="nav-item " role="presentation">
<a class="nav-link text-secondary-d1" href="https://www.bnb.gov.br/web/guest/open-finance">
<svg class="lexicon-icon lexicon-icon-open-finance mr-2" focusable="false" id="hdiw" role="presentation"><use xlink:href="https://www.bnb.gov.br/o/bnb-dxp-theme/images/bnb/icons.svg#open-finance"/></svg> Open Finance
</a>
</li>
<li class="nav-item " role="presentation">
<a class="nav-link text-secondary-d1" href="https://www.bnb.gov.br/web/guest/atividades-financiadas">
<svg class="lexicon-icon lexicon-icon-credito-2 mr-2" focusable="false" id="acwv" role="presentation"><use xlink:href="https://www.bnb.gov.br/o/bnb-dxp-theme/images/bnb/icons.svg#credito-2"/></svg> Atividades Financiadas
</a>
</li>
<li class="nav-item " role="presentation">
<a class="nav-link text-secondary-d1" href="https://www.bnb.gov.br/web/guest/eventos">
<svg class="lexicon-icon lexicon-icon-programacao mr-2" focusable="false" id="pmoo" role="presentation"><use xlink:href="https://www.bnb.gov.br/o/bnb-dxp-theme/images/bnb/icons.svg#programacao"/></svg> Eventos
</a>
</li>
<li class="nav-item " role="presentation">
<a class="nav-link text-secondary-d1" href="https://www.bnb.gov.br/web/guest/revista-juridica">
<svg class="lexicon-icon lexicon-icon-livro-aberto mr-2" focusable="false" id="fips" role="presentation"><use xlink:href="https://www.bnb.gov.br/o/bnb-dxp-theme/images/bnb/icons.svg#livro-aberto"/></svg> Revista Jurídica
</a>
</li>
<li class="nav-item " role="presentation">
<a class="nav-link text-secondary-d1" href="https://www.bnb.gov.br/web/guest/transparencia-e-prestacao-de-contas">
<svg class="lexicon-icon lexicon-icon-view mr-2" focusable="false" id="odbd" role="presentation"><use xlink:href="https://www.bnb.gov.br/o/bnb-dxp-theme/images/clay/icons.svg#view"/></svg> Transparência e Prestação de Contas
</a>
</li>
<li class="nav-item " role="presentation">
<a class="nav-link text-secondary-d1" href="https://www.bnb.gov.br/web/guest/seguranca">
<svg class="lexicon-icon lexicon-icon-protegido mr-2" focusable="false" id="izhb" role="presentation"><use xlink:href="https://www.bnb.gov.br/o/bnb-dxp-theme/images/bnb/icons.svg#protegido"/></svg> Segurança
</a>
</li>
<li class="nav-item " role="presentation">
<a class="nav-link text-secondary-d1" href="https://www.bnb.gov.br/web/guest/privacidade-e-protecao-de-dados">
<svg class="lexicon-icon lexicon-icon-hidden mr-2" focusable="false" id="adcx" role="presentation"><use xlink:href="https://www.bnb.gov.br/o/bnb-dxp-theme/images/clay/icons.svg#hidden"/></svg> Privacidade e Proteção de Dados
<svg class="lexicon-icon lexicon-icon-simple-circle text-tertiary" focusable="false" id="szgy" role="presentation"><use xlink:href="https://www.bnb.gov.br/o/bnb-dxp-theme/images/clay/icons.svg#simple-circle"/></svg> </a>
</li>
<li class="nav-item " role="presentation">
<a class="nav-link text-secondary-d1" href="https://www.bnb.gov.br/web/guest/sobre-o-banco">
<svg class="lexicon-icon lexicon-icon-bnb-simbolo mr-2" focusable="false" id="rydh" role="presentation"><use xlink:href="https://www.bnb.gov.br/o/bnb-dxp-theme/images/bnb/icons.svg#bnb-simbolo"/></svg> Tudo Sobre o Banco
</a>
</li>
</ul>]]>
|
2061
| <![CDATA[<section class="bg-" style="">
<div class="container px-3 py-5">
<div class="row ">
<div class="col-md-12">
<div id="fragment-0-pvya" > <div class="component-paragraph pb-3 text-left text-break">
<div><p class="lead">Gerir a privacidade e proteger seus dados pessoais são nossos compromissos.</p>
</div>
</div></div><style>.component-paragraph img {
max-width: 100%;
}</style><script>(function() {var fragmentElement = document.querySelector('#fragment-0-pvya'); var configuration = {"textAlign":"left","bottomSpacing":"3","textColor":{"cssClass":"","rgbValue":""}};/**
* Copyright (c) 2000-present Liferay, Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or modify it under
* the terms of the GNU Lesser General Public License as published by the Free
* Software Foundation; either version 2.1 of the License, or (at your option)
* any later version.
*
* This library is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
* details.
*/;}());</script>
<div id="fragment-0-hrtl" >
<div class="portlet-boundary portlet-boundary_com_liferay_journal_content_web_portlet_JournalContentPortlet_ portlet-static portlet-static-end portlet-journal-content " id="p_p_id_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_YI7Yoohkhe0V_">
<span id="p_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_YI7Yoohkhe0V"></span>
<section class="portlet" id="portlet_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_YI7Yoohkhe0V">
<div class="portlet-content">
<div class="autofit-float autofit-row portlet-header mb-0">
<div class="autofit-col autofit-col-end">
<div class="autofit-section">
<div class="visible-interaction">
</div>
</div>
</div>
</div>
<div class=" portlet-content-container">
<div class="portlet-body">
<div class="" data-fragments-editor-item-id="27801-460856" data-fragments-editor-item-type="fragments-editor-mapped-item">
<div class="journal-content-article " data-analytics-asset-id="460854" data-analytics-asset-title="Introdução" data-analytics-asset-type="web-content">
<p>Sancionada em 14/08/2018 a <a href="http://www.planalto.gov.br/ccivil_03/_ato2015-2018/2018/lei/L13709.htm" target="_blank">Lei ;nº 13.709</a>, conhecida como Lei Geral de Proteção de Dados (LGPD), ;trata sobre proteção de dados de pessoas físicas por entidades públicas e privadas.</p>
<p>No Banco do Nordeste adotamos as melhores práticas para preservar a sua privacidade e proteger os seus Dados Pessoais, os quais são armazenados de acordo com rígidos padrões de segurança.</p>
<p>Seus Dados Pessoais serão tratados para propósitos legítimos, específicos e explícitos, informados a você por meio de avisos ou políticas de privacidade, e amparados em bases legais constantes na legislação. Em caso de eventuais acessos indevidos sempre nos empenharemos em ações para remediar as consequências e evitar recorrências, com máxima transparência ao Titular de Dados.</p>
<p>O acesso às informações pessoais coletadas, armazenadas ou de outra forma tratadas pelo Banco do Nordeste é restrito aos profissionais autorizados ao uso direto dessas informações, e necessário à prestação de seus serviços, sendo limitado o uso para outras tarefas.</p>
<p>Cuidando da sua privacidade e proteção dos seus dados pessoais o Banco do Nordeste publicou o Aviso de Privacidade e a Política de Privacidade, bem como nomeou Lélia Paiva como Encarregada de Dados Pessoais. Você pode entrar em contato através do e-mail ;<a href="mailto:privacidade@bnb.gov.br">privacidade@bnb.gov.br</a>.</p>
</div>
</div>
</div>
</div>
</div>
</section>
</div>
</div>
</div>
</div>
</div>
</section>]]>
|
2473
| <![CDATA[<section class="bg-quaternary" style="">
<div class="container px-3 py-5">
<div class="row ">
<div class="col-md-12">
<div id="fragment-260978-jsmt" >
<div class="card container-fluid p-0 shadow border-0 m-0">
<div class="row no-gutters flex-lg-row">
<div class="col-12 col-lg-6 p-5 p-xl-6 order-2 order-lg-1">
<div class="d-flex flex-column justify-content-center h-100">
<div class="h2 mb-3 text-primary">
<div>3ª Semana da Privacidade</div>
</div>
<div class="lead">
<div><p>Nos dias 18/09 a 22/09, ocorrerá a terceira edição da Semana da Privacidade com o tema: "Proteção de dados e gestão de negócios".</p>
</div>
</div>
<div><a href="/semana-da-privacidade/3" aria-label="" class="btn btn-primary mt-1" rel="">Saiba mais</a></div>
</div>
</div>
<div class="col-12 col-lg-6 order-1 order-lg-2 rounded-card-image background-position-x-center background-position-y-center" style="min-height:400px; background-color: var(--gray); background-size: cover; background-image:url(/o/adaptive-media/image/5104212/lg/semana-card.png?t=1694706583032)">
</div>
</div>
</div>
</div><style>.background-position-x-left { background-position-x: left; }
.background-position-x-center { background-position-x: center; }
.background-position-x-right { background-position-x: right; }
.background-position-y-top { background-position-y: top; }
.background-position-y-center { background-position-y: center; }
.background-position-y-bottom { background-position-y: bottom; }
.rounded-card-image {
border-top-left-radius: 1.25rem;
border-top-right-radius: 1.25rem;
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
}
@media (min-width: 992px) {
.rounded-card-image.order-lg-2 {
border-top-left-radius: 0;
border-bottom-right-radius: 1.25rem;
}
.rounded-card-image:not(.order-lg-2) {
border-top-right-radius: 0;
border-bottom-left-radius: 1.25rem;
}
}</style><script>(function() {var fragmentElement = document.querySelector('#fragment-260978-jsmt'); var configuration = {"imgFlutuante":false,"imgLegend":"","useDocs":false,"docs":"","externalLink":false,"invertido":false,"imagem":"/documents/45863/4998558/semana-card.png/11eb1e51-be9e-0c35-f014-4797c89669e8?t=1694706583032","useMarginBottom":false,"btLegend":"","botao":true,"bgImagePositionY":"center","bgImagePositionX":"center"};let links = fragmentElement.querySelectorAll('a.btn')
let titles = fragmentElement.querySelectorAll('.h2')
let images = fragmentElement.querySelectorAll('img')
links.forEach((link, index) => {
let ariaLabel = (configuration.btLegend == '') ? 'Saiba mais sobre ' + titles[index].innerText : configuration.btLegend
ariaLabel = (configuration.externalLink) ? ariaLabel + ' (link externo)' : ariaLabel
link.setAttribute("aria-label", ariaLabel)
})
if (configuration.imgLegend == '') {
images.forEach((image, index) => {
image.setAttribute("alt", "Imagem ilustrativa sobre " + titles[index].innerText)
})
};}());</script>
</div>
</div>
</div>
</section>]]>
|
2499
| <![CDATA[<div class="col-12 col-lg-6 order-1 order-lg-2 rounded-card-image background-position-x-center background-position-y-center" style="min-height:400px; background-color: var(--gray); background-size: cover; background-image:url(/o/adaptive-media/image/5104212/lg/semana-card.png?t=1694706583032)">
</div>]]>
|
2561
| <![CDATA[<section class="bg-primary" style="">
<div class="container px-3 py-5">
<div class="row ">
<div class="col-md-6">
<div id="fragment-47411-paam" > <div class="card mb-3 shadow ">
<div class="d-flex flex-column flex-lg-row">
<div class="px-5 pt-5 pb-4 pb-lg-5 pr-lg-5">
<div class="lexicon-icon-box rounded-circle bg-primary text-white">
<svg class="lexicon-icon lexicon-icon-announcement" focusable="false" id="ugkp" role="presentation"><use xlink:href="https://www.bnb.gov.br/o/bnb-dxp-theme/images/clay/icons.svg#announcement" /></svg> </div>
</div>
<div class="px-5 pb-5 pl-lg-0 pt-lg-5">
<div class="h4">
<div>Aviso de Privacidade</div>
</div>
<div>
<div><p>O objetivo deste Aviso de Privacidade é informar como os seus dados pessoais são gerenciados.</p>
</div>
</div>
<div><a class="btn btn-primary" href="/aviso-de-privacidade" rel="">Saiba mais</a></div>
</div>
</div>
</div>
</div><style>.fragment_169311 {
}</style><script>(function() {var fragmentElement = document.querySelector('#fragment-47411-paam'); var configuration = {"spritemap":"clay","symbol":"announcement","cardShadow":"shadow","borderRadius":"","externalLink":false,"bottomSpacing":"mb-3","btnStyle":"btn-primary","btLegend":"","cardOrientation":"d-flex flex-column flex-lg-row","iconStyle":"bg-primary text-white","hasButton":true,"iconBox":"rounded-circle"};let links = fragmentElement.querySelectorAll('a.btn')
let titles = fragmentElement.querySelectorAll('div.h4')
links.forEach((link, index) => {
let ariaLabel = (configuration.btLegend == '') ? 'Saiba mais sobre ' + titles[index].innerText : configuration.btLegend
ariaLabel = (configuration.externalLink) ? ariaLabel + ' (link externo)' : ariaLabel
link.setAttribute("aria-label", ariaLabel)
});}());</script>
</div>
<div class="col-md-6">
<div id="fragment-47411-jlkq" > <div class="card mb-3 shadow ">
<div class="d-flex flex-column flex-lg-row">
<div class="px-5 pt-5 pb-4 pb-lg-5 pr-lg-5">
<div class="lexicon-icon-box rounded-circle bg-primary text-white">
<svg class="lexicon-icon lexicon-icon-lock" focusable="false" id="idts" role="presentation"><use xlink:href="https://www.bnb.gov.br/o/bnb-dxp-theme/images/clay/icons.svg#lock" /></svg> </div>
</div>
<div class="px-5 pb-5 pl-lg-0 pt-lg-5">
<div class="h4">
<div>Política de Privacidade</div>
</div>
<div>
<div><p>Nesta seção você obterá informações sobre o modo como<strong> ;</strong>tratamos os seus dados pessoais<strong>.</strong></p>
</div>
</div>
<div><a class="btn btn-primary" href="/politica-de-privacidade" rel="">Saiba mais</a></div>
</div>
</div>
</div>
</div><script>(function() {var fragmentElement = document.querySelector('#fragment-47411-jlkq'); var configuration = {"spritemap":"clay","symbol":"lock","cardShadow":"shadow","borderRadius":"","externalLink":false,"bottomSpacing":"mb-3","btnStyle":"btn-primary","btLegend":"","cardOrientation":"d-flex flex-column flex-lg-row","iconStyle":"bg-primary text-white","hasButton":true,"iconBox":"rounded-circle"};let links = fragmentElement.querySelectorAll('a.btn')
let titles = fragmentElement.querySelectorAll('div.h4')
links.forEach((link, index) => {
let ariaLabel = (configuration.btLegend == '') ? 'Saiba mais sobre ' + titles[index].innerText : configuration.btLegend
ariaLabel = (configuration.externalLink) ? ariaLabel + ' (link externo)' : ariaLabel
link.setAttribute("aria-label", ariaLabel)
});}());</script>
</div>
</div>
</div>
</section>]]>
|
2656
| <![CDATA[<section class="bg-quaternary" style="">
<div class="container px-3 py-5">
<div class="row ">
<div class="col-md-12">
<div id="fragment-47411-esdr" > <div class="card mb-3 shadow ">
<div class="d-flex flex-column flex-lg-row">
<div class="px-5 pt-5 pb-4 pb-lg-5 pr-lg-5">
<div class="lexicon-icon-box rounded-circle bg-quaternary text-primary">
<svg class="lexicon-icon lexicon-icon-forms" focusable="false" id="nrar" role="presentation"><use xlink:href="https://www.bnb.gov.br/o/bnb-dxp-theme/images/clay/icons.svg#forms" /></svg> </div>
</div>
<div class="px-5 pb-5 pl-lg-0 pt-lg-5">
<div class="h4">
<div>Exerça seu Direito</div>
</div>
<div>
<div><p>Você pode ;exercer seus direitos com relação ao tratamento de seus dados pessoais enviando uma solicitação por meio do ;<span class="text-dark">Formulário de Privacidade.</span></p>
</div>
</div>
<div><a class="btn btn-primary" href="/formulario-de-privacidade" rel="" target="_blank">Saiba mais</a></div>
</div>
</div>
</div>
</div><script>(function() {var fragmentElement = document.querySelector('#fragment-47411-esdr'); var configuration = {"spritemap":"clay","symbol":"forms","cardShadow":"shadow","borderRadius":"","externalLink":false,"bottomSpacing":"mb-3","btnStyle":"btn-primary","btLegend":"","cardOrientation":"d-flex flex-column flex-lg-row","iconStyle":"bg-quaternary text-primary","hasButton":true,"iconBox":"rounded-circle"};let links = fragmentElement.querySelectorAll('a.btn')
let titles = fragmentElement.querySelectorAll('div.h4')
links.forEach((link, index) => {
let ariaLabel = (configuration.btLegend == '') ? 'Saiba mais sobre ' + titles[index].innerText : configuration.btLegend
ariaLabel = (configuration.externalLink) ? ariaLabel + ' (link externo)' : ariaLabel
link.setAttribute("aria-label", ariaLabel)
});}());</script>
</div>
</div>
</div>
</section>]]>
|
2713
| <![CDATA[<section class="bg-white" style="">
<div class="container px-3 py-5">
<div class="row ">
<div class="col-md-12">
<div id="fragment-2316268-ipna" >
<script id="data_ipna" type="application/json">{"title":"Relatório de Auditoria - LGPD - TCU","type":0,"typeSettings":{"anyClassTypeDLFileEntryAssetRendererFactory":"true","orderByColumn1":"modifiedDate"}}</script>
<h2 class="mb-0 pb-3 text-left text-break ">
Relatório de Auditoria - LGPD - TCU
</h2>
<span class="loading-animation"></span>
<div class="documents-list"></div>
</div><style>.page-item button {
border-radius: 2rem !important;
}</style><script>(function() {var fragmentElement = document.querySelector('#fragment-2316268-ipna'); var configuration = {"contentSetId":"2964345","showDateConversions":false,"showModifiedDate":true,"showRefDate":false,"textAlign":"left","pageSize":"50","showYear":false,"groupBy":"noGroup","textColor":{"cssClass":"","rgbValue":""},"useTitle":true,"usePagination":true,"bottomSpacing":"3","labelForYear":"Ocorrido em","useContentSetTitle":true,"labelForRefDate":"Referente a","headingLevel":"h2","showCreateDate":true,"activeDebug":false};const editMode = document.body.classList.contains('has-edit-mode-menu')
const apiURL = `${Liferay.ThemeDisplay.getPortalURL()}/o/headless-delivery`
const contentSetsEndPoint = `/v1.0/content-sets/${configuration.contentSetId}/content-set-elements`
const restrictFields = 'title,content.contentUrl,content.dateCreated,content.dateModified,content.documentType,content.fileExtension,content.sizeInBytes'
const params = { fields: restrictFields, 'pageSize': configuration.pageSize, 'page': 1 }
const pathThemeImages = Liferay.ThemeDisplay.getPathThemeImages()
const spritemapBNB = `${pathThemeImages}/bnb/icons.svg`
const spritemapClay = `${pathThemeImages}/clay/icons.svg`
const scriptAssetListJson = fragmentElement.querySelector(`script#data_${fragmentElement.id.slice(-4)}`)
const assetListObject = (scriptAssetListJson) ? JSON.parse(scriptAssetListJson.text) : null
const documentsList = fragmentElement.querySelector('.documents-list')
const loadingAnimation = fragmentElement.querySelector('.loading-animation')
const orderByYearAttrs = ['modifiedDate', 'createDate', 'publishDate', 'ddm__keyword__47047__DataReferência', 'ddm__keyword__47054__Ano']
const orderByMonthYearAttrs = ['modifiedDate', 'createDate', 'publishDate', 'ddm__keyword__47047__DataReferência']
const orderByDayAttrs = ['modifiedDate', 'createDate', 'publishDate', 'ddm__keyword__47047__DataReferência']
const fileEntryTypes = { 'docOrdin': 47046, 'docAnual': 47053 }
const validity = (assetListObject) ? validateConfiguration() : null
validity && init()
// funcao de inicialização
function init() {
fragmentElement.classList.add('mb-4')
editMode && reportConstraints()
fetchDocumentsPage()
}
// constrói um objeto para verificar status de validade de algumas configurações
function validateConfiguration() {
let orderByColumn = assetListObject.typeSettings.orderByColumn1
let orderByColumnName = getOrderByFieldName(orderByColumn)
let canGroupByYear = orderByYearAttrs.includes(orderByColumn)
let canGroupByMonthYear = orderByMonthYearAttrs.includes(orderByColumn)
let canGroupByDay = orderByDayAttrs.includes(orderByColumn)
let canShowRefDate = (assetListObject.typeSettings.anyClassTypeDLFileEntryAssetRendererFactory == fileEntryTypes.docOrdin)
let canShowYear = (assetListObject.typeSettings.anyClassTypeDLFileEntryAssetRendererFactory == fileEntryTypes.docAnual)
let validityState = {
'canGroupByYear': {
'state': canGroupByYear,
'msg' : canGroupByYear ? '' : `A coleção não pode ser agrupada por ano, pois está ordenada por ${orderByColumnName}.`
},
'canGroupByMonthYear': {
'state': canGroupByMonthYear,
'msg' : canGroupByMonthYear ? '' : `A coleção não pode ser agrupada por mês e ano, pois está ordenada por ${orderByColumnName}.`
},
'canGroupByDay': {
'state': canGroupByDay,
'msg' : canGroupByDay ? '' : `A coleção não pode ser agrupada por dia, pois está ordenada por ${orderByColumnName}.`
},
'canShowRefDate': {
'state': canShowRefDate,
'msg' : canShowRefDate ? '' : 'Não é possível mostrar o campo Data de Referência. Esse metadado existe apenas em coleções de Documentos Ordinários.'
},
'canShowYear': {
'state': canShowYear,
'msg' : canShowYear ? '' : 'Não é possível mostrar o campo Ano. Esse metadado existe apenas em coleções de Documentos Anuais.'
}
}
return validityState
}
// alerta sobre restrições na configuração
function reportConstraints() {
cleanAlerts()
// alerta sobre restrições
let validationMessages = []
configuration.groupBy == 'groupByYear' && !validity.canGroupByYear.state && validationMessages.push(validity.canGroupByYear.msg)
configuration.groupBy == 'groupByMonthYear' && !validity.canGroupByMonthYear.state && validationMessages.push(validity.canGroupByMonthYear.msg)
configuration.groupBy == 'groupByDay' && !validity.canGroupByDay.state && validationMessages.push(validity.canGroupByDay.msg)
configuration.showRefDate && !validity.canShowRefDate.state && validationMessages.push(validity.canShowRefDate.msg)
configuration.showYear && !validity.canShowYear.state && validationMessages.push(validity.canShowYear.msg)
validationMessages.length > 0 && displayAlert('danger', 'Configuração inválida', validationMessages.join('<br/>'), documentsList, 'beforebegin')
// debug
if (configuration.activeDebug) {
console.clear()
console.log('Propriedades da Coleção:')
console.log(assetListObject)
console.log('Configuração do Fragmento:')
console.log(configuration)
console.log('Validade da Configuração:')
console.log(validity)
}
}
// principal funcao para pegar os dados
function fetchDocumentsPage(page) {
params.page = (page) ? page : params.page
let request = Liferay.Util.addParams(params, apiURL+contentSetsEndPoint)
fetch(
request,
{
method: 'GET',
headers: {
'Content-Type': 'application/json'
}
}
).then(response => {
if (response.ok) {
return response.json()
}
}).then(documents => {
handleDocuments(documents)
if (editMode && configuration.activeDebug) {
console.log(`Retorno da requisição (page ${params.page}):`)
console.log(documents)
}
})
}
// manipula dados retornados da coleção
function handleDocuments(documents) {
loadingAnimation && loadingAnimation.remove()
if (documents.items.length > 0) {
switch (configuration.groupBy) {
case 'noGroup':
renderDocumentsList(documents)
break
case 'groupByYear':
(validity.canGroupByYear.state) ? renderDocumentsListByGroup(documents) : renderDocumentsList(documents)
break
case 'groupByMonthYear':
(validity.canGroupByMonthYear.state) ? renderDocumentsListByGroup(documents) : renderDocumentsList(documents)
break
case 'groupByDay':
(validity.canGroupByDay.state) ? renderDocumentsListByGroup(documents) : renderDocumentsList(documents)
break
}
configuration.usePagination && renderPaginationBar(documents.page, documents.lastPage, documents.totalCount)
} else {
displayAlert('info', 'Aviso', 'Não foram encontrados documentos', documentsList, 'afterbegin')
}
}
// renderiza lista agrupada
function renderDocumentsListByGroup(documents) {
let lastListGroup = documentsList.querySelector('.list-group:last-child')
let currentGroup = (lastListGroup) ? lastListGroup.dataset.group : 0
configuration.activeDebug
&& configuration.showDateConversions
&& editMode
&& console.log(`Extração do grupo a partir do campo ${getOrderByFieldName(assetListObject.typeSettings.orderByColumn1)}:`)
documents.items.forEach(doc => {
let group = getDocumentGroup(doc)
if (currentGroup != group) {
let listGroup = document.createElement('ul')
listGroup.classList.add('list-group')
listGroup.dataset.group = group
listGroup.setAttribute('aria-label', `${assetListObject.title} de ${group}`)
lastListGroup = documentsList.insertAdjacentElement('beforeend', listGroup)
lastListGroup.insertAdjacentHTML('afterbegin', renderListGroupHeader(group))
currentGroup = group
}
lastListGroup.insertAdjacentHTML('beforeend', renderListGroupItem(doc))
})
}
// extrai e retorna o dado (string) utilizado como agrupador (dia, mês ou ano) a partir do campo utilizado como primeira ordenação da coleção
function getDocumentGroup(document) {
let fieldData
let group
let dateField
let options
let test
let orderByColumn = assetListObject.typeSettings.orderByColumn1
switch (orderByColumn) {
case 'ddm__keyword__47047__DataReferência':
fieldData = document.content.documentType.contentFields[0].contentFieldValue.data
break
case 'ddm__keyword__47054__Ano':
fieldData = document.content.documentType.contentFields[0].contentFieldValue.data
break
case 'modifiedDate':
fieldData = document.content.dateModified
break
case 'createDate':
fieldData = document.content.dateCreated
break
case 'publishDate': // verificar esse caso por que não há uma campo data de publicação em coleções de documentos
fieldData = document.content.dateCreated
break
}
dateField = new Date(fieldData)
switch (configuration.groupBy) {
case 'groupByYear':
test = (orderByColumn == 'ddm__keyword__47047__DataReferência' || orderByColumn == 'ddm__keyword__47054__Ano')
group = test ? dateField.getUTCFullYear() : dateField.getFullYear()
break
case 'groupByMonthYear':
test = (orderByColumn == 'ddm__keyword__47047__DataReferência')
options = test ? {month:'long', year:'numeric', timeZone: 'UTC'} : { month:'long', year:'numeric' }
group = dateField.toLocaleDateString('pt-BR', options)
group = group.charAt(0).toUpperCase() + group.slice(1)
break
case 'groupByDay':
test = (orderByColumn == 'ddm__keyword__47047__DataReferência')
options = test ? {timeZone: 'UTC'} : {}
group = dateField.toLocaleDateString('pt-BR', options)
break
}
configuration.activeDebug && configuration.showDateConversions && editMode && console.log(`${fieldData} --> ${group}`)
return group
}
// renderiza lista comum
function renderDocumentsList(documents) {
let listGroup = getNodeElement(documentsList, 'afterbegin', 'ul', '.list-group')
listGroup.setAttribute('aria-label', assetListObject.title)
documents.items.forEach(doc => {
listGroup.insertAdjacentHTML('beforeend', renderListGroupItem(doc))
})
}
// renderiza cabeçalho da lista
function renderListGroupHeader(title) {
let listHeaderHTML = `
<li class="list-group-header">
<span class="list-group-header-title"><big>${title}</big></span>
</li>
`
return listHeaderHTML
}
// renderiza um item da lista
function renderListGroupItem(document) {
let dateCreated = (configuration.showCreateDate) ? new Date(document.content.dateCreated) : null
let dateCreatedHTML = (dateCreated) ? `
<div class="d-flex flex-row flex-lg-column text-lg-right ml-lg-3 mr-md-2 mr-lg-0">
<span class="small font-weight-bold text-nowrap mr-1 mr-lg-0">Publicado em</span>
<span class="small">${dateCreated.toLocaleDateString('pt-BR')}</span>
</div>` : ''
let dateModified = (configuration.showModifiedDate) ? new Date(document.content.dateModified) : null
let dateModifiedHTML = (dateModified) ? `
<div class="d-flex flex-row flex-lg-column text-lg-right ml-lg-3 mr-md-2 mr-lg-0">
<span class="small font-weight-bold text-nowrap mr-1 mr-lg-0">Atualizado em</span>
<span class="small">${dateModified.toLocaleDateString('pt-BR')}</span>
</div>` : ''
let refDate = (configuration.showRefDate && validity.canShowRefDate.state) ? new Date(document.content.documentType.contentFields[0].contentFieldValue.data) : null
let refDateHTML = (refDate) ? `
<div class="d-flex flex-row flex-lg-column text-lg-right ml-lg-3 mr-md-2 mr-lg-0">
<span class="small font-weight-bold text-nowrap mr-1 mr-lg-0">${configuration.labelForRefDate}</span>
<span class="small">${refDate.toLocaleDateString('pt-BR', {timeZone: 'UTC'})}</span>
</div>` : ''
let year = (configuration.showYear && validity.canShowYear.state) ? document.content.documentType.contentFields[0].contentFieldValue.data : null
let yearHTML = (year) ? `
<div class="d-flex flex-row flex-lg-column text-lg-right ml-lg-3 mr-md-2 mr-lg-0">
<span class="small font-weight-bold text-nowrap mr-1 mr-lg-0">${configuration.labelForYear}</span>
<span class="small">${year}</span>
</div>` : ''
let hasMetadatas = (year || refDate || dateCreated || dateModified)
let metadataHTML = (hasMetadatas) ? `
<div class="d-flex flex-column flex-md-row">
${yearHTML}
${refDateHTML}
${dateCreatedHTML}
${dateModifiedHTML}
</div>` : ''
let listItemHTML = `
<li class="list-group-item list-group-item-flex align-items-center">
<div class="autofit-col">
<svg class="lexicon-icon text-tertiary lexicon-icon-lg" focusable="false" role="presentation"
viewBox="0 0 512 512">
<use xlink:href="${spritemapBNB}#arquivo-${document.content.fileExtension}" />
</svg>
</div>
<div class="autofit-col autofit-col-expand">
<div class="d-flex flex-column flex-lg-row justify-content-start justify-content-lg-between">
<div class="d-flex flex-column">
<span class="list-group-title">
<a href="${document.content.contentUrl}">${document.title}</a>
</span>
<span class="list-group-subtitle text-uppercase small">
${document.content.fileExtension}, ${Liferay.Util.formatStorage(document.content.sizeInBytes, {addSpaceBeforeSuffix: true})}
</span>
</div>
${metadataHTML}
</div>
</div>
</li>
`
return listItemHTML
}
// renderiza paginação
function renderPaginationBar(page, lastPage, totalCount) {
let paginationBar = getNodeElement(fragmentElement, 'beforeend', 'div', '.pagination-bar')
let lastIndex = (page === lastPage) ? totalCount : configuration.pageSize*page
let nDocuments = (page+1 === lastPage) ? totalCount - configuration.pageSize*page : configuration.pageSize
paginationBar.classList.add('justify-content-center', 'justify-content-lg-between')
let textColor = (configuration.textColor.cssClass) ? `text-${configuration.textColor.cssClass}` : ''
paginationBar.innerHTML = `
<div class="pagination-results mr-0 ${textColor}">Exibindo 1 a ${lastIndex} de ${totalCount} documentos.</div>
<ul class="pagination">
<li class="page-item">
<button class="btn btn-unstyled page-link" type="button">
Exibir mais ${nDocuments} documentos
${renderIcon('angle-down', spritemapClay, 'ml-2')}
</button>
</li>
</ul>
`
let showMoreButton = paginationBar.querySelector('button.page-link')
if (page !== lastPage) {
showMoreButton.addEventListener('click', e => {
showMoreButton.querySelector('svg').remove()
let loadAnimation = getNodeElement(showMoreButton, 'beforeend', 'span', '.loading-animation')
loadAnimation.classList.add('loading-animation-sm', 'ml-2')
fetchDocumentsPage(page+1)
})
} else {
showMoreButton.remove()
}
}
// imprime um mensagem de alerta
function displayAlert(style, title, msg, parentNode, position) {
let styleIcons = {
'danger': 'exclamation-full',
'success': 'check-circle-full',
'info': 'info-circle',
'warning': 'warning-full'
}
let html = `
<div class="alert p-4 alert-${style}" role="alert">
<span class="alert-indicator">
${renderIcon(styleIcons[style], spritemapClay, '')}
</span>
<strong>${title}:</strong>
<p class="mt-2 mb-0">${msg}</p>
</div>
`
parentNode.insertAdjacentHTML(position, html)
}
// limpa mensagens de alerta
function cleanAlerts() {
let alerts = fragmentElement.querySelectorAll('.alert')
alerts.forEach(alert => alert.remove())
}
// imprime icone SGV
function renderIcon(icon, spritemap, cssClasses) {
return `
<svg class="lexicon-icon lexicon-icon-${icon} ${cssClasses}" focusable="false" role="presentation">
<use href="${spritemap}#${icon}"></use>
</svg>
`
}
// retorna/cria um elemento html de uma classe css
// ascendantNode é um nó ascendente
// position é uma string 'beforeend', 'afterbegin' +
// elementType uma string 'ul', 'div' etc
// cssClass é uma classe css
function getNodeElement(ascendantNode, position, elementType, cssClass) {
let nodeElement
if (ascendantNode.querySelector(cssClass)) {
nodeElement = ascendantNode.querySelector(cssClass)
} else {
nodeElement = document.createElement(elementType)
nodeElement = ascendantNode.insertAdjacentElement(position, nodeElement)
nodeElement.classList.add(cssClass.slice(1))
}
return nodeElement
}
// retorna nome amigável do campo usado como 1ª ordenação
function getOrderByFieldName(orderByColumn) {
let regExp = /^ddm__keyword__\d+__(.+)/
let matchExp = regExp.exec(orderByColumn)
return (matchExp) ? matchExp[1] : Liferay.Language.get(orderByColumn)
};}());</script>
</div>
</div>
</div>
</section>]]>
|
3418
| <![CDATA[<a aria-label="Instagram" href="https://www.instagram.com/bancodonordeste/" target="_blank" class="mx-2 lexicon-icon-box bg-dark text-white rounded-circle" style="font-size:1.3em" role="menuitem">
<span>
<svg class="lexicon-icon lexicon-icon-social-instagram" focusable="false" id="xocu" role="presentation"><use xlink:href="https://www.bnb.gov.br/o/bnb-dxp-theme/images/bnb/icons.svg#social-instagram"/></svg> </span>
<span class="hide-accessible">Instagram</span>
</a>]]>
|
3423
| <![CDATA[<a aria-label="Youtube" href="https://www.youtube.com/bancodonordesteoficial" target="_blank" class="mx-2 lexicon-icon-box bg-dark text-white rounded-circle" style="font-size:1.3em" role="menuitem">
<span>
<svg class="lexicon-icon lexicon-icon-social-youtube" focusable="false" id="sybc" role="presentation"><use xlink:href="https://www.bnb.gov.br/o/bnb-dxp-theme/images/bnb/icons.svg#social-youtube"/></svg> </span>
<span class="hide-accessible">Youtube</span>
</a>]]>
|
3428
| <![CDATA[<a aria-label="Facebook" href="https://www.facebook.com/bancodonordeste" target="_blank" class="mx-2 lexicon-icon-box bg-dark text-white rounded-circle" style="font-size:1.3em" role="menuitem">
<span>
<svg class="lexicon-icon lexicon-icon-social-facebook" focusable="false" id="vbpn" role="presentation"><use xlink:href="https://www.bnb.gov.br/o/bnb-dxp-theme/images/bnb/icons.svg#social-facebook"/></svg> </span>
<span class="hide-accessible">Facebook</span>
</a>]]>
|
3433
| <![CDATA[<a aria-label="Twitter" href="https://twitter.com/BancodoNordeste" target="_blank" class="mx-2 lexicon-icon-box bg-dark text-white rounded-circle" style="font-size:1.3em" role="menuitem">
<span>
<svg class="lexicon-icon lexicon-icon-social-twitter" focusable="false" id="wfqb" role="presentation"><use xlink:href="https://www.bnb.gov.br/o/bnb-dxp-theme/images/bnb/icons.svg#social-twitter"/></svg> </span>
<span class="hide-accessible">Twitter</span>
</a>]]>
|
3516
| <![CDATA[<img alt="Selo da Ética" style="width:154px" src="https://www.bnb.gov.br/o/bnb-dxp-theme/images/selo-etica.svg" />]]>
|
3519
| <![CDATA[<img alt="Selo da Lei de Acesso à Informação" style="width:42px" src="https://www.bnb.gov.br/o/bnb-dxp-theme/images/selo-lai.svg" />]]>
|
730
| <![CDATA[<style data-senna-track="temporary" type="text/css">
</style>]]>
|
1969
| <![CDATA[<style>
.bg-wrnz { background-image: url(/documents/44549/0/aperto-de-mao-entre-homem-e-mulher.jpg/493c74d5-3d87-3f70-8ee2-aa2e5de9f91f?t=1634231155316&download=true); }
@media (max-width:1024px){ .bg-wrnz { background-image: url(/o/adaptive-media/image/410022/md/aperto-de-mao-entre-homem-e-mulher.jpg?t=1634231155316) } }
@media (max-width:1366px) and (min-width:1024px){ .bg-wrnz { background-image: url(/o/adaptive-media/image/410022/lg/aperto-de-mao-entre-homem-e-mulher.jpg?t=1634231155316) } }
@media (max-width:1600px) and (min-width:1366px){ .bg-wrnz { background-image: url(/o/adaptive-media/image/410022/xl/aperto-de-mao-entre-homem-e-mulher.jpg?t=1634231155316) } }
@media (max-width:1920px) and (min-width:1600px){ .bg-wrnz { background-image: url(/o/adaptive-media/image/410022/xxl/aperto-de-mao-entre-homem-e-mulher.jpg?t=1634231155316) } }
</style>]]>
|
2001
| <![CDATA[<style>.banner-breadcrumb {
background-size: cover;
background-repeat: no-repeat;
background-color: var(--light);
}
.banner-breadcrumb .container { min-height: 420px; }
.banner-breadcrumb .breadcrumb { background-color: transparent }
.banner-breadcrumb .breadcrumb-item a:hover { text-decoration:none; }
.banner-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20512%20512'%3E%3Cpath%20class='lexicon-icon-outline'%20d='M204.3%20408.4l136.1-136.1c9-9%209-23.7%200-32.7L204.3%20103.5c-14.6-14.6-39.5-4.3-39.5%2016.4V392c0%2020.7%2024.9%2031%2039.5%2016.4z'/%3E%3C/svg%3E");
}
.banner-breadcrumb.invertColor .breadcrumb-item,
.banner-breadcrumb.invertColor .breadcrumb-item a,
.banner-breadcrumb.invertColor .breadcrumb-item a:hover { color:var(--white) }
.banner-breadcrumb.invertColor .breadcrumb-item + .breadcrumb-item::before {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20512%20512'%3E%3Cpath%20class='lexicon-icon-outline'%20d='M204.3%20408.4l136.1-136.1c9-9%209-23.7%200-32.7L204.3%20103.5c-14.6-14.6-39.5-4.3-39.5%2016.4V392c0%2020.7%2024.9%2031%2039.5%2016.4z'%20fill='%23fff'/%3E%3C/svg%3E");
}
.banner-breadcrumb.useShadow .breadcrumb-item { text-shadow: 0 0 8px rgba(255,255,255,0.5) !important; }
.banner-breadcrumb.invertColor.useShadow .breadcrumb-item { text-shadow: 0 0 8px rgba(0,0,0,0.5) !important; }
.banner-breadcrumb.invertColor.useShadow svg.lexicon-icon {
-webkit-filter: drop-shadow(0 0 4px rgba(0, 0, 0, .5));
filter: drop-shadow(0 0 4px rgba(0, 0, 0, .5));
}
.shadow-dark { text-shadow: 0 0 8px rgba(0,0,0,0.5); }
.shadow-light { text-shadow: 0 0 8px rgba(255,255,255,0.5); }
.opacity-wine { background-color: #640f2488; }
.opacity-dark { background-color: #0008; }
.opacity-light { background-color: #fff8; }
.gradient-wine { background: linear-gradient(#640f2400 20%, #640f2488 60%, #640f24aa 80%); }
.gradient-dark { background: linear-gradient(#0000 20%, #0008 60%, #000a 80%); }
.gradient-light { background: linear-gradient(#fff0 20%, #fff8 60%, #fffa 80%); }
.gradient-salmon { background: linear-gradient(#ffe6cc00 20%, #ffe6cc88 60%, #ffe6ccaa 80%); }
@media (min-width:576px) { .nofx-sm { background:none; }}
@media (min-width:768px) { .nofx-md { background:none; }}
@media (min-width:992px) { .nofx-lg { background:none; }}
@media (min-width:1200px) { .nofx-xl { background:none; }}
@media (min-width:1400px) { .nofx-xxl { background:none; }}</style>]]>
|
2074
| <![CDATA[<style>.component-paragraph img {
max-width: 100%;
}</style>]]>
|
2504
| <![CDATA[<style>.background-position-x-left { background-position-x: left; }
.background-position-x-center { background-position-x: center; }
.background-position-x-right { background-position-x: right; }
.background-position-y-top { background-position-y: top; }
.background-position-y-center { background-position-y: center; }
.background-position-y-bottom { background-position-y: bottom; }
.rounded-card-image {
border-top-left-radius: 1.25rem;
border-top-right-radius: 1.25rem;
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
}
@media (min-width: 992px) {
.rounded-card-image.order-lg-2 {
border-top-left-radius: 0;
border-bottom-right-radius: 1.25rem;
}
.rounded-card-image:not(.order-lg-2) {
border-top-right-radius: 0;
border-bottom-left-radius: 1.25rem;
}
}</style>]]>
|
2590
| <![CDATA[<style>.fragment_169311 {
}</style>]]>
|
2735
| <![CDATA[<style>.page-item button {
border-radius: 2rem !important;
}</style>]]>
|
101
| <![CDATA[<script id="f5_cspm">(function(){var f5_cspm={f5_p:'ONGEPDIGMEHHHGJHELDBNDOLILDCLGCIKGJOLGGHAKPPCFCDJBBMGIGJFBIJHLBHGIABLBHNAAFKBKBHGEHAHHOCAAGKIKDBAOANNAPNHKNJPPGFOBIBMGFJGKCNFDPF',setCharAt:function(str,index,chr){if(index>str.length-1)return str;return str.substr(0,index)+chr+str.substr(index+1);},get_byte:function(str,i){var s=(i/16)|0;i=(i&15);s=s*32;return((str.charCodeAt(i+16+s)-65)<<4)|(str.charCodeAt(i+s)-65);},set_byte:function(str,i,b){var s=(i/16)|0;i=(i&15);s=s*32;str=f5_cspm.setCharAt(str,(i+16+s),String.fromCharCode((b>>4)+65));str=f5_cspm.setCharAt(str,(i+s),String.fromCharCode((b&15)+65));return str;},set_latency:function(str,latency){latency=latency&0xffff;str=f5_cspm.set_byte(str,40,(latency>>8));str=f5_cspm.set_byte(str,41,(latency&0xff));str=f5_cspm.set_byte(str,35,2);return str;},wait_perf_data:function(){try{var wp=window.performance.timing;if(wp.loadEventEnd>0){var res=wp.loadEventEnd-wp.navigationStart;if(res<60001){var cookie_val=f5_cspm.set_latency(f5_cspm.f5_p,res);window.document.cookie='f5avr0961558605aaaaaaaaaaaaaaaa_cspm_='+encodeURIComponent(cookie_val)+';path=/';}
return;}}
catch(err){return;}
setTimeout(f5_cspm.wait_perf_data,100);return;},go:function(){var chunk=window.document.cookie.split(/\s*;\s*/);for(var i=0;i<chunk.length;++i){var pair=chunk[i].split(/\s*=\s*/);if(pair[0]=='f5_cspm'&&pair[1]=='1234')
{var d=new Date();d.setTime(d.getTime()-1000);window.document.cookie='f5_cspm=;expires='+d.toUTCString()+';path=/;';setTimeout(f5_cspm.wait_perf_data,100);}}}}
f5_cspm.go();}());</script>]]>
|
230
| <![CDATA[<script data-senna-track="temporary" type="text/javascript">
// <![CDATA[
var Liferay = Liferay || {};
Liferay.Browser = {
acceptsGzip: function() {
return false;
},
getMajorVersion: function() {
return 0;
},
getRevision: function() {
return '';
},
getVersion: function() {
return '';
},
isAir: function() {
return false;
},
isChrome: function() {
return false;
},
isEdge: function() {
return false;
},
isFirefox: function() {
return false;
},
isGecko: function() {
return false;
},
isIe: function() {
return false;
},
isIphone: function() {
return false;
},
isLinux: function() {
return false;
},
isMac: function() {
return false;
},
isMobile: function() {
return false;
},
isMozilla: function() {
return false;
},
isOpera: function() {
return false;
},
isRtf: function() {
return false;
},
isSafari: function() {
return false;
},
isSun: function() {
return false;
},
isWebKit: function() {
return false;
},
isWindows: function() {
return false;
}
};
Liferay.Data = Liferay.Data || {};
Liferay.Data.ICONS_INLINE_SVG = true;
Liferay.Data.NAV_SELECTOR = '#navigation';
Liferay.Data.NAV_SELECTOR_MOBILE = '#navigationCollapse';
Liferay.Data.isCustomizationView = function() {
return false;
};
Liferay.Data.notices = [
null
];
Liferay.PortletKeys = {
DOCUMENT_LIBRARY: 'com_liferay_document_library_web_portlet_DLPortlet',
DYNAMIC_DATA_MAPPING: 'com_liferay_dynamic_data_mapping_web_portlet_DDMPortlet',
ITEM_SELECTOR: 'com_liferay_item_selector_web_portlet_ItemSelectorPortlet'
};
Liferay.PropsValues = {
JAVASCRIPT_SINGLE_PAGE_APPLICATION_TIMEOUT: 0,
NTLM_AUTH_ENABLED: false,
UPLOAD_SERVLET_REQUEST_IMPL_MAX_SIZE: 104857600
};
Liferay.ThemeDisplay = {
getLayoutId: function() {
return '750';
},
getLayoutRelativeControlPanelURL: function() {
return '/group/guest/~/control_panel/manage';
},
getLayoutRelativeURL: function() {
return '/web/guest/privacidade-e-protecao-de-dados';
},
getLayoutURL: function() {
return 'https://www.bnb.gov.br/web/guest/privacidade-e-protecao-de-dados';
},
getParentLayoutId: function() {
return '653';
},
isControlPanel: function() {
return false;
},
isPrivateLayout: function() {
return 'false';
},
isVirtualLayout: function() {
return false;
},
getBCP47LanguageId: function() {
return 'pt-BR';
},
getCanonicalURL: function() {
return 'https\x3a\x2f\x2fwww\x2ebnb\x2egov\x2ebr\x2fprivacidade-e-protecao-de-dados';
},
getCDNBaseURL: function() {
return 'https://www.bnb.gov.br';
},
getCDNDynamicResourcesHost: function() {
return '';
},
getCDNHost: function() {
return '';
},
getCompanyGroupId: function() {
return '20128';
},
getCompanyId: function() {
return '20101';
},
getDefaultLanguageId: function() {
return 'pt_BR';
},
getDoAsUserIdEncoded: function() {
return '';
},
getLanguageId: function() {
return 'pt_BR';
},
getParentGroupId: function() {
return '20124';
},
getPathContext: function() {
return '';
},
getPathImage: function() {
return '/image';
},
getPathJavaScript: function() {
return '/o/frontend-js-web';
},
getPathMain: function() {
return '/c';
},
getPathThemeImages: function() {
return 'https://www.bnb.gov.br/o/bnb-dxp-theme/images';
},
getPathThemeRoot: function() {
return '/o/bnb-dxp-theme';
},
getPlid: function() {
return '879';
},
getPortalURL: function() {
return 'https://www.bnb.gov.br';
},
getRealUserId: function() {
return '20105';
},
getScopeGroupId: function() {
return '20124';
},
getScopeGroupIdOrLiveGroupId: function() {
return '20124';
},
getSessionId: function() {
return '';
},
getSiteAdminURL: function() {
return 'https://www.bnb.gov.br/group/guest/~/control_panel/manage?p_p_lifecycle=0&p_p_state=maximized&p_p_mode=view';
},
getSiteGroupId: function() {
return '20124';
},
getURLControlPanel: function() {
return '/group/control_panel?refererPlid=879';
},
getURLHome: function() {
return 'https\x3a\x2f\x2fwww\x2ebnb\x2egov\x2ebr\x2fweb\x2fguest';
},
getUserEmailAddress: function() {
return '';
},
getUserId: function() {
return '20105';
},
getUserName: function() {
return '';
},
isAddSessionIdToURL: function() {
return false;
},
isImpersonated: function() {
return false;
},
isSignedIn: function() {
return false;
},
isStagedPortlet: function() {
return false;
},
isStateExclusive: function() {
return false;
},
isStateMaximized: function() {
return false;
},
isStatePopUp: function() {
return false;
}
};
var themeDisplay = Liferay.ThemeDisplay;
Liferay.AUI = {
getAvailableLangPath: function() {
return 'available_languages.jsp?browserId=other&themeId=portalbancodonordeste_WAR_bnbdxptheme&colorSchemeId=01&minifierType=js&languageId=pt_BR&t=1695350076125';
},
getCombine: function() {
return true;
},
getComboPath: function() {
return '/combo/?browserId=other&minifierType=&languageId=pt_BR&t=1670770798365&';
},
getDateFormat: function() {
return '%d/%m/%Y';
},
getEditorCKEditorPath: function() {
return '/o/frontend-editor-ckeditor-web';
},
getFilter: function() {
var filter = 'raw';
filter = 'min';
return filter;
},
getFilterConfig: function() {
var instance = this;
var filterConfig = null;
if (!instance.getCombine()) {
filterConfig = {
replaceStr: '.js' + instance.getStaticResourceURLParams(),
searchExp: '\\.js$'
};
}
return filterConfig;
},
getJavaScriptRootPath: function() {
return '/o/frontend-js-web';
},
getLangPath: function() {
return 'aui_lang.jsp?browserId=other&themeId=portalbancodonordeste_WAR_bnbdxptheme&colorSchemeId=01&minifierType=js&languageId=pt_BR&t=1670770798365';
},
getPortletRootPath: function() {
return '/html/portlet';
},
getStaticResourceURLParams: function() {
return '?browserId=other&minifierType=&languageId=pt_BR&t=1670770798365';
}
};
Liferay.authToken = 'o4fs3wCh';
Liferay.currentURL = '\x2fprivacidade-e-protecao-de-dados';
Liferay.currentURLEncoded = '\x252Fprivacidade-e-protecao-de-dados';
// ]]>
</script>]]>
|
579
| <![CDATA[<script data-senna-track="temporary" type="text/javascript">
// <![CDATA[
// ]]>
</script>]]>
|
602
| <![CDATA[<script data-senna-track="permanent" id="googleAnalyticsScript" type="text/javascript">
(function(i, s, o, g, r, a, m) {
i['GoogleAnalyticsObject'] = r;
i[r] = i[r] || function() {
var arrayValue = i[r].q || [];
i[r].q = arrayValue;
(i[r].q).push(arguments);
};
i[r].l = 1 * new Date();
a = s.createElement(o);
m = s.getElementsByTagName(o)[0];
a.async = 1;
a.src = g;
m.parentNode.insertBefore(a, m);
})(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');
ga('create', 'G-0W34JDGDKK', 'auto');
ga('send', 'pageview');
Liferay.on(
'endNavigate',
function(event) {
ga('set', 'page', event.path);
ga('send', 'pageview');
}
);
</script>]]>
|
661
| <![CDATA[<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-0W34JDGDKK');
</script>]]>
|
773
| <![CDATA[<script type="text/javascript">
// <![CDATA[
Liferay.Loader.require('frontend-js-spa-web@3.0.53/liferay/init.es', function(frontendJsSpaWeb3053LiferayInitEs) {
(function(){
var frontendJsSpaWebLiferayInitEs = frontendJsSpaWeb3053LiferayInitEs;
(function() {var $ = AUI.$;var _ = AUI._;
Liferay.SPA = Liferay.SPA || {};
Liferay.SPA.cacheExpirationTime = -1;
Liferay.SPA.clearScreensCache = false;
Liferay.SPA.debugEnabled = false;
Liferay.SPA.excludedPaths = ["/c/document_library","/documents","/image"];
Liferay.SPA.loginRedirect = '';
Liferay.SPA.navigationExceptionSelectors = ':not([target="_blank"]):not([data-senna-off]):not([data-resource-href]):not([data-cke-saved-href]):not([data-cke-saved-href])';
Liferay.SPA.requestTimeout = 0;
Liferay.SPA.userNotification = {
message: 'Parece que isso está demorando mais do que o esperado.',
timeout: 30000,
title: 'Oops'
};
frontendJsSpaWebLiferayInitEs.default.init(
function(app) {
app.setPortletsBlacklist({"com_liferay_site_navigation_directory_web_portlet_SitesDirectoryPortlet":true,"com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet":true,"com_liferay_login_web_portlet_LoginPortlet":true,"com_liferay_login_web_portlet_FastLoginPortlet":true});
app.setValidStatusCodes([221,490,494,499,491,492,493,495,220]);
}
);})();})();
});
// ]]>
</script>]]>
|
802
| <![CDATA[<script type="text/javascript">
// <![CDATA[
Liferay.on(
'ddmFieldBlur', function(event) {
if (window.Analytics) {
Analytics.send(
'fieldBlurred',
'Form',
{
fieldName: event.fieldName,
focusDuration: event.focusDuration,
formId: event.formId,
page: event.page
}
);
}
}
);
Liferay.on(
'ddmFieldFocus', function(event) {
if (window.Analytics) {
Analytics.send(
'fieldFocused',
'Form',
{
fieldName: event.fieldName,
formId: event.formId,
page: event.page
}
);
}
}
);
Liferay.on(
'ddmFormPageShow', function(event) {
if (window.Analytics) {
Analytics.send(
'pageViewed',
'Form',
{
formId: event.formId,
page: event.page,
title: event.title
}
);
}
}
);
Liferay.on(
'ddmFormSubmit', function(event) {
if (window.Analytics) {
Analytics.send(
'formSubmitted',
'Form',
{
formId: event.formId
}
);
}
}
);
Liferay.on(
'ddmFormView', function(event) {
if (window.Analytics) {
Analytics.send(
'formViewed',
'Form',
{
formId: event.formId,
title: event.title
}
);
}
}
);
// ]]>
</script>]]>
|
914
| <![CDATA[<script data-senna-track="temporary" type="text/javascript">
if (window.Analytics) {
window._com_liferay_document_library_analytics_isViewFileEntry = false;
}
</script>]]>
|
1050
| <![CDATA[<script>
new window.VLibras.Widget('https://vlibras.gov.br/app');
</script>]]>
|
2076
| <![CDATA[<script>(function() {var fragmentElement = document.querySelector('#fragment-0-pvya'); var configuration = {"textAlign":"left","bottomSpacing":"3","textColor":{"cssClass":"","rgbValue":""}};/**
* Copyright (c) 2000-present Liferay, Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or modify it under
* the terms of the GNU Lesser General Public License as published by the Free
* Software Foundation; either version 2.1 of the License, or (at your option)
* any later version.
*
* This library is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
* details.
*/;}());</script>]]>
|
2527
| <![CDATA[<script>(function() {var fragmentElement = document.querySelector('#fragment-260978-jsmt'); var configuration = {"imgFlutuante":false,"imgLegend":"","useDocs":false,"docs":"","externalLink":false,"invertido":false,"imagem":"/documents/45863/4998558/semana-card.png/11eb1e51-be9e-0c35-f014-4797c89669e8?t=1694706583032","useMarginBottom":false,"btLegend":"","botao":true,"bgImagePositionY":"center","bgImagePositionX":"center"};let links = fragmentElement.querySelectorAll('a.btn')
let titles = fragmentElement.querySelectorAll('.h2')
let images = fragmentElement.querySelectorAll('img')
links.forEach((link, index) => {
let ariaLabel = (configuration.btLegend == '') ? 'Saiba mais sobre ' + titles[index].innerText : configuration.btLegend
ariaLabel = (configuration.externalLink) ? ariaLabel + ' (link externo)' : ariaLabel
link.setAttribute("aria-label", ariaLabel)
})
if (configuration.imgLegend == '') {
images.forEach((image, index) => {
image.setAttribute("alt", "Imagem ilustrativa sobre " + titles[index].innerText)
})
};}());</script>]]>
|
2591
| <![CDATA[<script>(function() {var fragmentElement = document.querySelector('#fragment-47411-paam'); var configuration = {"spritemap":"clay","symbol":"announcement","cardShadow":"shadow","borderRadius":"","externalLink":false,"bottomSpacing":"mb-3","btnStyle":"btn-primary","btLegend":"","cardOrientation":"d-flex flex-column flex-lg-row","iconStyle":"bg-primary text-white","hasButton":true,"iconBox":"rounded-circle"};let links = fragmentElement.querySelectorAll('a.btn')
let titles = fragmentElement.querySelectorAll('div.h4')
links.forEach((link, index) => {
let ariaLabel = (configuration.btLegend == '') ? 'Saiba mais sobre ' + titles[index].innerText : configuration.btLegend
ariaLabel = (configuration.externalLink) ? ariaLabel + ' (link externo)' : ariaLabel
link.setAttribute("aria-label", ariaLabel)
});}());</script>]]>
|
2628
| <![CDATA[<script>(function() {var fragmentElement = document.querySelector('#fragment-47411-jlkq'); var configuration = {"spritemap":"clay","symbol":"lock","cardShadow":"shadow","borderRadius":"","externalLink":false,"bottomSpacing":"mb-3","btnStyle":"btn-primary","btLegend":"","cardOrientation":"d-flex flex-column flex-lg-row","iconStyle":"bg-primary text-white","hasButton":true,"iconBox":"rounded-circle"};let links = fragmentElement.querySelectorAll('a.btn')
let titles = fragmentElement.querySelectorAll('div.h4')
links.forEach((link, index) => {
let ariaLabel = (configuration.btLegend == '') ? 'Saiba mais sobre ' + titles[index].innerText : configuration.btLegend
ariaLabel = (configuration.externalLink) ? ariaLabel + ' (link externo)' : ariaLabel
link.setAttribute("aria-label", ariaLabel)
});}());</script>]]>
|
2685
| <![CDATA[<script>(function() {var fragmentElement = document.querySelector('#fragment-47411-esdr'); var configuration = {"spritemap":"clay","symbol":"forms","cardShadow":"shadow","borderRadius":"","externalLink":false,"bottomSpacing":"mb-3","btnStyle":"btn-primary","btLegend":"","cardOrientation":"d-flex flex-column flex-lg-row","iconStyle":"bg-quaternary text-primary","hasButton":true,"iconBox":"rounded-circle"};let links = fragmentElement.querySelectorAll('a.btn')
let titles = fragmentElement.querySelectorAll('div.h4')
links.forEach((link, index) => {
let ariaLabel = (configuration.btLegend == '') ? 'Saiba mais sobre ' + titles[index].innerText : configuration.btLegend
ariaLabel = (configuration.externalLink) ? ariaLabel + ' (link externo)' : ariaLabel
link.setAttribute("aria-label", ariaLabel)
});}());</script>]]>
|
2726
| <![CDATA[<script id="data_ipna" type="application/json">{"title":"Relatório de Auditoria - LGPD - TCU","type":0,"typeSettings":{"anyClassTypeDLFileEntryAssetRendererFactory":"true","orderByColumn1":"modifiedDate"}}</script>]]>
|
2737
| <![CDATA[<script>(function() {var fragmentElement = document.querySelector('#fragment-2316268-ipna'); var configuration = {"contentSetId":"2964345","showDateConversions":false,"showModifiedDate":true,"showRefDate":false,"textAlign":"left","pageSize":"50","showYear":false,"groupBy":"noGroup","textColor":{"cssClass":"","rgbValue":""},"useTitle":true,"usePagination":true,"bottomSpacing":"3","labelForYear":"Ocorrido em","useContentSetTitle":true,"labelForRefDate":"Referente a","headingLevel":"h2","showCreateDate":true,"activeDebug":false};const editMode = document.body.classList.contains('has-edit-mode-menu')
const apiURL = `${Liferay.ThemeDisplay.getPortalURL()}/o/headless-delivery`
const contentSetsEndPoint = `/v1.0/content-sets/${configuration.contentSetId}/content-set-elements`
const restrictFields = 'title,content.contentUrl,content.dateCreated,content.dateModified,content.documentType,content.fileExtension,content.sizeInBytes'
const params = { fields: restrictFields, 'pageSize': configuration.pageSize, 'page': 1 }
const pathThemeImages = Liferay.ThemeDisplay.getPathThemeImages()
const spritemapBNB = `${pathThemeImages}/bnb/icons.svg`
const spritemapClay = `${pathThemeImages}/clay/icons.svg`
const scriptAssetListJson = fragmentElement.querySelector(`script#data_${fragmentElement.id.slice(-4)}`)
const assetListObject = (scriptAssetListJson) ? JSON.parse(scriptAssetListJson.text) : null
const documentsList = fragmentElement.querySelector('.documents-list')
const loadingAnimation = fragmentElement.querySelector('.loading-animation')
const orderByYearAttrs = ['modifiedDate', 'createDate', 'publishDate', 'ddm__keyword__47047__DataReferência', 'ddm__keyword__47054__Ano']
const orderByMonthYearAttrs = ['modifiedDate', 'createDate', 'publishDate', 'ddm__keyword__47047__DataReferência']
const orderByDayAttrs = ['modifiedDate', 'createDate', 'publishDate', 'ddm__keyword__47047__DataReferência']
const fileEntryTypes = { 'docOrdin': 47046, 'docAnual': 47053 }
const validity = (assetListObject) ? validateConfiguration() : null
validity && init()
// funcao de inicialização
function init() {
fragmentElement.classList.add('mb-4')
editMode && reportConstraints()
fetchDocumentsPage()
}
// constrói um objeto para verificar status de validade de algumas configurações
function validateConfiguration() {
let orderByColumn = assetListObject.typeSettings.orderByColumn1
let orderByColumnName = getOrderByFieldName(orderByColumn)
let canGroupByYear = orderByYearAttrs.includes(orderByColumn)
let canGroupByMonthYear = orderByMonthYearAttrs.includes(orderByColumn)
let canGroupByDay = orderByDayAttrs.includes(orderByColumn)
let canShowRefDate = (assetListObject.typeSettings.anyClassTypeDLFileEntryAssetRendererFactory == fileEntryTypes.docOrdin)
let canShowYear = (assetListObject.typeSettings.anyClassTypeDLFileEntryAssetRendererFactory == fileEntryTypes.docAnual)
let validityState = {
'canGroupByYear': {
'state': canGroupByYear,
'msg' : canGroupByYear ? '' : `A coleção não pode ser agrupada por ano, pois está ordenada por ${orderByColumnName}.`
},
'canGroupByMonthYear': {
'state': canGroupByMonthYear,
'msg' : canGroupByMonthYear ? '' : `A coleção não pode ser agrupada por mês e ano, pois está ordenada por ${orderByColumnName}.`
},
'canGroupByDay': {
'state': canGroupByDay,
'msg' : canGroupByDay ? '' : `A coleção não pode ser agrupada por dia, pois está ordenada por ${orderByColumnName}.`
},
'canShowRefDate': {
'state': canShowRefDate,
'msg' : canShowRefDate ? '' : 'Não é possível mostrar o campo Data de Referência. Esse metadado existe apenas em coleções de Documentos Ordinários.'
},
'canShowYear': {
'state': canShowYear,
'msg' : canShowYear ? '' : 'Não é possível mostrar o campo Ano. Esse metadado existe apenas em coleções de Documentos Anuais.'
}
}
return validityState
}
// alerta sobre restrições na configuração
function reportConstraints() {
cleanAlerts()
// alerta sobre restrições
let validationMessages = []
configuration.groupBy == 'groupByYear' && !validity.canGroupByYear.state && validationMessages.push(validity.canGroupByYear.msg)
configuration.groupBy == 'groupByMonthYear' && !validity.canGroupByMonthYear.state && validationMessages.push(validity.canGroupByMonthYear.msg)
configuration.groupBy == 'groupByDay' && !validity.canGroupByDay.state && validationMessages.push(validity.canGroupByDay.msg)
configuration.showRefDate && !validity.canShowRefDate.state && validationMessages.push(validity.canShowRefDate.msg)
configuration.showYear && !validity.canShowYear.state && validationMessages.push(validity.canShowYear.msg)
validationMessages.length > 0 && displayAlert('danger', 'Configuração inválida', validationMessages.join('<br/>'), documentsList, 'beforebegin')
// debug
if (configuration.activeDebug) {
console.clear()
console.log('Propriedades da Coleção:')
console.log(assetListObject)
console.log('Configuração do Fragmento:')
console.log(configuration)
console.log('Validade da Configuração:')
console.log(validity)
}
}
// principal funcao para pegar os dados
function fetchDocumentsPage(page) {
params.page = (page) ? page : params.page
let request = Liferay.Util.addParams(params, apiURL+contentSetsEndPoint)
fetch(
request,
{
method: 'GET',
headers: {
'Content-Type': 'application/json'
}
}
).then(response => {
if (response.ok) {
return response.json()
}
}).then(documents => {
handleDocuments(documents)
if (editMode && configuration.activeDebug) {
console.log(`Retorno da requisição (page ${params.page}):`)
console.log(documents)
}
})
}
// manipula dados retornados da coleção
function handleDocuments(documents) {
loadingAnimation && loadingAnimation.remove()
if (documents.items.length > 0) {
switch (configuration.groupBy) {
case 'noGroup':
renderDocumentsList(documents)
break
case 'groupByYear':
(validity.canGroupByYear.state) ? renderDocumentsListByGroup(documents) : renderDocumentsList(documents)
break
case 'groupByMonthYear':
(validity.canGroupByMonthYear.state) ? renderDocumentsListByGroup(documents) : renderDocumentsList(documents)
break
case 'groupByDay':
(validity.canGroupByDay.state) ? renderDocumentsListByGroup(documents) : renderDocumentsList(documents)
break
}
configuration.usePagination && renderPaginationBar(documents.page, documents.lastPage, documents.totalCount)
} else {
displayAlert('info', 'Aviso', 'Não foram encontrados documentos', documentsList, 'afterbegin')
}
}
// renderiza lista agrupada
function renderDocumentsListByGroup(documents) {
let lastListGroup = documentsList.querySelector('.list-group:last-child')
let currentGroup = (lastListGroup) ? lastListGroup.dataset.group : 0
configuration.activeDebug
&& configuration.showDateConversions
&& editMode
&& console.log(`Extração do grupo a partir do campo ${getOrderByFieldName(assetListObject.typeSettings.orderByColumn1)}:`)
documents.items.forEach(doc => {
let group = getDocumentGroup(doc)
if (currentGroup != group) {
let listGroup = document.createElement('ul')
listGroup.classList.add('list-group')
listGroup.dataset.group = group
listGroup.setAttribute('aria-label', `${assetListObject.title} de ${group}`)
lastListGroup = documentsList.insertAdjacentElement('beforeend', listGroup)
lastListGroup.insertAdjacentHTML('afterbegin', renderListGroupHeader(group))
currentGroup = group
}
lastListGroup.insertAdjacentHTML('beforeend', renderListGroupItem(doc))
})
}
// extrai e retorna o dado (string) utilizado como agrupador (dia, mês ou ano) a partir do campo utilizado como primeira ordenação da coleção
function getDocumentGroup(document) {
let fieldData
let group
let dateField
let options
let test
let orderByColumn = assetListObject.typeSettings.orderByColumn1
switch (orderByColumn) {
case 'ddm__keyword__47047__DataReferência':
fieldData = document.content.documentType.contentFields[0].contentFieldValue.data
break
case 'ddm__keyword__47054__Ano':
fieldData = document.content.documentType.contentFields[0].contentFieldValue.data
break
case 'modifiedDate':
fieldData = document.content.dateModified
break
case 'createDate':
fieldData = document.content.dateCreated
break
case 'publishDate': // verificar esse caso por que não há uma campo data de publicação em coleções de documentos
fieldData = document.content.dateCreated
break
}
dateField = new Date(fieldData)
switch (configuration.groupBy) {
case 'groupByYear':
test = (orderByColumn == 'ddm__keyword__47047__DataReferência' || orderByColumn == 'ddm__keyword__47054__Ano')
group = test ? dateField.getUTCFullYear() : dateField.getFullYear()
break
case 'groupByMonthYear':
test = (orderByColumn == 'ddm__keyword__47047__DataReferência')
options = test ? {month:'long', year:'numeric', timeZone: 'UTC'} : { month:'long', year:'numeric' }
group = dateField.toLocaleDateString('pt-BR', options)
group = group.charAt(0).toUpperCase() + group.slice(1)
break
case 'groupByDay':
test = (orderByColumn == 'ddm__keyword__47047__DataReferência')
options = test ? {timeZone: 'UTC'} : {}
group = dateField.toLocaleDateString('pt-BR', options)
break
}
configuration.activeDebug && configuration.showDateConversions && editMode && console.log(`${fieldData} --> ${group}`)
return group
}
// renderiza lista comum
function renderDocumentsList(documents) {
let listGroup = getNodeElement(documentsList, 'afterbegin', 'ul', '.list-group')
listGroup.setAttribute('aria-label', assetListObject.title)
documents.items.forEach(doc => {
listGroup.insertAdjacentHTML('beforeend', renderListGroupItem(doc))
})
}
// renderiza cabeçalho da lista
function renderListGroupHeader(title) {
let listHeaderHTML = `
<li class="list-group-header">
<span class="list-group-header-title"><big>${title}</big></span>
</li>
`
return listHeaderHTML
}
// renderiza um item da lista
function renderListGroupItem(document) {
let dateCreated = (configuration.showCreateDate) ? new Date(document.content.dateCreated) : null
let dateCreatedHTML = (dateCreated) ? `
<div class="d-flex flex-row flex-lg-column text-lg-right ml-lg-3 mr-md-2 mr-lg-0">
<span class="small font-weight-bold text-nowrap mr-1 mr-lg-0">Publicado em</span>
<span class="small">${dateCreated.toLocaleDateString('pt-BR')}</span>
</div>` : ''
let dateModified = (configuration.showModifiedDate) ? new Date(document.content.dateModified) : null
let dateModifiedHTML = (dateModified) ? `
<div class="d-flex flex-row flex-lg-column text-lg-right ml-lg-3 mr-md-2 mr-lg-0">
<span class="small font-weight-bold text-nowrap mr-1 mr-lg-0">Atualizado em</span>
<span class="small">${dateModified.toLocaleDateString('pt-BR')}</span>
</div>` : ''
let refDate = (configuration.showRefDate && validity.canShowRefDate.state) ? new Date(document.content.documentType.contentFields[0].contentFieldValue.data) : null
let refDateHTML = (refDate) ? `
<div class="d-flex flex-row flex-lg-column text-lg-right ml-lg-3 mr-md-2 mr-lg-0">
<span class="small font-weight-bold text-nowrap mr-1 mr-lg-0">${configuration.labelForRefDate}</span>
<span class="small">${refDate.toLocaleDateString('pt-BR', {timeZone: 'UTC'})}</span>
</div>` : ''
let year = (configuration.showYear && validity.canShowYear.state) ? document.content.documentType.contentFields[0].contentFieldValue.data : null
let yearHTML = (year) ? `
<div class="d-flex flex-row flex-lg-column text-lg-right ml-lg-3 mr-md-2 mr-lg-0">
<span class="small font-weight-bold text-nowrap mr-1 mr-lg-0">${configuration.labelForYear}</span>
<span class="small">${year}</span>
</div>` : ''
let hasMetadatas = (year || refDate || dateCreated || dateModified)
let metadataHTML = (hasMetadatas) ? `
<div class="d-flex flex-column flex-md-row">
${yearHTML}
${refDateHTML}
${dateCreatedHTML}
${dateModifiedHTML}
</div>` : ''
let listItemHTML = `
<li class="list-group-item list-group-item-flex align-items-center">
<div class="autofit-col">
<svg class="lexicon-icon text-tertiary lexicon-icon-lg" focusable="false" role="presentation"
viewBox="0 0 512 512">
<use xlink:href="${spritemapBNB}#arquivo-${document.content.fileExtension}" />
</svg>
</div>
<div class="autofit-col autofit-col-expand">
<div class="d-flex flex-column flex-lg-row justify-content-start justify-content-lg-between">
<div class="d-flex flex-column">
<span class="list-group-title">
<a href="${document.content.contentUrl}">${document.title}</a>
</span>
<span class="list-group-subtitle text-uppercase small">
${document.content.fileExtension}, ${Liferay.Util.formatStorage(document.content.sizeInBytes, {addSpaceBeforeSuffix: true})}
</span>
</div>
${metadataHTML}
</div>
</div>
</li>
`
return listItemHTML
}
// renderiza paginação
function renderPaginationBar(page, lastPage, totalCount) {
let paginationBar = getNodeElement(fragmentElement, 'beforeend', 'div', '.pagination-bar')
let lastIndex = (page === lastPage) ? totalCount : configuration.pageSize*page
let nDocuments = (page+1 === lastPage) ? totalCount - configuration.pageSize*page : configuration.pageSize
paginationBar.classList.add('justify-content-center', 'justify-content-lg-between')
let textColor = (configuration.textColor.cssClass) ? `text-${configuration.textColor.cssClass}` : ''
paginationBar.innerHTML = `
<div class="pagination-results mr-0 ${textColor}">Exibindo 1 a ${lastIndex} de ${totalCount} documentos.</div>
<ul class="pagination">
<li class="page-item">
<button class="btn btn-unstyled page-link" type="button">
Exibir mais ${nDocuments} documentos
${renderIcon('angle-down', spritemapClay, 'ml-2')}
</button>
</li>
</ul>
`
let showMoreButton = paginationBar.querySelector('button.page-link')
if (page !== lastPage) {
showMoreButton.addEventListener('click', e => {
showMoreButton.querySelector('svg').remove()
let loadAnimation = getNodeElement(showMoreButton, 'beforeend', 'span', '.loading-animation')
loadAnimation.classList.add('loading-animation-sm', 'ml-2')
fetchDocumentsPage(page+1)
})
} else {
showMoreButton.remove()
}
}
// imprime um mensagem de alerta
function displayAlert(style, title, msg, parentNode, position) {
let styleIcons = {
'danger': 'exclamation-full',
'success': 'check-circle-full',
'info': 'info-circle',
'warning': 'warning-full'
}
let html = `
<div class="alert p-4 alert-${style}" role="alert">
<span class="alert-indicator">
${renderIcon(styleIcons[style], spritemapClay, '')}
</span>
<strong>${title}:</strong>
<p class="mt-2 mb-0">${msg}</p>
</div>
`
parentNode.insertAdjacentHTML(position, html)
}
// limpa mensagens de alerta
function cleanAlerts() {
let alerts = fragmentElement.querySelectorAll('.alert')
alerts.forEach(alert => alert.remove())
}
// imprime icone SGV
function renderIcon(icon, spritemap, cssClasses) {
return `
<svg class="lexicon-icon lexicon-icon-${icon} ${cssClasses}" focusable="false" role="presentation">
<use href="${spritemap}#${icon}"></use>
</svg>
`
}
// retorna/cria um elemento html de uma classe css
// ascendantNode é um nó ascendente
// position é uma string 'beforeend', 'afterbegin' +
// elementType uma string 'ul', 'div' etc
// cssClass é uma classe css
function getNodeElement(ascendantNode, position, elementType, cssClass) {
let nodeElement
if (ascendantNode.querySelector(cssClass)) {
nodeElement = ascendantNode.querySelector(cssClass)
} else {
nodeElement = document.createElement(elementType)
nodeElement = ascendantNode.insertAdjacentElement(position, nodeElement)
nodeElement.classList.add(cssClass.slice(1))
}
return nodeElement
}
// retorna nome amigável do campo usado como 1ª ordenação
function getOrderByFieldName(orderByColumn) {
let regExp = /^ddm__keyword__\d+__(.+)/
let matchExp = regExp.exec(orderByColumn)
return (matchExp) ? matchExp[1] : Liferay.Language.get(orderByColumn)
};}());</script>]]>
|
3959
| <![CDATA[<script type="text/javascript">
// <![CDATA[
Liferay.BrowserSelectors.run();
// ]]>
</script>]]>
|
3988
| <![CDATA[<script type="text/javascript">
// <![CDATA[
Liferay.currentURL = '\x2fprivacidade-e-protecao-de-dados';
Liferay.currentURLEncoded = '\x252Fprivacidade-e-protecao-de-dados';
// ]]>
</script>]]>
|
4005
| <![CDATA[<script type="text/javascript">
// <![CDATA[
// ]]>
</script>]]>
|
4036
| <![CDATA[<script type="text/javascript">
// <![CDATA[
Liferay.Portlet.register('com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_YI7Yoohkhe0V');
Liferay.Portlet.onLoad(
{
canEditTitle: false,
columnPos: 0,
isStatic: 'end',
namespacedId: 'p_p_id_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_YI7Yoohkhe0V_',
portletId: 'com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_YI7Yoohkhe0V',
refreshURL: '\x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d879\x26p_p_id\x3dcom_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_YI7Yoohkhe0V\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3dnull\x26p_p_col_pos\x3dnull\x26p_p_col_count\x3dnull\x26p_p_static\x3d1\x26p_p_isolated\x3d1\x26currentURL\x3d\x252Fprivacidade-e-protecao-de-dados',
refreshURLData: {}
}
);
(function() {var $ = AUI.$;var _ = AUI._;
var onVote = function(event) {
if (window.Analytics) {
Analytics.send('VOTE', 'Ratings', {
className: event.className,
classPK: event.classPK,
ratingType: event.ratingType,
score: event.score
});
}
};
var onDestroyPortlet = function() {
Liferay.detach('ratings:vote', onVote);
Liferay.detach('destroyPortlet', onDestroyPortlet);
};
Liferay.on('ratings:vote', onVote);
Liferay.on('destroyPortlet', onDestroyPortlet);
})();(function() {var $ = AUI.$;var _ = AUI._;
var onDestroyPortlet = function() {
Liferay.detach('messagePosted', onMessagePosted);
Liferay.detach('destroyPortlet', onDestroyPortlet);
};
Liferay.on('destroyPortlet', onDestroyPortlet);
var onMessagePosted = function(event) {
if (window.Analytics) {
Analytics.send('posted', 'Comment', {
className: event.className,
classPK: event.classPK,
commentId: event.commentId,
text: event.text
});
}
};
Liferay.on('messagePosted', onMessagePosted);
})();(function() {var $ = AUI.$;var _ = AUI._;
var onShare = function(data) {
if (window.Analytics) {
Analytics.send('shared', 'SocialBookmarks', {
className: data.className,
classPK: data.classPK,
type: data.type,
url: data.url
});
}
};
var onDestroyPortlet = function() {
Liferay.detach('socialBookmarks:share', onShare);
Liferay.detach('destroyPortlet', onDestroyPortlet);
};
Liferay.on('socialBookmarks:share', onShare);
Liferay.on('destroyPortlet', onDestroyPortlet);
})();(function() {var $ = AUI.$;var _ = AUI._;
var pathnameRegexp = /\/documents\/(\d+)\/(\d+)\/(.+?)\/([^&]+)/;
function handleDownloadClick(event) {
if (event.target.nodeName.toLowerCase() === 'a' && window.Analytics) {
var anchor = event.target;
var match = pathnameRegexp.exec(anchor.pathname);
var fileEntryId =
anchor.dataset.analyticsFileEntryId ||
(anchor.parentElement &&
anchor.parentElement.dataset.analyticsFileEntryId);
if (fileEntryId && match) {
var getParameterValue = function(parameterName) {
var result = null;
anchor.search
.substr(1)
.split('&')
.forEach(function(item) {
var tmp = item.split('=');
if (tmp[0] === parameterName) {
result = decodeURIComponent(tmp[1]);
}
});
return result;
};
Analytics.send('documentDownloaded', 'Document', {
groupId: match[1],
fileEntryId: fileEntryId,
preview: !!window._com_liferay_document_library_analytics_isViewFileEntry,
title: decodeURIComponent(match[3].replace(/\+/gi, ' ')),
version: getParameterValue('version')
});
}
}
}
var onDestroyPortlet = function() {
document.body.removeEventListener('click', handleDownloadClick);
};
Liferay.once('destroyPortlet', onDestroyPortlet);
var onPortletReady = function() {
document.body.addEventListener('click', handleDownloadClick);
};
Liferay.once('portletReady', onPortletReady);
})();
if (Liferay.Data.ICONS_INLINE_SVG) {
svg4everybody(
{
attributeName: 'data-href',
polyfill: true,
validate: function (src, svg, use) {
return !src || !src.startsWith('#');
}
}
);
}
Liferay.Portlet.register('com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_name_navigation_menu');
Liferay.Portlet.onLoad(
{
canEditTitle: false,
columnPos: 0,
isStatic: 'end',
namespacedId: 'p_p_id_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_name_navigation_menu_',
portletId: 'com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_name_navigation_menu',
refreshURL: '\x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d879\x26p_p_id\x3dcom_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_name_navigation_menu\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3dnull\x26p_p_col_pos\x3dnull\x26p_p_col_count\x3dnull\x26p_p_static\x3d1\x26p_p_isolated\x3d1\x26currentURL\x3d\x252Fprivacidade-e-protecao-de-dados',
refreshURLData: {}
}
);
Liferay.Portlet.register('com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_lgpd_navigation_menu');
Liferay.Portlet.onLoad(
{
canEditTitle: false,
columnPos: 0,
isStatic: 'end',
namespacedId: 'p_p_id_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_lgpd_navigation_menu_',
portletId: 'com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_lgpd_navigation_menu',
refreshURL: '\x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d879\x26p_p_id\x3dcom_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_lgpd_navigation_menu\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3dnull\x26p_p_col_pos\x3dnull\x26p_p_col_count\x3dnull\x26p_p_static\x3d1\x26p_p_isolated\x3d1\x26currentURL\x3d\x252Fprivacidade-e-protecao-de-dados',
refreshURLData: {}
}
);
Liferay.Loader.require('metal-dom/src/all/dom', function(metalDomSrcAllDom) {
(function(){
var dom = metalDomSrcAllDom;
(function() {var $ = AUI.$;var _ = AUI._;
var focusInPortletHandler = dom.delegate(
document,
'focusin',
'.portlet',
function(event) {
dom.addClasses(dom.closest(event.delegateTarget, '.portlet'), 'open');
}
);
var focusOutPortletHandler = dom.delegate(
document,
'focusout',
'.portlet',
function(event) {
dom.removeClasses(dom.closest(event.delegateTarget, '.portlet'), 'open');
}
);
})();})();
});AUI().use('liferay-menu', 'liferay-notice', 'aui-base', 'liferay-session', 'liferay-poller', function(A) {(function() {var $ = AUI.$;var _ = AUI._;
if (A.UA.mobile) {
Liferay.Util.addInputCancel();
}
})();(function() {var $ = AUI.$;var _ = AUI._;
new Liferay.Menu();
var liferayNotices = Liferay.Data.notices;
for (var i = 1; i < liferayNotices.length; i++) {
new Liferay.Notice(liferayNotices[i]);
}
})();(function() {var $ = AUI.$;var _ = AUI._;
Liferay.Session = new Liferay.SessionBase(
{
autoExtend: true,
redirectOnExpire: false,
redirectUrl: 'https\x3a\x2f\x2fwww\x2ebnb\x2egov\x2ebr\x2fweb\x2fguest',
sessionLength: 900,
sessionTimeoutOffset: 70,
warningLength: 0
}
);
})();});
// ]]>
</script>]]>
|
4284
| <![CDATA[<script type="text/javascript">
// <![CDATA[
AUI().use(
'aui-base',
function(A) {
var frameElement = window.frameElement;
if (frameElement && frameElement.getAttribute('id') === 'simulationDeviceIframe') {
A.getBody().addClass('lfr-has-simulation-panel');
}
}
);
// ]]>
</script>]]>
|
4297
| <![CDATA[<script type="text/javascript">
// <![CDATA[
Liferay.Loader.require('frontend-js-tooltip-support-web@2.0.5/index', function(frontendJsTooltipSupportWeb205Index) {
(function(){
var TooltipSupport = frontendJsTooltipSupportWeb205Index;
(function() {
try {
TooltipSupport.default()
}
catch (err) {
console.error(err);
}
})();})();
});
// ]]>
</script>]]>
|