aboutsummaryrefslogtreecommitdiff
path: root/src/client/views/DocViewUtils.ts
diff options
context:
space:
mode:
authorbobzel <zzzman@gmail.com>2024-05-19 02:08:43 -0400
committerbobzel <zzzman@gmail.com>2024-05-19 02:08:43 -0400
commit6841dc0fd2aecf31eda2102e660c58905d1e6f44 (patch)
tree821b79178aa07001274759c716badb2a8a170056 /src/client/views/DocViewUtils.ts
parent2fc1fb7d322ab0950afb0d334c17aa93bd16f6c0 (diff)
parent13dc6de0e0099f699ad0d2bb54401e6a0aa25018 (diff)
merged with soon-to-be-master
Diffstat (limited to 'src/client/views/DocViewUtils.ts')
-rw-r--r--src/client/views/DocViewUtils.ts21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/client/views/DocViewUtils.ts b/src/client/views/DocViewUtils.ts
new file mode 100644
index 000000000..1f5f29c7e
--- /dev/null
+++ b/src/client/views/DocViewUtils.ts
@@ -0,0 +1,21 @@
+/* eslint-disable prefer-destructuring */
+/* eslint-disable default-param-last */
+/* eslint-disable no-use-before-define */
+import { runInAction } from 'mobx';
+import { Doc, SetActiveAudioLinker } from '../../fields/Doc';
+import { DocUtils } from '../documents/DocUtils';
+import { FieldViewProps } from './nodes/FieldView';
+
+export namespace DocViewUtils {
+ export const ActiveRecordings: { props: FieldViewProps; getAnchor: (addAsAnnotation: boolean) => Doc }[] = [];
+
+ export function MakeLinkToActiveAudio(getSourceDoc: () => Doc | undefined, broadcastEvent = true) {
+ broadcastEvent && runInAction(() => { Doc.RecordingEvent += 1; }); // prettier-ignore
+ return ActiveRecordings.map(audio => {
+ const sourceDoc = getSourceDoc();
+ return sourceDoc && DocUtils.MakeLink(sourceDoc, audio.getAnchor(true) || audio.props.Document, { link_relationship: 'recording annotation:linked recording', link_description: 'recording timeline' });
+ });
+ }
+
+ SetActiveAudioLinker(MakeLinkToActiveAudio);
+}