Add Configuración de Parámetros

se realizó la historia de usuario 55
This commit is contained in:
Mariela Bonilla 2021-07-14 02:09:48 -06:00
parent d678a7bbab
commit 56d74c5e11
5 changed files with 248 additions and 340 deletions

View File

@ -45,78 +45,79 @@
</div>
</div>-->
<div class="row justify-content-center ds-form">
<div class="w-75 pb-lg-5 pr-lg-5 mb-5" style="border-bottom: 1px solid #e7ebf3">
<div class="col-lg-8 mr-lg-5">
<div class="row w-75 mb-5" style="border-bottom: 1px solid #e7ebf3">
<div class="col-lg-10 mr-lg-5">
<div class="row">
<div class="w-100">
<p class="ds-title">Parámetros de la aplicación</p>
</div>
<div>
<p class="ds-subtitle">Informacion de los parametros que se permiten para la creacion de las encuestas dentro de DataSurvey.</p>
</div>
</div>
</div>
</div>
</div>
<div class="row justify-content-center ds-form">
<jhi-alert-error></jhi-alert-error>
<jhi-alert></jhi-alert>
<div class="row w-75 pb-lg-5 pr-lg-5 mb-5" style="border-bottom: 1px solid #e7ebf3">
<div class="col-lg-4 mr-lg-5">
<div class="row">
<div class="w-100">
<p class="ds-title">Dias para encuestas</p>
</div>
<div>
<p class="ds-subtitle">
Parámetros necesarios para los datos mínimos y máximos que permitirá para las diferentes encuestas dentro de DataSurvey.
Cantidad mínima y máxima de los días que se permitirá para la creación de las encuestas dentro de DataSurvey.
</p>
</div>
</div>
</div>
</div>
</div>
<jhi-alert-error></jhi-alert-error>
<jhi-alert></jhi-alert>
<div *ngIf="parametroAplicacion" class="ds-form">
<div class="row justify-content-center info-parametros">
<div class="w-100">
<h4 class="text-dark text-center fw-bold">Dias para encuestas</h4>
</div>
<div class="row w-100 pb-lg-2 mb-5 justify-content-center">
<div class="col-lg-4 mr-lg-5">
<div class="row">
<div class="form-group w-100">
<p class="form-control-label">Cantidad mínima</p>
<p class="form-control text-center" style="border-bottom: 1px solid #e7ebf3">{{ parametroAplicacion.minDiasEncuesta }}</p>
</div>
<div *ngIf="parametroAplicacion" class="ds-form col-lg ml-lg-5 mr-lg-5 pr-lg-5">
<div class="row mb-2">
<div class="form-group w-100">
<label class="form-control-label">Cantidad mínima</label>
<p class="form-control text-center">{{ parametroAplicacion.minDiasEncuesta }}</p>
</div>
<div class="form-group w-100">
<label class="form-control-label">Cantidad máxima</label>
<p class="form-control text-center">{{ parametroAplicacion.maxDiasEncuesta }}</p>
</div>
</div>
<div class="col-lg-4 mr-lg-5">
<div class="row">
<div class="form-group w-100">
<p class="form-control-label">Cantidad máxima</p>
<p class="form-control text-center" style="border-bottom: 1px solid #e7ebf3">{{ parametroAplicacion.maxDiasEncuesta }}</p>
</div>
</div>
</div>
</div>
</div>
<div class="row justify-content-center info-parametros">
<div class="w-100">
<h4 class="text-dark text-center fw-bold">Preguntas para encuestas</h4>
</div>
<div class="row w-100 pb-lg-2 mb-5 justify-content-center">
<div class="col-lg-4 mr-lg-5">
<div class="row">
<div class="form-group w-100">
<p class="form-control-label">Cantidad mínima</p>
<p class="form-control text-center" style="border-bottom: 1px solid #e7ebf3">{{ parametroAplicacion.minCantidadPreguntas }}</p>
</div>
</div>
</div>
<div class="col-lg-4 mr-lg-5">
<div class="row">
<div class="form-group w-100">
<p class="form-control-label">Cantidad máxima</p>
<p class="form-control text-center">{{ parametroAplicacion.maxCantidadPreguntas }}</p>
</div>
</div>
</div>
</div>
<div class="row">
<button class="ds-btn ds-btn--secondary" type="submit" (click)="previousState()" data-cy="entityDetailsBackButton">
<fa-icon icon="arrow-left"></fa-icon>&nbsp;<span jhiTranslate="entity.action.back">Back</span>
</button>
<button class="ds-btn ds-btn--primary" type="button" [routerLink]="['/parametro-aplicacion', parametroAplicacion.id, 'edit']">
<fa-icon icon="pencil-alt"></fa-icon>&nbsp;<span jhiTranslate="entity.action.edit">Edit</span>
</button>
</div>
</div>
</div>
<div class="row justify-content-center ds-form">
<div class="row w-75 pb-lg-5 pr-lg-5 mb-5">
<div class="col-lg-4 mr-lg-5">
<div class="row">
<div class="w-100">
<p class="ds-title">Preguntas para encuestas</p>
</div>
<div>
<p class="ds-subtitle">
Cantidad mínima y máxima de las preguntas que se permitirá ingresar para la creación de las encuestas dentro de DataSurvey.
</p>
</div>
</div>
</div>
<div *ngIf="parametroAplicacion" class="ds-form col-lg ml-lg-5 mr-lg-5 pr-lg-5">
<div class="row mb-2">
<div class="form-group w-100">
<label class="form-control-label">Cantidad mínima</label>
<p class="form-control text-center">{{ parametroAplicacion.minCantidadPreguntas }}</p>
</div>
<div class="form-group w-100">
<label class="form-control-label">Cantidad máxima</label>
<p class="form-control text-center">{{ parametroAplicacion.maxCantidadPreguntas }}</p>
</div>
</div>
<div class="row">
<button class="ds-btn ds-btn--primary" type="button" [routerLink]="['/parametro-aplicacion', parametroAplicacion.id, 'edit']">
<fa-icon icon="pencil-alt"></fa-icon>&nbsp;<span jhiTranslate="entity.action.edit">Edit</span>
</button>
</div>
</div>
</div>
</div>

View File

@ -1,61 +1,51 @@
<!--<div class="row justify-content-center">
<div class="col-8">
<form name="editForm" role="form" novalidate (ngSubmit)="save()" [formGroup]="editForm">
<h2
id="jhi-parametro-aplicacion-heading"
data-cy="ParametroAplicacionCreateUpdateHeading"
jhiTranslate="dataSurveyApp.parametroAplicacion.home.createOrEditLabel"
>
Create or edit a Parametro Aplicacion
</h2>
<div>
<jhi-alert-error></jhi-alert-error>
<div class="form-group" [hidden]="editForm.get('id')!.value == null">
<label class="form-control-label" jhiTranslate="global.field.id" for="field_id">ID</label>
<input type="number" class="form-control" name="id" id="field_id" data-cy="id" formControlName="id" [readonly]="true" />
<div class="row justify-content-center ds-form">
<div class="row w-75 mb-5" style="border-bottom: 1px solid #e7ebf3">
<div class="col-lg-10 mr-lg-5">
<div class="row">
<div class="w-100">
<p class="ds-title">Parámetros de la aplicación</p>
</div>
<div class="form-group">
<label class="form-control-label" jhiTranslate="dataSurveyApp.parametroAplicacion.maxDiasEncuesta" for="field_maxDiasEncuesta"
>Max Dias Encuesta</label
>
<input
type="number"
class="form-control"
name="maxDiasEncuesta"
id="field_maxDiasEncuesta"
data-cy="maxDiasEncuesta"
formControlName="maxDiasEncuesta"
/>
<div
*ngIf="
editForm.get('maxDiasEncuesta')!.invalid &&
(editForm.get('maxDiasEncuesta')!.dirty || editForm.get('maxDiasEncuesta')!.touched)
"
>
<small
class="form-text text-danger"
*ngIf="editForm.get('maxDiasEncuesta')?.errors?.required"
jhiTranslate="entity.validation.required"
>
This field is required.
</small>
<small
class="form-text text-danger"
[hidden]="!editForm.get('maxDiasEncuesta')?.errors?.number"
jhiTranslate="entity.validation.number"
>
This field should be a number.
</small>
</div>
<div>
<p class="ds-subtitle">Edición de los parámetros que se permiten para la creación de las encuestas dentro de DataSurvey.</p>
</div>
</div>
</div>
</div>
</div>
<div class="form-group">
<label class="form-control-label" jhiTranslate="dataSurveyApp.parametroAplicacion.minDiasEncuesta" for="field_minDiasEncuesta"
>Min Dias Encuesta</label
>
<div class="alert alert-danger" *ngIf="minDiasIncorrect">La cantidad mínima de los días, debe ser inferior a la cantidad máxima</div>
<div class="alert alert-danger" *ngIf="minPreguntasIncorrect">
La cantidad mínima de las preguntas, debe ser inferior a la cantidad máxima
</div>
<div class="alert alert-danger" *ngIf="notNumbers">Los valores digitadas deben ser numéricas y enteras</div>
<div class="alert alert-danger" *ngIf="notPositive">Los valores ingresados deben ser mayores que 0</div>
<!-- Form -->
<form
autocomplete="off"
class="ds-form row justify-content-center"
name="editForm"
role="form"
novalidate
(ngSubmit)="save()"
[formGroup]="editForm"
>
<div class="row w-75 pb-lg-5 pr-lg-5 mb-5" style="border-bottom: 1px solid #e7ebf3">
<div class="col-lg-4 mr-lg-5">
<div class="row">
<div class="w-100">
<p class="ds-title">Edición Días para Encuestas</p>
</div>
<div>
<p class="ds-subtitle">
Editar la cantidad mínima y máxima de los días que se permitirá para la creación de las encuestas dentro de DataSurvey.
</p>
</div>
</div>
</div>
<div class="col-lg ml-lg-5 mr-lg-5 pr-lg-5">
<div class="row mb-2">
<div class="form-group w-100">
<label class="form-control-label" for="field_minDiasEncuesta">Cantidad mínima</label>
<input
type="number"
class="form-control"
@ -79,59 +69,72 @@
</small>
<small
class="form-text text-danger"
[hidden]="!editForm.get('minDiasEncuesta')?.errors?.number"
jhiTranslate="entity.validation.number"
[hidden]="!editForm.get('minDiasEncuesta')?.errors?.pattern"
jhiTranslate="entity.validation.integerNumber"
>
This field should be a number.
</small>
</div>
</div>
<div class="form-group">
<label
class="form-control-label"
jhiTranslate="dataSurveyApp.parametroAplicacion.maxCantidadPreguntas"
for="field_maxCantidadPreguntas"
>Max Cantidad Preguntas</label
>
<input
type="number"
class="form-control"
name="maxCantidadPreguntas"
id="field_maxCantidadPreguntas"
data-cy="maxCantidadPreguntas"
formControlName="maxCantidadPreguntas"
/>
<div
*ngIf="
editForm.get('maxCantidadPreguntas')!.invalid &&
(editForm.get('maxCantidadPreguntas')!.dirty || editForm.get('maxCantidadPreguntas')!.touched)
"
>
<small
class="form-text text-danger"
*ngIf="editForm.get('maxCantidadPreguntas')?.errors?.required"
jhiTranslate="entity.validation.required"
>
This field is required.
</small>
<small
class="form-text text-danger"
[hidden]="!editForm.get('maxCantidadPreguntas')?.errors?.number"
jhiTranslate="entity.validation.number"
>
This field should be a number.
<small class="form-text text-danger" [hidden]="!editForm.get('minDiasEncuesta')?.errors?.min">
Este campo no puede ser mayor que 1
</small>
</div>
<div class="form-group w-100">
<label class="form-control-label" for="field_maxDiasEncuesta">Cantidad máxima</label>
<input
type="number"
class="form-control"
name="maxDiasEncuesta"
id="field_maxDiasEncuesta"
data-cy="maxDiasEncuesta"
formControlName="maxDiasEncuesta"
/>
<div
*ngIf="
editForm.get('maxDiasEncuesta')!.invalid &&
(editForm.get('maxDiasEncuesta')!.dirty || editForm.get('maxDiasEncuesta')!.touched)
"
>
<small
class="form-text text-danger"
*ngIf="editForm.get('maxDiasEncuesta')?.errors?.required"
jhiTranslate="entity.validation.required"
>
This field is required.
</small>
<small
class="form-text text-danger"
[hidden]="!editForm.get('maxDiasEncuesta')?.errors?.pattern"
jhiTranslate="entity.validation.integerNumber"
>
This field should be a number.
</small>
<small class="form-text text-danger" [hidden]="!editForm.get('maxDiasEncuesta')?.errors?.min">
Este campo no puede ser mayor que 1
</small>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="form-group">
<label
class="form-control-label"
jhiTranslate="dataSurveyApp.parametroAplicacion.minCantidadPreguntas"
for="field_minCantidadPreguntas"
>Min Cantidad Preguntas</label
>
<div class="row w-75 pb-lg-5 pr-lg-5 mb-5" style="border-bottom: 1px solid #e7ebf3">
<div class="col-lg-4 mr-lg-5">
<div class="row">
<div class="w-100">
<p class="ds-title">Edición Preguntas para Encuestas</p>
</div>
<div>
<p class="ds-subtitle">
Editar la cantidad mínima y máxima de las preguntas que se permitirán para la creación de las encuestas dentro de DataSurvey.
</p>
</div>
</div>
</div>
<div class="col-lg ml-lg-5 mr-lg-5 pr-lg-5">
<div class="row mb-2">
<div class="form-group w-100">
<label class="form-control-label" for="field_minCantidadPreguntas">Cantidad mínima</label>
<input
type="number"
class="form-control"
@ -155,169 +158,19 @@
</small>
<small
class="form-text text-danger"
[hidden]="!editForm.get('minCantidadPreguntas')?.errors?.number"
jhiTranslate="entity.validation.number"
[hidden]="!editForm.get('minCantidadPreguntas')?.errors?.pattern"
jhiTranslate="entity.validation.integerNumber"
>
This field should be a number.
</small>
<small class="form-text text-danger" [hidden]="!editForm.get('minCantidadPreguntas')?.errors?.min">
Este campo no puede ser mayor que 1
</small>
</div>
</div>
</div>
<div>
<button type="button" id="cancel-save" data-cy="entityCreateCancelButton" class="btn btn-secondary" (click)="previousState()">
<fa-icon icon="ban"></fa-icon>&nbsp;<span jhiTranslate="entity.action.cancel">Cancel</span>
</button>
<button
type="submit"
id="save-entity"
data-cy="entityCreateSaveButton"
[disabled]="editForm.invalid || isSaving"
class="btn btn-primary"
>
<fa-icon icon="save"></fa-icon>&nbsp;<span jhiTranslate="entity.action.save">Save</span>
</button>
</div>
</form>
</div>
</div>-->
<div class="row justify-content-center ds-form">
<div class="w-75 pb-lg-5 pr-lg-5 mb-5" style="border-bottom: 1px solid #e7ebf3">
<div class="col-lg-8 mr-lg-5">
<div class="row">
<div class="w-100">
<p class="ds-title">Parámetros de la aplicación</p>
</div>
<div>
<p class="ds-subtitle">
Parámetros necesarios para los datos mínimos y máximos que permitirá para las diferentes encuestas dentro de DataSurvey.
</p>
</div>
</div>
</div>
</div>
</div>
<jhi-alert-error></jhi-alert-error>
<jhi-alert></jhi-alert>
<!-- Form -->
<form
autocomplete="off"
class="ds-form col-lg ml-lg-5 mr-lg-5 pr-lg-5"
name="editForm"
role="form"
novalidate
(ngSubmit)="save()"
[formGroup]="editForm"
>
<div class="row justify-content-center info-parametros">
<div class="w-100">
<h4 class="text-dark text-center fw-bold">Edición Días para Encuestas</h4>
</div>
<div class="row w-100 pb-lg-2 mb-5 justify-content-center">
<div class="col-lg-4 mr-lg-5">
<div class="row">
<div class="form-group w-100">
<label class="form-control-label" for="field_minDiasEncuesta">Cantidad mínima</label>
<input
type="text"
class="form-control"
name="minDiasEncuesta"
id="field_minDiasEncuesta"
data-cy="minDiasEncuesta"
formControlName="minDiasEncuesta"
/>
<div
*ngIf="
editForm.get('minDiasEncuesta')!.invalid &&
(editForm.get('minDiasEncuesta')!.dirty || editForm.get('minDiasEncuesta')!.touched)
"
>
<small
class="form-text text-danger"
*ngIf="editForm.get('minDiasEncuesta')?.errors?.required"
jhiTranslate="entity.validation.required"
>
This field is required.
</small>
</div>
</div>
</div>
</div>
<div class="col-lg-4 mr-lg-5">
<div class="row">
<div class="form-group w-100">
<label class="form-control-label" for="field_maxDiasEncuesta">Cantidad máxima</label>
<input
type="text"
class="form-control"
name="maxDiasEncuesta"
id="field_maxDiasEncuesta"
data-cy="maxDiasEncuesta"
formControlName="maxDiasEncuesta"
/>
<div
*ngIf="
editForm.get('maxDiasEncuesta')!.invalid &&
(editForm.get('maxDiasEncuesta')!.dirty || editForm.get('maxDiasEncuesta')!.touched)
"
>
<small
class="form-text text-danger"
*ngIf="editForm.get('maxDiasEncuesta')?.errors?.required"
jhiTranslate="entity.validation.required"
>
This field is required.
</small>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row justify-content-center info-parametros">
<div class="w-100">
<h4 class="text-dark text-center fw-bold">Edición Preguntas para Encuestas</h4>
</div>
<div class="row w-100 pb-lg-2 mb-5 justify-content-center">
<div class="col-lg-4 mr-lg-5">
<div class="row">
<div class="form-group w-100">
<label class="form-control-label" for="field_minCantidadPreguntas">Cantidad mínima</label>
<input
type="text"
class="form-control"
name="minCantidadPreguntas"
id="field_minCantidadPreguntas"
data-cy="minCantidadPreguntas"
formControlName="minCantidadPreguntas"
/>
<div
*ngIf="
editForm.get('minCantidadPreguntas')!.invalid &&
(editForm.get('minCantidadPreguntas')!.dirty || editForm.get('minCantidadPreguntas')!.touched)
"
>
<small
class="form-text text-danger"
*ngIf="editForm.get('minCantidadPreguntas')?.errors?.required"
jhiTranslate="entity.validation.required"
>
This field is required.
</small>
</div>
</div>
</div>
</div>
<div class="col-lg-4 mr-lg-5">
<div class="row">
<div class="form-group w-100">
<label class="form-control-label" for="field_maxCantidadPreguntas">Cantidad máxima</label>
<input
type="text"
type="number"
class="form-control"
name="maxCantidadPreguntas"
id="field_maxCantidadPreguntas"
@ -337,25 +190,41 @@
>
This field is required.
</small>
<small
class="form-text text-danger"
[hidden]="!editForm.get('maxCantidadPreguntas')?.errors?.pattern"
jhiTranslate="entity.validation.integerNumber"
>
This field should be a integer number.
</small>
<small class="form-text text-danger" [hidden]="!editForm.get('minCantidadPreguntas')?.errors?.min">
Este campo no puede ser mayor que 1
</small>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<button type="button" id="cancel-save" data-cy="entityCreateCancelButton" class="ds-btn ds-btn--secondary" (click)="previousState()">
<fa-icon icon="arrow-left"></fa-icon>&nbsp;&nbsp;<span jhiTranslate="entity.action.cancel">Cancel</span>
</button>
<div class="row">
<button
type="button"
id="cancel-save"
data-cy="entityCreateCancelButton"
class="ds-btn ds-btn--secondary"
(click)="previousState()"
>
<fa-icon icon="arrow-left"></fa-icon>&nbsp;&nbsp;<span jhiTranslate="entity.action.cancel">Cancel</span>
</button>
<button
type="submit"
id="save-entity"
data-cy="entityCreateSaveButton"
[disabled]="editForm.invalid || isSaving"
class="ds-btn ds-btn--primary"
>
&nbsp;<span jhiTranslate="entity.action.save">Save</span>
</button>
<button
type="submit"
id="save-entity"
data-cy="entityCreateSaveButton"
[disabled]="editForm.invalid || isSaving"
class="ds-btn ds-btn--primary"
>
&nbsp;<span jhiTranslate="entity.action.save">Save</span>
</button>
</div>
</div>
</div>
</form>

View File

@ -7,3 +7,7 @@ info-parametros {
font-weight: 700;
font-size: 1.3rem;
}
.form-control {
margin-bottom: 20px;
}

View File

@ -15,13 +15,19 @@ import { ParametroAplicacionService } from '../service/parametro-aplicacion.serv
})
export class ParametroAplicacionUpdateComponent implements OnInit {
isSaving = false;
minDiasIncorrect = false;
minPreguntasIncorrect = false;
notNumbers = false;
notPositive = false;
error = false;
success = false;
editForm = this.fb.group({
id: [],
maxDiasEncuesta: [null, [Validators.required]],
minDiasEncuesta: [null, [Validators.required]],
maxCantidadPreguntas: [null, [Validators.required]],
minCantidadPreguntas: [null, [Validators.required]],
maxDiasEncuesta: [null, [Validators.required, Validators.pattern(/^[0-9]\d*$/), Validators.min(1)]],
minDiasEncuesta: [null, [Validators.required, Validators.pattern(/^[0-9]\d*$/), Validators.min(1)]],
maxCantidadPreguntas: [null, [Validators.required, Validators.pattern(/^[0-9]\d*$/), Validators.min(1)]],
minCantidadPreguntas: [null, [Validators.required, Validators.pattern(/^[0-9]\d*$/), Validators.min(1)]],
});
constructor(
@ -41,12 +47,37 @@ export class ParametroAplicacionUpdateComponent implements OnInit {
}
save(): void {
this.isSaving = true;
const parametroAplicacion = this.createFromForm();
if (parametroAplicacion.id !== undefined) {
this.subscribeToSaveResponse(this.parametroAplicacionService.update(parametroAplicacion));
this.minDiasIncorrect = false;
this.minPreguntasIncorrect = false;
this.notNumbers = false;
this.notPositive = false;
const minCantDias = this.editForm.get(['minDiasEncuesta'])!.value;
const maxCantDias = this.editForm.get(['maxDiasEncuesta'])!.value;
const minCantPreguntas = this.editForm.get(['minCantidadPreguntas'])!.value;
const maxCantPreguntas = this.editForm.get(['maxCantidadPreguntas'])!.value;
if (minCantDias > maxCantDias) {
this.minDiasIncorrect = true;
} else if (minCantPreguntas > maxCantPreguntas) {
this.minPreguntasIncorrect = true;
} else if (
!Number.isInteger(minCantDias) ||
!Number.isInteger(maxCantDias) ||
!Number.isInteger(minCantPreguntas) ||
!Number.isInteger(maxCantPreguntas)
) {
this.notNumbers = true;
} else if (minCantDias < 1 || maxCantDias < 1 || minCantPreguntas < 1 || maxCantPreguntas < 1) {
this.notPositive = true;
} else {
this.subscribeToSaveResponse(this.parametroAplicacionService.create(parametroAplicacion));
this.isSaving = true;
const parametroAplicacion = this.createFromForm();
if (parametroAplicacion.id !== undefined) {
this.subscribeToSaveResponse(this.parametroAplicacionService.update(parametroAplicacion));
} else {
this.subscribeToSaveResponse(this.parametroAplicacionService.create(parametroAplicacion));
}
}
}
@ -89,4 +120,6 @@ export class ParametroAplicacionUpdateComponent implements OnInit {
minCantidadPreguntas: this.editForm.get(['minCantidadPreguntas'])!.value,
};
}
private validations() {}
}

View File

@ -138,6 +138,7 @@
"maxbytes": "Este campo no puede tener más de {{max}} bytes.",
"pattern": "Este campo debe seguir el patrón {{pattern}}.",
"number": "Este campo debe ser un número.",
"integerNumber": "Este campo debe ser un número entero.",
"datetimelocal": "Este campo debe ser una fecha y hora."
}
},