jQuery(function ($) { matriz.ui = matriz.ui || {}; matriz.ui.init = { beforeunload: function () { $("form[data-matriz-warn-onunload]").each(function (index, el) { var $form = $(el); $form.data("serialized-form", $form.serialize()); window.onbeforeunload = function (e) { e = e || window.event; if ($form.data("serialized-form") !== $form.serialize()) { var mensagem = "Qualquer informação não salva será perdida. Deseja prosseguir?"; e.returnValue = mensagem; return mensagem; } }; }); }, datepicker: function ($el) { if (!($el instanceof jQuery)) { $el = $(".input-group.date"); } var language = "pt-BR"; if (matriz.global.theme.uri !== "/themes/admin") { language = $("html").attr("lang"); } //inicializa o datepicker //http://eternicode.github.io/bootstrap-datepicker $el.datepicker({ autoclose: true, language: language, keyboardNavigation: false, forceParse: false, todayHighlight: true, orientation: "top auto" }).on("changeDate", function () { }); }, geolocation: function () { matriz.geolocation.init(); }, loading: function () { matriz.ui.loading.init(); }, mask: function () { $("[data-mask]").each(function () { var mask = $(this).attr("data-mask"); $(this).mask(mask); }); }, //Inicializa bootstrap-maxlength (http://mimo84.github.io/bootstrap-maxlength/) maxlength: function (selector, options) { if (!options) { options = { alwaysShow: true, warningClass: "matriz__counter-ok", limitReachedClass: "matriz__counter-limit", twoCharLinebreak: false }; } if (selector) { $(selector).maxlength(options); } else { $('.form-group input.form-control[maxlength]').maxlength(options); $('.form-group textarea.form-control[maxlength]').maxlength(options); } }, combobox: function () { var $matrizUiCombobox = $('select.matriz-ui-combobox'); $matrizUiCombobox.selectpicker(); $matrizUiCombobox.filter('[required]').addClass('matriz-ui-combobox-required').css("display", "inline-block"); }, tabs: function () { //desabilitando clique nas abas com
  • $("ul.nav-tabs li.disabled a").off("click"); $("ul.nav-tabs li.disabled a").on("click", function (e) { return false; }); }, searchbox: function () { $("#formBuscaNav [name='search']").on("click", function (e) { $searchText = $(this); $searchText.get(0).setSelectionRange(0, $searchText.val().length); }); }, tristatecheckbox: function ($selector) { matriz.ui.tristatecheckbox.init($selector); }, modal: function ($container) { matriz.ui.init.datepicker(); matriz.ui.init.mask(); matriz.ui.init.maxlength(); matriz.ui.init.combobox(); matriz.ui.init.tabs(); //matriz.ui.init.geolocation(); //matriz.ui.loading.init(); }, notImplementedActions: function () { /** * Código removido, uma vez que o atributo "data-matriz-not-implemented-action" * não é mais usado e o uso do DOMSubTreeModification estva causando * lentidão na execução do script */ }, player: function () { $(".matriz-media-player").each(function () { $(this).matrizMediaPlayer(); }); }, components: function () { matriz.ui.component.Manager.init(); }, void: function () { $("[data-matriz-void]").on("click", function (e) { e.preventDefault(); }); }, blueimp: function() { preparaBlueImpLightbox(".artigo__ilustracao", "#galeria-lightbox"); preparaBlueImpLightbox(".artigo__ilustracao--esquerda", "#galeria-lightbox"); preparaBlueImpLightbox(".artigo__ilustracao--direita", "#galeria-lightbox"); preparaBlueImpLightbox(".artigo__ilustracao--carousel .owl-carousel", "#galeria-lightbox"); // prepara o lightbox para conteudolistaimagem preparaBlueImpLightbox(".thumbs-gallery", "#galeria-lightbox"); // prepara o lightbox para carrousel de galerias de imagem thumb preparaBlueImpLightbox(".conteudoimagem-mini-galeria", "#galeria-lightbox"); }, owl: function() { $(".textmidia-image-carousel, .conteudovideo-mini-galeria, .conteudoimagem-mini-galeria").each((function(k, e) { preparaOWL(e); }).bind(this)); }, common: function () { matriz.ui.init.datepicker(); matriz.ui.init.mask(); matriz.ui.init.maxlength(); matriz.ui.init.combobox(); matriz.ui.init.tabs(); matriz.ui.init.loading(); matriz.ui.init.player(); matriz.ui.init.components(); matriz.ui.init.void(); }, all: function () { // matriz.ui.init.beforeunload(); matriz.ui.init.datepicker(); matriz.ui.init.geolocation(); matriz.ui.init.mask(); matriz.ui.init.maxlength(); matriz.ui.init.combobox(); matriz.ui.init.tabs(); matriz.ui.init.searchbox(); matriz.ui.init.loading(); matriz.ui.init.notImplementedActions(); matriz.ui.init.player(); matriz.ui.init.components(); matriz.ui.init.void(); matriz.common.events.trigger("matriz.ui.init.all"); } }; matriz.ui.geolocation = {}; matriz.ui.geolocation.getGeoObjectByName = function (name, obj) { if (name) { var nameParts = name.split("."), len = nameParts.length, tmpobj = obj; for (var i = 0; i < len; i++) { if (!tmpobj[nameParts[i]]) { tmpobj[nameParts[i]] = {}; } tmpobj = tmpobj[nameParts[i]]; } return tmpobj; } }; matriz.ui.geolocation.init = function () { //tratamento para select $("select").each(function () { var $el = $(this); matriz.common.events.on("matriz.externalapis.google.maps.ready", function () { var geolocalizacaoName = $el.attr("data-matriz-geolocation-value"); var geolocalizacaoValue = matriz.ui.geolocation.getGeoObjectByName(geolocalizacaoName, matriz.geolocation.data); if (geolocalizacaoName && geolocalizacaoValue) { $el.children("[value='" + geolocalizacaoValue + "']").attr("selected", true); } }); }); //tratamento para textbox, hidden, radio e checkbox $("input").each(function () { var geolocalizacaoName = $(this).attr("data-matriz-geolocation-value"); if (geolocalizacaoName && matriz.geolocation.data[geolocalizacaoName]) { switch ($(this).attr("type")) { case "checkbox": case "radio": if ($(this).val() === matriz.geolocation.data[geolocalizacaoName]) $(this).attr("checked", "checked"); break; case "text": case "hidden": $(this).val(matriz.geolocation.data[geolocalizacaoName]); break; } } }); $('.matriz-ui-combobox').selectpicker("refresh"); }; matriz.ui.loading = {}; matriz.ui.loading.init = function () { $('#modalLoading').hide(); $('#modalLoading').modal({backdrop: "static", show: false}); }; matriz.ui.loading.modal = {}; matriz.ui.loading.modal.show = function () { $('#modalLoading').show(); }; matriz.ui.loading.modal.hide = function () { $('#modalLoading').hide(); }; matriz.ui.loading.element = {}; matriz.ui.loading.element.show = function (el, keepChildrenShowing) { if (!keepChildrenShowing) { el.children().hide(); } el.append($("
    ").addClass("matriz-loading-clock")); }; matriz.ui.loading.element.hide = function (el, keepChildrenHidden) { if (!keepChildrenHidden) { el.children().show(); } el.find(".matriz-loading-clock").remove(); }; matriz.ui.loadImage = function (imgsrc) { var deferred = $.Deferred(); var img = new Image(); img.addEventListener("load", function () { deferred.resolve(img); }); img.addEventListener("error", function () { deferred.reject(new Error("O endereço ".concat(imgsrc).concat(" parece não conter uma imagem válida."))); }); img.src = imgsrc; return deferred.promise(); }; matriz.ui.textsearch = { init: function (searchboxSelector, trsSelector) { $(searchboxSelector).keyup(function () { var inputTextValue = $(this).val().toLowerCase(); $(trsSelector).each(function () { var encontrou = false; $(this).find("td").each(function () { if ($(this).text().toLowerCase().indexOf(inputTextValue) > -1) { encontrou = true; } }); if (!encontrou) { $(this).hide(); } else { $(this).show(); } }); }); } }; function preparaOWL(container) { $(container).owlCarousel({ items: 4, //10 items above 1000px browser width itemsDesktop: [1200, 3], //5 items between 1200px and 901px itemsDesktopSmall: [900, 3], // between 900px and 601px itemsTablet: [600, 2], //2 items between 600 and 480 itemsMobile: [479, 1], // 1 item between 479 and 0 pagination: false }); var owl = $(container).data('owlCarousel'); $(container).parent().find(".next").click(function() { owl.next(); }); $(container).parent().find(".prev").click(function() { owl.prev(); }); }; function preparaBlueImpLightbox(seletor, container, callback) { $(seletor).each(function() { if ($(container).length === 0) { container = container.concat($(this).attr("id")); } $(this).on("click", function(event) { if (["img", "a"].indexOf(event.target.tagName.toLowerCase()) !== -1) { event = event || window.event; var target = event.target || event.srcElement; var link = target.src ? target.parentNode : target; var options = { container: container, index: link, event: event, preloadRange: 1, continuous: false, onslide: function(index, slide) { if (callback instanceof Function) { callback.call(this, index, slide); } var titulo = this.list[index].getAttribute('title'); if (!titulo) { titulo = this.list[index].getAttribute('data-legenda'); } var node_titulo = this.container.find(".imagem-detalhe__titulo"); $(node_titulo).html(titulo); var node_link = $(this.container.find(".imagem-detalhe__link")).find("a"); if (node_link) { var urlAmigavel = this.list[index].getAttribute("data-urlamigavel"); if (urlAmigavel) { $(node_link).attr("href", urlAmigavel); } else { node_link.remove(); } } var credito = this.list[index].getAttribute("data-credito"); var node_credito = this.container.find(".imagem-detalhe__credito"); if (credito) { var label_credito = this.list[index].getAttribute("data-label-credito"); $(node_credito).html(label_credito + credito); } else { $(node_credito).html(""); } } }; var elements = this.getElementsByTagName('a'); var itens = []; for(var i = 0; i < elements.length; i++) { itens.push(elements[i]); } window.v = blueimp.Gallery(itens, options); } }); }); }; });