From 8cd19daccf0ed04e22d7cf110c8cae6e8d4ccbc4 Mon Sep 17 00:00:00 2001 From: barlas <yannisbarlas@gmail.com> Date: Tue, 21 Mar 2017 18:31:11 +0200 Subject: [PATCH] fix read only mode glitches --- app/components/SimpleEditor/Editor.js | 21 ++++++++++++------- .../LeftSwitchTextTypeTool.js | 18 ++++++++++++++-- .../SimpleEditor/elements/note/NoteTool.js | 5 ++--- 3 files changed, 31 insertions(+), 13 deletions(-) diff --git a/app/components/SimpleEditor/Editor.js b/app/components/SimpleEditor/Editor.js index 675b040..a94e42f 100644 --- a/app/components/SimpleEditor/Editor.js +++ b/app/components/SimpleEditor/Editor.js @@ -185,14 +185,19 @@ class Editor extends ProseEditor { _renderToolbarLeft ($$) { let commandStates = this.commandManager.getCommandStates() - return $$('div').addClass('se-toolbar-wrapper').append( - $$(Toolbar, { - commandStates: commandStates, - trackChanges: this.props.trackChanges, - trackChangesView: this.state.trackChangesView, - toolGroups: ['text'] - }).ref('toolbarLeft') - ) + + return $$('div') + .addClass('se-toolbar-wrapper') + .append( + $$(Toolbar, { + commandStates: commandStates, + trackChanges: this.props.trackChanges, + trackChangesView: this.state.trackChangesView, + toolGroups: ['text'] + } + ) + .ref('toolbarLeft') + ) } _renderEditor ($$) { diff --git a/app/components/SimpleEditor/elements/left_switch_text_type/LeftSwitchTextTypeTool.js b/app/components/SimpleEditor/elements/left_switch_text_type/LeftSwitchTextTypeTool.js index b503670..19e029c 100644 --- a/app/components/SimpleEditor/elements/left_switch_text_type/LeftSwitchTextTypeTool.js +++ b/app/components/SimpleEditor/elements/left_switch_text_type/LeftSwitchTextTypeTool.js @@ -34,8 +34,10 @@ class LeftSwitchTextTypeTool extends Tool { el.append(item) }.bind(this)) - if (this.props.currentTextType && - this.props.currentTextType.name === 'container-selection') { + if ((this.props.currentTextType && + this.props.currentTextType.name === 'container-selection') || + this.isReadOnlyMode() + ) { el.addClass('sm-disabled') } @@ -50,9 +52,21 @@ class LeftSwitchTextTypeTool extends Tool { handleClick (e) { e.preventDefault() + if (this.isReadOnlyMode()) return this.executeCommand(e.currentTarget.dataset.type) } + getSurface () { + return this.context.surfaceManager.getSurface('body') + } + + // TODO -- review how the side toolbar gets disabled + isReadOnlyMode () { + const surface = this.getSurface() + if (!surface) return true // HACK + + return surface.isReadOnlyMode() + } } LeftSwitchTextTypeTool.command = 'switch-text-type' diff --git a/app/components/SimpleEditor/elements/note/NoteTool.js b/app/components/SimpleEditor/elements/note/NoteTool.js index b5d7127..be2d5db 100644 --- a/app/components/SimpleEditor/elements/note/NoteTool.js +++ b/app/components/SimpleEditor/elements/note/NoteTool.js @@ -4,9 +4,8 @@ class NoteTool extends AnnotationTool { renderButton ($$) { const el = super.renderButton($$) - // TODO -- either delete or re-introduce - // const readOnly = this.isSurfaceReadOnly() - // if (readOnly === true) el.attr('disabled', 'true') + const readOnly = this.isSurfaceReadOnly() + if (readOnly === true) el.attr('disabled', 'true') return el } -- GitLab