Skip to content

Commit

Permalink
fix(TOP): deshabilita boton hasta no cargar datos requeridos en formu…
Browse files Browse the repository at this point in the history
…lario
  • Loading branch information
palita1991 committed May 28, 2021
1 parent e8f1495 commit afaf18c
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 9 deletions.
5 changes: 3 additions & 2 deletions src/app/components/top/reglas/reglas.component.html
Original file line number Diff line number Diff line change
Expand Up @@ -133,9 +133,10 @@
</plex-button>
</div>
<div class="col text-right">
<plex-button type="success" label="Guardar" (click)="onSave($event)" title="Guardar">
<plex-button type="success" label="Guardar" (click)="onSave($event)" title="Guardar"
[disabled]="form.invalid || !reglaCorrecta">
</plex-button>
</div>
</div>
</footer>
</form>
</form>
23 changes: 16 additions & 7 deletions src/app/components/top/reglas/reglas.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ export class ReglasComponent {
prestacionActiva = -1;
prestacion = {};
organizacion;
reglaCorrecta = false;
constructor(
private auth: Auth,
private plex: Plex,
Expand Down Expand Up @@ -93,6 +94,7 @@ export class ReglasComponent {
deleteOrganizacion(indice) {
this.reglas.splice(indice, 1);
this.reglaActiva = -1;
this.verificarRegla();
}

addPrestacion() {
Expand All @@ -110,6 +112,7 @@ export class ReglasComponent {
this.prestaciones.push({ prestacion: this.prestacionOrigen, auditable: this.auditable });
this.regla.origen.prestaciones = this.prestaciones;
this.prestacionOrigen = null;
this.verificarRegla();
}
} else {
this.plex.info('info', 'Debe seleccionar la prestación origen');
Expand All @@ -118,12 +121,13 @@ export class ReglasComponent {

deletePrestacion(indice) {
this.regla.origen.prestaciones.splice(indice, 1);
this.verificarRegla();
}


activarRegla(indice) {
this.reglaActiva = indice;
this.regla = this.reglas[indice];
this.verificarRegla();
}

activarPrestacion(indice) {
Expand All @@ -135,18 +139,24 @@ export class ReglasComponent {
this.reglas = [];
this.reglaActiva = -1;
this.regla = {};
this.reglaCorrecta = false;
}

cancelar() {
this.cancel.emit();
}

verificarRegla() {
if (this.reglas?.length) {
this.reglaCorrecta = this.reglas.every(regla => regla.destino && regla.destino.organizacion && regla.destino.prestacion && regla.origen.organizacion && regla.origen.prestaciones?.length);
} else {
this.reglaCorrecta = false;
}
}

onSave($event) {
let condiciones = false;
if (this.reglas && this.reglas.length > 0) {
condiciones = this.reglas.every(regla => regla.destino && regla.destino.organizacion && regla.destino.prestacion
&& regla.destino && regla.origen.organizacion && regla.origen.prestaciones && regla.origen.prestaciones.length > 0);
if (condiciones) {
if (this.reglas?.length) {
if (this.reglaCorrecta) {
let data = {
reglas: this.reglas
};
Expand All @@ -158,7 +168,6 @@ export class ReglasComponent {
});
} else {
this.plex.info('info', 'Debe completar los datos de las reglas');

}
} else {
this.servicioReglas.delete({ prestacionDestino: this.prestacionDestino.conceptId, organizacionDestino: this.organizacionDestino.id }).subscribe((resu) => {
Expand Down

0 comments on commit afaf18c

Please sign in to comment.