diff --git a/src/routes/api/services/statistics.ts b/src/routes/api/services/statistics.ts index 19f22d80..a30d9efa 100644 --- a/src/routes/api/services/statistics.ts +++ b/src/routes/api/services/statistics.ts @@ -263,6 +263,11 @@ export const getOverallUsers = async (sessionId: string, searchParams?: any) => return await get_(sessionId, url, true); }; +export const getDailyStatistics = async(sessionId:string)=>{ + const url = BACKEND_API_URL + `/daily-stats`; + return await get_(sessionId, url, true); +} + export const getAddictionDistribution = async (sessionId: string, searchParams?: any) => { let searchString = ''; if (searchParams) { diff --git a/src/routes/users/[userId]/+error.svelte b/src/routes/users/[userId]/+error.svelte new file mode 100644 index 00000000..bbcee4ac --- /dev/null +++ b/src/routes/users/[userId]/+error.svelte @@ -0,0 +1,9 @@ + + +
+

{$page.status}

+

{$page.error.message}

+
+ diff --git a/src/routes/users/[userId]/assessment-templates/+page.server.ts b/src/routes/users/[userId]/assessment-templates/+page.server.ts index bbdba17c..3f5fa457 100644 --- a/src/routes/users/[userId]/assessment-templates/+page.server.ts +++ b/src/routes/users/[userId]/assessment-templates/+page.server.ts @@ -1,13 +1,12 @@ -import type { RequestEvent } from '@sveltejs/kit'; import { error } from '@sveltejs/kit'; import type { PageServerLoad } from './$types'; import { searchAssessmentTemplates } from '../../../api/services/assessment-templates'; //////////////////////////////////////////////////////////////////////////// -export const load: PageServerLoad = async (event: RequestEvent) => { - const sessionId = event.cookies.get('sessionId'); - +export const load: PageServerLoad = async ({cookies,depends}) => { + const sessionId = cookies.get('sessionId'); + depends('app:assessmentTemplate') try { const response = await searchAssessmentTemplates(sessionId); if (response.Status === 'failure' || response.HttpCode !== 200) { @@ -17,7 +16,7 @@ export const load: PageServerLoad = async (event: RequestEvent) => { return { assessmentTemplate, sessionId, - message: response.Message + message: response.Message, }; } catch (error) { console.error(`Error retriving assessment templates: ${error.message}`); diff --git a/src/routes/users/[userId]/assessment-templates/+page.svelte b/src/routes/users/[userId]/assessment-templates/+page.svelte index c65123d1..d727ee0f 100644 --- a/src/routes/users/[userId]/assessment-templates/+page.svelte +++ b/src/routes/users/[userId]/assessment-templates/+page.svelte @@ -7,11 +7,13 @@ import Icon from '@iconify/svelte'; import { Paginator, type PaginationSettings } from '@skeletonlabs/skeleton'; import type { PageServerData } from './$types'; + import { invalidate } from '$app/navigation'; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// export let data: PageServerData; - let assessmentTemplates = data.assessmentTemplate.Items; + $:assessmentTemplates = data.assessmentTemplate.Items; + let retrivedAssessmentTemplates; const userId = $page.params.userId; const assessmentRoute = `/users/${userId}/assessment-templates`; const editRoute = (id) => `/users/${userId}/assessment-templates/${id}/edit`; @@ -57,10 +59,14 @@ assessmentTemplates = response.map((item, index) => ({ ...item, index: index + 1 })); } - $: retrivedAssessmentTemplates = assessmentTemplates.slice( + $:{ + assessmentTemplates = assessmentTemplates.map((item, index) => ({ ...item, index: index + 1 })); + paginationSettings.size = data.assessmentTemplate.TotalCount; + retrivedAssessmentTemplates = assessmentTemplates.slice( paginationSettings.page * paginationSettings.limit, paginationSettings.page * paginationSettings.limit + paginationSettings.limit - ); + );} + $:console.log(retrivedAssessmentTemplates) $: if (browser) @@ -101,7 +107,7 @@ sessionId: data.sessionId, assessmentTemplateId: assessmentTemplateId }); - window.location.href = assessmentRoute; + invalidate('app:assessmentTemplate'); }; async function Delete(model) { @@ -114,7 +120,6 @@ -
Node Type * - {nodeType} + + + + +
{/each} - diff --git a/src/routes/users/[userId]/health-systems/+page.server.ts b/src/routes/users/[userId]/health-systems/+page.server.ts index cfb016b9..ee0c1f5b 100644 --- a/src/routes/users/[userId]/health-systems/+page.server.ts +++ b/src/routes/users/[userId]/health-systems/+page.server.ts @@ -5,8 +5,9 @@ import { searchHealthSystems } from '../../../api/services/health.systems'; //////////////////////////////////////////////////////////////////////////// -export const load: PageServerLoad = async (event: RequestEvent) => { - const sessionId = event.cookies.get('sessionId'); +export const load: PageServerLoad = async ({cookies,depends}) => { + const sessionId = cookies.get('sessionId'); + depends('app:healthSystem'); try { const response = await searchHealthSystems(sessionId); diff --git a/src/routes/users/[userId]/health-systems/+page.svelte b/src/routes/users/[userId]/health-systems/+page.svelte index 10a43353..ab727f87 100644 --- a/src/routes/users/[userId]/health-systems/+page.svelte +++ b/src/routes/users/[userId]/health-systems/+page.svelte @@ -8,14 +8,14 @@ import { Paginator, type PaginationSettings } from '@skeletonlabs/skeleton'; import date from 'date-and-time'; import type { PageServerData } from './$types'; + import { invalidate } from '$app/navigation'; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// export let data: PageServerData; - let healthSystems = data.healthSystems.Items; - healthSystems = healthSystems.map((item, index) => ({ ...item, index: index + 1 })); - + $: healthSystems = data.healthSystems.Items; + let retrivedHealthSystems; const userId = $page.params.userId; const healthSystemRoute = `/users/${userId}/health-systems`; const editRoute = (id) => `/users/${userId}/health-systems/${id}/edit`; @@ -64,10 +64,14 @@ healthSystems = items.map((item, index) => ({ ...item, index: index + 1 })); } - $: retrivedHealthSystems = healthSystems.slice( + $: { + healthSystems = healthSystems.map((item, index) => ({ ...item, index: index + 1 })); + paginationSettings.size = data.healthSystems.TotalCount; + retrivedHealthSystems = healthSystems.slice( paginationSettings.page * paginationSettings.limit, paginationSettings.page * paginationSettings.limit + paginationSettings.limit - ); + ); + } // $: console.log('retrivedHealthSystems', retrivedHealthSystems); @@ -105,7 +109,7 @@ sessionId: data.sessionId, healthSystemId }); - window.location.href = healthSystemRoute; + invalidate('app:healthSystem'); }; async function Delete(model) { diff --git a/src/routes/users/[userId]/home/+page.server.ts b/src/routes/users/[userId]/home/+page.server.ts index 32ed6f93..ac474276 100644 --- a/src/routes/users/[userId]/home/+page.server.ts +++ b/src/routes/users/[userId]/home/+page.server.ts @@ -1,105 +1,51 @@ -import type { RequestEvent } from '@sveltejs/kit'; import type { PageServerLoad } from './$types'; -import { - getAppDownloadsData, - getDeviceDetailWiseUsers, - // getEnrollmetUsers, - getOverallUsers, - getYears -} from '$routes/api/services/statistics'; +import { error, type RequestEvent } from '@sveltejs/kit'; +import { getDailyStatistics } from '$routes/api/services/statistics'; //////////////////////////////////////////////////////////////////////////// export const load: PageServerLoad = async (event: RequestEvent) => { - const sessionId = event.cookies.get('sessionId'); - try { - const _overallUsersData = await getOverallUsers(sessionId); - const _deviceDetailWiseUsers = await getDeviceDetailWiseUsers(sessionId); - // const _enrollmentUsers = await getEnrollmetUsers(sessionId); - const _appDownloadsData = await getAppDownloadsData(sessionId); - const _years = await getYears(sessionId); - const overallUsersData = _overallUsersData.Data.UsersCountStats; - const deviceDetailWiseUsers_ = _deviceDetailWiseUsers.Data.DeviceDetailWiseUsers; - const deviceDetailWiseUsers = deviceDetailWiseUsers_.map(item => { - if (item.OSType === 'aaa') { - return { OSType: 'Missing device detail', count: item.count }; - } - return item; - }); - // const enrollmentUsers = _enrollmentUsers.Data.EnrollmentUsers; - - let years = _years.Data.Years; - const appDownloadsData = _appDownloadsData.Data.AppDownload; - - let appDownloadCount = 0; - - if (appDownloadsData.rows.length > 0) { - const latestEntry = latestDownloadEnrty(appDownloadsData); - appDownloadCount = latestEntry.TotalDownloads; - } - - const yearsArray = []; - years = years.sort((a, b) => a.year - b.year); - for (const year of years) { - const year_ = year.year; - yearsArray.push(year_); - } - - const totalUsersArray = []; - for (const y of yearsArray) { - const searchParams = { - year: y - }; - const _totalUsers = await getOverallUsers(sessionId, searchParams); - const totalUsers = _totalUsers.Data.UsersCountStats.TotalUsers.Count; - totalUsersArray.push(totalUsers); - } - - const androidUsersArray = []; - - const iOSUsersArray = []; - for (const y of yearsArray) { - const searchParams = { - year: y - }; - const _deviceDetailWiseUsers = await getDeviceDetailWiseUsers(sessionId, searchParams); - - const deviceDetails = _deviceDetailWiseUsers.Data.DeviceDetailWiseUsers; - console.log('deviceDetails----', deviceDetails); - for (const deviceDetail of deviceDetails ) - if (deviceDetail.OSType === 'iOS'){ - iOSUsersArray.push(deviceDetail.count) - } - else if (deviceDetail.OSType === 'Android'){ - androidUsersArray.push(deviceDetail.count) - } - } - - console.log('appDownloadsData', appDownloadCount); - console.log('deviceDetailWiseUsers', deviceDetailWiseUsers); - console.log('overallUsersData', overallUsersData); - // console.log('enrollmentUsers', enrollmentUsers); - console.log('years', years); - return { - sessionId, - deviceDetailWiseUsers, - androidUsersArray, - totalUsersArray, - iOSUsersArray, - yearsArray, - // enrollmentUsers, - appDownloadCount, - overallUsersData - }; - } catch (error) { - console.error(`Error retriving users data: ${error.message}`); - } - - function latestDownloadEnrty(appDownloadsData) { - return appDownloadsData.rows.reduce((latest, current) => { - const latestTimestamp = latest ? new Date(latest.CreatedAt).getTime() : 0; - const currentTimestamp = new Date(current.CreatedAt).getTime(); - return currentTimestamp > latestTimestamp ? current : latest; - }, null); - } + const sessionId = event.cookies.get('sessionId'); + const response = await getDailyStatistics(sessionId); + if (!response) { + throw error(404, 'Daily user statistics data not found'); + } + // const _enrollmentUsers = await getEnrollmetUsers(sessionId); + const overallUsersData = response.Data.DailyStatistics.Statistics.UserStatistics.UsersCountStats; + const deviceDetailWiseUsers_ = response.Data.DailyStatistics.Statistics.UserStatistics.DeviceDetailWiseUsers; + const yearWiseUserCount = response.Data.DailyStatistics.Statistics.UserStatistics.YearWiseUserCount; + const yearWiseDeviceDetails = response.Data.DailyStatistics.Statistics.UserStatistics.YearWiseDeviceDetails; + const deviceDetailWiseUsers = deviceDetailWiseUsers_.map((item) => { + if (item.OSType === 'aaa') { + return { OSType: 'Missing device detail', count: item.count }; + } + return item; + }); + // const enrollmentUsers = _enrollmentUsers.Data.EnrollmentUsers; + + const appDownloadsData = response.Data.DailyStatistics.Statistics.UserStatistics.AppDownload; + let appDownloadCount = 0; + + if (appDownloadsData.rows.length > 0) { + const latestEntry = latestDownloadEnrty(appDownloadsData); + appDownloadCount = latestEntry.TotalDownloads; + } + + return { + sessionId, + deviceDetailWiseUsers, + // enrollmentUsers, + appDownloadCount, + overallUsersData, + yearWiseUserCount, + yearWiseDeviceDetails + }; + + function latestDownloadEnrty(appDownloadsData) { + return appDownloadsData.rows.reduce((latest, current) => { + const latestTimestamp = latest ? new Date(latest.CreatedAt).getTime() : 0; + const currentTimestamp = new Date(current.CreatedAt).getTime(); + return currentTimestamp > latestTimestamp ? current : latest; + }, null); + } }; diff --git a/src/routes/users/[userId]/home/+page.svelte b/src/routes/users/[userId]/home/+page.svelte index 400f3de3..c7b41b52 100644 --- a/src/routes/users/[userId]/home/+page.svelte +++ b/src/routes/users/[userId]/home/+page.svelte @@ -12,13 +12,16 @@ let deletedUsers = overallUsersData.DeletedUsers; let nonDeletedUsers = overallUsersData.NotDeletedUsers; let deviceDetailWiseUsersData = data.deviceDetailWiseUsers; - let androidUsers = data.deviceDetailWiseUsers.AndroidUsers; - let iOSUsers = data.deviceDetailWiseUsers.IOSUsers; - let missingDeviceDetails = data.deviceDetailWiseUsers.MissingDeviceDetails; - let totalUsersData = data.totalUsersArray; - let androidUsersData = data.androidUsersArray; - let iOSUsersData = data.iOSUsersArray; - let yearsArray = data.yearsArray; + // let missingDeviceDetails = data.deviceDetailWiseUsers.MissingDeviceDetails; + let yearsArray = []; + let totalUsersData = []; + let androidUsersData = []; + let iOSUsersData = []; + let yearWiseUserData = data.yearWiseUserCount + let yearWiseDeviceDetails = data.yearWiseDeviceDetails; + extractYearWiseUserCount(yearWiseUserData); + extractYearWiseDeviceDetails(yearWiseDeviceDetails); + let enrolledUsersData = overallUsersData.EnrolledUsers; let downloads = data.appDownloadCount; @@ -39,6 +42,45 @@ activeUsers.Count, ]; + function extractYearWiseUserCount(data:any[]){ + data.forEach((value)=>{ + yearsArray.push(value.Year); + totalUsersData.push(value.UserCount); + }) + } + + function extractYearWiseDeviceDetails(data:any[]){ + data.forEach(value=>{ + if (value.DeviceDetails.length===0){ + androidUsersData.push(0); + iOSUsersData.push(0); + }else{ + let andriodCount=undefined; + let iOSCount=undefined; + value.DeviceDetails.forEach(devicedetails=>{ + if(devicedetails.OSType==='Android'){ + andriodCount = devicedetails.count; + // androidUsersData.push(devicedetails.count); + } + if(devicedetails.OSType==='iOS'){ + iOSCount = devicedetails.count; + // iOSUsersData.push(devicedetails.count); + } + }) + if (!andriodCount){ + androidUsersData.push(0); + }else{ + androidUsersData.push(andriodCount); + } + if (!iOSCount){ + iOSUsersData.push(0); + }else{ + iOSUsersData.push(iOSCount); + } + } + + }) + }
@@ -211,4 +253,4 @@ - + \ No newline at end of file diff --git a/src/routes/users/[userId]/home/users-stats/+page.server.ts b/src/routes/users/[userId]/home/users-stats/+page.server.ts index 50f9598c..6d4bee6c 100644 --- a/src/routes/users/[userId]/home/users-stats/+page.server.ts +++ b/src/routes/users/[userId]/home/users-stats/+page.server.ts @@ -1,117 +1,101 @@ -import type { RequestEvent } from '@sveltejs/kit'; +import { error, type RequestEvent } from '@sveltejs/kit'; import type { PageServerLoad } from './$types'; import { - // getActiveUsers, - getAddictionDistribution, - getAgeWiseUsers, - // getBiometricsDistribution, - getCountryWiseUsers, - getGenderWiseUsers, - // getHealthPillarDistribution, - getMajorAilment, - getMaritalStatusWiseUsers, - // getObesityDistribution, - getOverallUsers, - // getRoleDistribution, - // getTolalUsers, - getDeviceDetailWiseUsers, - getYears, + // getActiveUsers, + // getBiometricsDistribution, + // getHealthPillarDistribution, + // getObesityDistribution, + // getRoleDistribution, + // getTolalUsers, + getDailyStatistics } from '$routes/api/services/statistics'; //////////////////////////////////////////////////////////////////////////// export const load: PageServerLoad = async (event: RequestEvent) => { - const sessionId = event.cookies.get('sessionId'); - try { - // const years = ['2020', '2021', '2022', '2023']; - // const ageWiseUsersArray = []; - // for (const y of years) { - // const searchParams = { - // year: y - // }; - // const _ageWiseUsers = await getAgeWiseUsers(sessionId, searchParams); - // const genderWiseUsers = _ageWiseUsers.Data.AgeWiseUsers; - // ageWiseUsersArray.push(genderWiseUsers); - // } + const sessionId = event.cookies.get('sessionId'); + const response = await getDailyStatistics(sessionId); + if (!response) { + throw error(404, 'Daily user statistics data not found'); + } + // const years = ['2020', '2021', '2022', '2023']; + // const ageWiseUsersArray = []; + // for (const y of years) { + // const searchParams = { + // year: y + // }; + // const _ageWiseUsers = await getAgeWiseUsers(sessionId, searchParams); + // const genderWiseUsers = _ageWiseUsers.Data.AgeWiseUsers; + // ageWiseUsersArray.push(genderWiseUsers); + // } - const currentDate = new Date(); - const currentYear = currentDate.getFullYear(); - const searchParams = { - year: currentYear - }; + // const _totalUsers = await getTolalUsers(sessionId); + // const _activeUsers = await getActiveUsers(sessionId); - // const _totalUsers = await getTolalUsers(sessionId); - // const _activeUsers = await getActiveUsers(sessionId); - const _overallUsersData = await getOverallUsers(sessionId); - const _ageWiseUsers = await getAgeWiseUsers(sessionId); - const _genderWiseUsers = await getGenderWiseUsers(sessionId); - const _maritalStatusWiseUsers = await getMaritalStatusWiseUsers(sessionId); - const _countryWiseUsers = await getCountryWiseUsers(sessionId); - const _majorAilment = await getMajorAilment(sessionId); - // const _obesityDistribution = await getObesityDistribution(sessionId); - const _addictionDistribution = await getAddictionDistribution(sessionId); - // const _healthPillarDistribution = await getHealthPillarDistribution(sessionId); - // const _healthPillarDistributionMonthly = await getHealthPillarDistribution( - // sessionId, - // searchParams - // ); - // const _roleDistribution = await getRoleDistribution(sessionId); - // const _biometricsDistribution = await getBiometricsDistribution(sessionId); - // const _biometricsDistributionMonthly = await getBiometricsDistribution(sessionId, searchParams); - const _deviceDetailWiseUsers = await getDeviceDetailWiseUsers(sessionId); - const _years = await getYears(sessionId); + // const _obesityDistribution = await getObesityDistribution(sessionId); - // const totalUsers = _totalUsers.Data.TotalUsers; - // const activeUsers = _activeUsers.Data.ActiveUsers; - const overallUsersData = _overallUsersData.Data.UsersCountStats; - const ageWiseUsers = _ageWiseUsers.Data.AgeWiseUsers; - const genderWiseUsers = _genderWiseUsers.Data.GenderWiseUsers; - const maritalStatusWiseUsers = _maritalStatusWiseUsers.Data.MaritalStatusWiseUsers; - const countryWiseUsers = _countryWiseUsers.Data.CountryWiseUsers; - const majorAilment = _majorAilment.Data.MajorAilmentDistribution; - // const obesityDistribution = _obesityDistribution.Data.ObesityDistribution; - const addictionDistribution = _addictionDistribution.Data.AddictionDistribution; - // const healthPillarDistribution = _healthPillarDistribution.Data.HealthPillarDistribution; - // const healthPillarDistributionMonthly = - // _healthPillarDistributionMonthly.Data.HealthPillarDistribution; - // const roleDistribution = _roleDistribution.Data.RoleDistribution; - // const biometricsDistribution = _biometricsDistribution.Data.Biometrics; - // const biometricsDistributionMonthly = _biometricsDistributionMonthly.Data.Biometrics; - const deviceDetailWiseUsers = _deviceDetailWiseUsers.Data.DeviceDetailWiseUsers; - const years = _years.Data.Years; - - console.log('overallUsersData', overallUsersData); - // console.log('activeUsers', activeUsers); - console.log('ageWiseUsers', ageWiseUsers); - console.log('genderWiseUsers', genderWiseUsers); - console.log('maritalStatusWiseUsers', maritalStatusWiseUsers); - // console.log('obesityDistribution', obesityDistribution); - console.log('addictionDistribution', addictionDistribution); - // console.log('healthPillarDistributionMonthly', healthPillarDistributionMonthly); - // console.log('roleDistribution', roleDistribution); + // const _healthPillarDistribution = await getHealthPillarDistribution(sessionId); + // const _healthPillarDistributionMonthly = await getHealthPillarDistribution( + // sessionId, + // searchParams + // ); + // const _roleDistribution = await getRoleDistribution(sessionId); + // const _biometricsDistribution = await getBiometricsDistribution(sessionId); + // const _biometricsDistributionMonthly = await getBiometricsDistribution(sessionId, searchParams); + // const totalUsers = _totalUsers.Data.TotalUsers; + // const activeUsers = _activeUsers.Data.ActiveUsers; + const overallUsersData = response.Data.DailyStatistics.Statistics.UserStatistics.UsersCountStats; + const ageWiseUsers = response.Data.DailyStatistics.Statistics.UserStatistics.AgeWiseUsers; + const genderWiseUsers = response.Data.DailyStatistics.Statistics.UserStatistics.GenderWiseUsers; + const maritalStatusWiseUsers = response.Data.DailyStatistics.Statistics.UserStatistics.MaritalStatusWiseUsers; + const countryWiseUsers = response.Data.DailyStatistics.Statistics.UserStatistics.CountryWiseUsers; + const majorAilment = response.Data.DailyStatistics.Statistics.UserStatistics.MajorAilmentDistribution; + // const obesityDistribution = _obesityDistribution.Data.ObesityDistribution; + const addictionDistribution = response.Data.DailyStatistics.Statistics.UserStatistics.AddictionDistribution; + // const healthPillarDistribution = _healthPillarDistribution.Data.HealthPillarDistribution; + // const healthPillarDistributionMonthly = + // _healthPillarDistributionMonthly.Data.HealthPillarDistribution; + // const roleDistribution = _roleDistribution.Data.RoleDistribution; + // const biometricsDistribution = _biometricsDistribution.Data.Biometrics; + // const biometricsDistributionMonthly = _biometricsDistributionMonthly.Data.Biometrics; + const deviceDetailWiseUsers = response.Data.DailyStatistics.Statistics.UserStatistics.DeviceDetailWiseUsers; + const years = []; + const yearWiseUserCount = response.Data.DailyStatistics.Statistics.UserStatistics.YearWiseUserCount; + yearWiseUserCount.forEach((value) => { + years.push({ + year: value.Year + }); + }); + console.log('###', years); + console.log('overallUsersData', overallUsersData); + // console.log('activeUsers', activeUsers); + console.log('ageWiseUsers', ageWiseUsers); + console.log('genderWiseUsers', genderWiseUsers); + console.log('maritalStatusWiseUsers', maritalStatusWiseUsers); + // console.log('obesityDistribution', obesityDistribution); + console.log('addictionDistribution', addictionDistribution); + // console.log('healthPillarDistributionMonthly', healthPillarDistributionMonthly); + // console.log('roleDistribution', roleDistribution); console.log('deviceDetailWiseUsers', deviceDetailWiseUsers); - return { - sessionId, - // totalUsers, - // activeUsers, - ageWiseUsers, - genderWiseUsers, - maritalStatusWiseUsers, - countryWiseUsers, - majorAilment, - // obesityDistribution, - addictionDistribution, - // healthPillarDistribution, - // healthPillarDistributionMonthly, - // roleDistribution, - // biometricsDistribution, - // biometricsDistributionMonthly, - overallUsersData, - deviceDetailWiseUsers, - years - }; - } catch (error) { - console.error(`Error retriving users data: ${error.message}`); - } + return { + sessionId, + // totalUsers, + // activeUsers, + ageWiseUsers, + genderWiseUsers, + maritalStatusWiseUsers, + countryWiseUsers, + majorAilment, + // obesityDistribution, + addictionDistribution, + // healthPillarDistribution, + // healthPillarDistributionMonthly, + // roleDistribution, + // biometricsDistribution, + // biometricsDistributionMonthly, + overallUsersData, + deviceDetailWiseUsers, + years + }; }; diff --git a/src/routes/users/[userId]/hospitals/+page.server.ts b/src/routes/users/[userId]/hospitals/+page.server.ts index 3b82ea04..b57f793a 100644 --- a/src/routes/users/[userId]/hospitals/+page.server.ts +++ b/src/routes/users/[userId]/hospitals/+page.server.ts @@ -1,13 +1,12 @@ -import type { RequestEvent } from '@sveltejs/kit'; import { error } from '@sveltejs/kit'; import type { PageServerLoad } from './$types'; import { searchHospitals } from '../../../api/services/hospitals'; //////////////////////////////////////////////////////////////////////////// -export const load: PageServerLoad = async (event: RequestEvent) => { - const sessionId = event.cookies.get('sessionId'); - +export const load: PageServerLoad = async ({cookies,depends}) => { + const sessionId = cookies.get('sessionId'); + depends('app:hospitals') try { const response = await searchHospitals(sessionId); if (response.Status === 'failure' || response.HttpCode !== 200) { diff --git a/src/routes/users/[userId]/hospitals/+page.svelte b/src/routes/users/[userId]/hospitals/+page.svelte index 144d97f7..5b30a1e3 100644 --- a/src/routes/users/[userId]/hospitals/+page.svelte +++ b/src/routes/users/[userId]/hospitals/+page.svelte @@ -8,15 +8,13 @@ import { Paginator, type PaginationSettings } from '@skeletonlabs/skeleton'; import date from 'date-and-time'; import type { PageServerData } from './$types'; + import { invalidate } from '$app/navigation'; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// export let data: PageServerData; - - let hospitals = data.hospitals.Items; - hospitals = hospitals.map((item, index) => ({ ...item, index: index + 1 })); - // console.log('hospitals ->', hospitals); - + $: hospitals = data.hospitals.Items; + let retrivedHospitals; const userId = $page.params.userId; const hospitalRoute = `/users/${userId}/hospitals`; const editRoute = (id) => `/users/${userId}/hospitals/${id}/edit`; @@ -63,10 +61,14 @@ hospitals = items.map((item, index) => ({ ...item, index: index + 1 })); } - $: retrivedHospitals = hospitals.slice( + $:{ + hospitals = hospitals.map((item, index) => ({ ...item, index: index + 1 })); + paginationSettings.size = data.hospitals.TotalCount; + retrivedHospitals = hospitals.slice( paginationSettings.page * paginationSettings.limit, paginationSettings.page * paginationSettings.limit + paginationSettings.limit ); + } // $: console.log('retrivedHospitals', retrivedHospitals); @@ -109,7 +111,7 @@ sessionId: data.sessionId, hospitalId }); - window.location.href = hospitalRoute; + invalidate('app:hospitals'); }; async function Delete(model) { diff --git a/src/routes/users/[userId]/lab-record-types/+page.server.ts b/src/routes/users/[userId]/lab-record-types/+page.server.ts index d2e70f32..cb4a827d 100644 --- a/src/routes/users/[userId]/lab-record-types/+page.server.ts +++ b/src/routes/users/[userId]/lab-record-types/+page.server.ts @@ -5,15 +5,16 @@ import { searchLabRecordTypes } from '../../../api/services/lab-record-types'; //////////////////////////////////////////////////////////////////////////// -export const load: PageServerLoad = async (event: RequestEvent) => { - const sessionId = event.cookies.get('sessionId'); - +export const load: PageServerLoad = async ({cookies,depends}) => { + const sessionId = cookies.get('sessionId'); + depends('app:labRecordType') + let labRecordTypes=[] try { const response = await searchLabRecordTypes(sessionId); if (response.Status === 'failure' || response.HttpCode !== 200) { throw error(response.HttpCode, response.Message); } - const labRecordTypes = response.Data.LabRecordTypes; + labRecordTypes = response.Data.LabRecordTypes; return { labRecordTypes, sessionId, @@ -21,5 +22,10 @@ export const load: PageServerLoad = async (event: RequestEvent) => { }; } catch (error) { console.error(`Error retriving Lab record types: ${error.message}`); + return { + labRecordTypes, + sessionId, + message: error.message + }; } }; diff --git a/src/routes/users/[userId]/lab-record-types/+page.svelte b/src/routes/users/[userId]/lab-record-types/+page.svelte index 518d0044..8130dd26 100644 --- a/src/routes/users/[userId]/lab-record-types/+page.svelte +++ b/src/routes/users/[userId]/lab-record-types/+page.svelte @@ -6,6 +6,7 @@ import Icon from '@iconify/svelte'; import {Paginator, type PaginationSettings } from '@skeletonlabs/skeleton'; import type { PageServerData } from './$types'; + import { invalidate} from '$app/navigation'; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// export let data: PageServerData; @@ -20,9 +21,10 @@ sort(sortOrder) $:{ + labRecordTypes = data.labRecordTypes; + sort(sortOrder) labRecordTypes = labRecordTypes.map((item, index) => ({ ...item, index: index + 1 })); } - function sort(sortOrder){ labRecordTypes = labRecordTypes.sort((a, b) => { let fa = a.TypeName.toLowerCase(), @@ -51,13 +53,14 @@ amounts: [10, 20, 30, 50] } satisfies PaginationSettings; + $:paginationSettings.size = labRecordTypes.length; const handleLabRecordTypeDelete = async (id) => { - const labRecordTypeId = id; - await Delete({ + const labRecordTypeId = id; + await Delete({ sessionId: data.sessionId, labRecordTypeId: labRecordTypeId }); - window.location.href = labRecordTypesRoute; + invalidate('app:labRecordType') }; $: selectedLabRecordTypes = labRecordTypes.slice( @@ -84,23 +87,6 @@ - @@ -130,7 +116,7 @@ No records found {:else} - {#each selectedLabRecordTypes as row} + {#each selectedLabRecordTypes as row, id} {row.index} diff --git a/src/routes/users/[userId]/learning-journeys/create/+page.svelte b/src/routes/users/[userId]/learning-journeys/create/+page.svelte index 8bbacbf3..922dd314 100644 --- a/src/routes/users/[userId]/learning-journeys/create/+page.svelte +++ b/src/routes/users/[userId]/learning-journeys/create/+page.svelte @@ -165,7 +165,7 @@
- +
Favicon - {#if favicon === 'undefined'} + {#if !favicon} Not specified {:else} @@ -129,7 +129,7 @@ Image - {#if image === 'undefined'} + {#if !image} Not specified {:else} diff --git a/src/routes/users/[userId]/newsfeeds/create/+page.server.ts b/src/routes/users/[userId]/newsfeeds/create/+page.server.ts index 06910b99..6a45bc4b 100644 --- a/src/routes/users/[userId]/newsfeeds/create/+page.server.ts +++ b/src/routes/users/[userId]/newsfeeds/create/+page.server.ts @@ -45,7 +45,7 @@ export const actions = { errors }; } - + const response = await createNewsfeed( sessionId, result.title, diff --git a/src/routes/users/[userId]/newsfeeds/create/+page.svelte b/src/routes/users/[userId]/newsfeeds/create/+page.svelte index 14511254..d422ad18 100644 --- a/src/routes/users/[userId]/newsfeeds/create/+page.svelte +++ b/src/routes/users/[userId]/newsfeeds/create/+page.svelte @@ -10,8 +10,8 @@ export let form; const userId = $page.params.userId; - let image = undefined; - let favicon = undefined; + let image = ''; + let favicon = ''; let fileInput; const createRoute = `/users/${userId}/newsfeeds/create`; diff --git a/src/routes/users/[userId]/notifications/create/+page.svelte b/src/routes/users/[userId]/notifications/create/+page.svelte index e5567cce..630f04f1 100644 --- a/src/routes/users/[userId]/notifications/create/+page.svelte +++ b/src/routes/users/[userId]/notifications/create/+page.svelte @@ -9,7 +9,7 @@ export let form; const userId = $page.params.userId; - let imageUrl = undefined; + let imageUrl = ''; let fileinput; const createRoute = `/users/${userId}/notifications/create`; diff --git a/src/routes/users/[userId]/symptoms/+page.server.ts b/src/routes/users/[userId]/symptoms/+page.server.ts index 75dfc2b7..4eb78510 100644 --- a/src/routes/users/[userId]/symptoms/+page.server.ts +++ b/src/routes/users/[userId]/symptoms/+page.server.ts @@ -1,4 +1,3 @@ -import type { RequestEvent } from '@sveltejs/kit'; import { error } from '@sveltejs/kit'; import { BACKEND_API_URL } from '$env/static/private'; import type { PageServerLoad } from './$types'; @@ -6,9 +5,9 @@ import { searchSymptoms } from '../../../api/services/symptoms'; //////////////////////////////////////////////////////////////////////////// -export const load: PageServerLoad = async (event: RequestEvent) => { - const sessionId = event.cookies.get('sessionId'); - +export const load: PageServerLoad = async ({cookies,depends}) => { + const sessionId = cookies.get('sessionId'); + depends('app:symptoms') try { const response = await searchSymptoms(sessionId); if (response.Status === 'failure' || response.HttpCode !== 200) { diff --git a/src/routes/users/[userId]/symptoms/+page.svelte b/src/routes/users/[userId]/symptoms/+page.svelte index 0601a184..04600e30 100644 --- a/src/routes/users/[userId]/symptoms/+page.svelte +++ b/src/routes/users/[userId]/symptoms/+page.svelte @@ -11,11 +11,13 @@ } from '@skeletonlabs/skeleton'; import date from 'date-and-time'; import type { PageServerData } from './$types'; + import { invalidate } from '$app/navigation'; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// export let data: PageServerData; - let symptoms = data.symptoms; + let retrivedSymptoms; + $: symptoms = data.symptoms; const userId = $page.params.userId; const symptomRoute = `/users/${userId}/symptoms`; @@ -64,10 +66,14 @@ symptoms = response.map((item, index) => ({ ...item, index: index + 1 })); } - $: retrivedSymptoms = symptoms.slice( + $: { + symptoms = symptoms.map((item, index) => ({ ...item, index: index + 1 })); + paginationSettings.size = data.symptomsCount; + retrivedSymptoms = symptoms.slice( paginationSettings.page * paginationSettings.limit, paginationSettings.page * paginationSettings.limit + paginationSettings.limit ); + } $: if (browser) searchSymptom({ @@ -107,7 +113,7 @@ sessionId: data.sessionId, symptomId: symptomId }); - window.location.href = symptomRoute; + invalidate('app:symptoms'); }; async function Delete(model) {