diff --git a/src/app/setup-wizard/data-collection/on-site-assessment/assessment-nebs-form/assessment-nebs-form.component.html b/src/app/setup-wizard/data-collection/on-site-assessment/assessment-nebs-form/assessment-nebs-form.component.html
index 1045a689..f40772a2 100644
--- a/src/app/setup-wizard/data-collection/on-site-assessment/assessment-nebs-form/assessment-nebs-form.component.html
+++ b/src/app/setup-wizard/data-collection/on-site-assessment/assessment-nebs-form/assessment-nebs-form.component.html
@@ -24,9 +24,14 @@
- Use the " Add NEB" dropdown to add Non-Energy Benefits
- () that are
- not associated with any specific energy efficiency opportunity to this assessment .
+ Use the " Add NEB" dropdown to add Non-Energy Benefits
+ () that
+ are not associated with any specific energy efficiency opportunity to this assessment.
-
\ No newline at end of file
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/app/setup-wizard/data-collection/on-site-assessment/assessment-nebs-form/energy-opportunity-nebs-table/energy-opportunity-nebs-list.pipe.spec.ts b/src/app/setup-wizard/data-collection/on-site-assessment/assessment-nebs-form/energy-opportunity-nebs-table/energy-opportunity-nebs-list.pipe.spec.ts
new file mode 100644
index 00000000..d68e7086
--- /dev/null
+++ b/src/app/setup-wizard/data-collection/on-site-assessment/assessment-nebs-form/energy-opportunity-nebs-table/energy-opportunity-nebs-list.pipe.spec.ts
@@ -0,0 +1,8 @@
+import { EnergyOpportunityNebsListPipe } from './energy-opportunity-nebs-list.pipe';
+
+describe('EnergyOpportunityNebsListPipe', () => {
+ it('create an instance', () => {
+ const pipe = new EnergyOpportunityNebsListPipe();
+ expect(pipe).toBeTruthy();
+ });
+});
diff --git a/src/app/setup-wizard/data-collection/on-site-assessment/assessment-nebs-form/energy-opportunity-nebs-table/energy-opportunity-nebs-list.pipe.ts b/src/app/setup-wizard/data-collection/on-site-assessment/assessment-nebs-form/energy-opportunity-nebs-table/energy-opportunity-nebs-list.pipe.ts
new file mode 100644
index 00000000..e7820c49
--- /dev/null
+++ b/src/app/setup-wizard/data-collection/on-site-assessment/assessment-nebs-form/energy-opportunity-nebs-table/energy-opportunity-nebs-list.pipe.ts
@@ -0,0 +1,36 @@
+import { Pipe, PipeTransform } from '@angular/core';
+import { IdbEnergyOpportunity } from 'src/app/models/energyOpportunity';
+import { IdbNonEnergyBenefit } from 'src/app/models/nonEnergyBenefit';
+
+@Pipe({
+ name: 'energyOpportunityNebsList'
+})
+export class EnergyOpportunityNebsListPipe implements PipeTransform {
+
+ transform(assessmentId: string, energyOpportunities: Array, nonEnergyBenefits: Array): Array<{
+ energyOpportunity: IdbEnergyOpportunity,
+ opportunityNebs: Array
+ }> {
+ let energyOpportunityNebs: Array<{
+ energyOpportunity: IdbEnergyOpportunity,
+ opportunityNebs: Array
+ }> = new Array();
+
+ energyOpportunities.forEach(opportunity => {
+ if (opportunity.assessmentId == assessmentId) {
+ let opportunityNebs: Array = nonEnergyBenefits.filter(neb => {
+ return neb.energyOpportunityId == opportunity.guid
+ });
+ if (opportunityNebs.length > 0) {
+ energyOpportunityNebs.push({
+ energyOpportunity: opportunity,
+ opportunityNebs: opportunityNebs
+ });
+ }
+ }
+ });
+
+ return energyOpportunityNebs;
+ }
+
+}
diff --git a/src/app/setup-wizard/data-collection/on-site-assessment/assessment-nebs-form/energy-opportunity-nebs-table/energy-opportunity-nebs-table.component.css b/src/app/setup-wizard/data-collection/on-site-assessment/assessment-nebs-form/energy-opportunity-nebs-table/energy-opportunity-nebs-table.component.css
new file mode 100644
index 00000000..e69de29b
diff --git a/src/app/setup-wizard/data-collection/on-site-assessment/assessment-nebs-form/energy-opportunity-nebs-table/energy-opportunity-nebs-table.component.html b/src/app/setup-wizard/data-collection/on-site-assessment/assessment-nebs-form/energy-opportunity-nebs-table/energy-opportunity-nebs-table.component.html
new file mode 100644
index 00000000..1ccb1cc6
--- /dev/null
+++ b/src/app/setup-wizard/data-collection/on-site-assessment/assessment-nebs-form/energy-opportunity-nebs-table/energy-opportunity-nebs-table.component.html
@@ -0,0 +1,30 @@
+ 0">
+
+
+ Energy Efficiency Opportunity NEBs
+
+
+
+ Below are the Non-Energy Benefits added to "{{assessment.name}}" that are associated with
+ specific energy efficiency opportunities.
+
+
+
+
+
+
+
+ {{energyOpportunityNebs.energyOpportunity.name}}
+ |
+
+
+
+
+ {{neb.name}}
+ |
+
+
+
+
+
\ No newline at end of file
diff --git a/src/app/setup-wizard/data-collection/on-site-assessment/assessment-nebs-form/energy-opportunity-nebs-table/energy-opportunity-nebs-table.component.spec.ts b/src/app/setup-wizard/data-collection/on-site-assessment/assessment-nebs-form/energy-opportunity-nebs-table/energy-opportunity-nebs-table.component.spec.ts
new file mode 100644
index 00000000..6d3d5375
--- /dev/null
+++ b/src/app/setup-wizard/data-collection/on-site-assessment/assessment-nebs-form/energy-opportunity-nebs-table/energy-opportunity-nebs-table.component.spec.ts
@@ -0,0 +1,23 @@
+import { ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { EnergyOpportunityNebsTableComponent } from './energy-opportunity-nebs-table.component';
+
+describe('EnergyOpportunityNebsTableComponent', () => {
+ let component: EnergyOpportunityNebsTableComponent;
+ let fixture: ComponentFixture;
+
+ beforeEach(async () => {
+ await TestBed.configureTestingModule({
+ declarations: [EnergyOpportunityNebsTableComponent]
+ })
+ .compileComponents();
+
+ fixture = TestBed.createComponent(EnergyOpportunityNebsTableComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/src/app/setup-wizard/data-collection/on-site-assessment/assessment-nebs-form/energy-opportunity-nebs-table/energy-opportunity-nebs-table.component.ts b/src/app/setup-wizard/data-collection/on-site-assessment/assessment-nebs-form/energy-opportunity-nebs-table/energy-opportunity-nebs-table.component.ts
new file mode 100644
index 00000000..5c5fc235
--- /dev/null
+++ b/src/app/setup-wizard/data-collection/on-site-assessment/assessment-nebs-form/energy-opportunity-nebs-table/energy-opportunity-nebs-table.component.ts
@@ -0,0 +1,50 @@
+import { Component, Input } from '@angular/core';
+import { faFileLines, faWeightHanging, IconDefinition } from '@fortawesome/free-solid-svg-icons';
+import { Subscription } from 'rxjs';
+import { EnergyOpportunityIdbService } from 'src/app/indexed-db/energy-opportunity-idb.service';
+import { NonEnergyBenefitsIdbService } from 'src/app/indexed-db/non-energy-benefits-idb.service';
+import { IdbAssessment } from 'src/app/models/assessment';
+import { IdbEnergyOpportunity } from 'src/app/models/energyOpportunity';
+import { IdbNonEnergyBenefit } from 'src/app/models/nonEnergyBenefit';
+
+@Component({
+ selector: 'app-energy-opportunity-nebs-table',
+ templateUrl: './energy-opportunity-nebs-table.component.html',
+ styleUrl: './energy-opportunity-nebs-table.component.css'
+})
+export class EnergyOpportunityNebsTableComponent {
+ @Input({required: true})
+ assessment: IdbAssessment;
+
+ faFileLines: IconDefinition = faFileLines;
+ faWeightHanging: IconDefinition = faWeightHanging;
+
+ energyOpportunities: Array;
+ energyOpportunitiesSub: Subscription;
+
+ nonEnergyBenefits: Array;
+ nonEnergyBenefitsSub: Subscription;
+
+
+ constructor(
+ private nonEnergyBenefitsIdbService: NonEnergyBenefitsIdbService,
+ private energyOpportunityIdbService: EnergyOpportunityIdbService
+ ){
+
+ }
+
+ ngOnInit(){
+ this.nonEnergyBenefitsSub = this.nonEnergyBenefitsIdbService.nonEnergyBenefits.subscribe(_nonEnergyBenefits => {
+ this.nonEnergyBenefits = _nonEnergyBenefits;
+ });
+
+ this.energyOpportunitiesSub = this.energyOpportunityIdbService.energyOpportunities.subscribe(_energyOpps => {
+ this.energyOpportunities = _energyOpps;
+ });
+ }
+
+ ngOnDestroy(){
+ this.nonEnergyBenefitsSub.unsubscribe();
+ this.energyOpportunitiesSub.unsubscribe();
+ }
+}
diff --git a/src/app/setup-wizard/setup-wizard.module.ts b/src/app/setup-wizard/setup-wizard.module.ts
index 28ba5857..cdfbfa5a 100644
--- a/src/app/setup-wizard/setup-wizard.module.ts
+++ b/src/app/setup-wizard/setup-wizard.module.ts
@@ -56,6 +56,8 @@ import { PerformanceMetricsModalComponent } from './data-collection/on-site-asse
import { MetricOptionsModalListPipe } from './data-collection/on-site-assessment/neb-forms-accordion/neb-setup-form/performance-metrics-modal/metric-options-modal-list.pipe';
import { AssociatedMetricIndicatorPipe } from './data-collection/on-site-assessment/neb-forms-accordion/neb-setup-form/performance-metrics-modal/associated-metric-indicator.pipe';
import { KpmImpactsTableComponent } from './pre-visit/company-kpi-details/kpm-impacts-table/kpm-impacts-table.component';
+import { EnergyOpportunityNebsTableComponent } from './data-collection/on-site-assessment/assessment-nebs-form/energy-opportunity-nebs-table/energy-opportunity-nebs-table.component';
+import { EnergyOpportunityNebsListPipe } from './data-collection/on-site-assessment/assessment-nebs-form/energy-opportunity-nebs-table/energy-opportunity-nebs-list.pipe';
@NgModule({
declarations: [
@@ -105,7 +107,9 @@ import { KpmImpactsTableComponent } from './pre-visit/company-kpi-details/kpm-im
PerformanceMetricsModalComponent,
MetricOptionsModalListPipe,
AssociatedMetricIndicatorPipe,
- KpmImpactsTableComponent
+ KpmImpactsTableComponent,
+ EnergyOpportunityNebsTableComponent,
+ EnergyOpportunityNebsListPipe
],
imports: [
CommonModule,