PageSourceSearch

https://somoscooperativismo-ba.coop.br/assets/js/evento-interna-inova.js

js somoscooperativismo-ba.coop.br collected 2026-10-08 11:00:04 UTC 22,740 bytes, 685 lines download raw bytes

1$ = jQuery.noConflict();
2
3$(document).ready(function () {
4
5    var aplicar = chamaJS();
6
7    if(aplicar){
8        chamarCSS();
9
10        perparaTela();
11
12        incluirTopoPaginaInterna();
13
14        alterarPosicaoTitulo();
15        alterarPosicaoInforShare();
16        adicionarBotaoSalvarNaAgenda();
17        reorganizarCamposFormulario();
18        alterarMetaDatePublishedStringParaData();
19
20        mascararCampos();
21    }
22
23    function chamarCSS() {
24
25        var protocolo = window.location.protocol;
26        var host = window.location.host;
27
28        var linkCss = protocolo + '//' + host + '/assets/css/evento-interna-inova.css';
29
30        if(host.indexOf('inova') < 0){
31            linkCss = protocolo + '//' + host + '/assets/css/evento-interna-portal.css';
32        }
33
34        $('head').append('<link rel="stylesheet" type="text/css" href="' + linkCss + '">');
35
36    }
37
38    function incluirTopoPaginaInterna() {
39        $('#sp-conteudo-do-site')
40            .children('.container')
41            .children('.container-inner')
42            .prepend('<div class="topo-pagina-interna"></div>');
43        $('.topo-pagina-interna').append('<div class="image-banner"></div>')
44        $('.topo-pagina-interna').append(montarBreadCrumb());
45    }
46
47    function montarBreadCrumb() {
48        var tituloPagina = $('.article-header').children('h1').text()
49
50        var htmlBreadCrumb = '<ol itemscope="" itemtype="https://schema.org/BreadcrumbList" class="breadcrumb">' +
51            '    <li class="">' +
52            '        <span class="" aria-hidden="true"></span>' +
53            '    </li>' +
54            '    <li itemprop="itemListElement" itemscope="" itemtype="https://schema.org/ListItem" class="breadcrumb-item"><a itemprop="item" href="/" class="pathway"><span itemprop="name">Home</span></a>' +
55            '        <meta itemprop="position" content="1">' +
56            '    </li>' +
57            '    <li itemprop="itemListElement" itemscope="" itemtype="https://schema.org/ListItem" class="breadcrumb-item"><a itemprop="item" href="/conteudos/eventos" class="pathway"><span itemprop="name">Eventos</span></a>' +
58            '        <meta itemprop="position" content="2">' +
59            '    </li>' +
60            '    <li itemprop="itemListElement" itemscope="" itemtype="https://schema.org/ListItem" class="breadcrumb-item active">' +
61            '        <span itemprop="name">' + tituloPagina + '</span>' +
62            '        <meta itemprop="position" content="3">' +
63            '    </li>' +
64            '</ol>';
65
66        return htmlBreadCrumb;
67    }
68
69    function adicionarBotaoSalvarNaAgenda() {
70
71        var titulo = $('.template-eventos')
72            .find('.article-header')
73            .find('h1')
74            .text()
75            .trim();
76
77        var local = "Sistema OCB";
78
79        var dataHora = $('.template-eventos')
80            .find('.data-evento')
81            .text()
82            .trim();
83
84        var datas = montaDataEvento(dataHora);
85        var dataInicio = datas['data-inicio'];
86        var dataFim = datas['data-fim'];
87
88        var botaoAgenda = "<li><a class='salvar-na-agenda' onclick=\"salvarNaAgenda('" + titulo + "', '" + local + "', '" + dataInicio + "', '" + dataFim + "')\" title='Salvar na agenda'><i class='fa fa-calendar-check-o' ></i>&nbsp;</a></li>";
89
90        $('.info-box-evento')
91            .find('.share-evento')
92            .find('.social-share-icon')
93            .find('ul')
94            .children('li')
95            .eq(0)
96            .before(botaoAgenda);
97    }
98
99    function montaDataEvento(dataHora) {
100
101        var dataHoraSplited = dataHora.split(' ');
102
103        var dataInicio = '';
104        var dataFim = '';
105
106        var dataSplitComIntervalo = dataHoraSplited[0].split('a');
107
108        if (dataSplitComIntervalo[0].length <= 2) {
109            // apenas dia inicial
110            var diaDataInicio = dataHoraSplited[0];
111            var dataFimSplited = dataHoraSplited.reverse()[0].split('/');
112
113            var dataInicio = dataFimSplited[2] + dataFimSplited[1] + diaDataInicio;
114            //var dataFim = dataHoraSplited[0].split('/').reverse().join('').replace(' ', '');
115
116            var dataHoraSplited = dataHoraSplited[0].split('/').reverse();
117
118            var dataFimDia = dataHoraSplited[2];
119
120            if (dataFimDia <= 9) {
121                var dataFimDia = parseInt(dataFimDia) + 1;
122                var dataFimDia = 0 + dataFimDia.toString();
123            } else {
124                var dataFimDia = parseInt(dataFimDia) + 1;
125            }
126
127            var dataFimMes = dataHoraSplited[1];
128            var dataFimAno = dataHoraSplited[0];
129
130            var dataFim = dataFimAno + dataFimMes + dataFimDia;
131
132        } else if (dataSplitComIntervalo[0].length > 2 && dataSplitComIntervalo[0].length <= 5) {
133            //dia e mes inicial
134            var diaDataInicio = dataHoraSplited[0];
135
136            var dataFimSplited = dataHoraSplited.reverse()[0].split('/');
137
138            var dataInicio = dataFimSplited[2] + diaDataInicio.split('/').reverse().join('').replace(' ', '');
139            //var dataFim = dataHoraSplited[0].split('/').reverse().join('').replace(' ', '');
140
141            var dataHoraSplited = dataHoraSplited[0].split('/').reverse();
142
143            var dataFimDia = dataHoraSplited[2];
144
145            if (dataFimDia <= 9) {
146                var dataFimDia = parseInt(dataFimDia) + 1;
147                var dataFimDia = 0 + dataFimDia.toString();
148            } else {
149                var dataFimDia = parseInt(dataFimDia) + 1;
150            }
151
152            var dataFimMes = dataHoraSplited[1];
153            var dataFimAno = dataHoraSplited[0];
154
155            var dataFim = dataFimAno + dataFimMes + dataFimDia;
156
157        } else {
158            // inicio e fin mesmo dia
159            dataInicio = dataHoraSplited[0].split('/').reverse().join('').replace(' ', '');
160            dataFim = dataHoraSplited[0].split('/').reverse().join('').replace(' ', '');
161        }
162
163        dataInicio = isNaN(dataInicio) ? '' : dataInicio;
164        dataInicio = dataInicio == 'undefinedNaN' ? '' : dataInicio;
165
166        dataFim = isNaN(dataFim) ? '' : dataFim;
167        dataFim = dataFim == 'undefinedNaN' ? '' : dataFim;
168
169        return { "data-inicio": dataInicio, "data-fim": dataFim };
170
171    }
172
173    function alterarPosicaoTitulo() {
174        var articleHeader = $('#sp-conteudo-do-site')
175            .find('.article-details')
176            .find('.article-header');
177
178        $('[itemprop="articleBody"]')
179            .find('.template-eventos')
180            .find('.titulo-evento')
181            .append(articleHeader);
182    }
183
184    function alterarPosicaoInforShare() {
185        var socialShare = $('.social-share-block');
186        $('.template-eventos')
187            .find('.share-evento')
188            .append(socialShare)
189    }
190
191    function reorganizarCamposFormulario() {
192        var nome = $('.formulario').find('.cf-fields').find('[data-name="nome_completo"]');
193
194        var dataDeNascimento = $('.formulario').find('.cf-fields').find('[data-name="data_de_nascimento"]')
195        var cpf = $('.formulario').find('.cf-fields').find('[data-name="cpf"]')
196        var email = $('.formulario').find('.cf-fields').find('[data-name="e_mail"]')
197
198        var celular = $('.formulario').find('.cf-fields').find('[data-name="celular"]');
199        var eWhatsapp = $('.formulario').find('.cf-fields').find('[data-name="e_whatsapp"]');
200
201        var comoSeIdentifica = $('.formulario').find('.cf-fields').find('[data-name="como_se_identifica"]');
202        var municipio = $('.formulario').find('.cf-fields').find('[data-name="municipio"]');
203
204        var cooperativa = $('.formulario').find('.cf-fields').find('[data-name="cooperativa"]');
205        var cargo = $('.formulario').find('.cf-fields').find('[data-name="cargo"]');
206
207        var publicoBeneficiario = $('.formulario').find('.cf-fields').find('[data-name="publico_beneficiario"]');
208
209        var portadorDeDeficiencia = $('.formulario').find('.cf-fields').find('[data-name="portador_de_deficiencia"]');
210        var precisaDeAtendimentoEspecial = $('.formulario').find('.cf-fields').find('[data-name="precisa_de_atendimento_especial"]');
211
212
213        var nivelDeEscolaridade = $('.formulario').find('.cf-fields').find('[data-name="nivel_de_escolaridade"]');
214        var comoVoceFicouSabendoDesteEvento = $('.formulario').find('.cf-fields').find('[data-name="como_voce_ficou_sabendo_deste_evento"]');
215
216        var liEConcordo = $('.formulario').find('.cf-fields').find('[data-name="li_e_concordo"]');
217        var botaoEnviar = $('.formulario').find('.cf-fields').find('[data-name="submit_21"]');
218
219
220        $('.formulario').find('.cf-fields').append('<div class="formulario-responsivo"></div>')
221
222        var i = 0;
223        for (i; i <= 8; i++) {
224            $('.formulario-responsivo').append('<div class="formulario-responsivo-linha-' + i + '"></div>')
225        }
226
227        var tituloForm = "<div class='titulo-form'>Dados do beneficiário</div>";
228
229        $('.formulario-responsivo-linha-0').append(tituloForm);
230        $('.formulario-responsivo-linha-1').append(nome);
231        $('.formulario-responsivo-linha-2').append(dataDeNascimento, cpf, email);
232        $('.formulario-responsivo-linha-3').append(celular, eWhatsapp);
233        $('.formulario-responsivo-linha-4').append(comoSeIdentifica, municipio);
234        $('.formulario-responsivo-linha-5').append(cooperativa, cargo);
235        $('.formulario-responsivo-linha-6').append('<div class="formulario-responsivo-linha-6-1"></div>');
236        $('.formulario-responsivo-linha-6').append('<div class="formulario-responsivo-linha-6-2"></div>');
237        $('.formulario-responsivo-linha-6-1').append(publicoBeneficiario, portadorDeDeficiencia);
238        $('.formulario-responsivo-linha-6-2').append(portadorDeDeficiencia, precisaDeAtendimentoEspecial);
239        $('.formulario-responsivo-linha-7').append(nivelDeEscolaridade, comoVoceFicouSabendoDesteEvento);
240        $('.formulario-responsivo-linha-8').append(liEConcordo, botaoEnviar);
241    }
242
243    function mascararCampos() {
244
245        var dataDeNascimento = $('[name="cf[data_de_nascimento]"]');
246        var cpf = $('[name="cf[cpf]"]');
247        var celular = $('[name="cf[celular]"]');
248
249        dataDeNascimento.mask('00/00/0000', { reverse: true });
250        cpf.mask('000.000.000-00', { reverse: true });
251        celular.mask("(00) 00000-0000", { reverse: false });
252
253    }
254
255    imagemParaArtigosRelacionadosSemImagem();
256    function imagemParaArtigosRelacionadosSemImagem() {
257        $(".related-article-list-container .related-article-list .article").each(function() {
258            var link = $(this).children("a").first();
259
260            if (link.find(".article-full-image img").length === 0) {
261                var divImagem = link.find(".article-full-image");
262
263                if (divImagem.length === 0) {
264                    divImagem = $('<div>', { class: "article-full-image float-left" });
265                    link.append(divImagem);
266                }
267
268                var imgPadrao = $("<img>", {
269                    src: "https://conteudo.somos.coop.br/images/Imagens/imagem-padrao-coop.webp",
270                    alt: "Imagem padrão SomosCoop"
271                });
272
273                divImagem.append(imgPadrao);
274            }
275        });
276    }
277
278    $('.boxModulos').hide();
279
280});
281
282function salvarNaAgenda(titulo, local, dataInicio, dataFim) {
283    var data = dataInicio + '/' + ((dataFim != "") ? dataFim : '');
284    var url = 'https://calendar.google.com/calendar/u/0/r/eventedit?' +
285        'dates=' + data +
286        '&text=' + titulo.replace(" ", "+") +
287        '&details=' + local;
288    window.open(url, '_blank');
289    /*var arrDataHoraInicio = $('.fields-container')
290        .children('.data-hora-inicio')
291        .children('.field-value')
292        .text()
293        .split(' ');
294
295    var arrDataInicio = arrDataHoraInicio[0].split('-');
296    var arrHoraInicio = arrDataHoraInicio[1].split(':');
297
298    var arrDataHoraFim = $('.fields-container')
299        .children('.data-hora-fim')
300        .children('.field-value')
301        .text()
302        .split(' ');
303
304    var arrDataFim = arrDataHoraFim[0].split('-');
305    var arrHoraFim = arrDataHoraFim[1].split(':');
306
307    var linkEvento = $('.fields-container')
308        .children('.url-do-link')
309        .children('.field-value')
310        .text();
311    
312    var sumario = $('.texto-evento').text();
313    var descricao = $('.titulo-evento').text();
314
315    const createICalendar = () => {
316        const icsContent = `
317            BEGIN:VCALENDAR
318            VERSION:2.0
319            PRODID:-
320            BEGIN:VEVENT
321            UID:${Date.now()}@somoscoopertivismo.coop.br
322            DTSTAMP:${formatDate(new Date())}
323            DTSTART:${formatDate(new Date(arrDataInicio[2], arrDataInicio[1], arrDataInicio[0], arrHoraInicio[0], arrHoraInicio[1]))}
324            DTEND:${formatDate(new Date(arrDataFim[2], arrDataFim[1], arrDataFim[0], arrHoraFim[0], arrHoraFim[1]))}
325            SUMMARY:${sumario}
326            DESCRIPTION:${descricao}
327            LOCATION:${linkEvento}
328            END:VEVENT
329            END:VCALENDAR
330        `;
331        return icsContent;
332    };
333
334    const formatDate = (date) => {
335        return date.toISOString().replace(/[-:]/g, '').split('.')[0];
336    };
337    const icsContent = createICalendar();
338    const blob = new Blob([icsContent], { type: 'text/calendar;charset=utf-8;' });
339    const url = URL.createObjectURL(blob);
340    const a = document.createElement('a');
341    a.href = url;
342    a.download = 'evento.ics';
343    a.click();
344    URL.revokeObjectURL(url);*/
345}
346
347function perparaTela(){
348    $('ul.fields-container').hide();
349    $('.data-evento').find('i').remove();
350
351    var divTemplate = $('<div>').addClass('template-eventos');
352    var divTitulo = $('<div>').addClass('titulo-evento');
353    var divHeader = $('.article-header')[0];
354    var divImagemEvento = $('<div>').addClass('image-topo-evento');
355    var divInfoBox = $('<div>').addClass('info-box-evento');
356    var divDataHoraRedes = $('<div>').addClass('data-evento-hora');
357    var divData = retornaData();
358    var divRedes = $('<div>').addClass('share-evento');
359    var divTexto = $('<div>').addClass('texto-evento');
360    var divDataHoraRedes = $('<div>').addClass('data-evento-hora'); 
361    var divTags = $('<div>').addClass('rodapeEvento');
362    var spanVoltar = $('<span>').addClass('linkVoltarEventos');
363    var linkVoltar = $('<a>').attr('href','/acontece').text('< Voltar');
364    var textoLink = $('.texto-para-link').children('.field-value')
365        .text();
366    var link = $('.url-do-link').children('.field-value')
367        .children('a')
368        .attr('href');
369    var tipoInscricao = (typeof $('.tipo-de-inscricao') != 'undefined') ? $('.tipo-de-inscricao').children('.field-value')
370        .text() : '';
371    
372    textoLink = $('.texto-para-link').children('.field-value').length == 0 ? 'Saiba mais' : textoLink;
373
374    var linkPosEvento = $('<a>').attr('href', link)
375        .attr('target', '_blank')
376        .text(textoLink);
377
378    var divLinkPosEvento = $('<div>').addClass('linkPosEvento');
379
380    if(tipoInscricao == 'form') {
381        linkPosEvento.attr('onclick', 'mostrarFormulario()')
382        .attr('target', '')
383        .attr('href', 'javascript:void(0)');
384    }
385    
386    divTitulo.append(divHeader);
387
388    divDataHoraRedes.prepend(divData);        
389
390    divInfoBox.append(divDataHoraRedes)
391        .append(divRedes);
392
393    if($('.article-header').length > 0)
394        $('.article-header')[0].remove();
395
396    var img = $('[itemprop="articleBody"]').find('img')[0];
397    divImagemEvento.append(img);
398
399    var texto = $('[itemprop="articleBody"]').html();
400    divTexto.append(texto);
401
402    $('[itemprop="articleBody"]').remove();
403
404    var tags = $('ul.tags');
405
406    spanVoltar.append(linkVoltar);
407    divTags.append(spanVoltar)
408        .append(tags);
409
410    $('ul.tags').remove();
411
412    divLinkPosEvento.append(linkPosEvento);
413
414    if(divLinkPosEvento.attr('href') == '' && tipoInscricao == 'link'){
415        divLinkPosEvento.attr('style', 'display:none')
416    }
417
418    divTemplate.append(divTitulo)
419        .append(divInfoBox)
420        .append(divImagemEvento)
421        .append(divTexto)
422        .append(divLinkPosEvento)
423        .append(divTags);    
424
425    $('main #sp-conteudo-do-site .sp-column').prepend(divTemplate);
426}
427
428function retornaData(){
429    var dataInicio = $('.fields-container')
430        .children('.data-hora-inicio')
431        .children('.field-value')
432        .text()
433        .split(' ')[0];
434
435    var periodo = formatarData(dataInicio);
436
437    var dataFim =  '';
438
439    var iconeCalendario = '';
440
441    if(typeof $('.fields-container').children('.data-hora-fim') != undefined){
442        dataFim = $('.fields-container')
443            .children('.data-hora-fim')
444            .children('.field-value')
445            .text()
446            .split(' ')[0];
447    }
448
449    if(dataFim != ''){
450        var diaInicio = dataInicio.split('-')[2];
451
452        periodo = diaInicio+' a '+formatarData(dataFim);
453    }
454
455    if(dataFim != '' && verificarDatasIguas(dataInicio, dataFim)){
456        periodo = formatarData(dataFim);
457    }
458
459    if(periodo != '')
460        iconeCalendario = $('<img>').addClass('icone-calendario-evento')
461            .attr('src', '/assets/img/icones/calendario_inova_azul.svg');
462    
463    var divData = $('<div>').addClass('data-evento')
464        .append(iconeCalendario)
465        .append(periodo);
466
467    return divData;
468}
469
470function formatarData(data) {
471    if (data.indexOf('.') > -1) {
472        arrData = data.split('.');
473        arrData[2] = '20' + arrData[2];
474
475        return arrData.join('/');
476    }
477
478    if(data.indexOf('-') > -1){
479        arrData = data.split('-');
480        return arrData.reverse().join('/');
481    }
482    return '';
483}
484
485
486function alterarMetaDatePublishedStringParaData() {
487    $('time').each(function () {
488        var metaDateSplited = $(this).html().split(':');
489
490        if (metaDateSplited.length >= 2) {
491            var splitedDate = metaDateSplited[1].split(' ');
492            var stringMonth = splitedDate[2];
493
494            var month = stringDataParaData(stringMonth);
495
496            var date = metaDateSplited[0] + ': ' + splitedDate[1] + '/' + month + '/' + splitedDate[3];
497            $(this).html(date);
498
499        } else {
500            var splitedDate = metaDateSplited[0].split(' ');
501            var stringMonth = splitedDate[1];
502
503            var month = stringDataParaData(stringMonth);
504
505            var date = splitedDate[0] + '/' + month + '/' + splitedDate[2];
506            $(this).html(date);
507        }
508
509    });
510   
511}
512
513function stringDataParaData(stringMonth) {
514    var month = '';
515
516    switch (stringMonth) {
517        case 'Jan':
518        case 'January':
519        case 'Janeiro':
520            month = '01';
521            break;
522
523        case 'Fev':
524        case 'Fevereiro':
525        case 'Feb':
526        case 'February':
527            month = '02';
528            break;
529
530        case 'Mar':
531        case 'Março':
532        case 'March':
533            month = '03';
534            break;
535
536        case 'Abr':
537        case 'Abril':
538        case 'Apr':
539        case 'April':
540            month = '04';
541            break;
542
543        case 'Mai':
544        case 'May':
545        case 'Maio':
546            month = '05';
547            break;
548
549        case 'Junho':
550        case 'June':
551        case 'Jun':
552            month = '06';
553            break;
554
555        case 'Julho':
556        case 'July':
557        case 'Jul':
558            month = '07';
559            break;
560
561        case 'Agosto':
562        case 'Ago':
563        case 'August':
564        case 'Aug':
565            month = '08';
566            break;
567
568        case 'Setembro':
569        case 'Set':
570        case 'September':
571        case 'Sep':
572            month = '09';
573            break;
574
575        case 'Outubro':
576        case 'Out':
577        case 'October':
578        case 'Oct':
579            month = '10';
580            break;
581
582        case 'Novembro':
583        case 'Nov':
584        case 'November':
585            month = '11';
586            break;
587
588        case 'Dezembro':
589        case 'Dez':
590        case 'December':
591        case 'Dec':
592            month = '12';
593            break;
594    }
595
596    return month;
597}
598
599function chamaJS(){
600    var path = window.location.pathname.replace(/\/$/, "");
601    var splitUrl = path.split("/").reverse();
602    var hostname = window.location.hostname;
603    var port = window.location.port ? ":" + window.location.port : "";
604    var hostWithPort = hostname + port;
605    var hostWithoutPort = hostname;
606
607    
608    if ((splitUrl[0] === hostWithPort) || (splitUrl[0] === hostWithoutPort)) {
609        splitUrl[0] = "";
610    }
611
612    if (splitUrl.length >= 2 && splitUrl[0] === "eventos" && splitUrl[1] === "conteudos") {
613        return false;
614    }
615
616    if (splitUrl.length >= 3 &&
617        (splitUrl[0] === "evento-detalhe" || splitUrl[0] === "detalhe") &&
618        splitUrl[1] === "eventos" && splitUrl[2] === "conteudos") {
619        return false;
620    }
621
622    if (splitUrl[1] === "eventos-inovacao") {            
623        return true;
624    } 
625    if (
626        splitUrl[1] === "eventos" 
627        || splitUrl[1] === "eventos-nacionais" 
628        || splitUrl[1] === "evento-nacional" 
629        || splitUrl[1] === "eventos-estaduais" 
630        || splitUrl[1] === "demais-eventos" 
631        || splitUrl[1] === "eventos-sistema-ocepar" 
632    ) {   
633        if($('ul.fields-container').length > 0){
634            return true;
635        }
636
637        var template = $("[itemprop=\"articleBody\"]").find(".template-eventos").attr("id");
638        $("li.field-entry.posicao-destaque-home").remove();
639
640        switch (template) {
641            case "template-eventos-001":
642            case "template-eventos-003":
643                $("head").append("<script src='/assets/js/evento-interna-template-001.js'></script>");
644                break;
645
646            case "template-eventos-002":
647                $("head").append("<script src='/assets/js/evento-interna-template-002.js'></script>");
648                break;
649
650            case "template-eventos-004":
651                $("head").append("<script src='/assets/js/evento-interna-template-004.js'></script>");
652                break;
653
654            case "eventos-hibridos":
655                $("head").append("<script src='/assets/js/eventos-hibridos.js'></script>");
656                break;
657
658            default:
659                return true;
660                //$("head").append("<script src='/assets/js/evento-interna.js'></script>");
661                break;
662        }
663        
664    }
665    return false;
666}
667
668function verificarDatasIguas(data1, data2){
669    var date1 = new Date(data1);
670    var date2 = new Date(data2);
671
672    
673    if (date1.getTime() === date2.getTime()) {
674        return true;
675    }
676    return false;
677}
678
679function mostrarFormulario(){
680    if(!$('.boxModulos').is(':visible')){
681        $('[name="cf[nome_evento]"]').val($('.titulo-evento').text());
682        $('.boxModulos').show();
683        $('.linkPosEvento').hide();
684    }
685}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.