fixed CSS lazy loading (same file could be loaded multiple times)

This commit is contained in:
zadam 2019-08-30 21:22:52 +02:00
parent be477f178b
commit d4e27c1b76
4 changed files with 8 additions and 10 deletions

Binary file not shown.

View file

@ -1,9 +1,9 @@
async function requireCss(url) {
const css = Array
const cssLinks = Array
.from(document.querySelectorAll('link'))
.map(scr => scr.href);
.map(el => el.href);
if (!css.includes(url)) {
if (!cssLinks.some(l => l.endsWith(url))) {
$('head').append($('<link rel="stylesheet" type="text/css" />').attr('href', url));
}
}

View file

@ -56,11 +56,7 @@ function registerEntrypoints() {
return;
}
import(NOTE_SOURCE).then(d => {
console.log(d);
d.showDialog()
});
import(NOTE_SOURCE).then(d => d.showDialog());
});
$noteTabContainer.on("click", ".show-link-map-button", function() {

View file

@ -237,13 +237,15 @@ async function importTar(importContext, fileBuffer, importRootNote) {
content = content.toString("UTF-8");
if (noteMeta) {
const internalLinks = (noteMeta.attributes || []).filter(attr => attr.type === 'relation' && attr.name === 'internal-link');
const internalLinks = (noteMeta.attributes || [])
.filter(attr => attr.type === 'relation' &&
['internal-link', 'relation-map-link', 'image-link'].includes(attr.name));
// this will replace all internal links (<a> and <img>) inside the body
// links pointing outside the export will be broken and changed (ctx.getNewNoteId() will still assign new noteId)
for (const link of internalLinks) {
// no need to escape the regexp find string since it's a noteId which doesn't contain any special characters
content = content.replace(new RegExp(link.targetNoteId, "g"), getNewNoteId(link.targetNoteId));
content = content.replace(new RegExp(link.value, "g"), getNewNoteId(link.value));
}
}
}