jako tako
This commit is contained in:
@@ -5,6 +5,8 @@ import EventService from './event.service';
|
||||
import useDataUtils from '@/shared/data/data-utils.service';
|
||||
import { type IEvent } from '@/shared/model/event.model';
|
||||
import { useAlertService } from '@/shared/alert/alert.service';
|
||||
import { useDateFormat } from '@/shared/composables';
|
||||
import type { IRegistration } from '@/shared/model/registration.model';
|
||||
|
||||
export default defineComponent({
|
||||
compatConfig: { MODE: 3 },
|
||||
@@ -12,7 +14,7 @@ export default defineComponent({
|
||||
setup() {
|
||||
const eventService = inject('eventService', () => new EventService());
|
||||
const alertService = inject('alertService', () => useAlertService(), true);
|
||||
|
||||
const { formatDateShort } = useDateFormat();
|
||||
const dataUtils = useDataUtils();
|
||||
|
||||
const route = useRoute();
|
||||
@@ -20,27 +22,47 @@ export default defineComponent({
|
||||
|
||||
const previousState = () => router.go(-1);
|
||||
const event: Ref<IEvent> = ref({});
|
||||
const sortedAndIndexedRegistrations: Ref<IRegistration[]> = ref([]);
|
||||
|
||||
const retrieveEvent = async eventId => {
|
||||
const retrieveEvent = async (eventId: string) => {
|
||||
try {
|
||||
const res = await eventService().find(eventId);
|
||||
event.value = res;
|
||||
// sortedAndIndexedRegistrations.value = res.registrations;
|
||||
sortedAndIndexedRegistrations.value = res.registrations.sort(
|
||||
(a, b) => new Date(a.dateTime).getTime() - new Date(b.dateTime).getTime(),
|
||||
);
|
||||
} catch (error) {
|
||||
alertService.showHttpError(error.response);
|
||||
}
|
||||
};
|
||||
|
||||
if (route.params?.eventId) {
|
||||
retrieveEvent(route.params.eventId);
|
||||
retrieveEvent(route.params.eventId as string);
|
||||
}
|
||||
|
||||
// const sortedAndIndexedRegistrations = () => {
|
||||
// console.log('asdfasdfasdf', event.value.registrations)
|
||||
// console.log('asdfasdfasdf', event.value)
|
||||
// return [...(event.value.registrations || [])].sort((a, b) =>
|
||||
// new Date(a.dateTime).getTime() - new Date(b.dateTime).getTime()
|
||||
// );
|
||||
// };
|
||||
|
||||
const getRegistrationIndex = (index: number) => {
|
||||
const activeCount = sortedAndIndexedRegistrations.value.slice(0, index).filter(r => r.active).length;
|
||||
return sortedAndIndexedRegistrations.value[index].active ? activeCount + 1 : '';
|
||||
};
|
||||
|
||||
// console.log('asdfasdf', sortedAndIndexedRegistrations())
|
||||
return {
|
||||
alertService,
|
||||
event,
|
||||
|
||||
...dataUtils,
|
||||
|
||||
formatDateShort,
|
||||
previousState,
|
||||
sortedAndIndexedRegistrations,
|
||||
getRegistrationIndex,
|
||||
};
|
||||
},
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user