From 3e2c1d432d73823e66e19d0081b498ace467b231 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Thu, 2 Jul 2020 00:35:06 +0200 Subject: display the form --- .../frontend/views/align/align.actions.js | 36 ++++++ .../frontend/views/align/align.container.js | 8 +- animism-align/frontend/views/align/align.css | 32 ++++- .../frontend/views/align/align.reducer.js | 7 ++ animism-align/frontend/views/align/align.util.js | 28 +++++ .../components/annotations/annotation.form.js | 95 +++++++++++++++ .../views/align/components/cursor.component.js | 25 ---- .../views/align/components/playButton.component.js | 31 ----- .../views/align/components/playCursor.component.js | 43 ------- .../views/align/components/ticks.component.js | 89 -------------- .../views/align/components/timeline.component.js | 129 --------------------- .../align/components/timeline/cursor.component.js | 26 +++++ .../components/timeline/playButton.component.js | 31 +++++ .../components/timeline/playCursor.component.js | 43 +++++++ .../align/components/timeline/ticks.component.js | 89 ++++++++++++++ .../components/timeline/waveform.component.js | 100 ++++++++++++++++ .../views/align/components/waveform.component.js | 100 ---------------- .../align/containers/annotations.container.js | 44 +++++++ .../views/align/containers/script.container.js | 34 ++++++ .../views/align/containers/timeline.container.js | 129 +++++++++++++++++++++ 20 files changed, 699 insertions(+), 420 deletions(-) create mode 100644 animism-align/frontend/views/align/align.util.js create mode 100644 animism-align/frontend/views/align/components/annotations/annotation.form.js delete mode 100644 animism-align/frontend/views/align/components/cursor.component.js delete mode 100644 animism-align/frontend/views/align/components/playButton.component.js delete mode 100644 animism-align/frontend/views/align/components/playCursor.component.js delete mode 100644 animism-align/frontend/views/align/components/ticks.component.js delete mode 100644 animism-align/frontend/views/align/components/timeline.component.js create mode 100644 animism-align/frontend/views/align/components/timeline/cursor.component.js create mode 100644 animism-align/frontend/views/align/components/timeline/playButton.component.js create mode 100644 animism-align/frontend/views/align/components/timeline/playCursor.component.js create mode 100644 animism-align/frontend/views/align/components/timeline/ticks.component.js create mode 100644 animism-align/frontend/views/align/components/timeline/waveform.component.js delete mode 100644 animism-align/frontend/views/align/components/waveform.component.js create mode 100644 animism-align/frontend/views/align/containers/annotations.container.js create mode 100644 animism-align/frontend/views/align/containers/script.container.js create mode 100644 animism-align/frontend/views/align/containers/timeline.container.js (limited to 'animism-align/frontend/views/align') diff --git a/animism-align/frontend/views/align/align.actions.js b/animism-align/frontend/views/align/align.actions.js index 2e1c795..82e4799 100644 --- a/animism-align/frontend/views/align/align.actions.js +++ b/animism-align/frontend/views/align/align.actions.js @@ -24,3 +24,39 @@ export const throttledSetZoom = throttle(zoom => dispatch => { export const setCursor = cursor_ts => dispatch => ( dispatch({ type: types.align.set_display_setting, key: 'cursor_ts', value: cursor_ts }) ) + +export const showNewTimestampForm = (start_ts, text) => dispatch => { + let croppedText; + if (store.getState().align.annotation.start_ts) { + croppedText = store.getState().align.annotation.text + } else { + croppedText = cutFirstSentence(text) + } + console.log(croppedText) + dispatch({ + type: types.align.set_temporary_annotation, + data: { + id: 'new', + start_ts, + text: croppedText, + type: 'sentence', + } + }) +} + +const cutFirstSentence = text => { + const textToCrop = text.trim().replace("\n", " ").split("\n")[0] + let cropIndex = textToCrop.indexOf('. ') + 1 + if (!cropIndex) cropIndex = textToCrop.length + const croppedText = textToCrop.substr(0, cropIndex).trim() + const updatedText = text.trim().replace(croppedText, '').trim() + actions.site.updateText(updatedText) + return croppedText +} + +export const hideTimestampForm = () => dispatch => { + dispatch({ + type: types.align.set_temporary_annotation, + data: {} + }) +} diff --git a/animism-align/frontend/views/align/align.container.js b/animism-align/frontend/views/align/align.container.js index 387bd86..80d8a57 100644 --- a/animism-align/frontend/views/align/align.container.js +++ b/animism-align/frontend/views/align/align.container.js @@ -5,7 +5,8 @@ import { connect } from 'react-redux' import './align.css' -import Timeline from './components/timeline.component.js' +import Timeline from './containers/timeline.container.js' +import Script from './containers/script.container.js' import actions from '../../actions' import { Header } from '../../common' // import * as uploadActions from './upload.actions' @@ -20,7 +21,10 @@ class Container extends Component { render() { return (
- +
+ +
+