Fiori应用的书签模式 - bookmark
Fiori和WebUI相比,一個突出feature是支持bookmark,即Fiori里view的每個狀態都有一個unique的url與之對應-technical 文檔上將url稱為hash,而Webui就不支持,stateful的application,所有狀態的url都不變。
Example:
display view: https://jerry:4080/sap/bc/ui5_ui5/ui2/ushell/shells/abap/FioriLaunchpad.html#Lead-manageLead&/detail/Leads(guid’FA163E8E-AB03-1EE5-818B-CF04EB3503A5’)
Edit view: https://jerry:4080/sap/bc/ui5_ui5/ui2/ushell/shells/abap/FioriLaunchpad.html#Lead-manageLead&/edit/Leads(guid’FA163E8E-AB03-1EE5-818B-CF04EB3503A5’)
Issue: 如果客戶把Edit view的url存到收藏夾里,下次通過收藏夾直接打開edit view.修改Lead,能成功save,但是這種bookmark的scenario下S3 沒有實例化,所以執行window.history.go(-1), 直接跳到瀏覽器的主頁去了。。。
這個bookmark的功能又引入另外一個consideration:附件郵件里,做Faas performance test的德國同事認為現在My opportunity application第一次launch的時候,就會到后臺取priority,user status,sales stage等等dropdown list里的entry,他們認為沒必要,應該延遲到user真正點edit button時再取。但是bookmark的scenario里,沒有edit button的點擊動作,page一render好馬上就是edit mode,這種情況下怎么實現dropdownlist entry的retrieve還需要仔細考慮。
2. 每次在Lead edit page做了修改點擊save button后,會navigate到display view,在display view里重新取Products, change Docs, LeadLogs.
這個取數據的動作是由我們代碼里注冊了一個event handler trigger的。現在由于代碼的bug,會造成每次save操作時,會不斷地call attachEvent方法 注冊取數據的操作,而沒有detachEvent去移除,會造成第N次save lead之后,會帶來N+1次重復取上述數據。下圖是一個例子:我第4次修改lead,造成往后臺發5個一模一樣的Odata request,雖然是異步的,但后面4個毫無必要。
要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":
總結
以上是生活随笔為你收集整理的Fiori应用的书签模式 - bookmark的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 还记得那年秋天吗 LPL十周年行业贡献奖
- 下一篇: 麒麟软件CITE采访:全领域布局 打造“