コンテンツへスキップ

pivotick v3.0.0


ピボット / GraphUI / RailModeDefinition

インターフェース: RailModeDefinition ​

定義: interfaces/GraphUI.ts:440

モード レールに登録されたモード — インテグレータが独自に構築するドア 探索モードまたは充実モードを実行します。

登録されたモードは、4 つの組み込みモードの後に、分周器** の下の ** を次の順序でレンダリングします。 注文。グラフの存続期間中の任意の時点で 1 つを登録します。 graph.UIManager.addRailMode()、またはプラグインの install から ctx.addRailMode() を介して。 どちらもディスポーザーを返します。

'pointer' モードはコンテキスト ツール パネルを所有します。これは、tools を宣言し、 render を通じて他に何かを追加します。 'flyout' モードでは、代わりに フライアウト モードがアクティブなときにパネルが開く工場。

例 ​

js
const dispose = graph.UIManager.addRailMode({
    id: 'explore', label: 'Explore', icon: compassSvg, shortcut: 'E',
    tools: [{ id: 'expand', label: 'Expand', icon: plusSvg, kind: 'action', run: () => … }],
})

プロパティ ​

defaultTool? ​

optional defaultTool: string | null

定義: interfaces/GraphUI.ts:469

何も準備されていないときにこのモードが依存するツール。

デフォルト ​

ts
null

flyout()? ​

optional flyout: (ui) => Flyout

定義: interfaces/GraphUI.ts:515

このモードのフライアウト パネルを構築します。 kind: 'flyout' には必須ですが無視されます それ以外の場合は。パネルはフライアウト スロットに取り付けられ、モードで取り外されます。 サブクラス自身の mode は、この定義の id と等しくなければなりません。

パラメータ ​

ui ​

UIManager

返品 ​

Flyout


icon ​

icon: string

定義: interfaces/GraphUI.ts:449

SVG 文字列、innerHTML および ** サニタイズされていない** — である必要があります。 信頼されています。 CSS のサイズはレール上で 20 ピクセルになります。


id ​

id: string

定義: interfaces/GraphUI.ts:442

安定したアイデンティティ: ストアが保持しているもの、およびレール ボタンの data-mode。


keepPanelOpen? ​

optional keepPanelOpen: boolean

定義: interfaces/GraphUI.ts:499

このモードのツールのいずれかが有効になっているときは、パネルを開いたままにしてください。通常通りに装備する パネルを折りたたんでキャンバスをクリアします。選択のなげなわの場合は正しいですが、選択のなげなわの場合は間違っています。 パネルがワークスペースで、ツールはワークスペースにフィードする方法のみを示すモードです。

デフォルト ​

ts
false

kind? ​

optional kind: "pointer" | "flyout"

定義: interfaces/GraphUI.ts:455

'pointer' モードはツール パネルを所有します。 'flyout' モードでは、設定オーバーレイが開き、 道具がありません。

デフォルト ​

ts
'pointer'

label ​

label: string

定義: interfaces/GraphUI.ts:444

レール ボタンのラベル。そのまま使用されます。


onEnter()? ​

optional onEnter: () => void

定義: interfaces/GraphUI.ts:517

モードがアクティブになるときに呼び出されます。

返品 ​

void


onExit()? ​

optional onExit: () => void

定義: interfaces/GraphUI.ts:523

モードが終了するとき、およびアクティブなときに登録が解除されるときに呼び出されます。武装解除 ここでどのモードが装備されていても。 UI の分解では呼び出されません。ディスポーザーを使用してください。 プラグインはすでにそれを追跡しています。

返品 ​

void


order? ​

optional order: number

定義: interfaces/GraphUI.ts:467

登録されているモードの中で昇順に表示されます。等しい注文は登録を維持します 注文。常に最初に来る組み込みモードには影響しません。

デフォルト ​

ts
0

panelOpen? ​

optional panelOpen: boolean

定義: interfaces/GraphUI.ts:475

初めてモードに入ったときにツール パネルを展開するかどうか。デフォルトは モードのツールを検出できるように開きます。

デフォルト ​

ts
true

panelResizable? ​

optional panelResizable: boolean

定義: interfaces/GraphUI.ts:492

アナリストは、このモードのパネルの右端をドラッグして、幅を広くしたり狭くしたりできます。

デフォルトではオフ: アイコン行のパネルには 1 つの右幅があり、そのハンドルは 何もせずにコントロールする。パネルがワークスペース (フォーム、リスト、 一連の結果 — ここで選択肢を提供する価値があります。幅は記憶されています セッションのモードごとに実行され、永続化されないため、リロードは次から開始されます。 またpanelWidth。

デフォルト ​

ts
false

panelWidth? ​

optional panelWidth: number

定義: interfaces/GraphUI.ts:481

このモードのツール パネルの幅 (ピクセル単位)。組み込みの幅は次の行にフィットします。 アイコン + ラベル; render スロットがフォームまたはリストを保持するモードには、さらに多くのものが必要です。

デフォルト ​

ts
216

render()? ​

optional render: () => HTMLElement

定義: interfaces/GraphUI.ts:509

ツール行の下に追加される追加のパネルコンテンツ — スライダー、検索ボックス、 行では表現できないもの。パネルが再構築されるたびに再度呼び出されます。

返品 ​

HTMLElement


shortcut? ​

optional shortcut: string

定義: interfaces/GraphUI.ts:461

モードをアクティブにする、またはすでにモードになっている場合はパネルを切り替える単一のキー アクティブな。通常のキーバインドマネージャーを通じて登録されるため、すでにバインドされているキーは このモードが削除されるまで、(警告付きで) シャドウイングされます。


tools? ​

optional tools: RailTool[] | () => RailTool[]

定義: interfaces/GraphUI.ts:504

パネル内の行としてのモードのツール。セットが依存する場合に関数を渡します 現在の選択またはデータ。レンダリングのたびに再読み取りされます。