Compare commits

..

2 Commits

Author SHA1 Message Date
Tim Gröger 036b97f8e4 update to v1.0.0-alpha.5 2023-05-16 00:02:27 +02:00
Tim Gröger 775da10b3b add tabs to query 2023-05-12 23:55:41 +02:00
2 changed files with 19 additions and 1 deletions

View File

@ -1,6 +1,6 @@
{ {
"license": "MIT", "license": "MIT",
"version": "1.0.0-alpha.4", "version": "1.0.0-alpha.5",
"name": "@flaschengeist/users", "name": "@flaschengeist/users",
"author": "Ferdinand Thiessen <rpm@fthiessen.de>", "author": "Ferdinand Thiessen <rpm@fthiessen.de>",
"homepage": "https://flaschengeist.dev/Flaschengeist", "homepage": "https://flaschengeist.dev/Flaschengeist",

View File

@ -45,6 +45,8 @@
<script lang="ts"> <script lang="ts">
import { Screen } from 'quasar'; import { Screen } from 'quasar';
import { useRoute, useRouter } from 'vue-router';
import { onBeforeMount, watch } from 'vue';
import { PERMISSIONS } from '../permissions'; import { PERMISSIONS } from '../permissions';
import NewUser from '../components/NewUser.vue'; import NewUser from '../components/NewUser.vue';
import { hasPermission } from '@flaschengeist/api'; import { hasPermission } from '@flaschengeist/api';
@ -57,6 +59,8 @@ export default defineComponent({
components: { RoleSettings, UpdateUser, NewUser }, components: { RoleSettings, UpdateUser, NewUser },
setup() { setup() {
const canEditRoles = computed(() => hasPermission(PERMISSIONS.ROLES_EDIT)); const canEditRoles = computed(() => hasPermission(PERMISSIONS.ROLES_EDIT));
const route = useRoute();
const router = useRouter();
interface Tab { interface Tab {
name: string; name: string;
@ -74,6 +78,16 @@ export default defineComponent({
{ name: 'roles', label: 'Rollen', permissions: [PERMISSIONS.ROLES_EDIT] }, { name: 'roles', label: 'Rollen', permissions: [PERMISSIONS.ROLES_EDIT] },
]; ];
onBeforeMount(async () => {
if (
route.query.keys?.length === 0 ||
!tabs.some((value) => value.name == route.query.q_tab)
) {
await router.replace({ query: { q_tab: 'user' } });
}
tab.value = route.query.q_tab as string;
});
const _tabs = computed(() => const _tabs = computed(() =>
tabs.filter((tab) => { tabs.filter((tab) => {
return tab.permissions.every((permission) => hasPermission(permission)); return tab.permissions.every((permission) => hasPermission(permission));
@ -93,6 +107,10 @@ export default defineComponent({
const tab = ref<string>('user'); const tab = ref<string>('user');
watch(tab, async (val) => {
await router.replace({ query: { q_tab: val } });
});
return { return {
canEditRoles, canEditRoles,
showDrawer, showDrawer,