什么是 Open Fiori Elements 的 extensionAPI

举报
汪子熙 发表于 2023/08/06 09:47:21 2023/08/06
【摘要】 在 Open Fiori Elements 中,“extensionAPI” 是一种用于自定义和扩展 Fiori Elements 应用的强大工具。它提供了一组 API(应用程序编程接口),允许开发人员通过代码的方式对 Fiori Elements 应用进行定制和增强。借助 extensionAPI,开发人员可以在不影响标准 Fiori Elements 功能的基础上,根据具体的业务需求添加...

在 Open Fiori Elements 中,“extensionAPI” 是一种用于自定义和扩展 Fiori Elements 应用的强大工具。它提供了一组 API(应用程序编程接口),允许开发人员通过代码的方式对 Fiori Elements 应用进行定制和增强。借助 extensionAPI,开发人员可以在不影响标准 Fiori Elements 功能的基础上,根据具体的业务需求添加新的功能、修改现有行为或界面,从而实现更加个性化的用户体验。extensionAPI 是 Fiori Elements 框架提供的一种灵活且可扩展的开发方式,使开发人员能够在使用 Fiori Elements 开发应用的同时保持一定程度的灵活性和定制性。在接下来的内容中,我将详细介绍 extensionAPI 的概念、组成部分以及一个具体的示例来说明其用法和作用。

概念和组成部分:

  1. extensionAPI 的概念:extensionAPI 是 Open Fiori Elements 框架中的一组 API,用于在开发应用时进行扩展和定制。它允许开发人员通过编写代码的方式,对 Fiori Elements 应用的行为、界面和功能进行增强和改进,从而满足特定的业务需求。

  2. API 集合:extensionAPI 包含多个 API,每个 API 都代表着一组特定的功能或操作。开发人员可以根据需求选择性地使用这些 API,实现对 Fiori Elements 应用的定制。

  3. 可用于不同层面:extensionAPI 可以用于不同层面的扩展。它可以在视图层级(View Level)和控制器层级(Controller Level)进行扩展。在视图层级,开发人员可以改变应用的外观和布局;在控制器层级,可以改变应用的行为和逻辑。

  4. 兼容性:通过使用 extensionAPI,开发人员可以保持应用的兼容性。因为 extensionAPI 允许对 Fiori Elements 应用进行扩展,而不需要修改原有的标准 Fiori Elements 代码,因此,应用的更新和升级将会更加方便和稳定。

extensionAPI 的示例:

为了更好地理解 extensionAPI 的用法和作用,我们将创建一个简单的 Fiori Elements 应用,并使用 extensionAPI 对其进行扩展。假设我们有一个 “Employee”(员工)的业务场景,现在我们希望在 Fiori Elements 应用中添加一个自定义的按钮,点击该按钮后,可以弹出一个对话框,显示员工的特定信息。

步骤一:创建 Fiori Elements 应用

首先,我们需要创建一个基本的 Fiori Elements 应用。我们可以使用 Open Web IDE 或者其他适用的开发工具来创建该应用,这里我们假设应用是基于 “Employee” 实体的 List Report 应用。在创建应用的过程中,我们选择 List Report 模板,并关联 “Employee” 实体。

步骤二:添加自定义按钮

  1. 在 Fiori Elements 应用的视图层级(View Level)中,我们需要在页面上添加一个自定义按钮。这里我们使用 extensionAPI 中的 “Header Facet” API,将按钮添加到应用的标题区域。

  2. 在应用的 “manifest.json” 文件中添加以下配置:

"extends": {
  "extensions": {
    "Open.ui.viewExtensions": {
      "Open.suite.ui.generic.template.ListReport.view.ListReport": {
        "HeaderFacet|standardHeaderExtension": {
          "className": "Open.ui.core.Fragment",
          "fragmentName": "my.custom.fragment",
          "type": "XML"
        }
      }
    }
  }
}

在上述配置中,我们使用 “Open.ui.viewExtensions” API 来扩展视图。我们将自定义的 Fragment 添加到 “HeaderFacet” 中,并将其作为标题区域的扩展。

步骤三:创建自定义 Fragment

接下来,我们需要创建自定义的 Fragment,该 Fragment 将包含我们所需的自定义按钮。在 Open Web IDE 中,我们可以在应用的 “webapp” 文件夹下创建一个新的 “fragments” 文件夹,并在其中创建一个名为 “custom.fragment.xml” 的文件。在该文件中,我们添加以下代码:

<core:FragmentDefinition xmlns="Open.m" xmlns:core="Open.ui.core">
  <OverflowToolbarButton text="Show Details" press="onShowDetailsPress"/>
</core:FragmentDefinition>

在上述代码中,我们创建了一个 OverflowToolbarButton,该按钮的文本为 “Show Details”,并绑定了一个 press 事件 “onShowDetailsPress”。

步骤四:添加事件处理逻辑

最后,我们需要在 Fiori Elements 应用的控制器层级(Controller Level)中添加事件处理逻辑,以响应自定义按钮的点击事件,并显示员工的特定信息。

在控制器中添加以下代码:

Open.ui.controller("my.app.controller.ListReport", {
  onShowDetailsPress: function (oEvent) {
    var oSelectedEmployee = oEvent.getSource().getBindingContext().getObject();
    // 可根据 oSelectedEmployee 中的员工信息显示员工的特定信息
    // 弹出对话框或进行其他逻辑处理
  }
});

在上述代码中,我们在控制器中定义了 “onShowDetailsPress” 方法,该方法在自定义按钮点击事件触发时被调用。我们通过获取按钮绑定的数据上下文,获取选中的员工信息,并根据员工信息进行相应的逻辑处理。

总结:

通过以上示例,我们可以看到 extensionAPI 的用法和作用。通过使用 extensionAPI,我们可以在 Fiori Elements 应用中轻松地添加自定义的功能。

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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