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
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?
optionaldefaultTool: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
nullflyout()?
optionalflyout: (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
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?
optionalkeepPanelOpen: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
falsekind?
optionalkind:"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
'pointer'label
label:
string
Défini dans : interfaces/GraphUI.ts:444
L'étiquette du bouton ferroviaire, utilisée textuellement.
onEnter()?
optionalonEnter: () =>void
Défini dans : interfaces/GraphUI.ts:517
Appelé lorsque le mode devient actif.
Renvoie
void
onExit()?
optionalonExit: () =>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?
optionalorder: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
0panelOpen?
optionalpanelOpen: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
truepanelResizable?
optionalpanelResizable: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
falsepanelWidth?
optionalpanelWidth: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
216render()?
optionalrender: () =>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?
optionalshortcut: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?
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.