Cloud9Charts API
by AntonLapshin
JavaScript
/*
* Cloud9Charts API
*/
;(function(window){
String.prototype.f = function() {
var s = this, i = arguments.length;
while (i--) { s = s.replace(new RegExp('\\{' + i + '\\}', 'gm'), arguments[i]); }
return s;
};
var _url = 'https://www.cloud9charts.com/{0}';
var _iframeTemplate = '<iframe src="{0}" name="c9login" style="border:none;width:100%;height:100%"></iframe>';
var _formTemplate =
'<form target="c9login" action="{0}" method="post">' +
'<input type="hidden" name="username" value="{1}" />' +
'<input type="hidden" name="password" value="{2}" />' +
'</form>';
var _defaultViewOptions = {
title: false,
filter: false,
border: false,
setting: false,
resize: false,
menu: false,
actions: false,
drag: false
};
function deepExtend(out) {
out = out || {};
for (var i = 1; i < arguments.length; i++) {
var obj = arguments[i];
if (!obj)
continue;
for (var key in obj) {
if (obj.hasOwnProperty(key)) {
if (typeof obj[key] === 'object')
out[key] = deepExtend(out[key], obj[key]);
else
out[key] = obj[key];
}
}
}
return out;
};
var _accessTypes = {
touchdown: {
render: function(options){
var opts = deepExtend(_defaultViewOptions, options.view);
var items = [];
for(var name in opts){
var value = opts[name];
items.push(name + '=' + value);
}
var search = items.join('&');
return _iframeTemplate.f('') + _formTemplate.f(
_url.f('touchdown?' + search),
options.username,
options.password
);
},
post:...