`
JerryWang_SAP
  • 浏览: 1025700 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

如何操作SAP UI5应用Footer区域工具栏按钮的背景颜色

阅读更多

Recently I get a customer requirement to remove the background color of edit button in footer toolbar:

 

 

The expected behavior:

 

 

The screenshot is made from CRM Fiori application “My Opportunity”. Customer are using it in their Android device. They complained since the button in Android platform will have blue as its background color automatically when clicked, so it is difficult to judge whether a button with blue background itself is actually clicked or not.

Here below is my analysis process how to achieve the customer requirement.

(1) First of all, we need to figure out how the blue background color is implemented in the standard application. Check related controller code regarding footer toolbar button definition, and there is no style definition regarding Edit button. So it must definitely be done by UI5 framework.

 

 

Use Chrome development tool, figure out which native html element is responsible for edit button rendering.

And then we find this CSS class div.sapMBtnInner.sapMBtnEmphasized has controlled the button style.

 

 

It should easily be verified, since we de-select the checkbox for property “background-color” and the appearance of Edit button is just what we expect.

 

 

(2) Now we need to know how this CSS style is added by UI5 framework. Search by keyword “Emphasized” and I just find what I look for in a second. In line 80 there is an IF evaluation to check the availability of oEditBtn of variable oController._oHeaderFooterOptions, whose value is filled by we application code. It means if application has explicitly declared the edit button, it is set with style = Emphasized automatically in line 87.

 

 

Then solution is found: just manipulate the oHeaderFooterOptions by implementing extension hook:

extendHeaderFooterOptions : function(oHeaderFooterOptions) {
     var that = this;
     oHeaderFooterOptions.buttonList.splice(0, 0, {sI18nBtnTxt : "EDIT",
      onBtnPressed : function(evt) {
          that.onEdit();
      },
      bEnabled : true
      });
      oHeaderFooterOptions.oEditBtn = null;
    },

The idea is to clear the oHeaderFooterOptions.oEditBtn manuall so that the IF evaluation in line 80 will not succeed, and then we jut define the Edit button as “normal” button by inserting it into the array oHeaderFooterOptions.buttonList. However while testing, it is found that every time you navigate to Edit mode and then back, there will be a new Edit button generated in toolbar.

 

 

The solution is to simply introduce a Boolean variable to ensure the Edit button insertion is only executed once:

extendHeaderFooterOptions : function(oHeaderFooterOptions) {
     if( this.bEditButtonDefined)
      return;
     this.bEditButtonDefined = true;
     var that = this;
     oHeaderFooterOptions.buttonList.splice(0, 0, {sI18nBtnTxt : "EDIT",
      onBtnPressed : function(evt) {
          that.onEdit();
      },
      bEnabled : true
      });
      oHeaderFooterOptions.oEditBtn = null;
    }

If you would like to change the button’s background color to any other color, please refer to this blog: How to change the background color of button in Footer area

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

0
1
分享到:
评论

相关推荐

    sap ui5工具栏例子

    在 SAP UI5 开发中,工具栏(Toolbar)是一种常用组件,用于提供一系列操作按钮或功能,常用于页面顶部作为导航或控制区域。本示例着重于如何在 SAP UI5 应用中创建、定制和交互工具栏。下面将详细阐述相关知识点。 ...

    SAP UI5 文档

    SAP UI5开发者工具包还涉及到ABAP后端基础设施,这意味着UI5应用程序可以与SAP ABAP(高级商业应用程序编程)后端系统紧密集成,通过ABAP仓库进行开发和管理。文档中包含了如何使用SAP Fiori元素、列表报告和对象...

    SAP UI5打包成APP

    在如今数字化转型的浪潮中,SAP UI5作为一种面向企业级应用的开发框架,越来越多的企业选择使用它来构建和部署应用程序。SAP UI5以其丰富的控件库、良好的集成性以及适应性而受到企业的青睐。然而,随着移动设备的...

    SAP UI5入门

    - **开发者指南**:概述了 SAP UI5 使用的编程语言、开源技术、开发工具以及 API 的相关信息。 - **控件部分**:包含运行中的示例演示,这些示例包含了对各个控件的描述及其源代码。 - **API 参考**:提供了框架和...

    SAP UI5 Reference for SAP HANA

    1. 安装SAP UI5应用程序工具,这是开发SAP UI5应用的前提,包括了工具的获取和安装步骤。 2. 快速入门指南,详细介绍了如何选择合适的浏览器来运行SAP UI5应用,以及如何创建第一个移动应用或者SAP UI5应用程序。 ...

    sapui5-runtime

    【SAP UI5运行时环境】,又称为`sapui5-runtime`,是SAP公司推出的一款强大的前端开发框架,专为构建企业级的Web应用程序而设计。它基于OpenUI5,一个开源版本的UI5,因此也带有"openui5"的标签。SAP UI5提供了一个...

    SAP UI5入门概述

    OpenUI5 与 SAP UI5 功能相似,但在企业级应用中 SAP UI5 更具优势。 - **UI5 与 SAP Fiori 的关系**:UI5 是具体的前端框架,用于实现 SAP Fiori 所定义的用户体验标准。SAP 官方基于 UI5 构建的一系列应用程序集合...

    SAPUI5-Training

    - **创建SAPUI5项目**:使用SAPUI5开发工具在Eclipse中创建项目。 - **数据绑定**:SAPUI5支持强大的数据绑定功能,能够自动更新UI显示的数据。 - **OData绑定**:特别地,SAPUI5还支持与OData服务的数据绑定,实现...

    SAP UI5 OVERVIEW

    - **增强的开发工具**:为了提高开发效率,SAP UI5 提供了一系列增强的开发工具,包括但不限于 Web 应用程序工具包。 #### 三、SAP 的 Web 应用程序工具包 SAP 的 Web 应用程序工具包(Application Toolkit)是一...

    SAPUI5开发环境配置

    此外,SAPUI5的开发工具也通常基于Java技术构建,因此确保系统中安装了正确的Java版本是非常重要的。 - **版本要求**:JRE version 1.6 or higher, 支持32位和64位操作系统。 - **下载地址**:...

    SAPUI5 详细讲解

    SAPUI5不仅提供了一套完整的开发工具链,还具备高度的可扩展性和兼容性,是构建现代化企业级Web应用的理想选择。无论是初学者还是经验丰富的开发者,都能从中找到合适的工具和资源,快速构建高质量的业务应用。

    sap ui5通用组件例子

    在 SAP UI5 开发中,通用组件(commons)是开发者常用的一类元素,它们提供了许多基本的用户界面功能,能够帮助构建高效、易用的应用。本资料主要关注 SAP UI5 的通用组件及其在实际开发中的应用示例。 SAP UI5 是...

    SAPUI5_InstGuide

    文档的描述强调了这是针对SAP UI5工具的安装指导。考虑到文档中出现的商标和版权声明,我们可以了解SAP UI5是由SAP公司开发的,并且与其他SAP产品和服务(例如SAP R/3、SAP NetWeaver、SAP HANA等)一样,具有重要的...

    sap ui5表单例子

    在本文中,我们将深入探讨如何使用SAP UI5创建表单。SAP UI5是SAP公司推出的一款用于构建企业级Web应用程序的开源框架,它提供了丰富的用户界面元素和强大的数据绑定功能,使得开发人员能够轻松创建交互式、响应式的...

    Tutorial to Develop a SAPUI5 Application with oData Access

    在本教程中,我们将深入探讨如何开发一个使用SAPUI5和oData访问的数据交互应用程序。SAPUI5是SAP提供的一个强大的JavaScript框架,用于构建企业级的Web应用程序。而oData是一种开放的协议,它允许客户端通过HTTP访问...

    SAPUI5概述 学习PPT 内容详细讲解

    讲解SAPUI5如何搭建,如何开发应用。 说明,文档为英文 内容如下: SAPUI5 Overview Runtime Resources Programming Applications SAPUI5 Developer Studio Creating a SAPUI5 Project Resource Handling / ...

    SAP UI5 官方培训文档(100页+)

    #### 二、SAP UI5 开发工具与流程 - **SAP UI5 开发者工作室**: - **创建项目**:指导如何在开发者工作室中创建一个SAP UI5项目。 - **资源处理/本地化**:介绍如何管理项目中的资源文件以及实现多语言支持。 -...

    sap ui5表格例子

    SAP UI5 提供了 sap.m.Table 控件来实现这一功能,本示例将详细介绍如何使用 SAP UI5 的表格控件进行数据展示和绑定。 首先,创建一个 SAP UI5 应用的基本结构,包括 index.html、manifest.json 和控制器(如:...

    SAPUI5: Deploy Development Environment - Deploy Development Tool Eclipse 0003

    在“Project Explorer”区域右击,选择“New”>“Project”,然后选择“SAPUI5 Application Development”>“Application Project”,并继续下一步。填写项目名称,视图名称,并完成创建。此时,应该创建了一个测试...

    SAPUI5(SAP Fiori)运行环境介绍

    SAP Netweaver是SAP应用和技术平台的核心部分,用于构建、部署、集成和管理企业级应用程序。Netweaver提供了一个全面的技术基础,其中包括SAP Web Application Server(Web AS),它为SAPUI5应用提供了运行环境。 3...

Global site tag (gtag.js) - Google Analytics