/* --- Imports --- */ // Dependencies const {ipcRenderer, remote} = require('electron'); const $ = require('jquery'); const marked = require('marked'); const DOMPurify = require('dompurify'); // Services const RouterService = require('../../service/router'); const DataService = require('../../service/data'); const UserService = require('../../service/user'); /* --- Override object --- */ /** * Transform markdown string to html */ String.prototype.toHTML = function() { return DOMPurify.sanitize( marked(this.toString()) .replace(/
/g, '')
);
}
/**
* Remove item in array
*/
Array.prototype.removeItem = function(item) {
const index = this.indexOf(item);
if (index !== -1) {
this.splice(index, 1);
}
return this;
}
/* --- Loader --- */
function loader () {
if ($('#page-loader').hasClass('hide')) {
$('#page-loader').removeClass('hide');
$('#navbar').addClass('hide');
if ($('#float-add-btn')) {
$('#float-add-btn').addClass('hide');
}
} else {
if ($('#float-add-btn')) {
$('#float-add-btn').removeClass('hide');
}
$('#navbar').removeClass('hide');
$('#page-loader').addClass('hide');
}
};
/* --- Cookie --- */
function getCookie(key) {
const split = document.cookie.split(';');
let cookies = {};
split.forEach(elt => {
const val = elt.trim().split('=');
cookies[val[0]] = val[1];
});
if(key !== undefined) {
return cookies[key];
}
return cookies;
}
function removeCookie(key) {
if (Array.isArray(key)) {
key.forEach(elt => {
removeCookie(elt);
});
} else {
document.cookie = `${key}=; expires=Thu, 01 Jan 1970 00:00:01 GMT;`;
}
}
/* --- URL Parameter --- */
function parseURLParameter() {
const data = {};
const get = location.search.substr(1).split("&");
for (elt of get) {
const split = elt.split("=");
data[split[0]] = decodeURIComponent(split[1]);
}
return data;
}
function getURLParameter(key) {
const get = parseURLParameter();
return get[key];
}