Browse Source

Update OnboardMeetingSetupView.vue

refactor: defer project loading until MeetingProjectDialog opens

- Move loadProjects() call from created() to handleDialogOpen()
- Remove allProjects check from ensureSelectedProjectLoaded()
- Projects now load only when dialog is opened, improving initial page load performance
- ensureSelectedProjectLoaded() now directly fetches project by handleId when needed
Jose Olarte III 9 hours ago
parent
commit
159a49ea35
  1. 23
      src/views/OnboardMeetingSetupView.vue

23
src/views/OnboardMeetingSetupView.vue

@ -444,9 +444,6 @@ export default class OnboardMeetingView extends Vue {
// eslint-disable-next-line @typescript-eslint/no-explicit-any // eslint-disable-next-line @typescript-eslint/no-explicit-any
this.allMyDids = await (this as any).$getAllAccountDids(); this.allMyDids = await (this as any).$getAllAccountDids();
// Load projects
await this.loadProjects();
await this.fetchCurrentMeeting(); await this.fetchCurrentMeeting();
// Ensure selected project is loaded if projectLink exists // Ensure selected project is loaded if projectLink exists
@ -525,7 +522,6 @@ export default class OnboardMeetingView extends Vue {
/** /**
* Ensure the selected project is loaded if projectLink exists * Ensure the selected project is loaded if projectLink exists
* Checks allProjects first, then fetches if not found
*/ */
async ensureSelectedProjectLoaded(): Promise<void> { async ensureSelectedProjectLoaded(): Promise<void> {
const projectLink = const projectLink =
@ -537,16 +533,6 @@ export default class OnboardMeetingView extends Vue {
return; return;
} }
// Check if already loaded in allProjects
const existingProject = this.allProjects.find(
(p) => p.handleId === projectLink,
);
if (existingProject) {
this.selectedProjectData = existingProject;
return;
}
// Not in allProjects, fetch it
await this.fetchProjectByHandleId(projectLink); await this.fetchProjectByHandleId(projectLink);
} }
@ -991,13 +977,18 @@ export default class OnboardMeetingView extends Vue {
} }
/** /**
* Handle dialog open event - stop auto-refresh in MembersList * Handle dialog open event - stop auto-refresh in MembersList and load projects
*/ */
handleDialogOpen(): void { async handleDialogOpen(): Promise<void> {
const membersList = this.$refs.membersList as MembersList; const membersList = this.$refs.membersList as MembersList;
if (membersList) { if (membersList) {
membersList.stopAutoRefresh(); membersList.stopAutoRefresh();
} }
// Load projects when dialog opens (if not already loaded)
if (this.allProjects.length === 0) {
await this.loadProjects();
}
} }
/** /**

Loading…
Cancel
Save