##// END OF EJS Templates
setting an option to null sets the default in CodeMirror...
setting an option to null sets the default in CodeMirror matching the unset behavior in config

File last commit:

r18878:463c49d0
r19311:9c060bc5
Show More
config.js
67 lines | 1.9 KiB | application/javascript | JavascriptLexer
Thomas Kluyver
Add JS config API
r18866 // Copyright (c) IPython Development Team.
// Distributed under the terms of the Modified BSD License.
define([
'jquery',
'base/js/utils',
],
function($, utils) {
var ConfigSection = function(section_name, options) {
this.section_name = section_name;
this.base_url = options.base_url;
this.data = {};
var that = this;
/* .loaded is a promise, fulfilled the first time the config is loaded
* from the server. Code can do:
* conf.loaded.then(function() { ... using conf.data ... });
*/
this._one_load_finished = false;
this.loaded = new Promise(function(resolve, reject) {
that._finish_firstload = resolve;
});
};
ConfigSection.prototype.api_url = function() {
Thomas Kluyver
Fix some other bugs
r18878 return utils.url_join_encode(this.base_url, 'api/config', this.section_name);
Thomas Kluyver
Add JS config API
r18866 };
ConfigSection.prototype._load_done = function() {
if (!this._one_load_finished) {
this._one_load_finished = true;
this._finish_firstload();
}
};
ConfigSection.prototype.load = function() {
Thomas Kluyver
Fix some other bugs
r18878 var that = this;
Thomas Kluyver
Use promising_ajax in config API
r18868 return utils.promising_ajax(this.api_url(), {
cache: false,
type: "GET",
dataType: "json",
}).then(function(data) {
Thomas Kluyver
Fix some other bugs
r18878 that.data = data;
that._load_done();
Thomas Kluyver
Use promising_ajax in config API
r18868 return data;
Thomas Kluyver
Add JS config API
r18866 });
};
ConfigSection.prototype.update = function(newdata) {
Thomas Kluyver
Fix some other bugs
r18878 var that = this;
Thomas Kluyver
Use promising_ajax in config API
r18868 return utils.promising_ajax(this.api_url(), {
processData: false,
type : "PATCH",
data: JSON.stringify(newdata),
dataType : "json",
contentType: 'application/json',
}).then(function(data) {
Thomas Kluyver
Fix some other bugs
r18878 that.data = data;
that._load_done();
Thomas Kluyver
Use promising_ajax in config API
r18868 return data;
Thomas Kluyver
Add JS config API
r18866 });
};
Thomas Kluyver
Actually define the module...
r18876
return {ConfigSection: ConfigSection};
Thomas Kluyver
Add JS config API
r18866
});