aboutsummaryrefslogtreecommitdiff
path: root/src/client/util/RecordingApi.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/util/RecordingApi.ts')
-rw-r--r--src/client/util/RecordingApi.ts21
1 files changed, 17 insertions, 4 deletions
diff --git a/src/client/util/RecordingApi.ts b/src/client/util/RecordingApi.ts
index ab7642a90..b53cba79d 100644
--- a/src/client/util/RecordingApi.ts
+++ b/src/client/util/RecordingApi.ts
@@ -1,6 +1,7 @@
import { CollectionFreeFormView } from "../views/collections/collectionFreeForm";
import { IReactionDisposer, observable, reaction } from "mobx";
import { NumCast } from "../../fields/Types";
+import { Doc } from "../../fields/Doc";
type Movement = {
time: number,
@@ -42,6 +43,7 @@ export class RecordingApi {
// used for tracking movements in the view frame
this.disposeFunc = null;
+ this.recordingFFView = null;
// for now, set playFFView
this.playFFView = null;
@@ -60,6 +62,9 @@ export class RecordingApi {
return new Error('[recordingApi.ts] start()')
}
+ // update the presentation mode
+ Doc.UserDoc().presentationMode = 'recording'
+
// (1a) get start date for presenation
const startDate = new Date()
// (1b) set start timestamp to absolute timestamp
@@ -80,6 +85,9 @@ export class RecordingApi {
return new Error('[recordingApi.ts] clear()')
}
+ // update the presentation mode
+ Doc.UserDoc().presentationMode = 'none'
+
const presCopy = { ...this.currentPresentation }
// clear presenation data
@@ -133,8 +141,8 @@ export class RecordingApi {
private trackMovements = (panX: number, panY: number): Error | undefined => {
// ensure we are recording
if (!this.isRecording) {
- console.error('[recordingApi.ts] pause() failed: recording is paused()')
- return new Error('[recordingApi.ts] pause()')
+ console.error('[recordingApi.ts] trackMovements() failed: recording is paused()')
+ return new Error('[recordingApi.ts] trackMovements()')
}
// get the time
@@ -149,11 +157,12 @@ export class RecordingApi {
// instance variable for the FFView
private disposeFunc: IReactionDisposer | null;
+ private recordingFFView: CollectionFreeFormView | null;
// set the FFView that will be used in a reaction to track the movements
public setRecordingFFView = (view: CollectionFreeFormView): void => {
// set the view to the current view
- if (view === null || view === this.playFFView) return;
+ if (view === this.recordingFFView || view === null) return;
//this.recordingFFView = view;
// set the reaction to track the movements
@@ -163,7 +172,7 @@ export class RecordingApi {
)
// for now, set the most recent recordingFFView to the playFFView
- this.playFFView = view;
+ this.recordingFFView = view;
}
// call on dispose function to stop tracking movements
@@ -194,6 +203,10 @@ export class RecordingApi {
// })
// }
+ public setPlayFFView = (view: CollectionFreeFormView): void => {
+ this.playFFView = view
+ }
+
public pauseMovements = (): undefined | Error => {
if (this.playFFView === null) {
return new Error('[recordingApi.ts] pauseMovements() failed: no view')