Índice
Plataforma
Produto: TOTVS Fluig Plataforma
Versão: Todas as versões
Ocorrência
Código JavaScript não funciona em nav-tabs nas abas secundárias.
Causa
O código JavaScript é criado em tempo de carregamento da página. Como a <div> com código está em uma aba secundária, ela não é visível neste momento.
Solução
Para resolver este caso dispomos de duas documentações no Style Guide: Navs e Togglable tabs.
Como exemplo, vamos colocar um componente Chart em uma aba secundária.
As tabs aceitam eventos, portanto para mostrar um componente em uma aba não selecionada, é necessário adicionar:
$('a[data-toggle="tab"]').on('shown.bs.tab', function(e) { e.target; // activated tab e.relatedTarget; // previous tab });
O comando $('a[data-toggle="tab"]') pode ser alterado para $('a[href="#id_tab"]') aonde você vai utilizar o id da sua tab.
Para aplicar o gráfico em uma aba diferente da primeira, ficaria assim:
Script
$(document).ready(function(){ $('a[href="#teste"]').on('shown.bs.tab', function (e){ var chart = FLUIGC.chart('#MY_SELECTOR'); var data = { labels: ["January", "February", "March", "April", "May", "June", "July"], datasets: [ { label: "My First dataset", fillColor: "rgba(220,220,220,0.5)", strokeColor: "rgba(220,220,220,0.8)", highlightFill: "rgba(220,220,220,0.75)", highlightStroke: "rgba(220,220,220,1)", data: [65, 59, 80, 81, 56, 55, 40] }, { label: "My Second dataset", fillColor: "rgba(151,187,205,0.5)", strokeColor: "rgba(151,187,205,0.8)", highlightFill: "rgba(151,187,205,0.75)", highlightStroke: "rgba(151,187,205,1)", data: [28, 48, 40, 19, 86, 27, 90] } ] }; // call the bar function var barChart = chart.bar(data, null); }); });
HTML
<div id="MY_SELECTOR"></div>
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas