首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Aikau -为视图创建列表

Aikau -为视图创建列表
EN

Stack Overflow用户
提问于 2016-08-29 00:01:22
回答 1查看 427关注 0票数 3

我一直在研究Github上的Aikau教程,但我不知道如何创建一个可以传递给视图的列表。要求是为所有用户选择所有工作流任务并显示结果。

我已经添加了以下小部件,显示一个用户的详细信息(硬编码),但我需要循环通过所有用户和显示所有工作流程。

代码语言:javascript
复制
model.jsonModel = {
   services: [
      "alfresco/services/CrudService"
   ],
   widgets:[
      {
         name: "alfresco/lists/AlfSortablePaginatedList",
         config: {
            loadDataPublishTopic: "ALF_CRUD_GET_ALL",
            loadDataPublishPayload: {
              url: "api/task-instances?authority=abeecher"
            },
            itemsProperty: "data",
            widgets: [
              {
                name: "alfresco/lists/views/AlfListView",
                config: {
                  additionalCssClasses: "bordered",
                  widgetsForHeader: [
                     {
                        name: "alfresco/lists/views/layouts/HeaderCell",
                        config: {
                           label: "Workflow ID",
                           sortable: true,
                           sortValue: "id"
                        }
                     },
                     {
                        name: "alfresco/lists/views/layouts/HeaderCell",
                        config: {
                           label: "Description"
                        }
                     },
                     {
                        name: "alfresco/lists/views/layouts/HeaderCell",
                        config: {
                           label: "Status"
                        }
                     },
                     {
                        name: "alfresco/lists/views/layouts/HeaderCell",
                        config: {
                           label: "Due Date",
                           sortable: true,
                           sortValue: "properties.bpm_dueDate"
                        }
                     },
                     {
                        name: "alfresco/lists/views/layouts/HeaderCell",
                        config: {
                           label: "Created By"
                        }
                     },
                     {
                        name: "alfresco/lists/views/layouts/HeaderCell",
                        config: {
                           label: "Assigned To",
                           sortable: true,
                           sortValue: "owner.firstName"
                        }
                     },
                     {
                        name: "alfresco/lists/views/layouts/HeaderCell",
                        config: {
                           label: "Tag1"
                        }
                     },
                     {
                        name: "alfresco/lists/views/layouts/HeaderCell",
                        config: {
                           label: "Tag2"
                        }
                     },
                     {
                        name: "alfresco/lists/views/layouts/HeaderCell",
                        config: {
                           label: "Tag3"
                        }
                     }
                  ],
                  widgets: [
                    {
                      name: "alfresco/lists/views/layouts/Row",
                      config: {
                        widgets: [
                          {
                            name: "alfresco/lists/views/layouts/Cell",
                            config: {
                              additionalCssClasses: "mediumpad",
                              widgets: [
                                {
                                  name: "alfresco/renderers/Property",
                                  config: {
                                    propertyToRender: "id",
                                  }
                                }
                              ]
                            }
                          },
                          {
                            name: "alfresco/lists/views/layouts/Cell",
                            config: {
                              widgets: [
                                {
                                  name: "alfresco/renderers/Property",
                                  config: {
                                    propertyToRender: "workflowInstance.message",
                                  }
                                }
                              ]
                            }
                          },
                          {
                            name: "alfresco/lists/views/layouts/Cell",
                            config: {
                              widgets: [
                                {
                                  name: "alfresco/renderers/Property",
                                  config: {
                                    propertyToRender: "state",
                                  }
                                }
                              ]
                            }
                          },
                          {
                            name: "alfresco/lists/views/layouts/Cell",
                            config: {
                              widgets: [
                                {
                                  name: "alfresco/renderers/Property",
                                  config: {
                                    propertyToRender: "properties.bpm_dueDate",
                                  }
                                }
                              ]
                            }
                          },
                          {
                            name: "alfresco/lists/views/layouts/Cell",
                            config: {
                              widgets: [
                                {
                                  name: "alfresco/renderers/Property",
                                  config: {
                                    propertyToRender: "workflowInstance.initiator.firstName" ,
                                  }
                                }
                              ]
                            }
                          },
                          {
                            name: "alfresco/lists/views/layouts/Cell",
                            config: {
                              widgets: [
                                {
                                  name: "alfresco/renderers/Property",
                                  config: {
                                    propertyToRender: "owner.firstName",
                                  }
                                }
                              ]
                            }
                          },
                        ]
                      }
                    }
                  ]
                }
              }
            ]
         }
      }
   ]
};

最终的解决方案将需要能够对列进行排序,并能够单击任务以查看底层工作流。根据这些要求创建初始列表的最佳方式是什么?

如果我要编写一个小部件来构建列表,我如何将该小部件耦合到表单?这是不是一个发布/订阅解决方案,因为用户没有点击任何东西--只是加载页面?

我假设如果我在loadDataPublishPayload选项下使用"url“关键字,我将需要编写一个自定义的webscript?如果我确实写了一个webscript,那么将json数据返回到表单的最后一条语句是什么?

我只需要一些关于最好的前进道路的指导。

EN

回答 1

Stack Overflow用户

发布于 2016-08-30 16:27:03

在撰写本文时,使用最新发布的Aikau版本(1.0.83)还不能使用开箱即用的小部件和服务来实现这一点。

主要的问题是在Aikau和共享基于XML的表单运行时之间没有完整的映射。这个blog post解释了手头的问题。然而,这是我们正在努力的事情。

一旦完成了"alfresco/services/FormsRuntimeService“,这将是一个更容易完成的练习。不需要为列表编写额外的小部件,因为现有的列表小部件可以处理排序/分页的所有要求(如果底层REST API支持排序和分页!)。

我猜你最好的前进方式取决于需要这个解决方案的速度有多快。我们在FormsRuntimeService上取得了进展,但我不能说它什么时候才能完全准备好。

Share中的现有页面显示了使用Share Forms运行时的任务和工作流,它们依赖于返回HTML,这些API是硬编码的,以便与基于Share YUI2的小部件一起使用-使用旧的Surf组件/ YUI2小部件方法可能会实现您想要的结果。这可能是另一个需要探索的领域。

主要要做的是确定现有的REST API是否可以满足您的核心需求

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39193152

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档