From f92b7faf0f2fe9bcf0b5c3af199065cea6bc3146 Mon Sep 17 00:00:00 2001 From: LEO DANIEL A Date: Sun, 22 Mar 2026 22:15:58 +0530 Subject: [PATCH] fix(JobDetail): application count and button now load properly on page open --- frontend/src/pages/JobDetail.vue | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/frontend/src/pages/JobDetail.vue b/frontend/src/pages/JobDetail.vue index d8f80d18..5735f890 100644 --- a/frontend/src/pages/JobDetail.vue +++ b/frontend/src/pages/JobDetail.vue @@ -157,7 +157,7 @@ import { createResource, usePageMeta, } from 'frappe-ui' -import { inject, ref, computed } from 'vue' +import { inject, ref, computed, watch, nextTick } from 'vue' import { sessionStore } from '../stores/session' import JobApplicationModal from '@/components/Modals/JobApplicationModal.vue' import { @@ -193,17 +193,11 @@ const job = createResource({ }, cache: ['job', props.job], auto: true, - onSuccess: (data) => { - if (user.data?.name) { - jobApplication.submit() - applicationCount.submit() - } - }, }) const jobApplication = createResource({ url: 'frappe.client.get_list', - makeParams(values) { + makeParams() { return { doctype: 'LMS Job Application', filters: { @@ -216,7 +210,7 @@ const jobApplication = createResource({ const applicationCount = createResource({ url: 'frappe.client.get_count', - makeParams(values) { + makeParams() { return { doctype: 'LMS Job Application', filters: { @@ -226,6 +220,18 @@ const applicationCount = createResource({ }, }) +const stopWatch = watch( + () => [job.data?.name, user.data?.name], + ([jobName, userName]) => { + if (jobName && userName) { + jobApplication.submit() + applicationCount.submit() + nextTick(() => stopWatch()) + } + }, + { immediate: true } +) + const openApplicationModal = () => { showApplicationModal.value = true }