diff --git a/webapp/src/components/cardDetail/cardDetail.tsx b/webapp/src/components/cardDetail/cardDetail.tsx index fffd1a487..55de8c5d8 100644 --- a/webapp/src/components/cardDetail/cardDetail.tsx +++ b/webapp/src/components/cardDetail/cardDetail.tsx @@ -93,6 +93,7 @@ const CardDetail = (props: Props): JSX.Element|null => { }} onCancel={() => setTitle(props.cardTree.card.title)} readonly={props.readonly} + spellCheck={true} /> {/* Property list */} diff --git a/webapp/src/components/content/__snapshots__/checkboxElement.test.tsx.snap b/webapp/src/components/content/__snapshots__/checkboxElement.test.tsx.snap index 35c899993..a3692977b 100644 --- a/webapp/src/components/content/__snapshots__/checkboxElement.test.tsx.snap +++ b/webapp/src/components/content/__snapshots__/checkboxElement.test.tsx.snap @@ -13,6 +13,7 @@ exports[`components/content/CheckboxElement should match snapshot 1`] = ` @@ -33,6 +34,7 @@ exports[`components/content/CheckboxElement should match snapshot on change titl @@ -57,6 +59,7 @@ exports[`components/content/CheckboxElement should match snapshot on read only 1 class="Editable undefined" placeholder="Edit text..." readonly="" + spellcheck="true" title="test-title" value="test-title" /> @@ -77,6 +80,7 @@ exports[`components/content/CheckboxElement should match snapshot on toggle 1`] diff --git a/webapp/src/components/content/checkboxElement.tsx b/webapp/src/components/content/checkboxElement.tsx index 11239766e..56e9afb39 100644 --- a/webapp/src/components/content/checkboxElement.tsx +++ b/webapp/src/components/content/checkboxElement.tsx @@ -52,6 +52,7 @@ const CheckboxElement = React.memo((props: Props) => { mutator.updateBlock(newBlock, block, intl.formatMessage({id: 'ContentBlock.editCardCheckboxText', defaultMessage: 'edit card text'})) }} readonly={readonly} + spellCheck={true} /> ) diff --git a/webapp/src/components/kanban/kanbanColumnHeader.tsx b/webapp/src/components/kanban/kanbanColumnHeader.tsx index bb8841ba8..f6e1e7c64 100644 --- a/webapp/src/components/kanban/kanbanColumnHeader.tsx +++ b/webapp/src/components/kanban/kanbanColumnHeader.tsx @@ -104,6 +104,7 @@ export default function KanbanColumnHeader(props: Props): JSX.Element { setGroupTitle(group.option.value) }} readonly={props.readonly} + spellCheck={true} /> } diff --git a/webapp/src/components/markdownEditor.tsx b/webapp/src/components/markdownEditor.tsx index 863c0f355..3e283de13 100644 --- a/webapp/src/components/markdownEditor.tsx +++ b/webapp/src/components/markdownEditor.tsx @@ -145,6 +145,8 @@ const MarkdownEditor = (props: Props): JSX. Element => { toolbar: false, status: false, spellChecker: false, + inputStyle: 'contenteditable', + nativeSpellcheck: true, minHeight: '10px', shortcuts: { toggleStrikethrough: 'Cmd-.', diff --git a/webapp/src/components/propertyValueElement.tsx b/webapp/src/components/propertyValueElement.tsx index 5e2d5abd4..4b38e586a 100644 --- a/webapp/src/components/propertyValueElement.tsx +++ b/webapp/src/components/propertyValueElement.tsx @@ -130,6 +130,7 @@ const PropertyValueElement = (props:Props): JSX.Element => { onSave={() => mutator.changePropertyValue(card, propertyTemplate.id, value)} onCancel={() => setValue(propertyValue)} validator={(newValue) => validateProp(propertyTemplate.type, newValue)} + spellCheck={propertyTemplate.type === 'text'} /> ) } diff --git a/webapp/src/components/table/tableRow.tsx b/webapp/src/components/table/tableRow.tsx index 5b4629bb7..0988e294b 100644 --- a/webapp/src/components/table/tableRow.tsx +++ b/webapp/src/components/table/tableRow.tsx @@ -92,6 +92,7 @@ const TableRow = React.memo((props: Props) => { }} onCancel={() => setTitle(card.title)} readonly={props.readonly} + spellCheck={true} /> diff --git a/webapp/src/components/viewHeader/viewHeader.tsx b/webapp/src/components/viewHeader/viewHeader.tsx index 5cc5fcd84..d580acfd2 100644 --- a/webapp/src/components/viewHeader/viewHeader.tsx +++ b/webapp/src/components/viewHeader/viewHeader.tsx @@ -65,6 +65,7 @@ const ViewHeader = React.memo((props: Props) => { onChange={setViewTitle} saveOnEsc={true} readonly={props.readonly} + spellCheck={true} /> }/> diff --git a/webapp/src/components/viewTitle.tsx b/webapp/src/components/viewTitle.tsx index 2633fc9e6..8064d683a 100644 --- a/webapp/src/components/viewTitle.tsx +++ b/webapp/src/components/viewTitle.tsx @@ -83,6 +83,7 @@ const ViewTitle = React.memo((props: Props) => { onSave={() => mutator.changeTitle(board, title)} onCancel={() => setTitle(props.board.title)} readonly={props.readonly} + spellCheck={true} /> diff --git a/webapp/src/widgets/__snapshots__/propertyMenu.test.tsx.snap b/webapp/src/widgets/__snapshots__/propertyMenu.test.tsx.snap index bebe8be68..8e617cfcc 100644 --- a/webapp/src/widgets/__snapshots__/propertyMenu.test.tsx.snap +++ b/webapp/src/widgets/__snapshots__/propertyMenu.test.tsx.snap @@ -13,6 +13,7 @@ exports[`widgets/PropertyMenu should match snapshot 1`] = ` > diff --git a/webapp/src/widgets/editable.tsx b/webapp/src/widgets/editable.tsx index 553eb83d2..73d317ca0 100644 --- a/webapp/src/widgets/editable.tsx +++ b/webapp/src/widgets/editable.tsx @@ -11,6 +11,7 @@ type Props = { className?: string saveOnEsc?: boolean readonly?: boolean + spellCheck?: boolean validator?: (value: string) => boolean onCancel?: () => void @@ -90,6 +91,7 @@ const Editable = (props: Props, ref: React.Ref<{focus: (selectAll?: boolean) => } }} readOnly={props.readonly} + spellCheck={props.spellCheck} /> ) } diff --git a/webapp/src/widgets/propertyMenu.tsx b/webapp/src/widgets/propertyMenu.tsx index f35e87ea7..0df4897d1 100644 --- a/webapp/src/widgets/propertyMenu.tsx +++ b/webapp/src/widgets/propertyMenu.tsx @@ -75,6 +75,7 @@ const PropertyMenu = React.memo((props: Props) => { e.stopPropagation() } }} + spellCheck={true} />