--- /dev/null
+
+<ngb-tabset #recordTabs [activeId]="recordTab" (tabChange)="onTabChange($event)">
+ <ngb-tab title="Record HTML" i18n-title id="marc_html">
+ <ng-template ngbTabContent>
+ <eg-marc-html [recordId]="recordId" [recordType]="'vandelay-'+queueType">
+ </eg-marc-html>
+ </ng-template>
+ </ngb-tab>
+</ngb-tabset>
--- /dev/null
+import {Component, OnInit, ViewChild} from '@angular/core';
+import {Router, ActivatedRoute, ParamMap} from '@angular/router';
+
+@Component({
+ /*
+ template: `
+ <eg-marc-html [recordId]="recordId" [recordType]="recordType">
+ </eg-marc-html>
+ `
+ */
+ templateUrl: 'queue-record.component.html'
+})
+export class QueueRecordComponent {
+
+ queueId: number;
+ queueType: string;
+ recordId: number;
+ recordTab: string;
+
+ constructor(
+ private router: Router,
+ private route: ActivatedRoute) {
+
+ this.route.paramMap.subscribe((params: ParamMap) => {
+ this.queueId = +params.get('id');
+ this.recordId = +params.get('recordId');
+ this.queueType = params.get('qtype');
+ this.recordTab = params.get('recordType');
+ });
+ }
+}
+
</div>
</ng-container>
-<ng-template #viewMarcTmpl let-row="row">
- <!-- TODO click -->
- <a href i18n>TODO</a>
-</ng-template>
-
<ng-template #matchesTmpl let-row="row">
<!-- TODO click -->
<a href i18n>TODO</a>
-->
<eg-grid #queueGrid [dataSource]="queueSource"
+ (onRowActivate)="openRecord($event)"
hideFields="language,pagination,price,rec_identifier,eg_tcn_source,eg_identifier,item_barcode,zsource">
<eg-grid-toolbar-checkbox i18n-label label="Limit to Records With Matches"
<eg-grid-column name="id" [index]="true"
[hidden]="true"></eg-grid-column>
- <eg-grid-column i18n-label label="View MARC"
- name="+viewMarc" [cellTemplate]="viewMarcTmpl"></eg-grid-column>
<eg-grid-column i18n-label label="Matches"
name="+matches" [cellTemplate]="matchesTmpl"></eg-grid-column>
<eg-grid-column name="import_error" i18n-label
}
}
+ openRecord(row: any) {
+ const url =
+ `/staff/cat/vandelay/queue/${this.queueType}/${this.queueId}/record/${row.id}/marc`;
+ this.router.navigate([url]);
+ }
+
applyQueueType() {
this.queuedRecClass = this.queueType.match(/bib/) ? 'vqbr' : 'vqar';
this.vandelay.getAttrDefs(this.queueType).then(
import {ImportComponent} from './import.component';
import {ExportComponent} from './export.component';
import {QueueComponent} from './queue.component';
+import {QueueRecordComponent} from './queue-record.component';
import {QueueListComponent} from './queue-list.component';
const routes: Routes = [{
}, {
path: 'queue/:qtype/:id',
component: QueueComponent
+ }, {
+ path: 'queue/:qtype/:id/record/:recordId',
+ component: QueueRecordComponent
+ }, {
+ path: 'queue/:qtype/:id/record/:recordId/:recordTab',
+ component: QueueRecordComponent
}]
}];
import {ExportComponent} from './export.component';
import {QueueComponent} from './queue.component';
import {QueueListComponent} from './queue-list.component';
+import {QueueRecordComponent} from './queue-record.component';
import {GridModule} from '@eg/share/grid/grid.module';
import {HttpClientModule} from '@angular/common/http';
-import {RecordBucketDialogComponent} from '@eg/staff/share/buckets/record-bucket-dialog.component';
@NgModule({
declarations: [
ExportComponent,
QueueComponent,
QueueListComponent,
- RecordBucketDialogComponent
+ QueueRecordComponent
],
imports: [
StaffCommonModule,