From 81e52d2831474da16312d7845d9b012b2c81aa56 Mon Sep 17 00:00:00 2001 From: cv <34649812+cpvalente@users.noreply.github.com> Date: Sun, 25 Apr 2021 12:56:29 +0200 Subject: [PATCH] indicate next small improvements --- .../src/features/editors/list/EventList.jsx | 9 +++++- .../features/editors/list/EventListItem.jsx | 2 +- server/classes/EventTimer.js | 30 +++++++++++-------- 3 files changed, 27 insertions(+), 14 deletions(-) diff --git a/client/src/features/editors/list/EventList.jsx b/client/src/features/editors/list/EventList.jsx index ac80e612d..898891b0c 100644 --- a/client/src/features/editors/list/EventList.jsx +++ b/client/src/features/editors/list/EventList.jsx @@ -57,15 +57,20 @@ export default function EventList(props) { // ask for playstate socket.emit('get-selected-id'); + socket.emit('get-next-id'); // Handle playstate socket.on('selected-id', (data) => { setSelected(data); }); + socket.on('next-id', (data) => { + setNext(data); + }); // Clear listener return () => { socket.off('selected-id'); + socket.off('next-id'); }; }, [socket]); @@ -76,6 +81,8 @@ export default function EventList(props) { console.log('EventList: events in event list', events); let cumulativeDelay = 0; + console.log('debug next id', next) + return (
{cursor === -1 &&
} @@ -90,7 +97,7 @@ export default function EventList(props) { index={index} data={e} selected={selected === e.id} - next={next === index} + next={next === e.id} eventsHandler={eventsHandler} delay={cumulativeDelay} /> diff --git a/client/src/features/editors/list/EventListItem.jsx b/client/src/features/editors/list/EventListItem.jsx index 2ba63a8dc..caec07a6f 100644 --- a/client/src/features/editors/list/EventListItem.jsx +++ b/client/src/features/editors/list/EventListItem.jsx @@ -21,7 +21,7 @@ export default function EventListItem(props) { index={index} data={data} selected={selected} - next={next === index} + next={next} eventsHandler={eventsHandler} delay={delay} /> diff --git a/server/classes/EventTimer.js b/server/classes/EventTimer.js index 3ff246749..adae127cd 100644 --- a/server/classes/EventTimer.js +++ b/server/classes/EventTimer.js @@ -41,6 +41,7 @@ class EventTimer extends Timer { selectedEvent = null; selectedEventId = null; + nextEventId = null; numEvents = null; _eventlist = null; @@ -78,6 +79,7 @@ class EventTimer extends Timer { this.io.emit('timer', this.getObject()); this.io.emit('playstate', this.state); this.io.emit('selected-id', this.selectedEventId); + this.io.emit('next-id', this.nextEventId); this.io.emit('titles', this.titles); } @@ -205,6 +207,7 @@ class EventTimer extends Timer { socket.emit('timer', this.getObject()); socket.emit('playstate', this.state); socket.emit('selected-id', this.selectedEventId); + socket.emit('next-id', this.nextEventId); socket.emit('titles', this.titles); }); @@ -234,6 +237,10 @@ class EventTimer extends Timer { socket.emit('selected-id', this.selectedEventId); }); + socket.on('get-next-id', () => { + socket.emit('next-id', this.nextEventId); + }); + socket.on('get-titles', () => { socket.emit('titles', this.titles); }); @@ -371,19 +378,11 @@ class EventTimer extends Timer { this.titles.titleNext = null; this.titles.subtitleNext = null; this.titles.presenterNext = null; + this.nextEventId = null; // look for event after - if (eventIndex < this.numEvents - 1) { - for (let i = eventIndex + 1; i < this.numEvents; i++) { - // check that is the right type - if (this._eventList[i].type === 'event') { - this.titles.titleNext = this._eventList[i].title; - this.titles.subtitleNext = this._eventList[i].subtitle; - this.titles.presenterNext = this._eventList[i].presenter; - break; - } - } - } + this._loadNext(eventIndex); + this.broadcastState(); } @@ -413,8 +412,15 @@ class EventTimer extends Timer { this.titles.titleNext = null; this.titles.subtitleNext = null; this.titles.presenterNext = null; + this.nextEventId = null; // look for event after + this._loadNext(eventIndex); + + this.broadcastState(); + } + + _loadNext(eventIndex) { if (eventIndex < this.numEvents - 1) { for (let i = eventIndex + 1; i < this.numEvents; i++) { // check that is the right type @@ -422,11 +428,11 @@ class EventTimer extends Timer { this.titles.titleNext = this._eventList[i].title; this.titles.subtitleNext = this._eventList[i].subtitle; this.titles.presenterNext = this._eventList[i].presenter; + this.nextEventId = this._eventList[i].id; break; } } } - this.broadcastState(); } _resetSelection() {