樹狀目錄
許多邊緣產品與實作會廣泛使用 UI 樹狀目錄結構,以顯示系統中記錄之間的階層式關係。架構可提供定義樹狀目錄結構的物件、關於如何在樹狀目錄中植入節點的規則,以及用於解譯組態並動態呈現樹狀目錄顯示的處理。
本節主題提供關於架構中所提供項目的資訊。您的產品可針對一般使用案例提供具有預先建置樹狀目錄的 UI 元件。如需詳細資訊,請參考您的產品文件。
樹狀目錄的通用屬性
-
樹狀目錄具有一些層級。在任何指定層級中可以有不同類型的樹狀目錄節點;例如,指令檔的演算法類型列表後面接著指令檔步驟列表。可顯示圖示以進一步識別節點的物件類型。
-
最常見的節點類型會參考系統內的實體,例如結構、指令檔、資料區域等等。這些節點通常會顯示實體外來索引鍵參考的資訊字串,並提供導覽至實體的能力。它們也可允許將節點內容廣播至入口中的其他區域。
-
除了導覽至相關實體的能力之外,許多節點類型還提供了含有進一步導覽路徑的內容功能表。
-
某些節點僅供參考,是用來將一組下階節點群組在某一類型或某一類目下方。例如,業務物件「選項」樹狀目錄會將選項值節點分組到描述選項類型的摘要節點下方。
每個樹狀目錄都會定義組成樹狀目錄的節點,以及這些節點之間的上階/下階關係。樹狀目錄節點則定義哪些通用屬性適用於節點及負責擷取節點資料的演算法,並可選擇決定要顯示的節點資訊。
植入節點演算法
樹狀目錄節點會顯示上述屬性的組合,通常是內容中的物件。若為根節點,物件通常會從全域或入口內容值推導出,例如目前指令檔。如果是層級較低的各節點,則內容會從其上階資料列的內容欄位推導出;例如,特定演算法類型的演算法。
植入節點演算法的主要職責是接收樹狀目錄代碼、節點名稱及上階內容值 (或多個上階內容值)、決定此節點是否有應顯示的資料,並傳回適用於節點中每個資料列的內容欄位與值列表。以下重點說明此演算法可傳回的其他選擇性資訊:
-
實體資訊。如果節點與特定實體相關,則可傳回維護物件代碼和主索引鍵值。這些會用於決定節點的預設資訊,包括導覽明細。
-
顯示圖示值。這是用來置換樹狀目錄節點上定義的圖示和 (或) 維護物件或業務物件上定義的實體預設圖示。
-
資訊字串。這可用來置換實體的預設資訊字串,或用以顯示獨立文字,例如要使用之下階節點的摘要或描述。
-
視需要置換特定節點的廣播明細。例如,當特定廣播欄位名稱和值與相關實體的主索引鍵不同,或是指出廣播不適用於節點實例時,即使節點的定義已啟用廣播,仍設定特定廣播欄位名稱和值。
資訊置換演算法
資訊置換演算法有兩個主要用途:
-
當提供的資訊不適用於您的實作時,提供樹狀目錄節點的替代資訊文字。
-
擷取與樹狀目錄節點實體相關的內容洞察分析,以包含在節點的資訊文字中。目前僅支援標章洞察分析類型。
-
視需要置換特定節點的廣播明細。例如,當特定廣播欄位名稱和值與相關實體的主索引鍵不同,或是指出廣播不適用於節點實例時,即使節點的定義已啟用廣播,仍設定特定廣播欄位名稱和值。
置換資訊演算法會接收節點的樹狀目錄代碼、節點名稱、維護物件及主索引鍵值。以下重點說明此演算法可傳回的資訊:
-
顯示圖示值。
-
資訊字串。這會用來置換節點格式字串中的預設資訊字串。
-
完整節點文字。這將會作為要顯示的完整文字,並置換節點上定義的格式。
-
標章洞察分析類型與其內容列表。
準備要顯示的節點
以下區段重點說明擷取節點的資料並將其格式化以供顯示的幾個主要步驟。
決定節點內容
執行下列步驟以擷取組成樹狀目錄節點顯示的元件:
-
呼叫植入節點演算法來決定樹狀目錄節點的所有實例節點以及其相關明細。
-
針對每個節點實例呼叫資訊置換演算法,以允許選擇性置換呈現方式相關明細。
節點顯示內容的決定方式如下:
-
圖示是從下列來源決定,依序為:樹狀目錄節點定義、置換資訊演算法值、植入節點演算法值、維護物件/業務物件預設值。
-
廣播用途由樹狀目錄節點定義上的設定決定。
- 「植入節點」演算法或「置換資訊」演算法 (優先順序較高) 可置換此設定,以指出廣播不適用於特定的節點實例。
- 根據預設,節點的廣播欄位就是其相關實體的主索引鍵名稱。「植入節點」演算法或「置換資訊」演算法 (後者的優先順序較高) 可置換廣播欄位名稱。
-
資訊字串是從下列來源決定,依序為:置換資訊演算法值、植入節點值、維護物件/業務物件資訊演算法。如果字串是從維護物件/業務物件演算法所推導出,則當可用時會使用簡短資訊文字,否則會使用標準資訊。
-
內容功能表用途由樹狀目錄節點定義上的設定決定。
-
系統支援不同的標頭資料列樣式,包括較大的字型。標頭樣式用途由樹狀目錄定義上的設定決定,但僅在節點為只有一個實例的根節點時才適用。
節點文字格式
參考系統實體的節點文字通常包含某種標籤、實體索引鍵和資訊字串組合。節點組態提供可用來定義節點文字格式的標籤欄位和替代格式字串欄位。格式字串可定義要在文字中包含哪些元件、這些元件的順序,以及所有周圍文字和 HTML 標記。例如,格式字串 '%label - %key - %info' 會產生如下方範例所示的節點文字:
如果格式字串為空白,則預設文字將只包含 '%info'。如果已設定傳回完整節點文字的置換資訊演算法,則會呈現沒有進一步格式化的文字。
自動展開
如果樹狀目錄節點定義指出應展開節點,系統會自動擷取並顯示其下階節點的資料。此處理會繼續進行,直到沒有標示為要展開的更深層下階節點為止。
基準傳遞的樹狀目錄
樹狀目錄是系統資料,您的產品可能已提供數個立即可用的樹狀目錄。您可以選擇以下列方式自訂基準傳遞的樹狀目錄:
-
您可以將自己的節點新增至現有樹狀目錄定義。
-
您可以透過提供自己的資訊置換演算法來置換節點的資訊字串。如果節點上已設定基準置換演算法,則應以更高的序號來外掛您的自訂演算法,其優先順序才會高於基準演算法。
轉譯樹狀目錄
若要轉譯 UI 上的樹狀目錄,應將 ou-tree Web 元件包含在參考樹狀目錄定義的 UI 對應中。