diff --git a/app/javascript/controllers/motor.js b/app/javascript/controllers/motor.js index aa5373dd..9b5ec4c3 100644 --- a/app/javascript/controllers/motor.js +++ b/app/javascript/controllers/motor.js @@ -615,354 +615,4 @@ export default class Cor1440Gen__Motor { } - // Se ejecuta desde app/javascript/application.js tras importar el motor - static iniciar() { - console.log("* Corriendo Cor1440Gen__Motor.iniciar()") - } - - - - static DEP_OBJETIVOPF = [ - 'select[id^=proyectofinanciero_resultadopf_attributes][id$=_objetivopf_id]', - 'select[id^=proyectofinanciero_indicadorobjetivo_attributes][id$=_objetivopf_id]' - ] - - static DEP_RESULTADOPF = [ - 'select[id^=proyectofinanciero_indicadorpf_attributes][id$=_resultadopf_id]', - 'select[id^=proyectofinanciero_actividadpf_attributes][id$=_resultadopf_id]' - ] - - static DEP_INDICADORPF = [] - - - static funEtiquetaResultadopf(jv) { - let et = jv.find('select[id$=_objetivopf_id] option[selected]').text() + - jv.find('input[id$=_numero]').val() - return et - } - - static actualizarObjetivos(e, objetivo) { - Msip__Motor.actualizaCuadrosSeleccionDependientes( - 'objetivospf', '_id', '_numero', - Cor1440Gen__Motor.DEP_OBJETIVOPF, 'id', 'numero' - ) - Msip__Motor.actualizaCuadrosSeleccionDependientesFunEtiqueta( - 'resultadospf', '_id', cor1440_gen_fun_etiqueta_resultadopf, - Cor1440Gen__Motor.DEP_RESULTADOPF, 'id', 'numero' - ) - } - - static actualizarResultados(e, resultado) { - Msip__Motor.actualizaCuadrosSeleccionDependientesFunEtiqueta( - 'resultadospf', '_id', cor1440_gen_fun_etiqueta_resultadopf, - Cor1440Gen__Motor.DEP_RESULTADOPF, 'id', 'numero' - ) - } - - - // En formulario actividad - - // Actualiza campos dinámicos cuando hay un solo campo de actividades de proyectofinanciero - static actualizarActividadmicos() { - let ruta = document.location.pathname - if (ruta.length == 0) { - return - } - if (ruta.startsWith(window.puntoMontaje)) { - ruta = ruta.substr(window.puntoMontaje.length) - } - if (ruta[0] == '/') { - ruta = ruta.substr(1) - } - let params = { - actividadpf_ids: $('#actividad_actividadpf_ids').val() - } - Msip__Motor.enviaAjaxDatosRutaYPinta( - ruta, params, '#camposdinamicos', '#camposdinamicos' - ) - } - - static llenarActividadpfRelacionadas(res) { - let ac_relacionadas = res.ac_ids_relacionadas - let val_actuales = [] - if (ac_relacionadas.length > 0) { - $('#actividad_proyectofinanciero tr').not(':hidden').each(() => { - let val_actuales = $(this).find('select[id$=actividadpf_ids]').val() - if (val_actuales.length > 0) { - ac_relacionadas = ac_relacionadas.concat(val_actuales) - } - }) - $('#actividad_proyectofinanciero tr').not(':hidden').each(() => { - $(this).find('select[id$=actividadpf_ids]').val(ac_relacionadas) - $(this).find('select[id$=actividadpf_ids]').each((el) => { - Msip__Motor.configurarElementoTomSelect(el) - }) - }) - } - } - - static actualizarActividadMismoTipo(res) { - if (res.selected) { - let acids = [''] - $('select[id^=actividad_actividad_proyectofinanciero_attributes_][id$=_actividadpf_ids]').each( () => { - let t = $(this) - if (t.parent().parent().parent().not(':hidden').length > 0) { - let acids = acids.concat(t.val()) - } - }) - let prids = [] - $('#actividad_proyectofinanciero tr').not(':hidden').each(() => { - let idex = $(this).find('select[id$=proyectofinanciero_id]').val() - prids.push(idex) - }) - let params = { - actividadpf_ids: acids, - proyectofinanciero_ids: prids - } - Msip__Motor.ajaxRecibeJson( - 'api/actividades/relacionadas', - params, cor1440_gen_llenarActividadpf_relacionadas - ) - } - } - - - static llenarActividadpfConAncestros(res) { - let acConAncestros = res.ac_idsConAncestros - $('select[id^=actividad_actividad_proyectofinanciero_attributes][id$=actividadpf_ids]').each(() => { - let actuales = $(this).val() - // acConAncestros incluye los actuales - let posibles = [] - $(this).find('option').each(() => { - posibles.push(+this.value) - }) - let int = posibles.filter( (v) => acConAncestros.includes(v)) - $(this).val(int) - Msip__Motor.configurarElementoTomSelect(this) - if (int.length != actuales.length) { - $(this).trigger('cor1440_gen:conancestros_actualizado') - } - }) - } - - - static actualizarActividadConAncestros(res) { - if (res.selected) { - let acids = [''] - $('select[id^=actividad_actividad_proyectofinanciero_attributes_][id$=_actividadpf_ids]').each( () => { - let t = $(this) - if (t.parent().parent().parent().not(':hidden').length > 0) { - acids = acids.concat(t.val()) - } - }) - let prids = [] - $('#actividad_proyectofinanciero tr').not(':hidden').each(() => { - idex = $(this).find('select[id$=proyectofinanciero_id]').val() - prids.push(idex) - }) - let params = { - actividadpf_ids: acids, - proyectofinanciero_ids: prids - } - Msip__Motor.ajaxRecibeJson( - 'actividadespf/conancestros', params, - Cor1440Gen__Motor.llenarActividadpfConAncestros - ) - } - } - - - // Actualiza campos dinámicos cuando hay una tabla de proyectofinanciero - // y actividades de proyectofinanciero - static actualizarActividadCamposDinamicos2() { - let ruta = document.location.pathname - if (ruta.length == 0) { - return - } - if (ruta.startsWith(window.puntoMontaje)) { - ruta = ruta.substr(window.puntoMontaje.length) - } - if (ruta[0] == '/') { - ruta = ruta.substr(1) - } - let acids = [''] - $('select[id^=actividad_actividad_proyectofinanciero_attributes_][id$=_actividadpf_ids]').each( () => { - let t = $(this) - if (t.parent().parent().parent().not(':hidden').length > 0) { - acids = acids.concat(t.val()) - } - }) - - let params = { - actividadpf_ids: acids - } - Msip__Motor.enviaAjaxDatosRutaYPinta( - ruta, params, '#camposdinamicos', '#camposdinamicos' - ) - } - - static actualizarActividadActividadpfPf(proyectofinanciero_id) { - let params = { - pfl: [proyectofinanciero_id] - } - Msip__Motor.llenaSelectConAJAX2( - 'actividadespf', params, - 'actividad_actividadpf_ids', 'con Actividades de convenio', - 'id', 'nombre', Cor1440Gen__Motor.actualizarActividadmicos - ) - } - - - static actualizarActividadActividadpf() { - let params = { - pfl: $('#actividad_proyectofinanciero_ids').val(), - } - Msip__Motor.llenaSelectConAJAX2( - 'actividadespf', params, - 'actividad_actividadpf_ids', 'con Actividades de convenio', - 'id', 'nombre', Cor1440Gen__Motor.actualizarActividadmicos - ) - } - - - static actualizarActividadPf() { - let params = { - fecha: $('#actividad_fecha').val(), - } - Msip__Motor.llenaSelectConAJAX2( - 'proyectosfinancieros', params, - 'actividad_proyectofinanciero_ids', 'con Convenios financiados', - 'id', 'nombre', - Cor1440Gen__Motor.actualizarActividadActividadpf - ) - } - - - static actualizarActividadPf2(pfpend = null) { - // Si hay listado de proyectos vigentes, limitar a esos - if (pfpend != null) { - let pfpendid = pfpend.map((e) => (e.id)) - let pfex = [] - $('#actividad_proyectofinanciero tr').not(':hidden').each(() => { - let idex = $(this).find('select[id$=proyectofinanciero_id]').val() - if (!(pfpendid.includes(+idex))) { - $(this).remove() - } - }) - } - // Actualizar campos dinámicos - Cor1440Gen__Motor.actualizarActividadCamposDinamicos2() - } - - static limitarActividadPfActualizaActividadpf(pfpend = null) { - // Si hay listado de proyectos vigentes, limitar a esos - if (pfpend != null) { - let pfpendid = pfpend.map((e) => (e.id)) - let pfex = [] - $('#actividad_proyectofinanciero tr').not(':hidden').each(() => { - let idex = $(this).find('select[id$=proyectofinanciero_id]').val() - if (!(pfpendid.includes(+idex))) { - $(this).remove() - } - }) - } - } - - static actualizarActividadFecha2() { - let params = { - fecha: $('#actividad_fecha').val(), - } - Msip__Motor.funcionTrasAJAX( - 'proyectosfinancieros', params, - Cor1440Gen__Motor.actualizarActividad_pf2, 'con Convenios Financiados' - ) - } - - static actualizarActividadPfOp(resp, objetivo) { - // Determinar nuevas opciones excluyendo las ya elegidas - let otrospfid = [] - objetivo.siblings().not(':hidden'). - find('select[id$=proyectofinanciero_id]').each(() => { - otrospfid.push(+this.value) - }) - let idsel = objetivo.find('select').attr('id') - resp.sort((a,b) => { - if (a.nombre.toLowerCase() < b.nombre.toLowerCase()) { - return -1 - } else if (a.nombre.toLowerCase() > a.nombre.toLowerCase()) { - return 1 - } else { - return 0 - } - }) - - let nuevasop = [] - resp.forEach((r) => { - if (!otrospfid.includes(+r.id)) { - nuevasop.push({'id': +r.id, 'nombre': r.nombre}) - } - }) - Msip__Motor.remplazaOpcionesSelect( - idsel, nuevasop, true, 'id', 'nombre', true - ) - $('#' + idsel).val('') - let el = document.querySelector('#' + idsel) - Msip__Motor.configurarElementoTomSelect(el) - } - - static actualizarActividadSelRango(resp, objetivo) { - // Determinar nuevas opciones excluyendo las ya elegidas - let otrospfid = [] - objetivo.siblings().not(':hidden').find('select').each(() => { - otrospfid.push(+this.value) - }) - let idsel = objetivo.find('select').attr('id') - let valac = +$('#' + idsel).val() - let valsel = 7 - let nuevasop = [] - resp.forEach((r) => { - if (!otrospfid.includes(+r.id)) { - nuevasop.push({'id': +r.id, 'nombre': r.nombre}) - if (r.id == valac) { - valsel = valac - } - } - }) - Msip__Motor.remplazaOpcionesSelect( - idsel, nuevasop, true, 'id', 'nombre', false - ) - $('#' + idsel).val(valsel) - $('#' + idsel).trigger('chosen:updated') - - } - - - // PERSONAS/BENEFICIARIOS - - // Actualiza campos dinámicos cuando hay caracterización - static actualizarCamposDinamicos() { - let ruta = document.location.pathname - if (ruta.length == 0) { - return - } - if (ruta.startsWith(window.puntoMontaje)) { - ruta = ruta.substr(window.puntoMontaje.length) - } - if (ruta[0] == '/') { - ruta = ruta.substr(1) - } - let pfids = $('#persona_proyectofinanciero_ids').val() - - if (pfids.length == 0) { - pfids = [-1] // convencio vacio. Si se usa [] no llega al controlador - } - - let params = { - proyectofinanciero_ids: pfids - } - Msip__Motor.enviaAjaxDatosRutaYPinta( - ruta, params, '#acordeon-caracterizacion', '#acordeon-caracterizacion' - ) - } - }