diff options
| author | bobzel <zzzman@gmail.com> | 2024-05-16 23:42:12 -0400 |
|---|---|---|
| committer | bobzel <zzzman@gmail.com> | 2024-05-16 23:42:12 -0400 |
| commit | 99931c4ca423d51555c24533a98e921c83c941e1 (patch) | |
| tree | 07baab3cb627eae837c18fb2a6981a746765ec61 /src/client/views/DocViewUtils.ts | |
| parent | a197d8d37e62235bfa59bc8e3bb74c39381c30a4 (diff) | |
| parent | 69e286b504c2f1bbef7d489dc675b9e54ef8d983 (diff) | |
Merge branch 'restoringEslint' into eleanor-starter
Diffstat (limited to 'src/client/views/DocViewUtils.ts')
| -rw-r--r-- | src/client/views/DocViewUtils.ts | 21 |
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); +} |
