diff --git a/client/coral-admin/src/components/ModerationKeysModal.js b/client/coral-admin/src/components/ModerationKeysModal.js index 45304992c..6f53bf7fa 100644 --- a/client/coral-admin/src/components/ModerationKeysModal.js +++ b/client/coral-admin/src/components/ModerationKeysModal.js @@ -12,6 +12,7 @@ const shortcuts = [ 'k': 'modqueue.prev_comment', 'ctrl+f': 'modqueue.toggle_search', 't': 'modqueue.next_queue', + '1...5': 'modqueue.jumptoqueue', 's': 'modqueue.singleview', '?': 'modqueue.thismenu' } diff --git a/client/coral-admin/src/routes/Moderation/components/Moderation.js b/client/coral-admin/src/routes/Moderation/components/Moderation.js index 64ccb1857..0d924767a 100644 --- a/client/coral-admin/src/routes/Moderation/components/Moderation.js +++ b/client/coral-admin/src/routes/Moderation/components/Moderation.js @@ -34,6 +34,8 @@ class Moderation extends Component { key('k', () => this.select(false)); key('f', () => this.moderate(false)); key('d', () => this.moderate(true)); + this.getMenuItems() + .forEach((menuItem, idx) => key(`${idx + 1}`, () => this.selectQueue(menuItem.key))); } onClose = () => { @@ -41,18 +43,25 @@ class Moderation extends Component { } nextQueue = () => { - const queueConfig = this.props.queueConfig; const activeTab = this.props.activeTab; - const assetId = this.props.data.variables.asset_id; - const menuItems = Object.keys(queueConfig).map((queue) => ({ - key: queue - })); + const menuItems = this.getMenuItems(); const activeTabIndex = menuItems.findIndex((item) => item.key === activeTab); const nextQueueIndex = (activeTabIndex === menuItems.length - 1) ? 0 : activeTabIndex + 1; - this.props.router.push(this.props.getModPath(menuItems[nextQueueIndex].key, assetId)); + this.selectQueue(menuItems[nextQueueIndex].key); + } + + selectQueue = (key) => { + const assetId = this.props.data.variables.asset_id; + this.props.router.push(this.props.getModPath(key, assetId)); + } + + getMenuItems = () => { + return Object.keys(this.props.queueConfig).map((queue) => ({ + key: queue + })); } closeSearch = () => { @@ -175,6 +184,8 @@ class Moderation extends Component { key.unbind('k'); key.unbind('f'); key.unbind('d'); + this.getMenuItems() + .forEach((menuItem, idx) => key.unbind(`${idx + 1}`)); } componentWillReceiveProps(nextProps) { diff --git a/locales/en.yml b/locales/en.yml index 76a434dfc..44ac215af 100644 --- a/locales/en.yml +++ b/locales/en.yml @@ -296,6 +296,7 @@ en: show_shortcuts: "Show Shortcuts" singleview: "Toggle single comment edit view" thismenu: "Open this menu" + jumptoqueue: "Jump to specific queue" thousand: k try_these: "Try these" view_more_shortcuts: "View more shortcuts"