You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

58 lines
1.6 KiB

<template>
<base-card
:title="$t('overview.deleteProjectTitle')"
:agree-text="$t('generic.yes')"
:cancel-text="$t('generic.cancel')"
@agree="$emit('remove')"
@cancel="$emit('cancel')"
>
<template #content>
{{ $t('overview.deleteProjectMessage') }}
<v-list dense>
<v-list-item v-for="(item, i) in selected" :key="i">
<v-list-item-content>
<v-list-item-title>{{ item.name }}</v-list-item-title>
</v-list-item-content>
</v-list-item>
</v-list>
<span v-show="hasNonDeletableProjects" class="font-weight-bold">
You don't have permission to delete the following projects. We try to delete the projects except for the following.
</span>
<v-list dense>
<v-list-item v-for="(item, i) in nonDeletableProjects" :key="i">
<v-list-item-content>
<v-list-item-title>{{ item.name }}</v-list-item-title>
</v-list-item-content>
</v-list-item>
</v-list>
</template>
</base-card>
</template>
<script lang="ts">
import Vue, { PropType } from 'vue'
import BaseCard from '@/components/utils/BaseCard.vue'
import { ProjectDTO } from '@/services/application/project.service'
export default Vue.extend({
components: {
BaseCard
},
props: {
selected: {
type: Array as PropType<ProjectDTO[]>,
default: () => []
}
},
computed: {
nonDeletableProjects(): ProjectDTO[] {
return this.selected.filter(item => !item.current_users_role.is_project_admin)
},
hasNonDeletableProjects(): boolean {
return this.nonDeletableProjects.length > 0
}
}
})
</script>