From 6e20b3ebf9e7ce0a8f840b8d702a1ea1eb8e9f46 Mon Sep 17 00:00:00 2001 From: Joanna Kang Date: Wed, 23 Dec 2020 14:17:04 +0000 Subject: [PATCH 1/3] feat: task 1 & Task 2 done --- src/data/data-provider.js | 42 +++++++++++++------ src/main.js | 2 - src/views/Home.vue | 9 ++-- src/views/Ins.vue | 86 +++++++++++++++++++++------------------ 4 files changed, 81 insertions(+), 58 deletions(-) diff --git a/src/data/data-provider.js b/src/data/data-provider.js index ad97b0e..52bad31 100644 --- a/src/data/data-provider.js +++ b/src/data/data-provider.js @@ -1,22 +1,38 @@ const data = require('./ins-data.json') -//TODO: Fill with countries taken from the data object -export function getCountries() { - //Dummy answer - return ['Kenya', 'Tanzania'] +// TODO: Fill with countries taken from the data object +export function getCountries () { + const countries = []; + data.map(el => countries.push(el.country)); + const uniqueCountries = countries.filter((item, index) => countries.indexOf(item) === index); + return uniqueCountries; } -//TODO: Fill with camps taken from the data object filtered by country -export function getCamps(country) { - //Dummy answer - return ['Kakuma', 'Omaka'] +// TODO: Fill with camps taken from the data object filtered by country +export function getCamps (country) { + + const filteredResult = data.filter(el => el.country === country); + const camps = filteredResult.map(el => Object.values(el.camp).join('')); + const uniqueCamps = camps.filter((item, index) => camps.indexOf(item) === index); + return uniqueCamps; } -//TODO: Fill with total lessons taken from the data object filtered by country -export function getLessonsByYear(country) { - //Dummy answer +// TODO: Fill with total lessons taken from the data object filtered by country +export function getLessonsByYear (country) { + const filteredResult = data.filter(el => el.country === country).sort((a, b) => a.years - b.years); + const dict = {}; + + for (let i = 0; i < filteredResult.length; i++) { + const year = filteredResult[i].year; + if (year in dict) { + dict[year] += filteredResult[i].lessons; + } else { + dict[year] = filteredResult[i].lessons; + } + }; + return { - years: ['2018', '2019', '2020'], - lessons: [100, 150, 130] + years: Object.keys(dict), + lessons: Object.values(dict) } } diff --git a/src/main.js b/src/main.js index 1622926..a1c815c 100644 --- a/src/main.js +++ b/src/main.js @@ -8,8 +8,6 @@ import 'vue-select/dist/vue-select.css' Vue.component('row', Row) Vue.component('column', Column) - - Vue.component('v-select', vSelect) Vue.config.productionTip = false diff --git a/src/views/Home.vue b/src/views/Home.vue index 85b593b..97cf905 100644 --- a/src/views/Home.vue +++ b/src/views/Home.vue @@ -2,15 +2,16 @@

Alice interview task

- Please upgrade the Instant Network Schools page + Please upgrade the Instant Network Schools page
diff --git a/src/views/Ins.vue b/src/views/Ins.vue index 1eb5693..478baf1 100644 --- a/src/views/Ins.vue +++ b/src/views/Ins.vue @@ -4,9 +4,11 @@ Countries: - + Camps: - + Schools: @@ -19,52 +21,58 @@ - - From 14d9e5ad5cdaec086cb4586dc04bd481237709cc Mon Sep 17 00:00:00 2001 From: Joanna Kang Date: Thu, 24 Dec 2020 09:40:47 +0000 Subject: [PATCH 2/3] feat: task3 Done (Data filtering, Chart styling) --- src/App.vue | 12 +++--- src/views/Ins.css | 41 +++++++++++++++++++++ src/views/Ins.vue | 94 +++++++++++++++++++++++++++++++++-------------- 3 files changed, 115 insertions(+), 32 deletions(-) create mode 100644 src/views/Ins.css diff --git a/src/App.vue b/src/App.vue index 5e01225..c2ea8dc 100644 --- a/src/App.vue +++ b/src/App.vue @@ -4,21 +4,23 @@ Home | INS - + From da09e9b9836f2b5d41a6beba04e168f39df8e796 Mon Sep 17 00:00:00 2001 From: Joanna Kang Date: Mon, 4 Jan 2021 19:32:49 +0000 Subject: [PATCH 3/3] fix: analysis result conditional rendering logic fixed --- src/views/Ins.vue | 87 +++++++++++++++++++++++++++-------------------- 1 file changed, 51 insertions(+), 36 deletions(-) diff --git a/src/views/Ins.vue b/src/views/Ins.vue index e413817..e5b7f6e 100644 --- a/src/views/Ins.vue +++ b/src/views/Ins.vue @@ -35,19 +35,19 @@