diff options
| author | Jules Laplace <julescarbon@gmail.com> | 2020-11-02 16:38:13 +0100 |
|---|---|---|
| committer | Jules Laplace <julescarbon@gmail.com> | 2020-11-02 16:38:13 +0100 |
| commit | 4e2121e9160b627415a31f628fa3f00711138375 (patch) | |
| tree | a0d328b4e0bd3fd92c9326a52c2e22bab130bf2a /animism-align/frontend/app/views/align/align.actions.js | |
| parent | faee66ed90bca15fa803deb733cbe9ccce9c19d8 (diff) | |
images can include images from galleries. command to duplicate annotations
Diffstat (limited to 'animism-align/frontend/app/views/align/align.actions.js')
| -rw-r--r-- | animism-align/frontend/app/views/align/align.actions.js | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/animism-align/frontend/app/views/align/align.actions.js b/animism-align/frontend/app/views/align/align.actions.js index 0766460..1583e4e 100644 --- a/animism-align/frontend/app/views/align/align.actions.js +++ b/animism-align/frontend/app/views/align/align.actions.js @@ -8,6 +8,7 @@ import debounce from 'lodash.debounce' import { ZOOM_STEPS } from 'app/constants' import { timestampToSeconds, post } from 'app/utils' import { cutFirstSentence } from 'app/utils/align.utils' +import { annotationFadeTimings } from 'app/utils/annotation.utils' export const setScrollPosition = start_ts => dispatch => ( dispatch({ type: types.align.set_display_setting, key: 'start_ts', value: start_ts }) @@ -49,6 +50,24 @@ export const debouncedUpdateAnnotation = debounce(annotation => { actions.annotation.update(annotation) }, 2000, { leading: false, trailing: true }) +export const cloneSelectedAnnotation = annotation => dispatch => { + const newAnnotation = { ...annotation } + delete newAnnotation.id + if (annotation.settings.fullscreen) { + const { + fadeInDuration, fadeOutDuration, duration, + start_ts, end_ts, fade_in_end_ts, fade_out_start_ts, + } = annotationFadeTimings(annotation) + newAnnotation.start_ts += duration - fadeOutDuration - fadeInDuration + } else { + newAnnotation.start_ts += 1 + } + actions.annotation.create(newAnnotation) + .then(res => { + console.log('cloned annotation', res.res) + setSelectedParagraph(res.res) + }) +} export const setSelectedParagraph = paragraph_id => dispatch => { dispatch({ type: types.align.set_display_setting, key: 'selected_paragraph_id', value: paragraph_id }) |
