Fix permissions drawer

This commit is contained in:
rijkvanzanten
2020-10-16 15:15:13 -04:00
parent d65af41258
commit 8eebc6e950
3 changed files with 35 additions and 9 deletions

View File

@@ -5,7 +5,15 @@
</template>
<article class="v-drawer">
<v-button class="cancel" @click="$emit('cancel')" icon rounded secondary v-tooltip.bottom="$t('cancel')">
<v-button
v-if="showCancel"
class="cancel"
@click="$emit('cancel')"
icon
rounded
secondary
v-tooltip.bottom="$t('cancel')"
>
<v-icon name="close" />
</v-button>
@@ -80,7 +88,7 @@ export default defineComponent({
default: 'box',
},
},
setup(props, { emit }) {
setup(props, { emit, listeners }) {
const sidebarActive = ref(false);
const localActive = ref(false);
@@ -98,7 +106,11 @@ export default defineComponent({
},
});
return { sidebarActive, _active, mainEl };
const showCancel = computed(() => {
return listeners.hasOwnProperty('cancel');
});
return { sidebarActive, _active, mainEl, showCancel };
},
});
</script>

View File

@@ -2,13 +2,13 @@
<v-drawer active title="Activity Item" @toggle="close" @cancel="close">
<v-progress-circular indeterminate v-if="loading" />
<template v-else-if="error">
<div class="content" v-else-if="error">
<v-notice type="danger">
{{ error }}
</v-notice>
</template>
</div>
<template v-else>
<div class="content" v-else>
<!-- @TODO add final design -->
<p class="type-label">User:</p>
<user-popover v-if="item.user" :user="item.user.id">
@@ -32,7 +32,7 @@
<p class="type-label">Item:</p>
<p>{{ item.item }}</p>
</template>
</div>
<template #actions>
<v-button v-if="openItemLink" :to="openItemLink" icon rounded v-tooltip.bottom="$t('open')">
@@ -138,4 +138,10 @@ export default defineComponent({
.type-label:not(:first-child) {
margin-top: 24px;
}
.content {
padding: var(--content-padding);
padding-top: 0;
padding-bottom: var(--content-padding);
}
</style>

View File

@@ -4,12 +4,12 @@
<tabs :current-tab.sync="currentTab" :tabs="tabs" />
</template>
<template v-if="!loading">
<div class="content" v-if="!loading">
<permissions v-if="currentTab[0] === 'permissions'" :permission.sync="permission" :role="role" />
<fields v-if="currentTab[0] === 'fields'" :permission.sync="permission" :role="role" />
<validation v-if="currentTab[0] === 'validation'" :permission.sync="permission" :role="role" />
<presets v-if="currentTab[0] === 'presets'" :permission.sync="permission" :role="role" />
</template>
</div>
<template #actions v-if="!loading">
<actions :role-key="roleKey" :permission="permission" @refresh="$emit('refresh', +permissionKey)" />
@@ -149,3 +149,11 @@ export default defineComponent({
},
});
</script>
<style lang="scss" scoped>
.content {
padding: var(--content-padding);
padding-top: 0;
padding-bottom: var(--content-padding);
}
</style>