云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

服务器_找不到dns服务器_高性价比

小七 141 0

服务器_找不到dns服务器_高性价比

本系列的上一篇文章:发现SCP工作流-用户任务。

本篇文章是本系列文章的一部分,可在此处找到指南:发现SCP工作流。

在本篇文章中,我们将研究任务UI如何启动,它在哪里获得正确的数据来显示,以及它与我的收件箱"主机"应用程序的交互方式。

如果您已经关注了该系列,您就会知道我们现在在我的收件箱应用程序中,当前选择的用户任务来自啤酒推荐工作流定义,我们了解主机应用程序(我的收件箱)如何获得在经典主详细布局的详细视图中呈现的用户任务。

要刷新我们的记忆,它通过GUI链接属性中与工作流任务相关联的URI(通过任务集合实体集):

在上一篇文章中,云服务器和服务器,我们还看到了任务UI组件实例化:

fnGetDetailsForSelectedTask->fnParseComponentParameters->fnRenderComponent

下面是这个序列中发生的事情的快照,任务UI组件将要在这里创建(您可以在右侧的调用堆栈中看到相反的序列):

对于总是想看到的读者(像我一样)细节,价值oComponentParameters.ComponentName在createComponent中,第319-322行的调用是"qmacro.unappd推荐批准". 没有什么意外,但是假设得到证实总是很好的。是的,这在主机应用程序的S3(detail)控制器中发生。

在createComponent调用中传递的映射中还有第二个属性,即componentData(第321行)。

通常在实例化UI5组件时,componentData属性并不少见–这是在启动时传递数据的正常方式。这正是这里发生的事情。主机应用程序"我的收件箱"包含要显示的任务实例的所有详细信息,并且需要将这些信息传递给它已计算出的组件,以便进行实例化。

让我们看看oCompData中包含的内容,哪个变量包含在componentData属性中传递的数据:

很多有趣的东西!一般来说,它分为两类:

链接到"收件箱"(即主机应用程序)对任务特定数据的引用

startupParameters映射中有inboxAPI属性–它包含各种与主机应用程序交互相关的函数。你是对的。维护操作按钮(例如允许用户接受或拒绝任务)是一项关键功能。这些按钮将出现在任务UI的底部,但不是它的一部分-它们位于主机应用程序详细信息视图的页脚内-请再次查看"我的收件箱",这一次将显示工作流日志:

实际上,任务UI在主机应用程序中呈现,并在此处用红色轮廓表示。"继续"按钮位于页脚,而不是任务UI本身的任何部分。

其他类别与任务特定的数据相关。在startupParameters映射中有taskModel属性。如果你对这个属性调用一些内省的好处,你会看到它是一个JSON模型:

你能忍住不去看里面有什么吗?我做不到。让我们来做:

天哪,大数据风控,这似乎正是任务UI需要的!

关于编写任务UI,已经有好几个帖子:

SAP云平台工作流入门–Christian Loos如何构建简单的审批UI第1C部分:Archana Shukla在自定义HTML5应用程序中使用任务API

虽然我不想重复已经讨论过的内容,但我认为值得研究任务UI组件是如何启动的,我将在下一篇文章中介绍大多数未应用的推荐审批应用程序。在这里,我们将重点讨论组件.js,特别是在init函数中。

让我们把这个函数布置好,这样我们就可以很好地了解发生了什么:

在可能的情况下,我遵循了Christian和Archana显示的模式,在获取taskModel和其他详细信息时,

让我们一点一点地了解它。

第一部分是相当标准的。这就是我们要做的:

调用组件的超类的init函数初始化路由器机制创建一个设备模型并将其设置在组件上

没有什么奇怪的地方,也没有什么特别与这是一个任务UI应用程序相关的事实。

下一步:

我决定创建一个应用程序范围的助手模型,这是UI5应用程序中的一个常见模式;到目前为止,我只在其中存储一个特定的属性(在下一位),但是嘿

那么,是时候讨论任务特定的东西了:

getComponentData是在实例化组件时访问与组件相关的数据的标准方法。因此,我们在这里检索通过前面看到的对createComponent的调用中的componentData属性传递的oCompData从那里我们可以获取taskModel并获取数据在该数据中有InstanceID属性,实时大数据,在上面的示例中,该属性的值为"0cdb90a1-fdc5-11e7-bb2a-00163e504470",我们将其存储在局部变量taskId

中,我们如何处理该实例的ID?当然,调用工作流API的服务!

我们具体援引什么?让我们看看。首先,将instance ID值替换为taskId变量,JSON模型实例化中的相对URL为: