diff options
Diffstat (limited to 'app/assets/javascripts/issue_show/components/app.vue')
-rw-r--r-- | app/assets/javascripts/issue_show/components/app.vue | 29 |
1 files changed, 24 insertions, 5 deletions
diff --git a/app/assets/javascripts/issue_show/components/app.vue b/app/assets/javascripts/issue_show/components/app.vue index 2c9a512acdb..d3b58ed3012 100644 --- a/app/assets/javascripts/issue_show/components/app.vue +++ b/app/assets/javascripts/issue_show/components/app.vue @@ -4,7 +4,7 @@ import Visibility from 'visibilityjs'; import createFlash from '~/flash'; import Poll from '~/lib/utils/poll'; import { visitUrl } from '~/lib/utils/url_utility'; -import { __, s__, sprintf } from '~/locale'; +import { __, sprintf } from '~/locale'; import { IssuableStatus, IssuableStatusText, @@ -12,6 +12,7 @@ import { IssueTypePath, IncidentTypePath, IncidentType, + POLLING_DELAY, } from '../constants'; import eventHub from '../event_hub'; import getIssueStateQuery from '../queries/get_issue_state.query.graphql'; @@ -249,7 +250,7 @@ export default { return false; }, defaultErrorMessage() { - return sprintf(s__('Error updating %{issuableType}'), { issuableType: this.issuableType }); + return sprintf(__('Error updating %{issuableType}'), { issuableType: this.issuableType }); }, isClosed() { return this.issuableStatus === IssuableStatus.Closed; @@ -282,7 +283,7 @@ export default { }); if (!Visibility.hidden()) { - this.poll.makeDelayedRequest(2000); + this.poll.makeDelayedRequest(POLLING_DELAY); } Visibility.change(() => { @@ -436,7 +437,7 @@ export default { }) .catch(() => { createFlash({ - message: sprintf(s__('Error deleting %{issuableType}'), { + message: sprintf(__('Error deleting %{issuableType}'), { issuableType: this.issuableType, }), }); @@ -457,6 +458,22 @@ export default { this.flashContainer = null; } }, + + taskListUpdateStarted() { + this.poll.stop(); + }, + + taskListUpdateSucceeded() { + this.poll.enable(); + this.poll.makeDelayedRequest(POLLING_DELAY); + }, + + taskListUpdateFailed() { + this.poll.enable(); + this.poll.makeDelayedRequest(POLLING_DELAY); + + this.updateStoreState(); + }, }, }; </script> @@ -552,7 +569,9 @@ export default { :issuable-type="issuableType" :update-url="updateEndpoint" :lock-version="state.lock_version" - @taskListUpdateFailed="updateStoreState" + @taskListUpdateStarted="taskListUpdateStarted" + @taskListUpdateSucceeded="taskListUpdateSucceeded" + @taskListUpdateFailed="taskListUpdateFailed" /> <edited-component |