Pular para o conteúdo

pivotick v3.0.0


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 ​

js
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? ​

optional defaultTool: string | null

Definido em: interfaces/GraphUI.ts:469

A ferramenta em que este modo repousa quando nada está armado.

Padrão ​

ts
null

flyout()? ​

optional flyout: (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 ​

Flyout


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? ​

optional keepPanelOpen: 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 ​

ts
false

kind? ​

optional kind: "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 ​

ts
'pointer'

label ​

label: string

Definido em: interfaces/GraphUI.ts:444

O rótulo do botão ferroviário, usado literalmente.


onEnter()? ​

optional onEnter: () => void

Definido em: interfaces/GraphUI.ts:517

Chamado quando o modo se torna ativo.

Retorno ​

void


onExit()? ​

optional onExit: () => 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? ​

optional order: 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 ​

ts
0

panelOpen? ​

optional panelOpen: 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 ​

ts
true

panelResizable? ​

optional panelResizable: 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 ​

ts
false

panelWidth? ​

optional panelWidth: 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 ​

ts
216

render()? ​

optional render: () => 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? ​

optional shortcut: 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? ​

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

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.