diff --git a/meteor/__mocks__/defaultCollectionObjects.ts b/meteor/__mocks__/defaultCollectionObjects.ts index ae3cc5aa1f..052ede4a90 100644 --- a/meteor/__mocks__/defaultCollectionObjects.ts +++ b/meteor/__mocks__/defaultCollectionObjects.ts @@ -112,6 +112,7 @@ export function defaultStudio(_id: StudioId): DBStudio { fallbackPartDuration: DEFAULT_FALLBACK_PART_DURATION, allowHold: false, allowPieceDirectPlay: false, + enableBuckets: false, }), _rundownVersionHash: '', routeSetsWithOverrides: wrapDefaultObject({}), diff --git a/meteor/server/api/rest/v1/typeConversion.ts b/meteor/server/api/rest/v1/typeConversion.ts index afd3f7ccd3..d6e9534003 100644 --- a/meteor/server/api/rest/v1/typeConversion.ts +++ b/meteor/server/api/rest/v1/typeConversion.ts @@ -328,6 +328,7 @@ export function studioSettingsFrom(apiStudioSettings: APIStudioSettings): Comple allowAdlibTestingSegment: apiStudioSettings.allowAdlibTestingSegment, allowHold: apiStudioSettings.allowHold ?? true, // Backwards compatible allowPieceDirectPlay: apiStudioSettings.allowPieceDirectPlay ?? true, // Backwards compatible + enableBuckets: apiStudioSettings.enableBuckets ?? true, // Backwards compatible } } @@ -350,6 +351,7 @@ export function APIStudioSettingsFrom(settings: IStudioSettings): Complete { minimumTakeSpan: DEFAULT_MINIMUM_TAKE_SPAN, allowHold: true, allowPieceDirectPlay: true, + enableBuckets: true, }), mappingsWithOverrides: wrapDefaultObject({}), blueprintConfigWithOverrides: wrapDefaultObject({}), @@ -167,6 +168,7 @@ describe('Migrations', () => { minimumTakeSpan: DEFAULT_MINIMUM_TAKE_SPAN, allowHold: true, allowPieceDirectPlay: true, + enableBuckets: true, }), mappingsWithOverrides: wrapDefaultObject({}), blueprintConfigWithOverrides: wrapDefaultObject({}), @@ -207,6 +209,7 @@ describe('Migrations', () => { minimumTakeSpan: DEFAULT_MINIMUM_TAKE_SPAN, allowHold: true, allowPieceDirectPlay: true, + enableBuckets: true, }), mappingsWithOverrides: wrapDefaultObject({}), blueprintConfigWithOverrides: wrapDefaultObject({}), diff --git a/meteor/server/publications/pieceContentStatusUI/__tests__/checkPieceContentStatus.test.ts b/meteor/server/publications/pieceContentStatusUI/__tests__/checkPieceContentStatus.test.ts index 5d7e3ab300..c4196d32f2 100644 --- a/meteor/server/publications/pieceContentStatusUI/__tests__/checkPieceContentStatus.test.ts +++ b/meteor/server/publications/pieceContentStatusUI/__tests__/checkPieceContentStatus.test.ts @@ -251,6 +251,7 @@ describe('lib/mediaObjects', () => { minimumTakeSpan: DEFAULT_MINIMUM_TAKE_SPAN, allowHold: false, allowPieceDirectPlay: false, + enableBuckets: false, } const mockDefaultStudio = defaultStudio(protectString('studio0')) diff --git a/packages/job-worker/src/__mocks__/defaultCollectionObjects.ts b/packages/job-worker/src/__mocks__/defaultCollectionObjects.ts index 19633fe017..ebd9942335 100644 --- a/packages/job-worker/src/__mocks__/defaultCollectionObjects.ts +++ b/packages/job-worker/src/__mocks__/defaultCollectionObjects.ts @@ -109,6 +109,7 @@ export function defaultStudio(_id: StudioId): DBStudio { allowAdlibTestingSegment: true, allowHold: true, allowPieceDirectPlay: true, + enableBuckets: true, }), routeSetsWithOverrides: wrapDefaultObject({}), routeSetExclusivityGroupsWithOverrides: wrapDefaultObject({}), diff --git a/packages/job-worker/src/blueprints/__tests__/config.test.ts b/packages/job-worker/src/blueprints/__tests__/config.test.ts index 1794afc6f5..3e7e8bef50 100644 --- a/packages/job-worker/src/blueprints/__tests__/config.test.ts +++ b/packages/job-worker/src/blueprints/__tests__/config.test.ts @@ -17,6 +17,7 @@ describe('Test blueprint config', () => { minimumTakeSpan: DEFAULT_MINIMUM_TAKE_SPAN, allowHold: true, allowPieceDirectPlay: true, + enableBuckets: true, }), blueprintConfigWithOverrides: wrapDefaultObject({ sdfsdf: 'one', another: 5 }), }) @@ -42,6 +43,7 @@ describe('Test blueprint config', () => { minimumTakeSpan: DEFAULT_MINIMUM_TAKE_SPAN, allowHold: true, allowPieceDirectPlay: true, + enableBuckets: true, }), blueprintConfigWithOverrides: wrapDefaultObject({ sdfsdf: 'one', another: 5 }), }) diff --git a/packages/job-worker/src/playout/upgrade.ts b/packages/job-worker/src/playout/upgrade.ts index 54b1c123de..fda503f079 100644 --- a/packages/job-worker/src/playout/upgrade.ts +++ b/packages/job-worker/src/playout/upgrade.ts @@ -117,6 +117,7 @@ export async function handleBlueprintUpgradeForStudio(context: JobContext, _data minimumTakeSpan: DEFAULT_MINIMUM_TAKE_SPAN, allowHold: true, allowPieceDirectPlay: true, + enableBuckets: true, } await context.directCollections.Studios.update(context.studioId, { diff --git a/packages/shared-lib/src/core/model/StudioSettings.ts b/packages/shared-lib/src/core/model/StudioSettings.ts index 08f38a597d..f964362679 100644 --- a/packages/shared-lib/src/core/model/StudioSettings.ts +++ b/packages/shared-lib/src/core/model/StudioSettings.ts @@ -76,4 +76,9 @@ export interface IStudioSettings { * This behaviour is usally triggered by double-clicking on a piece in the GUI */ allowPieceDirectPlay: boolean + + /** + * Enable buckets - the default behavior is to have buckets. + */ + enableBuckets: boolean } diff --git a/packages/webui/src/__mocks__/defaultCollectionObjects.ts b/packages/webui/src/__mocks__/defaultCollectionObjects.ts index bef95149b4..edf6ddf181 100644 --- a/packages/webui/src/__mocks__/defaultCollectionObjects.ts +++ b/packages/webui/src/__mocks__/defaultCollectionObjects.ts @@ -107,6 +107,7 @@ export function defaultStudio(_id: StudioId): DBStudio { minimumTakeSpan: DEFAULT_MINIMUM_TAKE_SPAN, allowHold: true, allowPieceDirectPlay: true, + enableBuckets: true, }), _rundownVersionHash: '', routeSetsWithOverrides: wrapDefaultObject({}), diff --git a/packages/webui/src/client/ui/RundownView.tsx b/packages/webui/src/client/ui/RundownView.tsx index 21048d356b..bb807da0f9 100644 --- a/packages/webui/src/client/ui/RundownView.tsx +++ b/packages/webui/src/client/ui/RundownView.tsx @@ -1475,7 +1475,8 @@ const RundownViewContent = translateWithTracker } + + {(value, handleUpdate) => } + +