跳转至

echolive:editor_controller

1.7.4

注册编辑器中的控制栏及其快捷键。

属性

属性
唯一键 name
继承

默认值

{
    name: undefined,
    type: 'item',
    title: 'missingno',
    icon: undefined,
    shortcut: {},
    action: {
        type: 'none',
        value: undefined
    }
}

预期值

name

控制器名称,用于绑定行为。

type

控制器类型,可选值为:

  • item:普通控制器,默认值。
  • hidden:不可见控制器。

title

控制器标题,用于其显示名称,支持使用本地化文本组件,本地化键名前缀为 editor.format.

icon

控制器图标名称,用于在控制栏中显示的图标,可选值为 icon 注册表中的项目。

shortcut

激活控制器可用的快捷键,包含以下字段:

  • keys:按键名称(基于 KeyboardEvent.code),支持组合键,ShiftAlt 应按此顺序选择填入。该字段中应忽略 Ctrl,因为无论如何该按键都会被要求按下。示例如下:
    • ArrowUp 表示 Ctrl +
    • Shift+KeyS 表示 Ctrl + ⇧ Shift + S
  • description:快捷键描述,用于在控制器鼠标悬停提示中提示快捷键。

另外,当定义了 alt_action 字段时,会自动添加对 Alt 键的绑定。

action

控制器触发后的行为,包含以下字段:

  • type:行为名称,可以是以下值:
    • insert_text_at_cursor:在光标处插入文本。
    • show_popups:呼出悬浮窗。
    • show_popups_set_option:呼出悬浮窗并设置选项。
    • none:什么也不做。
  • value:行为参数。
    • type 值为 insert_text_at_cursor 时,有以下字段:
      • before:在光标前插入的内容。
      • after:在光标后插入的内容。
      • forceInputAfter:布尔值,未选中文本时强制在光标后插入内容,默认为 false
      • forceRepeatBefore:布尔值,当光标前有相同内容时强制插入内容,默认为 false
      • forceRepeatAfter:布尔值,当光标后有相同内容时强制插入内容,默认为 false
      • firstClear:布尔值,当(起始)光标位于文本框起始位置时不在光标前插入内容,默认为 false
      • selectedTextFilter:选中文本过滤器,指定位于注册表 editor_controller_method 中的函数名称。
      • setFocus:布尔值,是否设置焦点,默认为 true
    • type 值为 show_popups 时,有以下字段:
      • id:悬浮窗的 ID。
      • focus:显示悬浮窗后需要聚焦的元素选择器字符串。
    • type 值为 insert_text_at_cursor 时,有以下字段:
      • show_popups 中的字段。
      • option:选项值。

alt_action

控制器以额外选项模式触发(通常由按住 Alt 键触发)后的行为,包含字段与 action 一致。

你知道吗

  • 此注册表中定义了一个名为 disabled_save 的不可见控制器,其行为是什么也不做,以此来阻止按下 Ctrl + S 时的浏览器默认行为。

历史

版本 描述
1.7.4 加入了 echolive:editor_controller 注册表。
1.7.8 新增 alt_action 字段。
新增 show_popups_set_option 行为。