首页 > 其他分享 >SAP UI5 manifest.json 文件里 extends 区域的内容是如何被解析的

SAP UI5 manifest.json 文件里 extends 区域的内容是如何被解析的

时间:2023-08-14 13:56:19浏览次数:34  
标签:sap 扩展 manifest json UI5 SAP

笔者这篇教程介绍了如何在 SAP Fiori Elements 应用的 manifest.json 里注册 Extension fragment,从而给 List Report 应用的 Table 区域新增自定义列

我浏览器打开了 SAP Fiori Elements 应用,单步调试 SAP UI5 的 Component.js 代码时,观察到下图 _getManifestEntry 的输入参数为 /sap.ui5/extends/extensions/sap.ui.viewExtensions/sap.suite.ui.generic.template.fragments.TableColumns/ResponsiveTableColumnsExtension|SEPMRA_C_PD_Product.

getManifestEntry 是 SAP UI5 Component 的一个方法,用于从应用的 manifest.json 文件中获取指定的配置信息。manifest.json 文件是 Fiori 应用的核心配置文件,定义了应用的元数据、模型、服务、i18n、路由等信息。

_getManifestEntry 的输入参数是一个字符串,它表示 manifest.json 文件中的一个 JSON 路径。具体到你的问题,这个参数可以被拆分为以下几个部分:

  1. /sap.ui5/extends: 这是一个基本路径,指向 manifest.json 文件中的 sap.ui5 属性下的 extends 子属性。sap.ui5 部分是 SAP UI5 应用的配置节,包含了模型、路由、资源包等信息。extends 属性用于继承其他 Component 的配置。

  2. /extensions/sap.ui.viewExtensions: extensions 是扩展的意思,这里是指扩展 sap.ui5 的一些设置。sap.ui.viewExtensions 是其中的一个扩展点,用于对 UI5 View 进行扩展。

  3. /sap.suite.ui.generic.template.fragments.TableColumns/ResponsiveTableColumnsExtension: 这是一个具体的扩展实现路径。它指向的是在 sap.suite.ui.generic.template.fragments.TableColumns 命名空间下的 ResponsiveTableColumnsExtension 扩展。这个扩展可能是用于改变表格列的显示方式,使得它们在不同的设备和屏幕尺寸下都能以良好的方式显示。

  4. |SEPMRA_C_PD_Product: 这是一个分隔符后的具体的扩展目标。这里可能是指扩展目标是一个叫做 SEPMRA_C_PD_Product 的 Component 或 View。

在实际应用中,可以通过 getManifestEntry 方法获取到这个路径下的配置信息,然后在代码中进行使用。例如,可能会根据获取到的配置信息对表格列进行动态的创建和配置,以满足不同设备和屏幕尺寸下的显示需求。

总结

总的来说,SAP Fiori Elements 和 SAP UI5 的设计都遵循了模块化和可配置的原则。通过 manifest.json 文件和 getManifestEntry 方法的使用,开发者可以更加灵活地配置和扩展他们的应用,而无需修改大量的硬编码。这不仅使得开发工作变得更加高效,也使得应用更加易于维护和升级。

标签:sap,扩展,manifest,json,UI5,SAP
From: https://www.cnblogs.com/sap-jerry/p/17628444.html

相关文章

  • 在MQTT通信中用AT指令发送json格式的内容
    在MQTT通信中使用AT指令发送JSON格式的内容,需要使用适用于你的设备的AT指令集,并按照以下步骤进行操作:建立MQTT连接:首先,使用AT指令建立与MQTT代理服务器的连接。这可能涉及到设置服务器地址、端口、用户名、密码等参数。创建JSON数据:在你的设备中,使用AT指令创建要发送的JSON格式的......
  • JSON WEB TOKEN - 简单的token认证方式 - 告别session和cookie - Java Demo
    JWT简介jwt非常适合前后分离和分布式的应用不必在服务端存储session,本地也不用存储cookie直接存两段信息即可localStorage["jwt"]=jwt;//tokenlocalStorage["name"]=json.name;//token中加密的某个字段,用于后期请求带上校验token是否被改可以把认证......
  • JSON生成Form表单的方法示例
    JSON生成Form表单的方法示例 更新时间:2018年11月21日14:21:14 作者:熟悉的陌生人  JSON表单是一个基于React的抽象组件,它可以把JSON数据格式描述的表单转换成项目中的表单,这篇文章主要介绍了JSON生成Form表单的方法示例,感兴趣的小伙伴们可以参考一下 JSON表单描述......
  • fastjson配置统一的日期格式转换
    importcom.alibaba.fastjson.serializer.SerializeConfig;importcom.alibaba.fastjson.serializer.SerializerFeature;importcom.alibaba.fastjson.serializer.ToStringSerializer;importcom.alibaba.fastjson.support.config.FastJsonConfig;importcom.alibaba.fast......
  • VSCode C++开发环境配置:CMake 调试配置 launch.json
    相关内容VSCodeC++开发环境配置:LLVMclangclangd安装cmakesudoaptinstallcmake安装VSCode插件CMakeCMakeTools编写CMakeLists.txtproject(hello)cmake_minimum_required(VERSION3.15.0)set(CMAKE_CXX_STANDARD17)set(CMAKE_CXX_EXTENSIONSOFF)add......
  • 什么是 SAP UI5 XML 视图里的 customData
    下面是XML视图里的代码:<core:FragmentDefinitionxmlns:core="sap.ui.core"xmlns="sap.m"><Column><Texttext="{i18n|sap.suite.ui.generic.template.ListReport|STTA_C_MP_Product>xfld.Rating}"......
  • Protobuf vs JSON
    Protobuf(ProtocolBuffers)和JSON都是数据序列化格式,但它们在许多方面有着显著的不同。以下是对两者的一些主要比较:数据大小和速度:Protobuf:由于Protobuf是二进制格式,因此它生成的数据通常比JSON小很多,这使得Protobuf在网络传输中更加高效。同时,Protobuf的解析和序列化......
  • How to use Javascript JSON.stringify similar method in Python All In One
    HowtouseJavascriptJSON.stringifysimilarmethodinPythonAllInOne如何在Python中使用类似JavaScriptJSON.stringify的方法应用场景比较两个数组(列表)对象是否相等/comparestwoarray(list)objectsforequality//jsarr1=[1,2,3]arr2=[1,2,3]......
  • 因为 SAP UI5 版本升级引起的问题又一例 - 如何分析问题根源
    本教程之前的文章,我们介绍了SAPUI5库文件版本相关的知识:SAPUI5应用开发教程之八十四-如何指定SAPUI5应用程序基于某个特定的版本运行同样一份源代码,使用不同的SAPUI5版本加载,行为可能会有所差异:SAPUI5应用开发教程之一百一十八-如何分析因为SAPUI5版本......
  • SAP Fiori Elements 应用里的 ui5.yaml 文件详解试读版
    本教程第4篇文章,我们介绍了本地启动SAPFioriElements应用的三种模式。4.SAPFioriElements本地应用启动的三种模式辨析以默认方式即命令行yarnstart启动之后,项目文件夹里的ui5.yaml文件会默认被加载并解析。ui5.yaml这个文件,在本地开发FreestyleUI5时也会......