From 1b180de468ef2f1a61c076becd0be75decc488b6 Mon Sep 17 00:00:00 2001 From: Kristin Aoki <42981026+KristinAoki@users.noreply.github.com> Date: Wed, 10 Aug 2022 09:17:35 -0400 Subject: [PATCH] feat: add altText and isDecorative persistence for image editing --- .../ImageSettingsModal/DimensionControls.jsx | 4 ++-- .../TextEditor/components/ImageSettingsModal/hooks.js | 11 ++++++++--- .../components/ImageSettingsModal/index.jsx | 6 +++--- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/editors/containers/TextEditor/components/ImageSettingsModal/DimensionControls.jsx b/src/editors/containers/TextEditor/components/ImageSettingsModal/DimensionControls.jsx index d337899d2..74e7a33cc 100644 --- a/src/editors/containers/TextEditor/components/ImageSettingsModal/DimensionControls.jsx +++ b/src/editors/containers/TextEditor/components/ImageSettingsModal/DimensionControls.jsx @@ -70,8 +70,8 @@ export const DimensionControls = ({ )); DimensionControls.defaultProps = { value: { - height: 100, - width: 100, + height: '100', + width: '100', }, }; DimensionControls.propTypes = ({ diff --git a/src/editors/containers/TextEditor/components/ImageSettingsModal/hooks.js b/src/editors/containers/TextEditor/components/ImageSettingsModal/hooks.js index 27d81ee33..a853b1175 100644 --- a/src/editors/containers/TextEditor/components/ImageSettingsModal/hooks.js +++ b/src/editors/containers/TextEditor/components/ImageSettingsModal/hooks.js @@ -132,11 +132,16 @@ export const dimensionLockHooks = () => { * {func} setWidthValid - sets isWidthValid to true * {func} setWidthNotValid - sets isWidthValid to false */ -export const dimensionHooks = () => { +export const dimensionHooks = (altTextHook) => { const [dimensions, setDimensions] = module.state.dimensions(null); const [local, setLocal] = module.state.local(null); - - const setAll = ({ height, width }) => { + const setAll = ({ height, width, altText }) => { + if (altText === '' || altText) { + if (altText === '') { + altTextHook.setIsDecorative(true); + } + altTextHook.setValue(altText); + } setDimensions({ height, width }); setLocal({ height, width }); }; diff --git a/src/editors/containers/TextEditor/components/ImageSettingsModal/index.jsx b/src/editors/containers/TextEditor/components/ImageSettingsModal/index.jsx index 14000b8f1..6a70b684b 100644 --- a/src/editors/containers/TextEditor/components/ImageSettingsModal/index.jsx +++ b/src/editors/containers/TextEditor/components/ImageSettingsModal/index.jsx @@ -32,8 +32,8 @@ export const ImageSettingsModal = ({ // inject intl, }) => { - const dimensions = hooks.dimensions(); - const altText = hooks.altText(); + const altText = hooks.altText(selection.altText); + const dimensions = hooks.dimensions(altText); const onSaveClick = hooks.onSaveClick({ altText, dimensions: dimensions.value, @@ -94,7 +94,7 @@ ImageSettingsModal.propTypes = { selection: PropTypes.shape({ url: PropTypes.string, externalUrl: PropTypes.string, - altText: PropTypes.bool, + altText: PropTypes.string, }).isRequired, saveToEditor: PropTypes.func.isRequired, returnToSelection: PropTypes.func.isRequired,