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.
160 lines
7.4 KiB
160 lines
7.4 KiB
const event_category = (function ($, window, jQuery) {
|
|
return {
|
|
showOnlineEventFields() {
|
|
$("#event_total_seats_available").hide();
|
|
$("#event_seats_available").hide();
|
|
$("#event_reservation_date").hide();
|
|
$("#event_sched_date_moderation_setting").hide();
|
|
$("#event_sched_url").show();
|
|
},
|
|
|
|
showPaidEventFields() {
|
|
$("#event_sched_date_moderation_setting").hide();
|
|
$("#event_sched_url").show();
|
|
$("#event_sched_item_code").show();
|
|
},
|
|
|
|
resetFields() {
|
|
$("#event_total_seats_available").show();
|
|
$("#event_seats_available").show();
|
|
$("#event_reservation_date").show();
|
|
$("#event_sched_date_moderation_setting").show();
|
|
$("#event_sched_url").hide();
|
|
$("#event_sched_item_code").hide();
|
|
},
|
|
|
|
showFields (eventCat) {
|
|
if (eventCat == 'online_event') {
|
|
event_category.showOnlineEventFields();
|
|
} else {
|
|
event_category.showPaidEventFields();
|
|
}
|
|
},
|
|
|
|
// check_event_category(row) {
|
|
// // Get type of event
|
|
// const eventCategory = $("form#eventForm").data('event_category');
|
|
// if (eventCategory && eventCategory.toLowerCase() !== 'regular_event') {
|
|
// event_category.showFields(eventCategory.toLowerCase());
|
|
// $("form#event_schedule_form").data('event_category', eventCategory);
|
|
// } else if (row.toString().indexOf("_") != -1) {
|
|
// row = row.split("_")[0];
|
|
// const eventInfo = $("#events_list").DataTable().row(parseInt(row)).data()
|
|
// if (eventInfo && eventInfo.event_category && eventInfo.event_category.toLowerCase() !== 'regular_event') {
|
|
// event_category.showFields(eventInfo.event_category.toLowerCase());
|
|
// $("form#event_schedule_form").data('event_category', eventInfo.event_category);
|
|
// }
|
|
// } else {
|
|
// event_category.resetFields();
|
|
// }
|
|
// },
|
|
|
|
set_date_feature: (eventCategory) => {
|
|
// Add selected category
|
|
if (eventCategory == 'ONLINE_EVENT') {
|
|
$("#event_seat_feature").hide();
|
|
$("#event_multiple_reservation_reg").hide();
|
|
$("#event_multiple_reservation_wl").hide();
|
|
} else {
|
|
$("#event_seat_feature").show();
|
|
$("#event_multiple_reservation_reg").show();
|
|
$("#event_multiple_reservation_wl").show();
|
|
}
|
|
},
|
|
|
|
event_maingrid_subgrid_cols : (rowdata) => {
|
|
let requiredColsTd = ["start_date_time", "end_date_time"];
|
|
let requiredColsTh = `
|
|
<th>Date de commencement de session</th>
|
|
<th>Date de fin de session</th>`;
|
|
return {
|
|
requiredColsTd,
|
|
requiredColsTh
|
|
}
|
|
},
|
|
|
|
// event_maingrid_subgrid_cols : (rowdata) => {
|
|
// let requiredColsTd = ["reservation_start_date", "start_date_time", "end_date_time", "remaining_seat", "event_status", "back_office_status"];
|
|
// let requiredColsTh = `
|
|
// <th title="Date de réservation">Date de réserv..</th>
|
|
// <th>Date de début</th>
|
|
// <th>Date de fin</th>
|
|
// <th>Sièges restants</th>
|
|
// ${(rowdata.event_category == 'REGULAR_EVENT') ? '<th>NoShow</th>' : ''}
|
|
// <th title="Statut d’événement">Statut d’événe..</th>
|
|
// <th title="Statut dans Back office">Statut dans Back off..</th>`;
|
|
// let actionWidth = 30;
|
|
|
|
// if (rowdata.event_category == 'ONLINE_EVENT') {
|
|
// requiredColsTd = ["start_date_time", "end_date_time", "event_status", "back_office_status"];
|
|
// requiredColsTh = ` <th>Date de début</th>
|
|
// <th>Date de fin</th>
|
|
// <th title="Statut d’événement">Statut d’événement</th>
|
|
// <th title="Statut dans Back office">Statut dans Back office</th>`;
|
|
// actionWidth = 7;
|
|
// }
|
|
|
|
// return {
|
|
// requiredColsTd,
|
|
// requiredColsTh,
|
|
// actionWidth
|
|
// }
|
|
// },
|
|
|
|
event_modal_sched_grid: (eventCategory) => {
|
|
const hideColumns = eventCategory ? (eventCategory == 'ONLINE_EVENT' ? true : false ) : false;
|
|
const hideNoshowColumn = eventCategory ? (eventCategory != 'ONLINE_EVENT' ? true : false ) : false;
|
|
const actionWidth = hideColumns ? "10%" : "100%";
|
|
return [
|
|
{"data": "event_schedule_id", defaultContent: null, "orderable": false, "visible" : false,
|
|
"render" : function(data, type, full, meta) {
|
|
return data;
|
|
}
|
|
},
|
|
{"data" : null, defaultContent: null, orderable : false,
|
|
render : function(data, type, full, meta) {
|
|
return (meta.row + 1);
|
|
}
|
|
},
|
|
{"data": "action", "width": actionWidth, defaultContent: null, "orderable": false,
|
|
"render": event_schedule.grid.action
|
|
},
|
|
{"data": "start_date_time", "orderable": false, defaultContent: null},
|
|
{"data": "end_date_time", "orderable": false, defaultContent: null},
|
|
{"data": "reservation_start_date", "orderable": false, defaultContent: null, visible: !hideColumns},
|
|
{"data": "reservation_end_date", "orderable": false, defaultContent: null, visible: !hideColumns},
|
|
{"data": "event_status", "orderable": false, defaultContent: null,
|
|
render : function(data, type, full, meta) {
|
|
if(data!= null){
|
|
return app.get_vars().events.event_status[data.toLowerCase()];
|
|
}
|
|
return null;
|
|
}
|
|
},
|
|
{"data": "back_office_status", defaultContent: null, "orderable": !hideColumns,
|
|
render : function(data, type, full, meta) {
|
|
if(data!= null){
|
|
return app.get_vars().events.bo_status['bostat'+data];
|
|
}
|
|
return null;
|
|
}
|
|
},
|
|
{"data": "total_available_remaining_seat", "orderable": false, visible: !hideColumns},
|
|
{"data": "noshow", "orderable": false, visible: !hideNoshowColumn},
|
|
{"data": "total_quota_waiting_list_seat", "orderable": false, visible: !hideColumns},
|
|
{"data": "seats_per_subscriber", "orderable": false, visible: !hideColumns}
|
|
];
|
|
},
|
|
|
|
event_modal_sched_grid_responsive_cols : (eventCategory) => {
|
|
return ( eventCategory && eventCategory != 'ONLINE_EVENT') ? [
|
|
{ responsivePriority: 1, className:'column2', targets: 2, width:"50%" },
|
|
{ responsivePriority: 2, className:'none', targets: 8 },
|
|
{ className:'column9', targets: 9 },
|
|
// { className:'column10_11', targets: [10,11] }
|
|
] : [];
|
|
}
|
|
|
|
};//end of return
|
|
// Pass in jQuery.
|
|
})(jQuery, this);
|