///
///
"use strict";
(function (ruv, $, undefined) {
//Namespaces
if (!ruv.section) {
ruv.section = {};
};
ruv.section.comun = {};
ruv.section.comun.modelo = {
idEmpresa: 0,
idEntidad: 0,
idRegimenFiscal: 0,
idRegistro: 0,
IdEstatusEmpresa: 0,
tieneDomicilio: false,
cumpleVyd: 1,
showEditIcon: true,
tamanomaximodoc: 0,
nombreblob: ""
};
ruv.section.variables = {
onPreLoadRows: '',
onLoadRows: '',
onPreRender: '',
onFirstRender: '',
onRender: ''
};
ruv.section.variables.options = {};
ruv.section.variables.options.afterRender = function () {
};
ruv.section.variables.options.dataPostView = '';
ruv.section.variables.options.dataPostRows = '';
ruv.section.variables.options.dataPostSection = '';
ruv.section.variables.excepcionesCarga = [ -2, 5, 21, 90];
ruv.section.variables.urlGetSections = '';
ruv.section.variables.urlGetSectionOptions = '';
ruv.section.variables.portal = '';
ruv.section.getNavTabsTemplate = function () {
return ruv.section.templates.navtabs;
};
ruv.section.getTabContentTemplate = function () {
return ruv.section.templates.tabcontent;
};
ruv.section.getNavElementTemplate = function () {
return ruv.section.templates.navElement;
};
ruv.section.getTabElementTemplate = function () {
return ruv.section.templates.tabElement;
};
ruv.section.settings = {};
ruv.section.init = function () {
var dataPostSection = JSON.stringify({ idEntidad: ruv.section.comun.modelo.idEntidad, idRegimenFiscal: ruv.section.comun.modelo.idRegimenFiscal });
if (ruv.section.variables.options.dataPostSection)
dataPostSection = ruv.section.variables.options.dataPostSection;
ruv.utils.ajaxJsonRequestPost(ruv.section.variables.urlGetSections, dataPostSection, function (dataResult) {
ruv.section.createParentSections(dataResult, 'tabPanelParents', false, ruv.section.createSubmitButton);
ruv.section.variables.options.afterRender();
});
};
ruv.section.bindBtnGuardarPrincipal = function () {
var $btnGuardarPrincipal = $('#btnGuardarPrincipal');
$btnGuardarPrincipal.on('click', function (e) {
$('#btnGuardarPrincipal').prop('disabled', true);
var $tabContent = $('#tabPanelParents > #pestañas > .active.in > div .active.in');
$tabContent.find('.btn-guardar-pestana').click();
});
};
ruv.section.bindBtnSalir = function () {
var $btnSalir = $('#btnSalir');
var enviarValidar = false;
$btnSalir.on('click', function () {
ruv.utils.cancelarPrevenirRecargarPagina();
window.location.href = ruv.section.variables.portal;
if ($("#PartialViewRegistrarDocumentosAdicionales").length)
ruv.ayuntamiento.documentos.adicionales.guardar(undefined, enviarValidar);
});
};
ruv.section.createSubmitButton = function () {
$('#tabPanelParents > #pestañas').append(ruv.section.templates.sendButton);
ruv.section.bindBtnGuardarPrincipal();
ruv.section.bindBtnSalir();
};
ruv.section.createParentSections = function (sections, idTabContent, isSubtabs, callback) {
var $navTabs = $(ruv.section.getNavTabsTemplate());
var $TabContent = $(ruv.section.getTabContentTemplate());
$('#' + idTabContent).append($navTabs);
$('#' + idTabContent).append($TabContent);
var buildSections = [];
$.each(sections, function (i, item) {
var strNavElement = ruv.section.getNavElementTemplate();
var strTabElement = ruv.section.getTabElementTemplate();
var sectionName = item.Titulo.replace(/ /g, "").replace(/\//g, "");
var idTab = 'tab{0}'.format(sectionName);
var listId = 'li{0}'.format(sectionName);
var jsonElement = { 'tabElementId': idTab, 'TabTitle': item.Titulo, 'idSection': item.IdSeccion, listId: listId };
var bodyNavElementTemplate = Handlebars.compile(strNavElement);
var $bodyNavElement = $(bodyNavElementTemplate(jsonElement));
var bodyTabElementTemplate = Handlebars.compile(strTabElement);
var $bodyTabElement = $(bodyTabElementTemplate(jsonElement));
$navTabs.append($bodyNavElement);
$TabContent.append($bodyTabElement);
if (isSubtabs) {
$navTabs.addClass('nav-sub-tabs');
$navTabs.find('span.glyphicon').hide();
}
if (!ruv.section.variables.options.showEditIcon)
$navTabs.find('span.glyphicon').hide();
if (item.SeccionesHijas != null)
ruv.section.createParentSections(item.SeccionesHijas, idTab, true);
buildSections.push(ruv.utils.ajaxJsonRequestPost(ruv.section.variables.urlGetSectionOptions,
JSON.stringify({ IdSeccion: item.IdSeccion, idEmpresa: ruv.section.comun.modelo.idEmpresa, idRegimenFiscal: ruv.section.comun.modelo.idRegimenFiscal }),
function (dataResult) {
if (dataResult.HtmlAttributes != null)
$bodyNavElement.attr(dataResult.HtmlAttributes);
$bodyNavElement.on('click', function (event) {
ruv.section.initFormSection(dataResult, $bodyTabElement, item.IdSeccion);
var $ulPadre = $bodyNavElement.closest('ul');
if (!$ulPadre.hasClass('nav-sub-tabs'))
$('.nav-sub-tabs').find('li').removeClass('active');
});
//if (i == sections.length - 1 && !isSubtabs ) {
// $('> li > a:first', '#pestanaspadres').click();
//}
//if ((i == sections.length - 1 && !isSubtabs) && $.isFunction(callback)) {
// callback();
//}
}));
});
$.when.apply($, buildSections).done(function () {
if (!isSubtabs) {
$('> li > a:first', '#pestanaspadres').click();
}
if (!isSubtabs && $.isFunction(callback)) {
callback();
}
});
};
ruv.section.bindDateFields = function (tabContent) {
tabContent.find('.date').datetimepicker({
pickTime: false,
format: 'DD/MM/YYYY'
}).on('dp.change', function (event) {
var $target = $(event.target);
var $parent = $target.closest('.rowContainer');
ruv.utils.limpiarMarcasTextbox($parent, '.rowContainer');
});
};
ruv.section.loadRows = function (tabContent, settings, idSeccion) {
var $listContainer = $('#' + settings.listIdContainer);
$listContainer.listBehavior('showLoader');
if (settings.listIdContainer != '' && settings.UrlDataSource != '') {
var dataPostRows = JSON.stringify({ 'idEmpresa': ruv.section.comun.modelo.idEmpresa, 'idEstatus': ruv.section.comun.modelo.IdEstatusEmpresa, 'idSeccion': idSeccion, 'rfc': ruv.section.comun.modelo.rfc });
if (ruv.section.variables.options.dataPostRows) {
dataPostRows = ruv.section.variables.options.dataPostRows;
}
ruv.utils.ajaxJsonRequestPost(
settings.UrlDataSource,
dataPostRows,
function(result) {
if (result.length > 0) {
if (ruv.section.variables.onLoadRows != null && ruv.section.variables.onLoadRows != '')
ruv.utils.ejecutarFuncionPorNombre(ruv.section.variables.onLoadRows, window, tabContent, result);
$listContainer.listBehavior('setDataSource', result);
$listContainer.listBehavior('update');
}
$listContainer.listBehavior('hideLoader');
setTimeout(function() { tabContent.attr("data-isloaded", true); }, 800);
});
}
}, function (result) {
console.dir(result);
};
ruv.section.selectFirstSubtab = function (tabContent) {
var nav = tabContent.find('.nav-tabs > li:first > a');
nav.click();
};
ruv.section.initFormSection = function (sectionOptions, tabContent, idSeccion) {
if (idSeccion != 20 || (idSeccion == 20 && $("#subiendoArchivo").val() == "0") || $("#subiendoArchivo").val() == undefined) {
var isLoaded = tabContent.html() == '';
ruv.utils.mostrarLoaderContexto(tabContent);
if (ruv.section.variables.onPreRender != null && ruv.section.variables.onPreRender != '')
ruv.utils.ejecutarFuncionPorNombre(ruv.section.variables.onPreRender, window, idSeccion, sectionOptions.UrlView);
if (sectionOptions.UrlView != null && (isLoaded || ruv.section.excepcionesCarga(idSeccion))) {
var datapost = { 'idEmpresa': ruv.section.comun.modelo.idEmpresa, 'idRegimenFiscal': ruv.section.comun.modelo.idRegimenFiscal };
if (ruv.section.variables.options.dataPostView != '')
datapost = ruv.section.variables.options.dataPostView;
ruv.utils.obtenerVista(sectionOptions.UrlView, datapost, function (dataHtmlResult) {
tabContent.html(dataHtmlResult);
if (ruv.section.variables.onFirstRender != null && ruv.section.variables.onFirstRender != '')
ruv.utils.ejecutarFuncionPorNombre(ruv.section.variables.onFirstRender, window, sectionOptions.ListOptions.length, tabContent, idSeccion);
ruv.section.setDatosRegistro(tabContent, idSeccion);
ruv.utils.ocultarLoaderContexto(tabContent);
if (sectionOptions.ListOptions && sectionOptions.ListOptions.length > 0) {
$.each(sectionOptions.ListOptions, function (i, item) {
if (ruv.section.variables.onPreLoadRows != null && ruv.section.variables.onPreLoadRows != '')
ruv.utils.ejecutarFuncionPorNombre(ruv.section.variables.onPreLoadRows, window, item);
var $listContainer = $('#' + item.listIdContainer);
$listContainer.listBehavior(item, function (settings) {
ruv.section.loadRows(tabContent, settings, idSeccion);
});
});
} else {
tabContent.attr("data-isloaded", true);
}
ruv.section.bindDateFields(tabContent);
if (idSeccion > 0)
$($('div[role="tabpanel"] > ul > li[ref=' + idSeccion + '] > a').attr('href')).siblings().removeClass('in active');
$('#btnGuardarPrincipal').prop('disabled', false);
});
} else {
if (ruv.section.variables.onRender != null && ruv.section.variables.onRender != '')
ruv.utils.ejecutarFuncionPorNombre(ruv.section.variables.onRender, window, sectionOptions.ListOptions.length, idSeccion);
ruv.utils.ocultarLoaderContexto(tabContent, function () {
var isAutoLoaded = tabContent.data("isAutoLoaded");
if (!isAutoLoaded) {
ruv.section.selectFirstSubtab(tabContent);
} else {
tabContent.data("isAutoLoaded", false);
}
tabContent.attr("data-isloaded", true);
$('#btnGuardarPrincipal').prop('disabled', false);
});
}
}
};
ruv.section.event = {};
ruv.section.event.click = function () {
};
ruv.section.showNext = function () {
var $tabParent = $('.nav-tabs:not(".nav-sub-tabs") > li.active');
var idContent = $tabParent.find('> a').attr('href');
var $content = $(idContent);
var $nextSubtab = $content.find('.nav-tabs > li.active').next();
if ($nextSubtab.length <= 0) {
$tabParent.next().find('a').click();
} else {
$nextSubtab.find('a').click();
}
};
ruv.section.markTabAsComplete = function (content) {
var $navTab = content.parent().closest('.tab-pane').find('.nav-tabs');
var $selfTab = $navTab.find('li').has('a[href="#' + content.attr('id') + '"]');
$selfTab.addClass('tab-complete');
};
ruv.section.markTabAsUncomplete = function () {
};
ruv.section.excepcionesCarga = function (idSeccion) {
return ruv.section.variables.excepcionesCarga.indexOf(idSeccion) >= 0;
};
ruv.section.setDatosRegistro = function (tabContent, idSeccion) {
tabContent.find('input[name="idEntidad"]').val(ruv.section.comun.modelo.idEntidad);
tabContent.find('input[name="idEntidadesAsociadas"]').val(ruv.section.comun.modelo.idEntidadesAsociadas);
tabContent.find('input[name="idRegimenFiscal"]').val(ruv.section.comun.modelo.idRegimenFiscal);
tabContent.find('input[name="IdContenedor"]').each(function () {
if (this.value == 0)
this.value = idSeccion;
});
tabContent.find('input[name="IdRegistro"]').val(ruv.section.comun.modelo.idRegistro);
tabContent.find('input[name="idEmpresa"]').val(ruv.section.comun.modelo.idEmpresa == null ? 0 : ruv.section.comun.modelo.idEmpresa);
tabContent.find('input[name="IdEstatusEmpresa"]').val(ruv.section.comun.modelo.IdEstatusEmpresa == null ? 0 : ruv.section.comun.modelo.IdEstatusEmpresa);
tabContent.find('input[name="sistemaOrigen"]').val(ruv.section.comun.modelo.sistemaOrigen);
};
}(window.ruv = window.ruv || {}, jQuery));