Files
dss/static/js/app/lib/utils.js
2013-10-25 02:10:27 +01:00

100 lines
3.0 KiB
JavaScript
Executable File

// Generated by CoffeeScript 1.4.0
(function() {
define(['jquery', 'bootstrap', 'toastr'], function($, bootstrap, toastr) {
return {
modal: function(url) {
if (url) {
if (url.indexOf("#") === 0) {
$(url).modal("open");
} else {
$.get(url, function(data) {
$(data).modal().on("hidden", function() {
$(this).remove();
return true;
});
return $(data).proceed().on("hidden", function() {
alert("Go on so");
return true;
});
}).success(function() {
$("input:text:visible:first").focus();
return true;
});
}
}
return true;
},
messageBox: function(url) {
if (url) {
if (url.indexOf("#") === 0) {
$(url).modal("open");
} else {
$.get(url, function(data) {
$("#yes-no-positive", data).click(function() {
return alert("Oh yes");
});
return $(data).modal().on("hidden", function() {
$(this).remove();
return true;
});
}).success(function() {
$("input:text:visible:first").focus();
return true;
});
}
}
return true;
},
checkPlayCount: function() {
var _this = this;
if (document.cookie.indexOf("sessionId")) {
$.getJSON("/ajax/session_play_count", function(data) {
console.log("utils: got playcount");
if (data.play_count !== "0" && ((data.play_count % com.podnoms.settings.nag_count) === 0)) {
return _this.modal("/dlg/PlayCountLoginAlert");
}
});
}
return true;
},
showError: function(title, message) {
return toastr.error(message, title);
},
showWarning: function(title, message) {
return toastr.warning(message, title);
},
showAlert: function(title, message) {
return this.showMessage(title, message);
},
showMessage: function(title, message) {
return toastr.success(message, title);
},
generateGuid: function() {
return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(c) {
var r, v;
r = Math.random() * 16 | 0;
v = (c === "x" ? r : r & 0x3 | 0x8);
return v.toString(16);
});
},
downloadURL: function(url) {
var iframe;
iframe = document.getElementById("hiddenDownloader");
if (iframe === null) {
iframe = document.createElement("iframe");
iframe.id = "hiddenDownloader";
iframe.style.visibility = "hidden";
document.body.appendChild(iframe);
}
iframe.src = url;
return true;
},
isMe: function(id) {
return id === com.podnoms.settings.currentUser;
}
};
});
}).call(this);