diff --git a/src/editors/containers/EditorContainer/components/TitleHeader/EditableHeader.jsx b/src/editors/containers/EditorContainer/components/TitleHeader/EditableHeader.jsx
index b6e905313..816ecf8cf 100644
--- a/src/editors/containers/EditorContainer/components/TitleHeader/EditableHeader.jsx
+++ b/src/editors/containers/EditorContainer/components/TitleHeader/EditableHeader.jsx
@@ -11,20 +11,27 @@ export const EditableHeader = ({
inputRef,
localTitle,
cancelEdit,
-}) => (
-
- }
- onChange={handleChange}
- onKeyDown={handleKeyDown}
- placeholder="Title"
- ref={inputRef}
- value={localTitle}
- />
-
-);
+}) => {
+ const width = localTitle.length * 8 + 200;
+ return (
+ updateTitle(e)}
+ >
+ }
+ onChange={handleChange}
+ onKeyDown={handleKeyDown}
+ placeholder="Title"
+ ref={inputRef}
+ value={localTitle}
+ />
+
+ );
+};
EditableHeader.defaultProps = {
inputRef: null,
};
diff --git a/src/editors/containers/EditorContainer/components/TitleHeader/__snapshots__/EditableHeader.test.jsx.snap b/src/editors/containers/EditorContainer/components/TitleHeader/__snapshots__/EditableHeader.test.jsx.snap
index 83d047269..557b7bb03 100644
--- a/src/editors/containers/EditorContainer/components/TitleHeader/__snapshots__/EditableHeader.test.jsx.snap
+++ b/src/editors/containers/EditorContainer/components/TitleHeader/__snapshots__/EditableHeader.test.jsx.snap
@@ -1,7 +1,16 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`EditableHeader snapshot snapshot 1`] = `
-
+
{
- dispatch(actions.app.setBlockTitle(localTitle));
- stopEditing();
+ updateTitle: (e) => {
+ if (localTitle.length <= 0) {
+ setLocalTitle(title);
+ stopEditing();
+ } else if (!e.currentTarget.contains(e.relatedTarget)) {
+ dispatch(actions.app.setBlockTitle(localTitle));
+ stopEditing();
+ }
},
handleChange: (e) => setLocalTitle(e.target.value),
cancelEdit: () => {
diff --git a/src/editors/containers/EditorContainer/components/TitleHeader/hooks.test.js b/src/editors/containers/EditorContainer/components/TitleHeader/hooks.test.js
index 2a12186e5..85acc89a0 100644
--- a/src/editors/containers/EditorContainer/components/TitleHeader/hooks.test.js
+++ b/src/editors/containers/EditorContainer/components/TitleHeader/hooks.test.js
@@ -74,7 +74,9 @@ describe('TitleHeader hooks', () => {
});
describe('updateTitle hook', () => {
it('calls setBlockTitle with localTitle, and stopEditing', () => {
- output.updateTitle();
+ const div = document.createElement('div');
+ const mockEvent = { currentTarget: div };
+ output.updateTitle(mockEvent);
expect(dispatch).toHaveBeenCalledWith(actions.app.setBlockTitle(output.localTitle));
expect(stopEditing).toHaveBeenCalled();
});