pass project title to GUI, and disable submit when editing title

This commit is contained in:
Ben Wheeler 2018-08-27 17:11:05 -04:00
parent 3c6530fe85
commit 478a30efcb
3 changed files with 20 additions and 3 deletions

View file

@ -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 = ({
<ShareBanner shared={isShared} />
{ projectInfo && projectInfo.author && projectInfo.author.id && (
<Formsy>
<Formsy onKeyPress={onKeyPress}>
<div className="inner">
<FlexRow className="preview-row">
<FlexRow className="project-header">
@ -135,6 +145,7 @@ const PreviewPresentation = ({
previewInfoVisible="false"
projectHost={projectHost}
projectId={projectId}
projectTitle={projectInfo.title}
/>
</div>
<FlexRow className="project-notes">

View file

@ -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,