100 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable File
		
	
	
		
			Vendored
		
	
	
	
			
		
		
	
	
			100 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable File
		
	
	
		
			Vendored
		
	
	
	
| const Helper = {
 | |
| 	toast: function (title, time, msg, type = 'bg-warning', delay = 2500) {
 | |
| 		$('#liveToast-type').addClass(type);
 | |
| 		document.getElementById('liveToast-title').innerText = title;
 | |
| 		document.getElementById('liveToast-time').innerText = time;
 | |
| 		document.getElementById('liveToast-msg').innerText = msg;
 | |
| 		(new bootstrap.Toast(document.getElementById('liveToast'), { delay })).show();
 | |
| 	},
 | |
| 	decodeHTMLEntities: function (str) {
 | |
| 		if (str && typeof str === 'string') {
 | |
| 			// strip script/html tags
 | |
| 			str = str.replace(/<script[^>]*>([\S\s]*?)<\/script>/gmi, '');
 | |
| 			str = str.replace(/<\/?\w(?:[^"'>]|"[^"]*"|'[^']*')*>/gmi, '');
 | |
| 			this.element.innerHTML = str;
 | |
| 			str = this.element.textContent;
 | |
| 			this.element.textContent = '';
 | |
| 		}
 | |
| 
 | |
| 		return str;
 | |
| 	},
 | |
| 	titleCase: function (str) {
 | |
| 		var splitStr = str.toLowerCase().split(' ');
 | |
| 		for (var i = 0; i < splitStr.length; i++) {
 | |
| 			// You do not need to check if i is larger than splitStr length, as your for does that for you
 | |
| 			// Assign it back to the array
 | |
| 			splitStr[i] = splitStr[i].charAt(0).toUpperCase() + splitStr[i].substring(1);
 | |
| 		}
 | |
| 		// Directly return the joined string
 | |
| 		return splitStr.join(' ');
 | |
| 	},
 | |
| 	rangeToday: function () {
 | |
| 		return {
 | |
| 			start: moment().format('DD-MM-YYYY'),
 | |
| 			end: moment().format('DD-MM-YYYY'),
 | |
| 		}
 | |
| 	},
 | |
| 	rangeWeek: function () {
 | |
| 		return {
 | |
| 			start: moment().subtract(7, 'day').format('DD-MM-YYYY'),
 | |
| 			end: moment().format('DD-MM-YYYY'),
 | |
| 		}
 | |
| 	},
 | |
| 	rangeMonth: function () {
 | |
| 		return {
 | |
| 			start: moment().subtract(1, 'month').format('DD-MM-YYYY'),
 | |
| 			end: moment().format('DD-MM-YYYY'),
 | |
| 		}
 | |
| 	},
 | |
| 	splitEvery4Char: function (str) {
 | |
| 		if (str) {
 | |
| 			str = '' + str;
 | |
| 			let splitEvery4Char = str.match(/.{1,4}/g)
 | |
| 			return splitEvery4Char.join(' ')
 | |
| 		}
 | |
| 		return '';
 | |
| 	},
 | |
| 	getCookie: function (name) {
 | |
| 		var match = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)'));
 | |
| 		if (match) {
 | |
| 			return match[2];
 | |
| 		}
 | |
| 		else {
 | |
| 			return null;
 | |
| 		}
 | |
| 	},
 | |
| 	shortenText: function (text, max) {
 | |
| 		return text && text.length > max ? text.slice(0, max).split(' ').slice(0, -1).join(' ') : text
 | |
| 	},
 | |
| 	initQueryString: function () {
 | |
| 		// https://stackoverflow.com/questions/901115/how-can-i-get-query-string-values-in-javascript
 | |
| 		const params = new Proxy(new URLSearchParams(window.location.search), {
 | |
| 			get: (searchParams, prop) => searchParams.get(prop),
 | |
| 		});
 | |
| 		return params;
 | |
| 	},
 | |
| 	getPercentRange: function (crntVal, min, max) {
 | |
| 		return (crntVal - min) / (max - min) * 100;
 | |
| 	},
 | |
| 	getIndexReversedSequence: function(normalIdx, lastIdx) {
 | |
| 		return Math.abs(normalIdx - lastIdx);
 | |
| 	},
 | |
| 	// https://stackoverflow.com/questions/1184624/convert-form-data-to-javascript-object-with-jquery
 | |
| 	objectifyForm: function(formArray) {
 | |
|     //serialize data function
 | |
|     var returnArray = {};
 | |
|     for (var i = 0; i < formArray.length; i++){
 | |
| 			if (formArray[i]['name'].indexOf('[]') > -1) { // dynamic data type
 | |
| 				let key = formArray[i]['name'].replace('[]', '');
 | |
| 				if (typeof returnArray[key] === 'undefined') {
 | |
| 					returnArray[key] = [formArray[i]['value']];
 | |
| 				} else {
 | |
| 					returnArray[key].push(formArray[i]['value']);
 | |
| 				}
 | |
| 			} else { // primitive data type
 | |
| 				returnArray[formArray[i]['name']] = formArray[i]['value'];
 | |
| 			}
 | |
|     }
 | |
|     return returnArray;
 | |
| }
 | |
| }; | 
