38 lines
1.0 KiB
TypeScript
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
|
|
}
|
|
};
|
|
}
|