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.
|
|
<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>
|