automizy-js-api
Version:
JavaScript API library for Automizy Marketing Automation software
163 lines (156 loc) • 6.89 kB
JavaScript
function setCookie(cname, cvalue) {
document.cookie = cname + "=" + cvalue;
}
function getCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ')
c = c.substring(1);
if (c.indexOf(name) == 0)
return c.substring(name.length, c.length);
}
return "";
}
function loadBasicModuleFucntionDescriptions(moduleName, func) {
if (typeof moduleName === 'string') {
var lowercase = moduleName;//.toLowerCase();
var uppercase = lowercase.charAt(0).toUpperCase() + moduleName.slice(1);
$.ajax({
url: 'basic-module-functions.html',
dataType: 'html',
success: function (data) {
data = data.replace(/{{ModuleLowerCase}}/g, lowercase);
data = data.replace(/{{ModuleUpperCase}}/g, uppercase);
$(data).each(function () {
var id = $(this).attr('id');
$("[id='" + id + "']:empty").html($(this).html());
});
func();
}
});
}
}
function loadPage(url1, url2, moduleName) {
var addButtonsToCodeBlocksTimeout;
function addButtonsToCodeBlocks() {
$('.prettyprinted:not(.buttoned):not(#module-example)').each(function () {
var $t = $(this);
$t.addClass('buttoned');
$t.css('position', 'relative');
var $testButton = $A.newButton().text('test').click(function (module) {
//$A.hashChange(module.widget().closest('article').attr('id') + '/code/test');
window.TEST = $t.data('content');
var $iframe = $('<iframe src="codeframe.html"/>').css({
outline: '2px solid #000000',
width: '100%',
height: '300px'
});
$A.newDialog({
content: $iframe,
hash: module.widget().closest('article').attr('id') + '/code/test'
}).draw();
}).draw().widget().css({
position: 'absolute',
right: 0,
bottom: 0
}).appendTo($t);
clearTimeout(addButtonsToCodeBlocksTimeout);
addButtonsToCodeBlocksTimeout = setTimeout(function () {
addButtonsToCodeBlocks();
}, 100);
});
}
setCookie("last-page", url1 + ',' + url2 + ',' + moduleName);
$A.hashChange(moduleName);
$('[data-name]').removeClass('active-page');
$('[data-name="' + moduleName + '"]').addClass('active-page');
if (url2 !== undefined) {
$('.module-content').load(url1, function () {
$.ajax({
url: url2,
success: function (data) {
$('#module-example').text(data);
$('#module-demo').html('<iframe src=' + url2 + '/>');
},
complete: function () {
loadBasicModuleFucntionDescriptions(moduleName, function () {
$('.prettyprint').each(function () {
var $t = $(this);
var tt = $t.text();
$t.data('content', tt);
if (tt.lastIndexOf("\n") > 0) {
$t.text(tt.substring(0, tt.lastIndexOf("\n")));
}
});
prettyPrint();
setTimeout(function () {
addButtonsToCodeBlocks();
}, 100);
});
//$('#module-demo iframe').attr('onload', "javascript:alert($('#module-demo iframe').height(parseInt($('#module-demo iframe').contents().find('.automizy-feedback').height())+100).height());");
}
});
});
}
else
$('.module-content').load(url1, function () {
$('.prettyprint').each(function () {
var $t = $(this);
var tt = $t.text();
$t.data('content', tt);
if (tt.lastIndexOf("\n") > 0) {
$t.text(tt.substring(0, tt.lastIndexOf("\n")));
}
});
prettyPrint();
setTimeout(function () {
addButtonsToCodeBlocks();
}, 100);
if (typeof $(".globalFunctions-" + moduleName)[0]!=='undefined')
$(".globalFunctions-" + moduleName)[0].click();
});
}
function openDownloadsDialog() {
if (typeof downloadsDialog !== 'undefined') {
downloadsDialog.open();
return true;
}
var $content = $('\
<div>\n\
<a href="downloads/automizy.min.js" target="_blank" onClick="$A.hashChange(\'downloads/automizy.min.js\')">Download the compressed, production JavaScript file for AutomizyJS 0.5.3</a><br/>\n\
<a href="downloads/automizy.min.css" target="_blank" onClick="$A.hashChange(\'downloads/automizy.min.css\')">Download the compressed, production CSS file for AutomizyJS 0.5.3</a><br/>\n\
<a href="downloads/automizy.js" target="_blank" onClick="$A.hashChange(\'downloads/automizy.js\')">Download the uncompressed, development JavaScript file for AutomizyJS 0.5.3</a><br/>\n\
<a href="downloads/automizy.css" target="_blank" onClick="$A.hashChange(\'downloads/automizy.css\')">Download the uncompressed, development CSS file for AutomizyJS 0.5.3</a><br/>\n\
<a href="downloads/automizy.min.map" target="_blank" onClick="$A.hashChange(\'downloads/automizy.min.map\')">Download the map file for AutomizyJS 0.5.3</a><br/>\n\
<a href="downloads/automizyjs.zip" onClick="$A.hashChange(\'downloads/automizyjs.zip\')">Download the all in one ZIP file for AutomizyJS 0.5.3</a>\n\
</div>\n\
');
window.downloadsDialog = $A.newDialog({
title: "Download AutomizyJS",
hash: 'downloads',
content: $content,
buttons: [{
text: 'Close',
skin: 'nobox-green',
click: function () {
downloadsDialog.close();
}
}]
}).draw();
return true;
}
$(function () {
$('[data-url]').click(function () {
loadPage($(this).attr('data-url'), $(this).attr('data-example-url'), $(this).data('name'));
});
if (1==1 || getCookie("last-page") === "") {
loadPage('introduction.html', '', 'Introduction');
}
else {
var attrs = getCookie("last-page").split(',');
loadPage(attrs[0], attrs[1], attrs[2]);
}
;
});