From 3223c21138fe165b19eca7248d344d7034bd071b Mon Sep 17 00:00:00 2001 From: nevisson <nevisson@gmail.com> Date: Mon, 15 Jul 2019 19:01:11 -0300 Subject: [PATCH] Ajustes na tela de novas salas, desabilitando campos quando for Brasil. --- .../new-room-building.component.html | 14 ++++++--- .../new-room-building.component.ts | 31 +++++++++++++++++-- .../services/schools-staff.service.ts | 2 +- 3 files changed, 39 insertions(+), 8 deletions(-) diff --git a/src/app/simulator/quality-conditions/new-room-building/new-room-building.component.html b/src/app/simulator/quality-conditions/new-room-building/new-room-building.component.html index 8f3fc221..36c75fc7 100644 --- a/src/app/simulator/quality-conditions/new-room-building/new-room-building.component.html +++ b/src/app/simulator/quality-conditions/new-room-building/new-room-building.component.html @@ -44,7 +44,11 @@ </tr> <tr> <th rowspan="2">Demanda por construção</th> - <th *ngIf="!pqrMode" colspan="2">Quantidade</th> + <th *ngIf="!pqrMode" colspan="2"> + <span [class.projection-title]="disabledData" [popover]="popoverText" placement="bottom" + container="body" [triggers]="popoverTriggers" [isOpen]="disabledData" + containerClass="popover-simcaq result">Quantidade</span> + </th> <th rowspan="2">Dimensão m2</th> <th rowspan="2">Unidade de medida</th> <th *ngIf="!pqrMode" rowspan="2">Preço por m2</th> @@ -60,19 +64,19 @@ <ng-container *ngIf="!pqrMode"> <td *ngFor="let loc of room.numberDemandLocation"> <input type="text" class="form-control location" [(ngModel)]="loc.value" - [disabled]="!pqrAdminMode && pqrMode" currencyMask + [disabled]="disabledData" currencyMask [options]="{ prefix: '', align: 'right', precision: 0, thousands: '.', decimal: ',' }"> </td> </ng-container> <td> <input type="text" class="form-control dimension plan-value" [(ngModel)]="room.dimension" - [disabled]="!pqrAdminMode && pqrMode" currencyMask + [disabled]="processDisabledData(pqrAdminMode)" currencyMask [options]="{ prefix: '', align: 'right', precision: 2, thousands: '.', decimal: ',' }"> </td> <td class="unit-measurement-description">{{room.unitOfMeasurement.description}}</td> <td *ngIf="!pqrMode"> <input type="text" class="form-control unit-price plan-value" [(ngModel)]="room.unitPrice" - [disabled]="!pqrAdminMode && pqrMode" currencyMask + [disabled]="disabledData" currencyMask [options]="{ prefix: 'R$ ', align: 'right', precision: 2, thousands: '.', decimal: ',' }"> </td> <td *ngIf="!pqrMode">{{room.referenceDate}}</td> @@ -90,4 +94,4 @@ </div> </div> </div> -</div> \ No newline at end of file +</div> diff --git a/src/app/simulator/quality-conditions/new-room-building/new-room-building.component.ts b/src/app/simulator/quality-conditions/new-room-building/new-room-building.component.ts index 0cfb6177..1e876b8b 100644 --- a/src/app/simulator/quality-conditions/new-room-building/new-room-building.component.ts +++ b/src/app/simulator/quality-conditions/new-room-building/new-room-building.component.ts @@ -1,4 +1,4 @@ -import { Component, Injector, Type } from '@angular/core'; +import { Component, Injector, Type, OnInit } from '@angular/core'; import { Observable } from 'rxjs'; import { PqrComponentData } from '../../shared/entities/base/pqr-component-data'; @@ -18,7 +18,7 @@ import { SelectLocation } from '../../select-location/entities/select-location'; templateUrl: './new-room-building.component.html', styleUrls: ['./new-room-building.component.scss'] }) -export class NewRoomBuildingComponent extends BaseNavigableComponent<NewRoomsBuildings> implements PqrComponentData { +export class NewRoomBuildingComponent extends BaseNavigableComponent<NewRoomsBuildings> implements PqrComponentData, OnInit { data: NewRoomsBuildings = new NewRoomsBuildings(); functionality: FunctionalityInfo = Functionality.newRoomBuilding; @@ -29,6 +29,10 @@ export class NewRoomBuildingComponent extends BaseNavigableComponent<NewRoomsBui pqrModalMode: boolean; locationUrban: number = LocationEnum.urban; locationRural: number = LocationEnum.rural; + disabledData: boolean = true; + popoverTriggers: string; + popoverText: string = 'Esses parâmetros só podem ser alterados para simulações em nível municipal ou estadual. ' + + 'Para simulações em nível nacional, são apresentados resultados dos valores municipais agregados internamente pelo simulador.'; componentType: Type<PqrComponentData> = NewRoomBuildingComponent; referenceDateMask: any = this.utilitiesService.getReferenceDateMask(); @@ -37,6 +41,15 @@ export class NewRoomBuildingComponent extends BaseNavigableComponent<NewRoomsBui super(injector); } + ngOnInit(): void { + super.ngOnInit(); + this.disabledData = this.processDisabledData(); + + if (this.disabledData) { + this.popoverTriggers = 'mouseenter:mouseleave'; + } + } + processData(): Observable<NewRoomsBuildings> { return this.newRoomBuildingService.getData(); } @@ -124,4 +137,18 @@ export class NewRoomBuildingComponent extends BaseNavigableComponent<NewRoomsBui })); } } + + processDisabledData(pqrAdminMode: boolean = false): boolean { + + if (pqrAdminMode) { + return false; + } else { + if (!(!this.pqrAdminMode && this.pqrMode)) { + const selectLocationData: SelectLocation = this.sessionService.getItem<SelectLocation>(Functionality.selectLocation.key); + return this.disabledData = !selectLocationData || !(selectLocationData.selectedCity || selectLocationData.selectedState); + } else { + return !this.pqrAdminMode && this.pqrMode; + } + } + } } diff --git a/src/app/simulator/quality-conditions/schools-staff/services/schools-staff.service.ts b/src/app/simulator/quality-conditions/schools-staff/services/schools-staff.service.ts index a4f820c5..228bd95e 100644 --- a/src/app/simulator/quality-conditions/schools-staff/services/schools-staff.service.ts +++ b/src/app/simulator/quality-conditions/schools-staff/services/schools-staff.service.ts @@ -1,4 +1,3 @@ -import { Footnote } from './../../../../shared/components/footnote/entities/footnote'; import { Injectable } from '@angular/core'; import { Observable, of } from 'rxjs'; @@ -10,6 +9,7 @@ import { SchoolStaff } from '../entities/school-staff'; import { SchoolsStaff } from '../entities/schools-staff'; import { NavigableComponentService } from '../../../shared/entities/base/navigable-component-service'; import { CurrentYearService } from '../../../shared/services/current-year/current-year.service'; +import { Footnote } from './../../../../shared/components/footnote/entities/footnote'; @Injectable({ providedIn: 'root' -- GitLab