Skip to content

Commit

Permalink
data.json の一部を長野県専用のレポジトリから動的に読み込み
Browse files Browse the repository at this point in the history
  • Loading branch information
hisayan committed Mar 23, 2020
1 parent ba99a5f commit 6ec2fbd
Show file tree
Hide file tree
Showing 11 changed files with 79 additions and 8 deletions.
4 changes: 3 additions & 1 deletion components/cards/ConfirmedCasesAttributesCard.vue
Expand Up @@ -126,7 +126,7 @@
</i18n>

<script>
import Data from '@/data/data.json'
// import Data from '@/data/data.json'
import formatGraph from '@/utils/formatGraph'
import formatTable from '@/utils/formatTable'
import DataTable from '@/components/DataTable.vue'
Expand All @@ -136,6 +136,8 @@ export default {
DataTable
},
data() {
const Data = this.$store.state.data.data
// 感染者数グラフ
const patientsGraph = formatGraph(Data.patients_summary.data)
// 感染者数
Expand Down
4 changes: 3 additions & 1 deletion components/cards/ConfirmedCasesDetailsCard.vue
Expand Up @@ -37,7 +37,7 @@
</i18n>

<script>
import Data from '@/data/data.json'
// import Data from '@/data/data.json'
import formatConfirmedCases from '@/utils/formatConfirmedCases'
import SvgCard from '@/components/SvgCard.vue'
import ConfirmedCasesTable from '@/components/ConfirmedCasesTable.vue'
Expand All @@ -48,6 +48,8 @@ export default {
ConfirmedCasesTable
},
data() {
const Data = this.$store.state.data.data
// 検査陽性者の状況
const confirmedCases = formatConfirmedCases(Data.main_summary)
Expand Down
4 changes: 3 additions & 1 deletion components/cards/ConfirmedCasesNumberCard.vue
Expand Up @@ -42,7 +42,7 @@
</i18n>

<script>
import Data from '@/data/data.json'
// import Data from '@/data/data.json'
import formatGraph from '@/utils/formatGraph'
import TimeBarChart from '@/components/TimeBarChart.vue'
Expand All @@ -51,6 +51,8 @@ export default {
TimeBarChart
},
data() {
const Data = this.$store.state.data.data
// 感染者数グラフ
const patientsGraph = formatGraph(Data.patients_summary.data)
Expand Down
4 changes: 3 additions & 1 deletion components/cards/ConsultationDeskReportsNumberCard.vue
Expand Up @@ -55,7 +55,7 @@
</i18n>

<script>
import Data from '@/data/data.json'
// import Data from '@/data/data.json'
import formatGraph from '@/utils/formatGraph'
import TimeBarChart from '@/components/TimeBarChart.vue'
Expand All @@ -64,6 +64,8 @@ export default {
TimeBarChart
},
data() {
const Data = this.$store.state.data.data
// 帰国者・接触者電話相談センター相談件数
const querentsGraph = formatGraph(Data.querents.data)
Expand Down
4 changes: 3 additions & 1 deletion components/cards/MetroCard.vue
Expand Up @@ -71,7 +71,7 @@
</i18n>

<script>
import Data from '@/data/data.json'
// import Data from '@/data/data.json'
import MetroData from '@/data/metro.json'
import MetroBarChart from '@/components/MetroBarChart.vue'
Expand All @@ -80,6 +80,8 @@ export default {
MetroBarChart
},
data() {
const Data = this.$store.state.data.data
// 都営地下鉄の利用者数の推移
const metroGraph = MetroData
// metroGraph ツールチップ title文字列
Expand Down
4 changes: 3 additions & 1 deletion components/cards/TelephoneAdvisoryReportsNumberCard.vue
Expand Up @@ -55,7 +55,7 @@
</i18n>

<script>
import Data from '@/data/data.json'
// import Data from '@/data/data.json'
import formatGraph from '@/utils/formatGraph'
import TimeBarChart from '@/components/TimeBarChart.vue'
Expand All @@ -64,6 +64,8 @@ export default {
TimeBarChart
},
data() {
const Data = this.$store.state.data.data
// 相談件数
const contactsGraph = formatGraph(Data.contacts.data)
Expand Down
4 changes: 3 additions & 1 deletion components/cards/TestedNumberCard.vue
Expand Up @@ -69,14 +69,16 @@
</i18n>

<script>
import Data from '@/data/data.json'
// import Data from '@/data/data.json'
import TimeStackedBarChart from '@/components/TimeStackedBarChart.vue'
export default {
components: {
TimeStackedBarChart
},
data() {
const Data = this.$store.state.data.data
// 検査実施日別状況
const inspectionsGraph = [
Data.inspections_summary.data['都内'],
Expand Down
5 changes: 5 additions & 0 deletions middleware/getData.js
@@ -0,0 +1,5 @@
export default async ({ store }) => {
if (!Object.keys(store.state.data.data).length) {
await store.dispatch('data/getDataAction')
}
}
14 changes: 14 additions & 0 deletions nuxt.config.ts
Expand Up @@ -4,6 +4,14 @@ const autoprefixer = require('autoprefixer')

const config: Configuration = {
mode: 'universal',
/*
** Environments
*/
env: {
dataUrl:
process.env.DATA_URL ||
'https://raw.githubusercontent.com/wataruoguchi/covid19_nagano_csv_to_json/master/src/.json/data.json'
},
/*
** Headers of the page
*/
Expand Down Expand Up @@ -188,6 +196,12 @@ const config: Configuration = {
** See https://axios.nuxtjs.org/options
*/
axios: {},
/*
** Nuxt.js router
*/
router: {
middleware: ['getData']
},
/*
** vuetify module configuration
** https://github.com/nuxt-community/vuetify-module
Expand Down
3 changes: 2 additions & 1 deletion pages/cards/_card.vue
Expand Up @@ -99,7 +99,7 @@
</i18n>

<script>
import Data from '@/data/data.json'
// import Data from '@/data/data.json'
import MetroData from '@/data/metro.json'
import agencyData from '@/data/agency.json'
import ConfirmedCasesDetailsCard from '@/components/cards/ConfirmedCasesDetailsCard.vue'
Expand All @@ -123,6 +123,7 @@ export default {
AgencyCard
},
data() {
const Data = this.$store.state.data.data
let title, updatedAt
switch (this.$route.params.card) {
case 'details-of-confirmed-cases':
Expand Down
37 changes: 37 additions & 0 deletions store/data.js
@@ -0,0 +1,37 @@
import axios from 'axios'
import Data from '@/data/data.json'

export const state = () => ({
data: {
// contacts: {},
// querents: {},
// patients: {},
// patients_summary: {},
// discharges_summary: {},
// inspections: {},
// inspections_summary: {},
// main_summary: {},
// lastUpdate: ''
}
})

export const mutations = {
getData(state, payload) {
state.data = payload.data
}
}

export const actions = {
async getDataAction(context) {
const payload = {
data: Data
}
await axios.get(process.env.dataUrl).then(res => {
payload.data.contacts = res.data.contacts
payload.data.inspections = res.data.inspections
payload.data.inspections_summary = res.data.inspections_summary
payload.data.lastUpdate = res.data.lastUpdate
})
context.commit('getData', payload)
}
}

1 comment on commit 6ec2fbd

@hisayan
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

close #3

Please sign in to comment.