add member number of group

This commit is contained in:
Adrian Zürcher
2026-02-05 07:15:50 +01:00
parent 8f62f7af90
commit 73471ed653
2 changed files with 36 additions and 2 deletions

View File

@@ -64,7 +64,7 @@
:td-props="props"
:permitted="user.isPermittedTo('group', 'write')"
v-on:onClick="openGroupDialog(props.col.label, props.row)"
:value="props.value"
:value="props.value + ' (' + getAmount(props.row.name) + ')'"
/>
</template>
<template v-slot:body-cell-option="props">
@@ -122,6 +122,8 @@ import { i18n } from 'src/boot/lang';
import type { Group, Groups } from 'src/vueLib/models/group';
import SearchableInput from '../components/SearchableInput.vue';
import TopButtonGroup from '../components/TopButtonGroup.vue';
import { getAllMembers } from '../members/MembersTable';
import type { Members } from 'src/vueLib/models/member';
const { NotifyResponse } = useNotify();
const groupDialog = ref();
@@ -135,13 +137,16 @@ const selected = ref<Groups>([]);
const openSubmenu = ref(false);
const filter = ref('');
const user = useUserStore();
const members = ref<Members>([]);
const { groups, pagination, loading, columns, updateGroups } = useGroupTable();
//load on mounting page
onMounted(() => {
onMounted(async () => {
loading.value = true;
members.value = await getAllMembers();
appApi
.post('database/open', { dbPath: databaseName.value, create: true })
.then(() => {
@@ -216,6 +221,11 @@ async function save() {
})
.catch((err) => NotifyResponse(err, 'error'));
}
function getAmount(name: string) {
const amount = members.value.filter((e) => e.group?.name == name);
return amount.length;
}
</script>
<style>

View File

@@ -402,3 +402,27 @@ export function useMemberTable() {
exportCsv,
};
}
export async function getAllMembers(): Promise<Members> {
const { NotifyResponse } = useNotify();
const allMembers = ref<Members>([]);
await appApi
.get('members')
.then((resp) => {
if (resp.data === null) {
return [];
}
allMembers.value = resp.data as Members;
if (allMembers.value === null) {
return [];
}
})
.catch((err) => {
NotifyResponse(err, 'error');
});
return allMembers.value;
}