/* --- 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]; }