cartodb-4.42/lib/assets/javascripts/cartodb/config.js

54 lines
1.4 KiB
JavaScript
Raw Normal View History

2024-04-06 13:25:13 +08:00
cdb.common = {};
cdb.admin = {};
cdb.admin.dashboard = {};
cdb.forms = {};
cdb.open = {};
cdb.dashboard = {};
cdb.config.setUrlVersion = function(modelName, method, v) {
cdb.config.set(modelName + '_' + method + '_url_version', v || 'v1');
}
cdb.config.urlVersion = function(modelName, method, defaultVersion) {
method = method || ''
var version = cdb.config.get(modelName + "_" + method + '_url_version')
return version || defaultVersion || 'v1';
}
// return prefixUrl for all the queries to the rest api
cdb.config.prefixUrl = function() {
return this.get('url_prefix') || '';
};
// if the prefixUrl is like http://host.com/u/o returns
// /u/o part
cdb.config.prefixUrlPathname = function() {
var prefix = this.prefixUrl();
if (prefix !== '') {
try {
if (prefix && prefix.indexOf('/') === -1) throw new TypeError('invalid URL');
var a = document.createElement('a');
a.href = prefix;
var url = a.pathname;
// remove trailing slash
return url.replace(/\/$/, '');
} catch(e) {
// not an url
}
}
return prefix;
};
/**
* returns the maps API resource name, removing protocol.
* {user}.carto.com:3333 || carto.com:3333/{user} || ...
*/
cdb.config.getMapsResourceName = function(username) {
var url;
var mapsApiTemplate = this.get('maps_api_template');
if (mapsApiTemplate) {
url = mapsApiTemplate.replace(/(http|https)?:\/\//, '').replace(/{user}/g, username);
}
return url;
}