File: /var/www/gestion-formularios.bdfschool/public/assets/js/authentication.js
(function ($) {
"use strict";
// ______________ Page Loading
$("#global-loader").fadeOut("slow");
// PAGE LOADING
$(window).on("load", function (e) {
$("#global-loader").fadeOut("slow");
})
// BACK TO TOP BUTTON
$(window).on("scroll", function (e) {
if ($(this).scrollTop() > 0) {
$('.scrollToTop').fadeIn('slow');
} else {
$('.scrollToTop').fadeOut('slow');
}
});
$(document).on("click", ".scrollToTop", function (e) {
$("html, body").animate({
scrollTop: 0
}, 0);
return false;
});
// QUANTITY CART INCREASE AND DECREASE
$('.add').on('click', function () {
var $qty = $(this).closest('div').find('.qty');
var currentVal = parseInt($qty.val());
if (!isNaN(currentVal)) {
$qty.val(currentVal + 1);
}
});
$('.minus').on('click', function () {
var $qty = $(this).closest('div').find('.qty');
var currentVal = parseInt($qty.val());
if (!isNaN(currentVal) && currentVal > 0) {
$qty.val(currentVal - 1);
}
});
// CHART CIRCLE
if ($('.chart-circle').length) {
$('.chart-circle').each(function () {
let $this = $(this);
$this.circleProgress({
fill: {
color: $this.attr('data-bs-color')
},
size: $this.height(),
startAngle: -Math.PI / 4 * 2,
emptyFill: '#edf0f5',
lineCap: 'round'
});
});
}
// MODAL
// SHOWING MODAL WITH EFFECT
$('.modal-effect').on('click', function (e) {
e.preventDefault();
var effect = $(this).attr('data-bs-effect');
$('#modaldemo8').addClass(effect);
});
// HIDE MODAL WITH EFFECT
$('#modaldemo8').on('hidden.bs.modal', function (e) {
$(this).removeClass(function (index, className) {
return (className.match(/(^|\s)effect-\S+/g) || []).join(' ');
});
});
// ______________ COVER IMAGE
$(".cover-image").each(function () {
var attr = $(this).attr('data-bs-image-src');
if (typeof attr !== typeof undefined && attr !== false) {
$(this).css('background', 'url(' + attr + ') center center');
}
});
// CARD
const DIV_CARD = 'div.card';
// TOOLTIP
var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'))
var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
return new bootstrap.Tooltip(tooltipTriggerEl)
})
// POPOVER
var popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]'))
var popoverList = popoverTriggerList.map(function (popoverTriggerEl) {
return new bootstrap.Popover(popoverTriggerEl)
})
// BY DEFAULT, BOOTSTRAP DOESN'T AUTO CLOSE POPOVER AFTER APPEARING IN THE PAGE
$(document).on('click', function (e) {
$('[data-bs-toggle="popover"],[data-original-title]').each(function () {
//the 'is' for buttons that trigger popups
//the 'has' for icons within a button that triggers a popup
if (!$(this).is(e.target) && $(this).has(e.target).length === 0 && $('.popover').has(e.target).length === 0) {
(($(this).popover('hide').data('bs.popover') || {}).inState || {}).click = false // fix for BS 3.3.6
}
});
});
// TOAST
// var toastElList = [].slice.call(document.querySelectorAll('.toast'))
// var toastList = toastElList.map(function (toastEl) {
// return new bootstrap.Toast(toastEl)
// })
// $(document).on("click", '#liveToastBtn', function () {
// $('.toast').toast('show');
// })
// FUNCTION FOR REMOVE CARD
$(document).on('click', '[data-bs-toggle="card-remove"]', function (e) {
let $card = $(this).closest(DIV_CARD);
$card.remove();
e.preventDefault();
return false;
});
// FUNCTIONS FOR COLLAPSED CARD
$(document).on('click', '[data-bs-toggle="card-collapse"]', function (e) {
let $card = $(this).closest(DIV_CARD);
$card.toggleClass('card-collapsed');
e.preventDefault();
return false;
});
// CARD FULL SCREEN
$(document).on('click', '[data-bs-toggle="card-fullscreen"]', function (e) {
let $card = $(this).closest(DIV_CARD);
$card.toggleClass('card-fullscreen').removeClass('card-collapsed');
e.preventDefault();
return false;
});
// INPUT FILE BROWSER
$(document).on('change', '.file-browserinput', function () {
var input = $(this),
numFiles = input.get(0).files ? input.get(0).files.length : 1,
label = input.val().replace(/\\/g, '/').replace(/.*\//, '');
input.trigger('fileselect', [numFiles, label]);
}); // We can watch for our custom `fileselect` event like this
// FILE UPLOAD
$('.file-browserinput').on('fileselect', function (event, numFiles, label) {
var input = $(this).parents('.input-group').find(':text'),
log = numFiles > 1 ? numFiles + ' files selected' : label;
if (input.length) {
input.val(log);
} else {
if (log) alert(log);
}
});
// ACCORDION STYLE
$(document).on("click", '[data-bs-toggle="collapse"]', function () {
$(this).toggleClass('active').siblings().removeClass('active');
});
// EMAIL INBOX
$(".clickable-row").on('click', function () {
window.location = $(this).data("href");
});
})(jQuery);
// REPLY
function replay() {
"use strict";
let replayButtom = document.querySelectorAll('.reply a')
// Creating Div
let Div = document.createElement('div')
Div.setAttribute('class', "comment mt-5 d-grid")
// creating textarea
let textArea = document.createElement('textarea')
textArea.setAttribute('class', "form-control")
textArea.setAttribute('rows', "5")
textArea.innerText = "Your Comment";
// creating Cancel buttons
let cancelButton = document.createElement('button');
cancelButton.setAttribute('class', "btn btn-danger");
cancelButton.innerText = "Cancel";
let buttonDiv = document.createElement('div')
buttonDiv.setAttribute('class', "btn-list ms-auto mt-2")
// Creating submit button
let submitButton = document.createElement('button');
submitButton.setAttribute('class', "btn btn-success ms-3");
submitButton.innerText = "Submit";
// appending text are to div
Div.append(textArea)
Div.append(buttonDiv);
buttonDiv.append(cancelButton);
buttonDiv.append(submitButton);
replayButtom.forEach((element, index) => {
element.addEventListener('click', () => {
let replay = $(element).parent()
replay.append(Div)
cancelButton.addEventListener('click', () => {
Div.remove()
})
})
})
}
replay()
// OFF-CANVAS STYLE
$('.off-canvas').on('click', function () {
$('body').addClass('overflow-y-scroll');
$('body').addClass('pe-0');
});
// FOOTER
if (!document.querySelector('.login-img')) {
document.getElementById("year").innerHTML = new Date().getFullYear();
}
/* full screen */
var elem = document.documentElement;
function openFullscreen() {
let open = document.querySelector('.full-screen-open');
let close = document.querySelector('.full-screen-close');
if (!document.fullscreenElement) {
if (elem.requestFullscreen) {
elem.requestFullscreen();
} else if (elem.webkitRequestFullscreen) { /* Safari */
elem.webkitRequestFullscreen();
} else if (elem.msRequestFullscreen) { /* IE11 */
elem.msRequestFullscreen();
}
close.classList.add('d-block')
close.classList.remove('d-none')
open.classList.add('d-none')
}
else {
if (document.exitFullscreen) {
document.exitFullscreen();
} else if (document.webkitExitFullscreen) { /* Safari */
document.webkitExitFullscreen();
} else if (document.msExitFullscreen) { /* IE11 */
document.msExitFullscreen();
}
close.classList.remove('d-block')
open.classList.remove('d-none')
close.classList.add('d-none')
open.classList.add('d-block')
}
}
/* toggle switches */
// let customSwitch = document.querySelectorAll('.toggle');
// customSwitch.forEach(e => e.addEventListener('click', () => {
// e.classList.toggle("on");
// }));
/* toggle switches */