首页 > 其他分享 >SAP UI5 manifest.json 里定义的 sap.ui.viewExtensions 区域的解析代码位置

SAP UI5 manifest.json 里定义的 sap.ui.viewExtensions 区域的解析代码位置

时间:2023-08-14 13:56:39浏览次数:53  
标签:sap 扩展 视图 manifest json viewExtensions ui SAP

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

上图 extends 区域注册的 Extension 信息,运行时在 XMLPreprocessor.js 的 Component.getCustomizing 方法里解析出来。

在 SAP UI5 中,sap.ui.viewExtensions 是一个强大的机制,允许开发者在不修改原始视图代码的情况下,扩展或修改现有的视图。使用它,开发者可以添加新的控件,改变已有控件的属性,甚至替换整个视图的一部分。这提供了一种灵活的方式来定制和扩展现有的 SAP UI5 应用,而无需担心影响到原有的业务逻辑或者 UI 结构。

sap.ui.viewExtensions 的使用主要分为两部分:定义扩展点和实现扩展。

  1. 定义扩展点

    在原始视图中,开发者可以定义一个或多个扩展点。扩展点是一个特殊的占位符控件,表示可以插入新的 UI 元素的位置。下面是一个简单的示例:

    <mvc:View controllerName="sap.ui.demo.controller.View1" 
              xmlns:mvc="sap.ui.core.mvc" 
              xmlns="sap.m" 
              xmlns:core="sap.ui.core">
        <Page title="Title">
            <content>
                <core:ExtensionPoint name="ExtensionPointExample" />
            </content>
        </Page>
    </mvc:View>
    

    在这个示例中,core:ExtensionPoint 定义了一个名为 ExtensionPointExample 的扩展点。

  2. 实现扩展

    一旦定义了扩展点,开发者就可以在另一个视图中实现扩展,通过 sap.ui.viewExtensions 来添加新的 UI 元素。这个过程通常在 manifest.json 文件中进行,如下所示:

    {
        "sap.ui5": {
            "extends": {
                "extensions": {
                    "sap.ui.viewExtensions": {
                        "sap.ui.demo.controller.View1": {
                            "ExtensionPointExample": {
                                "className": "sap.ui.core.Fragment",
                                "fragmentName": "sap.ui.demo.fragments.MyFragment",
                                "type": "XML"
                            }
                        }
                    }
                }
            }
        }
    }
    

在这个示例中,我们对 View1ExtensionPointExample 扩展点进行了扩展,插入了一个名为 sap.ui.demo.fragments.MyFragment 的 Fragment。这个 Fragment 会在运行时替代扩展点在 UI 中的位置。

这样,即使在 SAP 更新或修改原始视图时,扩展的部分也不会受到影响,因为它们是在一个独立的文件中定义的,而不是直接修改原始代码。这使得应用程序更易于维护和升级。

标签:sap,扩展,视图,manifest,json,viewExtensions,ui,SAP
From: https://www.cnblogs.com/sap-jerry/p/17628440.html

相关文章

  • 关于 SAP Fiori Elements 应用的 ResponsiveTableColumnsExtension 扩展
    笔者这篇教程介绍了如何在SAPFioriElements应用的manifest.json里注册Extensionfragment,从而给ListReport应用的Table区域新增自定义列:10.如何通过扩展(Extension)的方式给SAPFioriElementsListReport的表格新增列请大家注意下图高亮的扩展:ResponsiveTabl......
  • SAP UI5 manifest.json 文件里 extends 区域的内容是如何被解析的
    笔者这篇教程介绍了如何在SAPFioriElements应用的manifest.json里注册Extensionfragment,从而给ListReport应用的Table区域新增自定义列:10.如何通过扩展(Extension)的方式给SAPFioriElementsListReport的表格新增列我浏览器打开了SAPFioriElements应......
  • SAP CDS view 里 UNION 操作的用法
    下图是SAPCDSviewUnion操作的语法和例子:SAPCDS(CoreDataServices)视图是SAPHANA数据库在ABAP层面上的抽象和逻辑视图。它不仅提供了一种SQL类型的语言(DataControlLanguage,DCL)来查询和操作数据,还提供了各种特性和功能以支持应用程序开发。在SAPCDS中,Union操......
  • 在MQTT通信中用AT指令发送json格式的内容
    在MQTT通信中使用AT指令发送JSON格式的内容,需要使用适用于你的设备的AT指令集,并按照以下步骤进行操作:建立MQTT连接:首先,使用AT指令建立与MQTT代理服务器的连接。这可能涉及到设置服务器地址、端口、用户名、密码等参数。创建JSON数据:在你的设备中,使用AT指令创建要发送的JSON格式的......
  • SAP CDS view 的 having Condition 用法
    Havingcondition在groupby执行完毕后才evaludateSAPCDS(CoreDataServices)是一个用于定义和消费数据模型的基础设施。CDS提供了一种新的数据建模方式,它能够在数据库层定义复杂的视图,以提供更高效的数据访问。HAVING关键字在SQL中常常与GROUPBY关键字一起使用......
  • 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......
  • ABAP 开发者上云的时候到了 - 现在大家可以免费使用 SAP 云平台 ABAP 环境的试用版了
    之前Jerry已经写了一系列SAPCloudPlatformABAP编程环境的文章,当时使用的环境,是SAP专门为SAP社区导师们创建的。当时也有朋友留言,询问大家何时才能使用到免费的SAP云平台ABAP编程环境。SAP社区上也有世界各地的开发者问这个问题,负责这个话题的同事们的答复大意是:我们一直在努......