Skip to main content

@twick/timeline / Exports / TimelineEditor

Class: TimelineEditor

TimelineEditor

This class provides an interface to execute all timeline operations using a direct, class-based approach with track-based management. It also handles undo/redo operations internally.

Table of contents

Constructors

Properties

Methods

Constructors

constructor

new TimelineEditor(context): TimelineEditor

Parameters

NameType
contextTimelineOperationContext

Returns

TimelineEditor

Defined in

packages/timeline/src/core/editor/timeline.editor.ts:45

Properties

context

Private context: TimelineOperationContext

Defined in

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


totalDuration

Private totalDuration: number = 0

Defined in

packages/timeline/src/core/editor/timeline.editor.ts:43

Methods

addElementToTrack

addElementToTrack(track, element): Promise<boolean>

Add an element to a specific track using the visitor pattern

Parameters

NameTypeDescription
trackTrackThe track to add the element to
elementTrackElementThe element to add

Returns

Promise<boolean>

Promise<boolean> true if element was added successfully

Defined in

packages/timeline/src/core/editor/timeline.editor.ts:143


addTrack

addTrack(name): Track

Parameters

NameType
namestring

Returns

Track

Defined in

packages/timeline/src/core/editor/timeline.editor.ts:94


cloneElement

cloneElement(element): null | TrackElement

Clone an element using the visitor pattern

Parameters

NameTypeDescription
elementTrackElementThe element to clone

Returns

null | TrackElement

TrackElement | null - the cloned element or null if cloning failed

Defined in

packages/timeline/src/core/editor/timeline.editor.ts:272


getContext

getContext(): TimelineOperationContext

Returns

TimelineOperationContext

Defined in

packages/timeline/src/core/editor/timeline.editor.ts:51


getLatestVersion

getLatestVersion(): number

Returns

number

Defined in

packages/timeline/src/core/editor/timeline.editor.ts:69


getTimelineData

getTimelineData(): null | TimelineTrackData

Returns

null | TimelineTrackData

Defined in

packages/timeline/src/core/editor/timeline.editor.ts:64


getTrackById

getTrackById(id): null | Track

Parameters

NameType
idstring

Returns

null | Track

Defined in

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


getTrackByName

getTrackByName(name): null | Track

Parameters

NameType
namestring

Returns

null | Track

Defined in

packages/timeline/src/core/editor/timeline.editor.ts:109


getVideoAudio

getVideoAudio(): Promise<string>

Returns

Promise<string>

Defined in

packages/timeline/src/core/editor/timeline.editor.ts:398


loadProject

loadProject(«destructured»): void

Parameters

NameType
«destructured»Object
› tracksTrackJSON[]
› versionnumber

Returns

void

Defined in

packages/timeline/src/core/editor/timeline.editor.ts:377


pauseVideo

pauseVideo(): void

Returns

void

Defined in

packages/timeline/src/core/editor/timeline.editor.ts:55


redo

redo(): void

Trigger redo operation and update timeline data

Returns

void

Defined in

packages/timeline/src/core/editor/timeline.editor.ts:327


refresh

refresh(): void

Refresh the timeline data

Returns

void

Defined in

packages/timeline/src/core/editor/timeline.editor.ts:130


removeElement

removeElement(element): boolean

Remove an element from a specific track using the visitor pattern

Parameters

NameTypeDescription
elementTrackElementThe element to remove

Returns

boolean

boolean true if element was removed successfully

Defined in

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


removeTrack

removeTrack(track): void

Parameters

NameType
trackTrack

Returns

void

Defined in

packages/timeline/src/core/editor/timeline.editor.ts:121


removeTrackById

removeTrackById(id): void

Parameters

NameType
idstring

Returns

void

Defined in

packages/timeline/src/core/editor/timeline.editor.ts:115


reorderTracks

reorderTracks(tracks): void

Parameters

NameType
tracksTrack[]

Returns

void

Defined in

packages/timeline/src/core/editor/timeline.editor.ts:281


resetHistory

resetHistory(): void

Reset history and clear timeline data

Returns

void

Defined in

packages/timeline/src/core/editor/timeline.editor.ts:355


setTimelineData

setTimelineData(tracks, version?): TimelineTrackData

Parameters

NameType
tracksTrack[]
version?number

Returns

TimelineTrackData

Defined in

packages/timeline/src/core/editor/timeline.editor.ts:75


splitElement

splitElement(element, splitTime): Promise<SplitResult>

Split an element at a specific time point using the visitor pattern

Parameters

NameTypeDescription
elementTrackElementThe element to split
splitTimenumberThe time point to split at

Returns

Promise<SplitResult>

SplitResult with first element, second element, and success status

Defined in

packages/timeline/src/core/editor/timeline.editor.ts:234


undo

undo(): void

Trigger undo operation and update timeline data

Returns

void

Defined in

packages/timeline/src/core/editor/timeline.editor.ts:299


updateElement

updateElement(element): boolean

Update an element in a specific track using the visitor pattern

Parameters

NameTypeDescription
elementTrackElementThe updated element

Returns

boolean

boolean true if element was updated successfully

Defined in

packages/timeline/src/core/editor/timeline.editor.ts:203


updateHistory

updateHistory(timelineTrackData): void

Parameters

NameType
timelineTrackDataTimelineTrackData

Returns

void

Defined in

packages/timeline/src/core/editor/timeline.editor.ts:285