diff --git a/app/components/SimpleEditor/ContainerEditor.js b/app/components/SimpleEditor/ContainerEditor.js index 71fb5c33c588d95fc9b95e38a542d640273fae14..ed1fe2f34876bbd8d2f8a5d14af6f9afe6379452 100644 --- a/app/components/SimpleEditor/ContainerEditor.js +++ b/app/components/SimpleEditor/ContainerEditor.js @@ -43,8 +43,7 @@ class ContainerEditor extends SubstanceContainerEditor { // if (this.isReadOnlyMode()) { // const documentSession = this.getDocumentSession() // documentSession.on('didUpdate', this.disableToolbar, this) - // } - + // return el } diff --git a/app/components/SimpleEditor/config.js b/app/components/SimpleEditor/config.js index a637603028d6b1a5bb2c486e3e94aa57cf466ea0..0a80dcf194e4564fff922d7266afbfc32a9c3749 100644 --- a/app/components/SimpleEditor/config.js +++ b/app/components/SimpleEditor/config.js @@ -20,7 +20,7 @@ import CommentPackage from './elements/comment/CommentPackage' import ExtractPackage from './elements/extract/ExtractPackage' import NotePackage from './elements/note/NotePackage' import SourceNotePackage from './elements/source_note/SourceNotePackage' - +import TrackChangePackage from './elements/track_change/TrackChangePackage' // var DialoguePackage = require('./elements/dialogue/DialoguePackage') // var NumberedListPackage = require('./elements/numbered_list/NumberedListPackage') // var NoStyleListPackage = require('./elements/no_style_list/NoStyleListPackage') @@ -56,6 +56,7 @@ let config = { config.import(NotePackage) config.import(SourceNotePackage) config.import(CommentPackage) + config.import(TrackChangePackage) // config.import(DialoguePackage) // config.import(NoStyleListPackage) diff --git a/app/components/SimpleEditor/elements/elements.scss b/app/components/SimpleEditor/elements/elements.scss index 786bf0a40c24fd8ccf3a6ac9d350896fba104fca..8105d4e9a5bedf9f2a263c9ca88a12fdfd71413a 100644 --- a/app/components/SimpleEditor/elements/elements.scss +++ b/app/components/SimpleEditor/elements/elements.scss @@ -7,3 +7,4 @@ // @import './no_style_list/noStyleList'; // @import './numbered_list/numberedList'; @import './source_note/sourceNote'; +@import './track_change/trackChange'; diff --git a/app/components/SimpleEditor/elements/track_change/TrackChange.js b/app/components/SimpleEditor/elements/track_change/TrackChange.js new file mode 100644 index 0000000000000000000000000000000000000000..2de7707f061d0ce2e49ddc472ff99f310adb1e78 --- /dev/null +++ b/app/components/SimpleEditor/elements/track_change/TrackChange.js @@ -0,0 +1,7 @@ +import { PropertyAnnotation } from 'substance' + +class TrackChange extends PropertyAnnotation {} + +TrackChange.type = 'track-change' + +export default TrackChange diff --git a/app/components/SimpleEditor/elements/track_change/TrackChangeCommand.js b/app/components/SimpleEditor/elements/track_change/TrackChangeCommand.js new file mode 100644 index 0000000000000000000000000000000000000000..f40692e3f02791b6f643d4330069bfd3255872c0 --- /dev/null +++ b/app/components/SimpleEditor/elements/track_change/TrackChangeCommand.js @@ -0,0 +1,7 @@ +import {AnnotationCommand} from 'substance' + +class TrackChangeCommand extends AnnotationCommand {} + +TrackChangeCommand.type = 'track-change' + +export default TrackChangeCommand diff --git a/app/components/SimpleEditor/elements/track_change/TrackChangeComponent.js b/app/components/SimpleEditor/elements/track_change/TrackChangeComponent.js new file mode 100644 index 0000000000000000000000000000000000000000..0373ac2e5a95b0b42e1d0ccdb198e7b467fb67fb --- /dev/null +++ b/app/components/SimpleEditor/elements/track_change/TrackChangeComponent.js @@ -0,0 +1,19 @@ +import { AnnotationComponent } from 'substance' + +class TrackChangeComponent extends AnnotationComponent { + render ($$) { + const user = this.context.controller.props.user + + var el = $$('span') + .attr('data-id', this.props.node.id) + .attr('data-user', user.username) + .attr('data-role', user.teams[0].name) + .addClass(this.getClassNames()) + + el.append(this.props.children) + return el + } + +} + +export default TrackChangeComponent diff --git a/app/components/SimpleEditor/elements/track_change/TrackChangeHTMLConverter.js b/app/components/SimpleEditor/elements/track_change/TrackChangeHTMLConverter.js new file mode 100644 index 0000000000000000000000000000000000000000..ff00a900a8c0cb378b08b73d38a35fe068f6ab48 --- /dev/null +++ b/app/components/SimpleEditor/elements/track_change/TrackChangeHTMLConverter.js @@ -0,0 +1,4 @@ +export default { + type: 'track-change', + tagName: 'track-change' +} diff --git a/app/components/SimpleEditor/elements/track_change/TrackChangePackage.js b/app/components/SimpleEditor/elements/track_change/TrackChangePackage.js new file mode 100644 index 0000000000000000000000000000000000000000..246cce5beb2abc34d8cc71dc5b71ccdbcd4caf1d --- /dev/null +++ b/app/components/SimpleEditor/elements/track_change/TrackChangePackage.js @@ -0,0 +1,20 @@ +import TrackChange from './TrackChange' +import TrackChangeCommand from './TrackChangeCommand' +import TrackChangeComponent from './TrackChangeComponent' +import TrackChangeHTMLConverter from './TrackChangeHTMLConverter' +import { AnnotationTool } from 'substance' +export default { + name: 'track-change', + configure: function (config) { + config.addNode(TrackChange) + + config.addComponent(TrackChange.type, TrackChangeComponent) + config.addConverter('html', TrackChangeHTMLConverter) + config.addTool('track-change', AnnotationTool, { target: 'insert' }) + config.addCommand(TrackChange.type, TrackChangeCommand, { nodeType: TrackChange.type }) + config.addIcon('track-change', { 'fontawesome': 'fa-eye' }) + config.addLabel('track-change', { + en: 'track-change' + }) + } +} diff --git a/app/components/SimpleEditor/elements/track_change/trackChange.scss b/app/components/SimpleEditor/elements/track_change/trackChange.scss new file mode 100644 index 0000000000000000000000000000000000000000..d0c9affe5fa8adb47448dbbad5b88c6ab00173b9 --- /dev/null +++ b/app/components/SimpleEditor/elements/track_change/trackChange.scss @@ -0,0 +1,3 @@ +.sc-track-change { + background-color: blue; +}