mirror of
https://github.com/cpvalente/ontime.git
synced 2026-08-10 09:53:48 +00:00
feat: editor layout
This commit is contained in:
committed by
Carlos Valente
parent
967e92e2c8
commit
da02ecd113
@@ -0,0 +1,397 @@
|
||||
import type { DatabaseModel } from 'ontime-types';
|
||||
import { EndAction, OntimeView, SupportedEntry, TimerType, TimeStrategy } from 'ontime-types';
|
||||
|
||||
export const demoDb: DatabaseModel = {
|
||||
rundowns: {
|
||||
default: {
|
||||
id: 'default',
|
||||
title: 'Demo project',
|
||||
order: ['e2163f', '7eaf99', 'f60403', '6b0edb'],
|
||||
flatOrder: [
|
||||
'e2163f',
|
||||
'7eaf99',
|
||||
'9bf60f',
|
||||
'bf71a2',
|
||||
'c2697f',
|
||||
'fa593e',
|
||||
'a8b0b3',
|
||||
'f60403',
|
||||
'0aaa7d',
|
||||
'6b0edb',
|
||||
'02afca',
|
||||
'75ce86',
|
||||
'e10ed9',
|
||||
'07df89',
|
||||
],
|
||||
entries: {
|
||||
e2163f: {
|
||||
id: 'e2163f',
|
||||
type: SupportedEntry.Milestone,
|
||||
cue: 'Demo',
|
||||
title: 'Clear all, or Create New Project to start fresh',
|
||||
note: 'Moderator - Emma Thompson\n\nSpeakers\n- Liam Carter + Sophia Patel\n- Ethan Brooks\n- Lucas Bennett',
|
||||
colour: '#9d9d9d',
|
||||
custom: {},
|
||||
parent: null,
|
||||
revision: 0,
|
||||
},
|
||||
'7eaf99': {
|
||||
id: '7eaf99',
|
||||
type: SupportedEntry.Group,
|
||||
title: 'Morning Sessions',
|
||||
note: '',
|
||||
entries: ['9bf60f', 'bf71a2', 'c2697f', 'fa593e', 'a8b0b3'],
|
||||
targetDuration: null,
|
||||
colour: '#339E4E',
|
||||
custom: {},
|
||||
revision: 0,
|
||||
timeStart: 36000000,
|
||||
timeEnd: 43200000,
|
||||
duration: 7200000,
|
||||
isFirstLinked: false,
|
||||
},
|
||||
'9bf60f': {
|
||||
id: '9bf60f',
|
||||
type: SupportedEntry.Event,
|
||||
flag: false,
|
||||
title: 'Pre-show Countdown',
|
||||
timeStart: 36000000,
|
||||
timeEnd: 39600000,
|
||||
duration: 3600000,
|
||||
timeStrategy: TimeStrategy.LockEnd,
|
||||
linkStart: false,
|
||||
endAction: EndAction.None,
|
||||
timerType: TimerType.CountDown,
|
||||
countToEnd: false,
|
||||
skip: false,
|
||||
note: 'Music plays, holding slide on screens',
|
||||
colour: '#77C785',
|
||||
delay: 0,
|
||||
dayOffset: 0,
|
||||
gap: 0,
|
||||
cue: '1',
|
||||
parent: '7eaf99',
|
||||
revision: 0,
|
||||
timeWarning: 600000,
|
||||
timeDanger: 300000,
|
||||
custom: {
|
||||
PowerPoint_Slide: 'https://www.getontime.no/images/aux/demo-slide1.webp',
|
||||
Video_Notes: 'Camera + PowerPoint on stream\nPowerPoint on screens',
|
||||
Audio_Notes: '2x Wireless Hand Helds',
|
||||
PowerPoint_Name: 'HoldingSlide.pptx',
|
||||
},
|
||||
triggers: [],
|
||||
},
|
||||
bf71a2: {
|
||||
id: 'bf71a2',
|
||||
type: SupportedEntry.Milestone,
|
||||
cue: 'Standby',
|
||||
title: '10:45 - Presenters ready side stage',
|
||||
note: '',
|
||||
colour: '#A790F5',
|
||||
revision: 0,
|
||||
custom: {},
|
||||
parent: '7eaf99',
|
||||
},
|
||||
c2697f: {
|
||||
id: 'c2697f',
|
||||
type: SupportedEntry.Event,
|
||||
flag: false,
|
||||
title: 'Welcome',
|
||||
timeStart: 39600000,
|
||||
timeEnd: 40200000,
|
||||
duration: 600000,
|
||||
timeStrategy: TimeStrategy.LockDuration,
|
||||
linkStart: true,
|
||||
endAction: EndAction.None,
|
||||
timerType: TimerType.CountDown,
|
||||
countToEnd: false,
|
||||
skip: false,
|
||||
note: 'Emma Thompson',
|
||||
colour: '#FFCC78',
|
||||
delay: 0,
|
||||
dayOffset: 0,
|
||||
gap: 0,
|
||||
cue: '1.1',
|
||||
parent: '7eaf99',
|
||||
revision: 0,
|
||||
timeWarning: 120000,
|
||||
timeDanger: 60000,
|
||||
custom: {
|
||||
PowerPoint_Slide: 'https://www.getontime.no/images/aux/demo-slide1.webp',
|
||||
Video_Notes: 'Cameras on stream\nPowerPoint on screens',
|
||||
Audio_Notes: '1x Wireless Hand Held',
|
||||
PowerPoint_Name: 'HoldingSlide.pptx',
|
||||
},
|
||||
triggers: [],
|
||||
},
|
||||
fa593e: {
|
||||
id: 'fa593e',
|
||||
type: SupportedEntry.Event,
|
||||
flag: true,
|
||||
title: 'Session 1',
|
||||
timeStart: 40200000,
|
||||
timeEnd: 43200000,
|
||||
duration: 3000000,
|
||||
timeStrategy: TimeStrategy.LockDuration,
|
||||
linkStart: true,
|
||||
endAction: EndAction.None,
|
||||
timerType: TimerType.CountDown,
|
||||
countToEnd: false,
|
||||
skip: false,
|
||||
note: 'Liam Carter, Sophia Patel + PowerPoint',
|
||||
colour: '#77C785',
|
||||
delay: 0,
|
||||
dayOffset: 0,
|
||||
gap: 0,
|
||||
cue: '1.2',
|
||||
parent: '7eaf99',
|
||||
revision: 0,
|
||||
timeWarning: 120000,
|
||||
timeDanger: 60000,
|
||||
custom: {
|
||||
PowerPoint_Slide: 'https://www.getontime.no/images/aux/demo-slide2.webp',
|
||||
Video_Notes: 'Camera + PowerPoint on stream\nPowerPoint on screens',
|
||||
Audio_Notes: '2x Wireless Hand Helds',
|
||||
PowerPoint_Name: 'Session1.pptx',
|
||||
},
|
||||
triggers: [],
|
||||
},
|
||||
a8b0b3: {
|
||||
id: 'a8b0b3',
|
||||
type: SupportedEntry.Milestone,
|
||||
cue: 'House',
|
||||
title: '11:30 - House staff setup lunch in lobby',
|
||||
note: '',
|
||||
colour: '#A790F5',
|
||||
revision: 0,
|
||||
custom: {},
|
||||
parent: '7eaf99',
|
||||
},
|
||||
f60403: {
|
||||
id: 'f60403',
|
||||
type: SupportedEntry.Group,
|
||||
title: 'Lunch',
|
||||
note: '',
|
||||
entries: ['0aaa7d'],
|
||||
targetDuration: null,
|
||||
colour: '#3E75E8',
|
||||
custom: {},
|
||||
revision: 0,
|
||||
timeStart: 43200000,
|
||||
timeEnd: 46800000,
|
||||
duration: 3600000,
|
||||
isFirstLinked: true,
|
||||
},
|
||||
'0aaa7d': {
|
||||
id: '0aaa7d',
|
||||
type: SupportedEntry.Event,
|
||||
flag: false,
|
||||
title: 'Lunch / Countdown to next session',
|
||||
timeStart: 43200000,
|
||||
timeEnd: 46800000,
|
||||
duration: 3600000,
|
||||
timeStrategy: TimeStrategy.LockDuration,
|
||||
linkStart: true,
|
||||
endAction: EndAction.None,
|
||||
timerType: TimerType.CountDown,
|
||||
countToEnd: false,
|
||||
skip: false,
|
||||
note: 'Buffet in lobby',
|
||||
colour: '#779BE7',
|
||||
delay: 0,
|
||||
dayOffset: 0,
|
||||
gap: 0,
|
||||
cue: '2.1',
|
||||
parent: 'f60403',
|
||||
revision: 0,
|
||||
timeWarning: 120000,
|
||||
timeDanger: 60000,
|
||||
custom: {
|
||||
PowerPoint_Slide: 'https://www.getontime.no/images/aux/demo-slide1.webp',
|
||||
Video_Notes: 'Holding slide on screens',
|
||||
Audio_Notes: 'House music',
|
||||
PowerPoint_Name: 'HoldingSlide.pptx',
|
||||
},
|
||||
triggers: [],
|
||||
},
|
||||
'6b0edb': {
|
||||
id: '6b0edb',
|
||||
type: SupportedEntry.Group,
|
||||
title: 'Afternoon Sessions',
|
||||
note: '',
|
||||
entries: ['02afca', '75ce86', 'e10ed9', '07df89'],
|
||||
targetDuration: null,
|
||||
colour: '#339E4E',
|
||||
custom: {},
|
||||
revision: 0,
|
||||
timeStart: 46800000,
|
||||
timeEnd: 50400000,
|
||||
duration: 3600000,
|
||||
isFirstLinked: true,
|
||||
},
|
||||
'02afca': {
|
||||
id: '02afca',
|
||||
type: SupportedEntry.Milestone,
|
||||
cue: 'Standby',
|
||||
title: '12:45 - Presenters ready side stage',
|
||||
note: '',
|
||||
colour: '#A790F5',
|
||||
revision: 0,
|
||||
custom: {},
|
||||
parent: '6b0edb',
|
||||
},
|
||||
'75ce86': {
|
||||
id: '75ce86',
|
||||
type: SupportedEntry.Event,
|
||||
flag: false,
|
||||
title: 'Session 2',
|
||||
timeStart: 46800000,
|
||||
timeEnd: 49800000,
|
||||
duration: 3000000,
|
||||
timeStrategy: TimeStrategy.LockDuration,
|
||||
linkStart: true,
|
||||
endAction: EndAction.None,
|
||||
timerType: TimerType.CountDown,
|
||||
countToEnd: false,
|
||||
skip: false,
|
||||
note: 'Ethan Brooks + PowerPoint + Video playback',
|
||||
colour: '#77C785',
|
||||
delay: 0,
|
||||
dayOffset: 0,
|
||||
gap: 0,
|
||||
cue: '3.1',
|
||||
parent: '6b0edb',
|
||||
revision: 0,
|
||||
timeWarning: 120000,
|
||||
timeDanger: 60000,
|
||||
custom: {
|
||||
PowerPoint_Slide: 'https://www.getontime.no/images/aux/demo-slide3.webp',
|
||||
Video_Notes: 'Camera + PPT + Video on stream\nPowerPoint + Video on screens\n\nVideo file: Session2.mp4',
|
||||
Audio_Notes: '1x Wireless Hand Held\n1x Video with audio',
|
||||
PowerPoint_Name: 'Session2.pptx',
|
||||
},
|
||||
triggers: [],
|
||||
},
|
||||
e10ed9: {
|
||||
id: 'e10ed9',
|
||||
type: SupportedEntry.Event,
|
||||
flag: false,
|
||||
title: 'Wrap up',
|
||||
timeStart: 49800000,
|
||||
timeEnd: 50400000,
|
||||
duration: 600000,
|
||||
timeStrategy: TimeStrategy.LockDuration,
|
||||
linkStart: false,
|
||||
endAction: EndAction.None,
|
||||
timerType: TimerType.CountDown,
|
||||
countToEnd: false,
|
||||
skip: false,
|
||||
note: 'Lucas Bennett',
|
||||
colour: '#FFCC78',
|
||||
delay: 0,
|
||||
dayOffset: 0,
|
||||
gap: 0,
|
||||
cue: '3.2',
|
||||
parent: '6b0edb',
|
||||
revision: 0,
|
||||
timeWarning: 120000,
|
||||
timeDanger: 60000,
|
||||
custom: {
|
||||
PowerPoint_Slide: 'https://www.getontime.no/images/aux/demo-slide1.webp',
|
||||
Video_Notes: 'Holding slide on screens',
|
||||
Audio_Notes: '1x Wireless Hand Held',
|
||||
PowerPoint_Name: 'HoldingSlide.pptx',
|
||||
},
|
||||
triggers: [],
|
||||
},
|
||||
'07df89': {
|
||||
id: '07df89',
|
||||
type: SupportedEntry.Milestone,
|
||||
cue: 'Strike',
|
||||
title: '14:00 - AV & Room strike',
|
||||
note: '',
|
||||
colour: '#A790F5',
|
||||
revision: 0,
|
||||
custom: {},
|
||||
parent: '6b0edb',
|
||||
},
|
||||
},
|
||||
revision: 0,
|
||||
},
|
||||
},
|
||||
project: {
|
||||
title: 'Ontime Demo Project',
|
||||
description: 'Demo Project to get you started',
|
||||
url: 'https://docs.getontime.no/',
|
||||
info: 'Use Project info to share information to various Ontime views.\nie. Venue info, wifi, staff details, etc.',
|
||||
logo: 'ontime-logo.png',
|
||||
custom: [
|
||||
{
|
||||
title: 'Custom data',
|
||||
value:
|
||||
'Add additional, custom data fields to the project along with optional links to images. \nThe image will be rendered in the views',
|
||||
url: '',
|
||||
},
|
||||
],
|
||||
},
|
||||
settings: {
|
||||
version: '-',
|
||||
serverPort: 4001,
|
||||
editorKey: null,
|
||||
operatorKey: null,
|
||||
timeFormat: '24',
|
||||
language: 'en',
|
||||
},
|
||||
viewSettings: {
|
||||
dangerColor: '#ff7300',
|
||||
normalColor: '#ffffffcc',
|
||||
overrideStyles: false,
|
||||
warningColor: '#ffa528',
|
||||
},
|
||||
urlPresets: [
|
||||
{
|
||||
enabled: true,
|
||||
alias: 'clock',
|
||||
target: OntimeView.Timer,
|
||||
search:
|
||||
'showLeadingZeros=true&timerType=clock&hideClock=true&hideCards=true&hideProgress=true&hideMessage=true&hideSecondary=true&hideLogo=true',
|
||||
},
|
||||
{
|
||||
enabled: true,
|
||||
alias: 'minimal',
|
||||
target: OntimeView.Timer,
|
||||
search:
|
||||
'hideclock=true&hidecards=true&hideprogress=true&hidemessage=true&hidesecondary=true&hidelogo=true&font=arial+black&keycolour=00ff00&timerColour=ffffff',
|
||||
},
|
||||
],
|
||||
customFields: {
|
||||
Video_Notes: {
|
||||
type: 'text',
|
||||
colour: '#FFAB33',
|
||||
label: 'Video Notes',
|
||||
},
|
||||
Audio_Notes: {
|
||||
type: 'text',
|
||||
colour: '#339E4E',
|
||||
label: 'Audio Notes',
|
||||
},
|
||||
PowerPoint_Name: {
|
||||
type: 'text',
|
||||
colour: '#3E75E8',
|
||||
label: 'PowerPoint Name',
|
||||
},
|
||||
PowerPoint_Slide: {
|
||||
type: 'image',
|
||||
colour: '#ED3333',
|
||||
label: 'PowerPoint Slide',
|
||||
},
|
||||
},
|
||||
automation: {
|
||||
enabledAutomations: false,
|
||||
enabledOscIn: false,
|
||||
oscPortIn: 8888,
|
||||
triggers: [],
|
||||
automations: {},
|
||||
},
|
||||
};
|
||||
@@ -2,14 +2,14 @@ import type { OntimeDelay, OntimeEntry, OntimeEvent, OntimeGroup } from 'ontime-
|
||||
import { SupportedEntry } from 'ontime-types';
|
||||
|
||||
import {
|
||||
getFirstGroupNormal,
|
||||
getLastEvent,
|
||||
getLastNormal,
|
||||
getLastGroupNormal,
|
||||
getLastNormal,
|
||||
getNext,
|
||||
getNextEvent,
|
||||
getNextGroupNormal,
|
||||
getNextNormal,
|
||||
getFirstGroupNormal,
|
||||
getPrevious,
|
||||
getPreviousEvent,
|
||||
getPreviousGroup,
|
||||
@@ -17,7 +17,7 @@ import {
|
||||
getPreviousNormal,
|
||||
swapEventData,
|
||||
} from './rundownUtils';
|
||||
import { demoDb } from '../../../../apps/server/src/models/demoProject';
|
||||
import { demoDb } from './rundownUtils.mock';
|
||||
|
||||
describe('getNext()', () => {
|
||||
it('returns the next event of type event', () => {
|
||||
|
||||
Reference in New Issue
Block a user