从多选中调用repo操作

时间:2018-04-11 19:57:08

标签: alfresco

我已经成功地使用各种指南(包括Jeff Potts非常好的)创建了一个UI动作,它的功能完全符合预期 - 但我想将该动作添加到多选工具中。找到很多文档真的很难。

我尝试过的一些事情:

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

尝试将多选标签添加到我的share-config-custom.xml来定义项目 - 它显示出来,但我显然似乎无法使用操作ID来引用该操作。

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

如何完成此任务?

1 个答案:

答案 0 :(得分:0)

已经有调用存储库自定义操作的函数。此函数在文件下面定义。

份额战\部件\ 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);
         }
      },