mirror of
https://github.com/scratchfoundation/scratch-www.git
synced 2024-11-23 07:38:07 -05:00
pass project title to GUI, and disable submit when editing title
This commit is contained in:
parent
3c6530fe85
commit
478a30efcb
3 changed files with 20 additions and 3 deletions
|
@ -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(
|
||||
|
|
|
@ -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">
|
||||
|
|
|
@ -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,
|
||||
|
|
Loading…
Reference in a new issue