mirror of
https://github.com/discourse/discourse.git
synced 2025-03-09 14:34:35 +00:00
DEV: Define keyboard shortcuts help onShow, and un-define onClose (#9355)
This is so we don't have a big hash just sitting in the controller definition, it is only created when it is needed. From comment here #9318 (comment)
This commit is contained in:
parent
93c38cc175
commit
7e42963590
@ -50,176 +50,188 @@ function buildShortcut(
|
|||||||
export default Controller.extend(ModalFunctionality, {
|
export default Controller.extend(ModalFunctionality, {
|
||||||
onShow() {
|
onShow() {
|
||||||
this.set("modal.modalClass", "keyboard-shortcuts-modal");
|
this.set("modal.modalClass", "keyboard-shortcuts-modal");
|
||||||
|
this._defineShortcuts();
|
||||||
|
},
|
||||||
|
|
||||||
|
onClose() {
|
||||||
|
this.set("shortcuts", null);
|
||||||
},
|
},
|
||||||
|
|
||||||
showBookmarkShortcuts: setting("enable_bookmarks_with_reminders"),
|
showBookmarkShortcuts: setting("enable_bookmarks_with_reminders"),
|
||||||
|
|
||||||
shortcuts: {
|
_defineShortcuts() {
|
||||||
jump_to: {
|
this.set("shortcuts", {
|
||||||
home: buildShortcut("jump_to.home", { keys1: ["g", "h"] }),
|
jump_to: {
|
||||||
latest: buildShortcut("jump_to.latest", { keys1: ["g", "l"] }),
|
home: buildShortcut("jump_to.home", { keys1: ["g", "h"] }),
|
||||||
new: buildShortcut("jump_to.new", { keys1: ["g", "n"] }),
|
latest: buildShortcut("jump_to.latest", { keys1: ["g", "l"] }),
|
||||||
unread: buildShortcut("jump_to.unread", { keys1: ["g", "u"] }),
|
new: buildShortcut("jump_to.new", { keys1: ["g", "n"] }),
|
||||||
categories: buildShortcut("jump_to.categories", { keys1: ["g", "c"] }),
|
unread: buildShortcut("jump_to.unread", { keys1: ["g", "u"] }),
|
||||||
top: buildShortcut("jump_to.top", { keys1: ["g", "t"] }),
|
categories: buildShortcut("jump_to.categories", { keys1: ["g", "c"] }),
|
||||||
bookmarks: buildShortcut("jump_to.bookmarks", { keys1: ["g", "b"] }),
|
top: buildShortcut("jump_to.top", { keys1: ["g", "t"] }),
|
||||||
profile: buildShortcut("jump_to.profile", { keys1: ["g", "p"] }),
|
bookmarks: buildShortcut("jump_to.bookmarks", { keys1: ["g", "b"] }),
|
||||||
messages: buildShortcut("jump_to.messages", { keys1: ["g", "m"] }),
|
profile: buildShortcut("jump_to.profile", { keys1: ["g", "p"] }),
|
||||||
drafts: buildShortcut("jump_to.drafts", { keys1: ["g", "d"] })
|
messages: buildShortcut("jump_to.messages", { keys1: ["g", "m"] }),
|
||||||
},
|
drafts: buildShortcut("jump_to.drafts", { keys1: ["g", "d"] })
|
||||||
navigation: {
|
},
|
||||||
back: buildShortcut("navigation.back", { keys1: ["u"] }),
|
navigation: {
|
||||||
jump: buildShortcut("navigation.jump", { keys1: ["#"] }),
|
back: buildShortcut("navigation.back", { keys1: ["u"] }),
|
||||||
up_down: buildShortcut("navigation.up_down", {
|
jump: buildShortcut("navigation.jump", { keys1: ["#"] }),
|
||||||
keys1: ["k"],
|
up_down: buildShortcut("navigation.up_down", {
|
||||||
keys2: ["j"],
|
keys1: ["k"],
|
||||||
shortcutsDelimiter: "slash"
|
keys2: ["j"],
|
||||||
}),
|
shortcutsDelimiter: "slash"
|
||||||
open: buildShortcut("navigation.open", { keys1: ["o"], keys2: [ENTER] }),
|
}),
|
||||||
next_prev: buildShortcut("navigation.next_prev", {
|
open: buildShortcut("navigation.open", {
|
||||||
keys1: [SHIFT, "j"],
|
keys1: ["o"],
|
||||||
keys2: [SHIFT, "k"],
|
keys2: [ENTER]
|
||||||
keysDelimiter: PLUS,
|
}),
|
||||||
shortcutsDelimiter: "slash"
|
next_prev: buildShortcut("navigation.next_prev", {
|
||||||
}),
|
keys1: [SHIFT, "j"],
|
||||||
go_to_unread_post: buildShortcut("navigation.go_to_unread_post", {
|
keys2: [SHIFT, "k"],
|
||||||
keys1: [SHIFT, "l"],
|
keysDelimiter: PLUS,
|
||||||
keysDelimiter: PLUS
|
shortcutsDelimiter: "slash"
|
||||||
})
|
}),
|
||||||
},
|
go_to_unread_post: buildShortcut("navigation.go_to_unread_post", {
|
||||||
application: {
|
keys1: [SHIFT, "l"],
|
||||||
hamburger_menu: buildShortcut("application.hamburger_menu", {
|
keysDelimiter: PLUS
|
||||||
keys1: ["="]
|
})
|
||||||
}),
|
},
|
||||||
user_profile_menu: buildShortcut("application.user_profile_menu", {
|
application: {
|
||||||
keys1: ["p"]
|
hamburger_menu: buildShortcut("application.hamburger_menu", {
|
||||||
}),
|
keys1: ["="]
|
||||||
create: buildShortcut("application.create", { keys1: ["c"] }),
|
}),
|
||||||
show_incoming_updated_topics: buildShortcut(
|
user_profile_menu: buildShortcut("application.user_profile_menu", {
|
||||||
"application.show_incoming_updated_topics",
|
keys1: ["p"]
|
||||||
{ keys1: ["."] }
|
}),
|
||||||
),
|
create: buildShortcut("application.create", { keys1: ["c"] }),
|
||||||
search: buildShortcut("application.search", {
|
show_incoming_updated_topics: buildShortcut(
|
||||||
keys1: ["/"],
|
"application.show_incoming_updated_topics",
|
||||||
keys2: [CTRL, ALT, "f"],
|
{ keys1: ["."] }
|
||||||
keysDelimiter: PLUS
|
),
|
||||||
}),
|
search: buildShortcut("application.search", {
|
||||||
help: buildShortcut("application.help", { keys1: ["?"] }),
|
keys1: ["/"],
|
||||||
dismiss_new_posts: buildShortcut("application.dismiss_new_posts", {
|
keys2: [CTRL, ALT, "f"],
|
||||||
keys1: ["x", "r"]
|
keysDelimiter: PLUS
|
||||||
}),
|
}),
|
||||||
dismiss_topics: buildShortcut("application.dismiss_topics", {
|
help: buildShortcut("application.help", { keys1: ["?"] }),
|
||||||
keys1: ["x", "t"]
|
dismiss_new_posts: buildShortcut("application.dismiss_new_posts", {
|
||||||
}),
|
keys1: ["x", "r"]
|
||||||
log_out: buildShortcut("application.log_out", {
|
}),
|
||||||
keys1: [SHIFT, "z"],
|
dismiss_topics: buildShortcut("application.dismiss_topics", {
|
||||||
keys2: [SHIFT, "z"],
|
keys1: ["x", "t"]
|
||||||
keysDelimiter: PLUS,
|
}),
|
||||||
shortcutsDelimiter: "space"
|
log_out: buildShortcut("application.log_out", {
|
||||||
})
|
keys1: [SHIFT, "z"],
|
||||||
},
|
keys2: [SHIFT, "z"],
|
||||||
composing: {
|
keysDelimiter: PLUS,
|
||||||
return: buildShortcut("composing.return", {
|
shortcutsDelimiter: "space"
|
||||||
keys1: [SHIFT, "c"],
|
})
|
||||||
keysDelimiter: PLUS
|
},
|
||||||
}),
|
composing: {
|
||||||
fullscreen: buildShortcut("composing.fullscreen", {
|
return: buildShortcut("composing.return", {
|
||||||
keys1: [SHIFT, "F11"],
|
keys1: [SHIFT, "c"],
|
||||||
keysDelimiter: PLUS
|
keysDelimiter: PLUS
|
||||||
})
|
}),
|
||||||
},
|
fullscreen: buildShortcut("composing.fullscreen", {
|
||||||
bookmarks: {
|
keys1: [SHIFT, "F11"],
|
||||||
enter: buildShortcut("bookmarks.enter", { keys1: [ENTER] }),
|
keysDelimiter: PLUS
|
||||||
later_today: buildShortcut("bookmarks.later_today", {
|
})
|
||||||
keys1: ["l", "t"],
|
},
|
||||||
shortcutsDelimiter: "space"
|
bookmarks: {
|
||||||
}),
|
enter: buildShortcut("bookmarks.enter", { keys1: [ENTER] }),
|
||||||
later_this_week: buildShortcut("bookmarks.later_this_week", {
|
later_today: buildShortcut("bookmarks.later_today", {
|
||||||
keys1: ["l", "w"],
|
keys1: ["l", "t"],
|
||||||
shortcutsDelimiter: "space"
|
shortcutsDelimiter: "space"
|
||||||
}),
|
}),
|
||||||
tomorrow: buildShortcut("bookmarks.tomorrow", {
|
later_this_week: buildShortcut("bookmarks.later_this_week", {
|
||||||
keys1: ["n", "d"],
|
keys1: ["l", "w"],
|
||||||
shortcutsDelimiter: "space"
|
shortcutsDelimiter: "space"
|
||||||
}),
|
}),
|
||||||
next_week: buildShortcut("bookmarks.next_week", {
|
tomorrow: buildShortcut("bookmarks.tomorrow", {
|
||||||
keys1: ["n", "w"],
|
keys1: ["n", "d"],
|
||||||
shortcutsDelimiter: "space"
|
shortcutsDelimiter: "space"
|
||||||
}),
|
}),
|
||||||
next_business_week: buildShortcut("bookmarks.next_business_week", {
|
next_week: buildShortcut("bookmarks.next_week", {
|
||||||
keys1: ["n", "b", "w"],
|
keys1: ["n", "w"],
|
||||||
shortcutsDelimiter: "space"
|
shortcutsDelimiter: "space"
|
||||||
}),
|
}),
|
||||||
next_business_day: buildShortcut("bookmarks.next_business_day", {
|
next_business_week: buildShortcut("bookmarks.next_business_week", {
|
||||||
keys1: ["n", "b", "d"],
|
keys1: ["n", "b", "w"],
|
||||||
shortcutsDelimiter: "space"
|
shortcutsDelimiter: "space"
|
||||||
}),
|
}),
|
||||||
custom: buildShortcut("bookmarks.custom", {
|
next_business_day: buildShortcut("bookmarks.next_business_day", {
|
||||||
keys1: ["c", "r"],
|
keys1: ["n", "b", "d"],
|
||||||
shortcutsDelimiter: "space"
|
shortcutsDelimiter: "space"
|
||||||
}),
|
}),
|
||||||
none: buildShortcut("bookmarks.none", {
|
custom: buildShortcut("bookmarks.custom", {
|
||||||
keys1: ["n", "r"],
|
keys1: ["c", "r"],
|
||||||
shortcutsDelimiter: "space"
|
shortcutsDelimiter: "space"
|
||||||
})
|
}),
|
||||||
},
|
none: buildShortcut("bookmarks.none", {
|
||||||
actions: {
|
keys1: ["n", "r"],
|
||||||
bookmark_topic: buildShortcut("actions.bookmark_topic", { keys1: ["f"] }),
|
shortcutsDelimiter: "space"
|
||||||
reply_as_new_topic: buildShortcut("actions.reply_as_new_topic", {
|
})
|
||||||
keys1: ["t"]
|
},
|
||||||
}),
|
actions: {
|
||||||
reply_topic: buildShortcut("actions.reply_topic", {
|
bookmark_topic: buildShortcut("actions.bookmark_topic", {
|
||||||
keys1: [SHIFT, "r"],
|
keys1: ["f"]
|
||||||
keysDelimiter: PLUS
|
}),
|
||||||
}),
|
reply_as_new_topic: buildShortcut("actions.reply_as_new_topic", {
|
||||||
reply_post: buildShortcut("actions.reply_post", { keys1: ["r"] }),
|
keys1: ["t"]
|
||||||
quote_post: buildShortcut("actions.quote_post", { keys1: ["q"] }),
|
}),
|
||||||
pin_unpin_topic: buildShortcut("actions.pin_unpin_topic", {
|
reply_topic: buildShortcut("actions.reply_topic", {
|
||||||
keys1: [SHIFT, "p"],
|
keys1: [SHIFT, "r"],
|
||||||
keysDelimiter: PLUS
|
keysDelimiter: PLUS
|
||||||
}),
|
}),
|
||||||
share_topic: buildShortcut("actions.share_topic", {
|
reply_post: buildShortcut("actions.reply_post", { keys1: ["r"] }),
|
||||||
keys1: [SHIFT, "s"],
|
quote_post: buildShortcut("actions.quote_post", { keys1: ["q"] }),
|
||||||
keysDelimiter: PLUS
|
pin_unpin_topic: buildShortcut("actions.pin_unpin_topic", {
|
||||||
}),
|
keys1: [SHIFT, "p"],
|
||||||
share_post: buildShortcut("actions.share_post", { keys1: ["s"] }),
|
keysDelimiter: PLUS
|
||||||
like: buildShortcut("actions.like", { keys1: ["l"] }),
|
}),
|
||||||
flag: buildShortcut("actions.flag", { keys1: ["!"] }),
|
share_topic: buildShortcut("actions.share_topic", {
|
||||||
bookmark: buildShortcut("actions.bookmark", { keys1: ["b"] }),
|
keys1: [SHIFT, "s"],
|
||||||
edit: buildShortcut("actions.edit", { keys1: ["e"] }),
|
keysDelimiter: PLUS
|
||||||
delete: buildShortcut("actions.delete", { keys1: ["d"] }),
|
}),
|
||||||
mark_muted: buildShortcut("actions.mark_muted", { keys1: ["m", "m"] }),
|
share_post: buildShortcut("actions.share_post", { keys1: ["s"] }),
|
||||||
mark_regular: buildShortcut("actions.mark_regular", {
|
like: buildShortcut("actions.like", { keys1: ["l"] }),
|
||||||
keys1: ["m", "r"]
|
flag: buildShortcut("actions.flag", { keys1: ["!"] }),
|
||||||
}),
|
bookmark: buildShortcut("actions.bookmark", { keys1: ["b"] }),
|
||||||
mark_tracking: buildShortcut("actions.mark_tracking", {
|
edit: buildShortcut("actions.edit", { keys1: ["e"] }),
|
||||||
keys1: ["m", "t"]
|
delete: buildShortcut("actions.delete", { keys1: ["d"] }),
|
||||||
}),
|
mark_muted: buildShortcut("actions.mark_muted", { keys1: ["m", "m"] }),
|
||||||
mark_watching: buildShortcut("actions.mark_watching", {
|
mark_regular: buildShortcut("actions.mark_regular", {
|
||||||
keys1: ["m", "w"]
|
keys1: ["m", "r"]
|
||||||
}),
|
}),
|
||||||
print: buildShortcut("actions.print", {
|
mark_tracking: buildShortcut("actions.mark_tracking", {
|
||||||
keys1: [CTRL, "p"],
|
keys1: ["m", "t"]
|
||||||
keysDelimiter: PLUS
|
}),
|
||||||
}),
|
mark_watching: buildShortcut("actions.mark_watching", {
|
||||||
defer: buildShortcut("actions.defer", {
|
keys1: ["m", "w"]
|
||||||
keys1: [SHIFT, "u"],
|
}),
|
||||||
keysDelimiter: PLUS
|
print: buildShortcut("actions.print", {
|
||||||
}),
|
keys1: [CTRL, "p"],
|
||||||
topic_admin_actions: buildShortcut("actions.topic_admin_actions", {
|
keysDelimiter: PLUS
|
||||||
keys1: [SHIFT, "a"],
|
}),
|
||||||
keysDelimiter: PLUS
|
defer: buildShortcut("actions.defer", {
|
||||||
})
|
keys1: [SHIFT, "u"],
|
||||||
},
|
keysDelimiter: PLUS
|
||||||
search_menu: {
|
}),
|
||||||
prev_next: buildShortcut("search_menu.prev_next", {
|
topic_admin_actions: buildShortcut("actions.topic_admin_actions", {
|
||||||
keys1: ["↑"],
|
keys1: [SHIFT, "a"],
|
||||||
keys2: ["↓"],
|
keysDelimiter: PLUS
|
||||||
shortcutsDelimiter: "slash"
|
})
|
||||||
}),
|
},
|
||||||
insert_url: buildShortcut("search_menu.insert_url", {
|
search_menu: {
|
||||||
keys1: ["a"]
|
prev_next: buildShortcut("search_menu.prev_next", {
|
||||||
})
|
keys1: ["↑"],
|
||||||
}
|
keys2: ["↓"],
|
||||||
|
shortcutsDelimiter: "slash"
|
||||||
|
}),
|
||||||
|
insert_url: buildShortcut("search_menu.insert_url", {
|
||||||
|
keys1: ["a"]
|
||||||
|
})
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user