Aller au contenu

pivotick v3.0.0


pivotick / GraphUI / RailModeDefinition

Interface: RailModeDefinition ​

Défini dans : interfaces/GraphUI.ts:440

Un mode enregistré sur le rail de mode – la porte par laquelle un intégrateur crée son propre mode Explorer ou Enrichir.

Les modes enregistrés s'affichent sous un diviseur, après les quatre modes intégrés, classés par order. Enregistrez-en un à tout moment dans la vie du graphique avec graph.UIManager.addRailMode(), ou à partir du install d'un plugin via ctx.addRailMode(). Soit renvoie un broyeur.

Un mode 'pointer' possède le panneau d'outils contextuel : il déclare tools, et peut ajouter n'importe quoi d'autre via render. Un mode 'flyout' alimente à la place une usine flyout dont le panneau s'ouvre lorsque le mode est actif.

Exemple ​

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

Propriétés ​

defaultTool? ​

optional defaultTool: string | null

Défini dans : interfaces/GraphUI.ts:469

L'outil sur lequel repose ce mode lorsque rien n'est armé.

Valeur par défaut ​

ts
null

flyout()? ​

optional flyout: (ui) => Flyout

Défini dans : interfaces/GraphUI.ts:515

Construit le panneau volant de ce mode. Obligatoire pour kind: 'flyout' et ignoré sinon. Le panneau est monté dans la fente déroulante et démonté avec le mode ; le propre mode de la sous-classe doit être égal au id de cette définition.

Paramètres ​

ui ​

UIManager

Renvoie ​

Flyout


icon ​

icon: string

Défini dans : interfaces/GraphUI.ts:449

Une chaîne SVG, injectée avec innerHTML et non aseptisée — il faut lui faire confiance. CSS le dimensionne à 20px sur le rail.


id ​

id: string

Défini dans : interfaces/GraphUI.ts:442

Identité stable : ce que détient le magasin et le data-mode sur le bouton du rail.


keepPanelOpen? ​

optional keepPanelOpen: boolean

Défini dans : interfaces/GraphUI.ts:499

Gardez le panneau ouvert lorsqu'un des outils de ce mode est armé. L'armement réduit normalement le panneau afin que le canevas soit clair - bon pour le lasso de Select, mauvais pour un mode dont le panneau est l'espace de travail et dont les outils indiquent uniquement comment l'alimenter.

Valeur par défaut ​

ts
false

kind? ​

optional kind: "pointer" | "flyout"

Défini dans : interfaces/GraphUI.ts:455

Les modes 'pointer' possèdent le panneau d'outils ; Les modes 'flyout' ouvrent une superposition de paramètres et n'ont aucun outil.

Valeur par défaut ​

ts
'pointer'

label ​

label: string

Défini dans : interfaces/GraphUI.ts:444

L'étiquette du bouton ferroviaire, utilisée textuellement.


onEnter()? ​

optional onEnter: () => void

Défini dans : interfaces/GraphUI.ts:517

Appelé lorsque le mode devient actif.

Renvoie ​

void


onExit()? ​

optional onExit: () => void

Défini dans : interfaces/GraphUI.ts:523

Appelé lorsque le mode est quitté et lorsqu'il n'est pas enregistré alors qu'il est actif. Désarmez quel que soit le mode armé ici. Non appelé lors du démontage de l'interface utilisateur - utilisez les broyeurs que votre plugin suit déjà pour cela.

Renvoie ​

void


order? ​

optional order: number

Défini dans : interfaces/GraphUI.ts:467

Ordre d'affichage parmi les modes enregistrés, croissant. Les ordres égaux conservent l'ordre d'enregistrement. N'affecte pas les modes intégrés, qui viennent toujours en premier.

Valeur par défaut ​

ts
0

panelOpen? ​

optional panelOpen: boolean

Défini dans : interfaces/GraphUI.ts:475

Si le panneau d'outils est développé la première fois que le mode est activé. Par défaut, s'ouvre pour que les outils du mode soient détectables.

Valeur par défaut ​

ts
true

panelResizable? ​

optional panelResizable: boolean

Défini dans : interfaces/GraphUI.ts:492

Laissez l'analyste élargir ou rétrécir le panneau de ce mode par son bord droit.

Désactivé par défaut : un panneau de rangées d'icônes a une largeur droite et une poignée dessus est un contrôle qui n'a rien à faire. Un mode dont le panneau est l'espace de travail — un formulaire, une liste, un ensemble de résultats — est l'endroit où le choix mérite d'être proposé. La largeur est mémorisée par mode pour la session et n'est pas conservée, donc un rechargement recommence à partir de panelWidth.

Valeur par défaut ​

ts
false

panelWidth? ​

optional panelWidth: number

Défini dans : interfaces/GraphUI.ts:481

Quelle est la largeur du panneau d'outils de ce mode, en pixels. La largeur intégrée s'adapte à une ligne d'icône + étiquette ; un mode dont l'emplacement render contient un formulaire ou une liste a besoin de plus.

Valeur par défaut ​

ts
216

render()? ​

optional render: () => HTMLElement

Défini dans : interfaces/GraphUI.ts:509

Contenu du panneau supplémentaire, ajouté sous aux lignes d'outils : un curseur, un champ de recherche, tout ce que les lignes ne peuvent pas exprimer. Réinvoqué chaque fois que le panneau est reconstruit.

Renvoie ​

HTMLElement


shortcut? ​

optional shortcut: string

Défini dans : interfaces/GraphUI.ts:461

Une seule touche qui active le mode, ou fait basculer son panneau lorsqu'il est déjà actif. Enregistré via le gestionnaire de raccourcis clavier normal, de sorte qu'une clé déjà liée est masquée (avec un avertissement) jusqu'à ce que ce mode soit supprimé.


tools? ​

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

Défini dans : interfaces/GraphUI.ts:504

Les outils du mode, sous forme de lignes dans son panneau. Passez une fonction lorsque l'ensemble dépend de la sélection ou des données actuelles ; il est relu à chaque rendu.