pivotick / GraphUI / RailModeDefinition
Interface: RailModeDefinition
Definido em: interfaces/GraphUI.ts:440
Um modo registrado no trilho de modo — a porta pela qual um integrador cria seu próprio modo Explorar ou Enriquecer.
Os modos registrados são renderizados abaixo de um divisor, após os quatro modos integrados, ordenados por ordem. Registre um em qualquer ponto da vida do gráfico com graph.UIManager.addRailMode(), ou a partir de um plugin install via ctx.addRailMode(). Ou retorna um triturador.
Um modo 'pointer' possui o painel de ferramentas contextuais: ele declara tools e pode adicionar qualquer outra coisa através de render. Em vez disso, um modo 'flyout' fornece uma fábrica flyout cujo painel abre enquanto o modo está ativo.
Exemplo
const dispose = graph.UIManager.addRailMode({
id: 'explore', label: 'Explore', icon: compassSvg, shortcut: 'E',
tools: [{ id: 'expand', label: 'Expand', icon: plusSvg, kind: 'action', run: () => … }],
})Propriedades
defaultTool?
optionaldefaultTool:string|null
Definido em: interfaces/GraphUI.ts:469
A ferramenta em que este modo repousa quando nada está armado.
Padrão
nullflyout()?
optionalflyout: (ui) =>Flyout
Definido em: interfaces/GraphUI.ts:515
Constrói o painel flyout deste modo. Obrigatório para kind: 'flyout' e ignorado caso contrário. O painel é montado no slot flyout e desmontado com o modo; o próprio mode da subclasse deve ser igual ao id desta definição.
Parâmetros
ui
UIManager
Retorno
icon
icon:
string
Definido em: interfaces/GraphUI.ts:449
Uma string SVG, injetada com innerHTML e não higienizada — deve ser confiável. CSS dimensiona para 20px no trilho.
id
id:
string
Definido em: interfaces/GraphUI.ts:442
Identidade estável: o que a loja contém e o data-mode no botão do trilho.
keepPanelOpen?
optionalkeepPanelOpen:boolean
Definido em: interfaces/GraphUI.ts:499
Mantenha o painel aberto quando uma das ferramentas deste modo estiver armada. Armar normalmente recolhe o painel para que a tela fique limpa — certo para o Lasso do Select, errado para um modo cujo painel é a área de trabalho e cujas ferramentas apenas dizem como alimentá-lo.
Padrão
falsekind?
optionalkind:"pointer"|"flyout"
Definido em: interfaces/GraphUI.ts:455
Os modos 'pointer' possuem o painel de ferramentas; Os modos 'flyout' abrem uma sobreposição de configurações e não possuem ferramentas.
Padrão
'pointer'label
label:
string
Definido em: interfaces/GraphUI.ts:444
O rótulo do botão ferroviário, usado literalmente.
onEnter()?
optionalonEnter: () =>void
Definido em: interfaces/GraphUI.ts:517
Chamado quando o modo se torna ativo.
Retorno
void
onExit()?
optionalonExit: () =>void
Definido em: interfaces/GraphUI.ts:523
Chamado quando o modo é abandonado e quando seu registro é cancelado enquanto está ativo. Desarme qualquer que seja o modo armado aqui. Não é necessário desmontar a UI – use os trituradores que seu plugin já rastreia para isso.
Retorno
void
order?
optionalorder:number
Definido em: interfaces/GraphUI.ts:467
Ordem de exibição entre os modos registrados, crescente. Pedidos iguais mantêm a ordem de registro. Não afeta os modos integrados, que sempre vêm em primeiro lugar.
Padrão
0panelOpen?
optionalpanelOpen:boolean
Definido em: interfaces/GraphUI.ts:475
Se o painel de ferramentas é expandido na primeira vez que o modo é acessado. O padrão é aberto para que as ferramentas do modo possam ser descobertas.
Padrão
truepanelResizable?
optionalpanelResizable:boolean
Definido em: interfaces/GraphUI.ts:492
Deixe o analista arrastar o painel deste modo para mais ou para menos pela borda direita.
Desativado por padrão: um painel de linhas de ícones tem uma largura à direita e uma alça nele é um controle sem nada para fazer. Um modo cujo painel é a área de trabalho — um formulário, uma lista, um conjunto de resultados — é onde vale a pena oferecer a escolha. A largura é lembrada por modo da sessão e não é persistente, portanto, uma recarga começa em panelWidth novamente.
Padrão
falsepanelWidth?
optionalpanelWidth:number
Definido em: interfaces/GraphUI.ts:481
Qual é a largura do painel de ferramentas deste modo, em pixels. A largura interna cabe em uma linha de ícone + rótulo; um modo cujo slot render contém um formulário ou uma lista precisa de mais.
Padrão
216render()?
optionalrender: () =>HTMLElement
Definido em: interfaces/GraphUI.ts:509
Conteúdo extra do painel, anexado abaixo das linhas de ferramentas — um controle deslizante, uma caixa de pesquisa, qualquer coisa que as linhas não possam expressar. Invocado novamente sempre que o painel é reconstruído.
Retorno
HTMLElement
shortcut?
optionalshortcut:string
Definido em: interfaces/GraphUI.ts:461
Uma única tecla que ativa o modo ou alterna seu painel quando já está ativo. Registrado através do gerenciador de atalhos de teclado normal, portanto, uma tecla já vinculada fica oculta (com um aviso) até que esse modo seja removido.
tools?
Definido em: interfaces/GraphUI.ts:504
As ferramentas do modo, como linhas em seu painel. Passa uma função quando o conjunto depende da seleção ou dos dados atuais; ele é relido em cada renderização.