Skip to content

Commit

Permalink
Quita duplicados
Browse files Browse the repository at this point in the history
  • Loading branch information
vtamara committed Jan 4, 2025
1 parent a45207a commit 981925e
Showing 1 changed file with 0 additions and 350 deletions.
350 changes: 0 additions & 350 deletions app/javascript/controllers/motor.js
Original file line number Diff line number Diff line change
Expand Up @@ -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'
)
}

}

0 comments on commit 981925e

Please sign in to comment.