Implement expand/collapseBlock keys
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Peter Stuifzand 2020-11-01 22:10:00 +01:00
parent 86d1a25d4e
commit 7138597d7e
2 changed files with 28 additions and 3 deletions

View File

@ -528,8 +528,8 @@ function Editor(holder, input) {
}) })
editor.replaceChildren(id, results) editor.replaceChildren(id, results)
}).then(function () { }).then(function () {
editor.render() editor.render()
}) })
} }
} }
}); });

View File

@ -42,6 +42,8 @@ function editor(root, inputData, options) {
keymap.mapKey('Escape', 'leaveEditor') keymap.mapKey('Escape', 'leaveEditor')
keymap.mapKey('C-S-ArrowUp', 'blockMoveBackward') keymap.mapKey('C-S-ArrowUp', 'blockMoveBackward')
keymap.mapKey('C-S-ArrowDown', 'blockMoveForward') keymap.mapKey('C-S-ArrowDown', 'blockMoveForward')
keymap.mapKey('C-.', 'expandBlock')
keymap.mapKey('C-S->', 'collapseBlock')
function createStore(inputData) { function createStore(inputData) {
let data = [ let data = [
@ -152,7 +154,10 @@ function editor(root, inputData, options) {
leaveEditor, leaveEditor,
blockMoveBackward, blockMoveBackward,
blockMoveForward blockMoveForward,
expandBlock,
collapseBlock
}; };
root.classList.add('root') root.classList.add('root')
@ -609,6 +614,26 @@ function editor(root, inputData, options) {
return false return false
} }
function expandBlock(event) {
let open = true
store.update(cursor.getId(store), function (item) {
item.fold = open ? 'open' : 'closed'
return item
})
trigger('change')
return false
}
function collapseBlock(event) {
let open = false
store.update(cursor.getId(store), function (item) {
item.fold = open ? 'open' : 'closed'
return item
})
trigger('change')
return false
}
$(root).on('keydown', function (event) { $(root).on('keydown', function (event) {
return keymap.handleKey(EDITOR, event) return keymap.handleKey(EDITOR, event)
}) })