summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Wortschack <mwortschack@gitlab.com>2018-11-19 11:17:22 +0100
committerMartin Wortschack <mwortschack@gitlab.com>2018-11-19 11:17:22 +0100
commit5977d217dcf34812a58e5813aae4954ddb3e88d7 (patch)
tree838ee274a89e43c09968d4b19d4e541fb933b11c
parent8a7c9ef7c6efa11af2918c880e140cdb5b44b799 (diff)
downloadgitlab-ce-5977d217dcf34812a58e5813aae4954ddb3e88d7.tar.gz
Introduce AjaxCache for requesting contribution chart data
-rw-r--r--app/assets/javascripts/pages/users/user_tabs.js19
1 files changed, 4 insertions, 15 deletions
diff --git a/app/assets/javascripts/pages/users/user_tabs.js b/app/assets/javascripts/pages/users/user_tabs.js
index 8d2cc7545eb..7b77c27353f 100644
--- a/app/assets/javascripts/pages/users/user_tabs.js
+++ b/app/assets/javascripts/pages/users/user_tabs.js
@@ -2,6 +2,7 @@ import $ from 'jquery';
import axios from '~/lib/utils/axios_utils';
import Activities from '~/activities';
import { localTimeAgo } from '~/lib/utils/datetime_utility';
+import AjaxCache from '~/lib/utils/ajax_cache';
import { __ } from '~/locale';
import flash from '~/flash';
import ActivityCalendar from './activity_calendar';
@@ -90,9 +91,6 @@ export default class UserTabs {
this.action = this.defaultAction;
}
- // caches data for activity calendar
- this.activityCalendarData = null;
-
this.activateTab(this.action);
}
@@ -206,18 +204,9 @@ export default class UserTabs {
const $calendarWrap = this.$parentEl.find('.tab-pane.active .user-calendar');
const calendarPath = $calendarWrap.data('calendarPath');
- if (!this.activityCalendarData) {
- axios
- .get(calendarPath)
- .then(({ data }) => {
- // let's cache the data so we don't need to fetch it again when the chart gets resized
- this.activityCalendarData = data;
- UserTabs.renderActivityCalendar(data, $calendarWrap);
- })
- .catch(() => flash(__('There was an error loading users activity calendar.')));
- } else {
- UserTabs.renderActivityCalendar(this.activityCalendarData, $calendarWrap);
- }
+ AjaxCache.retrieve(calendarPath)
+ .then(data => UserTabs.renderActivityCalendar(data, $calendarWrap))
+ .catch(() => flash(__('There was an error loading users activity calendar.')));
}
static renderActivityCalendar(data, $calendarWrap) {