forked from trent_larson/crowd-funder-for-time-pwa
fix: pause MembersList auto-refresh during project dialog interaction
Stop auto-refresh when MeetingProjectDialog opens and resume when it closes to prevent UI conflicts during project selection.
This commit is contained in:
@@ -107,6 +107,7 @@ export default class MeetingProjectDialog extends Vue {
|
|||||||
*/
|
*/
|
||||||
open(): void {
|
open(): void {
|
||||||
this.visible = true;
|
this.visible = true;
|
||||||
|
this.emitOpen();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -114,6 +115,7 @@ export default class MeetingProjectDialog extends Vue {
|
|||||||
*/
|
*/
|
||||||
close(): void {
|
close(): void {
|
||||||
this.visible = false;
|
this.visible = false;
|
||||||
|
this.emitClose();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Emit methods using @Emit decorator
|
// Emit methods using @Emit decorator
|
||||||
@@ -122,6 +124,16 @@ export default class MeetingProjectDialog extends Vue {
|
|||||||
emitAssign(project: PlanData): PlanData {
|
emitAssign(project: PlanData): PlanData {
|
||||||
return project;
|
return project;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Emit("open")
|
||||||
|
emitOpen(): void {
|
||||||
|
// Emit when dialog opens
|
||||||
|
}
|
||||||
|
|
||||||
|
@Emit("close")
|
||||||
|
emitClose(): void {
|
||||||
|
// Emit when dialog closes
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@@ -276,6 +276,8 @@
|
|||||||
:notify="$notify"
|
:notify="$notify"
|
||||||
:load-more-callback="handleLoadMoreProjects"
|
:load-more-callback="handleLoadMoreProjects"
|
||||||
@assign="handleProjectLinkAssigned"
|
@assign="handleProjectLinkAssigned"
|
||||||
|
@open="handleDialogOpen"
|
||||||
|
@close="handleDialogClose"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<!-- Members Section -->
|
<!-- Members Section -->
|
||||||
@@ -308,6 +310,7 @@
|
|||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<MembersList
|
<MembersList
|
||||||
|
ref="membersList"
|
||||||
:password="currentMeeting.password || ''"
|
:password="currentMeeting.password || ''"
|
||||||
:show-organizer-tools="true"
|
:show-organizer-tools="true"
|
||||||
class="mt-4"
|
class="mt-4"
|
||||||
@@ -915,5 +918,25 @@ export default class OnboardMeetingView extends Vue {
|
|||||||
this.newOrUpdatedMeetingInputs.projectLink = "";
|
this.newOrUpdatedMeetingInputs.projectLink = "";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Handle dialog open event - stop auto-refresh in MembersList
|
||||||
|
*/
|
||||||
|
handleDialogOpen(): void {
|
||||||
|
const membersList = this.$refs.membersList as MembersList;
|
||||||
|
if (membersList) {
|
||||||
|
membersList.stopAutoRefresh();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Handle dialog close event - start auto-refresh in MembersList
|
||||||
|
*/
|
||||||
|
handleDialogClose(): void {
|
||||||
|
const membersList = this.$refs.membersList as MembersList;
|
||||||
|
if (membersList) {
|
||||||
|
membersList.startAutoRefresh();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
Reference in New Issue
Block a user