Files
alla-allaos-fullstack/src/features/crm/calendar/components/calendar-adapter.ts
phaichayon ab56852c47 task-ep.1.6
2026-07-13 16:29:40 +07:00

38 lines
1.0 KiB
TypeScript

import type { BigCalendarEvent, CalendarProjectionItem } from '../api/types';
export function mapCalendarProjectionToBigCalendarEvent(
item: CalendarProjectionItem
): BigCalendarEvent {
const activityEditable = item.editable && !item.milestone && item.activityId !== null;
return {
id: item.id,
title: item.title,
start: item.startAt,
end: item.endAt,
allDay: item.allDay,
editable: activityEditable,
draggable: activityEditable,
resizable: activityEditable,
category: item.category,
priority: item.priority,
source: {
entityType: item.entityType,
entityId: item.entityId,
activityId: item.activityId,
customerId: item.customerId,
leadId: item.leadId,
opportunityId: item.opportunityId,
quotationId: item.quotationId,
approvalId: item.approvalId
},
display: {
summary: item.summary,
location: item.location,
overdue: item.overdue,
hotProject: item.hotProject,
milestone: item.milestone
}
};
}