This commit is contained in:
2023-02-28 11:30:35 +10:00
parent d1bc5c2fe5
commit 6ccc33f762

View File

@@ -1,46 +1,60 @@
<template> <template>
<SMPage permission="admin/events"> <SMPage permission="admin/events">
<SMHeading heading="Events" /> <template #container>
<SMMessage <SMHeading heading="Events" />
v-if="formMessage.message" <SMMessage
:icon="formMessage.icon" v-if="formMessage.message"
:type="formMessage.type" :icon="formMessage.icon"
:message="formMessage.message" /> :type="formMessage.type"
<SMToolbar> :message="formMessage.message" />
<template #left> <SMToolbar>
<SMButton <template #left>
type="primary" <SMButton
label="Create Event" type="primary"
@click="handleCreate" /> label="Create Event"
</template> :small="true"
<template #right> @click="handleCreate" />
<input v-model="search" placeholder="Search" /> </template>
</template> <template #right>
</SMToolbar> <SMInput
v-model="search"
label="Search"
:small="true"
style="max-width: 250px" />
</template>
</SMToolbar>
<EasyDataTable <EasyDataTable
v-model:server-options="serverOptions" v-model:server-options="serverOptions"
:server-items-length="serverItemsLength" :server-items-length="serverItemsLength"
:loading="formLoading" :loading="formLoading"
:headers="headers" :headers="headers"
:items="items" :items="items"
:search-value="search"> :search-value="search">
<template #loading> <template #loading>
<SMLoadingIcon /> <SMLoadingIcon />
</template> </template>
<template #item-title="item"> <template #item-title="item">
<router-link <router-link
:to="{ :to="{
name: 'dashboard-event-edit', name: 'dashboard-event-edit',
params: { id: item.id }, params: { id: item.id },
}" }"
>{{ item.title }}</router-link >{{ item.title }}</router-link
> >
</template> </template>
<template #item-actions="item"> <template #item-actions="item">
<div class="action-wrapper"></div> <div class="action-wrapper">
</template> <SMButton
</EasyDataTable> label="Edit"
:dropdown="{
delete: 'Delete',
}"
@click="handleClick(item, $event)"></SMButton>
</div>
</template>
</EasyDataTable>
</template>
</SMPage> </SMPage>
</template> </template>
@@ -55,6 +69,7 @@ import SMHeading from "../../components/SMHeading.vue";
import SMLoadingIcon from "../../components/SMLoadingIcon.vue"; import SMLoadingIcon from "../../components/SMLoadingIcon.vue";
import SMMessage from "../../components/SMMessage.vue"; import SMMessage from "../../components/SMMessage.vue";
import SMToolbar from "../../components/SMToolbar.vue"; import SMToolbar from "../../components/SMToolbar.vue";
import SMInput from "../../components/SMInput.vue";
import { api } from "../../helpers/api"; import { api } from "../../helpers/api";
import { SMDate } from "../../helpers/datetime"; import { SMDate } from "../../helpers/datetime";
import { debounce } from "../../helpers/debounce"; import { debounce } from "../../helpers/debounce";
@@ -86,6 +101,14 @@ const serverOptions = ref({
sortType: null, sortType: null,
}); });
const handleClick = (item, extra: string): void => {
if (extra.length == 0) {
handleEdit(item);
} else if (extra.toLowerCase() == "delete") {
handleDelete(item);
}
};
const loadFromServer = async () => { const loadFromServer = async () => {
formMessage.icon = ""; formMessage.icon = "";
formMessage.type = "error"; formMessage.type = "error";
@@ -130,7 +153,7 @@ const loadFromServer = async () => {
}).relative(); }).relative();
} }
if (row.created_at !== "undefined") { if (row.created_at !== "undefined") {
row.created_at = new SMDate(row.creative_at, { row.created_at = new SMDate(row.created_at, {
format: "ymd", format: "ymd",
utc: true, utc: true,
}).relative(); }).relative();