diff --git a/editors/demo/src/Editoria/theme/theme.js b/editors/demo/src/Editoria/theme/theme.js index f16d1741e39c645f3daaea3ff558ec0a2d6150fc..934cd27fa2a359da64c219de3a7462bbd528ec02 100644 --- a/editors/demo/src/Editoria/theme/theme.js +++ b/editors/demo/src/Editoria/theme/theme.js @@ -22,7 +22,6 @@ const cokoTheme = { colorWarning: '#ffc107', colorBackgroundToolBar: '#fff', colorSelection: '#C5D7FE', - colorBackgroundButton: '#0042C7', /* Text variables */ // fonts diff --git a/editors/demo/src/HHMI/theme/theme.js b/editors/demo/src/HHMI/theme/theme.js index 3ba885af8cfc67d047f854242531bae6885f266d..fa69883d628f18d035d9e5a6cefd67d55170e13e 100644 --- a/editors/demo/src/HHMI/theme/theme.js +++ b/editors/demo/src/HHMI/theme/theme.js @@ -22,7 +22,6 @@ const cokoTheme = { colorWarning: '#ffc107', colorBackgroundToolBar: '#fff', colorSelection: '#C5D7FE', - colorBackgroundButton: '#0042C7', /* Text variables */ // fonts diff --git a/editors/demo/src/NCBI/theme/theme.js b/editors/demo/src/NCBI/theme/theme.js index 3ba885af8cfc67d047f854242531bae6885f266d..fa69883d628f18d035d9e5a6cefd67d55170e13e 100644 --- a/editors/demo/src/NCBI/theme/theme.js +++ b/editors/demo/src/NCBI/theme/theme.js @@ -22,7 +22,6 @@ const cokoTheme = { colorWarning: '#ffc107', colorBackgroundToolBar: '#fff', colorSelection: '#C5D7FE', - colorBackgroundButton: '#0042C7', /* Text variables */ // fonts diff --git a/editors/demo/src/OEN/theme/theme.js b/editors/demo/src/OEN/theme/theme.js index 3ba885af8cfc67d047f854242531bae6885f266d..fa69883d628f18d035d9e5a6cefd67d55170e13e 100644 --- a/editors/demo/src/OEN/theme/theme.js +++ b/editors/demo/src/OEN/theme/theme.js @@ -22,7 +22,6 @@ const cokoTheme = { colorWarning: '#ffc107', colorBackgroundToolBar: '#fff', colorSelection: '#C5D7FE', - colorBackgroundButton: '#0042C7', /* Text variables */ // fonts diff --git a/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/Heading2.js b/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/Heading2.js index 36b8127b0ceb3449c681d91ecb0fbfac46e1f0ee..b34be21bba0c49a127a432ad631d759dea8e9d69 100644 --- a/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/Heading2.js +++ b/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/Heading2.js @@ -45,7 +45,7 @@ export default class Heading2 extends Tools { if (allowedLevel > 2) return false; } - return true; + return Commands.setBlockType(state.config.schema.nodes.heading2)(state); }; get enable() { diff --git a/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/Heading3.js b/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/Heading3.js index 0d190638a6225ed9986c7b84302801e7da3c7156..471a5769405c16a3d0209fd31da69097f7b42579 100644 --- a/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/Heading3.js +++ b/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/Heading3.js @@ -45,7 +45,7 @@ export default class Heading3 extends Tools { if (allowedLevel > 3) return false; } - return true; + return Commands.setBlockType(state.config.schema.nodes.heading3)(state); }; get enable() { diff --git a/wax-prosemirror-services/src/FindAndReplaceService/components/CheckBox.js b/wax-prosemirror-services/src/FindAndReplaceService/components/CheckBox.js index 644f7ff1e530cf512bd45c16d2f3c89d83074066..dc73345bf99c4e12d00ecb21f5784cd17f424c2f 100644 --- a/wax-prosemirror-services/src/FindAndReplaceService/components/CheckBox.js +++ b/wax-prosemirror-services/src/FindAndReplaceService/components/CheckBox.js @@ -37,7 +37,7 @@ const CheckBoxLabel = styled.label` input:checked ~ span::after { background-color: transparent; - border: solid ${th('colorBackgroundButton')}; + border: solid ${th('colorPrimary')}; border-radius: 0; border-width: 0 2px 2px 0; height: 12px; @@ -66,7 +66,7 @@ const CheckboxCustom = styled.span` -o-transition: all 0.3s ease-out; &:after { - border: solid ${th('colorBackgroundButton')}; + border: solid ${th('colorPrimary')}; border-radius: 5px; border-width: 0 3px 3px 0; content: ''; diff --git a/wax-prosemirror-services/src/FindAndReplaceService/components/ExpandedFindAndReplaceComponent.js b/wax-prosemirror-services/src/FindAndReplaceService/components/ExpandedFindAndReplaceComponent.js index 036b75013ad31e45767284dc6da37f1eff0cd128..9f21d3c788841304b0cbad96bf398e9dc57daf71 100644 --- a/wax-prosemirror-services/src/FindAndReplaceService/components/ExpandedFindAndReplaceComponent.js +++ b/wax-prosemirror-services/src/FindAndReplaceService/components/ExpandedFindAndReplaceComponent.js @@ -97,8 +97,8 @@ const ControlContainer = styled.div` `; const ButtonReplace = styled.button` - background: ${th('colorBackgroundButton')}; - border: 1px solid ${th('colorBackgroundButton')}; + background: ${th('colorPrimary')}; + border: 1px solid ${th('colorPrimary')}; color: white; cursor: pointer; height: 42px; @@ -108,8 +108,8 @@ const ButtonReplace = styled.button` const ButtonReplaceAll = styled.button` background: white; - border: 1px solid ${th('colorBackgroundButton')}; - color: ${th('colorBackgroundButton')}; + border: 1px solid ${th('colorPrimary')}; + color: ${th('colorPrimary')}; cursor: pointer; height: 42px; margin-right: 10px; diff --git a/wax-prosemirror-services/src/TextBlockLevel/BlockQuoteService/BlockQuote.js b/wax-prosemirror-services/src/TextBlockLevel/BlockQuoteService/BlockQuote.js index 7312a0358401c2c08b4a181dfad0f7353aea7b8f..d6dd180a5e708ebd27cdee882d66369c2ad8b984 100644 --- a/wax-prosemirror-services/src/TextBlockLevel/BlockQuoteService/BlockQuote.js +++ b/wax-prosemirror-services/src/TextBlockLevel/BlockQuoteService/BlockQuote.js @@ -19,7 +19,7 @@ class BlockQuote extends Tools { select = (state, activeViewId) => { if (activeViewId !== 'main') return false; - return true; + return wrapIn(state.config.schema.nodes.blockquote)(state); }; get active() { diff --git a/wax-prosemirror-services/src/TextBlockLevel/ParagraphService/Paragraph.js b/wax-prosemirror-services/src/TextBlockLevel/ParagraphService/Paragraph.js index c5284251d923b70b99c7d2c097116ad9c8753cc2..9344dfb8f2e40892578895600859078e9d01c9ae 100644 --- a/wax-prosemirror-services/src/TextBlockLevel/ParagraphService/Paragraph.js +++ b/wax-prosemirror-services/src/TextBlockLevel/ParagraphService/Paragraph.js @@ -25,7 +25,7 @@ export default class Paragraph extends Tools { select = (state, activeViewId) => { if (activeViewId !== 'main') return false; - return true; + return Commands.setBlockType(state.config.schema.nodes.paragraph)(state); }; get enable() { diff --git a/wax-prosemirror-services/src/WaxToolGroups/BlockDropDownToolGroupService/BlockDropDownComponent.js b/wax-prosemirror-services/src/WaxToolGroups/BlockDropDownToolGroupService/BlockDropDownComponent.js index 6c147847ecf9d30815b4fc4869e4888bb1bcc1e7..c29374fe2aba94c31f3146cd6abefb4b2665099b 100644 --- a/wax-prosemirror-services/src/WaxToolGroups/BlockDropDownToolGroupService/BlockDropDownComponent.js +++ b/wax-prosemirror-services/src/WaxToolGroups/BlockDropDownToolGroupService/BlockDropDownComponent.js @@ -10,7 +10,12 @@ import React, { import { isEmpty } from 'lodash'; import styled from 'styled-components'; import { useTranslation } from 'react-i18next'; -import { WaxContext, Icon, useOnClickOutside } from 'wax-prosemirror-core'; +import { + DocumentHelpers, + WaxContext, + Icon, + useOnClickOutside, +} from 'wax-prosemirror-core'; const Wrapper = styled.div` opacity: ${props => (props.disabled ? '0.4' : '1')}; @@ -76,12 +81,6 @@ const StyledIcon = styled(Icon)` const BlockDropDownComponent = ({ view, tools }) => { const { t, i18n } = useTranslation(); - const context = useContext(WaxContext); - const { - activeView, - activeViewId, - pmViews: { main }, - } = context; const translatedLabel = (translation, defaultLabel) => { return !isEmpty(i18n) && i18n.exists(translation) @@ -89,8 +88,6 @@ const BlockDropDownComponent = ({ view, tools }) => { : defaultLabel; }; - const [label, setLabel] = useState(null); - const dropDownOptions = [ { label: translatedLabel(`Wax.BlockLevel.Title (H1)`, 'Title'), @@ -119,6 +116,37 @@ const BlockDropDownComponent = ({ view, tools }) => { }, ]; + const context = useContext(WaxContext); + const { + app, + activeView, + activeViewId, + pmViews: { main }, + } = context; + const [label, setLabel] = useState(null); + const { dispatch, state } = view; + + /* Chapter Title */ + const titleNode = DocumentHelpers.findChildrenByType( + state.doc, + state.config.schema.nodes.title, + true, + ); + const titleConfig = app.config.get('config.TitleService'); + + let chapterTitle = ''; + if (titleNode[0]) chapterTitle = titleNode[0].node.textContent; + + useEffect(() => { + if (titleConfig) { + if (titleNode[0]) { + titleConfig.updateTitle(titleNode[0].node.textContent); + } else { + titleConfig.updateTitle(''); + } + } + }, [chapterTitle]); + const itemRefs = useRef([]); const wrapperRef = useRef(); const [isOpen, setIsOpen] = useState(false); @@ -135,7 +163,7 @@ const BlockDropDownComponent = ({ view, tools }) => { }, [isDisabled]); useEffect(() => { - setLabel(translatedLabel('Wax.BlockLevel.Block Level', 'Heading styles')); + setLabel(translatedLabel('Wax.BlockLevel.Block Level', 'Styles')); dropDownOptions.forEach(option => { if (option.item.active(main.state, activeViewId)) { setTimeout(() => {