Skip to content
Snippets Groups Projects
Commit 02b333a5 authored by chris's avatar chris Committed by Yannis Barlas
Browse files

initial track changes

parent 72ad14f4
No related branches found
No related tags found
No related merge requests found
......@@ -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 {
......
......@@ -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)
......
......@@ -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 () {
......
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 () {
......
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
}
}
......
......@@ -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)
......
......@@ -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()
}
......
......@@ -12,6 +12,7 @@ class TableOfContents extends Toc {
this.rerender()
})
// this.on('toc:updated', this.reComputeEntries, this)
}
render ($$) {
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment