From ffc2e8f75aeacca4b89bf95bff143bad6b804591 Mon Sep 17 00:00:00 2001 From: chris <kokosias@yahoo.gr> Date: Tue, 20 Dec 2016 14:45:46 +0200 Subject: [PATCH] add track-change annotation on toolbar for now --- .../SimpleEditor/ContainerEditor.js | 3 +-- app/components/SimpleEditor/config.js | 3 ++- .../SimpleEditor/elements/elements.scss | 1 + .../elements/track_change/TrackChange.js | 7 +++++++ .../track_change/TrackChangeCommand.js | 7 +++++++ .../track_change/TrackChangeComponent.js | 19 ++++++++++++++++++ .../track_change/TrackChangeHTMLConverter.js | 4 ++++ .../track_change/TrackChangePackage.js | 20 +++++++++++++++++++ .../elements/track_change/trackChange.scss | 3 +++ 9 files changed, 64 insertions(+), 3 deletions(-) create mode 100644 app/components/SimpleEditor/elements/track_change/TrackChange.js create mode 100644 app/components/SimpleEditor/elements/track_change/TrackChangeCommand.js create mode 100644 app/components/SimpleEditor/elements/track_change/TrackChangeComponent.js create mode 100644 app/components/SimpleEditor/elements/track_change/TrackChangeHTMLConverter.js create mode 100644 app/components/SimpleEditor/elements/track_change/TrackChangePackage.js create mode 100644 app/components/SimpleEditor/elements/track_change/trackChange.scss diff --git a/app/components/SimpleEditor/ContainerEditor.js b/app/components/SimpleEditor/ContainerEditor.js index 71fb5c3..ed1fe2f 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 a637603..0a80dcf 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 786bf0a..8105d4e 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 0000000..2de7707 --- /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 0000000..f40692e --- /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 0000000..0373ac2 --- /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 0000000..ff00a90 --- /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 0000000..246cce5 --- /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 0000000..d0c9aff --- /dev/null +++ b/app/components/SimpleEditor/elements/track_change/trackChange.scss @@ -0,0 +1,3 @@ +.sc-track-change { + background-color: blue; +} -- GitLab