Fix group moderation table scrolling to top on selection

Fix current user status state not matching UI
This commit is contained in:
Natsumi
2023-10-31 19:35:12 +13:00
parent 7d394a228d
commit 68a20aec07
3 changed files with 14 additions and 10 deletions

View File

@@ -199,7 +199,7 @@ namespace VRCX
public void ProcessStarted(Process process)
{
Process = process;
Process = process;
ProcessName = process.ProcessName.ToLower();
IsRunning = true;
}

View File

@@ -1976,6 +1976,9 @@ speechSynthesis.getVoices();
}
}
if (ref.id === this.currentUser.id) {
if (ref.status) {
this.currentUser.status = ref.status;
}
$app.updateCurrentUserLocation();
}
this.$emit('USER:APPLY', ref);
@@ -29072,10 +29075,11 @@ speechSynthesis.getVoices();
small: true,
layout: 'sizes,prev,pager,next,total',
pageSizes: [10, 15, 25, 50, 100]
},
key: 0
}
};
$app.data.groupMemberModerationTableForceUpdate = 0;
$app.methods.setGroupMemberModerationTable = function (data) {
if (!this.groupMemberModeration.visible) {
return;
@@ -29088,7 +29092,7 @@ speechSynthesis.getVoices();
}
this.groupMemberModerationTable.data = data;
// force redraw
this.groupMemberModerationTable.key++;
this.groupMemberModerationTableForceUpdate++;
};
$app.methods.showGroupMemberModerationDialog = function (groupId) {
@@ -29107,7 +29111,7 @@ speechSynthesis.getVoices();
API.getCachedGroup({ groupId }).then((args) => {
D.groupRef = args.ref;
});
this.groupMemberModerationTable.key = 0;
this.groupMemberModerationTableForceUpdate = 0;
D.visible = true;
this.setGroupMemberModerationTable(this.groupDialog.members);
};
@@ -29121,7 +29125,7 @@ speechSynthesis.getVoices();
}
D.selectedUsersArray = Array.from(D.selectedUsers.values());
// force redraw
this.groupMemberModerationTable.key++;
this.groupMemberModerationTableForceUpdate++;
};
$app.methods.deleteSelectedGroupMember = function (user) {
@@ -29136,7 +29140,7 @@ speechSynthesis.getVoices();
}
}
// force redraw
this.groupMemberModerationTable.key++;
this.groupMemberModerationTableForceUpdate++;
};
$app.methods.clearSelectedGroupMembers = function () {
@@ -29148,7 +29152,7 @@ speechSynthesis.getVoices();
row.$selected = false;
}
// force redraw
this.groupMemberModerationTable.key++;
this.groupMemberModerationTableForceUpdate++;
};
$app.methods.selectAllGroupMembers = function () {
@@ -29160,7 +29164,7 @@ speechSynthesis.getVoices();
}
D.selectedUsersArray = Array.from(D.selectedUsers.values());
// force redraw
this.groupMemberModerationTable.key++;
this.groupMemberModerationTableForceUpdate++;
};
$app.methods.groupMembersKick = async function () {

View File

@@ -2859,7 +2859,7 @@ html
br
el-button(size="small" @click="selectAllGroupMembers") {{ $t('dialog.group_member_moderation.select_all') }}
data-tables(v-bind="groupMemberModerationTable" style="margin-top:10px")
el-table-column(width="55" prop="$selected" :key="groupMemberModerationTable.key")
el-table-column(width="55" prop="$selected" :key="groupMemberModerationTableForceUpdate")
template(v-once #default="scope")
el-button(type="text" size="mini" @click.stop)
el-checkbox(v-model="scope.row.$selected" @change="groupMemberModerationTableSelectionChange(scope.row)")