|
|
|
@ -41,11 +41,10 @@ const handlers = { |
|
|
|
|
onChangeDescription, |
|
|
|
|
} = this.props; |
|
|
|
|
const { dirtyDescription } = this.state; |
|
|
|
|
|
|
|
|
|
this.setState({ dirtyDescription: null, focused: false }); |
|
|
|
|
|
|
|
|
|
if (id && onChangeDescription && dirtyDescription !== null) { |
|
|
|
|
this.setState({ |
|
|
|
|
dirtyDescription: null, |
|
|
|
|
focused: false, |
|
|
|
|
}); |
|
|
|
|
onChangeDescription(id, dirtyDescription); |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
@ -120,7 +119,6 @@ export default class ComposerUploadFormItem extends React.PureComponent { |
|
|
|
|
handleFocalPointClick, |
|
|
|
|
} = this.handlers; |
|
|
|
|
const { |
|
|
|
|
description, |
|
|
|
|
intl, |
|
|
|
|
preview, |
|
|
|
|
focusX, |
|
|
|
@ -132,9 +130,11 @@ export default class ComposerUploadFormItem extends React.PureComponent { |
|
|
|
|
hovered, |
|
|
|
|
dirtyDescription, |
|
|
|
|
} = this.state; |
|
|
|
|
const computedClass = classNames('composer--upload_form--item', { active: hovered || focused }); |
|
|
|
|
const active = hovered || focused; |
|
|
|
|
const computedClass = classNames('composer--upload_form--item', { active }); |
|
|
|
|
const x = ((focusX / 2) + .5) * 100; |
|
|
|
|
const y = ((focusY / -2) + .5) * 100; |
|
|
|
|
const description = dirtyDescription || (dirtyDescription !== '' && this.props.description) || ''; |
|
|
|
|
|
|
|
|
|
// The result.
|
|
|
|
|
return ( |
|
|
|
@ -160,7 +160,7 @@ export default class ComposerUploadFormItem extends React.PureComponent { |
|
|
|
|
backgroundPosition: `${x}% ${y}%` |
|
|
|
|
}} |
|
|
|
|
> |
|
|
|
|
<div className={classNames('composer--upload_form--actions', { active: hovered || focused })}> |
|
|
|
|
<div className={classNames('composer--upload_form--actions', { active })}> |
|
|
|
|
<button className='icon-button' onClick={handleRemove}> |
|
|
|
|
<i className='fa fa-times' /> <FormattedMessage {...messages.undo} /> |
|
|
|
|
</button> |
|
|
|
@ -175,7 +175,7 @@ export default class ComposerUploadFormItem extends React.PureComponent { |
|
|
|
|
onFocus={handleFocus} |
|
|
|
|
placeholder={intl.formatMessage(messages.description)} |
|
|
|
|
type='text' |
|
|
|
|
value={dirtyDescription || description || ''} |
|
|
|
|
value={description} |
|
|
|
|
/> |
|
|
|
|
</label> |
|
|
|
|
</div> |
|
|
|
|