|
Server : Apache/2.4.41 (Ubuntu) System : Linux vmi1525618.contaboserver.net 5.4.0-105-generic #119-Ubuntu SMP Mon Mar 7 18:49:24 UTC 2022 x86_64 User : www-data ( 33) PHP Version : 8.2.12 Disable Function : NONE Directory : /var/www/lecturebazaar.com/resources/js/admin/ |
Upload File : |
(function ($) {
"use strict";
function handleSelect2() {
const $select = $('.related-course-select2');
$select.select2({
placeholder: $select.data('placeholder'),
minimumInputLength: 3,
allowClear: true,
ajax: {
url: adminPanelPrefix + '/webinars/search',
dataType: 'json',
type: "POST",
quietMillis: 50,
data: function (params) {
var queryParameters = {
term: params.term,
webinar_id: $select.data('webinar-id')
}
return queryParameters;
},
processResults: function (data) {
return {
results: $.map(data, function (item) {
return {
text: item.title,
id: item.id
}
})
};
}
}
});
}
function getModalByPath(path) {
loadingSwl();
$.get(path, function (result) {
if (result.code === 200) {
Swal.fire({
html: result.html,
showCancelButton: false,
showConfirmButton: false,
customClass: {
content: 'p-0 text-left',
},
width: '32rem',
onOpen: () => {
handleSelect2()
}
});
}
})
}
$('body').on('click', '#addRelatedCourse', function (e) {
e.preventDefault();
const path = $(this).attr('data-path')
getModalByPath(path)
});
$('body').on('click', '.js-edit-related-course', function (e) {
e.preventDefault();
const path = $(this).attr('data-path')
getModalByPath(path)
})
$('body').on('click', '#saveRelateCourse', function (e) {
e.preventDefault();
const $this = $(this);
let form = $this.closest('.js-related-course-form');
let data = serializeObjectByTag(form);
let action = form.attr('data-action');
$this.addClass('loadingbar primary').prop('disabled', true);
form.find('input').removeClass('is-invalid');
form.find('textarea').removeClass('is-invalid');
$.post(action, data, function (result) {
if (result && result.code === 200) {
//window.location.reload();
Swal.fire({
icon: 'success',
html: '<h3 class="font-20 text-center text-dark-blue py-25">' + result.title + '</h3>',
showConfirmButton: false,
width: '25rem',
});
setTimeout(() => {
window.location.reload();
}, 500)
}
}).fail(err => {
$this.removeClass('loadingbar primary').prop('disabled', false);
var errors = err.responseJSON;
if (errors && errors.errors) {
Object.keys(errors.errors).forEach((key) => {
const error = errors.errors[key];
let element = form.find('.js-ajax-' + key);
element.addClass('is-invalid');
element.parent().find('.invalid-feedback').text(error[0]);
});
}
})
});
})(jQuery);