<ngb-tabset #acqProviderTabs [activeId]="activeTab" (tabChange)="onTabChange($event)">
<ngb-tab title="Provider" i18n-title id="details" [disabled]="!id">
<ng-template ngbTabContent>
- PROVIDER DETAILS TAB
+ <eg-provider-details #providerDetails></eg-provider-details>
</ng-template>
</ngb-tab>
<ngb-tab title="Addresses" i18n-title id="addresses" [disabled]="!id">
import {IdlService, IdlObject} from '@eg/core/idl.service';
import {PcrudService} from '@eg/core/pcrud.service';
import {AcqProviderSummaryPaneComponent} from './summary-pane.component';
+import {ProviderDetailsComponent} from './provider-details.component';
import {ProviderRecordService} from './provider-record.service';
import {FmRecordEditorComponent} from '@eg/share/fm-editor/fm-editor.component';
import {StringComponent} from '@eg/share/string/string.component';
validTabTypes = ['details', 'addresses', 'contacts', 'attributes', 'holdings', 'edi_accounts', 'purchase_orders', 'invoices'];
defaultTabType = 'details';
@ViewChild('acqSearchProviderSummary', { static: true }) providerSummaryPane: AcqProviderSummaryPaneComponent;
+ @ViewChild('providerDetails', { static: false }) providerDetails: ProviderDetailsComponent;
@ViewChild('createDialog', { static: true }) createDialog: FmRecordEditorComponent;
@ViewChild('createString', { static: false }) createString: StringComponent;
@ViewChild('createErrString', { static: false }) createErrString: StringComponent;
this.onDesireSummarize = ($event) => {
// $event is a provider ID
this.providerSummaryPane.update($event);
+ if (this.providerDetails) {
+ this.providerDetails.refresh();
+ }
this.id = $event;
this.providerRecord.fetch(this.id);
this.showSearchForm = false;
import {AcqProviderSearchFormComponent} from './acq-provider-search-form.component';
import {AcqProviderSummaryPaneComponent} from './summary-pane.component';
import {ProviderResultsComponent} from './provider-results.component';
+import {ProviderDetailsComponent} from './provider-details.component';
import {ProviderAddressesComponent} from './provider-addresses.component';
import {ProviderContactsComponent} from './provider-contacts.component';
import {ProviderHoldingsComponent} from './provider-holdings.component';
AcqProviderSearchFormComponent,
AcqProviderSummaryPaneComponent,
ProviderResultsComponent,
+ ProviderDetailsComponent,
ProviderAddressesComponent,
ProviderContactsComponent,
ProviderHoldingsComponent,
--- /dev/null
+<eg-string #successString i18n-text text="Provider Update Succeeded"></eg-string>
+<eg-string #updateFailedString i18n-text text="Provider Update Failed"></eg-string>
+<eg-string #deleteFailedString i18n-text text="Delete of Provider failed or was not allowed"></eg-string>
+<eg-string #deleteSuccessString i18n-text text="Delete of Provider succeeded"></eg-string>
+
+<eg-fm-record-editor #editDialog
+ idlClass="acqpro"
+ mode="update"
+ [hideBanner]="true" displayMode="inline"
+ [record]="provider"
+ (recordSaved)="updateProvider($event)"
+ readonlyFields="id"
+ hiddenFields="holding_tag"
+ fieldOrder="active,name,code,id,currency_type,default_claim_policy,default_copy_count,edi_default,owner,phone,fax_phone,email,url,san,prepayment_required"
+>
+</eg-fm-record-editor>
--- /dev/null
+import {Component, OnInit, Input, ViewChild} from '@angular/core';
+import {empty, throwError, Observable, from} from 'rxjs';
+import {map} from 'rxjs/operators';
+import {Router, ActivatedRoute, ParamMap} from '@angular/router';
+import {IdlService, IdlObject} from '@eg/core/idl.service';
+import {NetService} from '@eg/core/net.service';
+import {AuthService} from '@eg/core/auth.service';
+import {ProviderRecord, ProviderRecordService} from './provider-record.service';
+import {FmRecordEditorComponent} from '@eg/share/fm-editor/fm-editor.component';
+import {StringComponent} from '@eg/share/string/string.component';
+import {ToastService} from '@eg/share/toast/toast.service';
+
+@Component({
+ selector: 'eg-provider-details',
+ templateUrl: 'provider-details.component.html',
+})
+export class ProviderDetailsComponent implements OnInit {
+
+ @ViewChild('successString', { static: true }) successString: StringComponent;
+ @ViewChild('updateFailedString', { static: false }) updateFailedString: StringComponent;
+ @ViewChild('deleteFailedString', { static: true }) deleteFailedString: StringComponent;
+ @ViewChild('deleteSuccessString', { static: true }) deleteSuccessString: StringComponent;
+
+ provider: IdlObject;
+
+ permissions: {[name: string]: boolean};
+
+ constructor(
+ private router: Router,
+ private route: ActivatedRoute,
+ private net: NetService,
+ private idl: IdlService,
+ private auth: AuthService,
+ private providerRecord: ProviderRecordService,
+ private toast: ToastService) {
+ }
+
+ ngOnInit() {
+ this.refresh();
+ }
+
+ refresh() {
+ this.providerRecord.refreshCurrent().then(() => {
+ this.provider = this.providerRecord.current();
+ });
+ }
+
+}