var getRandomId = function (tipe = 'string', length = 5, between = null) {
if (tipe == 'number' && between)
return Math.random().toString(between).substr(2, length);
else
return Math.random().toString(20).substr(2, length)
};
var waktu = function (time = null, format = 'mysqltimestamp') {
if (format == 'mysqltimestamp')
format = 'YYYY-MM-DD HH:mm:ss';
if (!time)
time = new Date();
return moment(time).format(format);
};
String.prototype.capitalize = function (tipe = 'first') {
if (tipe != 'first') {
var strings = this.split(' ');
var text = [];
strings.forEach(s => {
text.push(s.charAt(0).toUpperCase() + s.slice(1));
});
return text.join(' ');
}
else
return this.charAt(0).toUpperCase() + this.slice(1);
}
String.prototype.replaceAll = function (awal, baru) {
var strings = this.split(awal);
return strings.join(baru);
}
String.prototype.rupiahFormat = function () {
var bilangan = this;
var number_string = bilangan.toString(),
sisa = number_string.length % 3,
rupiah = number_string.substr(0, sisa),
ribuan = number_string.substr(sisa).match(/\d{3}/g);
if (ribuan) {
separator = sisa ? '.' : '';
rupiah += separator + ribuan.join('.') + ',00';
}
return rupiah;
}
String.prototype.isEmail = function (text) {
var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
return regex.test(text);
}
var detectDeviceType = function(){
return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ? 'Mobile' : 'Desktop';
}
var wait = function (ms) {
return new Promise((resolve) => setTimeout(resolve, ms));
}
var asyncFunc = async function(callback, ms){
wait(ms).then(callback);
}
var queryParams = function(key){
var urlParams = new URLSearchParams(window.location.search);
if (key)
return urlParams.get(key);
return urlParams;
}
var fixedFloat = (nilai, pembulatan) {
var n = nilai.toFixed(pembulatan);
var arr = /(\d+)\.0+$/.exec(n);
if (arr) return arr[1];
return n;
}
var ucwords = function(str) {
if (!str) return str;
str = str.toLowerCase();
return str.replace(/(^([a-zA-Z\p{M}]))|([ -][a-zA-Z\p{M}])/g,
function(s){
return s.toUpperCase();
});
},
Date.prototype.toLocalISOString = function(){
var date = this;
var tzo = - date.getTimezoneOffset(),
dif = tzo >= 0 ? '+' : '-',
pad = function(num) {
return (num < 10 ? '0' : '') + num;
};
return date.getFullYear() +
'-' + pad(date.getMonth() + 1) +
'-' + pad(date.getDate()) +
'T' + pad(date.getHours()) +
':' + pad(date.getMinutes()) +
':' + pad(date.getSeconds()) +
dif + pad(Math.floor(Math.abs(tzo) / 60)) +
':' + pad(Math.abs(tzo) % 60);
},
|