/* * Codificación UTF-8 * Eventos asociados a los botones */ var gvh = gvh || {}; function gvh_Function() { //Declaracion de las cabeceras this.buscar = f_buscar; this.guardar = f_guardar; this.cancelar = f_cancelar; //this.irAPantalla = f_irAPantalla; this.callControllerJS = f_callControllerJS; this.cancelarVS = f_cancelarVS; this.aceptarVS = f_aceptarVS; } /** * f_buscar: buscar del panel filtro * El botón buscar necesita tener los siguientes atributos si se crea de forma directa en html: * -> data-gvhFunction = 'buscar' * -> data-gvhClaseManejadora * -> data-gvhDestino * -> data-gvhPanelOn * -> data-gvhConfirm * -> data-gvhNewWindow * @access private * @var objBoton: componente botón que se ha pulsado */ function f_buscar(objBoton) { var idForm = objBoton.closest('form').attr('id'); var panel = objBoton.attr('data-gvhPanelOn'); var claseM = objBoton.attr('data-gvhClaseManejadora'); var destino = objBoton.closest('form').attr('action'); var destinoLength = objBoton.attr('data-gvhDestino').length; if (destinoLength > 0) { destino = objBoton.attr('data-gvhDestino'); } if (objBoton.attr('data-gvhConfirm')) { var confirm = objBoton.attr('data-gvhConfirm'); var vConfirm = confirm.split('___'); objBoton.showConfirm({ id: objBoton.attr('id'), codigo: vConfirm[0], descBreve: desescapeIGEPjs(vConfirm[1]), text: desescapeIGEPjs(vConfirm[2]), btnOk: desescapeIGEPjs(vConfirm[3]), btnCancel: desescapeIGEPjs(vConfirm[4]), destino: destino, claseM: claseM, panel: objBoton.attr('data-gvhPanelOn') }) } else { var id = $('div').filter('[data-gvhCWSource=CWFilter]').attr('id'); if ((id != undefined)) { $('#'+id).getRulesFilter({ idFilter: id, claseM: claseM, panel: panel }) } objBoton.controllerJS({ id: objBoton.attr('id'), panel: panel, destino: destino, newWindow: objBoton.attr('data-gvhNewWindow'), confirm: '', claseM: claseM, message: 'buscar' }); } }; /** * f_guardar: Enviar a negocio los datos del panel para ser guardados * El botón guardar necesita tener los siguientes atributos si se crea de forma directa en html: * -> data-gvhFunction = 'guardar' * -> data-gvhClaseManejadora * -> data-gvhDestino * -> data-gvhPanelOn * -> data-gvhConfirm * @access private * @var objBoton: componente botón que se ha pulsado */ function f_guardar(objBoton) { var accionActivaP = 'accionActivaP_'+objBoton.closest('form').attr('id'); var modo = $('#'+accionActivaP).val(); var panel = objBoton.attr('data-gvhPanelOn'); var idGuardar = objBoton.attr('id'); var claseManejadora = objBoton.attr('data-gvhClaseManejadora'); var estadoPanel = $('#P_'+panel).attr('data-gvhestadopanel'); var destino = objBoton.closest('form').attr('action'); var destinoLength = objBoton.attr('data-gvhDestino').length; if (destinoLength > 0) { destino = objBoton.attr('data-gvhDestino'); } var fields = objBoton.fieldsRequired({ id : idGuardar, panel : panel, estadoPanel : estadoPanel, claseM : claseManejadora }); if (fields != '') { objBoton.showMessage('gvhlang_msj901','alert',fields); } else { // FALTA data-gvhConfirm con JSON var confirm = objBoton.attr('data-gvhConfirm'); if ((confirm != '') && (confirm != undefined)) { var vConfirm = confirm.split('___'); objBoton.showConfirm({ id: idGuardar, codigo: vConfirm[0], descBreve: desescapeIGEPjs(vConfirm[1]), text: desescapeIGEPjs(vConfirm[2]), btnOk: desescapeIGEPjs(vConfirm[3]), btnCancel: desescapeIGEPjs(vConfirm[4]), destino: destino, destinoNO: objBoton.attr('data-gvhConfirmCancel'), claseM: claseManejadora, panel: panel }); } else { objBoton.controllerJS({ id: idGuardar, panel: panel, destino: destino, newWindow: 'false', confirm: '', claseM: claseManejadora, message: 'guardar' }); } } } /** * f_cancelar: Cancelar la acción que se haya indicado realizar en el panel * El botón cancelar necesita tener los siguientes atributos si se crea de forma directa en html: * -> data-gvhFunction = 'guardar' * -> data-gvhClaseManejadora * -> data-gvhDestino * -> data-gvhPanelOn * -> data-gvhConfirm * -> data-gvhNewWindow * @access private * @var objBoton: componente botón que se ha pulsado */ function f_cancelar(objBoton) { var panel = objBoton.attr('data-gvhPanelOn'); var formulario = objBoton.closest('form'); objBoton.blockExit({ exit: true, modo: 'R', panel: panel }); $('#capa_menuFalso').hide(); $('#capa_menuReal').show(); var modificado = panel+'_imgModificado'; $('#'+modificado).hide(); var destino = objBoton.attr('data-gvhDestino'); if ((destino != 'cancelar') && (destino != '')) { objBoton.controllerJS({ id: objBoton.attr('id'), panel: panel, destino: destino, newWindow: 'false', confirm: objBoton.attr('data-gvhConfirm'), claseM: objBoton.attr('data-gvhClaseManejadora'), message: 'cancelar' }) } else { objBoton.loading({ message: 'Cancelando...' }); setTimeout('window.top.location.reload()', 100); } } /** * f_irAPantalla: Cargará la pantalla indicada en gvhDestino. Equivale a los botones saltar/volver. * El botón necesita tener los siguientes atributos si se crea de forma directa en html: * -> data-gvhFunction = ['saltar'|'volver'|'listar'] * -> data-gvhClaseManejadora * -> data-gvhDestino * -> data-gvhPanelOn * -> data-gvhConfirm * -> data-gvhNewWindow * @access private * @var objBoton: componente botón que se ha pulsado */ /*function f_irAPantalla(objBoton) { $(this).controllerJS({ id: objBoton.attr('id'), panel: objBoton.attr('data-gvhPanelOn'), destino: objBoton.attr('data-gvhDestino'), newWindow: objBoton.attr('data-gvhNewWindow'), confirm: objBoton.attr('data-gvhConfirm'), claseM: objBoton.attr('data-gvhClaseManejadora'), message: 'cargar' }); }*/ /** * f_accionParticular: Cargará la pantalla indicada en gvhDestino. Equivale a los botones saltar/volver. * El botón necesita tener los siguientes atributos si se crea de forma directa en html: * -> data-gvhFunction = ['particular'] * -> data-gvhClaseManejadora * -> data-gvhDestino * -> data-gvhPanelOn * -> data-gvhConfirm * -> data-gvhNewWindow * @access private * @var objBoton: componente botón que se ha pulsado */ function f_callControllerJS(objBoton) { className = objBoton.attr('class'); if (className != 'btnTooltip') { if (objBoton.attr('data-gvhConfirm')) { var confirm = objBoton.attr('data-gvhConfirm'); var vConfirm = confirm.split('___'); objBoton.showConfirm({ id: objBoton.attr('id'), codigo: vConfirm[0], descBreve: desescapeIGEPjs(vConfirm[1]), text: desescapeIGEPjs(vConfirm[2]), btnOk: desescapeIGEPjs(vConfirm[3]), btnCancel: desescapeIGEPjs(vConfirm[4]), destino: objBoton.attr('data-gvhDestino'), claseM: objBoton.attr('data-gvhClaseManejadora'), panel: objBoton.attr('data-gvhPanelOn') }) } else { objBoton.controllerJS({ id: objBoton.attr('id'), panel: objBoton.attr('data-gvhPanelOn'), destino: objBoton.attr('data-gvhDestino'), newWindow: objBoton.attr('data-gvhNewWindow'), confirm: '', claseM: objBoton.attr('data-gvhClaseManejadora'), message: 'cargar' }) } } } /** * f_cancelarVS: Cancelar la acción de la ventana de selección * El botón necesita tener los siguientes atributos si se crea de forma directa en html: * -> data-gvhFunction = ['cancelarvs'] * -> data-gvhClaseManejadora * -> data-gvhDestino * -> data-gvhPanelOn * -> data-gvhConfirm * @access private * @var objBoton: componente botón que se ha pulsado */ function f_cancelarVS(objBoton) { var panel = objBoton.attr('data-gvhPanelOn'); var formulario = objBoton.closest('form'); if (objBoton.attr('data-gvhConfirm')) { var confirm = objBoton.attr('data-gvhConfirm'); var vConfirm = confirm.split('___'); objBoton.showConfirm({ id: objBoton.attr('id'), codigo: vConfirm[0], descBreve: desescapeIGEPjs(vConfirm[1]), text: desescapeIGEPjs(vConfirm[2]), btnOk: desescapeIGEPjs(vConfirm[3]), btnCancel: desescapeIGEPjs(vConfirm[4]), destino: objBoton.attr('data-gvhDestino'), claseM: objBoton.attr('data-gvhClaseManejadora') }) } else { dialogWS.dialog("destroy").remove(); if (dialogIdWM.length <= 0) ambito = 'gvhMain'; else ambito = 'gvhModal'; } } /** * f_aceptarVS: Cancelar la acción de la ventana de selección * El botón necesita tener los siguientes atributos si se crea de forma directa en html: * -> data-gvhFunction = ['cancelarvs'] * -> data-gvhClaseManejadora * -> data-gvhDestino * -> data-gvhPanelOn * -> data-gvhConfirm * @access private * @var objBoton: componente botón que se ha pulsado */ function f_aceptarVS(objBoton) { var panel = $(this).attr('data-gvhPanelOn'); var formulario = $(this).closest('form'); if (objBoton.attr('data-gvhConfirm')) { var confirm = objBoton.attr('data-gvhConfirm'); var vConfirm = confirm.split('___'); objBoton.showConfirm({ id: objBoton.attr('id'), codigo: vConfirm[0], descBreve: desescapeIGEPjs(vConfirm[1]), text: desescapeIGEPjs(vConfirm[2]), btnOk: desescapeIGEPjs(vConfirm[3]), btnCancel: desescapeIGEPjs(vConfirm[4]), destino: objBoton.attr('data-gvhDestino'), claseM: objBoton.attr('data-gvhClaseManejadora') }) } else { var destino = objBoton.attr('data-gvhDestino'); var fieldsWS = objBoton.attr('data-gvhFieldsWS').split(','); var fieldsSource = objBoton.attr('data-gvhFieldsSource').split(','); var action = $('#actionOrigen').val(); var panel = objBoton.attr('data-gvhPanelOn'); var id = $('input:radio[name=vsRadio]:checked').attr('id'); if (id == undefined) { $.getJSON(urlLang, function(data) { var cod = desescapeIGEPjs(data['gvhlang_msj16']['cod']); var title = desescapeIGEPjs(data['gvhlang_msj16']['title']); var descrip = desescapeIGEPjs(data['gvhlang_msj16']['descr']); }) .done(function(){ alertify.suggest(cod,title,descrip); }) } else { var fila = id.split('_')[2]; // check_Tabla1_1 var modoPanel = objBoton.attr('data-gvhModoPanelOn'); objBoton.okWS({ actionOrigen: action, fila: fila, panel: panel, fieldsSource: fieldsSource, fieldsWS: fieldsWS, modoPanel: modoPanel, claseMO: objBoton.attr('data-gvhClaseMOrigen') }); } } }