mirror of
https://github.com/MrUnknownDE/VRCX.git
synced 2026-05-07 06:56:04 +02:00
Link table page sizes, remove page size setting
This commit is contained in:
+1
-1
@@ -129,6 +129,7 @@
|
|||||||
import GameLog from './views/GameLog/GameLog.vue';
|
import GameLog from './views/GameLog/GameLog.vue';
|
||||||
import GroupDialog from './components/dialogs/GroupDialog/GroupDialog.vue';
|
import GroupDialog from './components/dialogs/GroupDialog/GroupDialog.vue';
|
||||||
import GroupMemberModerationDialog from './components/dialogs/GroupDialog/GroupMemberModerationDialog.vue';
|
import GroupMemberModerationDialog from './components/dialogs/GroupDialog/GroupMemberModerationDialog.vue';
|
||||||
|
import InviteGroupDialog from './components/dialogs/InviteGroupDialog.vue';
|
||||||
import LaunchDialog from './components/dialogs/LaunchDialog.vue';
|
import LaunchDialog from './components/dialogs/LaunchDialog.vue';
|
||||||
import LaunchOptionsDialog from './views/Settings/dialogs/LaunchOptionsDialog.vue';
|
import LaunchOptionsDialog from './views/Settings/dialogs/LaunchOptionsDialog.vue';
|
||||||
import Login from './views/Login/Login.vue';
|
import Login from './views/Login/Login.vue';
|
||||||
@@ -145,7 +146,6 @@
|
|||||||
import Sidebar from './views/Sidebar/Sidebar.vue';
|
import Sidebar from './views/Sidebar/Sidebar.vue';
|
||||||
import Tools from './views/Tools/Tools.vue';
|
import Tools from './views/Tools/Tools.vue';
|
||||||
import UserDialog from './components/dialogs/UserDialog/UserDialog.vue';
|
import UserDialog from './components/dialogs/UserDialog/UserDialog.vue';
|
||||||
import InviteGroupDialog from './components/dialogs/InviteGroupDialog.vue';
|
|
||||||
import VRCXUpdateDialog from './components/dialogs/VRCXUpdateDialog.vue';
|
import VRCXUpdateDialog from './components/dialogs/VRCXUpdateDialog.vue';
|
||||||
import VRChatConfigDialog from './views/Settings/dialogs/VRChatConfigDialog.vue';
|
import VRChatConfigDialog from './views/Settings/dialogs/VRChatConfigDialog.vue';
|
||||||
import WorldDialog from './components/dialogs/WorldDialog/WorldDialog.vue';
|
import WorldDialog from './components/dialogs/WorldDialog/WorldDialog.vue';
|
||||||
|
|||||||
@@ -29,6 +29,8 @@
|
|||||||
<script>
|
<script>
|
||||||
import { computed, ref, toRefs, watch } from 'vue';
|
import { computed, ref, toRefs, watch } from 'vue';
|
||||||
|
|
||||||
|
import { useAppearanceSettingsStore } from '../stores';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'DataTable',
|
name: 'DataTable',
|
||||||
props: {
|
props: {
|
||||||
@@ -52,6 +54,10 @@
|
|||||||
type: Number,
|
type: Number,
|
||||||
default: 20
|
default: 20
|
||||||
},
|
},
|
||||||
|
pageSizeLinked: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
|
},
|
||||||
filters: {
|
filters: {
|
||||||
type: [Array, Object],
|
type: [Array, Object],
|
||||||
default: () => []
|
default: () => []
|
||||||
@@ -75,6 +81,7 @@
|
|||||||
'filtered-data'
|
'filtered-data'
|
||||||
],
|
],
|
||||||
setup(props, { emit }) {
|
setup(props, { emit }) {
|
||||||
|
const appearanceSettingsStore = useAppearanceSettingsStore();
|
||||||
const { data, currentPage, pageSize, tableProps, paginationProps, filters } = toRefs(props);
|
const { data, currentPage, pageSize, tableProps, paginationProps, filters } = toRefs(props);
|
||||||
|
|
||||||
const internalCurrentPage = ref(currentPage.value);
|
const internalCurrentPage = ref(currentPage.value);
|
||||||
@@ -185,6 +192,9 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
const handleSizeChange = (size) => {
|
const handleSizeChange = (size) => {
|
||||||
|
if (props.pageSizeLinked) {
|
||||||
|
appearanceSettingsStore.setTablePageSize(size);
|
||||||
|
}
|
||||||
internalPageSize.value = size;
|
internalPageSize.value = size;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -720,9 +720,13 @@
|
|||||||
style="margin-top: 5px; width: 340px"
|
style="margin-top: 5px; width: 340px"
|
||||||
:placeholder="t('dialog.group_member_moderation.user_id_placeholder')"
|
:placeholder="t('dialog.group_member_moderation.user_id_placeholder')"
|
||||||
clearable></el-input>
|
clearable></el-input>
|
||||||
<el-button size="small" :disabled="!selectUserId" @click="selectGroupMemberUserId">{{
|
<el-button
|
||||||
t('dialog.group_member_moderation.select_user')
|
size="small"
|
||||||
}}</el-button>
|
style="margin-top: 5px; margin-left: 5px"
|
||||||
|
:disabled="!selectUserId"
|
||||||
|
@click="selectGroupMemberUserId"
|
||||||
|
>{{ t('dialog.group_member_moderation.select_user') }}</el-button
|
||||||
|
>
|
||||||
<br />
|
<br />
|
||||||
<br />
|
<br />
|
||||||
<span class="name">{{ t('dialog.group_member_moderation.selected_users') }}</span>
|
<span class="name">{{ t('dialog.group_member_moderation.selected_users') }}</span>
|
||||||
@@ -1001,21 +1005,6 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
async function initializePageSize() {
|
|
||||||
try {
|
|
||||||
const { tablePageSize } = storeToRefs(useAppearanceSettingsStore());
|
|
||||||
|
|
||||||
groupMemberModerationTable.pageSize = tablePageSize.value;
|
|
||||||
groupBansModerationTable.pageSize = tablePageSize.value;
|
|
||||||
groupLogsModerationTable.pageSize = tablePageSize.value;
|
|
||||||
groupInvitesModerationTable.pageSize = tablePageSize.value;
|
|
||||||
groupJoinRequestsModerationTable.pageSize = tablePageSize.value;
|
|
||||||
groupBlockedModerationTable.pageSize = tablePageSize.value;
|
|
||||||
} catch (error) {
|
|
||||||
console.error('Failed to initialize table page size:', error);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function deselectGroupMember(userId) {
|
function deselectGroupMember(userId) {
|
||||||
const deselectInTable = (tableData) => {
|
const deselectInTable = (tableData) => {
|
||||||
if (userId) {
|
if (userId) {
|
||||||
@@ -1070,9 +1059,6 @@
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
// created()
|
|
||||||
initializePageSize();
|
|
||||||
|
|
||||||
function handleGroupMemberRoleChange(args) {
|
function handleGroupMemberRoleChange(args) {
|
||||||
if (groupDialog.value.id === args.params.groupId) {
|
if (groupDialog.value.id === args.params.groupId) {
|
||||||
groupDialog.value.members.forEach((member) => {
|
groupDialog.value.members.forEach((member) => {
|
||||||
|
|||||||
@@ -431,8 +431,7 @@
|
|||||||
"sort_instance_users_by": "Sort Instance Users by",
|
"sort_instance_users_by": "Sort Instance Users by",
|
||||||
"sort_instance_users_by_time": "time",
|
"sort_instance_users_by_time": "time",
|
||||||
"sort_instance_users_by_alphabet": "alphabetical",
|
"sort_instance_users_by_alphabet": "alphabetical",
|
||||||
"table_max_size": "Table Max Size",
|
"table_max_size": "Table Max Size"
|
||||||
"page_size": "Page Size:"
|
|
||||||
},
|
},
|
||||||
"timedate": {
|
"timedate": {
|
||||||
"header": "Time/Date",
|
"header": "Time/Date",
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ export const useFeedStore = defineStore('Feed', () => {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
pageSize: 15,
|
pageSize: 15,
|
||||||
|
pageSizeLinked: true,
|
||||||
paginationProps: {
|
paginationProps: {
|
||||||
small: true,
|
small: true,
|
||||||
layout: 'sizes,prev,pager,next,total',
|
layout: 'sizes,prev,pager,next,total',
|
||||||
|
|||||||
@@ -87,6 +87,7 @@ export const useFriendStore = defineStore('Friend', () => {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
pageSize: 15,
|
pageSize: 15,
|
||||||
|
pageSizeLinked: true,
|
||||||
paginationProps: {
|
paginationProps: {
|
||||||
small: true,
|
small: true,
|
||||||
layout: 'sizes,prev,pager,next,total',
|
layout: 'sizes,prev,pager,next,total',
|
||||||
|
|||||||
@@ -72,6 +72,7 @@ export const useGameLogStore = defineStore('GameLog', () => {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
pageSize: 15,
|
pageSize: 15,
|
||||||
|
pageSizeLinked: true,
|
||||||
paginationProps: {
|
paginationProps: {
|
||||||
small: true,
|
small: true,
|
||||||
layout: 'sizes,prev,pager,next,total',
|
layout: 'sizes,prev,pager,next,total',
|
||||||
|
|||||||
@@ -15,7 +15,8 @@ export const useModerationStore = defineStore('Moderation', () => {
|
|||||||
const isPlayerModerationsLoading = ref(false);
|
const isPlayerModerationsLoading = ref(false);
|
||||||
const playerModerationTable = ref({
|
const playerModerationTable = ref({
|
||||||
data: [],
|
data: [],
|
||||||
pageSize: 15
|
pageSize: 15,
|
||||||
|
pageSizeLinked: true
|
||||||
});
|
});
|
||||||
|
|
||||||
watch(
|
watch(
|
||||||
|
|||||||
@@ -75,6 +75,7 @@ export const useNotificationStore = defineStore('Notification', () => {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
pageSize: 15,
|
pageSize: 15,
|
||||||
|
pageSizeLinked: true,
|
||||||
paginationProps: {
|
paginationProps: {
|
||||||
small: true,
|
small: true,
|
||||||
layout: 'sizes,prev,pager,next,total',
|
layout: 'sizes,prev,pager,next,total',
|
||||||
|
|||||||
@@ -187,7 +187,6 @@ export const useAppearanceSettingsStore = defineStore(
|
|||||||
instanceUsersSortAlphabeticalConfig;
|
instanceUsersSortAlphabeticalConfig;
|
||||||
|
|
||||||
setTablePageSize(tablePageSizeConfig);
|
setTablePageSize(tablePageSizeConfig);
|
||||||
handleSetTablePageSize(tablePageSize.value);
|
|
||||||
|
|
||||||
dtHour12.value = dtHour12Config;
|
dtHour12.value = dtHour12Config;
|
||||||
dtIsoFormat.value = dtIsoFormatConfig;
|
dtIsoFormat.value = dtIsoFormatConfig;
|
||||||
@@ -451,6 +450,12 @@ export const useAppearanceSettingsStore = defineStore(
|
|||||||
* @param {number} size
|
* @param {number} size
|
||||||
*/
|
*/
|
||||||
function setTablePageSize(size) {
|
function setTablePageSize(size) {
|
||||||
|
feedStore.feedTable.pageSize = size;
|
||||||
|
gameLogStore.gameLogTable.pageSize = size;
|
||||||
|
friendStore.friendLogTable.pageSize = size;
|
||||||
|
moderationStore.playerModerationTable.pageSize = size;
|
||||||
|
notificationStore.notificationTable.pageSize = size;
|
||||||
|
|
||||||
tablePageSize.value = size;
|
tablePageSize.value = size;
|
||||||
configRepository.setInt('VRCX_tablePageSize', size);
|
configRepository.setInt('VRCX_tablePageSize', size);
|
||||||
}
|
}
|
||||||
@@ -636,15 +641,6 @@ export const useAppearanceSettingsStore = defineStore(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async function handleSetTablePageSize(pageSize) {
|
|
||||||
feedStore.feedTable.pageSize = pageSize;
|
|
||||||
gameLogStore.gameLogTable.pageSize = pageSize;
|
|
||||||
friendStore.friendLogTable.pageSize = pageSize;
|
|
||||||
moderationStore.playerModerationTable.pageSize = pageSize;
|
|
||||||
notificationStore.notificationTable.pageSize = pageSize;
|
|
||||||
setTablePageSize(pageSize);
|
|
||||||
}
|
|
||||||
|
|
||||||
function promptMaxTableSizeDialog() {
|
function promptMaxTableSizeDialog() {
|
||||||
ElMessageBox.prompt(
|
ElMessageBox.prompt(
|
||||||
t('prompt.change_table_size.description'),
|
t('prompt.change_table_size.description'),
|
||||||
@@ -743,7 +739,6 @@ export const useAppearanceSettingsStore = defineStore(
|
|||||||
userColourInit,
|
userColourInit,
|
||||||
applyUserTrustLevel,
|
applyUserTrustLevel,
|
||||||
changeAppLanguage,
|
changeAppLanguage,
|
||||||
handleSetTablePageSize,
|
|
||||||
promptMaxTableSizeDialog
|
promptMaxTableSizeDialog
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -412,23 +412,6 @@
|
|||||||
@click="promptMaxTableSizeDialog"
|
@click="promptMaxTableSizeDialog"
|
||||||
>{{ t('view.settings.appearance.appearance.table_max_size') }}</el-button
|
>{{ t('view.settings.appearance.appearance.table_max_size') }}</el-button
|
||||||
>
|
>
|
||||||
<el-dropdown trigger="click" size="small" @click.stop>
|
|
||||||
<el-button size="small">
|
|
||||||
<span
|
|
||||||
>{{ t('view.settings.appearance.appearance.page_size') }} {{ tablePageSize }}
|
|
||||||
<el-icon class="el-icon--right"><ArrowDown /></el-icon
|
|
||||||
></span>
|
|
||||||
</el-button>
|
|
||||||
<template #dropdown>
|
|
||||||
<el-dropdown-menu>
|
|
||||||
<el-dropdown-item
|
|
||||||
v-for="number in [10, 15, 20, 25, 50, 100]"
|
|
||||||
:key="number"
|
|
||||||
@click="handleSetTablePageSize(number)"
|
|
||||||
v-text="number" />
|
|
||||||
</el-dropdown-menu>
|
|
||||||
</template>
|
|
||||||
</el-dropdown>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="options-container-item" />
|
<div class="options-container-item" />
|
||||||
</div>
|
</div>
|
||||||
@@ -1570,7 +1553,6 @@
|
|||||||
updateTrustColor,
|
updateTrustColor,
|
||||||
saveThemeMode,
|
saveThemeMode,
|
||||||
changeAppLanguage,
|
changeAppLanguage,
|
||||||
handleSetTablePageSize,
|
|
||||||
promptMaxTableSizeDialog
|
promptMaxTableSizeDialog
|
||||||
} = appearanceSettingsStore;
|
} = appearanceSettingsStore;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user