Some code improvements suggested by linter
[fnpeditor.git] / modules / data / data.js
index 22c77fe..8bd553c 100644 (file)
@@ -6,6 +6,7 @@ return function(sandbox) {
 \r
     var doc = sandbox.getBootstrappedData().document;\r
     var document_id = sandbox.getBootstrappedData().document_id;\r
+    var document_version = sandbox.getBootstrappedData().version;\r
     var history = sandbox.getBootstrappedData().history;\r
 \r
     \r
@@ -29,7 +30,7 @@ return function(sandbox) {
         for (var i = 0; i < ca.length; i++) {\r
             var c = ca[i];\r
             while (c.charAt(0) == ' ') c = c.substring(1, c.length);\r
-            if (c.indexOf(nameEQ) == 0) return unescape(c.substring(nameEQ.length, c.length));\r
+            if (c.indexOf(nameEQ) === 0) return unescape(c.substring(nameEQ.length, c.length));\r
         }\r
         return null;\r
     }\r
@@ -52,7 +53,7 @@ return function(sandbox) {
                 sandbox.publish('historyItemAdded', data.slice(-1)[0]);\r
             },\r
         });\r
-    }\r
+    };\r
     \r
     return {\r
         start: function() {\r
@@ -92,8 +93,41 @@ return function(sandbox) {
         },\r
         getHistory: function() {\r
             return history;\r
+        },\r
+        fetchDiff: function(ver1, ver2) {\r
+            $.ajax({\r
+                method: 'get',\r
+                url: '/' + gettext('editor') + '/' + document_id + '/diff',\r
+                data: {from: ver1, to: ver2},\r
+                success: function(data) {\r
+                    sandbox.publish('diffFetched', {table: data, ver1: ver1, ver2: ver2});\r
+                },\r
+            });\r
+        },\r
+        restoreVersion: function(options) {\r
+            if(options.version && options.description) {\r
+                sandbox.publish('restoringStarted', {version: options.version});\r
+                $.ajax({\r
+                    method: 'post',\r
+                    dataType: 'json',\r
+                    url: '/' + gettext('editor') + '/' + document_id + '/revert',\r
+                    data: JSON.stringify(options),\r
+                    success: function(data) {\r
+                        doc = data.document;\r
+                        document_version = data.version;\r
+                        reloadHistory();\r
+                        sandbox.publish('documentReverted', data);\r
+                    },\r
+                }); \r
+            }\r
+        },\r
+        getDocumentId: function() {\r
+            return document_id;\r
+        },\r
+        getDocumentVersion: function() {\r
+            return document_version;\r
         }\r
-    }\r
+    };\r
 };\r
 \r
 });
\ No newline at end of file