如何从自定义 contextMenu 按钮(露天内容应用程序)获取 nodeID

How to get nodeID from custom contextMenu button ( alfresco content app )

我正在寻找文件和文件夹上的露天共享自定义按钮的替代方案。我在本教程中创建了 app.extenstion.json 新的 contextMenu 按钮:https://alfresco-content-app.netlify.app/#/tutorials/dialog-actions 但是只有显示一些对话框的方法,而不是用于在参数中使用实际 nodeRef 调用 repo websript 的方法。我怎样才能做到这一点 ? :)

我在 ACA 应用程序中有自定义上下文菜单按钮,我需要从单击的文件夹或文档中获取节点 ID。

import { ActivatedRoute, Params } from "@angular/router";
import { Component, OnInit } from "@angular/core";

@Component({
  selector: "aca-my-extension-dialog",
  templateUrl: "./my-extension-dialog.component.html",
  styleUrls: ["./my-extension-dialog.component.scss"],
})
export class MyExtensionDialogComponent implements OnInit {
  content: string = null;

  constructor(private route: ActivatedRoute) {}

  ngOnInit() {
    this.route.params.subscribe(({ nodeId }: Params) => {
      alert("node: " + nodeId);
    });
  }
}

非常感谢所有帮助。 :)

对于上下文菜单,您可以从商店中的选择中访问 nodeId。 AppState class 包含选定元素的列表 selection. 包含 属性 nodes: NodeEntry []; 节点条目包含包含 nodeId 的节点。

属性 的路径是

AppStore.app.selection.nodes

要访问组件上的商店,请将其添加到构造函数中。

  constructor(   
    private store: Store<AppStore>,
  ) {

干杯!