marktext/src/main/menu/templates/format.js
Felix Häusler cb57af4b2a
Refactor menu actions and shortcut handling (#3032)
* Refactor menu actions and shortcut handling

* Remove duplicated command id

* Update docs
2022-03-27 10:54:02 +08:00

112 lines
3.1 KiB
JavaScript

import * as actions from '../actions/format'
export default function (keybindings) {
return {
id: 'formatMenuItem',
label: 'F&ormat',
submenu: [{
id: 'strongMenuItem',
label: 'Bold',
type: 'checkbox',
accelerator: keybindings.getAccelerator('format.strong'),
click (menuItem, focusedWindow) {
actions.strong(focusedWindow)
}
}, {
id: 'emphasisMenuItem',
label: 'Italic',
type: 'checkbox',
accelerator: keybindings.getAccelerator('format.emphasis'),
click (menuItem, focusedWindow) {
actions.emphasis(focusedWindow)
}
}, {
id: 'underlineMenuItem',
label: 'Underline',
type: 'checkbox',
accelerator: keybindings.getAccelerator('format.underline'),
click (menuItem, focusedWindow) {
actions.underline(focusedWindow)
}
}, {
type: 'separator'
}, {
id: 'superscriptMenuItem',
label: 'Superscript',
type: 'checkbox',
accelerator: keybindings.getAccelerator('format.superscript'),
click (menuItem, focusedWindow) {
actions.superscript(focusedWindow)
}
}, {
id: 'subscriptMenuItem',
label: 'Subscript',
type: 'checkbox',
accelerator: keybindings.getAccelerator('format.subscript'),
click (menuItem, focusedWindow) {
actions.subscript(focusedWindow)
}
}, {
id: 'highlightMenuItem',
label: 'Highlight',
type: 'checkbox',
accelerator: keybindings.getAccelerator('format.highlight'),
click (menuItem, focusedWindow) {
actions.highlight(focusedWindow)
}
}, {
type: 'separator'
}, {
id: 'inlineCodeMenuItem',
label: 'Inline Code',
type: 'checkbox',
accelerator: keybindings.getAccelerator('format.inline-code'),
click (menuItem, focusedWindow) {
actions.inlineCode(focusedWindow)
}
}, {
id: 'inlineMathMenuItem',
label: 'Inline Math',
type: 'checkbox',
accelerator: keybindings.getAccelerator('format.inline-math'),
click (menuItem, focusedWindow) {
actions.inlineMath(focusedWindow)
}
}, {
type: 'separator'
}, {
id: 'strikeMenuItem',
label: 'Strikethrough',
type: 'checkbox',
accelerator: keybindings.getAccelerator('format.strike'),
click (menuItem, focusedWindow) {
actions.strikethrough(focusedWindow)
}
}, {
id: 'hyperlinkMenuItem',
label: 'Hyperlink',
type: 'checkbox',
accelerator: keybindings.getAccelerator('format.hyperlink'),
click (menuItem, focusedWindow) {
actions.hyperlink(focusedWindow)
}
}, {
id: 'imageMenuItem',
label: 'Image',
type: 'checkbox',
accelerator: keybindings.getAccelerator('format.image'),
click (menuItem, focusedWindow) {
actions.image(focusedWindow)
}
}, {
type: 'separator'
}, {
label: 'Clear Formatting',
accelerator: keybindings.getAccelerator('format.clear-format'),
click (menuItem, focusedWindow) {
actions.clearFormat(focusedWindow)
}
}]
}
}