天天看點

Fiori as a Service - FaaS - Creation of inline task option is not availableSent: Monday, March 7, 2016 19:28Figure1: 在Faas 系統裡看不到quick create的input field

Sent: Monday, March 7, 2016 19:28
Fiori as a Service - FaaS - Creation of inline task option is not availableSent: Monday, March 7, 2016 19:28Figure1: 在Faas 系統裡看不到quick create的input field
Figure1: 在Faas 系統裡看不到quick create的input field

在我們on premise系統上無法重制這個問題。

Fiori as a Service - FaaS - Creation of inline task option is not availableSent: Monday, March 7, 2016 19:28Figure1: 在Faas 系統裡看不到quick create的input field

Figure2: on premise 平台上 input field是顯示正常的

我處理的思路是:

起初我懷疑quick create的field 在html source裡根本未生成,但是用Chrome dev tool排除了這個可能性。

然後懷疑quick create的dom height render出來為0(之前處理過類似的incident),但是這個可能性也用Chrome dev tool排除了。

既然dom element 存在,高度也是40px, 為什麼就是沒顯示出來?

印度人在S2.controller.js裡fixDisplayOfDirectInput有一大串眼花缭亂的計算:

計算的輸入是: (如下圖所示)

n ScrollContainer的相對Y坐标

n Quick create input的高度

n Footer bar的高度

n 整個window的高度

Fiori as a Service - FaaS - Creation of inline task option is not availableSent: Monday, March 7, 2016 19:28Figure1: 在Faas 系統裡看不到quick create的input field

輸出是計算出來的ScrollContainer的Height。

我在印度人的計算邏輯裡沒有發現問題,然後逐一比對FaaS和GM0上相關dom的CSS style,沒有任何差別。

然後我自己加了大量log列印每個html element的height,FaaS和GM0也沒任何差別。

當列印到每個element的相對Y坐标,就是OffsetTop時,就發現問題了。

每次我上下拖動UI 讓resize handler觸發時,進入fixDisplayOfDirectInput(), 然後我列印footer和input的相對y坐标。

在工作正常的GM0上,兩者的差正好是input field的height。

Fiori as a Service - FaaS - Creation of inline task option is not availableSent: Monday, March 7, 2016 19:28Figure1: 在Faas 系統裡看不到quick create的input field

然後需要找到為什麼兩個element會重疊的原因。仔細觀察Faas的UI,發現和on premise Launchpad不同,在my task application的toolbar下面,還有一個Faas的toolbar:

Fiori as a Service - FaaS - Creation of inline task option is not availableSent: Monday, March 7, 2016 19:28Figure1: 在Faas 系統裡看不到quick create的input field
Fiori as a Service - FaaS - Creation of inline task option is not availableSent: Monday, March 7, 2016 19:28Figure1: 在Faas 系統裡看不到quick create的input field
Fiori as a Service - FaaS - Creation of inline task option is not availableSent: Monday, March 7, 2016 19:28Figure1: 在Faas 系統裡看不到quick create的input field

這個solution裡如何判斷是否有額外的footer bottom bar成為了關鍵。

考慮到絕大多數的客戶即使需要擴充toolbar,也會使用我們的extension point declare新的button放進existing toolbar裡,而不是建立全新的toolbar,是以為了handle Faas這種情況,

我認為下面的solution足矣。

Fiori as a Service - FaaS - Creation of inline task option is not availableSent: Monday, March 7, 2016 19:28Figure1: 在Faas 系統裡看不到quick create的input field

繼續閱讀