@xiboplayer/schedule 0.7.2 → 0.7.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +3 -3
- package/src/overlays.js +0 -12
- package/src/overlays.test.js +1 -11
- package/src/schedule.js +8 -9
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xiboplayer/schedule",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.3",
|
|
4
4
|
"description": "Complete scheduling solution: campaigns, dayparting, interrupts, and overlays",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./src/index.js",
|
|
@@ -12,10 +12,10 @@
|
|
|
12
12
|
"./overlays": "./src/overlays.js"
|
|
13
13
|
},
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@xiboplayer/utils": "0.7.
|
|
15
|
+
"@xiboplayer/utils": "0.7.3"
|
|
16
16
|
},
|
|
17
17
|
"devDependencies": {
|
|
18
|
-
"vitest": "^2.
|
|
18
|
+
"vitest": "^2.1.9"
|
|
19
19
|
},
|
|
20
20
|
"keywords": [
|
|
21
21
|
"xibo",
|
package/src/overlays.js
CHANGED
|
@@ -159,18 +159,6 @@ export class OverlayScheduler {
|
|
|
159
159
|
logger.debug('Cleared all overlays');
|
|
160
160
|
}
|
|
161
161
|
|
|
162
|
-
/**
|
|
163
|
-
* Process overlay layouts (compatibility method for interrupt scheduler pattern)
|
|
164
|
-
* @param {Array} layouts - Base layouts
|
|
165
|
-
* @param {Array} overlays - Overlay layouts
|
|
166
|
-
* @returns {Array} Layouts (unchanged, overlays are separate)
|
|
167
|
-
*/
|
|
168
|
-
processOverlays(layouts, overlays) {
|
|
169
|
-
// Overlays don't modify the main layout loop
|
|
170
|
-
// They are rendered separately on top
|
|
171
|
-
this.setOverlays(overlays);
|
|
172
|
-
return layouts;
|
|
173
|
-
}
|
|
174
162
|
}
|
|
175
163
|
|
|
176
164
|
export const overlayScheduler = new OverlayScheduler();
|
package/src/overlays.test.js
CHANGED
|
@@ -219,7 +219,7 @@ describe('OverlayScheduler', () => {
|
|
|
219
219
|
});
|
|
220
220
|
});
|
|
221
221
|
|
|
222
|
-
// ── clear
|
|
222
|
+
// ── clear ───────────────────────────────────
|
|
223
223
|
|
|
224
224
|
describe('clear', () => {
|
|
225
225
|
it('removes all overlays', () => {
|
|
@@ -228,14 +228,4 @@ describe('OverlayScheduler', () => {
|
|
|
228
228
|
expect(scheduler.overlays).toHaveLength(0);
|
|
229
229
|
});
|
|
230
230
|
});
|
|
231
|
-
|
|
232
|
-
describe('processOverlays', () => {
|
|
233
|
-
it('sets overlays and returns layouts unchanged', () => {
|
|
234
|
-
const layouts = [{ id: 1 }, { id: 2 }];
|
|
235
|
-
const overlays = [makeOverlay({ file: 10 })];
|
|
236
|
-
const result = scheduler.processOverlays(layouts, overlays);
|
|
237
|
-
expect(result).toBe(layouts);
|
|
238
|
-
expect(scheduler.overlays).toHaveLength(1);
|
|
239
|
-
});
|
|
240
|
-
});
|
|
241
231
|
});
|
package/src/schedule.js
CHANGED
|
@@ -588,15 +588,6 @@ export class ScheduleManager {
|
|
|
588
588
|
log.info(`Recorded play for layout ${layoutId} (${cleaned.length} plays in last hour)`);
|
|
589
589
|
}
|
|
590
590
|
|
|
591
|
-
/**
|
|
592
|
-
* Get the max priority of any time-active layout (ignoring rate-limit filtering).
|
|
593
|
-
* Returns 0 if no layouts are active or if getCurrentLayouts() hasn't been called.
|
|
594
|
-
* @returns {number}
|
|
595
|
-
*/
|
|
596
|
-
getMaxActivePriority() {
|
|
597
|
-
return this._maxActivePriority || 0;
|
|
598
|
-
}
|
|
599
|
-
|
|
600
591
|
/**
|
|
601
592
|
* Check if a layout file is a sync event (part of multi-display sync group)
|
|
602
593
|
* @param {string} layoutFile - Layout file identifier (e.g., '123')
|
|
@@ -736,6 +727,14 @@ export class ScheduleManager {
|
|
|
736
727
|
return queue[(this._queuePosition + 1) % queue.length];
|
|
737
728
|
}
|
|
738
729
|
|
|
730
|
+
/**
|
|
731
|
+
* Public API to invalidate the cached schedule queue.
|
|
732
|
+
* Called by PlayerCore when layout durations are corrected at runtime.
|
|
733
|
+
*/
|
|
734
|
+
invalidateQueue() {
|
|
735
|
+
this._invalidateQueue();
|
|
736
|
+
}
|
|
737
|
+
|
|
739
738
|
/**
|
|
740
739
|
* Invalidate the cached queue (called on schedule change, time boundaries, etc.)
|
|
741
740
|
*/
|