<eg-string #updateFailedString i18n-text text="Provider Holdings Subfield Update Failed"></eg-string>
<eg-string #deleteFailedString i18n-text text="Delete of Provider Holdings Subfield failed or was not allowed"></eg-string>
<eg-string #deleteSuccessString i18n-text text="Delete of Provider Holdings Subfield succeeded"></eg-string>
+<eg-string #successTagString i18n-text text="Provider Holdings Tag Update Succeeded"></eg-string>
+<eg-string #updateFailedTagString i18n-text text="Provider Holdings Subfield Update Failed"></eg-string>
<ng-template #nameCellTemplate let-row="row">
<ng-container [ngSwitch]="row.name()">
</ng-container>
</ng-template>
-<eg-fm-record-editor #providerTagEdit
- idlClass="acqpro"
- mode="update"
- [hideBanner]="true" displayMode="inline"
- [record]="provider"
- (recordSaved)="updateProvider($event)"
- hiddenFields="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>
+<form *ngIf="provider" #holdingTagForm="ngForm">
+ <div class="form-group row">
+ <label for="holdings-tag" class="col-auto col-form-label" i18n>Holdings Tag</label>
+ <div class="col-auto">
+ <input id="holdings-tag" type="text" [(ngModel)]="provider._holding_tag" name="holding_tag" class="form-control" />
+ </div>
+ <div class="col-auto">
+ <button type="submit" class="btn btn-info"
+ (click)="updateProvider($event) && holdingTagForm.markAsPristine()"
+ [disabled]="!holdingTagForm.dirty || (provider && provider._holding_tag == provider.holding_tag())" i18n>Save</button>
+ </div>
+ </div>
+</form>
<eg-grid #acqProviderHoldingsGrid
persistKey="acq.provider.holdings"
hideFields="provider"
[cellTextGenerator]="cellTextGenerator">
- <eg-grid-toolbar-button label="New Holdings Subfield" i18n-label (onClick)="createNew()"></eg-grid-toolbar-button>
+ <eg-grid-toolbar-button label="New Holdings Subfield" i18n-label (onClick)="createNew()"
+ [disabled]="!(provider && provider.holding_tag())"></eg-grid-toolbar-button>
<eg-grid-toolbar-action label="Edit Selected" i18n-label (onClick)="editSelected($event)"></eg-grid-toolbar-action>
<eg-grid-toolbar-action label="Delete Selected" i18n-label (onClick)="deleteSelected($event)"></eg-grid-toolbar-action>
@ViewChild('updateFailedString', { static: false }) updateFailedString: StringComponent;
@ViewChild('deleteFailedString', { static: true }) deleteFailedString: StringComponent;
@ViewChild('deleteSuccessString', { static: true }) deleteSuccessString: StringComponent;
+ @ViewChild('successTagString', { static: true }) successTagString: StringComponent;
+ @ViewChild('updateFailedTagString', { static: false }) updateFailedTagString: StringComponent;
cellTextGenerator: GridCellTextGenerator;
provider: IdlObject;
}
updateProvider(providerId: any) {
- this.providerRecord.refreshCurrent().then(() => {
- this.provider = this.providerRecord.current();
- });
+ this.provider.holding_tag(this.provider._holding_tag);
+ this.provider.ischanged(true);
+ this.providerRecord.batchUpdate([this.provider]).subscribe(
+ val => {
+ this.successTagString.current()
+ .then(str => this.toast.success(str));
+ },
+ err => {
+ this.updateFailedTagString.current()
+ .then(str => this.toast.danger(str));
+ },
+ () => {
+ this.providerRecord.refreshCurrent().then(
+ () => { this.provider = this.providerRecord.current(); }
+ );
+ }
+ );
}
getDataSource(): GridDataSource {