39 lines
982 B
TypeScript
39 lines
982 B
TypeScript
|
import { date } from 'quasar';
|
||
|
|
||
|
/** An new event does not contain an id and the type might be unset */
|
||
|
export type EditableEvent = Omit<Omit<Omit<FG.Event, 'jobs'>, 'type'>, 'id'> & {
|
||
|
type?: FG.EventType | number;
|
||
|
id?: number;
|
||
|
jobs: EditableJob[];
|
||
|
};
|
||
|
|
||
|
/** A new job does not have an id or type assigned */
|
||
|
export type EditableJob = Omit<Omit<FG.Job, 'type'>, 'id'> & {
|
||
|
type?: FG.EventType | number;
|
||
|
id?: number;
|
||
|
};
|
||
|
|
||
|
export function emptyJob(startDate = new Date()): EditableJob {
|
||
|
const start = date.adjustDate(startDate, {
|
||
|
hours: new Date().getHours(),
|
||
|
minutes: 0,
|
||
|
seconds: 0,
|
||
|
milliseconds: 0,
|
||
|
});
|
||
|
return {
|
||
|
start: start,
|
||
|
end: date.addToDate(start, { hours: 1 }),
|
||
|
services: [],
|
||
|
locked: false,
|
||
|
required_services: 2,
|
||
|
};
|
||
|
}
|
||
|
|
||
|
export function emptyEvent(startDate?: Date): EditableEvent {
|
||
|
return {
|
||
|
start: startDate === undefined ? new Date() : new Date(startDate),
|
||
|
jobs: [emptyJob(startDate)],
|
||
|
is_template: false,
|
||
|
};
|
||
|
}
|