Recently in order to analyze one performance issue on my responsible CRM Fiori application, I was asked to research the behavior of the Flower-like animation as displayed below. Every time you click a tile to navigate to a Fiori application from launchpad, you will see this animation. Have you even considered when it appears in UI and when vanishes?
(1) When it appears in UI
According to callstack, the Flower-like animation, technically speaking, the BusyDialog will be opened every time there is change on url, which you could observe in address bar in your browser. This animation is implemented via in /sap/bc/ui5_ui5/ui2/ushell/resources/sap/m/BusyDialog.js
(2) How is the Flower animation rendered
The entry point of rendering logic is in line 2019 below in file: /sap/bc/ui5_ui5/ui2/ushell/resources/sap/ui/core/Popup.js.
And here is the Flower rendering logic:
From here we know that the Flower we see in UI actually consists of FIVE ( why five? see line 97 below
) different div tag with well-prepared CSS class.
(3) When the Flower vanishes
There is a call in shell controller which will check whether the Flower busy dialog is still opened. If so, just put the close operation into the event queue with 0.3 second’s delay. It does not mean that the busy dialog will be closed after exactly 0.3 seconds due to JavaScript single thread execution pattern.
Also in the end of UI navigation, the UI framework will also attempt to close busy dialog if any.
(4) Small experiment
Change the default 300 to 30000 in the following file in Chrome development tool: /sap/bc/ui5_ui5/ui2/ushell/resources/sap/ushell/ui/launchpad/LoadingDialog.js It means when you click any tile in Launchpad, you will see the Flower animation for totally 30 seconds before the application could be available to use.
See this video for effect: https://yslide/blob/master/video/flower%20effect.wmv
要获取更多Jerry的原创文章,请关注公众号"汪子熙":
文摘归档
- 2021年01月(8)
- 2020年10月(10)
- 2020年09月(13)
- 2020年05月(35)
- 2019年04月(2)
- 2019年03月(6)
- 2019年02月(29)
- 2019年01月(61)
- 2018年12月(14)
阅读排行榜
- 如何把某个网站的SSL Server certificate链导入到ABAP Netweaver系统里 (534)
- SAP C/4HANA Sales Cloud使用OData服务和第三方系统集成的一个具体例子 (519)
- 基于SAP Kyma的订单编排增强介绍 (474)
- 浅谈SAP Cloud for Sales 自动化 (451)
- 一个SAP开发人员的2018年终总结 (376)
- 使用函数BAPISDORDER_GETDETAILEDLIST读取S/4HANA中Sales Order行项目数据 (362)
- 容器,Docker, Kubernetes和Kyma,以及Kyma对SAP的意义 (350)
- SAP C/4HANA与人工智能和增强现实(AR)技术结合的又一个创新案例 (342)
- SAP成都研究院2018年总共87篇技术文章合集 (337)
- 一些SAP Partners能够通过二次开发实现打通C/4HANA和S/4HANA的方法介绍 (334)