1 import {Directive, Host, Input, OnInit, ViewChildren, QueryList, AfterViewInit} from '@angular/core';
2 import {MarcSimplifiedEditorComponent} from './simplified-editor.component';
3 import {MarcField, MarcSubfield} from '../marcrecord';
4 import {MarcSimplifiedEditorSubfieldDirective} from './simplified-editor-subfield.directive';
7 * A field that a user can edit, which will later be
12 selector: 'eg-marc-simplified-editor-field',
14 export class MarcSimplifiedEditorFieldDirective implements OnInit, AfterViewInit {
20 @ViewChildren(MarcSimplifiedEditorSubfieldDirective)
21 subfields: QueryList<MarcSimplifiedEditorSubfieldDirective>;
23 marcVersion: MarcField;
25 constructor(@Host() private editor: MarcSimplifiedEditorComponent) {}
34 isControlfield: () => false,
35 indicator: (ind: number) => (ind === 1) ? this.ind1 : this.ind2,
36 deleteExactSubfields: (...subfield: MarcSubfield[]) => 0, // not used by the simplified editor
41 this.subfields.forEach((subfield: MarcSimplifiedEditorSubfieldDirective, index: number) => {
42 this.marcVersion.subfields.push(
45 subfield.defaultValue ? subfield.defaultValue : '',
50 this.editor.addField(this.marcVersion);