document.addEventListener(‘click’, (e) => {
const el = e.target.closest(‘[go-lightbox]’);
if (!el) return;
e.preventDefault();
let this_call = el.getAttribute('data-go-callback');
let this_ajax_call = el.getAttribute('data-go-ajax-callback');
let call_params_fn = el.getAttribute('data-go-callback-params');
let content_callback = el.getAttribute('data-go-content-callback');
let video_url = el.getAttribute('data-go-video-url');
let video_width = el.getAttribute('data-go-video-width');
let attr_image_url = el.getAttribute('data-go-image');
let close_label = el.getAttribute('data-go-close-label');
let callback_params = {};
if (typeof call_params_fn === 'string' && call_params_fn !== '' && typeof window[call_params_fn] === 'function') {
callback_params = window[call_params_fn]();
}
callback_params = (typeof callback_params !== 'undefined' && callback_params) ? callback_params : {};
if (typeof content_callback !== 'string') {
content_callback = '';
}
// 👉 базові params
let params = {};
// 👉 додаємо close label якщо є
if (close_label) {
params.close_btn_sett = {
label: close_label
};
}
// 👉 video
if (typeof video_url === 'string' && video_url) {
let max_width = (typeof video_width === 'string' && video_width) ? video_width : '';
params.embed_url = video_url;
params.max_width = max_width;
this.lightbox_open(params, el);
return;
}
// 👉 image
if (typeof attr_image_url === 'string' && attr_image_url) {
params.image_url = attr_image_url;
this.lightbox_open(params, el);
return;
}
// 👉 ajax
if (typeof this_ajax_call === 'string' && this_ajax_call !== '') {
params.callback_ajax = this_ajax_call;
params.callback_ajax_params = callback_params;
params.data_go_content_callback = content_callback;
this.lightbox_open(params, el);
return;
}
// 👉 callback
if (typeof this_call === 'string' && this_call !== '') {
params.data_go_callback = this_call;
params.callback_ajax_params = callback_params;
this.lightbox_open(params, el);
return;
}
});