feat: FE calendar, context menu, dashboard
This commit is contained in:
parent
ca005ebb0b
commit
b389f37a1d
6 changed files with 123 additions and 84 deletions
|
@ -1,6 +1,7 @@
|
|||
import type {ContextMenu} from "@models/misc/contextMenu"
|
||||
import type {ContextMenu, ExtractActionTriggers} from "@models/misc/contextMenu"
|
||||
|
||||
export interface calendarShowEvent {
|
||||
showInstanceIndex: Number,
|
||||
showInstanceId: Number,
|
||||
title: string,
|
||||
color: string,
|
||||
|
@ -9,6 +10,8 @@ export interface calendarShowEvent {
|
|||
timed: boolean,
|
||||
}
|
||||
|
||||
export type ShowEventActionTrigger = ExtractActionTriggers<typeof calendarShowEventMenu>;
|
||||
|
||||
export const calendarShowEventMenu: ContextMenu = {
|
||||
entries: [
|
||||
{
|
||||
|
|
|
@ -24,6 +24,12 @@ interface ContextMenuEntryWithChildren {
|
|||
|
||||
type ContextMenuEntry = ContextMenuEntryWithAction | ContextMenuEntryWithChildren;
|
||||
|
||||
export type ExtractActionTriggers<T> =
|
||||
T extends { actionTrigger: infer U } ? U :
|
||||
T extends { children: infer C } ? ExtractActionTriggers<C> :
|
||||
T extends (infer R)[] ? ExtractActionTriggers<R> :
|
||||
never;
|
||||
|
||||
export function menuEntryWithAction(entry: ContextMenuEntry): entry is ContextMenuEntryWithAction {
|
||||
return 'actionTrigger' in entry;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue