simedkom/public/assets/dashboard/js/custom.js
2025-04-16 09:00:51 +07:00

128 lines
5.0 KiB
JavaScript

// document.getElementById("email").addEventListener("keyup", function() {
// var password = this.value;
// var strengthStatus = document.getElementById("password-strength-status");
// var colorClass = '';
// console.log("Password input:", password); // Menambahkan log untuk debug
// // Regex untuk memeriksa kriteria kata sandi
// var hasUpper = /[A-Z]/.test(password); // Memeriksa huruf besar
// var hasLower = /[a-z]/.test(password); // Memeriksa huruf kecil
// var hasNumber = /\d/.test(password); // Memeriksa angka
// var hasSymbol = /[!@#$%^&*(),.?":{}|<>]/.test(password); // Memeriksa simbol
// // Cek apakah kata sandi memenuhi semua kriteria
// if (hasUpper && hasLower && hasNumber && hasSymbol) {
// strengthStatus.textContent = 'Kata sandi valid';
// colorClass = 'valid'; // Jika valid, set warna hijau
// } else {
// strengthStatus.textContent = 'Kata sandi tidak memenuhi syarat';
// colorClass = 'invalid'; // Jika tidak memenuhi syarat, set warna merah
// }
// // Ubah warna input dan border sesuai dengan status
// this.classList.remove("invalid", "valid");
// this.classList.add(colorClass);
// // Set warna indikator kekuatan
// strengthStatus.className = colorClass;
// });
$(document).ready(function () {
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
function setupLinkChecker(inputSelector, feedbackSelector, checkUrl) {
let typingTimer;
let delay = 500;
$(inputSelector).on('keyup', function () {
clearTimeout(typingTimer);
const inputField = $(this);
const linkValue = inputField.val();
if (linkValue.length > 0) {
typingTimer = setTimeout(function () {
$.ajax({
url: checkUrl,
method: 'POST',
data: { link: linkValue },
success: function (response) {
console.log('Response:', response);
const feedbackEl = $(feedbackSelector);
if (response.exists) {
feedbackEl
.removeClass('d-none text-success')
.addClass('text-danger')
.text('Link tersebut sudah ada di database!');
inputField.addClass('is-invalid').removeClass('is-valid');
} else {
feedbackEl
.removeClass('d-none text-danger')
.addClass('text-success')
.text('Link tidak ada di database.');
inputField.addClass('is-valid').removeClass('is-invalid');
}
},
error: function (xhr, status, error) {
console.error('AJAX Error:', error);
}
});
}, delay);
} else {
$(feedbackSelector).addClass('d-none').text('');
inputField.removeClass('is-invalid is-valid');
}
});
}
// Panggil fungsi untuk masing-masing input
setupLinkChecker('#newsLink', '#newsLinkFeedback', '/dashboard/news/check-link');
setupLinkChecker('#mediaMonitoringLink', '#mediaMonitoringLinkFeedback', '/dashboard/media-monitorings/check-link');
setupLinkChecker('#reportLink', '#reportLinkFeedback', '/dashboard/reports/check-link');
setupLinkChecker('#contentRecapLink', '#contentRecapLinkFeedback', '/dashboard/content-recaps/check-link');
});
document.querySelector('.image-preview').addEventListener('change', function(event) {
var reader = new FileReader();
reader.onload = function(e) {
// Set the image source to the preview
document.getElementById('imagePreview').src = e.target.result;
// Show the modal
$('#imagePreviewModal').modal('show');
};
reader.readAsDataURL(event.target.files[0]);
});
// Mendapatkan file PDF dari input
document.querySelector('.pdf-preview').addEventListener('change', function(event) {
var file = event.target.files[0];
if (file && file.type === 'application/pdf') {
var reader = new FileReader();
reader.onload = function(e) {
var pdfDataUrl = e.target.result;
var iframe = document.getElementById('pdfPreviewIframe');
iframe.src = pdfDataUrl; // Menampilkan file PDF di iframe
// Menampilkan modal
var myModal = new bootstrap.Modal(document.getElementById('pdfPreviewModal'), {
keyboard: true
});
myModal.show();
};
reader.readAsDataURL(file); // Membaca file PDF sebagai data URL
} else {
alert('Please upload a valid PDF file.');
}
});