128 lines
5.0 KiB
JavaScript
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.');
|
|
}
|
|
});
|
|
|
|
|
|
|