integration wip: ctrl + enter
[fnpeditor.git] / src / editor / modules / documentCanvas / canvas / keyboard.js
index 1830017..ee36332 100644 (file)
@@ -44,11 +44,26 @@ handlers.push({key: KEYS.ENTER,
             position = cursor.getPosition(),
             element = position.element;
 
-        if(!cursor.isSelecting()) {
-            if(event.ctrlKey) {
-                var added = element.after({tag: 'block'});
+        if(Object.keys(cursor.getPosition()).length === 0) {
+            var currentElement = canvas.getCurrentNodeElement();
+            if(currentElement) {
+                var added = currentElement.after({tag: currentElement.getWlxmlTag() || 'div', klass: currentElement.getWlxmlClass() || 'p'});
                 added.append({text:''});
                 canvas.setCurrentElement(added, {caretTo: 'start'});
+            }
+            return;
+        }
+
+        if(!cursor.isSelecting()) {
+            if(event.ctrlKey) {
+                if(element instanceof documentElement.DocumentTextElement) {
+                    element = element.parent();
+                }
+                var added = element.data('wlxmlNode').after(
+                    {tagName: element.getWlxmlTag() || 'div', attrs: {'class': element.getWlxmlClass() || 'p'}}
+                );
+                added.append({text: ''});
+                canvas.setCurrentElement(utils.findCanvasElement(added), {caretTo: 'start'});
 
             } else {