SAP Fiori Elements 在本地测试模式下如何修改 List Report 里字段标签和图标

举报
汪子熙 发表于 2022/05/19 13:33:55 2022/05/19
【摘要】 从 SAP Fiori Elements 实现源代码中的 SmartTable.xml 能看出,ListReport 类型的 SAP Fiori Elements 应用,其表格类型包含 4 种:AnalyticalTableTreeTableGridTableResponsiveTable这些表格类型,运行时是如何计算出来的?在 preparationHelper.js 的 getNorma...

从 SAP Fiori Elements 实现源代码中的 SmartTable.xml 能看出,ListReport 类型的 SAP Fiori Elements 应用,其表格类型包含 4 种:

  • AnalyticalTable
  • TreeTable
  • GridTable
  • ResponsiveTable

这些表格类型,运行时是如何计算出来的?

在 preparationHelper.js 的 getNormalizedTableSettings 里能找到答案。

默认的 table 设置的字段 tableType, 如果 gridTable 或者 treeTable 不为空,则表格类型为对应的 GridTable 或者 TreeTable.

根据 entity type 的字符串名称,拿到对应的 entity type json 对象:

HeaderInfo:表头信息

默认选择类型是:SingleSelectLeft

此处可见,如果 OData entity type 的 sap:semantics 值为 aggregate,则 table 类型为 AnalyticalTable, 否则为 ResponsiveTable.

通过 Jerry 这篇文章 在没有任何前端开发经验的基础上, 创建第一个 SAP Fiori Elements 应用 介绍的步骤,创建一个简单的 SAP Fiori Elements 应用。

在 Visual Studio Code 命令栏里,使用 start-mock,则能够以本地 mock 数据启动这个 Fiori Elements List Report 应用。

在项目工程文件里,找到 localService 文件夹下面的 metadata.xml, 定位到名为 SEPMRA_C_PD_ProductType 的 EntityType:

这个 entityType 对应 manifest.json 文件里定义的 List Report 应用能够工作,所必需的 Main Entity Set:

在 本地元数据文件 metadata.xml 里,给 sap:label 的值维护成:产品类别。注意,sap:label 附近,就是另一个注解属性值:sap:value-list , 表明这个产品类别是一个下拉列表,且列表内的表项值固定。

冒号之前的 sap 这一 xml 文件命名空间,定义在 xml 文件头部:

最终效果:

同理,产品图片的修改方式:

最后的效果:

注意:如果 online 运行,即连接 SAP 服务器消费 OData 服务时,必须将 OData 服务提供的注解也进行对应修改。否则,本文介绍的这些本地修改,将不会生效。

下图是连接 SAP 服务器后台 OData 服务渲染的 SAP Fiori Elements List Report 应用, 我们能注意到,本地的那些修改已经丢失了。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。