function validateNumber(e) {
"use strict";
const pattern = /^[0-9]$/;
return pattern.test(e.key)
}
function validateDouble($value) {
"use strict";
return $value.replace(/[^0-9.]/g, '').replace(/(\..*?)\..*/g, '$1');
}
function isWhatPercentOf(numA, numB) {
"use strict";
return (numA / numB) * 100;
}
function calPercentage(num, percentage) {
"use strict";
const result = num * (percentage / 100);
return parseFloat(result.toFixed(2));
}
function imagePreview() {
"use strict";
$('input[type="file"]').each(function () {
// Refs
var $file = $(this),
$label = $file.next('label'),
$labelText = $label.find('span'),
labelDefault = $labelText.text();
// When a new file is selected
$file.on('change', function (event) {
var fileName = $file.val().split('\\').pop(),
tmppath = URL.createObjectURL(event.target.files[0]);
//Check successfully selection
if (fileName) {
$label
.addClass('file-ok')
.css('background-image', 'url(' + tmppath + ')');
$labelText.text(fileName);
} else {
$label.removeClass('file-ok');
$labelText.text(labelDefault);
}
});
$('.remove-img').removeAttr('hidden');
});
}
function imagePreviewAdd(title) {
"use strict";
var base_url = window.location.origin;
var previewImage = $("#image-old");
previewImage.css({
'background-image': 'url(' + base_url + '/assets/' + title + ')'
});
previewImage.addClass("file-ok");
}
function tNotify(type, message) {
new Notify({
status: type,
title: type,
text: message,
effect: 'slide',
speed: 300,
customClass: '',
customIcon: getIcon(type),
showIcon: true,
showCloseButton: true,
autoclose: true,
autotimeout: 9000,
gap: 20,
distance: 20,
type: 1,
position: 'right top',
customWrapper: '',
})
}
function imageRemoveWithRoute(targetCode=null,route = null,token) {
$('.remove-img').on('click', function () {
var target = $(this).data('des');
$(this).attr('hidden', true);
$("input[name='" + target + "']").val(null);
if (null != route){
$.ajax({
type: "POST",
url: route,
data: {
_token: token,
target_code: targetCode,
field_name: target,
type:'img-remove'
},
success: function () {
imagePreviewRemove('Update Image');
tNotify('success', 'Image Removed Successfully');
}
});
}
imagePreviewRemove(target,'Update Image');
});
}
function imagePreviewRemove(target,title) {
var image = $("#"+target)
image.removeAttr("style");
image.removeClass("file-ok");
image.children("span").html(title);
}
function getIcon(type) {
let icon;
switch (type) {
case 'success':
icon = '';
break;
case 'info':
icon = '';
break;
case 'warning':
icon = '';
break;
case 'error':
icon = '';
break;
default:
icon = '';
break;
}
return icon;
}
function sumArrayValues(arr) {
let sum = 0;
for (let i = 0; i < arr.length; i++) {
sum += arr[i];
}
return sum;
}
function copyRef(idName) {
/* Get the text field */
var copyApi = document.getElementById(idName);
/* Select the text field */
copyApi.select();
copyApi.setSelectionRange(0, 999999999); /* For mobile devices */
/* Copy the text inside the text field */
document.execCommand('copy');
$('#copy').text($('#copied').val())
}