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) public void ProcessStarted(Process process)
{ {
Process = process; Process = process;
ProcessName = process.ProcessName.ToLower(); ProcessName = process.ProcessName.ToLower();
IsRunning = true; IsRunning = true;
} }

View File

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

View File

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