From 8f269f63ea9ae2cb7a3472bb6c8666f0b37c314f Mon Sep 17 00:00:00 2001
From: chris <kokosias@yahoo.gr>
Date: Wed, 19 Apr 2017 14:37:42 +0300
Subject: [PATCH] Note content of callout has coverted isolated note content
 and gets imported back

---
 .../elements/isolatedNote/IsolatedNote.js             |  4 ++--
 .../isolatedNote/IsolatedNoteHTMLConverter.js         |  8 +++++++-
 app/components/SimpleEditor/panes/Notes/Notes.js      | 11 ++++-------
 .../SimpleEditor/panes/Notes/NotesProvider.js         |  5 ++---
 4 files changed, 15 insertions(+), 13 deletions(-)

diff --git a/app/components/SimpleEditor/elements/isolatedNote/IsolatedNote.js b/app/components/SimpleEditor/elements/isolatedNote/IsolatedNote.js
index 1225ed1..559a37e 100644
--- a/app/components/SimpleEditor/elements/isolatedNote/IsolatedNote.js
+++ b/app/components/SimpleEditor/elements/isolatedNote/IsolatedNote.js
@@ -5,7 +5,8 @@ class IsolatedNote extends DocumentNode {}
 IsolatedNote.define({
   'type': 'isolated-note',
   'parentNoteId': {
-    type: 'string'
+    type: 'string',
+    optional: true
   },
   'index': {
     type: 'number',
@@ -13,5 +14,4 @@ IsolatedNote.define({
   },
   content: 'text'
 })
-
 export default IsolatedNote
diff --git a/app/components/SimpleEditor/elements/isolatedNote/IsolatedNoteHTMLConverter.js b/app/components/SimpleEditor/elements/isolatedNote/IsolatedNoteHTMLConverter.js
index 590f37d..c286907 100644
--- a/app/components/SimpleEditor/elements/isolatedNote/IsolatedNoteHTMLConverter.js
+++ b/app/components/SimpleEditor/elements/isolatedNote/IsolatedNoteHTMLConverter.js
@@ -3,7 +3,13 @@ export default {
   tagName: 'isolated-note',
 
   import: function (el, node, converter) {
-    console.log('imported nodes', node)
     node.content = converter.annotatedText(el, [node.id, 'content'])
+    node.parentNoteId = el.attr('data-parent-id')
+  },
+  export: function (node, el, converter) {
+    el.append(
+      converter.annotatedText([node.id, 'content'])
+    )
+    el.setAttribute('data-parent-id', node.parentNoteId)
   }
 }
diff --git a/app/components/SimpleEditor/panes/Notes/Notes.js b/app/components/SimpleEditor/panes/Notes/Notes.js
index 829a4f6..927d81f 100644
--- a/app/components/SimpleEditor/panes/Notes/Notes.js
+++ b/app/components/SimpleEditor/panes/Notes/Notes.js
@@ -100,16 +100,13 @@ class Notes extends Component {
     const configurator = new Configurator().import(config)
     const exporter = new SimpleExporter(configurator.config)
 
-    forEach(notes.main, function (mainNote) {
-      forEach(notes.mini, function (miniNote) {
+    forEach(notes.main, function (mainNote, indexmain) {
+      forEach(notes.mini, function (miniNote, indexmini) {
         if (miniNote.parentNoteId === mainNote.id) {
-          console.log(exporter.createElement(miniNote))
-          // console.log(exportedNode)
-          // const exportedNode = exporter.convertNode(miniNote)
-          // console.log('sdlkfjslfkjsfdlkj', exporter.annotatedText(exportedNode.getTextPath()))
+          const exportedNode = exporter.convertNode(miniNote)
           this.context.editorSession.transaction(function (tx, args) {
             const path = [mainNote.id, 'note-content']
-            tx.set(path, 'exportedNode.outerHTML')
+            tx.set(path, exportedNode.outerHTML)
           })
         }
       }.bind(this))
diff --git a/app/components/SimpleEditor/panes/Notes/NotesProvider.js b/app/components/SimpleEditor/panes/Notes/NotesProvider.js
index 7f04639..ef2bca1 100644
--- a/app/components/SimpleEditor/panes/Notes/NotesProvider.js
+++ b/app/components/SimpleEditor/panes/Notes/NotesProvider.js
@@ -27,7 +27,7 @@ class NotesProvider extends TOCProvider {
     // console.log(entriesMain, entriesMini)
     const entries = {
       main: entriesMain,
-      mini: entriesMini
+      mini: notesMini
     }
 
     if (entriesMini && entriesMain.length < entriesMini.length) {
@@ -69,7 +69,6 @@ class NotesProvider extends TOCProvider {
     let rootEl = this.config.miniEditorContext.editor.el
 
     notes = _.map(notes, function (note) {
-      console.log('noteeee', note)
       const element = Component.unwrap(rootEl.find('p[data-path="' + note.id + '.content"]'))
       // removes a <br> insterted at the end by inline node
       // const text = element.innerHTML.slice(0, -4)
@@ -94,7 +93,7 @@ class NotesProvider extends TOCProvider {
   createNodeData (note) {
     return {
       'type': 'isolated-note',
-      'content': '',
+      'path': '',
       'parentNoteId': note.id
     }
   }
-- 
GitLab