首页 > 其他分享 >SAP Fiori Elements 应用中 table id 的生成逻辑

SAP Fiori Elements 应用中 table id 的生成逻辑

时间:2023-07-29 18:23:37浏览次数:39  
标签:控件 ui Elements 视图 Fiori table sap ListReport ID

id:jerryfiorielement01::sap.suite.ui.generic.template.ListReport.view.ListReport::SEPMRA_C_PD_Product--listReport

SAP Fiori Elements 是 SAP 提供的一种开发框架,允许开发者使用预定义的页面类型(如 List Report,Object Page 等)和配置,而不是编写大量的前端代码来创建 Fiori 应用。

在 Fiori Elements 中,控件的 ID 通常由多部分构成,这些部分由 "::" 分隔。这个 ID 在运行时由框架动态生成,以保证每个控件的 ID 在应用中都是唯一的。

根据我们在 Chrome 开发者工具看到的 ID("jerryfiorielement01::sap.suite.ui.generic.template.ListReport.view.ListReport::SEPMRA_C_PD_Product--listReport"),可以看出它由三部分组成:

  1. "jerryfiorielement01":这是应用或组件的 ID,通常这是在应用的 manifest.json 文件中定义的,如下图所示:

  1. "sap.suite.ui.generic.template.ListReport.view.ListReport":这部分表示的是 SAP Fiori Elements 的模板类型,这里是 ListReport。这个模板在运行时会被实例化,并根据OData 服务和 annotations 自动生成 UI。

  2. "SEPMRA_C_PD_Product--listReport":这部分通常由你的实体集(这里是 "SEPMRA_C_PD_Product")和视图类型(这里是 "listReport")组成。这些信息通常来自 annotations 文件和 manifest.json 文件。

至于如何在 Chrome 开发者工具中设置断点,首先需要知道,由于这些 ID 是在运行时动态生成的,可能无法在源代码中找到具体的生成位置。但是,可以尝试在 SAPUI5 的核心代码或 Fiori Elements 的代码中设置断点,看看是否可以在控件 ID 生成时暂停执行。

具体来说,可以尝试在以下文件和方法中设置断点:

  1. sap.ui.core.Element.js 中的 sap.ui.core.Element.prototype.getId 方法。这个方法用于获取控件的 ID。
  2. sap.ui.core.mvc.Controller.js 中的 sap.ui.core.mvc.Controller.prototype.getView 方法。这个方法用于获取控件所在的视图,可能在生成控件 ID 时被调用。

让我们通过一个例子来具体了解一下这个 ID 的生成逻辑。

假设我们有一个名为 'myFioriApp' 的 Fiori Elements 应用,它基于一个 OData 服务,该服务有一个名为 'SalesOrder' 的 Entity Set。我们想在这个应用中创建一个列表报告视图来显示所有的销售订单。为此,我们需要在我们的应用中添加一个 ListReport 视图。

首先,我们的应用的命名空间会是 'myFioriApp'。这是一个全局唯一的标识,我们可以通过它来找到我们的应用。

接下来,我们需要添加一个 ListReport 视图。这个视图的命名空间会是 'sap.suite.ui.generic.template.ListReport.view.ListReport'。这个命名空间告诉我们这是一个 ListReport 视图的实例。

然后,我们需要指定这个视图是基于哪个 Entity Set 构建的。在这个例子中,我们的 Entity Set 是 'SalesOrder'。所以,我们的视图的 ID 会包含 'SalesOrder' 这个部分。

最后,我们需要指定我们的控件的类型。在这个例子中,我们的控件是一个列表报告控件,所以我们的控件的 ID 会包含 'listReport' 这个部分。

因此,我们的控件的 ID 会是 'myFioriApp::sap.suite.ui.generic.template.ListReport.view.ListReport::SalesOrder--listReport'。

标签:控件,ui,Elements,视图,Fiori,table,sap,ListReport,ID
From: https://www.cnblogs.com/sap-jerry/p/17590247.html

相关文章

  • SAP Fiori Elements 应用里的 visitor 访问者设计模式
    SAPFioriElements应用SmartTabletitle控件的text属性,在运行时如何生成的?在TitleRenderer.js里设置断点:调用getText拿到textproperty值:问题是这个Text属性是从哪里来的?在SmartTable.js内部能够观察到这个Products字符串:最终的入口还是XMLTemplate......
  • 无涯教程-jQuery - Sortable排序函数
    能够排序功能可与JqueryUI中的交互配合使用。此功能可在任何DOM元素上启用可排序功能。单击并将其拖动到列表中的新位置,其他项将调整以适合。默认情况下,可排序项目共享可拖动属性。Sortable-语法$(function(){$("#sortable").sortable();$("#sortable").disabl......
  • SAP Fiori Elements 本地 annotation.xml 里的一个代码片段
    下面是从SAPUI5FioriElements应用本地注解文件摘录出来的xml片段,这些代码的含义是:<AnnotationsTarget="SEPMRA_PROD_MAN.SEPMRA_PROD_MAN_Entities/SEPMRA_C_PD_Product"xmlns="http://docs.oasis-open.org/odata/ns/edm"><AnnotationTerm=&......
  • SAP Fiori Elements SemanticKey 的语法
    annotation本地文件的xml片段如下:<AnnotationsTarget="SEPMRA_PROD_MAN.SEPMRA_C_PD_ProductType"xmlns="http://docs.oasis-open.org/odata/ns/edm"><AnnotationTerm="Common.SemanticKey">......
  • SAP Fiori Elements propertyAnnotations 举例讲解
    SAPFioriElements是SAP提供的一种用户界面开发框架,它允许开发人员创建符合Fiori设计原则的应用程序。这种框架主要基于SAPUI5,它是SAP的一种基于HTML5的用户界面技术。FioriElements提供了一种声明性的方式来定义用户界面,这意味着开发人员不需要编写大量的前端代码。......
  • SAP Fiori Elements 应用 OData 元数据请求 url 里的模型名称决定逻辑
    问题我用yarnstart本地启动一个SAPFioriElements应用,在Chrome开发者工具network面板,观察到一个ODatametadata请求的url如下:http://localhost:8080/sap/opu/odata/sap/SEPMRA_PROD_MAN/$metadata?sap-value-list=none&sap-language=EN这个OData服务名称SEPM......
  • 如何在 SAP Fiori Elements 应用的 manifest.json 里定义注解
    在SAPFioriElements应用中,manifest.json文件是应用的主要配置文件,其中定义了应用的元数据、模型、服务等信息。其中,dataSources区域负责描述应用使用的数据源,比如OData服务或者其他类型的后端服务。在dataSources区域的settings字段中,我们可以定义annotations,它们是......
  • 关于 Fiori Elements 应用 manifest.json 的 localURI 字段
    SAPFioriElements是一个开发框架,它提供了一种创建SAPFiori应用的标准化方法。这些应用具有一致的用户体验,并且具有适应各种设备和屏幕尺寸的能力。SAPFioriElements的设计目标是简化开发过程,降低维护成本,并提高应用的质量。在SAPFioriElements应用中,manifest.json文件用于......
  • SAP Fiori Elements 应用加载时的 url 参数 sap-ui-xx-viewCache=false
    SAPFioriElements是SAP提供的一种UI技术,其主要目的是提供一种快速、简单、一致且易于维护的方式来开发SAP用户界面。而sap-ui-xx-viewCache=false是一个URL参数,用于控制FioriElements应用的视图缓存。在SAPFioriElements中,视图缓存是一个可以提高应用性能的......
  • AI绘画StableDiffusion实操教程:可爱头像奶茶小女孩(附高清图片)
    本教程收集于:AIGC从入门到精通教程汇总今天继续分享AI绘画实操教程,如何用lora包生成超可爱头像奶茶小女孩放大高清图已放到教程包内,需要的可以自取。欢迎来到我们这篇特别的文章——《AI绘画StableDiffusion实操教程:可爱头像奶茶小女孩》。在这篇文章中,我们将一步步教你如何利......