inEzmxy0R933i0N4kyicj changeset

Changeset626232383861 (b)
ParentNone (a)
ab
0+        saveDoc: function(doc, options) {
0+          options = options || {};
0+          var db = this;
0+          var beforeSend = fullCommit(options);
0+          if (doc._id === undefined) {
0+            var method = "POST";
0+            var uri = this.uri;
0+          } else {
0+            var method = "PUT";
0+            var uri = this.uri + encodeDocId(doc._id);
0+          }
0+          var versioned = maybeApplyVersion(doc);
0+          $.ajax({
0+            type: method, url: uri + encodeOptions(options),
0+            contentType: "application/json",
0+            dataType: "json", data: toJSON(doc),
0+            beforeSend : beforeSend,
0+            complete: function(req) {
0+              var resp = $.parseJSON(req.responseText);
0+              if (req.status == 200 || req.status == 201 || req.status == 202) {
0+                doc._id = resp.id;
0+                doc._rev = resp.rev;
0+                if (versioned) {
0+                  db.openDoc(doc._id, {
0+                    attachPrevRev : true,
0+                    success : function(d) {
0+                      doc._attachments = d._attachments;
0+                      if (options.success) options.success(resp);
0+                    }
0+                  });
0+                } else {
0+                  if (options.success) options.success(resp);
0+                }
0+              } else if (options.error) {
0+                options.error(req.status, resp.error, resp.reason);
0+              } else {
0+                throw "The document could not be saved: " + resp.reason;
0+              }
0+            }
0+          });
0+        },
...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
--- Revision None
+++ Revision 626232383861
@@ -0,0 +1,41 @@
+ saveDoc: function(doc, options) {
+ options = options || {};
+ var db = this;
+ var beforeSend = fullCommit(options);
+ if (doc._id === undefined) {
+ var method = "POST";
+ var uri = this.uri;
+ } else {
+ var method = "PUT";
+ var uri = this.uri + encodeDocId(doc._id);
+ }
+ var versioned = maybeApplyVersion(doc);
+ $.ajax({
+ type: method, url: uri + encodeOptions(options),
+ contentType: "application/json",
+ dataType: "json", data: toJSON(doc),
+ beforeSend : beforeSend,
+ complete: function(req) {
+ var resp = $.parseJSON(req.responseText);
+ if (req.status == 200 || req.status == 201 || req.status == 202) {
+ doc._id = resp.id;
+ doc._rev = resp.rev;
+ if (versioned) {
+ db.openDoc(doc._id, {
+ attachPrevRev : true,
+ success : function(d) {
+ doc._attachments = d._attachments;
+ if (options.success) options.success(resp);
+ }
+ });
+ } else {
+ if (options.success) options.success(resp);
+ }
+ } else if (options.error) {
+ options.error(req.status, resp.error, resp.reason);
+ } else {
+ throw "The document could not be saved: " + resp.reason;
+ }
+ }
+ });
+ },