拓展 / GraphUI / RailModeDefinition
接口: RailModeDefinition
注册到模式轨上的模式 - 集成商通过此门构建自己的“探索”或“丰富”模式。
注册模式呈现在分隔线下方的,在四种内置模式之后,按顺序排序。使用 graph.UIManager.addRailMode() 在图表生命周期中的任意时刻注册一个,或者通过 ctx.addRailMode() 从插件的 install 注册一个。要么返回一个处理器。
'pointer'模式拥有上下文工具面板:它声明tools,并且可以通过render添加任何其他内容。 'flyout' 模式改为提供 flyout 工厂,其面板在该模式处于活动状态时打开。
示例
const dispose = graph.UIManager.addRailMode({
id: 'explore', label: 'Explore', icon: compassSvg, shortcut: 'E',
tools: [{ id: 'expand', label: 'Expand', icon: plusSvg, kind: 'action', run: () => … }],
})属性
defaultTool?
optionaldefaultTool:string|null
当没有任何装备时,此模式所依赖的工具。
默认值
nullflyout()?
optionalflyout: (ui) =>Flyout
构建此模式的弹出面板。对于 kind: 'flyout' 是必需的,否则被忽略。面板安装到弹出槽中并随模式拆卸;子类自己的 mode 必须等于此定义的 id。
参数
ui
UIManager
返回值
icon
icon:
string
一个 SVG 字符串,注入了 innerHTML 和 ** 未清理** — 它必须是可信的。 CSS 将其在导轨上的大小设置为 20px。
id
id:
string
稳定身份:商店持有什么,以及轨道按钮上的data-mode。
keepPanelOpen?
optionalkeepPanelOpen:boolean
当启用此模式的工具之一时,请保持面板打开。武装通常会折叠面板,以便画布清晰 - 对于 Select 的套索来说是正确的,对于面板是工作区且其工具只说明如何提供它的模式是错误的。
默认值
falsekind?
optionalkind:"pointer"|"flyout"
'pointer' 模式拥有工具面板; 'flyout' 模式打开设置覆盖层并且没有工具。
默认值
'pointer'label
label:
string
铁路按钮的标签,逐字使用。
onEnter()?
optionalonEnter: () =>void
当模式激活时调用。
返回值
void
onExit()?
optionalonExit: () =>void
当离开该模式以及在活动状态下取消注册该模式时调用。解除这里设置的任何模式。不调用 UI 拆卸 - 使用您的插件已经跟踪的处理程序。
返回值
void
order?
optionalorder:number
注册模式之间的显示顺序,升序。同等顺序保持注册顺序。不影响始终排在第一位的内置模式。
默认值
0panelOpen?
optionalpanelOpen:boolean
第一次进入模式时是否展开工具面板。默认打开,以便可以发现该模式的工具。
默认值
truepanelResizable?
optionalpanelResizable:boolean
让分析人员拖动该模式的面板右边缘使其变宽或变窄。
默认关闭:图标行面板有一个右侧宽度,其上的手柄是一个不执行任何操作的控件。面板是工作区的模式——一个表单、一个列表、一组结果——是值得提供选择的地方。会话的每个模式都会记住宽度,并且不会保留,因此重新加载会再次从 panelWidth 开始。
默认值
falsepanelWidth?
optionalpanelWidth:number
此模式的工具面板的宽度(以像素为单位)。内置宽度适合一行图标+标签;其 render 槽保存表单或列表的模式需要更多。
默认值
216render()?
optionalrender: () =>HTMLElement
额外的面板内容,附加在工具行的下方——滑块、搜索框、行无法表达的任何内容。每当重建面板时都会重新调用。
返回值
HTMLElement
shortcut?
optionalshortcut:string
激活模式或在其已处于活动状态时切换其面板的单个键。通过普通的键绑定管理器注册,因此已绑定的键会被隐藏(带有警告),直到删除此模式。
tools?
该模式的工具,如面板中的行。当集合取决于当前选择或数据时传递函数;每次渲染时都会重新读取它。