diff --git a/editors/editoria/src/config/config.js b/editors/editoria/src/config/config.js index b6b0b6be8d057c85b27567e21fee24298b6ca555..b428865c8255d5b9220b7fce7ffdb073fa759ebc 100644 --- a/editors/editoria/src/config/config.js +++ b/editors/editoria/src/config/config.js @@ -1,4 +1,5 @@ import { emDash, ellipsis } from 'prosemirror-inputrules'; +import { debounce } from 'lodash'; import { columnResizing, tableEditing } from 'prosemirror-tables'; import { InlineAnnotationsService, @@ -54,9 +55,13 @@ import invisibles, { paragraph, } from '@guardian/prosemirror-invisibles'; -const updateTitle = title => { +// const updateTitle = title => { +// console.log(title); +// }; + +const updateTitle = debounce(title => { console.log(title); -}; +}, 3000); const saveTags = tags => { // console.log(tags); diff --git a/wax-prosemirror-components/src/components/TitleButton.js b/wax-prosemirror-components/src/components/TitleButton.js index 3eb7c9f26d64f2b10e186e3eb6389ad4036dc959..1477ed41f912985ff94ba4ac477f1237cfdf724c 100644 --- a/wax-prosemirror-components/src/components/TitleButton.js +++ b/wax-prosemirror-components/src/components/TitleButton.js @@ -31,13 +31,16 @@ const TitleButton = ({ view = {}, item }) => { const serviceConfig = app.config.get('config.TitleService'); + let chapterTitle = ''; + if (titleNode[0]) chapterTitle = titleNode[0].node.textContent; + useEffect(() => { if (titleNode[0]) { serviceConfig.updateTitle(titleNode[0].node.textContent); } else { serviceConfig.updateTitle(''); } - }, [JSON.stringify(titleNode[0])]); + }, [chapterTitle]); const isActive = !!active(state, activeViewId); let isDisabled = !select(state, activeViewId, activeView);