From 478a30efcb03de87e05116eab6925e9ca3f32ec2 Mon Sep 17 00:00:00 2001 From: Ben Wheeler Date: Mon, 27 Aug 2018 17:11:05 -0400 Subject: [PATCH] pass project title to GUI, and disable submit when editing title --- src/lib/render.jsx | 2 +- src/views/preview/presentation.jsx | 13 ++++++++++++- src/views/preview/preview.jsx | 8 +++++++- 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/src/lib/render.jsx b/src/lib/render.jsx index 3bbc66743..dce966204 100644 --- a/src/lib/render.jsx +++ b/src/lib/render.jsx @@ -37,7 +37,7 @@ const render = (jsx, element, reducers, initialState, enhancer) => { } const allReducers = reducer(reducers); - + const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || redux.compose; const enhancers = enhancer ? composeEnhancers( diff --git a/src/views/preview/presentation.jsx b/src/views/preview/presentation.jsx index bffa0f829..9390120ff 100644 --- a/src/views/preview/presentation.jsx +++ b/src/views/preview/presentation.jsx @@ -27,6 +27,16 @@ const ExtensionChip = require('./extension-chip.jsx'); const projectShape = require('./projectshape.jsx').projectShape; require('./preview.scss'); +// disable enter key submission on formsy input fields; otherwise formsy thinks +// we meant to trigger the "See inside" button. Instead, treat these keypresses +// as a blur, which will trigger a save. +const onKeyPress = e => { + if (e.target.type === 'text' && e.which === 13 /* Enter */) { + e.preventDefault(); + e.target.blur(); + } +}; + const PreviewPresentation = ({ assetHost, backpackOptions, @@ -70,7 +80,7 @@ const PreviewPresentation = ({ { projectInfo && projectInfo.author && projectInfo.author.id && ( - +
@@ -135,6 +145,7 @@ const PreviewPresentation = ({ previewInfoVisible="false" projectHost={projectHost} projectId={projectId} + projectTitle={projectInfo.title} />
diff --git a/src/views/preview/preview.jsx b/src/views/preview/preview.jsx index a9bb1275e..59f79cccc 100644 --- a/src/views/preview/preview.jsx +++ b/src/views/preview/preview.jsx @@ -42,6 +42,7 @@ class Preview extends React.Component { 'handleAddToStudioClick', 'handleAddToStudioClose', 'handleSeeInside', + 'handleUpdateProjectTitle', 'handleUpdate', 'initCounts', 'isShared', @@ -277,6 +278,11 @@ class Preview extends React.Component { this.props.user.token ); } + handleUpdateProjectTitle (title) { + this.handleUpdate({ + title: title + }); + } initCounts (favorites, loves) { this.setState({ favoriteCount: favorites, @@ -456,7 +462,6 @@ const consolidateStudiosInfo = (curatedStudios, projectStudios, currentStudioIds }; const mapStateToProps = state => ({ - projectInfo: state.preview.projectInfo, comments: state.preview.comments, faved: state.preview.faved, loved: state.preview.loved, @@ -465,6 +470,7 @@ const mapStateToProps = state => ({ remixes: state.preview.remixes, replies: state.preview.replies, sessionStatus: state.session.status, + projectInfo: state.preview.projectInfo, projectStudios: state.preview.projectStudios, studios: consolidateStudiosInfo(state.preview.curatedStudios, state.preview.projectStudios, state.preview.currentStudioIds,