");
}
else if (template === "row") {
$("#listing__elements-cont").html("
");
}
strNumber = 1;
intPos = 1;
$("#h_Range").val("0");
$("#lnkLoadMore").hide();
$("#h_SearchWords").val($("#search_word").val());
$("#divAllItems").text('');
cmsg('Loading ' + "Events" + '...', 2, 0);
var webServiceUrl = getWebServiceUrl("mobile_events_list", $("#h_Range").val(), $("#h_Limit").val(), $("#h_SearchWords").val());
getListingDataJSON(webServiceUrl + "&list_view_setting_name=events_list&list_view=" + hash, BindSubmitted, NoResultFound);
$("#h_firstRequest").val('0');
$("#Loading" + "Events").show();
}
function resetListingFilters() {
$("#search_word").val('');
$("#select_filter1").val('');
$("#select_filter2").multiselect('deselectAll', false);
$("#select_filter2").multiselect('updateButtonText');
$("#select_filter3").multiselect('deselectAll', false);
$("#select_filter3").multiselect('updateButtonText');
$("#select_filter4").multiselect('deselectAll', false);
$("#select_filter4").multiselect('updateButtonText');
$("#select_filter5").multiselect('deselectAll', false);
$("#select_filter5").multiselect('updateButtonText');
$("#select_filter6").multiselect('deselectAll', false);
$("#select_filter6").multiselect('updateButtonText');
$("#select_filter7").val('');
$("#select_filter8").val('');
$("#select_filter9").val('');
$("#select_order").val('');
$("#listing__clear-btn").hide();
}
function GetDataOnClear() {
resetListingFilters();
setURLParametersFromFilters();
getDataFromWebService();
}
function toggleClearButton() {
var boolShow = false;
if ($("#search_word").val !== "") { boolShow = true; }
if ($("#select_filter1").val !== "") { boolShow = true; };
if ($("#select_filter2").val() != []) { boolShow = true; };
if ($("#select_filter3").val() != []) { boolShow = true; };
if ($("#select_filter4").val() != []) { boolShow = true; };
if ($("#select_filter5").val() != []) { boolShow = true; };
if ($("#select_filter6").val() != []) { boolShow = true; };
if ($("#select_filter7").val !== "") { boolShow = true; };
if ($("#select_filter8").val !== "") { boolShow = true; };
if ($("#select_filter9").val !== "") { boolShow = true; };
if (boolShow) {
$("#listing__clear-btn").show();
}
else {
$("#listing__clear-btn").hide();
}
}
function changeListingFilter(intFilterNumber, value) {
$("#select_filter" + intFilterNumber).val(value);
$("#select_filter" + intFilterNumber).change();
}
function changeListingOrder(value) {
$("#select_order").val(value);
$("#select_order").change();
}
function NoResultFound() {
$("#h_firstRequest").val('0');
$("#Loading" + "Events").hide();
$("#counter_listing").html("(0)");
$("#counter_listing_select").html("0");
cmsg("No result found.", 5);
if(selectTemplate === "list") {
$('#divAllItems').html("
" + ' No result found '
+ " | ");
}
else {
$('#divAllItems').html('
No result found
');
}
$("#lnkLoadMore").hide();
}
function NoResultFoundAfterLoadMore() {
$("#h_firstRequest").val('0');
$("#Loading" + "Events").hide();
$("#lnkLoadMore").hide();
}
function setResponsivePageHeaderButtons() {
let $divButtonCont = $(".page__header--btns");
let $headerButtons = $divButtonCont.find("a");
if($headerButtons[0] !== undefined) {
if ($divButtonCont[0].offsetHeight > 1.95 * $headerButtons[0].offsetHeight) {
$headerButtons.each(function() {
$(this).find(".badge").hide();
this.style.fontSize = "0px";
this.setAttribute("data-toggle", "tooltip");
this.setAttribute("data-placement", "bottom");
this.setAttribute("title", this.innerText);
$(this).tooltip();
})
}
}
}
function ActionDownloadReport(res, data) {
$("#h_firstRequest").val('0');
$("#Loading" + "Events").hide();
$("#lnkLoadMore").hide();
var downloadType;
if (data["p" + res.indexOf("download_div_url")].indexOf("save_as_pdf=1") > 0) {
downloadType = "file";
}
else {
downloadType = "report";
}
if(selectTemplate === "list") {
$("#divAllItems").html("
" + data["p" + res.indexOf("download_div_logo")] +
"Your " + downloadType + " has been generated successfully, click the button below to download it: "
+ data["p" + res.indexOf("download_div_url")]
+ " Cancel "
+ " | ");
}
else {
$("#divAllItems").html(data["p" + res.indexOf("download_div_logo")] +
"
Your " + downloadType + " has been generated successfully, click the button below to download it:
"
+ data["p" + res.indexOf("download_div_url")]
+ "
Cancel");
}
//Unbind scoll event
$(window).unbind('scroll');
}
function ActionSendEmail(res, data) {
$("#divAllItems").html(data["p" + res.indexOf("send_email_div_logo")] +
"
Loading emails...
");
if(res.indexOf("session_recipients_ids") != -1) {
document.location.href= data["p" + res.indexOf("redirect_url")] + data["p" + res.indexOf("session_recipients_ids")];
}
else {
document.location.href= data["p" + res.indexOf("redirect_url")];
}
}
function ActionGenerateHTML(res, data) {
$("#h_firstRequest").val('0');
$("#Loading" + "Events").hide();
$("#lnkLoadMore").hide();
}
function ActionRedirectUrl(res, data) {
$("#divAllItems").html(data["p" + res.indexOf("redirect_url_div_logo")] +
"
Loading...
");
document.location.href= data["p" + res.indexOf("redirect_url")];
}
function BindSubmitted(data) {
$("#Loading" + "Events").hide();
var html = "";
var str = data.fields;
var res = str.split(",");
var htmlFields = (data.htmlFields === null ? res : data.htmlFields);
//Specific actions (Download, Send Emails and Generate HTML)
if(res.indexOf("action_download_report") != -1) {
ActionDownloadReport(res, data);
}
else if (res.indexOf("action_send_emails") != -1) {
ActionSendEmail(res, data);
}
else if (res.indexOf("action_generate_html") != -1) {
ActionGenerateHTML(res, data);
}
else if (res.indexOf("action_redirect_url") != -1) {
ActionRedirectUrl(res, data);
}
else {
html = $("#" + selectTemplate + "_template").html();
if (html && html != "") {
// Replace Number
if (html.indexOf("[strNumber") > -1) {
html = html.replace("[strNumber]", strNumber + "");
}
if (data["listingSeparator"] != "true") { strNumber++; }
// Replace Checkbox
for (i = 0; i < res.length; i++) {
// To remove regex $& that create an infinity loop
var joinString = "@___@"
var dataPI = (typeof data["p" + i] !== "undefined" && data["p" + i] !== null) ? data["p" + i].split("$").join(joinString) : null;
var preprocessString = (htmlFields.indexOf(res[i]) > -1 ? function(s) { return s } : escapeHtml);
// Normal Interpolation
do {
html = html.replace("[" + res[i] + "]", preprocessString(dataPI));
}
while (html.indexOf("[" + res[i] + "]") > -1);
// URI Encode Interpolation
do {
html = html.replace("[%" + res[i] + "]", preprocessString(encodeURIComponent(dataPI)));
}
while (html.indexOf("[%" + res[i] + "]") > -1);
// Double URI Encode Interpolation use with officer_login_redirect only
do {
html = html.replace("[%%" + res[i] + "]", preprocessString(encodeURIComponent(encodeURIComponent(dataPI))));
}
while (html.indexOf("[%%" + res[i] + "]") > -1);
if (html.indexOf("[:" + res[i] + "]='") > -1) {
//Si égal STAY
do
html = html.replace("IF[:" + res[i] + "]='" + dataPI + "'", "S");
while (html.indexOf("[:" + res[i] + "]='" + dataPI + "'-->") > -1);
//remplacer tout les autre tags du type [: ]=' par DELETE
do
html = html.replace("IF[:" + res[i] + "]='", "D");
while (html.indexOf("[:" + res[i] + "]='") > -1);
}
if (html.indexOf("[:" + res[i] + "]!='") > -1) {
//Si différent DELETE
do
html = html.replace("IF[:" + res[i] + "]!='" + dataPI + "'", "D");
while (html.indexOf("[:" + res[i] + "]!='" + dataPI + "'") > -1);
do
html = html.replace("IF[:" + res[i] + "]!='", "S");
while (html.indexOf("[:" + res[i] + "]!='") > -1);
}
}
html = html.split(joinString).join("$");
function letter1(text){
return text.charAt(0);
}
function letter4(text) {
var val = text.charAt(0) + text.charAt(1) + text.charAt(2) + text.charAt(3);
return val;
}
var result;
var result1;
var result2;
var interm;
var j;
var i;
//séparation du code et mise en tableau
result = html.split("", "");
}
else {
result[i] = "<--" + result[i];
}
}
else if (letter1(result[i]) == "S") {
if (letter1(result[i + 1]) == "E") {
interm = result[i].split("-->");
result[i] = interm[1];
i++;
result[i] = result[i].replace("E-->", "");
}
else {
result[i] = "<--" + result[i];
}
}
i++;
}
//suppression des valeurs de tableau vide
result1 = [];
j = 0;
for (i = 0; i < result.length; i++) {
if (result[i] != "") {
result1[j] = result[i];
j++;
}
}
//reformage du code pour avoir <--D ou <--S ou <--E en début de tableau
result2 = [];
result2[0] = "";
j = 0;
for (i = 0; i < result1.length; i++) {
if ((letter4(result1[i]) != "<--D")&&(letter4(result1[i]) != "<--S")&&(letter4(result1[i]) != "E-->")) {
result2[j] += result1[i];
}
else {
j++;
result2[j] = result1[i];
}
}
var limiteCounter = 0;
while ((result2.length != 1) && (limiteCounter<10)){
limiteCounter++;
//Deuxième nettoyage du code
i = 0;
while (i < result2.length) {
if (letter4(result2[i]) == "<--D") {
if (letter1(result2[i + 1]) == "E") {
result2[i] = "";
i++;
result2[i] = result2[i].replace("E-->", "");
}
else {
result[i] = "<--" + result[i];
}
}
else if (letter4(result2[i]) == "<--S") {
if (letter1(result2[i + 1]) == "E") {
interm = result2[i].split("-->");
result2[i] = interm[1];
i++;
result2[i] = result2[i].replace("E-->", "");
}
}
i++;
}
//suppression des valeurs de tableau vide
result1 = [];
var j = 0;
for (i = 0; i < result2.length; i++) {
if (result2[i] != "") {
result1[j] = result2[i];
j++;
}
}
//reformage du code pour avoir <--D ou <--S ou <--E en début de tableau
result2 = [];
result2[0] = "";
j = 0;
for (i = 0; i < result1.length; i++) {
if ((letter4(result1[i]) != "<--D") && (letter4(result1[i]) != "<--S") && (letter4(result1[i]) != "E-->")) {
result2[j] += result1[i];
}
else {
j++;
result2[j] = result1[i];
}
}
}
html = result2[0];
}
else{
if (intPos == 1){
html ="
";
for (i = 0; i < res.length; i++){
html += "" + res[i] + " | ";
}
html += "
";
intPos = 2
}
html += "
";
for (i = 0; i < res.length; i++) {
var preprocessString = (htmlFields.indexOf(res[i]) > -1 ? function(s) { return s } : escapeHtml);
html += "" + preprocessString(data["p" + i]) + " | ";
}
html += "
";
}
// Append HTML
$('#divAllItems').append(html);
// Replace src for img
$("#divAllItems").find('img').each(function(){
if($(this).attr('data-src') != '') {
$(this).attr({src: $(this).attr('data-src')}).removeAttr('data-src');
}
});
}
}
var entityMap = {
'&': '&',
'<': '<',
'>': '>',
'"': '"',
"'": ''',
'/': '/',
'`': '`',
'=': '='
};
function escapeHtml(string) {
return String(string).replace(/[&<>"'`=\/]/g, function (s) {
return entityMap[s];
});
}
var selectCheckboxes = function() {
var arrCheckboxes = $('[name=checkbox_listing]')
let selectedCheckboxesAccLabel = arrCheckboxes.length + " items on this page are selected.";
$("#selected_checkboxes").html(selectedCheckboxesAccLabel).show();
if (needToLoadMoreRecords){
$("#select_checkboxes").attr('aria-label', selectedCheckboxesAccLabel);
$("#select_all_checkboxes").show();
let selectAllCheckboxesAccLabel = selectedCheckboxesAccLabel + ' Click to ' + $('#select_all_checkboxes_link').text().trim().toLowerCase();
$("#select_all_checkboxes_link").attr('aria-label', selectAllCheckboxesAccLabel);
setTimeout(function() {
// give the DOM time to apply the new accessibility label before we focus, otherwise the screen reader won't pick-up on time
$("#select_all_checkboxes_link").focus();
}, 100);
}
for (var j = 0; j <= arrCheckboxes.length - 1; j++) {
arrCheckboxes[j].checked = true;
}
cmsg(arrCheckboxes.length + " Events" + ' items on this page are selected.', 2, 0);
}
function unselectCheckboxes() {
$("#selected_checkboxes").hide();
$("#select_all_checkboxes").hide();
var arrCheckboxes = $('[name=checkbox_listing]')
for (var j = 0; j <= arrCheckboxes.length - 1; j++) {
arrCheckboxes[j].checked = false;
}
if ($("#form_select_all").val() == 1) {
$("#form_select_all").val("0");
}
$("#select_checkboxes").attr('aria-label', 'Select all');
}
var selectAllCheckboxes = function() {
var arrCheckboxes = $('[name=checkbox_listing]')
for (var j = 0; j <= arrCheckboxes.length - 1; j++) {
arrCheckboxes[j].checked = true;
}
$("#form_select_all").val("1");
$("#select_all_checkboxes").hide();
let accLabel = $("#counter_listing_select").html() + " items on this page are selected.";
$("#selected_checkboxes").html(accLabel).show();
$("#select_checkboxes").attr('aria-label', accLabel);
setTimeout(function() {
$("#select_checkboxes").focus();
}, 100);
cmsg('All ' + $("#counter_listing_select").html() + ' items on this page are selected.', 2, 0);
};
var unselectAllCheckboxes = function() {
var arrCheckboxes = $('[name=checkbox_listing]')
for (var j = 0; j <= arrCheckboxes.length - 1; j++) {
arrCheckboxes[j].checked = false;
}
$("#form_select_all").val("0");
};
function checkOneCheckbox() {
if ($("#selected_checkboxes").is(":visible")) {
$("#selected_checkboxes").html(parseInt($("#selected_checkboxes").html()) + 1 + " items on this page are selected.").show();
}
else {
$("#selected_checkboxes").html("1 item selected").show();
}
}
function uncheckOneCheckbox() {
if (parseInt($("#selected_checkboxes").html()) == 1) {
$("#selected_checkboxes").html("0 items selected").hide();
}
else if ($("#form_select_all").val() == 1) {
$("#selected_checkboxes").html($('[name=checkbox_listing]').length - 1 + " items on this page are selected.").show();
}
else {
$("#selected_checkboxes").html(parseInt($("#selected_checkboxes").html()) - 1 + " items on this page are selected.").show();
}
$("#select_all_checkboxes").hide();
$("#select_checkboxes").prop( "checked", false );
$("#form_select_all").val("0");
}
function checkCheckboxByValue(value) {
$("input[name='checkbox_listing'][value='" + value + "']").click();
}
function downloadListingReport(intUpdate) {
strNumber = 1;
intPos = 1;
$("#h_Range").val("0");
$("#lnkLoadMore").hide();
$("#h_SearchWords").val($("#search_word").val());
var select_all = $("#form_select_all").val();
var checkbox_ids = "";
if (select_all != 1){
checkbox_ids = concaCheckValue();
}
if (select_all == 0 && checkbox_ids == ""){
alert("Please select at least one checkbox or select all");
}
else{
$("#divAllItems").text('');
cmsg('Loading ' + "Events" + '...', 2, 0);
$("#form_select_all").val("0");
$("#Loading" + "Events").show();
let fileName, prevButtonhtml = $("#action_" + intUpdate).html();
var webServiceUrl = getWebServiceUrl("mobile_events_list", $("#h_Range").val(), $("#h_Limit").val(), $("#h_SearchWords").val());
fetch(webServiceUrl + '&update=' + intUpdate + '&select_all=' + select_all + '&checkbox_ids=' + checkbox_ids + '&actionParam=' + actionParam)
.then( response => {
fileName = response.headers.get("content-disposition").split("filename=")[1];
return response.blob();
})
.then( blob => {
const href = URL.createObjectURL(blob);
const a = Object.assign(document.createElement("a"), {
href,
style: "display:none",
download: fileName
});
document.body.appendChild(a);
a.click();
URL.revokeObjectURL(href);
a.remove();
//this resets the listing results back to what they were before
getDataFromWebService();
});
$("#h_firstRequest").val('0');
}
}
function submitAction(intUpdate) {
strNumber = 1;
intPos = 1;
$("#h_Range").val("0");
$("#lnkLoadMore").hide();
$("#h_SearchWords").val($("#search_word").val());
var select_all = $("#form_select_all").val();
var checkbox_ids = "";
if (select_all != 1){
checkbox_ids = concaCheckValue();
}
if (select_all == 0 && checkbox_ids == ""){
alert("Please select at least one checkbox or select all");
}
else{
$("#divAllItems").text('');
cmsg('Loading ' + "Events" + '...', 2, 0);
$("#form_select_all").val("0");
$("#Loading" + "Events").show();
var webServiceUrl = getWebServiceUrl("mobile_events_list", $("#h_Range").val(), $("#h_Limit").val(), $("#h_SearchWords").val());
getListingDataJSON(webServiceUrl + '&update=' + intUpdate + '&select_all=' + select_all + '&checkbox_ids=' + checkbox_ids + '&actionParam=' + actionParam, BindSubmitted, NoResultFound);
$("#h_firstRequest").val('0');
}
}
function concaCheckValue(){
var nb = $('#listing_checkbox_count').val();
var concatIds = "";
if (nb == 1) {
if ($("#listing-cont [name=checkbox_listing]").prop("checked")){
concatIds = $("#listing-cont [name=checkbox_listing]").val();
}
}
else {
for (i = 0; i < nb; i++) {
if ($("#listing-cont [name=checkbox_listing]")[i].checked){
concatIds += $("#listing-cont [name=checkbox_listing]")[i].value + ',';
}
}
concatIds = concatIds.substring(0,concatIds.length-1);
}
return concatIds;
}
function toggleListingElementHidden(self, elementID) {
var _self = self;
var _element = $('#' + elementID + ' .listing-element__hidden')
if( !$(_element).is(":visible") ) {
$(_element).slideDown();
$(_self).html('
Less');
}
else {
$(_element).slideUp();
$(_self).html('
More');
}
}
insertDescriptionElement();
function insertDescriptionElement() {
var descElement = $('#listing_desc_element:hidden').clone();
if ($('[id="listing_desc_element"]:visible').length == 0) {
$('#listing__header-cont').after(descElement);
descElement.show();
}
}
setFixedFiltersLogic();
function setFixedFiltersLogic() {
var scrollTimeout;
var throttle = 20
$(window).on('scroll', function () {
if (!scrollTimeout) {
scrollTimeout = setTimeout(function () {
var container;
if ($('#page-cont')[0]) {
container = $('#page-cont')[0];
} else if ($('#content-container')[0]) {
container = $('#content-container')[0];
} else if ($('#website-cont')[0]) {
container = $('#website-cont')[0];
} else if ($('#page-cont')[0]) {
container = $('#account-cont')[0];
} else if ($('#page-cont')[0]) {
container = $('#page-cont')[0];
} else {
return;
}
var navBarHeight = container.offsetTop;
var filtersContainer = $('#listing__filters-cont');
if ($(window).width() > 1200 && filtersContainer.css('position') == 'relative' && filtersContainer[0].getBoundingClientRect().top < navBarHeight) {
setFiltersFixed(true, navBarHeight);
} else if (filtersContainer.css('position') == 'fixed' && filtersContainer[0].getBoundingClientRect().top + filtersContainer[0].offsetHeight < filtersContainer.next()[0].getBoundingClientRect().top) {
setFiltersFixed(false, navBarHeight);
}
scrollTimeout = null;
}, throttle);
}
});
$(window).on('resize', function () {
if (!scrollTimeout) {
scrollTimeout = setTimeout(function () {
if ($(window).width() < 1200) {
setFiltersFixed(false, 0);
} else {
var width = $('#listing__filters-cont').parent().width();
$('#listing__filters-cont').css('width', width + 'px');
}
scrollTimeout = null;
}, throttle);
}
});
function setFiltersFixed(fixed, height) {
var filtersContainer = $('#listing__filters-cont');
if (fixed) {
var width = filtersContainer.parent().width()
filtersContainer.next().css('margin-top', filtersContainer[0].offsetHeight + 'px');
filtersContainer.css('position', 'fixed');
filtersContainer.css('width', width + 'px');
filtersContainer.css('top', height + 'px');
} else {
filtersContainer.next().css('margin-top', '0px');
filtersContainer.css('position', 'relative');
filtersContainer.css('width', '100%');
filtersContainer.css('top', '0px');
}
}
}
function changeListingIcon(strIconClass) {
$("#listing__header--icon").removeClass().addClass(strIconClass);
}
function changeListingTitle(strTitle) {
$("#listing__header--title").html(strTitle);
}
function writeWebServiceData(data) {
strNumber = 1
$("#divAllItems").empty();
$("#lnkLoadMore").hide();
var dataLength = data.length
for (var i = 0; i < dataLength; i++) {
BindSubmitted(data[i]);
}
var resultDisplayed = strNumber - 1;
cmsgMsg = "";
if (data[dataLength - 1]["counter"] != null &&
data[dataLength - 1]["fields"].split(",").indexOf("action_download_report") == -1 &&
data[dataLength - 1]["fields"].split(",").indexOf("action_send_emails") == -1 &&
data[dataLength - 1]["fields"].split(",").indexOf("action_redirect_url") == -1 &&
data[dataLength - 1]["fields"].split(",").indexOf("action_generate_html") == -1 ) {
document.getElementById("counter_listing").innerHTML = "(" + parseInt(data[dataLength - 1]["counter"]) + ")";
if ( $("#counter_listing_select").length ) {
document.getElementById("counter_listing_select").innerHTML = parseInt(data[dataLength - 1]["counter"]);
}
if (parseInt(data[dataLength - 1]["counter"]) > resultDisplayed) {
$("#lnkLoadMore").show();
needToLoadMoreRecords = true;
}
else {
needToLoadMoreRecords = false;
}
if (resultDisplayed > 1) {
cmsgMsg = resultDisplayed + " results to your search";
}
else {
cmsgMsg = resultDisplayed + " result to your search";
}
}
cmsg(cmsgMsg, 1,0);
tb_init('a.ltb');
$('[data-toggle="tooltip"]').tooltip();
blockXhr = false;
}