var operations = [];
var svgPending =
``;
var svgReject =
`
`;
var svgConfirmed =
``;
$(document).ready(function () {
checkSubmit();
$("#militaryStatus").prop("disabled", true);
$("#operationBtn").click(function() {
if (window.matchMedia("(max-width: 767px)").matches) {
$(".responsiveInMobile").css({
"display": "block",
"transition": "opacity 0.5s"
});
$("#overlayModalUpload").css({
"display": "block",
"transition": "opacity 0.5s"
});
//$("#confirm , #reject").click(function() {
// setTimeout(function() {
// $(".responsiveInMobile").css({ "display": "none"});
// $("#overlayModalUpload").css({ "display": "none"});
// },300);
//});
// New changes...
$('#overlayModalUpload, .closePartition').click(function () {
$(".responsiveInMobile").css({
"display": "none",
"opacity": "0"
});
$("#overlayModalUpload").css({
"display": "none",
"opacity": "0"
});
});
// Set the opacity back to 1 after a short delay
setTimeout(function () {
$(".responsiveInMobile").css("opacity", "1");
$("#overlayModalUpload").css("opacity", "1");
}, 10);
}
});
//giving class to sign holders and adjust classes
$('.signHolder').each(function() {
const buttonClass = $(this).find('button').attr('class');
const spanElement = $(this).find('span.sign');
if (buttonClass.includes('submittedbyadmin')) {
$(this).addClass('pending');
spanElement.html(svgPending);
} else if (buttonClass.includes('rejected')) {
$(this).addClass('reject');
spanElement.html(svgReject);
} else if (buttonClass.includes('pending')) {
$(this).addClass('pending');
spanElement.html(svgPending);
} else if (buttonClass.includes('confirmed')) {
$(this).addClass('confirmed');
spanElement.html(svgConfirmed);
}
});
// Ensure the first carousel item is active by default
if (!$('.carousel-item').hasClass('active')) {
$('.carousel-item').first().addClass('active');
}
// Ensure the first mg-btn (for "عکس پرسنلی") is active by default
$('.mg-btn').first().addClass('active');
var currentSlide = $('.carousel-item.active').data('slide-index') || 0;
var totalSlides = $('.carousel-item').length;
// Function to update slide, buttons, and selective slides
function updateSlide() {
// Move carousel to the current slide
$('#carouselExampleIndicators').carousel(currentSlide);
// Update active button
$('.mg-btn').removeClass('active');
$('.mg-btn[data-slide-index="' + currentSlide + '"]').addClass('active');
// Update selective slides for right-to-left
$('.slective-slide').removeClass('active-select');
$('.slective-slide[data-slide-index="' + currentSlide + '"]').addClass('active-select');
}
// Initial update
updateSlide();
// Event listener for button clicks
$('.mg-btn').click(function () {
currentSlide = $(this).data('slide-index');
updateSlide();
});
// Event listener for next and previous arrows
$('.right-arrow, .left-arrow').click(function () {
var direction = $(this).hasClass('right-arrow') ? -1 : 1; // Adjust direction for right-to-left slider
currentSlide = (currentSlide + direction + totalSlides) % totalSlides;
updateSlide();
});
// Event listener for carousel item change
$('#carouselExampleIndicators').on('slid.bs.carousel', function () {
currentSlide = $('.carousel-item.active').data('slide-index');
updateSlide();
});
$(".exitModal").click(function () {
if (operations.length > 0) {
swal({
title: "در صورت انصراف عملیات ثبت نخواهد شد!",
text: "",
type: "warning",
showCancelButton: true,
confirmButtonColor: "#DD6B55",
confirmButtonText: "بله",
cancelButtonText: "خیر",
closeOnConfirm: true,
closeOnCancel: true
}, function (isConfirm) {
if (isConfirm) {
$('#MainModal').modal('hide');
}
});
} else {
$('#MainModal').modal('hide');
}
});
function toggleOperationTab() {
//debugger;
let enable = false;
$(".mg-btn.active").each(function () {
if ($(this).hasClass("submittedbyadmin")) {
enable = true;
}
});
if (enable) {
//$(".operaion-tab").removeClass("disable");
$("#message").removeClass("disable");
$("#confirm").removeClass("disable");
$("#reject").removeClass("disable");
} else {
//$(".operaion-tab").addClass("disable");
$("#message").addClass("disable");
$("#confirm").addClass("disable");
$("#reject").addClass("disable");
}
}
// Initial check
toggleOperationTab();
// Check when .mg-btn classes change
$('.mg-btn').on('classChange', function () {
toggleOperationTab();
});
// Trigger classChange event when class is added or removed
(function () {
var originalAddClassMethod = $.fn.addClass;
var originalRemoveClassMethod = $.fn.removeClass;
$.fn.addClass = function () {
var result = originalAddClassMethod.apply(this, arguments);
$(this).trigger('classChange');
return result;
};
$.fn.removeClass = function () {
var result = originalRemoveClassMethod.apply(this, arguments);
$(this).trigger('classChange');
return result;
};
})();
// Check images and update alt attribute
$('img').each(function () {
if ($(this).attr('src') === "/AdminNew/Company/EmployeesDocumentsManagement/EmployeesList?handler=ShowPicture") {
$(this).attr('alt', 'عکسی آپلود نشده');
$(this).css("color", "black");
}
});
// Lightbox Gallery
// query selectors
const lightboxEnabled = document.querySelectorAll('.lightbox-enabled');
const lightboxArray = Array.from(lightboxEnabled);
const lastImage = lightboxArray.length - 1;
const lightboxContainer = document.querySelector('.lightbox-container');
const lightboxImage = document.querySelector('.lightbox-image');
const lightboxBtns = document.querySelectorAll('.lightbox-btn');
const lightboxBtnRight = document.querySelector('#right');
const lightboxBtnLeft = document.querySelector('#left');
let activeImage;
// Functions
const showLightBox = () => { lightboxContainer.classList.add('active') }
const hideLightBox = () => { lightboxContainer.classList.remove('active') }
const setActiveImage = (image) => {
lightboxImage.src = image.dataset.imgsrc;
activeImage = lightboxArray.indexOf(image);
}
const transitionSlidesLeft = () => {
lightboxBtnLeft.focus();
$('.lightbox-image').addClass('slideright');
setTimeout(function () {
activeImage === 0 ? setActiveImage(lightboxArray[lastImage]) : setActiveImage(lightboxArray[activeImage - 1]);
}, 250);
setTimeout(function () {
$('.lightbox-image').removeClass('slideright');
}, 500);
}
const transitionSlidesRight = () => {
lightboxBtnRight.focus();
$('.lightbox-image').addClass('slideleft');
setTimeout(function () {
activeImage === lastImage ? setActiveImage(lightboxArray[0]) : setActiveImage(lightboxArray[activeImage + 1]);
}, 250);
setTimeout(function () {
$('.lightbox-image').removeClass('slideleft');
}, 500);
}
const transitionSlideHandler = (moveItem) => {
moveItem.includes('left') ? transitionSlidesLeft() : transitionSlidesRight();
}
// Event Listeners
lightboxEnabled.forEach(image => {
image.addEventListener('click',
(e) => {
showLightBox();
setActiveImage(image);
});
});
lightboxContainer.addEventListener('click', () => { hideLightBox() });
lightboxBtns.forEach(btn => {
btn.addEventListener('click',
(e) => {
e.stopPropagation();
transitionSlideHandler(e.currentTarget.id);
});
});
lightboxImage.addEventListener('click',
(e) => {
e.stopPropagation();
});
});
function checkFields() {
if ($(".mg-btn").hadClass("active")) {
var index = $(this).data("slide-index");
var inputValue = $("#label_" + index).val();
$("#confirm").click(function () {
$(this).removeClass('submittedbyadmin').addClass("confirmed");
$(this).closest('.signHolder').removeClass("pending").addClass("confirmed");
$(this).siblings("span.sign").html(svgConfirmed);
//تایید توضیحات نمیخواد
//inputValue = $("#message").val();
inputValue=$()
});
$("#reject").click(function () {
$(this).removeClass('submittedbyadmin').addClass("reject");
$(this).closest('.signHolder').removeClass("pending").addClass("rejected");
$(this).siblings("span.sign").html(svgReject);
inputValue = $("#message").val();
});
};
}
function rejectAjax() {
//var carouselDocumentItemId = $('.carousel-item.active').data('document-id');
var carouselDocumentItemId = $('.mg-btn.active').data('document-btn-id');
var messageData = $("#message").val();
if (messageData === "") {
$('.alert-msg').show();
$('.alert-msg p').text('فیلد توضیحات را پر نمایید');
$('.select-alert').addClass('errored');
setTimeout(function () {
$('.alert-msg').hide();
$('.alert-msg p').text('');
$('.select-alert').removeClass('errored');
}, 3500);
return;
}
let commandData = {
EmployeeDocumentItemId: carouselDocumentItemId,
IsConfirmed: false,
Message: messageData
};
operations.push(commandData);
$("#message").val("");
checkSubmit();
showAlertMessage('.alert-success-msg', 'تصویر موجود رد شد.', 3500);
$(".mg-btn.active").removeClass('submittedbyadmin').addClass("reject");
$(".mg-btn.active").closest('.signHolder').removeClass("pending").addClass("rejected");
$(".mg-btn.active").siblings("span.sign").html(svgReject);
//$("#confirm , #reject").click(function() {
// setTimeout(function() {
// $(".responsiveInMobile").css({ "display": "none"});
// $("#overlayModalUpload").css({ "display": "none"});
// },300);
//});
}
function confirmAjax() {
//var carouselDocumentItemId = $('.carousel-item.active').data('document-id');
var carouselDocumentItemId = $('.mg-btn.active').data('document-btn-id');
var messageData = $("#message").val();
let commandData = {
EmployeeDocumentItemId: carouselDocumentItemId,
IsConfirmed: true,
Message: messageData
};
operations.push(commandData);
$("#message").val("");
checkSubmit();
showAlertMessage('.alert-success-msg', 'تصویر موجود تایید شد.', 3500);
$(".mg-btn.active").removeClass('submittedbyadmin').addClass("confirmed");
$(".mg-btn.active").closest('.signHolder').removeClass("pending").addClass("confirmed");
$(".mg-btn.active").siblings("span.sign").html(svgConfirmed);
}
//function rejectAjax() {
// var document_ItemId = $('.carousel-item.active').data('document-id');
// var messageData = $("#message").val();
// if (messageData === "") {
// $('.alert-msg').show();
// $('.alert-msg p').text('فیلد توضیحات را پر نمایید');
// $('.select-alert').addClass('errored');
// setTimeout(function () {
// $('.alert-msg').hide();
// $('.alert-msg p').text('');
// $('.select-alert').removeClass('errored');
// }, 3500);
// return;
// }
// $.ajax({
// async: false,
// dataType: 'json',
// type: 'POST',
// url: rejectUrl,
// headers: { "RequestVerificationToken": antiForgeryToken },
// data: { documentItemId: Number(document_ItemId), message: messageData },
// success: function (response) {
// if (response.success) {
// showAlertMessage('.alert-success-msg', 'تصویر موجود رد شد.', 3500);
// $(".mg-btn.active").removeClass('submittedbyadmin').addClass("reject");
// $(".mg-btn.active").closest('.signHolder').removeClass("pending").addClass("rejected");
// $(".mg-btn.active").siblings("span.sign").html(svgReject);
// } else {
// showAlertMessage('.alert-msg', 'مشکلی پیش آمد.', 3500);
// }
// $("#message").val("");
// },
// error: function (err) {
// console.log(err);
// showAlertMessage('.alert-msg', 'مشکلی پیش آمد.', 3500);
// }
// });
//}
//function confirmAjax() {
// var documentItemId2 = $('.carousel-item.active').data('document-id');
// $.ajax({
// async: false,
// dataType: 'json',
// type: 'POST',
// url: confirmUrl,
// headers: { "RequestVerificationToken": antiForgeryToken },
// data: { documentItemId: Number(documentItemId2)},
// success: function (response) {
// if (response.success) {
// showAlertMessage('.alert-success-msg', 'تصویر موجود تایید شد.', 3500);
// $(".mg-btn.active").removeClass('submittedbyadmin').addClass("confirmed");
// $(".mg-btn.active").closest('.signHolder').removeClass("pending").addClass("confirmed");
// $(".mg-btn.active").siblings("span.sign").html(svgConfirmed);
// } else {
// showAlertMessage('.alert-msg', 'مشکلی پیش آمد.', 3500);
// }
// },
// error: function (err) {
// console.log(err);
// showAlertMessage('.alert-msg', 'مشکلی پیش آمد.', 3500);
// }
// });
//}
function submitOP() {
$.ajax({
async: false,
type: 'POST',
url: submitAll,
headers: { "RequestVerificationToken": antiForgeryToken },
data: { operations, employeeId: employeeId, workshopId: workshopId },
success: function (response) {
if (response.success) {
showAlertMessage('.alert-success-msg', response.message, 3500);
_RefreshCheckerCountMenu();
$('#personnelDocumentsAjax').html('');
pageIndexJs = 0;
loadPersonnelDocuments(mode, searchName);
$('#MainModal').modal('hide');
} else {
showAlertMessage('.alert-msg', response.message, 3500);
}
},
error: function (err) {
console.log(err);
showAlertMessage('.alert-msg', err.message, 3500);
}
});
}
function showAlertMessage(selector, message, timeout) {
$(selector).show();
$(selector + ' p').text(message);
setTimeout(function () {
$(selector).hide();
$(selector + ' p').text('');
}, timeout);
}
function checkSubmit() {
if (operations.length > 0) {
$("#submitOP").removeClass("disable");
} else {
$("#submitOP").addClass("disable");
}
}