gojs DiagramEvent 圖表事件中文文檔

圖表事件

Hierarchy

  • 圖表事件

圖表事件是比 輸入事件更抽象的事件. 它們是在 圖表 類上觸發的. 可以通過調用Diagram.addDiagramListener. 在圖表上註冊一個圖表偵聽器來接收此類事件.調用偵聽器函數時,將傳遞一個圖表事件實例. 使用name 屬性確定它是哪種圖表事件. 圖表 屬性引用圖表, 您可以從中獲得附加信息,例如Diagram.lastInput,反過來有提供了 例如 InputEvent.documentPoint 之類的信息,這些信息可能與此類圖表事件相關.

subject 和 parameter 可選地提供有關關係圖表事件的附加信息. subject 是Part 零部件的集合, 也可以是單個對象, 如節點中的Link 鏈接 或者 GraphObject 圖形對象 . 這取決於它是哪種圖表事件.

有些圖表事件,如 "ObjectSingleClicked" 或"BackgroundDoubleClicked" 通常與 輸入事件關聯. 有些圖表事件,如"SelectionMoved" 或 "PartRotated" 與Tool-handled gestures 或者CommandHandler 操作的結果相關聯. 有些圖表事件根本不必與任何輸入事件相關聯,例如 "ViewportBoundsChanged",這可能由於程序的直接更改 Diagram.position 和 Diagram.scale 屬性而觸發事件.

在整個關係圖的狀態穩定下來之前,可以調用事務期間發生的圖表事件. 這通常意味着此類事件發生在佈局之前,因此節點可能沒有它們的最終位置, 鏈接可能沒有最終的路由, Diagram.documentBounds 和 Diagram.viewportBounds 可能還沒有更新. 這些事件可能對圖表進行額外的更改,從而可能導致額外的副作用.

發生在事務外部的事件,如果有修改需要您手動啓動和提交事務. 但是,有些圖表事件不允許您對圖表或模型進行任何更改.

當前定義的圖表事件名稱包括:

構造函數

constructor

  • DiagramEvent類構造函數生成一個空的DiagramEvent.你不需要調用這個構造函數.但是如果您這樣做了,您必須首先將diagram設置爲Diagram,然後才能進行其他使用.

    Returns DiagramEvent

屬性

diagram : Diagram

  • 獲取與事件關聯的圖表.

name : string

  • 獲取或設置圖表事件類型的名稱.此屬性應始終設置爲可識別的名稱列表之一,如圖表事件文檔中所列.

parameter : any

  • 獲取或設置描述對圖表事件subject更改的可選對象.此屬性默認爲null.

subject : any

  • 獲取或設置作爲圖表事件subject的可選對象.此屬性默認爲null.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章