{"version":3,"sources":["webpack:///./src/data/data-provider.js"],"names":["data","require","ICT_STUDENT_DATA","ICT_TEACHER_DATA","setYearSelectBox","country","totalDataByCountry","Object","values","children","yearlyIndex","uniqueYear","undefined","forEach","el","totalData","push","keys","filter","item","index","indexOf","sort","a","b","getBase","Tanzania","Nyarugusu","skillsList","SKILL_COUNT","skillCountArr","Array","from","column","map","getAvgPercentage","absolute","MAX_ICT","percentage","getTeacherSchoolSkillData","school","gender","Base","End","baseDenominator","endDenominator","baseSkillsPct","endSkillsPct","base","Female_raw","end","base_count","end_count","Female_pct","Male_raw","Male_pct","Total_raw","getStudentSchoolSkillData","getIctSchoolList","list","getStudentIctSchoolAvg","type","year","base_avg","toFixed","end_avg","getStudentAvgAcrossSchools","getTeacherIctSchoolAvg","getTeacherAvgAcrossSchools"],"mappings":"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","file":"js/chunk-8671da4e.9f54410c.js","sourcesContent":["const data = require('./dummyStatusJsonData.json')\nconst fundData = require('./dummyFundJsonData.json')\nconst demoData = require('./dummyDemoJsonData.json')\nconst moneyData = require('./dummyMoneyJsonData.json')\nconst ICT_STUDENT_DATA = require('./ict-teachers-data.json')\nconst ICT_TEACHER_DATA = require('./ict-teachers-data.json')\n\n// for INS\nfunction getZeroData () {\n return {\n '1': 0,\n '2': 0,\n '3': 0,\n '4': 0,\n '5': 0,\n '6': 0,\n '7': 0,\n '8': 0,\n '9': 0,\n '10': 0,\n '11': 0,\n '12': 0\n }\n}\n\nexport function getStatusNames () { // getCountries\n const statusList = Object.keys(data.children)\n return statusList\n}\n\nexport function getFundNames (fund) { // getCamps\n return Object.keys(data.children[fund].children)\n}\n\nexport function getDemoCategories (status, fund) { //getSchools\n return Object.keys(data.children[status].children[fund].children)\n}\n\nexport function getTotalTenantsByStatus (status, year) {\n const dataByStatus = {}\n const tenantsData = data.children[status].values[year]\n\n if (tenantsData === undefined) {\n dataByStatus.tenants = [getZeroData()]\n } else {\n dataByStatus.tenants = [tenantsData]\n }\n dataByStatus.labels = ['All']\n\n return dataByStatus\n}\n\nexport function getTenantsNumber (employmentStatus, funds, demographics, year, viewMode) {\n\n let values = {}\n let chartdata = {}\n if (viewMode === 'Fund') {\n chartdata = fundData\n } else {\n chartdata = data\n }\n \n if (employmentStatus.length === 0) {\n values['All'] = chartdata.values[year] ? chartdata.values[year] : getZeroData()\n } else {\n for (let statusIndex = 0; statusIndex < employmentStatus.length; statusIndex++) {\n const status = employmentStatus[statusIndex]\n if (funds.length === 0) {\n const tenants = chartdata.children[status].values[year]\n \n if (tenants) {\n values[status] = tenants\n } else {\n values[status] = getZeroData()\n }\n } else {\n for (let fundIndex = 0; fundIndex < funds.length; fundIndex++) {\n const fund = funds[fundIndex]\n \n if (demographics.length === 0) {\n const tenants = chartdata.children[status].children[fund].values[year] \n if (tenants) {\n values[fund] = tenants\n } else {\n values[fund] = getZeroData()\n }\n } else {\n for (let demoIndex = 0; demoIndex < demographics.length; demoIndex++) {\n const demo = demographics[demoIndex]\n const tenants = chartdata.children[status].children[fund].children[demo].values[year]\n if (tenants) {\n values[demo] = tenants\n } else {\n values[demo] = getZeroData()\n }\n }\n }\n }\n }\n }\n }\n\n values = {\n labels: Object.keys(values),\n tenants: Object.values(values)\n }\n\n return values\n}\n\nexport function getTenantsByTopics (status, fund, demo, year) {\n let values = data.children[status].children[fund].children[demo].children\n let allMonthlyDataByYears = Object.values(values)\n\n const allTopics = Object.keys(values)\n let existingTopicsInYear = {}\n\n allTopics.forEach((el, index) => {\n const monthlyData = allMonthlyDataByYears[index].values[year]\n existingTopicsInYear[el] = monthlyData || getZeroData()\n })\n return {\n labels: Object.keys(existingTopicsInYear),\n tenants: Object.values(existingTopicsInYear),\n type: 'Month'\n }\n}\n\nexport function getValueByDemo (status, demo, year) {\n const values = demoData.children['No - unemployed'].children[demo].children\n const valuesByDemo = Object.values(values)\n const allDemoCategory = Object.keys(values)\n\n const demoDataInYear = {}\n allDemoCategory.forEach((el, index) => {\n const dataByFund = valuesByDemo[index].values[year]\n demoDataInYear[el] = dataByFund || getZeroData()\n })\n return {\n labels: Object.keys(demoDataInYear),\n tenants: Object.values(demoDataInYear),\n type: 'Fund'\n }\n}\n\n// for Tenant savings page\nexport function getValueByMoney (year) {\n const data = moneyData.children\n const labelsArray = Object.keys(data)\n const values = Object.values(data)\n const valuesArray = []\n labelsArray.forEach((el, index) => {\n valuesArray.push(values[index].values[year])\n })\n const returnObj = {}\n returnObj.labels = labelsArray\n returnObj.tenants = valuesArray\n return returnObj\n}\n\n// set year select box options\nexport function setYearSelectBox (country) {\n const totalDataByCountry = Object.values(data.children)\n let yearlyIndex = []\n let uniqueYear = []\n\n if (country === undefined) {\n totalDataByCountry.forEach(el => {\n const totalData = el.values\n yearlyIndex.push(...Object.keys(totalData))\n })\n uniqueYear = yearlyIndex.filter((item, index) => yearlyIndex.indexOf(item) === index).sort((a, b) => b - a)\n }\n\n return uniqueYear\n}\n\nfunction getBase (data) {\n return data.children.Tanzania.children.Nyarugusu.children\n}\n\nfunction skillsList (SKILL_COUNT) {\n const skillCountArr = Array.from(Array(SKILL_COUNT).keys())\n const column = []\n skillCountArr.map((el) => {\n column.push('Skill ' + (el + 1))\n })\n return column\n}\n\nexport function getAvgPercentage (absolute) {\n const MAX_ICT = 21\n const percentage = absolute / MAX_ICT * 100\n return percentage\n}\n\nexport function getTeacherSchoolSkillData (school, gender) {\n let Base = []\n let End = []\n let baseDenominator = ''\n let endDenominator = ''\n let baseSkillsPct = ''\n let endSkillsPct = ''\n const SKILL_COUNT = 21\n\n switch (gender) {\n case 'Female':\n Base = skillsList(SKILL_COUNT).map(el => getBase(ICT_TEACHER_DATA)[school].values[el].base.Female_raw)\n End = skillsList(SKILL_COUNT).map(el => getBase(ICT_TEACHER_DATA)[school].values[el].end.Female_raw)\n baseDenominator = getBase(ICT_TEACHER_DATA)[school].values[gender].base_count\n endDenominator = getBase(ICT_TEACHER_DATA)[school].values[gender].end_count\n baseSkillsPct = skillsList(SKILL_COUNT).map(el => getBase(ICT_TEACHER_DATA)[school].values[el].base.Female_pct)\n endSkillsPct = skillsList(SKILL_COUNT).map(el => getBase(ICT_TEACHER_DATA)[school].values[el].end.Female_pct)\n break\n case 'Male':\n Base = skillsList(SKILL_COUNT).map(el => getBase(ICT_TEACHER_DATA)[school].values[el].base.Male_raw)\n End = skillsList(SKILL_COUNT).map(el => getBase(ICT_TEACHER_DATA)[school].values[el].end.Male_raw)\n baseDenominator = getBase(ICT_TEACHER_DATA)[school].values[gender].base_count\n endDenominator = getBase(ICT_TEACHER_DATA)[school].values[gender].end_count\n baseSkillsPct = skillsList(SKILL_COUNT).map(el => getBase(ICT_TEACHER_DATA)[school].values[el].base.Male_pct)\n endSkillsPct = skillsList(SKILL_COUNT).map(el => getBase(ICT_TEACHER_DATA)[school].values[el].end.Male_pct)\n break\n case 'Total':\n Base = skillsList(SKILL_COUNT).map(el => getBase(ICT_TEACHER_DATA)[school].values[el].base.Total_raw)\n End = skillsList(SKILL_COUNT).map(el => getBase(ICT_TEACHER_DATA)[school].values[el].end.Total_raw)\n baseDenominator = '-'\n endDenominator = '-'\n baseSkillsPct = skillsList(SKILL_COUNT).map(el => getBase(ICT_TEACHER_DATA)[school].values[el].base.Total_raw)\n endSkillsPct = skillsList(SKILL_COUNT).map(el => getBase(ICT_TEACHER_DATA)[school].values[el].end.Total_raw)\n break\n }\n return { Base, End, baseDenominator, endDenominator, baseSkillsPct, endSkillsPct }\n}\n\nexport function getStudentSchoolSkillData (school, gender) {\n let Base = []\n let End = []\n let baseDenominator = ''\n let endDenominator = ''\n let baseSkillsPct = ''\n let endSkillsPct = ''\n const SKILL_COUNT = 21\n\n switch (gender) {\n case 'Female':\n Base = skillsList(SKILL_COUNT).map(el => getBase(ICT_STUDENT_DATA)[school].values[el].base.Female_raw)\n End = skillsList(SKILL_COUNT).map(el => getBase(ICT_STUDENT_DATA)[school].values[el].end.Female_raw)\n baseDenominator = getBase(ICT_STUDENT_DATA)[school].values[gender].base_count\n endDenominator = getBase(ICT_STUDENT_DATA)[school].values[gender].end_count\n baseSkillsPct = skillsList(SKILL_COUNT).map(el => getBase(ICT_STUDENT_DATA)[school].values[el].base.Female_pct)\n endSkillsPct = skillsList(SKILL_COUNT).map(el => getBase(ICT_STUDENT_DATA)[school].values[el].end.Female_pct)\n break\n case 'Male':\n Base = skillsList(SKILL_COUNT).map(el => getBase(ICT_STUDENT_DATA)[school].values[el].base.Male_raw)\n End = skillsList(SKILL_COUNT).map(el => getBase(ICT_STUDENT_DATA)[school].values[el].end.Male_raw)\n baseDenominator = getBase(ICT_STUDENT_DATA)[school].values[gender].base_count\n endDenominator = getBase(ICT_STUDENT_DATA)[school].values[gender].end_count\n baseSkillsPct = skillsList(SKILL_COUNT).map(el => getBase(ICT_STUDENT_DATA)[school].values[el].base.Male_pct)\n endSkillsPct = skillsList(SKILL_COUNT).map(el => getBase(ICT_STUDENT_DATA)[school].values[el].end.Male_pct)\n break\n case 'Total':\n Base = skillsList(SKILL_COUNT).map(el => getBase(ICT_STUDENT_DATA)[school].values[el].base.Total_raw)\n End = skillsList(SKILL_COUNT).map(el => getBase(ICT_STUDENT_DATA)[school].values[el].end.Total_raw)\n baseDenominator = '-'\n endDenominator = '-'\n baseSkillsPct = skillsList(SKILL_COUNT).map(el => getBase(ICT_STUDENT_DATA)[school].values[el].base.Total_raw)\n endSkillsPct = skillsList(SKILL_COUNT).map(el => getBase(ICT_STUDENT_DATA)[school].values[el].end.Total_raw)\n break\n }\n return { Base, End, baseDenominator, endDenominator, baseSkillsPct, endSkillsPct }\n}\n\nexport function getIctSchoolList () {\n const list = Object.keys(getBase(ICT_STUDENT_DATA))\n return list\n}\n\n\nexport function getStudentIctSchoolAvg (school, type, year) {\n let percentage = ''\n if (year === 'Base') {\n const base = getBase(ICT_STUDENT_DATA)[school].values[type].base_avg\n percentage = getAvgPercentage(base).toFixed(0)\n } else if (year === 'End') {\n const end = getBase(ICT_STUDENT_DATA)[school].values[type].end_avg\n percentage = getAvgPercentage(end).toFixed(0)\n }\n return percentage\n}\n\nexport function getStudentAvgAcrossSchools (type, year) {\n let percentage = ''\n if (year === 'Base') {\n const base = ICT_STUDENT_DATA.values[type].base_avg\n percentage = getAvgPercentage(base).toFixed(0)\n } else if (year === 'End') {\n const end = ICT_STUDENT_DATA.values[type].end_avg\n percentage = getAvgPercentage(end).toFixed(0)\n }\n return percentage\n}\n\nexport function getTeacherIctSchoolAvg (school, type, year) {\n let percentage = ''\n if (year === 'Base') {\n const base = getBase(ICT_TEACHER_DATA)[school].values[type].base_avg\n percentage = getAvgPercentage(base).toFixed(0)\n } else if (year === 'End') {\n const end = getBase(ICT_TEACHER_DATA)[school].values[type].end_avg\n percentage = getAvgPercentage(end).toFixed(0)\n }\n return percentage\n}\n\nexport function getTeacherAvgAcrossSchools (type, year) {\n let percentage = ''\n if (year === 'Base') {\n const base = ICT_TEACHER_DATA.values[type].base_avg\n percentage = getAvgPercentage(base).toFixed(0)\n } else if (year === 'End') {\n const end = ICT_TEACHER_DATA.values[type].end_avg\n percentage = getAvgPercentage(end).toFixed(0)\n }\n return percentage\n}"],"sourceRoot":""}