$(function(){
// Tool scripts
$body = $("body");
var loader = '<div id="loader" class="overlay-loader"><img class="loader-icon spinning-cog" src="/MelisCore/assets/images/cog12.svg" data-cog="cog12"></div>';
/**
* Exclude site script checkbox
*/
$body.on(
"click",
".melis-cms-page-script-checkbox input[type=checkbox]",
function() {
$(this)
.parent()
.find(".cbmask-inner")
.toggleClass("cb-active");
}
);
//when 'delete exception' button is clicked, remove the page exception entry from DB
$body.on('click', '.btnDeletePageException', function (event) {
var pageID = null;
var scriptDataTable = getDataTable();
var selectedTrClass = $(this).parents('tr').attr('class');
//get the page id
if (selectedTrClass == 'child') {
pageID = scriptDataTable.row($(this).closest("tr").prev()[0]).data().mcse_page_id;
} else {
pageID = scriptDataTable.row($(this).closest("tr")).data().mcse_page_id;
}
//if deletion is confirmed, proceed to delete
melisCoreTool.confirm(
translations.tr_meliscmspagescripteditor_common_label_yes,
translations.tr_meliscmspagescripteditor_common_label_no,
translations.tr_meliscmspagescripteditor_delete_exception_btn_tooltip,
translations.tr_meliscmspagescripteditor_delete_exception_btn_confirm,
function() {
saveSiteScriptException('delete', pageID);
});
});
//add page to exception list
$body.on('click', '.add_tool_site_script_exception_btn', function (event) {
var siteId = activeTabId.split("_")[0];
var pageId = $("#"+siteId+"tool_site_exception_page_id").val();
//calls function to add exception in DB
saveSiteScriptException('add', pageId);
});
/*this will add or delete the pages that exclude the site scripts*/
function saveSiteScriptException(operation, pageID) {
var siteId = activeTabId.split("_")[0];
$("#"+siteId+"_id_meliscms_tool_sites_script_exceptions").append(loader);
$.ajax({
type: 'POST',
url: '/melis/MelisCmsPageScriptEditor/MelisCmsPageScriptEditorToolSiteEdition/saveSiteScriptException',
data: {siteId:siteId, operation:operation, tool_site_mcse_page_id:pageID},
dataType: "json",
encode: true,
}).done(function (data) {
$("#"+siteId+"_id_meliscms_tool_sites_script_exceptions #loader").remove();
if (data.success) {
melisHelper.melisOkNotification( data.textTitle, data.textMessage);
//remove highlight
$("#"+siteId+"_id_meliscms_tool_sites_script_content").find("#"+siteId+"tool_site_exception_page_id").removeClass('tool-site-page-exception-error');
// refresh the main list table
melisHelper.zoneReload(siteId+"_id_meliscms_tool_sites_script_exceptions", "meliscms_tool_sites_script_exceptions", {siteId:siteId});
//empty input field
$("#"+siteId+"_id_meliscms_tool_sites_script_content").find("#"+siteId+"tool_site_exception_page_id").val("");
} else {
melisHelper.melisKoNotification(data.textTitle, data.textMessage, data.errors);
//highlight input field
$("#"+siteId+"_id_meliscms_tool_sites_script_content").find("#"+siteId+"tool_site_exception_page_id").addClass('tool-site-page-exception-error');
}
}).fail(function () {
alert(translations.tr_meliscore_error_message);
});
}
/*this will retrieve the data table*/
function getDataTable() {
var siteId = activeTabId.split("_")[0];
var MelisCmsPageScriptExceptionTable = null;
if ($("#"+siteId+"MelisCmsPageScriptEditorScriptExceptionsTable").length > 0) {
MelisCmsPageScriptExceptionTable = $("#"+siteId+"MelisCmsPageScriptEditorScriptExceptionsTable").DataTable();
}
return MelisCmsPageScriptExceptionTable;
}
//used in tool site edition script tab to set the site id used in getting the script exceptions of the site
window.initSiteId = function (data) {
var siteId = activeTabId.split("_")[0];
if (!isNaN(siteId)) {
data.siteId = siteId;
}
};
});
|