diff --git a/apps/client/src/common/utils/__tests__/clone.test.ts b/apps/client/src/common/utils/__tests__/clone.test.ts index 97fd32d9b..d16735fc7 100644 --- a/apps/client/src/common/utils/__tests__/clone.test.ts +++ b/apps/client/src/common/utils/__tests__/clone.test.ts @@ -28,6 +28,7 @@ describe('cloneEvent()', () => { delay: 0, dayOffset: 0, gap: 0, + triggers: [], custom: { lighting: '3', } as EntryCustomFields, @@ -36,6 +37,7 @@ describe('cloneEvent()', () => { const cloned = cloneEvent(original); expect(cloned).not.toBe(original); expect(cloned.custom).not.toBe(original.custom); + expect(cloned.triggers).not.toBe(original.triggers); expect(cloned).toMatchObject({ type: SupportedEntry.Event, @@ -59,6 +61,8 @@ describe('cloneEvent()', () => { gap: 0, timeWarning: original.timeWarning, timeDanger: original.timeDanger, + triggers: original.triggers, + custom: original.custom, }); }); }); diff --git a/apps/client/src/common/utils/clone.ts b/apps/client/src/common/utils/clone.ts index 6b8d43e45..bae03c116 100644 --- a/apps/client/src/common/utils/clone.ts +++ b/apps/client/src/common/utils/clone.ts @@ -30,6 +30,7 @@ export const cloneEvent = (event: OntimeEvent): ClonedEvent => { gap: 0, timeWarning: event.timeWarning, timeDanger: event.timeDanger, - custom: { ...event.custom }, + triggers: structuredClone(event.triggers), + custom: structuredClone(event.custom), }; }; diff --git a/apps/client/src/features/rundown/event-editor/composite/EventEditorTriggers.tsx b/apps/client/src/features/rundown/event-editor/composite/EventEditorTriggers.tsx index 16b106a7f..b307af4a1 100644 --- a/apps/client/src/features/rundown/event-editor/composite/EventEditorTriggers.tsx +++ b/apps/client/src/features/rundown/event-editor/composite/EventEditorTriggers.tsx @@ -14,12 +14,12 @@ import style from './EventEditorTriggers.module.scss'; interface EventEditorTriggersProps { eventId: string; - triggers?: Trigger[]; + triggers: Trigger[]; } export default function EventEditorTriggers(props: EventEditorTriggersProps) { const { triggers, eventId } = props; - const showTriggers = triggers !== undefined && triggers.length > 0; + const showTriggers = triggers.length > 0; return ( <> diff --git a/apps/server/src/models/demoProject.ts b/apps/server/src/models/demoProject.ts index d115cdf80..d0b9618ca 100644 --- a/apps/server/src/models/demoProject.ts +++ b/apps/server/src/models/demoProject.ts @@ -81,6 +81,7 @@ export const demoDb: DatabaseModel = { gap: 0, timeWarning: 500000, timeDanger: 100000, + triggers: [], custom: { Song: 'Sekret', Artist: 'Ronela Hajati', @@ -110,6 +111,7 @@ export const demoDb: DatabaseModel = { gap: 0, timeWarning: 500000, timeDanger: 100000, + triggers: [], custom: { Song: 'Eat Your Salad', Artist: 'Citi Zeni', @@ -139,6 +141,7 @@ export const demoDb: DatabaseModel = { gap: 0, timeWarning: 500000, timeDanger: 100000, + triggers: [], custom: { Song: 'Sentimentai', Artist: 'Monika Liu', @@ -168,6 +171,7 @@ export const demoDb: DatabaseModel = { gap: 0, timeWarning: 500000, timeDanger: 100000, + triggers: [], custom: { Song: 'Boys Do Cry', Artist: 'Marius Bear', @@ -197,10 +201,11 @@ export const demoDb: DatabaseModel = { gap: 0, timeWarning: 500000, timeDanger: 100000, + triggers: [], custom: { Song: 'Disko', Artist: 'LPS', - } + }, }, /// <----- BLOCK '01e85': { @@ -243,6 +248,7 @@ export const demoDb: DatabaseModel = { gap: 0, timeWarning: 500000, timeDanger: 100000, + triggers: [], custom: { Song: 'Stefania', Artist: 'Kalush Orchestra', @@ -272,6 +278,7 @@ export const demoDb: DatabaseModel = { gap: 0, timeWarning: 500000, timeDanger: 100000, + triggers: [], custom: { Song: 'Intention', Artist: 'Intelligent Music Project', @@ -301,6 +308,7 @@ export const demoDb: DatabaseModel = { gap: 0, timeWarning: 500000, timeDanger: 100000, + triggers: [], custom: { Song: 'De Diepte', Artist: 'S10', @@ -330,6 +338,7 @@ export const demoDb: DatabaseModel = { gap: 0, timeWarning: 500000, timeDanger: 100000, + triggers: [], custom: { Song: 'Trenuletul', Artist: 'Zdob si Zdub', @@ -359,6 +368,7 @@ export const demoDb: DatabaseModel = { gap: 0, timeWarning: 500000, timeDanger: 100000, + triggers: [], custom: { Song: 'Saudade Saudade', Artist: 'Maro', @@ -405,6 +415,7 @@ export const demoDb: DatabaseModel = { gap: 0, timeWarning: 500000, timeDanger: 100000, + triggers: [], custom: { Song: 'Guilty Pleasure', Artist: 'Mia Dimsic', @@ -434,6 +445,7 @@ export const demoDb: DatabaseModel = { gap: 0, timeWarning: 500000, timeDanger: 100000, + triggers: [], custom: { Song: 'The Show', Artist: 'Reddi', @@ -463,6 +475,7 @@ export const demoDb: DatabaseModel = { gap: 0, timeWarning: 500000, timeDanger: 100000, + triggers: [], custom: { Song: 'Halo', Artist: 'LUM!X & Pia Maria', @@ -492,6 +505,7 @@ export const demoDb: DatabaseModel = { gap: 0, timeWarning: 500000, timeDanger: 100000, + triggers: [], custom: { Song: 'Die Together', Artist: 'Amanda Tenfjord', diff --git a/apps/server/src/models/eventsDefinition.ts b/apps/server/src/models/eventsDefinition.ts index 1bf717db7..6b18e8bd6 100644 --- a/apps/server/src/models/eventsDefinition.ts +++ b/apps/server/src/models/eventsDefinition.ts @@ -25,6 +25,7 @@ export const event: Omit = { colour: '', timeWarning: 120000, timeDanger: 60000, + triggers: [], custom: {}, // !==== RUNTIME METADATA ====! // parent: null, diff --git a/apps/server/src/services/sheet-service/__tests__/sheetUtils.test.ts b/apps/server/src/services/sheet-service/__tests__/sheetUtils.test.ts index 230875f0c..e3eb63c63 100644 --- a/apps/server/src/services/sheet-service/__tests__/sheetUtils.test.ts +++ b/apps/server/src/services/sheet-service/__tests__/sheetUtils.test.ts @@ -44,6 +44,7 @@ describe('cellRequestFromEvent()', () => { id: '1358', timeWarning: 0, timeDanger: 0, + triggers: [], custom: {}, }; const metadata = { @@ -93,6 +94,7 @@ describe('cellRequestFromEvent()', () => { id: '1358', timeWarning: 0, timeDanger: 0, + triggers: [], custom: {}, }; const metadata = { @@ -144,6 +146,7 @@ describe('cellRequestFromEvent()', () => { id: '1358', timeWarning: 0, timeDanger: 0, + triggers: [], custom: {}, }; const metadata = { @@ -194,6 +197,7 @@ describe('cellRequestFromEvent()', () => { id: '1358', timeWarning: 0, timeDanger: 0, + triggers: [], custom: {}, }; const metadata = { @@ -230,6 +234,7 @@ describe('cellRequestFromEvent()', () => { id: '1358', timeWarning: 0, timeDanger: 0, + triggers: [], custom: {}, }; const metadata = { @@ -267,6 +272,7 @@ describe('cellRequestFromEvent()', () => { id: '1358', timeWarning: 0, timeDanger: 0, + triggers: [], custom: {}, }; const metadata = { diff --git a/packages/types/src/definitions/core/OntimeEvent.type.ts b/packages/types/src/definitions/core/OntimeEvent.type.ts index 3ed779966..0fec0d83d 100644 --- a/packages/types/src/definitions/core/OntimeEvent.type.ts +++ b/packages/types/src/definitions/core/OntimeEvent.type.ts @@ -54,7 +54,7 @@ export type OntimeEvent = OntimeBaseEvent & { timeWarning: number; timeDanger: number; custom: EntryCustomFields; - triggers?: Trigger[]; + triggers: Trigger[]; parent: EntryId | null; // !==== RUNTIME METADATA ====! // revision: number;