diff options
| author | Jules Laplace <julescarbon@gmail.com> | 2021-03-08 22:11:55 +0100 |
|---|---|---|
| committer | Jules Laplace <julescarbon@gmail.com> | 2021-03-08 22:11:55 +0100 |
| commit | d2cb17038b8537a609be06be2ed7013dbe27117e (patch) | |
| tree | 028ceac9edddafc03ce80c49d5a05981bec3fcbe /animism-align | |
| parent | b5ceb782f40fc1e402d1e58bc1ced2e4038fd787 (diff) | |
beginning the BIG refactor. moving editor stuff into per-episode hierarchy
Diffstat (limited to 'animism-align')
| -rw-r--r-- | animism-align/cli/app/sql/models/episode.py | 2 | ||||
| -rw-r--r-- | animism-align/cli/app/sql/models/paragraph.py | 2 | ||||
| -rw-r--r-- | animism-align/cli/app/sql/versions/202103082204_add_episode_project_field_everywhere.py | 31 | ||||
| -rw-r--r-- | animism-align/frontend/app/actions.js | 6 | ||||
| -rw-r--r-- | animism-align/frontend/app/router.js | 31 | ||||
| -rw-r--r-- | animism-align/frontend/app/store.js | 11 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/auth/auth.gate.js | 1 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/align/align.actions.js (renamed from animism-align/frontend/app/views/align/align.actions.js) | 0 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/align/align.container.js (renamed from animism-align/frontend/app/views/align/align.container.js) | 4 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/align/align.css (renamed from animism-align/frontend/app/views/align/align.css) | 0 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/align/align.reducer.js (renamed from animism-align/frontend/app/views/align/align.reducer.js) | 15 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/align/components/annotations/annotation.form.css (renamed from animism-align/frontend/app/views/align/components/annotations/annotation.form.css) | 0 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/align/components/annotations/annotation.form.js (renamed from animism-align/frontend/app/views/align/components/annotations/annotation.form.js) | 0 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/align/components/annotations/annotation.index.css (renamed from animism-align/frontend/app/views/align/components/annotations/annotation.index.css) | 0 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/align/components/annotations/annotation.index.js (renamed from animism-align/frontend/app/views/align/components/annotations/annotation.index.js) | 0 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/align/components/annotations/annotationForms/annotationForm.gallery.js (renamed from animism-align/frontend/app/views/align/components/annotations/annotationForms/annotationForm.gallery.js) | 0 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/align/components/annotations/annotationForms/annotationForm.image.js (renamed from animism-align/frontend/app/views/align/components/annotations/annotationForms/annotationForm.image.js) | 0 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/align/components/annotations/annotationForms/annotationForm.text.js (renamed from animism-align/frontend/app/views/align/components/annotations/annotationForms/annotationForm.text.js) | 0 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/align/components/annotations/annotationForms/annotationForm.utility.js (renamed from animism-align/frontend/app/views/align/components/annotations/annotationForms/annotationForm.utility.js) | 0 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/align/components/annotations/annotationForms/annotationForm.video.js (renamed from animism-align/frontend/app/views/align/components/annotations/annotationForms/annotationForm.video.js) | 0 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/align/components/annotations/annotationForms/index.js (renamed from animism-align/frontend/app/views/align/components/annotations/annotationForms/index.js) | 0 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/align/components/annotations/annotationTypes/annotationTypes.gallery.js (renamed from animism-align/frontend/app/views/align/components/annotations/annotationTypes/annotationTypes.gallery.js) | 0 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/align/components/annotations/annotationTypes/annotationTypes.image.js (renamed from animism-align/frontend/app/views/align/components/annotations/annotationTypes/annotationTypes.image.js) | 0 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/align/components/annotations/annotationTypes/annotationTypes.text.js (renamed from animism-align/frontend/app/views/align/components/annotations/annotationTypes/annotationTypes.text.js) | 0 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/align/components/annotations/annotationTypes/annotationTypes.utility.js (renamed from animism-align/frontend/app/views/align/components/annotations/annotationTypes/annotationTypes.utility.js) | 0 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/align/components/annotations/annotationTypes/annotationTypes.video.js (renamed from animism-align/frontend/app/views/align/components/annotations/annotationTypes/annotationTypes.video.js) | 0 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/align/components/annotations/annotationTypes/index.js (renamed from animism-align/frontend/app/views/align/components/annotations/annotationTypes/index.js) | 0 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/align/components/player/playButton.component.js (renamed from animism-align/frontend/app/views/align/components/player/playButton.component.js) | 0 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/align/components/sidebar/script.component.js (renamed from animism-align/frontend/app/views/align/components/sidebar/script.component.js) | 0 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/align/components/sidebar/tableOfContents.component.js (renamed from animism-align/frontend/app/views/align/components/sidebar/tableOfContents.component.js) | 0 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/align/components/timeline/cursor.component.js (renamed from animism-align/frontend/app/views/align/components/timeline/cursor.component.js) | 0 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/align/components/timeline/cursorRegion.component.js (renamed from animism-align/frontend/app/views/align/components/timeline/cursorRegion.component.js) | 0 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/align/components/timeline/playCursor.component.js (renamed from animism-align/frontend/app/views/align/components/timeline/playCursor.component.js) | 0 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/align/components/timeline/ticks.component.js (renamed from animism-align/frontend/app/views/align/components/timeline/ticks.component.js) | 0 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/align/components/timeline/waveform.component.js (renamed from animism-align/frontend/app/views/align/components/timeline/waveform.component.js) | 0 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/align/containers/annotations.container.js (renamed from animism-align/frontend/app/views/align/containers/annotations.container.js) | 4 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/align/containers/sidebar.container.js (renamed from animism-align/frontend/app/views/align/containers/sidebar.container.js) | 0 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/align/containers/timeline.container.js (renamed from animism-align/frontend/app/views/align/containers/timeline.container.js) | 12 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/annotation/annotation.reducer.js (renamed from animism-align/frontend/app/views/annotation/annotation.reducer.js) | 0 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/editor.container.js | 22 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/editor.gate.js | 32 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/media/components/media.form.js (renamed from animism-align/frontend/app/views/media/components/media.form.js) | 0 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/media/components/media.formFile.js (renamed from animism-align/frontend/app/views/media/components/media.formFile.js) | 0 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/media/components/media.formGallery.js (renamed from animism-align/frontend/app/views/media/components/media.formGallery.js) | 0 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/media/components/media.formGalleryImage.js (renamed from animism-align/frontend/app/views/media/components/media.formGalleryImage.js) | 0 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/media/components/media.formImage.js (renamed from animism-align/frontend/app/views/media/components/media.formImage.js) | 0 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/media/components/media.formImageSelection.js (renamed from animism-align/frontend/app/views/media/components/media.formImageSelection.js) | 0 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/media/components/media.formVideo.js (renamed from animism-align/frontend/app/views/media/components/media.formVideo.js) | 2 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/media/components/media.indexOptions.js (renamed from animism-align/frontend/app/views/media/components/media.indexOptions.js) | 0 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/media/components/media.menu.js (renamed from animism-align/frontend/app/views/media/components/media.menu.js) | 0 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/media/containers/media.edit.js (renamed from animism-align/frontend/app/views/media/containers/media.edit.js) | 0 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/media/containers/media.index.js (renamed from animism-align/frontend/app/views/media/containers/media.index.js) | 0 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/media/containers/media.new.js (renamed from animism-align/frontend/app/views/media/containers/media.new.js) | 0 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/media/media.actions.js (renamed from animism-align/frontend/app/views/media/media.actions.js) | 0 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/media/media.container.js (renamed from animism-align/frontend/app/views/media/media.container.js) | 0 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/media/media.css (renamed from animism-align/frontend/app/views/media/media.css) | 0 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/media/media.reducer.js (renamed from animism-align/frontend/app/views/media/media.reducer.js) | 0 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/paragraph/components/paragraph.form.js (renamed from animism-align/frontend/app/views/paragraph/components/paragraph.form.js) | 0 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/paragraph/components/paragraph.list.js (renamed from animism-align/frontend/app/views/paragraph/components/paragraph.list.js) | 0 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/paragraph/components/paragraphTypes/index.js (renamed from animism-align/frontend/app/views/paragraph/components/paragraphTypes/index.js) | 0 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/paragraph/components/paragraphTypes/paragraphTypes.image.js (renamed from animism-align/frontend/app/views/paragraph/components/paragraphTypes/paragraphTypes.image.js) | 0 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/paragraph/components/paragraphTypes/paragraphTypes.text.js (renamed from animism-align/frontend/app/views/paragraph/components/paragraphTypes/paragraphTypes.text.js) | 0 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/paragraph/components/paragraphTypes/paragraphTypes.video.js (renamed from animism-align/frontend/app/views/paragraph/components/paragraphTypes/paragraphTypes.video.js) | 0 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/paragraph/containers/paragraphEditor.container.js (renamed from animism-align/frontend/app/views/paragraph/containers/paragraphEditor.container.js) | 0 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/paragraph/paragraph.container.js (renamed from animism-align/frontend/app/views/paragraph/paragraph.container.js) | 0 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/paragraph/paragraph.css (renamed from animism-align/frontend/app/views/paragraph/paragraph.css) | 0 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/paragraph/paragraph.reducer.js (renamed from animism-align/frontend/app/views/paragraph/paragraph.reducer.js) | 0 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/editor/paragraph/transcript.actions.js (renamed from animism-align/frontend/app/views/paragraph/transcript.actions.js) | 0 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/index.js | 9 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/nav/header.component.js | 46 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/project/components/project.form.js | 11 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/site/site.actions.js | 31 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/site/site.reducer.js | 12 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/viewer/player/player.transcript.js | 2 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/viewer/transcript/transcript.container.js | 2 | ||||
| -rw-r--r-- | animism-align/frontend/app/views/viewer/viewer.container.js | 2 | ||||
| -rw-r--r-- | animism-align/frontend/site/actions.js | 3 | ||||
| -rw-r--r-- | animism-align/frontend/site/store.js | 7 |
78 files changed, 195 insertions, 105 deletions
diff --git a/animism-align/cli/app/sql/models/episode.py b/animism-align/cli/app/sql/models/episode.py index 916c5dc..13b12c8 100644 --- a/animism-align/cli/app/sql/models/episode.py +++ b/animism-align/cli/app/sql/models/episode.py @@ -12,6 +12,7 @@ class Episode(Base): """Table for storing episodes and their metadata""" __tablename__ = 'episode' id = Column(Integer, primary_key=True) + project_id = Column(Integer) episode_number = Column(Integer) title = Column(String(256, convert_unicode=True), nullable=False) release_date = Column(String(256, convert_unicode=True)) @@ -22,6 +23,7 @@ class Episode(Base): def toJSON(self): return { 'id': self.id, + 'project_id': self.project_id, 'episode_number': self.episode_number, 'title': self.title, 'release_date': self.release_date, diff --git a/animism-align/cli/app/sql/models/paragraph.py b/animism-align/cli/app/sql/models/paragraph.py index 5623db0..ee4aa5b 100644 --- a/animism-align/cli/app/sql/models/paragraph.py +++ b/animism-align/cli/app/sql/models/paragraph.py @@ -13,6 +13,7 @@ class Paragraph(Base): """Table for storing paragraphs, which contain annotations""" __tablename__ = 'paragraph' id = Column(Integer, primary_key=True) + episode_id = Column(Integer) type = Column(String(16, convert_unicode=True), nullable=False) start_ts = Column(Float, nullable=False) end_ts = Column(Float, nullable=True) @@ -21,6 +22,7 @@ class Paragraph(Base): def toJSON(self): return { 'id': self.id, + 'episode_id': self.episode_id, 'type': self.type, 'start_ts': self.start_ts, 'end_ts': self.end_ts, diff --git a/animism-align/cli/app/sql/versions/202103082204_add_episode_project_field_everywhere.py b/animism-align/cli/app/sql/versions/202103082204_add_episode_project_field_everywhere.py new file mode 100644 index 0000000..ea672fd --- /dev/null +++ b/animism-align/cli/app/sql/versions/202103082204_add_episode_project_field_everywhere.py @@ -0,0 +1,31 @@ +"""add episode/project field everywhere + +Revision ID: 639488f6e800 +Revises: 0664d913e352 +Create Date: 2021-03-08 22:04:58.133358 + +""" +from alembic import op +import sqlalchemy as sa +import sqlalchemy_utc + + +# revision identifiers, used by Alembic. +revision = '639488f6e800' +down_revision = '0664d913e352' +branch_labels = None +depends_on = None + + +def upgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.add_column('episode', sa.Column('project_id', sa.Integer(), nullable=True)) + op.add_column('paragraph', sa.Column('episode_id', sa.Integer(), nullable=True)) + # ### end Alembic commands ### + + +def downgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_column('paragraph', 'episode_id') + op.drop_column('episode', 'project_id') + # ### end Alembic commands ### diff --git a/animism-align/frontend/app/actions.js b/animism-align/frontend/app/actions.js index 4b75fce..4a2aaed 100644 --- a/animism-align/frontend/app/actions.js +++ b/animism-align/frontend/app/actions.js @@ -1,10 +1,12 @@ import { bindActionCreators } from 'redux' import { crud_actions } from 'app/api/crud.actions' +import * as transcriptActions from 'app/views/editor/paragraph/transcript.actions' +import * as alignActions from 'app/views/editor/align/align.actions' + import * as viewerActions from 'app/views/viewer/viewer.actions' -import * as transcriptActions from 'app/views/paragraph/transcript.actions' + import * as audioActions from 'app/views/audio/audio.actions' -import * as alignActions from 'app/views/align/align.actions' import * as siteActions from 'app/views/site/site.actions' import * as authActions from 'app/views/auth/auth.actions' diff --git a/animism-align/frontend/app/router.js b/animism-align/frontend/app/router.js index e4ea05e..df4d647 100644 --- a/animism-align/frontend/app/router.js +++ b/animism-align/frontend/app/router.js @@ -4,16 +4,13 @@ import { Route } from 'react-router' import AuthGate from 'app/views/auth/auth.gate' import Header from 'app/views/nav/header.component' -import * as views from 'app/views' -const viewList = Object.keys(views).map(name => { - const view = views[name] - let path, exact = false - path = '/' + name - return ( - <Route key={name} path={path} component={view} exact={exact} /> - ) -}) +import ProjectContainer from 'app/views/project/project.container' +import EpisodeContainer from 'app/views/episode/episode.container' +import VenueContainer from 'app/views/venue/venue.container' +import UploadContainer from 'app/views/upload/upload.container' +import UserContainer from 'app/views/user/user.container' +import EditorContainer from 'app/views/editor/editor.container' export default class Router extends Component { render() { @@ -22,15 +19,19 @@ export default class Router extends Component { <ConnectedRouter history={this.props.history}> <div className='app'> <Header /> - {viewList} - <Route exact key='root' path='/' render={() => { - // redirect to index!! - setTimeout(() => this.props.history.push('/align'), 10) - return null - }} /> + <Route path='/project/' component={ProjectContainer} /> + <Route path='/episode/' component={EpisodeContainer} /> + <Route path='/editor/' component={EditorContainer} /> + <Route path='/venue/' component={VenueContainer} /> + <Route path='/upload/' component={UploadContainer} /> + <Route path='/users/' component={UserContainer} /> </div> </ConnectedRouter> </AuthGate> ) } } + +/* + <Route exact path='/' render={DashboardContainer} /> +*/ diff --git a/animism-align/frontend/app/store.js b/animism-align/frontend/app/store.js index 980437a..d1e10f0 100644 --- a/animism-align/frontend/app/store.js +++ b/animism-align/frontend/app/store.js @@ -1,14 +1,11 @@ import { applyMiddleware, compose, combineReducers, createStore } from 'redux' import { connectRouter, routerMiddleware } from 'connected-react-router' import { createBrowserHistory } from 'history' -// import createDebounce from 'redux-debounced' import thunk from 'redux-thunk' // cms import uploadReducer from 'app/views/upload/upload.reducer' -import annotationReducer from 'app/views/annotation/annotation.reducer' import siteReducer from 'app/views/site/site.reducer' -import mediaReducer from 'app/views/media/media.reducer' import episodeReducer from 'app/views/episode/episode.reducer' import projectReducer from 'app/views/project/project.reducer' import venueReducer from 'app/views/venue/venue.reducer' @@ -16,12 +13,14 @@ import authReducer from 'app/views/auth/auth.reducer' import userReducer from 'app/views/user/user.reducer' // editor -import alignReducer from 'app/views/align/align.reducer' -import paragraphReducer from 'app/views/paragraph/paragraph.reducer' +import mediaReducer from 'app/views/editor/media/media.reducer' +import annotationReducer from 'app/views/editor/annotation/annotation.reducer' +import alignReducer from 'app/views/editor/align/align.reducer' +import paragraphReducer from 'app/views/editor/paragraph/paragraph.reducer' // viewer -import audioReducer from 'app/views/audio/audio.reducer' import viewerReducer from 'app/views/viewer/viewer.reducer' +import audioReducer from 'app/views/audio/audio.reducer' const createRootReducer = history => ( combineReducers({ diff --git a/animism-align/frontend/app/views/auth/auth.gate.js b/animism-align/frontend/app/views/auth/auth.gate.js index fe4ddbd..e07316e 100644 --- a/animism-align/frontend/app/views/auth/auth.gate.js +++ b/animism-align/frontend/app/views/auth/auth.gate.js @@ -21,7 +21,6 @@ class AuthGate extends Component { load() { if (!this.props.user.id) return - actions.site.loadProject() } render() { diff --git a/animism-align/frontend/app/views/align/align.actions.js b/animism-align/frontend/app/views/editor/align/align.actions.js index 1583e4e..1583e4e 100644 --- a/animism-align/frontend/app/views/align/align.actions.js +++ b/animism-align/frontend/app/views/editor/align/align.actions.js diff --git a/animism-align/frontend/app/views/align/align.container.js b/animism-align/frontend/app/views/editor/align/align.container.js index 168feb8..281fd35 100644 --- a/animism-align/frontend/app/views/align/align.container.js +++ b/animism-align/frontend/app/views/editor/align/align.container.js @@ -4,8 +4,8 @@ import './align.css' import './components/annotations/annotation.form.css' import './components/annotations/annotation.index.css' -import Timeline from 'app/views/align/containers/timeline.container.js' -import Sidebar from 'app/views/align/containers/sidebar.container.js' +import Timeline from 'app/views/editor/align/containers/timeline.container.js' +import Sidebar from 'app/views/editor/align/containers/sidebar.container.js' class Container extends Component { componentDidMount() { diff --git a/animism-align/frontend/app/views/align/align.css b/animism-align/frontend/app/views/editor/align/align.css index d10b601..d10b601 100644 --- a/animism-align/frontend/app/views/align/align.css +++ b/animism-align/frontend/app/views/editor/align/align.css diff --git a/animism-align/frontend/app/views/align/align.reducer.js b/animism-align/frontend/app/views/editor/align/align.reducer.js index 8a660c0..d37cd6d 100644 --- a/animism-align/frontend/app/views/align/align.reducer.js +++ b/animism-align/frontend/app/views/editor/align/align.reducer.js @@ -11,10 +11,12 @@ const initialState = { selected_annotation_id: -1, selected_paragraph_id: -1, }, + peaks: { loading: true }, + text: { loading: true }, annotation: {}, selectedAnnotation: {}, options: { - } + }, } export default function alignReducer(state = initialState, action) { @@ -22,7 +24,16 @@ export default function alignReducer(state = initialState, action) { switch (action.type) { case types.peaks.loaded: // console.log('peaks duration:', action.data.length / 10) - return state + return { + ...state, + peaks: action.data, + } + + case types.text.loaded: + return { + ...state, + text: action.data, + } case types.align.set_display_setting: return { diff --git a/animism-align/frontend/app/views/align/components/annotations/annotation.form.css b/animism-align/frontend/app/views/editor/align/components/annotations/annotation.form.css index fa663c7..fa663c7 100644 --- a/animism-align/frontend/app/views/align/components/annotations/annotation.form.css +++ b/animism-align/frontend/app/views/editor/align/components/annotations/annotation.form.css diff --git a/animism-align/frontend/app/views/align/components/annotations/annotation.form.js b/animism-align/frontend/app/views/editor/align/components/annotations/annotation.form.js index 7b1918a..7b1918a 100644 --- a/animism-align/frontend/app/views/align/components/annotations/annotation.form.js +++ b/animism-align/frontend/app/views/editor/align/components/annotations/annotation.form.js diff --git a/animism-align/frontend/app/views/align/components/annotations/annotation.index.css b/animism-align/frontend/app/views/editor/align/components/annotations/annotation.index.css index afedbde..afedbde 100644 --- a/animism-align/frontend/app/views/align/components/annotations/annotation.index.css +++ b/animism-align/frontend/app/views/editor/align/components/annotations/annotation.index.css diff --git a/animism-align/frontend/app/views/align/components/annotations/annotation.index.js b/animism-align/frontend/app/views/editor/align/components/annotations/annotation.index.js index 8e1fa43..8e1fa43 100644 --- a/animism-align/frontend/app/views/align/components/annotations/annotation.index.js +++ b/animism-align/frontend/app/views/editor/align/components/annotations/annotation.index.js diff --git a/animism-align/frontend/app/views/align/components/annotations/annotationForms/annotationForm.gallery.js b/animism-align/frontend/app/views/editor/align/components/annotations/annotationForms/annotationForm.gallery.js index 0a8b3fb..0a8b3fb 100644 --- a/animism-align/frontend/app/views/align/components/annotations/annotationForms/annotationForm.gallery.js +++ b/animism-align/frontend/app/views/editor/align/components/annotations/annotationForms/annotationForm.gallery.js diff --git a/animism-align/frontend/app/views/align/components/annotations/annotationForms/annotationForm.image.js b/animism-align/frontend/app/views/editor/align/components/annotations/annotationForms/annotationForm.image.js index 3de2ac5..3de2ac5 100644 --- a/animism-align/frontend/app/views/align/components/annotations/annotationForms/annotationForm.image.js +++ b/animism-align/frontend/app/views/editor/align/components/annotations/annotationForms/annotationForm.image.js diff --git a/animism-align/frontend/app/views/align/components/annotations/annotationForms/annotationForm.text.js b/animism-align/frontend/app/views/editor/align/components/annotations/annotationForms/annotationForm.text.js index 8bc7675..8bc7675 100644 --- a/animism-align/frontend/app/views/align/components/annotations/annotationForms/annotationForm.text.js +++ b/animism-align/frontend/app/views/editor/align/components/annotations/annotationForms/annotationForm.text.js diff --git a/animism-align/frontend/app/views/align/components/annotations/annotationForms/annotationForm.utility.js b/animism-align/frontend/app/views/editor/align/components/annotations/annotationForms/annotationForm.utility.js index 7e823cc..7e823cc 100644 --- a/animism-align/frontend/app/views/align/components/annotations/annotationForms/annotationForm.utility.js +++ b/animism-align/frontend/app/views/editor/align/components/annotations/annotationForms/annotationForm.utility.js diff --git a/animism-align/frontend/app/views/align/components/annotations/annotationForms/annotationForm.video.js b/animism-align/frontend/app/views/editor/align/components/annotations/annotationForms/annotationForm.video.js index dd5f640..dd5f640 100644 --- a/animism-align/frontend/app/views/align/components/annotations/annotationForms/annotationForm.video.js +++ b/animism-align/frontend/app/views/editor/align/components/annotations/annotationForms/annotationForm.video.js diff --git a/animism-align/frontend/app/views/align/components/annotations/annotationForms/index.js b/animism-align/frontend/app/views/editor/align/components/annotations/annotationForms/index.js index 8a1be48..8a1be48 100644 --- a/animism-align/frontend/app/views/align/components/annotations/annotationForms/index.js +++ b/animism-align/frontend/app/views/editor/align/components/annotations/annotationForms/index.js diff --git a/animism-align/frontend/app/views/align/components/annotations/annotationTypes/annotationTypes.gallery.js b/animism-align/frontend/app/views/editor/align/components/annotations/annotationTypes/annotationTypes.gallery.js index c7df7f8..c7df7f8 100644 --- a/animism-align/frontend/app/views/align/components/annotations/annotationTypes/annotationTypes.gallery.js +++ b/animism-align/frontend/app/views/editor/align/components/annotations/annotationTypes/annotationTypes.gallery.js diff --git a/animism-align/frontend/app/views/align/components/annotations/annotationTypes/annotationTypes.image.js b/animism-align/frontend/app/views/editor/align/components/annotations/annotationTypes/annotationTypes.image.js index d0a573e..d0a573e 100644 --- a/animism-align/frontend/app/views/align/components/annotations/annotationTypes/annotationTypes.image.js +++ b/animism-align/frontend/app/views/editor/align/components/annotations/annotationTypes/annotationTypes.image.js diff --git a/animism-align/frontend/app/views/align/components/annotations/annotationTypes/annotationTypes.text.js b/animism-align/frontend/app/views/editor/align/components/annotations/annotationTypes/annotationTypes.text.js index ea65610..ea65610 100644 --- a/animism-align/frontend/app/views/align/components/annotations/annotationTypes/annotationTypes.text.js +++ b/animism-align/frontend/app/views/editor/align/components/annotations/annotationTypes/annotationTypes.text.js diff --git a/animism-align/frontend/app/views/align/components/annotations/annotationTypes/annotationTypes.utility.js b/animism-align/frontend/app/views/editor/align/components/annotations/annotationTypes/annotationTypes.utility.js index 1238163..1238163 100644 --- a/animism-align/frontend/app/views/align/components/annotations/annotationTypes/annotationTypes.utility.js +++ b/animism-align/frontend/app/views/editor/align/components/annotations/annotationTypes/annotationTypes.utility.js diff --git a/animism-align/frontend/app/views/align/components/annotations/annotationTypes/annotationTypes.video.js b/animism-align/frontend/app/views/editor/align/components/annotations/annotationTypes/annotationTypes.video.js index 4ea9595..4ea9595 100644 --- a/animism-align/frontend/app/views/align/components/annotations/annotationTypes/annotationTypes.video.js +++ b/animism-align/frontend/app/views/editor/align/components/annotations/annotationTypes/annotationTypes.video.js diff --git a/animism-align/frontend/app/views/align/components/annotations/annotationTypes/index.js b/animism-align/frontend/app/views/editor/align/components/annotations/annotationTypes/index.js index 1a89dbd..1a89dbd 100644 --- a/animism-align/frontend/app/views/align/components/annotations/annotationTypes/index.js +++ b/animism-align/frontend/app/views/editor/align/components/annotations/annotationTypes/index.js diff --git a/animism-align/frontend/app/views/align/components/player/playButton.component.js b/animism-align/frontend/app/views/editor/align/components/player/playButton.component.js index f411941..f411941 100644 --- a/animism-align/frontend/app/views/align/components/player/playButton.component.js +++ b/animism-align/frontend/app/views/editor/align/components/player/playButton.component.js diff --git a/animism-align/frontend/app/views/align/components/sidebar/script.component.js b/animism-align/frontend/app/views/editor/align/components/sidebar/script.component.js index 6c20dfa..6c20dfa 100644 --- a/animism-align/frontend/app/views/align/components/sidebar/script.component.js +++ b/animism-align/frontend/app/views/editor/align/components/sidebar/script.component.js diff --git a/animism-align/frontend/app/views/align/components/sidebar/tableOfContents.component.js b/animism-align/frontend/app/views/editor/align/components/sidebar/tableOfContents.component.js index 34aedb5..34aedb5 100644 --- a/animism-align/frontend/app/views/align/components/sidebar/tableOfContents.component.js +++ b/animism-align/frontend/app/views/editor/align/components/sidebar/tableOfContents.component.js diff --git a/animism-align/frontend/app/views/align/components/timeline/cursor.component.js b/animism-align/frontend/app/views/editor/align/components/timeline/cursor.component.js index 4a94100..4a94100 100644 --- a/animism-align/frontend/app/views/align/components/timeline/cursor.component.js +++ b/animism-align/frontend/app/views/editor/align/components/timeline/cursor.component.js diff --git a/animism-align/frontend/app/views/align/components/timeline/cursorRegion.component.js b/animism-align/frontend/app/views/editor/align/components/timeline/cursorRegion.component.js index a0c9bd7..a0c9bd7 100644 --- a/animism-align/frontend/app/views/align/components/timeline/cursorRegion.component.js +++ b/animism-align/frontend/app/views/editor/align/components/timeline/cursorRegion.component.js diff --git a/animism-align/frontend/app/views/align/components/timeline/playCursor.component.js b/animism-align/frontend/app/views/editor/align/components/timeline/playCursor.component.js index 854c43b..854c43b 100644 --- a/animism-align/frontend/app/views/align/components/timeline/playCursor.component.js +++ b/animism-align/frontend/app/views/editor/align/components/timeline/playCursor.component.js diff --git a/animism-align/frontend/app/views/align/components/timeline/ticks.component.js b/animism-align/frontend/app/views/editor/align/components/timeline/ticks.component.js index 4530863..4530863 100644 --- a/animism-align/frontend/app/views/align/components/timeline/ticks.component.js +++ b/animism-align/frontend/app/views/editor/align/components/timeline/ticks.component.js diff --git a/animism-align/frontend/app/views/align/components/timeline/waveform.component.js b/animism-align/frontend/app/views/editor/align/components/timeline/waveform.component.js index 59a2c13..59a2c13 100644 --- a/animism-align/frontend/app/views/align/components/timeline/waveform.component.js +++ b/animism-align/frontend/app/views/editor/align/components/timeline/waveform.component.js diff --git a/animism-align/frontend/app/views/align/containers/annotations.container.js b/animism-align/frontend/app/views/editor/align/containers/annotations.container.js index 167ae3a..cfcf7be 100644 --- a/animism-align/frontend/app/views/align/containers/annotations.container.js +++ b/animism-align/frontend/app/views/editor/align/containers/annotations.container.js @@ -1,8 +1,8 @@ import React, { Component } from 'react' import { connect } from 'react-redux' -import AnnotationForm from 'app/views/align/components/annotations/annotation.form' -import AnnotationIndex from 'app/views/align/components/annotations/annotation.index' +import AnnotationForm from 'app/views/editor/align/components/annotations/annotation.form' +import AnnotationIndex from 'app/views/editor/align/components/annotations/annotation.index' class Annotations extends Component { constructor(props){ diff --git a/animism-align/frontend/app/views/align/containers/sidebar.container.js b/animism-align/frontend/app/views/editor/align/containers/sidebar.container.js index 11f5314..11f5314 100644 --- a/animism-align/frontend/app/views/align/containers/sidebar.container.js +++ b/animism-align/frontend/app/views/editor/align/containers/sidebar.container.js diff --git a/animism-align/frontend/app/views/align/containers/timeline.container.js b/animism-align/frontend/app/views/editor/align/containers/timeline.container.js index 57bac5d..feb4f6a 100644 --- a/animism-align/frontend/app/views/align/containers/timeline.container.js +++ b/animism-align/frontend/app/views/editor/align/containers/timeline.container.js @@ -4,12 +4,12 @@ import { connect } from 'react-redux' import actions from 'app/actions' -import Annotations from 'app/views/align/containers/annotations.container' -import Waveform from 'app/views/align/components/timeline/waveform.component' -import Ticks from 'app/views/align/components/timeline/ticks.component' -import Cursor from 'app/views/align/components/timeline/cursor.component' -import PlayCursor from 'app/views/align/components/timeline/playCursor.component' -import CursorRegion from 'app/views/align/components/timeline/cursorRegion.component' +import Annotations from 'app/views/editor/align/containers/annotations.container' +import Waveform from 'app/views/editor/align/components/timeline/waveform.component' +import Ticks from 'app/views/editor/align/components/timeline/ticks.component' +import Cursor from 'app/views/editor/align/components/timeline/cursor.component' +import PlayCursor from 'app/views/editor/align/components/timeline/playCursor.component' +import CursorRegion from 'app/views/editor/align/components/timeline/cursorRegion.component' import { WAVEFORM_SIZE, ZOOM_STEPS, INNER_HEIGHT } from 'app/constants' import { clamp } from 'app/utils' diff --git a/animism-align/frontend/app/views/annotation/annotation.reducer.js b/animism-align/frontend/app/views/editor/annotation/annotation.reducer.js index 50232a9..50232a9 100644 --- a/animism-align/frontend/app/views/annotation/annotation.reducer.js +++ b/animism-align/frontend/app/views/editor/annotation/annotation.reducer.js diff --git a/animism-align/frontend/app/views/editor/editor.container.js b/animism-align/frontend/app/views/editor/editor.container.js new file mode 100644 index 0000000..563f50d --- /dev/null +++ b/animism-align/frontend/app/views/editor/editor.container.js @@ -0,0 +1,22 @@ +import React, { Component } from 'react' +import { Route } from 'react-router' + +import EditorGate from 'app/views/editor/editor.gate' +import AlignContainer from 'app/views/editor/align/align.container' +import ParagraphContainer from 'app/views/editor/paragraph/paragraph.container' +import MediaContainer from 'app/views/editor/media/media.container' +import ViewerContainer from 'app/views/viewer/viewer.container' + +export default class Router extends Component { + render() { + return ( + <EditorGate episode_id={this.props.match.params.episode_id}> + <Route path={"/editor/:episode_id/timeline/"} component={AlignContainer} /> + <Route path={"/editor/:episode_id/transcript/"} component={ParagraphContainer} /> + <Route path={"/editor/:episode_id/media/"} component={MediaContainer} /> + <Route path={"/editor/:episode_id/viewer/"} component={ViewerContainer} /> + <Route path={"/editor/:episode_id/"} exact component={MediaContainer} /> + </EditorGate> + ) + } +} diff --git a/animism-align/frontend/app/views/editor/editor.gate.js b/animism-align/frontend/app/views/editor/editor.gate.js new file mode 100644 index 0000000..968680f --- /dev/null +++ b/animism-align/frontend/app/views/editor/editor.gate.js @@ -0,0 +1,32 @@ +import React, { Component } from 'react' + +import { Loader } from 'app/common' + +import actions from 'app/actions' + +export default class EditorGate extends Component { + constructor(props) { + super(props) + this.load() + } + + componentDidUpdate(prevProps) { + if (this.props.episode_id !== prevProps.episode_id) { + this.load() + } + } + + load() { + this.props.episode_id && actions.site.loadEpisode() + } + + render() { + if (this.props.logged_in) { + return this.props.children + } + return ( + <Loader /> + ) + } +} + diff --git a/animism-align/frontend/app/views/media/components/media.form.js b/animism-align/frontend/app/views/editor/media/components/media.form.js index 2d21838..2d21838 100644 --- a/animism-align/frontend/app/views/media/components/media.form.js +++ b/animism-align/frontend/app/views/editor/media/components/media.form.js diff --git a/animism-align/frontend/app/views/media/components/media.formFile.js b/animism-align/frontend/app/views/editor/media/components/media.formFile.js index d3b1ae8..d3b1ae8 100644 --- a/animism-align/frontend/app/views/media/components/media.formFile.js +++ b/animism-align/frontend/app/views/editor/media/components/media.formFile.js diff --git a/animism-align/frontend/app/views/media/components/media.formGallery.js b/animism-align/frontend/app/views/editor/media/components/media.formGallery.js index 2cf894b..2cf894b 100644 --- a/animism-align/frontend/app/views/media/components/media.formGallery.js +++ b/animism-align/frontend/app/views/editor/media/components/media.formGallery.js diff --git a/animism-align/frontend/app/views/media/components/media.formGalleryImage.js b/animism-align/frontend/app/views/editor/media/components/media.formGalleryImage.js index 4d2b99c..4d2b99c 100644 --- a/animism-align/frontend/app/views/media/components/media.formGalleryImage.js +++ b/animism-align/frontend/app/views/editor/media/components/media.formGalleryImage.js diff --git a/animism-align/frontend/app/views/media/components/media.formImage.js b/animism-align/frontend/app/views/editor/media/components/media.formImage.js index dbbf69f..dbbf69f 100644 --- a/animism-align/frontend/app/views/media/components/media.formImage.js +++ b/animism-align/frontend/app/views/editor/media/components/media.formImage.js diff --git a/animism-align/frontend/app/views/media/components/media.formImageSelection.js b/animism-align/frontend/app/views/editor/media/components/media.formImageSelection.js index 966eb58..966eb58 100644 --- a/animism-align/frontend/app/views/media/components/media.formImageSelection.js +++ b/animism-align/frontend/app/views/editor/media/components/media.formImageSelection.js diff --git a/animism-align/frontend/app/views/media/components/media.formVideo.js b/animism-align/frontend/app/views/editor/media/components/media.formVideo.js index 35cee2d..315925c 100644 --- a/animism-align/frontend/app/views/media/components/media.formVideo.js +++ b/animism-align/frontend/app/views/editor/media/components/media.formVideo.js @@ -7,7 +7,7 @@ import { capitalize } from 'app/utils' import { posterURL } from 'app/utils/annotation.utils' import { TextInput, LabelDescription, Select, TextArea, Checkbox, SubmitButton, Loader, FileInputField } from 'app/common' -import { getVimeoMetadata } from 'app/views/media/media.actions' +import { getVimeoMetadata } from 'app/views/editor/media/media.actions' export default class MediaVideoForm extends Component { state = { diff --git a/animism-align/frontend/app/views/media/components/media.indexOptions.js b/animism-align/frontend/app/views/editor/media/components/media.indexOptions.js index d8187c9..d8187c9 100644 --- a/animism-align/frontend/app/views/media/components/media.indexOptions.js +++ b/animism-align/frontend/app/views/editor/media/components/media.indexOptions.js diff --git a/animism-align/frontend/app/views/media/components/media.menu.js b/animism-align/frontend/app/views/editor/media/components/media.menu.js index b782cdc..b782cdc 100644 --- a/animism-align/frontend/app/views/media/components/media.menu.js +++ b/animism-align/frontend/app/views/editor/media/components/media.menu.js diff --git a/animism-align/frontend/app/views/media/containers/media.edit.js b/animism-align/frontend/app/views/editor/media/containers/media.edit.js index cf5f671..cf5f671 100644 --- a/animism-align/frontend/app/views/media/containers/media.edit.js +++ b/animism-align/frontend/app/views/editor/media/containers/media.edit.js diff --git a/animism-align/frontend/app/views/media/containers/media.index.js b/animism-align/frontend/app/views/editor/media/containers/media.index.js index da94d3c..da94d3c 100644 --- a/animism-align/frontend/app/views/media/containers/media.index.js +++ b/animism-align/frontend/app/views/editor/media/containers/media.index.js diff --git a/animism-align/frontend/app/views/media/containers/media.new.js b/animism-align/frontend/app/views/editor/media/containers/media.new.js index c193c2f..c193c2f 100644 --- a/animism-align/frontend/app/views/media/containers/media.new.js +++ b/animism-align/frontend/app/views/editor/media/containers/media.new.js diff --git a/animism-align/frontend/app/views/media/media.actions.js b/animism-align/frontend/app/views/editor/media/media.actions.js index 9919e46..9919e46 100644 --- a/animism-align/frontend/app/views/media/media.actions.js +++ b/animism-align/frontend/app/views/editor/media/media.actions.js diff --git a/animism-align/frontend/app/views/media/media.container.js b/animism-align/frontend/app/views/editor/media/media.container.js index b597a6c..b597a6c 100644 --- a/animism-align/frontend/app/views/media/media.container.js +++ b/animism-align/frontend/app/views/editor/media/media.container.js diff --git a/animism-align/frontend/app/views/media/media.css b/animism-align/frontend/app/views/editor/media/media.css index ebf8c33..ebf8c33 100644 --- a/animism-align/frontend/app/views/media/media.css +++ b/animism-align/frontend/app/views/editor/media/media.css diff --git a/animism-align/frontend/app/views/media/media.reducer.js b/animism-align/frontend/app/views/editor/media/media.reducer.js index f13f9de..f13f9de 100644 --- a/animism-align/frontend/app/views/media/media.reducer.js +++ b/animism-align/frontend/app/views/editor/media/media.reducer.js diff --git a/animism-align/frontend/app/views/paragraph/components/paragraph.form.js b/animism-align/frontend/app/views/editor/paragraph/components/paragraph.form.js index 55cb74e..55cb74e 100644 --- a/animism-align/frontend/app/views/paragraph/components/paragraph.form.js +++ b/animism-align/frontend/app/views/editor/paragraph/components/paragraph.form.js diff --git a/animism-align/frontend/app/views/paragraph/components/paragraph.list.js b/animism-align/frontend/app/views/editor/paragraph/components/paragraph.list.js index f7c9c58..f7c9c58 100644 --- a/animism-align/frontend/app/views/paragraph/components/paragraph.list.js +++ b/animism-align/frontend/app/views/editor/paragraph/components/paragraph.list.js diff --git a/animism-align/frontend/app/views/paragraph/components/paragraphTypes/index.js b/animism-align/frontend/app/views/editor/paragraph/components/paragraphTypes/index.js index 5180d5e..5180d5e 100644 --- a/animism-align/frontend/app/views/paragraph/components/paragraphTypes/index.js +++ b/animism-align/frontend/app/views/editor/paragraph/components/paragraphTypes/index.js diff --git a/animism-align/frontend/app/views/paragraph/components/paragraphTypes/paragraphTypes.image.js b/animism-align/frontend/app/views/editor/paragraph/components/paragraphTypes/paragraphTypes.image.js index 4eab2cc..4eab2cc 100644 --- a/animism-align/frontend/app/views/paragraph/components/paragraphTypes/paragraphTypes.image.js +++ b/animism-align/frontend/app/views/editor/paragraph/components/paragraphTypes/paragraphTypes.image.js diff --git a/animism-align/frontend/app/views/paragraph/components/paragraphTypes/paragraphTypes.text.js b/animism-align/frontend/app/views/editor/paragraph/components/paragraphTypes/paragraphTypes.text.js index f0529c8..f0529c8 100644 --- a/animism-align/frontend/app/views/paragraph/components/paragraphTypes/paragraphTypes.text.js +++ b/animism-align/frontend/app/views/editor/paragraph/components/paragraphTypes/paragraphTypes.text.js diff --git a/animism-align/frontend/app/views/paragraph/components/paragraphTypes/paragraphTypes.video.js b/animism-align/frontend/app/views/editor/paragraph/components/paragraphTypes/paragraphTypes.video.js index ba7a996..ba7a996 100644 --- a/animism-align/frontend/app/views/paragraph/components/paragraphTypes/paragraphTypes.video.js +++ b/animism-align/frontend/app/views/editor/paragraph/components/paragraphTypes/paragraphTypes.video.js diff --git a/animism-align/frontend/app/views/paragraph/containers/paragraphEditor.container.js b/animism-align/frontend/app/views/editor/paragraph/containers/paragraphEditor.container.js index 09ba70c..09ba70c 100644 --- a/animism-align/frontend/app/views/paragraph/containers/paragraphEditor.container.js +++ b/animism-align/frontend/app/views/editor/paragraph/containers/paragraphEditor.container.js diff --git a/animism-align/frontend/app/views/paragraph/paragraph.container.js b/animism-align/frontend/app/views/editor/paragraph/paragraph.container.js index d0e9b86..d0e9b86 100644 --- a/animism-align/frontend/app/views/paragraph/paragraph.container.js +++ b/animism-align/frontend/app/views/editor/paragraph/paragraph.container.js diff --git a/animism-align/frontend/app/views/paragraph/paragraph.css b/animism-align/frontend/app/views/editor/paragraph/paragraph.css index 5743dbb..5743dbb 100644 --- a/animism-align/frontend/app/views/paragraph/paragraph.css +++ b/animism-align/frontend/app/views/editor/paragraph/paragraph.css diff --git a/animism-align/frontend/app/views/paragraph/paragraph.reducer.js b/animism-align/frontend/app/views/editor/paragraph/paragraph.reducer.js index 3b33128..3b33128 100644 --- a/animism-align/frontend/app/views/paragraph/paragraph.reducer.js +++ b/animism-align/frontend/app/views/editor/paragraph/paragraph.reducer.js diff --git a/animism-align/frontend/app/views/paragraph/transcript.actions.js b/animism-align/frontend/app/views/editor/paragraph/transcript.actions.js index 336a79d..336a79d 100644 --- a/animism-align/frontend/app/views/paragraph/transcript.actions.js +++ b/animism-align/frontend/app/views/editor/paragraph/transcript.actions.js diff --git a/animism-align/frontend/app/views/index.js b/animism-align/frontend/app/views/index.js deleted file mode 100644 index 6f86af0..0000000 --- a/animism-align/frontend/app/views/index.js +++ /dev/null @@ -1,9 +0,0 @@ -export { default as align } from './align/align.container' -export { default as paragraph } from './paragraph/paragraph.container' -export { default as upload } from './upload/upload.container' -export { default as media } from './media/media.container' -export { default as viewer } from './viewer/viewer.container' -export { default as episode } from './episode/episode.container' -export { default as project } from './project/project.container' -export { default as venue } from './venue/venue.container' -export { default as users } from './user/user.container' diff --git a/animism-align/frontend/app/views/nav/header.component.js b/animism-align/frontend/app/views/nav/header.component.js index 28be4a7..bc04629 100644 --- a/animism-align/frontend/app/views/nav/header.component.js +++ b/animism-align/frontend/app/views/nav/header.component.js @@ -4,24 +4,39 @@ import { connect } from 'react-redux' import { Link } from 'react-router-dom' import actions from 'app/actions' -import PlayButton from 'app/views/align/components/player/playButton.component' +import PlayButton from 'app/views/editor/align/components/player/playButton.component' import './nav.css' function Header(props) { - if (props.router.location && props.router.location.pathname.match("/viewer")) { + if (!props.router.location) return null + if (props.router.location.pathname.match("/viewer")) { return null } + if (props.router.location.pathname.match("/editor")) { + const { episode_id } = this.props.match.params + return ( + <header> + <PlayButton playing={props.playing} /> + <div> + <Link to={`/`}>{'<'}</Link> + <Link to={`/editor/${episode_id}/timeline/`}>Timeline</Link> + <Link to={`/editor/${episode_id}/transcript/`}>Transcript</Link> + <Link to={`/editor/${episode_id}/media/`}>Media</Link> + <Link to={`/editor/${episode_id}/viewer/`}>Viewer</Link> + <Link to="/episode/">Episodes</Link> + <Link to="/venue/">Venues</Link> + </div> + </header> + ) + } return ( <header> <PlayButton playing={props.playing} /> <div> - <Link to="/align">Timeline</Link> - <Link to="/paragraph">Transcript</Link> - <Link to="/media">Media</Link> - <Link to="/episode">Episodes</Link> - <Link to="/venue">Venues</Link> - <Link to="/viewer">Viewer</Link> + <Link to="/project/">Projects</Link> + <Link to="/episode/">Episodes</Link> + <Link to="/venue/">Venues</Link> {props.currentUser.is_admin && <Link to="/users">Users</Link>} <a href="#" onClick={actions.auth.logout}> Logout @@ -31,24 +46,11 @@ function Header(props) { ) } -// const changeUsername = () => { -// const username = prompt("Please enter your username:", session('username')) -// if (username && username.length) { -// session.set('username', username) -// document.querySelector('Header div span').innerText = ' → ' + username // very naughty -// } -// } - const mapStateToProps = (state) => ({ currentUser: state.auth.user, site: state.site, router: state.router, playing: state.audio.playing, - // username: session.get('username'), - // isAuthenticated: state.auth.isAuthenticated, -}) - -const mapDispatchToProps = (dispatch) => ({ }) -export default connect(mapStateToProps, mapDispatchToProps)(React.memo(Header)) +export default connect(mapStateToProps)(React.memo(Header)) diff --git a/animism-align/frontend/app/views/project/components/project.form.js b/animism-align/frontend/app/views/project/components/project.form.js index 7a2ef2e..f4d1749 100644 --- a/animism-align/frontend/app/views/project/components/project.form.js +++ b/animism-align/frontend/app/views/project/components/project.form.js @@ -163,7 +163,7 @@ export default class ProjectForm extends Component { name="description" required data={data.settings} - onChange={this.handleSettingsChange} + onChange={this.handleSettingsChangeEvent} autoComplete="off" /> @@ -172,26 +172,23 @@ export default class ProjectForm extends Component { <TextInput title="Base URL" name="base_href" - required data={data.settings} - onChange={this.handleSettingsChange} + onChange={this.handleSettingsChangeEvent} autoComplete="off" /> <TextInput title="FTP URL" name="ftp_url" - required data={data.settings} - onChange={this.handleSettingsChange} + onChange={this.handleSettingsChangeEvent} autoComplete="off" /> <TextInput title="FTP Base Path" name="ftp_base_path" - required data={data.settings} - onChange={this.handleSettingsChange} + onChange={this.handleSettingsChangeEvent} autoComplete="off" /> diff --git a/animism-align/frontend/app/views/site/site.actions.js b/animism-align/frontend/app/views/site/site.actions.js index 2ff7467..1c51b53 100644 --- a/animism-align/frontend/app/views/site/site.actions.js +++ b/animism-align/frontend/app/views/site/site.actions.js @@ -4,17 +4,26 @@ import actions from 'app/actions' import { URLS } from 'app/constants' import FontFaceObserver from 'fontfaceobserver' -export const loadProject = () => dispatch => { +export const loadSite = () => dispatch => { Promise.all([ - actions.site.loadText(), - actions.site.loadPeaks(), - actions.audio.load(), - actions.annotation.index(), - actions.paragraph.index(), - actions.media.index(), + loadFonts(), + actions.project.index(), actions.episode.index(), actions.venue.index(), - loadFonts(), + ]).then(() => { + }).catch(err => { + console.error(err) + }) +} + +export const loadEpisode = (episode) => dispatch => { + Promise.all([ + // actions.site.loadText(episode), + actions.site.loadPeaks(episode), + actions.audio.load(episode), + actions.annotation.index({ episode_id: episode.id }), + actions.paragraph.index({ episode_id: episode.id }), + actions.media.index({ episode_id: episode.id }), ]).then(() => { actions.viewer.loadSections() }).catch(err => { @@ -35,9 +44,9 @@ export const loadPeaks = (asdf) => dispatch => ( api(dispatch, types.peaks, 'peaks', URLS.peaks) ) -export const loadText = (asdf) => dispatch => ( - api(dispatch, types.text, 'text', URLS.text) -) +// export const loadText = (asdf) => dispatch => ( + // api(dispatch, types.text, 'text', URLS.text) +// ) export const updateText = text => dispatch => ( dispatch({ type: types.text.loaded, data: text }) diff --git a/animism-align/frontend/app/views/site/site.reducer.js b/animism-align/frontend/app/views/site/site.reducer.js index fbb53fc..d6a475e 100644 --- a/animism-align/frontend/app/views/site/site.reducer.js +++ b/animism-align/frontend/app/views/site/site.reducer.js @@ -1,23 +1,11 @@ import * as types from 'app/types' const initialState = { - peaks: { loading: true }, - text: { loading: true }, } export default function siteReducer(state = initialState, action) { // console.log(action.type, action) switch (action.type) { - case types.peaks.loaded: - return { - ...state, - peaks: action.data, - } - case types.text.loaded: - return { - ...state, - text: action.data, - } default: return state } diff --git a/animism-align/frontend/app/views/viewer/player/player.transcript.js b/animism-align/frontend/app/views/viewer/player/player.transcript.js index 7882ef0..cfb252d 100644 --- a/animism-align/frontend/app/views/viewer/player/player.transcript.js +++ b/animism-align/frontend/app/views/viewer/player/player.transcript.js @@ -6,7 +6,7 @@ import { connect } from 'react-redux' import actions from 'app/actions' import { isHandheld, xor, timestampToSeconds } from 'app/utils' -import ParagraphList from 'app/views/paragraph/components/paragraph.list' +import ParagraphList from 'app/views/editor/paragraph/components/paragraph.list' import { inlineComponents } from './components.inline' class PlayerTranscript extends Component { diff --git a/animism-align/frontend/app/views/viewer/transcript/transcript.container.js b/animism-align/frontend/app/views/viewer/transcript/transcript.container.js index 77bf585..fad0ac8 100644 --- a/animism-align/frontend/app/views/viewer/transcript/transcript.container.js +++ b/animism-align/frontend/app/views/viewer/transcript/transcript.container.js @@ -7,7 +7,7 @@ import actions from 'app/actions' import { toArray, floatInRange } from 'app/utils' import oktween from 'app/utils/oktween' -import ParagraphList from 'app/views/paragraph/components/paragraph.list' +import ParagraphList from 'app/views/editor/paragraph/components/paragraph.list' import { transcriptElementLookup } from './components' class Transcript extends Component { diff --git a/animism-align/frontend/app/views/viewer/viewer.container.js b/animism-align/frontend/app/views/viewer/viewer.container.js index 3d18745..872e67f 100644 --- a/animism-align/frontend/app/views/viewer/viewer.container.js +++ b/animism-align/frontend/app/views/viewer/viewer.container.js @@ -82,7 +82,7 @@ class ViewerContainer extends Component { <ViewerSections /> <Transcript /> <Checklist /> - {ENV_DEVELOPMENT && <Route exact path='/viewer/:component/' component={ViewerRouter} />} + {ENV_DEVELOPMENT && <Route exact path='/episode/:episode_id/viewer/:component/' component={ViewerRouter} />} </div> <VitrineModal /> {isHandheld && <HandheldModal />} diff --git a/animism-align/frontend/site/actions.js b/animism-align/frontend/site/actions.js index 2642469..fbe2043 100644 --- a/animism-align/frontend/site/actions.js +++ b/animism-align/frontend/site/actions.js @@ -4,7 +4,8 @@ import { bindActionCreators } from 'redux' import * as siteActions from 'site/site/site.actions' import * as audioActions from 'app/views/audio/audio.actions' import * as viewerActions from 'app/views/viewer/viewer.actions' -import * as transcriptActions from 'app/views/paragraph/transcript.actions' + +import * as transcriptActions from 'app/views/editor/paragraph/transcript.actions' import { store } from './store' diff --git a/animism-align/frontend/site/store.js b/animism-align/frontend/site/store.js index 2d9ffbc..2622412 100644 --- a/animism-align/frontend/site/store.js +++ b/animism-align/frontend/site/store.js @@ -5,11 +5,12 @@ import { createBrowserHistory } from 'history' import thunk from 'redux-thunk' import audioReducer from 'app/views/audio/audio.reducer' -import alignReducer from 'app/views/align/align.reducer' -import viewerReducer from 'app/views/viewer/viewer.reducer' -import paragraphReducer from 'app/views/paragraph/paragraph.reducer' import siteReducer from 'site/site/site.reducer' +import alignReducer from 'app/views/editor/align/align.reducer' +import paragraphReducer from 'app/views/editor/paragraph/paragraph.reducer' +import viewerReducer from 'app/views/viewer/viewer.reducer' + // document.querySelector("#plain_content").remove() const siteData = JSON.parse(document.querySelector("#site_data").innerText) |
