function message(str) { const top = $("#top-message"); top.fadeIn(1500).css("display","inline-block"); top.html(str); top.fadeOut(1500); } function error(str) { const error = $("#error-message"); error.show().css("display","inline-block"); error.html(str); error.fadeOut(10000); } function getAutocompleteItems(noteIds) { const autocompleteItems = []; for (const noteId of noteIds) { const fullName = getFullName(noteId); if (fullName !== null) { autocompleteItems.push({ value: fullName + " (" + noteId + ")", label: fullName }); } } return autocompleteItems; } function uint8ToBase64(u8Arr) { const CHUNK_SIZE = 0x8000; //arbitrary number const length = u8Arr.length; let index = 0; let result = ''; let slice; while (index < length) { slice = u8Arr.subarray(index, Math.min(index + CHUNK_SIZE, length)); result += String.fromCharCode.apply(null, slice); index += CHUNK_SIZE; } return btoa(result); } function base64ToUint8Array(base64encoded) { return new Uint8Array(atob(base64encoded).split("").map(function(c) { return c.charCodeAt(0); })); }