hook up contact and provider components to record service
authorGalen Charlton <gmc@equinoxinitiative.org>
Fri, 20 Mar 2020 18:25:49 +0000 (14:25 -0400)
committerGalen Charlton <gmc@equinoxinitiative.org>
Fri, 20 Mar 2020 18:25:49 +0000 (14:25 -0400)
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Open-ILS/src/eg2/src/app/staff/acq/provider/acq-provider.module.ts
Open-ILS/src/eg2/src/app/staff/acq/provider/provider-addresses.component.ts
Open-ILS/src/eg2/src/app/staff/acq/provider/provider-contacts.component.ts

index bb6decc..6073596 100644 (file)
@@ -5,6 +5,8 @@ import {AcqProviderComponent} from './acq-provider.component';
 import {AcqProviderSearchFormComponent} from './acq-provider-search-form.component';
 import {AcqProviderSummaryPaneComponent} from './summary-pane.component';
 import {ProviderResultsComponent} from './provider-results.component';
+import {ProviderAddressesComponent} from './provider-addresses.component';
+import {ProviderContactsComponent} from './provider-contacts.component';
 import {OrgFamilySelectModule} from '@eg/share/org-family-select/org-family-select.module';
 import {ProviderRecordService} from './provider-record.service';
 
@@ -14,6 +16,8 @@ import {ProviderRecordService} from './provider-record.service';
     AcqProviderSearchFormComponent,
     AcqProviderSummaryPaneComponent,
     ProviderResultsComponent,
+    ProviderAddressesComponent,
+    ProviderContactsComponent,
     AcqProviderSummaryPaneComponent
   ],
   imports: [
index b48a0eb..5c8b287 100644 (file)
@@ -1,5 +1,5 @@
 import {Component, OnInit, Input, ViewChild} from '@angular/core';
-import {empty, throwError, Observable} from 'rxjs';
+import {empty, throwError, Observable, from} from 'rxjs';
 import {map} from 'rxjs/operators';
 import {Router, ActivatedRoute, ParamMap} from '@angular/router';
 import {Pager} from '@eg/share/util/pager';
@@ -8,30 +8,29 @@ import {NetService} from '@eg/core/net.service';
 import {AuthService} from '@eg/core/auth.service';
 import {GridComponent} from '@eg/share/grid/grid.component';
 import {GridDataSource, GridCellTextGenerator} from '@eg/share/grid/grid';
-// ??? import {AcqProviderStateService} from './acq-provider-search.service';
+import {ProviderRecord, ProviderRecordService} from './provider-record.service';
 import {AcqProviderSearchFormComponent} from './acq-provider-search-form.component';
 
 @Component({
   selector: 'eg-provider-addresses',
   templateUrl: 'provider-addresses.component.html',
-  providers: [AcqProviderStateService]
 })
-export class ProviderResultsComponent implements OnInit {
+export class ProviderAddressesComponent implements OnInit {
 
-    @Input() provider: any;
     addresses: any[] = [];
 
     gridSource: GridDataSource;
     @ViewChild('acqProviderAddressesGrid', { static: true }) providerAddressesGrid: GridComponent;
 
     cellTextGenerator: GridCellTextGenerator;
+    provider: IdlObject;
 
     constructor(
         private router: Router,
         private route: ActivatedRoute,
         private net: NetService,
         private auth: AuthService,
-        private providerState: AcqProviderStateService) {
+        private providerRecord: ProviderRecordService) {
     }
 
     ngOnInit() {
@@ -43,6 +42,10 @@ export class ProviderResultsComponent implements OnInit {
         const gridSource = new GridDataSource();
 
         gridSource.getRows = (pager: Pager, sort: any[]) => {
+            this.provider = this.providerRecord.current();
+            if (!this.provider) {
+                return empty();
+            }
             let addresses = this.provider.addresses()
 
             if (sort.length > 0) {
@@ -61,7 +64,7 @@ export class ProviderResultsComponent implements OnInit {
 
             }
 
-            return Observable.from(addresses.slice(pager.offset, pager.offset + pager.limit - 1));
+            return from(addresses.slice(pager.offset, pager.offset + pager.limit - 1));
         };
         return gridSource;
     }
index 2b38456..ba06c5d 100644 (file)
@@ -1,5 +1,5 @@
 import {Component, OnInit, Input, ViewChild} from '@angular/core';
-import {empty, throwError, Observable} from 'rxjs';
+import {empty, throwError, Observable, from} from 'rxjs';
 import {map} from 'rxjs/operators';
 import {Router, ActivatedRoute, ParamMap} from '@angular/router';
 import {Pager} from '@eg/share/util/pager';
@@ -8,30 +8,30 @@ import {NetService} from '@eg/core/net.service';
 import {AuthService} from '@eg/core/auth.service';
 import {GridComponent} from '@eg/share/grid/grid.component';
 import {GridDataSource, GridCellTextGenerator} from '@eg/share/grid/grid';
-// ??? import {AcqProviderStateService} from './acq-provider-search.service';
+import {ProviderRecordService} from './provider-record.service';
 import {AcqProviderSearchFormComponent} from './acq-provider-search-form.component';
 
 @Component({
   selector: 'eg-provider-contacts',
   templateUrl: 'provider-contacts.component.html',
-  providers: [AcqProviderStateService]
 })
-export class ProviderResultsComponent implements OnInit {
+export class ProviderContactsComponent implements OnInit {
 
-    @Input() provider: any;
+    @Input() providerId: any;
     contacts: any[] = [];
 
     gridSource: GridDataSource;
     @ViewChild('acqProviderContactsGrid', { static: true }) providerContactsGrid: GridComponent;
 
     cellTextGenerator: GridCellTextGenerator;
+    provider: IdlObject;
 
     constructor(
         private router: Router,
         private route: ActivatedRoute,
         private net: NetService,
         private auth: AuthService,
-        private providerState: AcqProviderStateService) {
+        private providerRecord: ProviderRecordService) {
     }
 
     ngOnInit() {
@@ -43,6 +43,10 @@ export class ProviderResultsComponent implements OnInit {
         const gridSource = new GridDataSource();
 
         gridSource.getRows = (pager: Pager, sort: any[]) => {
+            this.provider = this.providerRecord.current();
+            if (!this.provider) {
+                return empty();
+            }
             let contacts = this.provider.contacts()
 
             if (sort.length > 0) {
@@ -61,7 +65,7 @@ export class ProviderResultsComponent implements OnInit {
 
             }
 
-            return Observable.from(contacts.slice(pager.offset, pager.offset + pager.limit - 1));
+            return from(contacts.slice(pager.offset, pager.offset + pager.limit - 1));
         };
         return gridSource;
     }