aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/client/util/RecordingApi.ts147
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