Skip to content

Commit ffd8ff0

Browse files
committed
chore: move PartExtended into core
1 parent 632123a commit ffd8ff0

16 files changed

Lines changed: 29 additions & 30 deletions

File tree

packages/corelib/src/dataModel/Part.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ import { PartId, RundownId, SegmentId } from './Ids.js'
44
import { PartNote } from './Notes.js'
55
import { ReadonlyDeep } from 'type-fest'
66
import { CoreUserEditingDefinition, CoreUserEditingProperties } from './UserEditingDefinitions.js'
7+
import { PartInstanceLimited } from './PartInstance.js'
8+
import { PieceExtended } from './Piece.js'
79

810
export interface PartInvalidReason {
911
message: ITranslatableMessage
@@ -49,6 +51,16 @@ export interface DBPart extends Omit<IBlueprintPart, 'userEditOperations'> {
4951
userEditProperties?: CoreUserEditingProperties
5052
}
5153

54+
export interface PartExtended {
55+
partId: PartId
56+
instance: PartInstanceLimited
57+
/** Pieces belonging to this part */
58+
pieces: Array<PieceExtended>
59+
renderedDuration: number
60+
startsAt: number
61+
willProbablyAutoNext: boolean
62+
}
63+
5264
export function isPartPlayable(part: Pick<ReadonlyDeep<DBPart>, 'invalid' | 'floated'>): boolean {
5365
return !part.invalid && !part.floated
5466
}

packages/webui/src/client/lib/RundownResolver.ts

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Piece, PieceExtended } from '@sofie-automation/corelib/dist/dataModel/Piece'
1+
import { Piece } from '@sofie-automation/corelib/dist/dataModel/Piece'
22
import { DBSegment, SegmentOrphanedReason } from '@sofie-automation/corelib/dist/dataModel/Segment'
33
import { DBPart } from '@sofie-automation/corelib/dist/dataModel/Part'
44
import { wrapPartToTemporaryInstance } from '@sofie-automation/meteor-lib/dist/collections/PartInstances'
@@ -27,16 +27,6 @@ import { RundownPlaylistClientUtil } from './rundownPlaylistUtil.js'
2727
import { PieceInstances, Pieces } from '../collections/index.js'
2828
import { PartInstance, PartInstanceLimited } from '@sofie-automation/corelib/src/dataModel/PartInstance.js'
2929

30-
export interface PartExtended {
31-
partId: PartId
32-
instance: PartInstanceLimited
33-
/** Pieces belonging to this part */
34-
pieces: Array<PieceExtended>
35-
renderedDuration: number
36-
startsAt: number
37-
willProbablyAutoNext: boolean
38-
}
39-
4030
function fetchPiecesThatMayBeActiveForPart(
4131
part: DBPart,
4232
partsToReceiveOnSegmentEndFromSet: Set<PartId>,

packages/webui/src/client/lib/rundown.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import {
1111
IOutputLayer,
1212
ISourceLayer,
1313
} from '@sofie-automation/blueprints-integration'
14-
import { PartExtended, getPieceInstancesForPartInstance, isLoopRunning } from './RundownResolver.js'
14+
import { getPieceInstancesForPartInstance, isLoopRunning } from './RundownResolver.js'
1515
import { wrapPartToTemporaryInstance } from '@sofie-automation/meteor-lib/dist/collections/PartInstances'
1616
import { DBSegment, SegmentExtended } from '@sofie-automation/corelib/dist/dataModel/Segment'
1717
import { DBRundownPlaylist } from '@sofie-automation/corelib/dist/dataModel/RundownPlaylist'
@@ -37,7 +37,7 @@ import { PieceInstances, Segments } from '../collections/index.js'
3737
import { PieceExtended, PieceStatusCode, PieceUi } from '@sofie-automation/corelib/dist/dataModel/Piece'
3838
import { assertNever } from '@sofie-automation/shared-lib/dist/lib/lib'
3939
import { MongoQuery } from '@sofie-automation/corelib/dist/mongo'
40-
import { DBPart } from '@sofie-automation/corelib/dist/dataModel/Part'
40+
import { DBPart, PartExtended } from '@sofie-automation/corelib/dist/dataModel/Part'
4141
import { RundownPlaylistClientUtil } from './rundownPlaylistUtil.js'
4242
import {
4343
IOutputLayerExtended,

packages/webui/src/client/lib/rundownTiming.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,15 @@ import { literal } from '@sofie-automation/corelib/dist/lib'
1616
import { PlaylistTiming } from '@sofie-automation/corelib/dist/playout/rundownTiming'
1717
import { calculatePartInstanceExpectedDurationWithTransition } from '@sofie-automation/corelib/dist/playout/timings'
1818
import { unprotectString } from '@sofie-automation/corelib/dist/protectedString'
19-
import { DBPart } from '@sofie-automation/corelib/dist/dataModel/Part'
19+
import { DBPart, PartExtended } from '@sofie-automation/corelib/dist/dataModel/Part'
2020
import { DBRundownPlaylist, QuickLoopMarkerType } from '@sofie-automation/corelib/dist/dataModel/RundownPlaylist'
2121
import { objectFromEntries } from '@sofie-automation/shared-lib/dist/lib/lib'
2222
import { getCurrentTime } from './systemTime.js'
2323
import { Settings } from '../lib/Settings.js'
2424
import { Rundown } from '@sofie-automation/corelib/dist/dataModel/Rundown'
2525
import { DBSegment } from '@sofie-automation/corelib/dist/dataModel/Segment'
2626
import { CountdownType } from '@sofie-automation/blueprints-integration'
27-
import { isLoopDefined, isEntirePlaylistLooping, isLoopRunning, PartExtended } from '../lib/RundownResolver.js'
27+
import { isLoopDefined, isEntirePlaylistLooping, isLoopRunning } from '../lib/RundownResolver.js'
2828
import { RundownUtils } from './rundown.js'
2929
import { PartInstance } from '@sofie-automation/corelib/src/dataModel/PartInstance.js'
3030

packages/webui/src/client/ui/SegmentContainer/withResolvedSegment.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,11 @@ import _ from 'underscore'
33
import { ISourceLayer, NoteSeverity, PieceLifespan } from '@sofie-automation/blueprints-integration'
44
import { DBRundownPlaylist } from '@sofie-automation/corelib/dist/dataModel/RundownPlaylist'
55
import { withTracker } from '../../lib/ReactMeteorData/react-meteor-data.js'
6-
import { PartExtended } from '../../lib/RundownResolver.js'
76
import { IContextMenuContext } from '../RundownView.js'
87
import { equalSets } from '@sofie-automation/shared-lib/dist/lib/lib'
98
import { RundownUtils } from '../../lib/rundown.js'
109
import { Rundown } from '@sofie-automation/corelib/dist/dataModel/Rundown'
11-
import { DBPart } from '@sofie-automation/corelib/dist/dataModel/Part'
10+
import { DBPart, PartExtended } from '@sofie-automation/corelib/dist/dataModel/Part'
1211
import { slowDownReactivity } from '../../lib/reactiveData/reactiveDataHelper.js'
1312
import { memoizedIsolatedAutorun } from '../../lib/memoizedIsolatedAutorun.js'
1413
import { getIsFilterActive } from '../../lib/rundownLayouts.js'

packages/webui/src/client/ui/SegmentList/LinePart.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import { ContextMenuTrigger } from '@jstarpl/react-contextmenu'
22
import { literal } from '@sofie-automation/corelib/dist/lib'
33
import classNames from 'classnames'
44
import React, { useCallback, useState } from 'react'
5-
import { PartExtended } from '../../lib/RundownResolver.js'
65
import { contextMenuHoldToDisplayTime } from '../../lib/lib.js'
76
import { RundownUtils } from '../../lib/rundown.js'
87
import { getElementDocumentOffset } from '../../utils/positions.js'
@@ -19,6 +18,7 @@ import { RundownTimingContext, getPartInstanceTimingId } from '../../lib/rundown
1918
import { LoopingIcon } from '../../lib/ui/icons/looping.js'
2019
import { ISourceLayerExtended } from '@sofie-automation/corelib/src/dataModel/ShowStyleBase.js'
2120
import { PieceUi } from '@sofie-automation/corelib/src/dataModel/Piece.js'
21+
import { PartExtended } from '@sofie-automation/corelib/src/dataModel/Part.js'
2222

2323
interface IProps {
2424
segment: SegmentUi

packages/webui/src/client/ui/SegmentList/LinePartTimeline.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import { PieceLifespan, SourceLayerType } from '@sofie-automation/blueprints-integration'
22
import React, { useMemo } from 'react'
3-
import { PartExtended } from '../../lib/RundownResolver.js'
43
import { findPieceExtendedToShowFromOrderedResolvedInstances } from '../PieceIcons/utils.js'
54
import { LinePartMainPiece } from './LinePartMainPiece/LinePartMainPiece.js'
65
import { OnAirLine } from './OnAirLine.js'
@@ -16,6 +15,7 @@ import { getPartInstanceTimingId } from '../../lib/rundownTiming.js'
1615
import { QuickLoopEnd } from './QuickLoopEnd.js'
1716
import { getShowHiddenSourceLayers } from '../../lib/localStorage.js'
1817
import { PieceExtended, PieceUi } from '@sofie-automation/corelib/src/dataModel/Piece.js'
18+
import { PartExtended } from '@sofie-automation/corelib/src/dataModel/Part.js'
1919

2020
const TIMELINE_DEFAULT_BASE = 30 * 1000
2121

packages/webui/src/client/ui/SegmentStoryboard/StoryboardPart.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import React, { useCallback, useEffect, useRef, useState } from 'react'
22
import classNames from 'classnames'
33
import { useTranslation } from 'react-i18next'
4-
import { PartExtended } from '../../lib/RundownResolver.js'
54
import { IOutputLayerUi, SegmentUi } from '../SegmentContainer/withResolvedSegment.js'
65
import { StoryboardPartSecondaryPieces } from './StoryboardPartSecondaryPieces/StoryboardPartSecondaryPieces.js'
76
import { StoryboardPartThumbnail } from './StoryboardPartThumbnail/StoryboardPartThumbnail.js'
@@ -23,6 +22,7 @@ import { AutoNextStatus } from '../RundownView/RundownTiming/AutoNextStatus.js'
2322
import { RundownTimingContext, getPartInstanceTimingId } from '../../lib/rundownTiming.js'
2423
import { TimingDataResolution, TimingTickResolution, useTiming } from '../RundownView/RundownTiming/withTiming.js'
2524
import { LoopingIcon } from '../../lib/ui/icons/looping.js'
25+
import { PartExtended } from '@sofie-automation/corelib/src/dataModel/Part.js'
2626

2727
interface IProps {
2828
className?: string

packages/webui/src/client/ui/SegmentStoryboard/StoryboardPartSecondaryPieces/StoryboardPartSecondaryPieces.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import { SourceLayerType } from '@sofie-automation/blueprints-integration'
22
import React from 'react'
3-
import { PartExtended } from '../../../lib/RundownResolver.js'
43
import { getShowHiddenSourceLayers } from '../../../lib/localStorage.js'
54
import { IOutputLayerUi } from '../../SegmentContainer/withResolvedSegment.js'
65
import { StoryboardSourceLayer } from './StoryboardSourceLayer.js'
76
import { ISourceLayerExtended } from '@sofie-automation/corelib/src/dataModel/ShowStyleBase.js'
7+
import { PartExtended } from '@sofie-automation/corelib/src/dataModel/Part.js'
88

99
interface IProps {
1010
part: PartExtended

packages/webui/src/client/ui/SegmentStoryboard/StoryboardPartSecondaryPieces/StoryboardSourceLayer.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import React, { useEffect, useMemo, useRef, useState } from 'react'
22
import classNames from 'classnames'
3-
import { PartExtended } from '../../../lib/RundownResolver.js'
43
import { getCurrentTime } from '../../../lib/systemTime.js'
54
import { useInvalidateTimeout } from '../../../lib/lib.js'
65
import { Meteor } from 'meteor/meteor'
@@ -10,6 +9,7 @@ import { unprotectString } from '@sofie-automation/corelib/dist/protectedString'
109
import { StoryboardSourceLayerItem } from './StoryboardSourceLayerItem.js'
1110
import { ISourceLayerExtended } from '@sofie-automation/corelib/src/dataModel/ShowStyleBase.js'
1211
import { PieceExtended } from '@sofie-automation/corelib/src/dataModel/Piece.js'
12+
import { PartExtended } from '@sofie-automation/corelib/src/dataModel/Part.js'
1313

1414
interface IProps {
1515
sourceLayer: ISourceLayerExtended

0 commit comments

Comments
 (0)