Visual editor: handling empty document
authorAleksander Łukasz <aleksander.lukasz@nowoczesnapolska.org.pl>
Fri, 19 Apr 2013 13:49:44 +0000 (15:49 +0200)
committerAleksander Łukasz <aleksander.lukasz@nowoczesnapolska.org.pl>
Fri, 19 Apr 2013 14:04:08 +0000 (16:04 +0200)
editor.css
modules/data.js
modules/visualEditor.js

index aa920c8..cf1abc2 100644 (file)
@@ -174,6 +174,7 @@ body {
     border-color: white;\r
     border-style:solid;\r
     border-width:1px;\r
+    min-height:20px;\r
 }\r
 \r
 [wlxml-tag=header] {\r
index e4b564e..8debbd3 100644 (file)
@@ -3,6 +3,23 @@ rng.modules.data = function(sandbox) {
     var doc = sandbox.getBootstrappedData().document;\r
     var document_id = sandbox.getBootstrappedData().document_id;\r
 \r
+    \r
+    if(doc === '') {\r
+        doc = '<document>\n\\r
+    <section\n\\r
+        xmlns="http://nowoczesnapolska.org.pl/sst#"\n\\r
+        xmlns:xlink="http://www.w3.org/1999/xlink"\n\\r
+        xmlns:dc="http://purl.org/dc/elements/1.1/"\n\\r
+        xmlns:dcterms="http://purl.org/dc/terms/"\n\\r
+    >\n\\r
+        <metadata>\n\\r
+        </metadata>\n\\r
+        <div class="p"></div>\n\\r
+    </section>\n\\r
+</document>';\r
+    }\r
+    \r
+    \r
     function readCookie(name) {\r
         var nameEQ = escape(name) + "=";\r
         var ca = document.cookie.split(';');\r
index 73622f9..f3c0a5c 100644 (file)
@@ -107,8 +107,13 @@ rng.modules.visualEditor = function(sandbox) {
             var firstNodeWithText = this.node.find('[wlxml-tag]').filter(function() {\r
                 return $(this).clone().children().remove().end().text().trim() !== '';\r
             }).first();\r
+            var node;\r
             if(firstNodeWithText.length)\r
-                this.selectNode($(firstNodeWithText[0]));\r
+                node = $(firstNodeWithText[0])\r
+            else {\r
+                node = this.node.find('[wlxml-class|="p"]')\r
+            }\r
+            this.selectNode(node);\r
         },\r
         _addMetaRow: function(key, value) {\r
             var newRow = $(sandbox.getTemplate('metaItem')({key: key || '', value: value || ''}));\r