Files
RangelDigital/rangeldigital/public/js/helpers.js
2024-12-13 03:06:46 +00:00

98 lines
3.1 KiB
JavaScript

//====================== This Helpers File For All Part =======================
function notifyEvs(type, message) {
"use strict";
let title = type;
new Notify({
status: type,
title: title.charAt(0).toUpperCase() + title.slice(1),
text: message,
effect: 'slide',
speed: 500,
customClass: '',
customIcon: '',
showIcon: true,
showCloseButton: true,
autoclose: true,
autotimeout: 2300,
gap: 20,
distance: 20,
type: 1,
position: 'right top',
customWrapper: '',
})
}
function readURL(input, imagePreview) {
'use strict';
// Check if there is a selected file
if (input.files && input.files[0]) {
// Create a new FileReader
var reader = new FileReader();
// Define the onload event
reader.onload = function(e) {
// Set the background image of the image preview element
imagePreview.css('background-image', 'url(' + e.target.result + ')');
// Hide the image preview and then fade it in
imagePreview.hide().fadeIn(400);
};
// Read the data URL of the selected file
reader.readAsDataURL(input.files[0]);
}
}
// Function to handle image preview for dynamically added elements
function handleImagePreview() {
'use strict';
var hostname = window.location.hostname;
$(".imageUpload").change(function() {
var previewId = $(this).data("preview-id");
var imagePreview = $("#" + previewId);
readURL(this, imagePreview);
});
$(".imageRemove").on('click', function(event) {
var previewId = $(this).prev().data("preview-id");
var imagePreview = $("#" + previewId);
// Change to default placeholder image using the hostname
imagePreview.css('background-image', 'url(http://' + hostname + '/assets/general/static/placeholder.png)');
// Set value to indicate removal
var imageInput = $("#" + previewId+"-remove");
imageInput.val('coevs-remove');
var imageNameInput = $("#" + previewId + "_upload");
imageInput.attr('name', imageNameInput.attr('name'));
});
}
handleImagePreview()
function deleteItem(url, text = "You won't be able to revert this!") {
Swal.fire({
title: "Are you sure?",
text: text,
icon: "warning",
showCancelButton: true,
confirmButtonColor: "#3085d6",
cancelButtonColor: "#d33",
confirmButtonText: "Yes, delete it!"
}).then((result) => {
if (result.isConfirmed) {
$.ajax({
url: url,
type: "DELETE",
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
success: function (data) {
notifyEvs(data['status'], data['message']);
setTimeout(function(){
location.reload();
}, 1300);
}
});
}
});
}
function generateSlug(value) {
return value.toLowerCase().replace(/\s+/g, '-').replace(/[^a-z0-9-]/g, '');
}