enhance: double confirm deletion for manual added newsletter recipients
This commit is contained in:
parent
d11f0d50c6
commit
caf8e71a51
1 changed files with 10 additions and 15 deletions
|
@ -42,11 +42,15 @@
|
||||||
<p>Newsletter senden an Typ: {{ member.sendNewsletter?.type.type ?? "---" }}</p>
|
<p>Newsletter senden an Typ: {{ member.sendNewsletter?.type.type ?? "---" }}</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<TrashIcon
|
<DoubleConfirmClick
|
||||||
v-if="can('create', 'club', 'newsletter') && showMemberSelect"
|
v-if="can('create', 'club', 'newsletter') && showMemberSelect"
|
||||||
class="w-5 h-5 p-1 box-content cursor-pointer"
|
light
|
||||||
@click="removeSelected(member.id)"
|
v-slot="{ isSensitive }"
|
||||||
/>
|
@click:submit="removeSelected(member.id)"
|
||||||
|
>
|
||||||
|
<TrashIcon v-if="!isSensitive" class="h-5 w-5" />
|
||||||
|
<TrashIconSolid v-else class="h-5 w-5" />
|
||||||
|
</DoubleConfirmClick>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -61,17 +65,8 @@
|
||||||
import { defineComponent } from "vue";
|
import { defineComponent } from "vue";
|
||||||
import { mapActions, mapState, mapWritableState } from "pinia";
|
import { mapActions, mapState, mapWritableState } from "pinia";
|
||||||
import Spinner from "@/components/Spinner.vue";
|
import Spinner from "@/components/Spinner.vue";
|
||||||
import {
|
|
||||||
Combobox,
|
|
||||||
ComboboxLabel,
|
|
||||||
ComboboxInput,
|
|
||||||
ComboboxButton,
|
|
||||||
ComboboxOptions,
|
|
||||||
ComboboxOption,
|
|
||||||
TransitionRoot,
|
|
||||||
} from "@headlessui/vue";
|
|
||||||
import { CheckIcon, ChevronUpDownIcon } from "@heroicons/vue/20/solid";
|
|
||||||
import { ArchiveBoxIcon, ExclamationTriangleIcon, TrashIcon, UserPlusIcon } from "@heroicons/vue/24/outline";
|
import { ArchiveBoxIcon, ExclamationTriangleIcon, TrashIcon, UserPlusIcon } from "@heroicons/vue/24/outline";
|
||||||
|
import { TrashIcon as TrashIconSolid } from "@heroicons/vue/24/solid";
|
||||||
import { useMemberStore } from "@/stores/admin/club/member/member";
|
import { useMemberStore } from "@/stores/admin/club/member/member";
|
||||||
import type { MemberViewModel } from "@/viewmodels/admin/club/member/member.models";
|
import type { MemberViewModel } from "@/viewmodels/admin/club/member/member.models";
|
||||||
import { useNewsletterStore } from "@/stores/admin/club/newsletter/newsletter";
|
import { useNewsletterStore } from "@/stores/admin/club/newsletter/newsletter";
|
||||||
|
@ -79,9 +74,9 @@ import { useNewsletterRecipientsStore } from "@/stores/admin/club/newsletter/new
|
||||||
import { useAbilityStore } from "@/stores/ability";
|
import { useAbilityStore } from "@/stores/ability";
|
||||||
import { useQueryStoreStore } from "@/stores/admin/configuration/queryStore";
|
import { useQueryStoreStore } from "@/stores/admin/configuration/queryStore";
|
||||||
import { useQueryBuilderStore } from "@/stores/admin/club/queryBuilder";
|
import { useQueryBuilderStore } from "@/stores/admin/club/queryBuilder";
|
||||||
import cloneDeep from "lodash.clonedeep";
|
|
||||||
import MemberSearchSelect from "@/components/admin/MemberSearchSelect.vue";
|
import MemberSearchSelect from "@/components/admin/MemberSearchSelect.vue";
|
||||||
import type { FieldType } from "@/types/dynamicQueries";
|
import type { FieldType } from "@/types/dynamicQueries";
|
||||||
|
import DoubleConfirmClick from "@/components/DoubleConfirmClick.vue";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
|
|
Loading…
Add table
Reference in a new issue