IssueNotesRefactor: Implement time tracking sidebar integration with slash commands.

This commit is contained in:
Fatih Acet 2017-07-22 00:55:55 +03:00
parent 8fa1f65e71
commit 14eb2abaa3
2 changed files with 20 additions and 9 deletions

View File

@ -3,6 +3,7 @@
import service from '../services/issue_notes_service';
import utils from './issue_notes_utils';
import loadAwardsHandler from '../../awards_handler';
import sidebarTimeTrackingEventHub from '../../sidebar/event_hub';
const state = {
notes: [],
@ -233,16 +234,22 @@ const actions = {
Flash('Commands applied', 'notice', $(noteData.flashContainer));
}
if (commandsChanges && commandsChanges.emoji_award) {
const votesBlock = $('.js-awards-block').eq(0);
if (commandsChanges) {
if (commandsChanges.emoji_award) {
const votesBlock = $('.js-awards-block').eq(0);
loadAwardsHandler().then((awardsHandler) => {
awardsHandler.addAwardToEmojiBar(votesBlock, commandsChanges.emoji_award);
awardsHandler.scrollToAwards();
}).catch(() => {
const msg = 'Something went wrong while adding your award. Please try again.';
Flash(msg, $(noteData.flashContainer));
});
loadAwardsHandler().then((awardsHandler) => {
awardsHandler.addAwardToEmojiBar(votesBlock, commandsChanges.emoji_award);
awardsHandler.scrollToAwards();
}).catch(() => {
const msg = 'Something went wrong while adding your award. Please try again.';
Flash(msg, $(noteData.flashContainer));
});
}
if (commandsChanges.spend_time || commandsChanges.time_estimate) {
sidebarTimeTrackingEventHub.$emit('timeTrackingUpdated', res);
}
}
if (errors && errors.commands_only) {

View File

@ -4,6 +4,7 @@ import timeTracker from './time_tracker';
import Store from '../../stores/sidebar_store';
import Mediator from '../../sidebar_mediator';
import eventHub from '../../event_hub';
export default {
data() {
@ -18,6 +19,9 @@ export default {
methods: {
listenForQuickActions() {
$(document).on('ajax:success', '.gfm-form', this.quickActionListened);
eventHub.$on('timeTrackingUpdated', (data) => {
this.quickActionListened(null, data);
});
},
quickActionListened(e, data) {
const subscribedCommands = ['spend_time', 'time_estimate'];