SAP Spartacus B2B 列表頁面的 (i) icon popover Component 的宣告位置

注销發表於2021-05-03

SAP Spartacus B2B 頁面的列表頁面,一共有 6 個類似 SAP Fiori Language 裡的 tile(磁貼):

點選去之後,能看到列表頁面有一個綠色 icon 圖示,點選之後,彈出一個 Popover Component:

第一個疑問就是:我們需要在 6 個 不同的 tile 對應的列表頁面裡,重複定義 6 次 這個 Popover Component 麼?

答案是否定的。我們並沒有在 Spartacus 標準程式碼裡,發現類似 User List Component,這提示我們,無論 User List,還是 Org List,很可能是重用某一個 Spartacus 共享控制元件,只是在執行時,動態注入了一些 tile specific 特性。

我們這個猜想,從執行時渲染出的 HTML 程式碼裡得到了印證:User List 的頁面,使用的 Component selector 為 cx-org-list, class 為 orgUser:

而 Org Unit List,使用的同樣是 cx-org-list,區別是 class 為 orgUnit:

selector cx-org-list 對應的 Angular Component 的 template 實現為:list.component.html:

(i) icon 及點選之後彈出的 Popover Component 的佈局和邏輯,就寫在這個 HTML 檔案裡,且只實現一次:

更多Jerry的原創文章,盡在:"汪子熙":

相關文章