From a294a881ec479b1a90b2c3ade4a160ddd2a03dac Mon Sep 17 00:00:00 2001 From: syuilo Date: Fri, 24 Aug 2018 06:41:53 +0900 Subject: Improve chart --- .../desktop/views/pages/admin/admin.chart.chart.ts | 5 -- .../app/desktop/views/pages/admin/admin.chart.vue | 76 +++++++++++++++++----- 2 files changed, 61 insertions(+), 20 deletions(-) (limited to 'src') diff --git a/src/client/app/desktop/views/pages/admin/admin.chart.chart.ts b/src/client/app/desktop/views/pages/admin/admin.chart.chart.ts index 62043b21dc..d79b0ba192 100644 --- a/src/client/app/desktop/views/pages/admin/admin.chart.chart.ts +++ b/src/client/app/desktop/views/pages/admin/admin.chart.chart.ts @@ -26,11 +26,6 @@ export default Vue.extend({ scales: { xAxes: [{ type: 'time', - time: { - displayFormats: { - quarter: 'YYYY/MM/D h:mm' - } - }, distribution: 'series' }] } diff --git a/src/client/app/desktop/views/pages/admin/admin.chart.vue b/src/client/app/desktop/views/pages/admin/admin.chart.vue index c92caeb2f0..4e0050e8b9 100644 --- a/src/client/app/desktop/views/pages/admin/admin.chart.vue +++ b/src/client/app/desktop/views/pages/admin/admin.chart.vue @@ -3,21 +3,31 @@
%i18n:@title%:
- Per DAY | Per HOUR + %i18n:@per-day% | %i18n:@per-hour%
@@ -59,6 +69,10 @@ export default Vue.extend({ case 'remote-drive': return this.driveChart(false, false); case 'local-drive-total': return this.driveChart(true, true); case 'remote-drive-total': return this.driveChart(false, true); + case 'local-drive-files': return this.driveFilesChart(true, false); + case 'remote-drive-files': return this.driveFilesChart(false, false); + case 'local-drive-files-total': return this.driveFilesChart(true, true); + case 'remote-drive-files-total': return this.driveFilesChart(false, true); } }, stats(): any[] { @@ -76,11 +90,19 @@ export default Vue.extend({ normal: local ? x.notes.local.diffs.normal : x.notes.remote.diffs.normal, reply: local ? x.notes.local.diffs.reply : x.notes.remote.diffs.reply, renote: local ? x.notes.local.diffs.renote : x.notes.remote.diffs.renote, - total: local ? x.notes.local.diff : x.notes.remote.diff + all: local ? x.notes.local.diff : x.notes.remote.diff })); return [{ datasets: [{ + label: 'All', + fill: false, + borderColor: '#555', + borderWidth: 2, + pointBackgroundColor: '#fff', + lineTension: 0, + data: data.map(x => ({ t: x.date, y: x.all })) + }, { label: 'Normal', fill: false, borderColor: '#41ddde', @@ -107,6 +129,7 @@ export default Vue.extend({ }] }]; }, + notesTotalChart(local: boolean): any { const data = this.stats.slice().reverse().map(x => ({ date: new Date(x.date), @@ -125,6 +148,7 @@ export default Vue.extend({ }] }]; }, + usersChart(local: boolean, total: boolean): any { const data = this.stats.slice().reverse().map(x => ({ date: new Date(x.date), @@ -145,6 +169,7 @@ export default Vue.extend({ }] }]; }, + driveChart(local: boolean, total: boolean): any { const data = this.stats.slice().reverse().map(x => ({ date: new Date(x.date), @@ -174,7 +199,28 @@ export default Vue.extend({ }] } }]; - } + }, + + driveFilesChart(local: boolean, total: boolean): any { + const data = this.stats.slice().reverse().map(x => ({ + date: new Date(x.date), + count: local ? + total ? x.drive.local.totalCount : x.drive.local.diffCount : + total ? x.drive.remote.totalCount : x.drive.remote.diffCount + })); + + return [{ + datasets: [{ + label: local ? 'Local Drive Files' : 'Remote Drive Files', + fill: false, + borderColor: '#f6584f', + borderWidth: 2, + pointBackgroundColor: '#fff', + lineTension: 0, + data: data.map(x => ({ t: x.date, y: x.count })) + }] + }]; + }, } }); -- cgit v1.2.3-freya