From 0f88b267af48749c41b390c6f0c1f67e5860d517 Mon Sep 17 00:00:00 2001 From: Olena Horal-Koretska Date: Mon, 2 Sep 2019 13:54:05 +0300 Subject: Master graph basic view --- .../contributors/components/contributors.vue | 124 +++++++++++++-------- 1 file changed, 79 insertions(+), 45 deletions(-) diff --git a/app/assets/javascripts/contributors/components/contributors.vue b/app/assets/javascripts/contributors/components/contributors.vue index 6da3729b8b6..eeef2e8c885 100644 --- a/app/assets/javascripts/contributors/components/contributors.vue +++ b/app/assets/javascripts/contributors/components/contributors.vue @@ -6,6 +6,19 @@ import { GlLoadingIcon } from '@gitlab/ui'; import { GlChartLegend } from '@gitlab/ui/charts'; import { GlAreaChart } from '@gitlab/ui/dist/charts'; import { getSvgIconPathContent } from '~/lib/utils/icon_utils'; +import ContributorsStatGraphUtil from '../../pages/projects/graphs/show/stat_graph_contributors_util'; + +const chartOptions = { + 'xAxis': { + 'type': 'time', + 'name': 'Time', + 'axisLabel': {}, + minInterval: 3600 * 24 * 1000 * 365, + }, + yAxis: { + name: 'Number of commits', + } +}; export default { components: { @@ -23,33 +36,52 @@ export default { return { svgs: {}, chart: null, - seriesInfo: [ - { - type: 'solid', - name: s__('IssuesAnalytics | Issues created'), - color: '#1F78D1', - }, - ], + chartOptions, }; }, computed: { ...mapState('contributors', ['chartData', 'loading']), ...mapGetters('contributors', ['hasFilters', 'appliedFilters']), - data() { - const { chartData, chartHasData } = this; - const data = []; - - if (chartHasData()) { - Object.keys(chartData).forEach(key => { - const date = new Date(key); - const label = `${getMonthNames(true)[date.getUTCMonth()]} ${date.getUTCFullYear()}`; - const val = chartData[key]; + chartData2() { + // const { chartData, chartHasData } = this; + // const data = []; + // + // if (chartHasData()) { + // Object.keys(chartData).forEach(key => { + // const date = new Date(key); + // const label = `${getMonthNames(true)[date.getUTCMonth()]} ${date.getUTCFullYear()}`; + // const val = chartData[key]; + // + // data.push([label, val]); + // }); + // } + // + // return data; + if (!this.chartHasData) return; - data.push([label, val]); - }); - } + const data = this.totalCommits.map((item) => { + return [new Date(item.date), item.commits]; + }); - return data; + debugger + return [ + { + name: 'Commits', + data + /* data: [ + ['Mon', 1220], + ['Tue', 932], + ['Wed', 901], + ['Thu', 934], + ['Fri', 1290], + ['Sat', 1330], + ['Sun', 1320], + ],*/ + }, + ]; + }, + chartHasData() { + return !this.loading && this.chartData; }, chartLabels() { return this.data.map(val => val[0]); @@ -60,25 +92,22 @@ export default { showChart() { return !this.loading && this.chartHasData(); }, - chartOptions() { - return { - dataZoom: [ - { - type: 'slider', - startValue: 0, - handleIcon: this.svgs['scroll-handle'], - }, - ], - }; + // chartOptions() { + // return { + // dataZoom: [ + // { + // type: 'slider', + // startValue: 0, + // handleIcon: this.svgs['scroll-handle'], + // }, + // ], + // }; + // }, + parsedLog() { + return ContributorsStatGraphUtil.parse_log(this.chartData); }, - series() { - return this.data.map(val => val[1]); - }, - seriesAverage() { - return engineeringNotation(average(...this.series), 0); - }, - seriesTotal() { - return engineeringNotation(sum(...this.series)); + totalCommits() { + return ContributorsStatGraphUtil.get_total_data(this.parsedLog, 'commits'); }, }, watch: { @@ -118,15 +147,20 @@ export default { }) .catch(() => {}); }, + getTotalData(){ + return ContributorsStatGraphUtil.get_total_data(this.parsed_log, this.field); + } }, }; -- cgit v1.2.3