let emojo_json = null; // Get emojis from file function get_emojo_json(callback) { let xhr = new XMLHttpRequest(); xhr.open("GET", "/emoji.json"); xhr.onreadystatechange = function() { if (this.readyState === XMLHttpRequest.DONE) callback(this.response); }; xhr.send(); } function construct_emojo_picker(e) { let index = 0; let emoji_picker = document.createElement("div"); emoji_picker.className = "emoji-picker"; emoji_picker.innerHTML = `
${construct_emojis("Smileys & Emotion").outerHTML} ${construct_emojis("Animals & Nature", index).outerHTML} ${construct_emojis("Food & Drink", index).outerHTML} ${construct_emojis("Travel & Places", index).outerHTML} ${construct_emojis("Activities", index).outerHTML} ${construct_emojis("Objects", index).outerHTML} ${construct_emojis("Symbols", index).outerHTML} ${construct_emojis("Flags", index).outerHTML}
`; return emoji_picker; } function construct_emojis(category, start_index = 0) { let emoji_picker_div = document.createElement("div"); emoji_picker_div.className = "emoji-picker-emojos"; for (let i = 0; i < emojo_json.length; ++i) { if (emojo_json[i].group === category) emoji_picker_div.innerHTML += `${emojo_json[i].char}`; } return emoji_picker_div; } get_emojo_json((emojo_json_str) => { emojo_json = JSON.parse(emojo_json_str); document.body.appendChild(construct_emojo_picker(emojo_json)); });