blob: 49a30aa08e14529b3fea24bb8ef5275670753b89 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
/* 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';
// eslint-disable-next-line @typescript-eslint/no-namespace
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);
}
|