ピボット / GraphUI / RailModeDefinition
インターフェース: RailModeDefinition
モード レールに登録されたモード — インテグレータが独自に構築するドア 探索モードまたは充実モードを実行します。
登録されたモードは、4 つの組み込みモードの後に、分周器** の下の ** を次の順序でレンダリングします。 注文。グラフの存続期間中の任意の時点で 1 つを登録します。 graph.UIManager.addRailMode()、またはプラグインの install から ctx.addRailMode() を介して。 どちらもディスポーザーを返します。
'pointer' モードはコンテキスト ツール パネルを所有します。これは、tools を宣言し、 render を通じて他に何かを追加します。 'flyout' モードでは、代わりに フライアウト モードがアクティブなときにパネルが開く工場。
例
const dispose = graph.UIManager.addRailMode({
id: 'explore', label: 'Explore', icon: compassSvg, shortcut: 'E',
tools: [{ id: 'expand', label: 'Expand', icon: plusSvg, kind: 'action', run: () => … }],
})プロパティ
defaultTool?
optionaldefaultTool:string|null
何も準備されていないときにこのモードが依存するツール。
デフォルト
nullflyout()?
optionalflyout: (ui) =>Flyout
このモードのフライアウト パネルを構築します。 kind: 'flyout' には必須ですが無視されます それ以外の場合は。パネルはフライアウト スロットに取り付けられ、モードで取り外されます。 サブクラス自身の mode は、この定義の id と等しくなければなりません。
パラメータ
ui
UIManager
返品
icon
icon:
string
SVG 文字列、innerHTML および ** サニタイズされていない** — である必要があります。 信頼されています。 CSS のサイズはレール上で 20 ピクセルになります。
id
id:
string
安定したアイデンティティ: ストアが保持しているもの、およびレール ボタンの data-mode。
keepPanelOpen?
optionalkeepPanelOpen:boolean
このモードのツールのいずれかが有効になっているときは、パネルを開いたままにしてください。通常通りに装備する パネルを折りたたんでキャンバスをクリアします。選択のなげなわの場合は正しいですが、選択のなげなわの場合は間違っています。 パネルがワークスペースで、ツールはワークスペースにフィードする方法のみを示すモードです。
デフォルト
falsekind?
optionalkind:"pointer"|"flyout"
'pointer' モードはツール パネルを所有します。 'flyout' モードでは、設定オーバーレイが開き、 道具がありません。
デフォルト
'pointer'label
label:
string
レール ボタンのラベル。そのまま使用されます。
onEnter()?
optionalonEnter: () =>void
モードがアクティブになるときに呼び出されます。
返品
void
onExit()?
optionalonExit: () =>void
モードが終了するとき、およびアクティブなときに登録が解除されるときに呼び出されます。武装解除 ここでどのモードが装備されていても。 UI の分解では呼び出されません。ディスポーザーを使用してください。 プラグインはすでにそれを追跡しています。
返品
void
order?
optionalorder:number
登録されているモードの中で昇順に表示されます。等しい注文は登録を維持します 注文。常に最初に来る組み込みモードには影響しません。
デフォルト
0panelOpen?
optionalpanelOpen:boolean
初めてモードに入ったときにツール パネルを展開するかどうか。デフォルトは モードのツールを検出できるように開きます。
デフォルト
truepanelResizable?
optionalpanelResizable:boolean
アナリストは、このモードのパネルの右端をドラッグして、幅を広くしたり狭くしたりできます。
デフォルトではオフ: アイコン行のパネルには 1 つの右幅があり、そのハンドルは 何もせずにコントロールする。パネルがワークスペース (フォーム、リスト、 一連の結果 — ここで選択肢を提供する価値があります。幅は記憶されています セッションのモードごとに実行され、永続化されないため、リロードは次から開始されます。 またpanelWidth。
デフォルト
falsepanelWidth?
optionalpanelWidth:number
このモードのツール パネルの幅 (ピクセル単位)。組み込みの幅は次の行にフィットします。 アイコン + ラベル; render スロットがフォームまたはリストを保持するモードには、さらに多くのものが必要です。
デフォルト
216render()?
optionalrender: () =>HTMLElement
ツール行の下に追加される追加のパネルコンテンツ — スライダー、検索ボックス、 行では表現できないもの。パネルが再構築されるたびに再度呼び出されます。
返品
HTMLElement
shortcut?
optionalshortcut:string
モードをアクティブにする、またはすでにモードになっている場合はパネルを切り替える単一のキー アクティブな。通常のキーバインドマネージャーを通じて登録されるため、すでにバインドされているキーは このモードが削除されるまで、(警告付きで) シャドウイングされます。
tools?
パネル内の行としてのモードのツール。セットが依存する場合に関数を渡します 現在の選択またはデータ。レンダリングのたびに再読み取りされます。