##// END OF EJS Templates
Use promising_ajax in config API
Thomas Kluyver -
Show More
@@ -35,45 +35,28 function($, utils) {
35 };
35 };
36
36
37 ConfigSection.prototype.load = function() {
37 ConfigSection.prototype.load = function() {
38 var p = new Promise(function(resolve, reject) {
38 return utils.promising_ajax(this.api_url(), {
39 $.ajax(this.api_url(), {
40 cache : false,
39 cache: false,
41 type : "GET",
40 type: "GET",
42 dataType : "json",
41 dataType: "json",
43 success: function(data, status, jqXHR) {
42 }).then(function(data) {
44 this.data = data;
43 this.data = data;
45 this._load_done();
44 this._load_done();
46 resolve(data);
45 return data;
47 },
48 error: function(jqXHR, status, error) {
49 // Should never happen; mark as loaded so things don't keep
50 // waiting.
51 this._load_done();
52 utils.log_ajax_error(jqXHR, status, error);
53 reject(utils.wrap_ajax_error(jqXHR, status, error));
54 }
55 });
56 });
46 });
57 };
47 };
58
48
59 ConfigSection.prototype.update = function(newdata) {
49 ConfigSection.prototype.update = function(newdata) {
60 return new Promise(function(resolve, reject) {
50 return utils.promising_ajax(this.api_url(), {
61 $.ajax(this.api_url(), {
62 processData: false,
51 processData: false,
63 type : "PATCH",
52 type : "PATCH",
64 data: JSON.stringify(newdata),
53 data: JSON.stringify(newdata),
65 dataType : "json",
54 dataType : "json",
66 contentType: 'application/json',
55 contentType: 'application/json',
67 success: function(data, status, jqXHR) {
56 }).then(function(data) {
68 this.data = data;
57 this.data = data;
69 this._load_done();
58 this._load_done();
70 resolve(data);
59 return data;
71 },
72 error: function(jqXHR, status, error) {
73 utils.log_ajax_error(jqXHR, status, error);
74 reject(utils.wrap_ajax_error(jqXHR, status, error));
75 }
76 });
77 });
60 });
78 };
61 };
79
62
General Comments 0
You need to be logged in to leave comments. Login now