.widget .widget-body = simple_form_for(@grupo_de_evento_contabil) do |f| legend strong = "#{f.object.new_record? ? "Cadastrar" : "Editar"} Grupo de Eventos" = f.input :exercicio, as: :hidden, input_html: { value: contexto_atual.exercicio, id: 'exercicio' } .row .col-sm-9 = f.input :nome_do_grupo, label: 'Nome do Grupo' .row .col-sm-3 = f.label :categoria_de_lancamento, "Categoria de Lançamento *", class: "control-label" = f.select :categoria_de_lancamento, options_for_select(Contabilidade::GrupoDeEventoContabil.categorias_de_lancamento_i18n.transform_keys{|key| Contabilidade::GrupoDeEventoContabil.categorias_de_lancamento[key]}.invert, selected: f.object.categoria_de_lancamento_before_type_cast.to_s), { include_blank: "Selecione" },class: 'form-control s2 categoria_de_lancamento' .col-sm-3 = f.label :titulo, "Titulo *", class: "control-label" = f.select :titulo, options_for_select(Contabilidade::GrupoDeEventoContabil.titulos_i18n.transform_keys{|key| Contabilidade::GrupoDeEventoContabil.titulos[key]}.invert, selected: f.object.titulo_before_type_cast.to_s), { include_blank: "Selecione" }, class: 'form-control s2 titulo' = error_for f.object, :titulo .col-sm-3 = f.label :lancamento_manual, "Titulo *", class: "control-label" = f.select :lancamento_manual, options_for_select(Contabilidade::GrupoDeEventoContabil.lancamentos_manuais_i18n.transform_keys{|key| Contabilidade::GrupoDeEventoContabil.lancamentos_manuais[key]}.invert, selected: f.object.lancamento_manual_before_type_cast.to_s), { include_blank: "Selecione" }, class: 'form-control s2 lancamento_manual' = error_for f.object, :lancamento_manual .row style="margin-top: 15px" .col-sm-2 .checkbox.checkbox-circle = f.input :transferir_grupos, as: :boolean, label: 'Importar Grupos ?', input_html: { id: "transferir_por_grupo" } .col-sm-9#filtro_de_grupo = label_tag :grupo_de_eventos_contabeis_ids, "Grupo de Eventos", class: "control-label" .input-group = select_tag "grupo_de_eventos_contabeis_ids", options_from_collection_for_select( \ @grupos_de_eventos_contabeis, :id, :nome_do_grupo,'' \ ), include_blank: "Selecione", id: "grupo_de_evento_contabil", class: "form-control s8", multiple: true #eventos_individuais style="margin-top: 30px" table.table.table-bordered.table-hover.table-responsive thead tr th.center width="45%" Evento th.center width="45%" Grupo th tbody#tabela_eventos_individuais = f.fields_for :eventos_contabeis, @grupo_de_evento_contabil.eventos_contabeis do |evento_contabil| = render 'evento_contabil_fields', f: evento_contabil tfoot tr td td td.center = link_to_add_association ' Adicionar'.html_safe, f, :eventos_contabeis, :"data-association-insertion-node" => "tbody#tabela_eventos_individuais", :"data-association-insertion-method" => "append", class: 'btn btn-primary btn-sm', id: 'btn-add-eventos-individuais' .form-actions .row .col-md-12 = f.submit "Salvar", class: "btn btn-primary" = link_to "Voltar", contabilidade_grupo_de_eventos_contabeis_path(), class: "btn btn-default" javascript: $(document).ready(function(){ $("#grupo_de_evento_contabil").select2(); $("#grupo_de_evento_contabil").width("100%"); exibeCampoGrupos(); }); $('form').on('cocoon:after-insert', function(e, insertedItem) { $('select.s2').select2(); }); $("#transferir_por_grupo").on("click", function(){ exibeCampoGrupos(); }); $(".evento_contabil").on("change", function(){ var linha = $(this).closest("tr"); buscaInformacoesDoEvento($(this), linha); }) $("#grupo_de_evento_contabil").on("change", function(){ console.log($(this).val()); }) function buscaInformacoesDoEvento(eventoContabil, linha){ var url = new URL(`${root_url}/contabilidade/${exercicio}/eventos_contabeis`); url.searchParams.append('q[id_eq]', eventoContabil.val()); $.getJSON(url.href, function(dados){ if(dados.length > 0){ $('.nome_do_grupo_de_evento', linha).text(nomeDoGrupo(dados[0])); } }) } function nomeDoGrupo(eventoContabil){ try{ var nome = eventoContabil.grupo_de_evento_contabil.nome_do_grupo }catch(e){ var nome = "" } return nome; } function exibeCampoGrupos(){ var utilizaGrupoDeEvento = $("#transferir_por_grupo").is(':checked') if(utilizaGrupoDeEvento){ $("#filtro_de_grupo").show(); }else{ $("#filtro_de_grupo").hide(); } }