sintonia/legacy/public/js/airtime/playouthistory/template.js

115 lines
2.9 KiB
JavaScript

var AIRTIME = (function (AIRTIME) {
var mod;
var $historyTemplate;
if (AIRTIME.template === undefined) {
AIRTIME.template = {};
}
mod = AIRTIME.template;
function createItemLi(id, name, configured) {
var editUrl =
baseUrl + "Playouthistorytemplate/configure-template/id/" + id;
var defaultUrl =
baseUrl +
"Playouthistorytemplate/set-template-default/format/json/id/" +
id;
var removeUrl =
baseUrl + "Playouthistorytemplate/delete-template/format/json/id/" + id;
var itemConfigured =
"<li class='template_configured' data-template='<%= id %>' data-name='<%= name %>'>" +
"<a href='<%= editUrl %>' class='template_name'><%= name %></a>" +
"<i class='icon icon-ok'></i>" +
"</li>";
var item =
"<li data-template='<%= id %>' data-name='<%= name %>'>" +
"<a href='<%= editUrl %>' class='template_name'><%= name %></a>" +
"<a href='<%= removeUrl %>' class='template_remove'><i class='icon icon-trash'></i></a>" +
"<a href='<%= defaultUrl %>' class='template_default'>" +
$.i18n._("Set Default") +
"</a>" +
"</li>";
var template = configured === true ? itemConfigured : item;
var template = _.template(template);
var $li = $(
template({
id: id,
name: name,
editUrl: editUrl,
defaultUrl: defaultUrl,
removeUrl: removeUrl,
}),
);
return $li;
}
mod.onReady = function () {
$historyTemplate = $("#history_template");
$historyTemplate.on("click", ".template_remove", function (ev) {
ev.preventDefault();
var $a = $(this);
var url = $a.attr("href");
$a.parents("li").remove();
$.post(url, function () {
var x;
});
});
$historyTemplate.on("click", ".template_default", function (ev) {
ev.preventDefault();
var $a = $(this);
var url = $a.attr("href");
var $oldLi, $newLi;
$oldLi = $a.parents("ul").find("li.template_configured");
$newLi = $a.parents("li");
$oldLi.replaceWith(
createItemLi($oldLi.data("template"), $oldLi.data("name"), false),
);
$newLi.replaceWith(
createItemLi($newLi.data("template"), $newLi.data("name"), true),
);
$.post(url, function () {
var x;
});
});
function createTemplate(type) {
var createUrl = baseUrl + "Playouthistorytemplate/create-template";
$.post(createUrl, { format: "json", type: type }, function (json) {
if (json.error !== undefined) {
alert(json.error);
return;
}
window.location.href = json.url;
});
}
$historyTemplate.on("click", "#new_item_template", function () {
createTemplate("item");
});
$historyTemplate.on("click", "#new_file_template", function () {
createTemplate("file");
});
};
return AIRTIME;
})(AIRTIME || {});
$(document).ready(AIRTIME.template.onReady);