</div>
</div>
<eg-marc-simplified-editor (xmlRecordEvent)="associateBriefRecord($event)" buttonLabel="Add material" i18n-buttonLabel>
- <eg-marc-simplified-editor-field tag="245" subfield="a"></eg-marc-simplified-editor-field>
- <eg-marc-simplified-editor-field tag="856" subfield="u"></eg-marc-simplified-editor-field>
- <eg-marc-simplified-editor-field tag="856" subfield="9" defaultValue="CONS"></eg-marc-simplified-editor-field>
- <eg-marc-simplified-editor-field tag="990" subfield="a" i18n-defaultValue
- defaultValue="This record was created using the Course Materials Module -- please edit it there">
- </eg-marc-simplified-editor-field>
+ <eg-marc-simplified-editor-field tag="245" ind1="0" ind2="0">
+ <eg-marc-simplified-editor-subfield code="a"></eg-marc-simplified-editor-subfield>
+ </eg-marc-simplified-editor-field>
+ <eg-marc-simplified-editor-field tag="856" ind1="4" ind2="0">
+ <eg-marc-simplified-editor-subfield code="u"></eg-marc-simplified-editor-subfield>
+ <eg-marc-simplified-editor-subfield code="y"></eg-marc-simplified-editor-subfield>
+ <eg-marc-simplified-editor-subfield code="9" [defaultValue]="currentCourse.owning_lib().shortname()"></eg-marc-simplified-editor-subfield>
+ </eg-marc-simplified-editor-field>
+ <eg-marc-simplified-editor-field tag="990">
+ <eg-marc-simplified-editor-subfield code="a" i18n-defaultValue
+ defaultValue="This record was created using the Course Materials Module -- please edit it there">
+ </eg-marc-simplified-editor-subfield>
+ </eg-marc-simplified-editor-field>
</eg-marc-simplified-editor>
</ng-template>
</li>
getCourses(course_ids?: Number[]): Promise<IdlObject[]> {
if (!course_ids) {
return this.pcrud.retrieveAll('acmc',
- {}, {atomic: true}).toPromise();
+ {flesh: 1, flesh_fields: {'acmc': ['owning_lib']}},
+ {atomic: true}).toPromise();
} else {
return this.pcrud.search('acmc', {id: course_ids},
- {}, {atomic: true}).toPromise();
+ {flesh: 1, flesh_fields: {'acmc': ['owning_lib']}},
+ {atomic: true}).toPromise();
}
}
-import {Component, Host, Input, OnInit} from '@angular/core';
+import {Component, Host, Input, OnInit, Output, ViewChildren, QueryList, AfterViewInit} from '@angular/core';
import {MarcSimplifiedEditorComponent} from './simplified-editor.component';
-import {MarcSubfield} from '../marcrecord';
+import {MarcField, MarcSubfield} from '../marcrecord';
+import { MarcSimplifiedEditorSubfieldComponent } from './simplified-editor-subfield.component';
/**
* A field that a user can edit, which will later be
selector: 'eg-marc-simplified-editor-field',
template: '<ng-template></ng-template>'
})
-export class MarcSimplifiedEditorFieldComponent implements OnInit {
+export class MarcSimplifiedEditorFieldComponent implements OnInit, AfterViewInit {
- @Input() tag: string;
- @Input() subfield: string;
- @Input() defaultValue: string;
+ @Input() tag = 'a';
+ @Input() ind1 = ' ';
+ @Input() ind2 = ' ';
+
+ @ViewChildren(MarcSimplifiedEditorSubfieldComponent)
+ subfields: QueryList<MarcSimplifiedEditorSubfieldComponent>;
+
+ marcVersion: MarcField;
+
+ addSubfield: (subfield: MarcSubfield) => void;
constructor(@Host() private editor: MarcSimplifiedEditorComponent) {}
ngOnInit() {
- this.editor.addField({
- tag: this.tag,
- subfields: [[
- this.subfield,
- this.defaultValue ? this.defaultValue : '',
- 0
- ]],
- authValid: false,
- authChecked: false,
- isCtrlField: false,
- isControlfield: () => false,
- indicator: (ind: number) => '0',
- deleteExactSubfields: (...subfield: MarcSubfield[]) => 0,
- });
+ this.marcVersion = {
+ tag: this.tag,
+ authValid: false,
+ authChecked: false,
+ isCtrlField: false,
+ isControlfield: () => false,
+ indicator: (ind: number) => (ind === 1) ? this.ind1 : this.ind2,
+ deleteExactSubfields: (...subfield: MarcSubfield[]) => 0, // not used by the simplified editor
+ };
+ }
+
+ ngAfterViewInit() {
+ this.subfields.forEach((subfield: MarcSimplifiedEditorSubfieldComponent, index: number) => {
+ this.marcVersion.subfields.push(
+ [
+ subfield.code,
+ subfield.defaultValue ? subfield.defaultValue : '',
+ index
+ ]
+ );
+ });
+ this.editor.addField(this.marcVersion);
}
}
--- /dev/null
+import {Component, Input} from '@angular/core';
+
+/**
+ * A subfield that a user can edit, which will later be
+ * compiled into MARC
+ */
+
+@Component({
+ selector: 'eg-marc-simplified-editor-subfield',
+ template: '<ng-template></ng-template>'
+})
+export class MarcSimplifiedEditorSubfieldComponent {
+
+ @Input() code: string;
+ @Input() defaultValue: string;
+
+}
import {CommonWidgetsModule} from '@eg/share/common-widgets.module';
import {MarcSimplifiedEditorComponent} from './simplified-editor.component';
import {MarcSimplifiedEditorFieldComponent} from './simplified-editor-field.component';
+import {MarcSimplifiedEditorSubfieldComponent} from './simplified-editor-subfield.component';
import {TagTableService} from '../tagtable.service';
@NgModule({
declarations: [
MarcSimplifiedEditorComponent,
MarcSimplifiedEditorFieldComponent,
+ MarcSimplifiedEditorSubfieldComponent,
],
imports: [
StaffCommonModule,
exports: [
MarcSimplifiedEditorComponent,
MarcSimplifiedEditorFieldComponent,
+ MarcSimplifiedEditorSubfieldComponent
],
providers: [
TagTableService