title="{{copyStatLabel(copyNode.target)}}"
id="barcode-input-{{copyNode.target.id()}}"
spellcheck="false" [required]="true"
+ placeholder="New Barcode..." i18n-placeholder
[disabled]="volcopy.copyStatIsMagic(copyNode.target.status())"
[ngClass]="{'text-danger': copyNode.target._dupe_barcode}"
(change)="barcodeChanged(copyNode.target, $event.target.value)"
<div class="mt-3"> </div>
- <ngb-tabset [activeId]="tab" (tabChange)="beforeTabChange($event)">
-
- <ngb-tab title="Holdings" i18n-title id="holdings">
- <ng-template ngbTabContent>
- <div class="mt-2">
- <eg-vol-edit [context]="context"></eg-vol-edit>
- </div>
+ <ul ngbNav #holdingsNav="ngbNav" class="nav-tabs"
+ [activeId]="tab" (navChange)="beforeTabChange($event)">
+ <li ngbNavItem="holdings">
+ <a ngbNavLink i18n>Holdings</a>
+ <ng-template ngbNavContent>
+ <div class="mt-2"><eg-vol-edit [context]="context"></eg-vol-edit></div>
</ng-template>
- </ngb-tab>
-
- <ngb-tab title="Item Attributes" i18n-title id="attrs">
- <ng-template ngbTabContent>
- <div class="mt-2">
- <eg-copy-attrs [context]="context"></eg-copy-attrs>
- </div>
+ </li>
+ <li ngbNavItem="attrs">
+ <a ngbNavLink i18n>Item Attributes</a>
+ <ng-template ngbNavContent>
+ <div class="mt-2"><eg-copy-attrs [context]="context"></eg-copy-attrs></div>
</ng-template>
- </ngb-tab>
-
- <ngb-tab title="Defaults" i18n-title id="config">
- <ng-template ngbTabContent>
+ </li>
+ <li ngbNavItem="config">
+ <a ngbNavLink i18n>Defaults</a>
+ <ng-template ngbNavContent>
<div class="mt-2">
<eg-volcopy-config [context]="context"></eg-volcopy-config>
</div>
</ng-template>
- </ngb-tab>
-
- </ngb-tabset>
+ </li>
+ </ul>
+ <div [ngbNavOutlet]="holdingsNav"></div>
<ng-container *ngIf="tab === 'holdings' || tab === 'attrs'">
<hr class="m-2"/>
import {ProgressInlineComponent} from '@eg/share/dialog/progress-inline.component';
import {AnonCacheService} from '@eg/share/util/anon-cache.service';
import {VolCopyService} from './volcopy.service';
-import {NgbTabset, NgbTabChangeEvent} from '@ng-bootstrap/ng-bootstrap';
+import {NgbNav, NgbNavChangeEvent} from '@ng-bootstrap/ng-bootstrap';
const COPY_FLESH = {
flesh: 1,
// Changing a tab in the UI means changing the route.
// Changing the route ultimately results in changing the tab.
- beforeTabChange(evt: NgbTabChangeEvent) {
+ beforeTabChange(evt: NgbNavChangeEvent) {
evt.preventDefault();
this.tab = evt.nextId;
this.routeToTab();
console.debug('Edit Session', editSession);
this.context.recordId = editSession.record_id;
+
+ // These are currently ignored, since visibility is tab-based
this.context.hideVols = editSession.hide_vols === true;
this.context.hideCopies = editSession.hide_copies === true;