You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
936 lines
27 KiB
936 lines
27 KiB
/*!
|
|
* jQuery.ellipsis
|
|
* https://github.com/jjenzz/jquery.ellipsis
|
|
* --------------------------------------------------------------------------
|
|
* Copyright (c) 2013 J. Smith (@jjenzz)
|
|
* Dual licensed under the MIT and GPL licenses:
|
|
* https://www.opensource.org/licenses/mit-license.php
|
|
* http://www.gnu.org/licenses/gpl.html
|
|
*
|
|
* adds a class to the last 'allowed' line of text so you can apply
|
|
* text-overflow: ellipsis;
|
|
*/
|
|
(function (a) {
|
|
$(".reservationlist").show();
|
|
$(".waitlistlist").hide();
|
|
$(".historylist").hide();
|
|
$(".leftNav").removeClass("tabline-left");
|
|
$(".middleNav").removeClass("tabline");
|
|
$(".middleNav").addClass("tabline-right");
|
|
|
|
$("#myres").click(function () {
|
|
$(".middleNav").addClass("tabline-right");
|
|
$(".middleNav").removeClass("tabline-left");
|
|
$(".leftNav").removeClass("tabline-left");
|
|
$(".reservationlist").show();
|
|
$(".waitlistlist").hide();
|
|
$(".historylist").hide();
|
|
});
|
|
|
|
$("#mywait").click(function () {
|
|
$(".reservationlist").hide();
|
|
$(".waitlistlist").show();
|
|
$(".historylist").hide();
|
|
$(".middleNav").removeClass("tabline-right");
|
|
$(".middleNav").removeClass("tabline-left");
|
|
});
|
|
|
|
$("#myreshis").click(function () {
|
|
$(".middleNav").addClass("tabline-left");
|
|
$(".middleNav").removeClass("tabline-right");
|
|
$(".reservationlist").hide();
|
|
$(".waitlistlist").hide();
|
|
$(".historylist").show();
|
|
});
|
|
|
|
if (typeof define === "function" && define.amd) {
|
|
define(["jquery"], a);
|
|
} else {
|
|
a(jQuery);
|
|
}
|
|
})(function (d) {
|
|
var c = "ellipsis",
|
|
b = '<span style="white-space: nowrap;">',
|
|
e = {
|
|
lines: "auto",
|
|
ellipClass: "ellip",
|
|
responsive: false,
|
|
};
|
|
|
|
function a(h, q) {
|
|
var m = this,
|
|
w = 0,
|
|
g = [],
|
|
k,
|
|
p,
|
|
i,
|
|
f,
|
|
j,
|
|
n,
|
|
s;
|
|
m.$cont = d(h);
|
|
m.opts = d.extend({}, e, q);
|
|
|
|
function o() {
|
|
m.text = m.$cont.text();
|
|
m.opts.ellipLineClass = m.opts.ellipClass + "-line";
|
|
m.$el = d('<span class="' + m.opts.ellipClass + '" />');
|
|
m.$el.text(m.text);
|
|
m.$cont.empty().append(m.$el);
|
|
t();
|
|
}
|
|
|
|
function t() {
|
|
if (typeof m.opts.lines === "number" && m.opts.lines < 2) {
|
|
m.$el.addClass(m.opts.ellipLineClass);
|
|
return;
|
|
}
|
|
n = m.$cont.height();
|
|
if (m.opts.lines === "auto" && m.$el.prop("scrollHeight") <= n) {
|
|
return;
|
|
}
|
|
if (!k) {
|
|
return;
|
|
}
|
|
s = d.trim(m.text).split(/\s+/);
|
|
m.$el.html(b + s.join("</span> " + b) + "</span>");
|
|
m.$el.find("span").each(k);
|
|
if (p != null) {
|
|
u(p);
|
|
}
|
|
}
|
|
|
|
function u(x) {
|
|
s[x] = '<span class="' + m.opts.ellipLineClass + '">' + s[x];
|
|
s.push("</span>");
|
|
m.$el.html(s.join(" "));
|
|
}
|
|
if (m.opts.lines === "auto") {
|
|
var r = function (y, A) {
|
|
var x = d(A),
|
|
z = x.position().top;
|
|
j = j || x.height();
|
|
if (z === f) {
|
|
g[w].push(x);
|
|
} else {
|
|
f = z;
|
|
w += 1;
|
|
g[w] = [x];
|
|
}
|
|
if (z + j > n) {
|
|
p = y - g[w - 1].length;
|
|
return false;
|
|
}
|
|
};
|
|
k = r;
|
|
}
|
|
if (typeof m.opts.lines === "number" && m.opts.lines > 1) {
|
|
var l = function (y, A) {
|
|
var x = d(A),
|
|
z = x.position().top;
|
|
if (z !== f) {
|
|
f = z;
|
|
w += 1;
|
|
}
|
|
if (w === m.opts.lines) {
|
|
p = y;
|
|
return false;
|
|
}
|
|
};
|
|
k = l;
|
|
}
|
|
if (m.opts.responsive) {
|
|
var v = function () {
|
|
g = [];
|
|
w = 0;
|
|
f = null;
|
|
p = null;
|
|
m.$el.html(m.text);
|
|
clearTimeout(i);
|
|
i = setTimeout(t, 100);
|
|
};
|
|
d(window).on("resize." + c, v);
|
|
}
|
|
o();
|
|
}
|
|
d.fn[c] = function (f) {
|
|
return this.each(function () {
|
|
try {
|
|
d(this).data(c, new a(this, f));
|
|
} catch (g) {
|
|
if (window.console) {
|
|
console.error(c + ": " + g);
|
|
}
|
|
}
|
|
});
|
|
};
|
|
});
|
|
|
|
var events = (function ($, window, jQuery) {
|
|
var _vars_ = {};
|
|
var guest_max;
|
|
var guest_number = 0;
|
|
var reserved_seats;
|
|
|
|
return {
|
|
set_vars: function (options) {
|
|
$.extend(_vars_, options || {});
|
|
},
|
|
|
|
get_vars: function () {
|
|
return _vars_;
|
|
},
|
|
set_reservations_header: function (res_type) {
|
|
// set my reservations header.
|
|
|
|
//general informations
|
|
$.ajax({
|
|
url:
|
|
app.get_vars().baseurl +
|
|
"events/reservations/get_reservations_info/" +
|
|
res_type,
|
|
type: "GET",
|
|
cache: false,
|
|
data: {},
|
|
beforeSend: function () {
|
|
// $("#events_list").append('<p class="text-center"><i class="fa fa-spin fa-spinner"/> '+app.get_vars()._app.notif.loading+'</p>');
|
|
},
|
|
success: function (result) {
|
|
if (app.isalive(result)) {
|
|
$("span.confirmed_reservations").html(result.mdata["normal_res"]);
|
|
$("span.waiting_reservations").html(result.mdata["waitlist_res"]);
|
|
$("span.total_reservations").html(result.mdata["total_res"]);
|
|
$("span.total_reservation_count_off_mod").html(
|
|
result.mdata["nr_total_events"]
|
|
);
|
|
|
|
/*Name of user*/
|
|
// $('.first_name').html(app.get_vars()._app.msg.first_name);
|
|
|
|
/*Total events the user participated in Normal reservations, WL and my history*/
|
|
var wl_counter, mh_counter, nr_total_res_counter, cancel_wl_counter;
|
|
wl_counter = result.mdata["total_waitlist_active_res"];
|
|
cancel_wl_counter = result.mdata["total_waitlist_cancel_res"];
|
|
mh_counter = result.mdata["mh_total_events"];
|
|
nr_total_res_counter = result.mdata["nr_total_events"];
|
|
|
|
if (cancel_wl_counter > 1) {
|
|
$("span.total_waitlist_cancel_res").html(
|
|
" <b>" +
|
|
cancel_wl_counter +
|
|
" </b> événements sur liste d’attente annulés."
|
|
);
|
|
}
|
|
if (cancel_wl_counter == 1) {
|
|
$("span.total_waitlist_cancel_res").html(
|
|
" <b>" +
|
|
cancel_wl_counter +
|
|
" </b> événement sur liste d’attente annulé."
|
|
);
|
|
}
|
|
if (cancel_wl_counter == 0 || cancel_wl_counter == "") {
|
|
$("span.total_waitlist_cancel_res").html("");
|
|
}
|
|
|
|
$("span.total_waitlist_active_res").html(
|
|
result.mdata["total_waitlist_active_res"]
|
|
);
|
|
$("span.total_moderated_waitlist_res_events").html(
|
|
result.mdata["total_moderated_waitlist_res_events"]
|
|
);
|
|
$("span.mh_total_events").html(result.mdata["mh_total_events"]);
|
|
|
|
/*Add 's' to evenement if the total event is more than 1*/
|
|
if (nr_total_res_counter > 1) {
|
|
$("span#add_s_nr_res").html("s");
|
|
} else {
|
|
$("span#add_s_nr_res").html("");
|
|
}
|
|
|
|
/*Add 's' to evenement if the total waitlist event is more than 1*/
|
|
if (wl_counter > 1) {
|
|
$("span#add_s_wl").html("s");
|
|
} else {
|
|
$("span#add_s_wl").html("");
|
|
}
|
|
|
|
/*Add 's' to evenement if the total history event is more than 1*/
|
|
if (mh_counter > 1) {
|
|
$("span#add_s_mh").html("s");
|
|
} else {
|
|
$("span#add_s_mh").html("");
|
|
}
|
|
|
|
$.ajax({
|
|
url: app.get_vars().baseurl + "getMyReservationsInfo/",
|
|
type: "GET",
|
|
cache: false,
|
|
async: false,
|
|
data: {},
|
|
beforeSend: function () {
|
|
// $("#events_list").append('<p class="text-center"><i class="fa fa-spin fa-spinner"/> '+app.get_vars()._app.notif.loading+'</p>');
|
|
},
|
|
success: function (result1) {
|
|
if (app.isalive(result1)) {
|
|
try {
|
|
if (result1.res_period) {
|
|
$(".remaining_res_based_on_mod").html(
|
|
`${result1.remaining_res_current_period} ${result1.res_period}`
|
|
);
|
|
|
|
var res_counter,
|
|
res_rem_crt_prd_counter,
|
|
res_rem_nxt_prd_counter;
|
|
res_counter = result1.total_reservation_count;
|
|
res_rem_crt_prd_counter =
|
|
result1.remaining_res_current_period;
|
|
res_rem_nxt_prd_counter =
|
|
result1.remaining_res_next_period;
|
|
|
|
/*Set dynamic data*/
|
|
if (result1.cancel_events_count > 1) {
|
|
$("span.total_cancel_reservation_count").html(
|
|
"<b> " +
|
|
result1.cancel_events_count +
|
|
"</b> événements annulés."
|
|
);
|
|
}
|
|
if (result1.cancel_events_count == 1) {
|
|
$("span.total_cancel_reservation_count").html(
|
|
"<b> " +
|
|
result1.cancel_events_count +
|
|
"</b> événement annulé."
|
|
);
|
|
}
|
|
|
|
if (
|
|
result1.cancel_events_count == 0 ||
|
|
result1.cancel_events_count == ""
|
|
) {
|
|
$("span.total_cancel_reservation_count").html("");
|
|
}
|
|
|
|
$("span.total_reservation_count").text(
|
|
result1.total_reservation_count
|
|
);
|
|
$("span.total_reservation_mod_event_count").html(
|
|
result1.total_reservation_mod_event_count
|
|
);
|
|
$("span.remaining_res_current_period").html(
|
|
result1.remaining_res_current_period
|
|
);
|
|
$("span.remaining_res_next_period").html(
|
|
result1.remaining_res_next_period
|
|
);
|
|
|
|
/*If gen_modd_sett is off hide the total mod_current/next period res*/
|
|
if (result1.gen_mod_sett < 1) {
|
|
$(".off_gen_mod_sett").removeClass("hide_wrd");
|
|
$(".on_gen_mod_sett").addClass("hide_wrd");
|
|
$(".ftr_mod_notif").addClass("hide_wrd");
|
|
} else {
|
|
$(".off_gen_mod_sett").addClass("hide_wrd");
|
|
$(".on_gen_mod_sett").removeClass("hide_wrd");
|
|
$(".ftr_mod_notif").removeClass("hide_wrd");
|
|
}
|
|
|
|
/*Add 's' to evenement if the total reserved event is more than 1*/
|
|
if (res_counter > 1) {
|
|
$("span#add_s_res").html("s");
|
|
} else {
|
|
$("span#add_s_res").html("");
|
|
}
|
|
|
|
/*Add 's' to evenement and demande if remaining_res_current_period > 1*/
|
|
if (res_rem_crt_prd_counter > 1) {
|
|
$("span.add_limit").text("");
|
|
$("span.add_wrd_restants").text("restants");
|
|
$("span.add_wrd_demandes").text("demandés");
|
|
$("span.add_wrd_events").text("événements");
|
|
} else if (res_rem_crt_prd_counter == 1) {
|
|
$("span.add_limit").text("");
|
|
$("span.add_wrd_restants").text("restant");
|
|
$("span.add_wrd_demandes").text("demandé");
|
|
$("span.add_wrd_events").text("événement");
|
|
} else {
|
|
$("span.remaining_res_current_period").html(
|
|
result1.max_res
|
|
);
|
|
$("span.add_wrd_limit").text("limite de ");
|
|
$("span.add_wrd_restants").text("atteinte");
|
|
$("span.add_wrd_events").text("événements");
|
|
$("span.add_wrd_demandes").text("demandés");
|
|
}
|
|
|
|
/*Add 's' to evenement and demande if remaining_res_next_period > 1*/
|
|
if (res_rem_nxt_prd_counter > 1) {
|
|
$("span.add_limit3").text("");
|
|
$("span.add_wrd_restants3").text("restants");
|
|
$("span.add_wrd_demandes3").text("demandés");
|
|
$("span.add_wrd_events3").text("événements");
|
|
} else if (res_rem_nxt_prd_counter == 1) {
|
|
$("span.add_limit3").text("");
|
|
$("span.add_wrd_restants3").text("restant");
|
|
$("span.add_wrd_demandes3").text("demandé");
|
|
$("span.add_wrd_events3").text("événement");
|
|
} else {
|
|
$("span.remaining_res_next_period").html(
|
|
result1.max_res
|
|
);
|
|
$("span.add_wrd_limit3").text("limite de ");
|
|
$("span.add_wrd_restants3").text("atteinte");
|
|
$("span.add_wrd_events3").text("événements");
|
|
$("span.add_wrd_demandes3").text("demandés");
|
|
}
|
|
|
|
$("span.res_period2").html(result1.res_period2);
|
|
$("span.res_period3").html(result1.res_period3);
|
|
|
|
$("span.when_can_reserve").html(result1.when_can_reserve);
|
|
|
|
if (result1.remaining_res == 0) {
|
|
$(".nr_exceeded_msg").removeAttr("hidden");
|
|
}
|
|
|
|
// $('.my_res_gen_header').append(
|
|
// `<small><span class="allowed_reservations">* Out of ${result1.max_res} maximum reservations, you have ${result1.remaining_res} remaining reservations left for moderated events for ${result1.res_period}</span></small><br />`
|
|
// )
|
|
}
|
|
// if (result1.nshow_period) {
|
|
// $('.my_res_gen_header').append(
|
|
// `<small><span class="allowed_reservations">* Out of ${result1.max_noshow} maximum noshow(s), you have ${result1.total_noshow} noshow(s) for the past ${result1.nshow_period} . If you reach the limit for the said period, you will not be allowed to reserve on moderated events</span></small>`
|
|
// )
|
|
// }
|
|
} catch (e) {
|
|
} finally {
|
|
}
|
|
}
|
|
},
|
|
});
|
|
}
|
|
},
|
|
});
|
|
//moderation infos
|
|
},
|
|
|
|
filter: function (page, res_type) {
|
|
if ($(window).width() > 568) {
|
|
var month = $(".filter-box.desktop #filter-month").val();
|
|
var type = $(".filter-box.desktop #filter-type").val();
|
|
var city = $(".filter-box.desktop #filter-city").val();
|
|
} else {
|
|
var month = $(".filter-box.mobile #filter-month").val();
|
|
var type = $(".filter-box.mobile #filter-type").val();
|
|
var city = $(".filter-box.mobile #filter-city").val();
|
|
}
|
|
var search_keyword;
|
|
switch (res_type) {
|
|
case 1:
|
|
search_keyword = $("#search_mres_history").val();
|
|
break;
|
|
case 2:
|
|
search_keyword = $("#search_mwait").val();
|
|
break;
|
|
default:
|
|
search_keyword = $("#search_mres").val();
|
|
}
|
|
|
|
$.ajax({
|
|
url:
|
|
app.get_vars().baseurl +
|
|
"events/reservations/filter_reservations/" +
|
|
res_type,
|
|
type: "GET",
|
|
cache: false,
|
|
data: {
|
|
month: month,
|
|
type: type,
|
|
city: city,
|
|
page: page,
|
|
search: search_keyword,
|
|
},
|
|
beforeSend: function () {
|
|
// $("#events_list").append('<p class="text-center"><i class="fa fa-spin fa-spinner"/> '+app.get_vars()._app.notif.loading+'</p>');
|
|
},
|
|
success: function (result) {
|
|
if (app.isalive(result)) {
|
|
// if ($(window).width() >= 992) {
|
|
// if (result.mdata.result_count <= 3) $('#events-list').height(620);
|
|
// else $('#events-list').height(1240);
|
|
// }
|
|
switch (res_type) {
|
|
case 1:
|
|
$("#events-list-history").empty();
|
|
$("#paginate2").empty();
|
|
break;
|
|
case 2:
|
|
$("#events-list-waitlist").empty();
|
|
$("#paginate3").empty();
|
|
break;
|
|
default:
|
|
$("#events-list").empty();
|
|
$("#paginate").empty();
|
|
}
|
|
events._format._event(page, result, res_type);
|
|
}
|
|
$(".myres_search .fa-spin").remove();
|
|
},
|
|
});
|
|
},
|
|
|
|
_format: {
|
|
_event: function (page, result, res_type) {
|
|
//start listing events
|
|
var page = parseInt(page);
|
|
var count = 1;
|
|
var events_list = "";
|
|
var page_link = "";
|
|
var event_box = "";
|
|
var card_h_class = "h-10";
|
|
let additionalURLParam = "";
|
|
|
|
switch (parseInt(res_type)) {
|
|
case 0:
|
|
events_list_id = "#events-list";
|
|
events_list = $("#events-list");
|
|
page_link = $("#paginate");
|
|
event_box = "event-box-";
|
|
break;
|
|
case 1:
|
|
card_h_class = "h-10";
|
|
events_list_id = "#events-list-history";
|
|
events_list = $("#events-list-history");
|
|
page_link = $("#paginate2");
|
|
event_box = "event-box-mresh";
|
|
additionalURLParam = "&hs=true";
|
|
break;
|
|
case 2:
|
|
events_list_id = "#events-list-waitlist";
|
|
events_list = $("#events-list-waitlist");
|
|
page_link = $("#paginate3");
|
|
event_box = "event-box-mwait";
|
|
break;
|
|
default:
|
|
}
|
|
|
|
events_list.empty();
|
|
page_link.empty();
|
|
|
|
if (typeof result.mdata != "undefined") {
|
|
if ($.isEmptyObject(result.mdata.details)) {
|
|
// events_list.height(200);
|
|
if (result.mdata.logged_in) {
|
|
events_list.append(
|
|
"<div class='col-md-12 events-list-empty'>" +
|
|
"<h2 class='text-center'>" +
|
|
app.get_vars()._app.no_match_found +
|
|
"</h2>" +
|
|
"</div>"
|
|
);
|
|
} else {
|
|
events_list.append(
|
|
"<div class='col-md-12 events-list-empty'>" +
|
|
"<h2 class='text-center'>" +
|
|
app.get_vars()._app.no_results_found +
|
|
"</h2>" +
|
|
"</div>"
|
|
);
|
|
}
|
|
} else {
|
|
var row_items = [],
|
|
records_count = result.mdata.details.length;
|
|
$.each(result.mdata.details, function (i, item) {
|
|
eventDetails = result.mdata.details;
|
|
var imges = "";
|
|
var fav = "";
|
|
var fav_text = "";
|
|
var favlink = "";
|
|
// var event_schedule_id = item.bostatus.split("_");
|
|
let annule = "";
|
|
|
|
if (item.event_favorite != null && item.event_favorite != "") {
|
|
favlink = "favlink";
|
|
// fav =
|
|
// "<img id='favorite-img' src='" +
|
|
// app.get_vars().baseurl +
|
|
// "resources/images/M.jpg" +
|
|
// "' alt='" +
|
|
// item.title +
|
|
// "' class='img-responsive'> ";
|
|
fav_text = "En partenariat avec <i>Company For Madagascar</i>";
|
|
}
|
|
|
|
if (
|
|
(item.event_status[0]["event_status"] == "CANCEL" &&
|
|
item.date_feature == 1) ||
|
|
(item.event_status[0]["event_status"] == "CANCEL" &&
|
|
item.date_feature == 2) ||
|
|
(item.date_feature == 2 &&
|
|
item.event_count == item.cancel_count)
|
|
) {
|
|
annule =
|
|
"<a href='" +
|
|
app.get_vars().baseurl +
|
|
"event_details?event_id=" +
|
|
item.event_id +
|
|
"' class='event-link'><span style='position: absolute; color: #fff; height: 100%; background-color: #00000094; text-align: center; width: 100%; padding-top: 4.5rem; font-size: 2.5rem; font-family: Arial !important;'>ANNULÉ</span></a>";
|
|
}
|
|
row_items.push({
|
|
event:
|
|
`<div class="col-md-4 col-sm-6 col-12 mt-3 mb-3" style="align-items: initial;">
|
|
<div class="card ` +
|
|
favlink +
|
|
`" data-eventsched-id='${
|
|
item.event_schedule_id
|
|
}' data-eventid='${
|
|
item.event_id
|
|
}' data-restype-id="${res_type}">
|
|
<div class="wrapperimg">
|
|
<a href='${
|
|
app.get_vars().baseurl
|
|
}event_details?event_id=${
|
|
item.event_id
|
|
}${additionalURLParam}' class='event-link'>
|
|
<img src='${app.get_vars().baseurl}resources/images/frontoffice/events/${item.file_name}' alt='${item.title}' class='card-img-top'>
|
|
<p class="eventcat-overlay"><span class="eventcat event-type" id='hp-event-type-city${item.event_schedule_id}'>${item.event_type.toUpperCase()}</span></p>
|
|
</a>
|
|
` +
|
|
annule +
|
|
`
|
|
</div>
|
|
<div class="card-body">
|
|
<br/>
|
|
<div><h5 class="card-title"><p class='event-card-title'>` +
|
|
fav +
|
|
` ${item.title}</p></h5></div>
|
|
<p class="eventdate" id='hp-event-date${item.event_schedule_id}'></p>
|
|
<div class="eventcontent">
|
|
<span class="favorites">` +
|
|
fav_text +
|
|
`</span>
|
|
<div class="event-desc">
|
|
<p class="card-text" >${item.description}</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="card-footer ` +
|
|
favlink +
|
|
` ${card_h_class}" id='${event_box}${i}'>
|
|
<div style="line-height:3;" class="` +
|
|
favlink +
|
|
`"><p class="mb-2"><a class='event-link' href="${
|
|
app.get_vars().baseurl
|
|
}event_details?event_id=${
|
|
item.event_id
|
|
}${additionalURLParam}">${
|
|
app.get_vars()._app.read_more
|
|
} »</a></p></div>
|
|
</div>
|
|
</div>
|
|
</div>`,
|
|
row: [i, parseInt(item.event_schedule_id)],
|
|
});
|
|
|
|
if (events._format._margin(records_count, i + 1)) {
|
|
events_list.append(`<div class='card-deck mark${i}'> </div>`);
|
|
var detailsIndex = 0;
|
|
$.map(row_items, function (row_item, key) {
|
|
$(events_list_id + " .mark" + i).append(row_item.event);
|
|
|
|
$(".event-desc").ellipsis({
|
|
lines: 3,
|
|
});
|
|
subscribe.button.setButtonStatus(
|
|
row_item.row[1],
|
|
1,
|
|
$("#" + event_box + row_item.row[0]),
|
|
res_type,
|
|
eventDetails[detailsIndex]
|
|
);
|
|
detailsIndex++;
|
|
});
|
|
|
|
row_items = []; // reset
|
|
}
|
|
|
|
count++;
|
|
});
|
|
|
|
// Pagination Links below
|
|
var totalpages = result.mdata.pages;
|
|
var range = 3;
|
|
if (page > 1) {
|
|
var previous = page - 1;
|
|
page_link.append(
|
|
"<li class='page-item'><a href='#1' class='page-link' data-page='1'>" +
|
|
"<<" +
|
|
"</a></li>"
|
|
);
|
|
page_link.append(
|
|
"<li class='page-item'><a href='#" +
|
|
previous +
|
|
"' class='page-link' data-page='" +
|
|
previous +
|
|
"'>" +
|
|
"<" +
|
|
"</a></li>"
|
|
);
|
|
}
|
|
for (x = page - range; x <= page + range; x++) {
|
|
if (x > 0 && x <= totalpages) {
|
|
if (x == page)
|
|
page_link.append(
|
|
"<li class='page-item'><a href='#" +
|
|
x +
|
|
"' class='page-link pagination-active' data-page='" +
|
|
x +
|
|
"'>" +
|
|
x +
|
|
"</a></li>"
|
|
);
|
|
else
|
|
page_link.append(
|
|
"<li class='page-item'><a href='#" +
|
|
x +
|
|
"' class='page-link' data-page='" +
|
|
x +
|
|
"'>" +
|
|
x +
|
|
"</a></li>"
|
|
);
|
|
}
|
|
}
|
|
if (page >= 1 && page < totalpages) {
|
|
var next = page + 1;
|
|
page_link.append(
|
|
"<li class='page-item'><a href='#" +
|
|
next +
|
|
"' class='page-link' data-page='" +
|
|
next +
|
|
"'>" +
|
|
">" +
|
|
"</a></li>"
|
|
);
|
|
page_link.append(
|
|
"<li class='page-item'><a href='#" +
|
|
totalpages +
|
|
"' class='page-link' data-page='" +
|
|
next +
|
|
"'>" +
|
|
">>" +
|
|
"</a></li>"
|
|
);
|
|
}
|
|
}
|
|
} //end of if result.mdata is defined
|
|
},
|
|
_margin: function (records_count, i) {
|
|
if (i % 6 === 0 || records_count === i) return true;
|
|
else return false;
|
|
},
|
|
|
|
strip_tags: function (element) {
|
|
var whitelist = "p,a";
|
|
$(element)
|
|
.not(whitelist)
|
|
.each(function () {
|
|
var content = $(this).contents();
|
|
$(this).replaceWith(content);
|
|
});
|
|
},
|
|
},
|
|
|
|
_change_hash: function () {
|
|
var page = location.hash.trim().replace("#", "");
|
|
if (parseInt(page)) {
|
|
window.location.hash = "";
|
|
} else {
|
|
events.filter(1, 0);
|
|
events.filter(1, 1);
|
|
events.filter(1, 2);
|
|
$("#filter-month").val();
|
|
}
|
|
},
|
|
|
|
getCookie: function (name) {
|
|
var value = "; " + document.cookie;
|
|
var parts = value.split("; " + name + "=");
|
|
if (parts.length == 2) return parts.pop().split(";").shift();
|
|
},
|
|
|
|
clear_cookie: function () {
|
|
$.ajax({
|
|
url: app.get_vars().baseurl + "events/subscribe/clear_link_cookie",
|
|
type: "GET",
|
|
success: function (result) {},
|
|
});
|
|
},
|
|
|
|
searchReservations: function (id) {
|
|
$(".myres_search .fa-spin").remove();
|
|
$(".myres_search ").prepend(
|
|
`<i class="fa fa-spin fa-spinner mr-2"></i> `
|
|
);
|
|
switch (id) {
|
|
case "search_mres":
|
|
events.filter(1, 0);
|
|
break;
|
|
case "search_mwait":
|
|
events.filter(1, 2);
|
|
break;
|
|
default:
|
|
events.filter(1, 1);
|
|
}
|
|
},
|
|
};
|
|
|
|
// Pass in jQuery.
|
|
})(jQuery, this);
|
|
|
|
$(function () {
|
|
$(window).on("orientationchange", function () {
|
|
if (window.orientation == 0) {
|
|
var m = $(".filter-box.desktop #filter-month").val();
|
|
var month = $(".filter-box.mobile #filter-month").val(m);
|
|
var t = $(".filter-box.desktop #filter-type").val();
|
|
var type = $(".filter-box.mobile #filter-type").val(t);
|
|
var c = $(".filter-box.desktop #filter-city").val();
|
|
var city = $(".filter-box.mobile #filter-city").val(c);
|
|
} else {
|
|
var m = $(".filter-box.mobile #filter-month").val();
|
|
var month = $(".filter-box.desktop #filter-month").val(m);
|
|
var t = $(".filter-box.mobile #filter-type").val();
|
|
var type = $(".filter-box.desktop #filter-type").val(t);
|
|
var c = $(".filter-box.mobile #filter-city").val();
|
|
var city = $(".filter-box.desktop #filter-city").val(c);
|
|
}
|
|
});
|
|
// Check Link Cookie
|
|
events.clear_cookie();
|
|
// events.show_session();
|
|
|
|
$(".hr-style").removeProp("border");
|
|
|
|
$("#collapse").on("hide.bs.collapse", function () {
|
|
$(".btn-filter-mobile").html('<i class="fa fa-plus"></i>');
|
|
});
|
|
$("#collapse").on("show.bs.collapse", function () {
|
|
$(".btn-filter-mobile").html('<i class="fa fa-minus"></i>');
|
|
});
|
|
|
|
$(window)
|
|
.on("hashchange", function (e) {
|
|
e.preventDefault();
|
|
active_tab = $(".nav-link.active").attr("id");
|
|
var page = location.hash.trim().replace("#", "");
|
|
page = parseInt(page) ? page : 1;
|
|
|
|
if (page) {
|
|
switch (active_tab) {
|
|
case "myreshis":
|
|
events.filter(page, 1);
|
|
break;
|
|
case "mywait":
|
|
events.filter(page, 2);
|
|
break;
|
|
default:
|
|
events.filter(page, 0);
|
|
}
|
|
}
|
|
return false;
|
|
})
|
|
.trigger("hashchange");
|
|
|
|
// Scroll to top
|
|
$(document)
|
|
.on("click", ".page-link", function () {
|
|
try {
|
|
$(".filter-view:visible")[0].scrollIntoView(true);
|
|
} catch (e) {}
|
|
})
|
|
.on("change", ".filter-select", function () {
|
|
try {
|
|
$(".filter-view:visible")[0].scrollIntoView(true);
|
|
} catch (e) {}
|
|
});
|
|
|
|
$(document).on("click", "#filter-box-mobile-toggle", function () {
|
|
$("#filter-box-mobile-toggle .plus").toggle();
|
|
$("#filter-box-mobile-toggle .minus").toggle();
|
|
});
|
|
|
|
// send events on filter change
|
|
$(document).on("change", "#filter-month", function () {
|
|
dataLayer.push({
|
|
fo_filter: undefined,
|
|
});
|
|
dataLayer.push({
|
|
fo_filter: this.value,
|
|
});
|
|
console.log("Filter month");
|
|
});
|
|
$(document).on("change", "#filter-type", function () {
|
|
dataLayer.push({
|
|
fo_filter: undefined,
|
|
});
|
|
dataLayer.push({
|
|
fo_filter: this.value,
|
|
});
|
|
console.log("Filter type");
|
|
});
|
|
$(document).on("change", "#filter-city", function () {
|
|
dataLayer.push({
|
|
fo_filter: undefined,
|
|
});
|
|
dataLayer.push({
|
|
fo_filter: this.value,
|
|
});
|
|
console.log("Filter city");
|
|
});
|
|
|
|
$(document).on("click", '[data-toggle="tab"]', function () {
|
|
var page = location.hash.trim().replace("#", "");
|
|
if (!$(this).hasClass("data_loaded")) {
|
|
$(this).addClass("data_loaded");
|
|
switch (this.id) {
|
|
case "mywait":
|
|
events.filter(1, 2);
|
|
break;
|
|
case "myreshis":
|
|
events.filter(1, 1);
|
|
break;
|
|
default:
|
|
}
|
|
}
|
|
if (this.id == "") {
|
|
} else {
|
|
// events.filter(1, 0);
|
|
}
|
|
// page = (parseInt(page))?page:1;
|
|
// if(page) {
|
|
// }
|
|
|
|
$(".event-desc").ellipsis({
|
|
lines: 3,
|
|
});
|
|
});
|
|
$(document).on("click", '[data-toggle="collapse"]', function () {
|
|
$(".event-desc").ellipsis({
|
|
lines: 3,
|
|
});
|
|
});
|
|
|
|
$(".search-input").on("keypress", function (e) {
|
|
if (e.which == 13) {
|
|
events.searchReservations(this.id);
|
|
e.preventDefault();
|
|
}
|
|
});
|
|
|
|
$(".search_btn").on("click", function (e) {
|
|
events.searchReservations($(this).data("input"));
|
|
e.preventDefault();
|
|
});
|
|
|
|
events.set_reservations_header(0);
|
|
});
|
|
|