From: Bill Erickson Date: Fri, 22 Nov 2019 19:38:51 +0000 (-0500) Subject: LPXXX editor continued X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=4ee2886a194f17e61c077b0dd93a0013da017646;p=working%2FEvergreen.git LPXXX editor continued Signed-off-by: Bill Erickson --- diff --git a/Open-ILS/src/eg2/src/app/staff/share/marc-edit/context-menu.component.ts b/Open-ILS/src/eg2/src/app/staff/share/marc-edit/context-menu.component.ts index fc255f68dd..43e8529114 100644 --- a/Open-ILS/src/eg2/src/app/staff/share/marc-edit/context-menu.component.ts +++ b/Open-ILS/src/eg2/src/app/staff/share/marc-edit/context-menu.component.ts @@ -1,5 +1,5 @@ import {Component, Input, Output, OnInit, EventEmitter, Directive, - ViewChild, TemplateRef} from '@angular/core'; + ComponentFactoryResolver, ViewChild, TemplateRef} from '@angular/core'; import {NgbPopover} from '@ng-bootstrap/ng-bootstrap'; /** @@ -19,7 +19,7 @@ export interface ContextMenuEntry { } @Component({ - selector: 'eg-context-menu-entries', + selector: 'eg-context-menu', templateUrl: './context-menu.component.html', styleUrls: ['context-menu.component.css'] }) @@ -46,26 +46,34 @@ export class ContextMenuComponent implements OnInit { } } - @Directive({ selector: '[egContextMenu]', exportAs: 'egContextMenu' }) -export class ContextMenuDirective extends NgbPopover { +export class ContextMenuDirective extends NgbPopover implements OnInit { + + menuComp: ContextMenuComponent; @Input() set egContextMenu(menuComp: ContextMenuComponent) { - this.ngbPopover = menuComp.menuTemplate; + this.menuComp = menuComp; } // Only one active menu is allowed at a time. static activeMenu: ContextMenuDirective; open() { - super.open(); + + if (!this.menuComp.menuEntries || + this.menuComp.menuEntries.length === 0) { + return; + } + + this.ngbPopover = this.menuComp.menuTemplate; if (ContextMenuDirective.activeMenu) { ContextMenuDirective.activeMenu.close(); } ContextMenuDirective.activeMenu = this; + super.open(); } } diff --git a/Open-ILS/src/eg2/src/app/staff/share/marc-edit/fixed-field.component.html b/Open-ILS/src/eg2/src/app/staff/share/marc-edit/fixed-field.component.html index 287a70ed6f..db77bff62c 100644 --- a/Open-ILS/src/eg2/src/app/staff/share/marc-edit/fixed-field.component.html +++ b/Open-ILS/src/eg2/src/app/staff/share/marc-edit/fixed-field.component.html @@ -1,13 +1,10 @@ - -
- - {{value.label}} - -
-
+ +
@@ -21,9 +18,9 @@ (change)="valueChange()" [(ngModel)]="fieldValue" [attr.maxlength]="fieldLength" [attr.size]="fieldLength" - [ngbPopover]="menuContent" - #p="ngbPopover" triggers="manual" - (contextmenu)="contextMenu($event, p)" + [egContextMenu]="contextMenu" + #m="egContextMenu" triggers="manual" + (contextmenu)="$event.preventDefault(); m.open()" />
diff --git a/Open-ILS/src/eg2/src/app/staff/share/marc-edit/fixed-field.component.ts b/Open-ILS/src/eg2/src/app/staff/share/marc-edit/fixed-field.component.ts index f0112ede07..9ede60e0c3 100644 --- a/Open-ILS/src/eg2/src/app/staff/share/marc-edit/fixed-field.component.ts +++ b/Open-ILS/src/eg2/src/app/staff/share/marc-edit/fixed-field.component.ts @@ -2,7 +2,8 @@ import {Component, Input, Output, OnInit, EventEmitter} from '@angular/core'; import {MarcRecord} from './marcrecord'; import {MarcEditContext} from './editor-context'; import {TagTableService, ValueLabelPair} from './tagtable.service'; -import {NgbPopover} from '@ng-bootstrap/ng-bootstrap'; +//import {NgbPopover} from '@ng-bootstrap/ng-bootstrap'; +//import {ContextMenuDirective} from './context-menu.component'; /** * MARC Fixed Field Editing Component @@ -26,7 +27,7 @@ export class FixedFieldComponent implements OnInit { fieldMeta: any; fieldLength: number = null; fieldValues: ValueLabelPair[] = null; - popOver: NgbPopover; + //popOver: NgbPopover; randId = Math.floor(Math.random() * 10000000); constructor(private tagTable: TagTableService) {} @@ -89,18 +90,5 @@ export class FixedFieldComponent implements OnInit { } this.context.record.setFixedField(this.fieldCode, this.fieldValue); } - - contextMenu($event, popOver: NgbPopover) { - $event.preventDefault(); - this.context.closePopovers(); - - if (this.fieldValues) { - if (!this.popOver) { - this.popOver = popOver; - this.context.popOvers.push(popOver); - } - this.popOver.open(); - } - } }