From 47a5f3bc67adb4e95f027e5aa2d14b5a8bb6c697 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 25 Aug 2018 12:28:05 +0900 Subject: チャートコンポーネントを分離するなど MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- locales/ja-JP.yml | 38 +- src/client/app/desktop/script.ts | 2 + .../app/desktop/views/components/charts.chart.ts | 42 ++ src/client/app/desktop/views/components/charts.vue | 566 +++++++++++++++++++++ .../desktop/views/pages/admin/admin.chart.chart.ts | 42 -- .../app/desktop/views/pages/admin/admin.chart.vue | 557 -------------------- src/client/app/desktop/views/pages/admin/admin.vue | 9 +- src/client/app/desktop/views/pages/stats/stats.vue | 29 ++ 8 files changed, 662 insertions(+), 623 deletions(-) create mode 100644 src/client/app/desktop/views/components/charts.chart.ts create mode 100644 src/client/app/desktop/views/components/charts.vue delete mode 100644 src/client/app/desktop/views/pages/admin/admin.chart.chart.ts delete mode 100644 src/client/app/desktop/views/pages/admin/admin.chart.vue create mode 100644 src/client/app/desktop/views/pages/stats/stats.vue diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index c44254439c..fae257480c 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -473,6 +473,25 @@ desktop/views/components/calendar.vue: next: "次の月" go: "クリックして時間遡行" +desktop/views/components/charts.vue: + title: "チャート" + per-day: "1日ごと" + per-hour: "1時間ごと" + notes: "投稿" + users: "ユーザー" + drive: "ドライブ" + charts: + notes: "投稿の増減 (統合)" + local-notes: "投稿の増減 (ローカル)" + remote-notes: "投稿の増減 (リモート)" + notes-total: "投稿の累計" + users: "ユーザーの増減" + users-total: "ユーザーの累計" + drive: "ドライブ使用量の増減" + drive-total: "ドライブ使用量の累計" + drive-files: "ドライブのファイル数の増減" + drive-files-total: "ドライブのファイル数の累計" + desktop/views/components/choose-file-from-drive-window.vue: choose-file: "ファイル選択中" upload: "PCからドライブにファイルをアップロード" @@ -939,25 +958,6 @@ desktop/views/pages/admin/admin.unverify-user.vue: unverify: "公式アカウントを解除する" unverified: "公式アカウントを解除しました" -desktop/views/pages/admin/admin.chart.vue: - title: "チャート" - per-day: "1日ごと" - per-hour: "1時間ごと" - notes: "投稿" - users: "ユーザー" - drive: "ドライブ" - charts: - notes: "投稿の増減 (統合)" - local-notes: "投稿の増減 (ローカル)" - remote-notes: "投稿の増減 (リモート)" - notes-total: "投稿の累計" - users: "ユーザーの増減" - users-total: "ユーザーの累計" - drive: "ドライブ使用量の増減" - drive-total: "ドライブ使用量の累計" - drive-files: "ドライブのファイル数の増減" - drive-files-total: "ドライブのファイル数の累計" - desktop/views/pages/deck/deck.tl-column.vue: is-media-only: "メディア投稿のみ" is-media-view: "メディアビュー" diff --git a/src/client/app/desktop/script.ts b/src/client/app/desktop/script.ts index 7f4a2d0b00..f0e8a42662 100644 --- a/src/client/app/desktop/script.ts +++ b/src/client/app/desktop/script.ts @@ -25,6 +25,7 @@ import updateBanner from './api/update-banner'; import MkIndex from './views/pages/index.vue'; import MkDeck from './views/pages/deck/deck.vue'; import MkAdmin from './views/pages/admin/admin.vue'; +import MkStats from './views/pages/stats/stats.vue'; import MkUser from './views/pages/user/user.vue'; import MkFavorites from './views/pages/favorites.vue'; import MkSelectDrive from './views/pages/selectdrive.vue'; @@ -57,6 +58,7 @@ init(async (launch) => { { path: '/', name: 'index', component: MkIndex }, { path: '/deck', name: 'deck', component: MkDeck }, { path: '/admin', name: 'admin', component: MkAdmin }, + { path: '/stats', name: 'stats', component: MkStats }, { path: '/i/customize-home', component: MkHomeCustomize }, { path: '/i/favorites', component: MkFavorites }, { path: '/i/messaging/:user', component: MkMessagingRoom }, diff --git a/src/client/app/desktop/views/components/charts.chart.ts b/src/client/app/desktop/views/components/charts.chart.ts new file mode 100644 index 0000000000..6a241631e9 --- /dev/null +++ b/src/client/app/desktop/views/components/charts.chart.ts @@ -0,0 +1,42 @@ +import Vue from 'vue'; +import { Line } from 'vue-chartjs'; +import * as mergeOptions from 'merge-options'; + +export default Vue.extend({ + extends: Line, + props: { + data: { + required: true + }, + opts: { + required: false + } + }, + watch: { + data() { + this.render(); + } + }, + mounted() { + this.render(); + }, + methods: { + render() { + this.renderChart(this.data, mergeOptions({ + responsive: true, + maintainAspectRatio: false, + scales: { + xAxes: [{ + type: 'time', + distribution: 'series' + }] + }, + tooltips: { + intersect: false, + mode: 'x', + position: 'nearest' + } + }, this.opts || {})); + } + } +}); diff --git a/src/client/app/desktop/views/components/charts.vue b/src/client/app/desktop/views/components/charts.vue new file mode 100644 index 0000000000..ff41639a10 --- /dev/null +++ b/src/client/app/desktop/views/components/charts.vue @@ -0,0 +1,566 @@ + + + + + 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 deleted file mode 100644 index 6a241631e9..0000000000 --- a/src/client/app/desktop/views/pages/admin/admin.chart.chart.ts +++ /dev/null @@ -1,42 +0,0 @@ -import Vue from 'vue'; -import { Line } from 'vue-chartjs'; -import * as mergeOptions from 'merge-options'; - -export default Vue.extend({ - extends: Line, - props: { - data: { - required: true - }, - opts: { - required: false - } - }, - watch: { - data() { - this.render(); - } - }, - mounted() { - this.render(); - }, - methods: { - render() { - this.renderChart(this.data, mergeOptions({ - responsive: true, - maintainAspectRatio: false, - scales: { - xAxes: [{ - type: 'time', - distribution: 'series' - }] - }, - tooltips: { - intersect: false, - mode: 'x', - position: 'nearest' - } - }, this.opts || {})); - } - } -}); diff --git a/src/client/app/desktop/views/pages/admin/admin.chart.vue b/src/client/app/desktop/views/pages/admin/admin.chart.vue deleted file mode 100644 index cca05fec28..0000000000 --- a/src/client/app/desktop/views/pages/admin/admin.chart.vue +++ /dev/null @@ -1,557 +0,0 @@ - - - - - diff --git a/src/client/app/desktop/views/pages/admin/admin.vue b/src/client/app/desktop/views/pages/admin/admin.vue index 0bb5ed0a0f..e669b0d2a9 100644 --- a/src/client/app/desktop/views/pages/admin/admin.vue +++ b/src/client/app/desktop/views/pages/admin/admin.vue @@ -11,7 +11,7 @@
- +
@@ -32,7 +32,7 @@ import XSuspendUser from "./admin.suspend-user.vue"; import XUnsuspendUser from "./admin.unsuspend-user.vue"; import XVerifyUser from "./admin.verify-user.vue"; import XUnverifyUser from "./admin.unverify-user.vue"; -import XChart from "./admin.chart.vue"; +import XCharts from "../../components/charts.vue"; export default Vue.extend({ components: { @@ -41,12 +41,11 @@ export default Vue.extend({ XUnsuspendUser, XVerifyUser, XUnverifyUser, - XChart + XCharts }, data() { return { - page: 'dashboard', - chart: null + page: 'dashboard' }; }, methods: { diff --git a/src/client/app/desktop/views/pages/stats/stats.vue b/src/client/app/desktop/views/pages/stats/stats.vue new file mode 100644 index 0000000000..18dca85f0d --- /dev/null +++ b/src/client/app/desktop/views/pages/stats/stats.vue @@ -0,0 +1,29 @@ + + + + + -- cgit v1.2.3-freya