ngx-contextmenu - невозможно использовать пользовательское контекстное меню для нескольких компонентов - PullRequest
0 голосов
/ 26 февраля 2020

Мы используем ngx-contextmenu для нашего проекта, где у нас есть 2 макета.

  1. Представление списка - для этого мы используем библиотеку ag-grid
  2. Оправданный вид (Макет фотографии)

Мы создали другой компонент в виде custom-context-menu и хотели повторно использовать его через селектор. Я упомянул эту проблему для этого сценария, однако в нашем случае мы сталкиваемся с множеством проблем.

Код: использование ниже в custom-context-menu.compoennts. html

<customcontextmenu >
    <ng-template contextMenuItem let-item (execute)="onClickItem($event)">Apple</ng-template>
    <ng-template contextMenuItem let-item divider="true"></ng-template>
    <ng-template contextMenuItem> let-itemPear</ng-template>
</customcontextmenu>

код в custom-context-menu.components.ts

@Component({
  encapsulation: ViewEncapsulation.None,
  selector: 'customcontextmenu',
  styles: [`
    .cdk-overlay-container {
      position: fixed;
      z-index: 1000;
      pointer-events: none;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
    }
    .ngx-contextmenu.cdk-overlay-pane {
      position: absolute;
      pointer-events: auto;
      box-sizing: border-box;
    }
  `],
  template: ` `,
  providers: [ExtendableContextMenuComponent]
})
export class ExtendableContextMenuComponent extends ContextMenuComponent {
}
@Directive({
  selector: 'customcontextmenu',  
})
export class CustomContextMenuComponent  implements OnInit {

  public basicMenu: ContextMenuComponent;

  constructor( public contextMenu: ExtendableContextMenuComponent,public globalService:GlobalService,public addtoSelectedFile:AddToSelectedFolderComponent,public shareService:ShareService, private contextMenuService: ContextMenuService) {    
  }

  ngOnInit() {
  }

  onContextMenu($event: MouseEvent, item: any): void {
    this.contextMenuService.show.next({
      contextMenu: this.contextMenu,
      event: $event,
      item: item
    });        
  }

}

Как мы можем сделать вызов при щелчке элемента представления списка (ag-grid)?

Пожалуйста, помогите с этой проблемой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...