从 multi-select 调用回购操作

Invoking repo actions from multi-select

我已经使用各种指南(包括 Jeff Potts 非常棒的指南)成功创建了一个 UI 动作,并且它的功能完全符合预期 - 但我想将该动作添加到 multi-select 工具也是如此。很难找到很多文档。

我尝试过的一些事情:

试图找出是否有适用的 actionGroup - 但似乎没有。

尝试将 multi-select 标签添加到我的 share-config-custom.xml 来定义项目 - 它出现了,但显然我似乎无法使用操作 ID 来引用那个动作。

我的下一步是尝试创建一个带有 registerAction 函数的 js 文件,我能够做到并拥有它 运行(我可以看到 console.log 转储)但是我真的不知道如何从那里调用我的回购操作)。

我怎样才能完成这个任务?

调用存储库自定义的函数已经存在action.This函数在下面的文件中定义。

share-war\components\documentlibrary\actions.js

您可以参考以下代码来调用存储库操作。

onActionSimpleRepoAction: function dlA_onActionSimpleRepoAction(record, owner)
      {
         //ACE-2470 : Clone: Clicking multiple times the simple Workflow approval menu item gives unexpected results.
         if (owner.title.indexOf("_deactivated") == -1)
         {
         // Get action params
         var params = this.getAction(record, owner).params,
            displayName = record.displayName,
            namedParams = ["function", "action", "success", "successMessage", "failure", "failureMessage", "async"],
            repoActionParams = {};

         for (var name in params)
         {
            if (params.hasOwnProperty(name) && !Alfresco.util.arrayContains(namedParams, name))
            {
               repoActionParams[name] = params[name];
            }
         }

         //Deactivate action
         var ownerTitle = owner.title;
         owner.title = owner.title + "_deactivated";

         var async = params.async ? "async=" + params.async : null;

         // Prepare genericAction config
         var config =
         {
            success:
            {
               event:
               {
                  name: "metadataRefresh",
                  obj: record
               }
            },
            failure:
            {
               message: this.msg(params.failureMessage, displayName),
               fn: function showAction()
               {
                  owner.title = ownerTitle;
               },
               scope: this
            },
            webscript:
            {
               method: Alfresco.util.Ajax.POST,
               stem: Alfresco.constants.PROXY_URI + "api/",
               name: "actionQueue",
               queryString: async
            },
            config:
            {
               requestContentType: Alfresco.util.Ajax.JSON,
               dataObj:
               {
                  actionedUponNode: record.nodeRef,
                  actionDefinitionName: params.action,
                  parameterValues: repoActionParams
               }
            }
         };

         // Add configured success callbacks and messages if provided
         if (YAHOO.lang.isFunction(this[params.success]))
         {
            config.success.callback =
            {
               fn: this[params.success],
               obj: record,
               scope: this
            };
         }
         if (params.successMessage)
         {
            config.success.message = this.msg(params.successMessage, displayName);
         }

         // Acd configured failure callback and message if provided
         if (YAHOO.lang.isFunction(this[params.failure]))
         {
            config.failure.callback =
            {
               fn: this[params.failure],
               obj: record,
               scope: this
            };
         }
         if (params.failureMessage)
         {
            config.failure.message = this.msg(params.failureMessage, displayName);
         }

         // Execute the repo action
         this.modules.actions.genericAction(config);
         }
      },