diff --git a/app/components/SimpleEditor/Editor.js b/app/components/SimpleEditor/Editor.js index a325e1dcdbd702f32269904d6260acf7cc7f4cc2..7629652888aa90fae8c2e8afed744cdb2a183a35 100644 --- a/app/components/SimpleEditor/Editor.js +++ b/app/components/SimpleEditor/Editor.js @@ -2,7 +2,7 @@ import { includes, some } from 'lodash' import { ProseEditor, - TOCProvider + TOCProvider, } from 'substance' import Comments from './panes/Comments/CommentBoxList' @@ -11,7 +11,7 @@ import ContainerEditor from './ContainerEditor' import Notes from './panes/Notes/Notes' import NotesProvider from './panes/Notes/NotesProvider' import TableOfContents from './panes/TableOfContents/TableOfContents' -// import TrackChangesProvider from './elements/track_change/TrackChangesProvider' +import TrackChangesProvider from './elements/track_change/TrackChangesProvider' class Editor extends ProseEditor { constructor (parent, props) { @@ -221,14 +221,14 @@ class Editor extends ProseEditor { // TODO -- do I need all of these? // track changes provider - // const trackChangesProvider = new TrackChangesProvider(doc, { - // commandManager: this.commandManager, - // containerId: this.props.containerId, - // controller: this, - // documentSession: this.documentSession, - // surfaceManager: this.surfaceManager, - // user: this.props.user - // }) + const trackChangesProvider = new TrackChangesProvider(doc, { + commandManager: this.commandManager, + containerId: this.props.containerId, + controller: this, + documentSession: this.documentSession, + surfaceManager: this.surfaceManager, + user: this.props.user + }) // attach all to context return { diff --git a/app/components/SimpleEditor/config.js b/app/components/SimpleEditor/config.js index e6137379db10902c4d5a3e65c245f51ec7c1db4d..4b8d7725bfce2294c53f282cc531094b5e79cdc6 100644 --- a/app/components/SimpleEditor/config.js +++ b/app/components/SimpleEditor/config.js @@ -25,7 +25,7 @@ import NotePackage from './elements/note/NotePackage' // import SourceNotePackage from './elements/source_note/SourceNotePackage' import ImagePackage from './elements/images/ImagePackage' // -// import TrackChangePackage from './elements/track_change/TrackChangePackage' +import TrackChangePackage from './elements/track_change/TrackChangePackage' // var DialoguePackage = require('./elements/dialogue/DialoguePackage') // var NumberedListPackage = require('./elements/numbered_list/NumberedListPackage') @@ -66,7 +66,7 @@ let config = { config.import(CommentPackage) config.import(ImagePackage) // - // config.import(TrackChangePackage) + config.import(TrackChangePackage) // config.import(DialoguePackage) // config.import(NoStyleListPackage) diff --git a/app/components/SimpleEditor/elements/note/EditNoteTool.js b/app/components/SimpleEditor/elements/note/EditNoteTool.js index d0bc2890b7030a374ba1aa3f1f969234385affc9..7aeae8ab8b2f7ae2a571bda22ebdb3f71010905f 100644 --- a/app/components/SimpleEditor/elements/note/EditNoteTool.js +++ b/app/components/SimpleEditor/elements/note/EditNoteTool.js @@ -61,9 +61,6 @@ class EditNoteTool extends Tool { const path = [selected.node.id, 'note-content'] tx.set(path, noteContent) }) - - this.el.addClass('hidden') - console.log(this.el) } getSelection () { diff --git a/app/components/SimpleEditor/elements/track_change/TrackChangeControlTool.js b/app/components/SimpleEditor/elements/track_change/TrackChangeControlTool.js index 78761b13f99b0319b3507a5663a95653c42c2c13..63a14be84f3a4058e170856d1c161ec5a818b2bf 100644 --- a/app/components/SimpleEditor/elements/track_change/TrackChangeControlTool.js +++ b/app/components/SimpleEditor/elements/track_change/TrackChangeControlTool.js @@ -1,6 +1,11 @@ import { Tool } from 'substance' class TrackChangeControlTool extends Tool { + + getClassNames () { + return 'sm-target-track-change-enable' + } + renderButton ($$) { const el = super.renderButton($$) @@ -13,8 +18,8 @@ class TrackChangeControlTool extends Tool { getSurface () { const surfaceManager = this.context.surfaceManager - const containerId = this.context.controller.props.containerId - return surfaceManager.getSurface(containerId) + // const containerId = this.context.controller.props.containerId + return surfaceManager.getSurface('body') } isTrackChangesOn () { diff --git a/app/components/SimpleEditor/elements/track_change/TrackChangeControlViewTool.js b/app/components/SimpleEditor/elements/track_change/TrackChangeControlViewTool.js index cfcaef4d7690abb186d49bacc20e674969923fd5..59b8ca3bac7e5c9d557176156d0934fa8968a1d2 100644 --- a/app/components/SimpleEditor/elements/track_change/TrackChangeControlViewTool.js +++ b/app/components/SimpleEditor/elements/track_change/TrackChangeControlViewTool.js @@ -1,6 +1,10 @@ import { Tool } from 'substance' class TrackChangeControlViewTool extends Tool { + + getClassNames () { + return 'sm-target-track-change-toggle-view' + } renderButton ($$) { const el = super.renderButton($$) if (this.getViewMode()) el.addClass('track-changes-view-active') @@ -15,7 +19,8 @@ class TrackChangeControlViewTool extends Tool { getViewMode () { const editor = this.context.controller - const { trackChangesView } = editor.state + var trackChangesView = true + // const { trackChangesView } = editor.state return trackChangesView } } diff --git a/app/components/SimpleEditor/elements/track_change/TrackChangePackage.js b/app/components/SimpleEditor/elements/track_change/TrackChangePackage.js index ae4eef1a9325b8de74dfaf7420f8639c5d11a34d..ce01b0c0a028aa3865d9549fe00ce62d788373e1 100644 --- a/app/components/SimpleEditor/elements/track_change/TrackChangePackage.js +++ b/app/components/SimpleEditor/elements/track_change/TrackChangePackage.js @@ -9,7 +9,7 @@ import TrackChangeControlViewCommand from './TrackChangeControlViewCommand' export default { name: 'track-change', - configure: function (config) { + configure: function (config, { toolGroup }) { config.addNode(TrackChange) config.addComponent(TrackChange.type, TrackChangeComponent) @@ -17,11 +17,11 @@ export default { // TODO -- both tools should go to the same target config.addTool('track-change-enable', TrackChangeControlTool, { - target: 'track-change-enable' + toolGroup: 'default' }) config.addTool('track-change-toggle-view', TrackChangeControlViewTool, { - target: 'track-change-toggle-view' + toolGroup: 'default' }) config.addCommand('track-change-enable', TrackChangeControlCommand) diff --git a/app/components/SimpleEditor/elements/track_change/TrackChangesProvider.js b/app/components/SimpleEditor/elements/track_change/TrackChangesProvider.js index 92cc99bbff4ae25aec92a1c2a917f52a5a2a8bb4..6cca43f72eb711bf27a70c820fc9399d73ee0b86 100644 --- a/app/components/SimpleEditor/elements/track_change/TrackChangesProvider.js +++ b/app/components/SimpleEditor/elements/track_change/TrackChangesProvider.js @@ -28,7 +28,7 @@ import { class TrackChangesProvider extends TOCProvider { constructor (document, config) { super(document, config) - config.documentSession.on('didUpdate', this.handleUndoRedo, this) + // config.documentSession.on('didUpdate', this.handleUndoRedo, this) // HACK -- use TOCProvider's event to capture new / deleted changes this.on('toc:updated', this.reComputeEntries, this) @@ -653,14 +653,14 @@ class TrackChangesProvider extends TOCProvider { } // getExistingAnnotation () { - // const documentSession = this.getDocumentSession() + // const documentSession = this.getEditorSession() // const selectionState = documentSession.getSelectionState() // const annotations = selectionState.getAnnotationsForType('track-change') // return annotations[0] // } getAllExistingTrackAnnotations () { - const documentSession = this.getDocumentSession() + const documentSession = this.getEditorSession() const selectionState = documentSession.getSelectionState() const annotations = selectionState.getAnnotationsForType('track-change') return annotations @@ -752,12 +752,12 @@ class TrackChangesProvider extends TOCProvider { const deletedOp = deleted[keys(deleted)[0]] if (!deletedOp.type === 'track-change') return - const documentSession = this.getDocumentSession() + const documentSession = this.getEditorSession() documentSession.undo() } handleRedo () { - const documentSession = this.getDocumentSession() + const documentSession = this.getEditorSession() const undoneChanges = documentSession.undoneChanges const lastChange = last(undoneChanges) const op = last(lastChange.ops) @@ -850,8 +850,8 @@ class TrackChangesProvider extends TOCProvider { return this.config.user.id } - getDocumentSession () { - return this.config.documentSession + getEditorSession () { + return this.config.editorSession } getMode () { @@ -861,6 +861,7 @@ class TrackChangesProvider extends TOCProvider { getSelection () { const surface = this.getSurface() + console.log('surface', surface) return surface.getSelection() } diff --git a/app/components/SimpleEditor/panes/TableOfContents/TableOfContents.js b/app/components/SimpleEditor/panes/TableOfContents/TableOfContents.js index 53e79811e9b3e71ff01500c4cd49870e38f07d94..6cd695edcf292b4fbc5a784a94425444421c5c90 100644 --- a/app/components/SimpleEditor/panes/TableOfContents/TableOfContents.js +++ b/app/components/SimpleEditor/panes/TableOfContents/TableOfContents.js @@ -12,6 +12,7 @@ class TableOfContents extends Toc { this.rerender() }) + // this.on('toc:updated', this.reComputeEntries, this) } render ($$) {