diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/client/util/RecordingApi.ts | 147 |
1 files changed, 1 insertions, 146 deletions
diff --git a/src/client/util/RecordingApi.ts b/src/client/util/RecordingApi.ts index dfe8e98ca..e779a4ab1 100644 --- a/src/client/util/RecordingApi.ts +++ b/src/client/util/RecordingApi.ts @@ -128,16 +128,6 @@ export class RecordingApi { this.absoluteStart = absoluteTimePaused } - // public finish = (): Error | Presentation => { - // if (this.isInitPresenation) { - // console.error('[recordingApi.ts] finish() failed: no presentation data. try calling start() first') - // return new Error('[recordingApi.ts] finish()') - // } - - // // return a copy of the the presentation data - // return { ...this.currentPresentation } - // } - private trackMovements = (panX: number, panY: number): Error | undefined => { // ensure we are recording if (!this.isRecording) { @@ -185,40 +175,10 @@ export class RecordingApi { private playFFView: CollectionFreeFormView | null; private timers: NodeJS.Timeout[] | null; - // public loadPresentation = (presentation: Presentation): undefined | Error => { - // if (presentation.startTime === null || this.playFFView === null) { - // return new Error('[recordingApi.ts] followMovements() failed: no presentation data or no view') - // } - - // const document = this.playFFView.Document - // const { movements } = presentation - // this.timers = movements.map(movement => { - // const { panX, panY, time } = movement - - // const t = new Timer(() => { - // document._panX = panX; - // document._panY = panY; - // // TODO: consider cleaning this array to null or some state - // }, time - presentation.startTime) - // t.pause() - // return t - // }) - // console.log(this.timers) - // } - public setPlayFFView = (view: CollectionFreeFormView): void => { this.playFFView = view } - // public pauseMovements = (): undefined | Error => { - // console.log('[recordingApi.ts] pauseMovements()') - // if (this.playFFView === null) { - // return new Error('[recordingApi.ts] pauseMovements() failed: no view') - // } - // // TODO: set userdoc presentMode to browsing - // this.timers?.forEach(timer => timer.pause()) - // } - public pauseMovements = (): undefined | Error => { if (this.playFFView === null) { return new Error('[recordingApi.ts] pauseMovements() failed: no view') @@ -235,14 +195,6 @@ export class RecordingApi { this._isPlaying = false } - // public resumeMovements = (): undefined | Error => { - // if (this.playFFView === null) { - // return new Error('[recordingApi.ts] resumeMovements() failed: no view') - // } - // console.log('resume') - // this.timers?.forEach(timer => timer.resume()) - // } - private _isPlaying = false; public playMovements = (presentation: Presentation, timeViewed: number = 0): undefined | Error => { @@ -271,9 +223,8 @@ export class RecordingApi { }, absoluteTime)) return arr; }, []) - - console.log(this.timers.length) } + // Unfinished code for tracing multiple free form views // export let pres: Map<CollectionFreeFormView, IReactionDisposer> = new Map() @@ -290,99 +241,3 @@ export class RecordingApi { // pres.delete(ffView) // } } - -/** Represents the `setTimeout` with an ability to perform pause/resume actions - * citation: https://stackoverflow.com/questions/3969475/javascript-pause-settimeout - */ -class Timer { - private timerId: NodeJS.Timeout | null; - private callback: (...args: any[]) => void - private start: number - private remaining: number; - - constructor(callback: (...args: any[]) => void, delay: number) { - this.callback = callback; - this.remaining = delay; - - this.start = Date.now(); - this.timerId = setTimeout(this.callback, this.remaining); - } - - public pause = () => { - console.log('[timer.ts] pause()') - this.timerId !== null && clearTimeout(this.timerId); - this.timerId = null; - this.remaining -= (Date.now() - this.start); - }; - - public resume = () => { - if (this.timerId) { - return; - } - - this.start = Date.now(); - this.timerId = setTimeout(this.callback, this.remaining); - }; - - public clear = () => { - console.log('[timer.ts] clear()') - this.timerId !== null && clearTimeout(this.timerId); - // this.timerId = null; - // this.remaining -= (Date.now() - this.start); - }; -} -// class Timer { -// private _start: Date; -// private _remaining: number; -// private _durationTimeoutId?: NodeJS.Timeout; -// private _callback: (...args: any[]) => void; -// private _done = false; -// get done () { -// return this._done; -// } - -// public constructor(callback: (...args: any[]) => void, ms = 0) { -// this._callback = () => { -// callback(); -// this._done = true; -// }; -// this._remaining = ms; -// this.resume(); -// } - -// /** pauses the timer */ -// public pause(): Timer { -// if (this._durationTimeoutId && !this._done) { -// this._clearTimeoutRef(); -// this._remaining -= new Date().getTime() - this._start.getTime(); -// } -// return this; -// } - -// /** resumes the timer */ -// public resume(): Timer { -// if (!this._durationTimeoutId && !this._done) { -// this._start = new Date; -// this._durationTimeoutId = setTimeout(this._callback, this._remaining); -// } -// return this; -// } - -// /** -// * clears the timeout and marks it as done. -// * -// * After called, the timeout will not resume -// */ -// public clearTimeout() { -// this._clearTimeoutRef(); -// this._done = true; -// } - -// private _clearTimeoutRef() { -// if (this._durationTimeoutId) { -// clearTimeout(this._durationTimeoutId); -// this._durationTimeoutId = undefined; -// } -// } - -// }
\ No newline at end of file |