diff --git a/src/app/indexed-db/db-changes.service.ts b/src/app/indexed-db/db-changes.service.ts index c5d723e4..bfeab133 100644 --- a/src/app/indexed-db/db-changes.service.ts +++ b/src/app/indexed-db/db-changes.service.ts @@ -154,13 +154,15 @@ export class DbChangesService { //update on site visits let onSiteVisits: Array = this.onSiteVisitIdbService.onSiteVisits.getValue(); - let assessmentOnSiteVisits: Array = onSiteVisits.filter(onSiteVisit => { return onSiteVisit.assessmentIds.includes(assessment.guid) }); - if (assessmentOnSiteVisits.length > 0) { - for (let i = 0; i < assessmentOnSiteVisits.length; i++) { - assessmentOnSiteVisits[i].assessmentIds = assessmentOnSiteVisits[i].assessmentIds.filter(assessmentId => { return assessmentId != assessment.guid }); - await firstValueFrom(this.onSiteVisitIdbService.updateWithObservable(assessmentOnSiteVisits[i])); - } + let assessmentOnSiteVisit: IdbOnSiteVisit = onSiteVisits.find(onSiteVisit => { return onSiteVisit.assessmentIds.includes(assessment.guid) }); + if (assessmentOnSiteVisit) { + assessmentOnSiteVisit.assessmentIds = assessmentOnSiteVisit.assessmentIds.filter(assessmentId => { return assessmentId != assessment.guid }); + await firstValueFrom(this.onSiteVisitIdbService.updateWithObservable(assessmentOnSiteVisit)); await this.onSiteVisitIdbService.setOnSiteVisits(); + let selectedOnSiteVisit: IdbOnSiteVisit = this.onSiteVisitIdbService.selectedVisit.getValue(); + if (selectedOnSiteVisit && selectedOnSiteVisit.guid == assessmentOnSiteVisit.guid) { + this.onSiteVisitIdbService.selectedVisit.next(assessmentOnSiteVisit); + } } //delete assessment diff --git a/src/app/indexed-db/key-performance-indicators-idb.service.ts b/src/app/indexed-db/key-performance-indicators-idb.service.ts index 0271bdee..bf1ab545 100644 --- a/src/app/indexed-db/key-performance-indicators-idb.service.ts +++ b/src/app/indexed-db/key-performance-indicators-idb.service.ts @@ -121,4 +121,12 @@ export class KeyPerformanceIndicatorsIdbService { } return addedMetric; } + + getByFacilityGuid(facilityGuid: string): Array { + let keyPerformanceIndicators: Array = this.keyPerformanceIndicators.getValue(); + let facilityKPIs: Array = keyPerformanceIndicators.filter(kpi => { + return kpi.facilityId == facilityGuid; + }); + return facilityKPIs; + } } diff --git a/src/app/models/assessment.ts b/src/app/models/assessment.ts index 6c8edf81..3c967d22 100644 --- a/src/app/models/assessment.ts +++ b/src/app/models/assessment.ts @@ -20,7 +20,8 @@ export interface IdbAssessment extends IdbEntry { costSavings: number, visitDate: Date, notes: string, - implementationCost: number + implementationCost: number, + sidebarOpen: boolean } const defaultAssessmentType: AssessmentType = "Pump"; @@ -46,6 +47,7 @@ export function getNewIdbAssessment(userId: string, companyId: string, facilityI costSavings: 0, notes: undefined, visitDate: undefined, - implementationCost: 0 + implementationCost: 0, + sidebarOpen: false } } \ No newline at end of file diff --git a/src/app/models/company.ts b/src/app/models/company.ts index 15f10083..41bd6289 100644 --- a/src/app/models/company.ts +++ b/src/app/models/company.ts @@ -7,6 +7,8 @@ export interface IdbCompany extends IdbEntry { generalInformation: GeneralInformation, displayFacilities: boolean, companyEnergyUnit: string, + sidebarOpen: boolean, + sidebarContactsOpen: boolean } export function getNewIdbCompany(userId: string): IdbCompany { @@ -18,6 +20,8 @@ export function getNewIdbCompany(userId: string): IdbCompany { generalInformation: generalInformation, displayFacilities: true, companyEnergyUnit: 'MMBtu', + sidebarOpen: true, + sidebarContactsOpen: false } } diff --git a/src/app/models/facility.ts b/src/app/models/facility.ts index c816de42..36cecad7 100644 --- a/src/app/models/facility.ts +++ b/src/app/models/facility.ts @@ -10,6 +10,11 @@ export interface IdbFacility extends IdbEntry { generalInformation: GeneralInformation, energyUse: number, cost: number, + sidebarOpen: boolean, + sidebarKPIsOpen: boolean, + sidebarSystemInventoryOpen: boolean, + sidebarEndUseInventoryOpen: boolean, + sidebarPreAssessmentOpen: boolean } export function getNewIdbFacility(userId: string, companyId: string): IdbFacility { @@ -24,5 +29,10 @@ export function getNewIdbFacility(userId: string, companyId: string): IdbFacilit generalInformation: generalInformation, energyUse: 0, cost: 0, + sidebarOpen: true, + sidebarKPIsOpen: false, + sidebarSystemInventoryOpen: false, + sidebarEndUseInventoryOpen: false, + sidebarPreAssessmentOpen: false } } diff --git a/src/app/routing/setup-wizard.routes.ts b/src/app/routing/setup-wizard.routes.ts index 9bf7166a..e6158d06 100644 --- a/src/app/routing/setup-wizard.routes.ts +++ b/src/app/routing/setup-wizard.routes.ts @@ -3,11 +3,7 @@ import { SetupWizardComponent } from "../setup-wizard/setup-wizard.component"; import { PreVisitComponent } from "../setup-wizard/pre-visit/pre-visit.component"; import { CompanySetupComponent } from "../setup-wizard/pre-visit/company-setup/company-setup.component"; import { CanDeactivateGuard } from "../guards/can-deactivate.guard"; -import { CompanyContactsSetupComponent } from "../setup-wizard/pre-visit/company-contacts-setup/company-contacts-setup.component"; import { FacilitySetupComponent } from "../setup-wizard/pre-visit/facility-setup/facility-setup.component"; -import { FacilityEnergyEquipmentSetupComponent } from "../setup-wizard/pre-visit/facility-energy-equipment-setup/facility-energy-equipment-setup.component"; -import { FacilityProcessEquipmentSetupComponent } from "../setup-wizard/pre-visit/facility-process-equipment-setup/facility-process-equipment-setup.component"; -import { PreAssessmentSetupComponent } from "../setup-wizard/pre-visit/pre-assessment-setup/pre-assessment-setup.component"; import { ReviewPreVisitSetupComponent } from "../setup-wizard/pre-visit/review-pre-visit-setup/review-pre-visit-setup.component"; import { DataCollectionComponent } from "../setup-wizard/data-collection/data-collection.component"; import { DataCollectionManageAssessmentsComponent } from "../setup-wizard/data-collection/data-collection-manage-assessments/data-collection-manage-assessments.component"; @@ -23,6 +19,14 @@ import { AssessmentDetailsFormComponent } from "../shared/shared-assessment-form import { AssessmentEnergyOpportunitiesFormComponent } from "../setup-wizard/data-collection/on-site-assessment/assessment-energy-opportunities-form/assessment-energy-opportunities-form.component"; import { FacilityKpiSelectComponent } from "../setup-wizard/pre-visit/facility-kpi-select/facility-kpi-select.component"; import { FacilityKpiDetailsComponent } from "../setup-wizard/pre-visit/facility-kpi-details/facility-kpi-details.component"; +import { ManageCompanyContactsComponent } from "../setup-wizard/pre-visit/company-contacts/manage-company-contacts/manage-company-contacts.component"; +import { CompanyContactDetailsFormComponent } from "../setup-wizard/pre-visit/company-contacts/company-contact-details-form/company-contact-details-form.component"; +import { ManageEnergyEquipmentComponent } from "../setup-wizard/pre-visit/facility-energy-equipment/manage-energy-equipment/manage-energy-equipment.component"; +import { FacilityEnergyEquipmentFormComponent } from "../setup-wizard/pre-visit/facility-energy-equipment/facility-energy-equipment-form/facility-energy-equipment-form.component"; +import { ManageProcessEquipmentComponent } from "../setup-wizard/pre-visit/facility-process-equipment/manage-process-equipment/manage-process-equipment.component"; +import { FacilityProcessEquipmentFormComponent } from "../setup-wizard/pre-visit/facility-process-equipment/facility-process-equipment-form/facility-process-equipment-form.component"; +import { PreAssessmentFormComponent } from "../setup-wizard/pre-visit/pre-assessments/pre-assessment-form/pre-assessment-form.component"; +import { ManagePreAssessmentsComponent } from "../setup-wizard/pre-visit/pre-assessments/manage-pre-assessments/manage-pre-assessments.component"; export const SetupWizardRoutes: Route = { @@ -44,16 +48,21 @@ export const SetupWizardRoutes: Route = { canDeactivate: [CanDeactivateGuard] }, { - path: 'kpi-select', + path: 'facility-kpi-select', component: FacilityKpiSelectComponent }, { - path: 'kpi-detail/:id', + path: 'facility-kpi-detail/:id', component: FacilityKpiDetailsComponent }, { path: 'company-contacts', - component: CompanyContactsSetupComponent, + component: ManageCompanyContactsComponent, + // canDeactivate: [CanDeactivateGuard] + }, + { + path: 'company-contacts/:id', + component: CompanyContactDetailsFormComponent, canDeactivate: [CanDeactivateGuard] }, { @@ -62,16 +71,31 @@ export const SetupWizardRoutes: Route = { canDeactivate: [CanDeactivateGuard] }, { - path: 'energy-equipment', - component: FacilityEnergyEquipmentSetupComponent + path: 'facility-energy-equipment', + component: ManageEnergyEquipmentComponent + }, + { + path: 'facility-energy-equipment/:id', + component: FacilityEnergyEquipmentFormComponent, + canDeactivate: [CanDeactivateGuard] }, { - path: 'end-uses', - component: FacilityProcessEquipmentSetupComponent + path: 'facility-end-uses', + component: ManageProcessEquipmentComponent }, { - path: 'pre-assessment', - component: PreAssessmentSetupComponent + path: 'facility-end-uses/:id', + component: FacilityProcessEquipmentFormComponent, + canDeactivate: [CanDeactivateGuard] + }, + { + path: 'facility-pre-assessment', + component: ManagePreAssessmentsComponent + }, + { + path: 'facility-pre-assessment/:id', + component: PreAssessmentFormComponent, + canDeactivate: [CanDeactivateGuard] }, { path: 'review-pre-visit', diff --git a/src/app/setup-wizard/data-collection/data-collection-manage-assessments/data-collection-manage-assessments.component.html b/src/app/setup-wizard/data-collection/data-collection-manage-assessments/data-collection-manage-assessments.component.html index 37641c5f..b0e66ee4 100644 --- a/src/app/setup-wizard/data-collection/data-collection-manage-assessments/data-collection-manage-assessments.component.html +++ b/src/app/setup-wizard/data-collection/data-collection-manage-assessments/data-collection-manage-assessments.component.html @@ -3,7 +3,7 @@
- Manage Assessments + Manage Assessments

diff --git a/src/app/setup-wizard/data-collection/data-collection-manage-assessments/data-collection-manage-assessments.component.ts b/src/app/setup-wizard/data-collection/data-collection-manage-assessments/data-collection-manage-assessments.component.ts index 835f122b..9f91aff5 100644 --- a/src/app/setup-wizard/data-collection/data-collection-manage-assessments/data-collection-manage-assessments.component.ts +++ b/src/app/setup-wizard/data-collection/data-collection-manage-assessments/data-collection-manage-assessments.component.ts @@ -1,6 +1,6 @@ import { Component } from '@angular/core'; import { Router } from '@angular/router'; -import { IconDefinition, faChevronLeft, faChevronRight, faPlus, faScrewdriverWrench, faToolbox, faTrash } from '@fortawesome/free-solid-svg-icons'; +import { IconDefinition, faChevronLeft, faChevronRight, faList, faPlus, faScrewdriverWrench, faToolbox, faTrash } from '@fortawesome/free-solid-svg-icons'; import { Subscription, firstValueFrom } from 'rxjs'; import { AssessmentIdbService } from 'src/app/indexed-db/assessment-idb.service'; import { DbChangesService } from 'src/app/indexed-db/db-changes.service'; @@ -16,7 +16,7 @@ import { IdbOnSiteVisit } from 'src/app/models/onSiteVisit'; }) export class DataCollectionManageAssessmentsComponent { - faToolbox: IconDefinition = faToolbox; + faList: IconDefinition = faList; faChevronRight: IconDefinition = faChevronRight; faChevronLeft: IconDefinition = faChevronLeft; faPlus: IconDefinition = faPlus; @@ -69,10 +69,12 @@ export class DataCollectionManageAssessmentsComponent { this.facilityIdbService.getByGUID(this.onSiteVisit.facilityId).unitSettings ); assessment.visitDate = this.onSiteVisit.visitDate; + assessment.sidebarOpen = true; await firstValueFrom(this.assessmentIdbService.addWithObservable(assessment)); await this.assessmentIdbService.setAssessments(); this.onSiteVisit.assessmentIds.push(assessment.guid); await this.onSiteVisitIdbService.asyncUpdate(this.onSiteVisit); + this.goToAssessment(assessment.guid); } diff --git a/src/app/setup-wizard/data-collection/on-site-assessment/on-site-assessment.component.css b/src/app/setup-wizard/data-collection/on-site-assessment/on-site-assessment.component.css index ed46499d..2303a9dd 100644 --- a/src/app/setup-wizard/data-collection/on-site-assessment/on-site-assessment.component.css +++ b/src/app/setup-wizard/data-collection/on-site-assessment/on-site-assessment.component.css @@ -8,5 +8,21 @@ .navbar{ padding-bottom: 0px; - border-bottom: 1px #0079c2 solid; + border-bottom: 1px var(--portfolio-nav-color) solid; +} + +nav.navbar .nav.nav-tabs .nav-item .nav-link{ + border-color: var(--portfolio-nav-color); + color: var(--portfolio-nav-color); +} + + +nav.navbar .nav.nav-tabs .nav-item .nav-link.active { + background-color: var(--portfolio-nav-color); + color: white; + border-bottom-color: black; +} +nav.navbar .nav.nav-tabs .nav-item .nav-link:hover { + background-color: #8DABBE; + color: black; } \ No newline at end of file diff --git a/src/app/setup-wizard/data-collection/on-site-assessment/on-site-assessment.component.html b/src/app/setup-wizard/data-collection/on-site-assessment/on-site-assessment.component.html index 58739859..f6f6a84d 100644 --- a/src/app/setup-wizard/data-collection/on-site-assessment/on-site-assessment.component.html +++ b/src/app/setup-wizard/data-collection/on-site-assessment/on-site-assessment.component.html @@ -13,6 +13,7 @@
*ngIf="assessment.assessmentType">{{assessment.assessmentType}}
+