Skip to main content

@twick/timeline / Exports / Track

Class: Track

Table of contents

Constructors

Properties

Methods

Constructors

constructor

new Track(name, id?): Track

Parameters

NameType
namestring
id?string

Returns

Track

Defined in

packages/timeline/src/core/track/track.ts:19

Properties

elements

Private elements: TrackElement[]

Defined in

packages/timeline/src/core/track/track.ts:16


id

Private id: string

Defined in

packages/timeline/src/core/track/track.ts:13


name

Private name: string

Defined in

packages/timeline/src/core/track/track.ts:14


type

Private type: string

Defined in

packages/timeline/src/core/track/track.ts:15


validator

Private validator: ElementValidator

Defined in

packages/timeline/src/core/track/track.ts:17

Methods

addElement

addElement(element, skipValidation?): boolean

Adds an element to the track with validation

Parameters

NameTypeDefault valueDescription
elementTrackElementundefinedThe element to add
skipValidationbooleanfalseIf true, skips validation (use with caution)

Returns

boolean

true if element was added successfully, throws ValidationError if validation fails

Defined in

packages/timeline/src/core/track/track.ts:103


addElementViaFriend

addElementViaFriend(element, skipValidation?): boolean

Friend method to add element (called by TrackFriend)

Parameters

NameTypeDefault valueDescription
elementTrackElementundefinedThe element to add
skipValidationbooleanfalseIf true, skips validation

Returns

boolean

true if element was added successfully

Defined in

packages/timeline/src/core/track/track.ts:42


createFriend

createFriend(): TrackFriend

Create a friend instance for explicit access to protected methods This implements the Friend Class Pattern

Returns

TrackFriend

TrackFriend instance

Defined in

packages/timeline/src/core/track/track.ts:32


getElementById

getElementById(id): undefined | Readonly<TrackElement>

Parameters

NameType
idstring

Returns

undefined | Readonly<TrackElement>

Defined in

packages/timeline/src/core/track/track.ts:163


getElements

getElements(): readonly TrackElement[]

Returns

readonly TrackElement[]

Defined in

packages/timeline/src/core/track/track.ts:78


getId

getId(): string

Returns

string

Defined in

packages/timeline/src/core/track/track.ts:66


getName

getName(): string

Returns

string

Defined in

packages/timeline/src/core/track/track.ts:70


getTrackDuration

getTrackDuration(): number

Returns

number

Defined in

packages/timeline/src/core/track/track.ts:91


getType

getType(): string

Returns

string

Defined in

packages/timeline/src/core/track/track.ts:74


removeElement

removeElement(element): void

Parameters

NameType
elementTrackElement

Returns

void

Defined in

packages/timeline/src/core/track/track.ts:129


removeElementViaFriend

removeElementViaFriend(element): void

Friend method to remove element (called by TrackFriend)

Parameters

NameTypeDescription
elementTrackElementThe element to remove

Returns

void

Defined in

packages/timeline/src/core/track/track.ts:53


serialize

serialize(): TrackJSON

Returns

TrackJSON

Defined in

packages/timeline/src/core/track/track.ts:210


updateElement

updateElement(element): boolean

Updates an element in the track with validation

Parameters

NameTypeDescription
elementTrackElementThe element to update

Returns

boolean

true if element was updated successfully, throws ValidationError if validation fails

Defined in

packages/timeline/src/core/track/track.ts:141


updateElementViaFriend

updateElementViaFriend(element): boolean

Friend method to update element (called by TrackFriend)

Parameters

NameTypeDescription
elementTrackElementThe element to update

Returns

boolean

true if element was updated successfully

Defined in

packages/timeline/src/core/track/track.ts:62


validateAllElements

validateAllElements(): Object

Validates all elements in the track and returns combined result and per-element status

Returns

Object

Object with overall isValid and array of per-element validation results

NameType
isValidboolean
results{ element: TrackElement ; errors?: string[] ; isValid: boolean ; warnings?: string[] }[]

Defined in

packages/timeline/src/core/track/track.ts:173


validateElement

validateElement(element): boolean

Validates an element

Parameters

NameTypeDescription
elementTrackElementThe element to validate

Returns

boolean

true if valid, throws ValidationError if invalid

Defined in

packages/timeline/src/core/track/track.ts:87


fromJSON

fromJSON(json): Track

Parameters

NameType
jsonany

Returns

Track

Defined in

packages/timeline/src/core/track/track.ts:222