mirror of
https://github.com/streetwriters/notesnook.git
synced 2025-12-23 23:19:40 +01:00
fix: table getting converted to raw html
This commit is contained in:
@@ -119,12 +119,14 @@ describe.each([
|
|||||||
).toBeTruthy();
|
).toBeTruthy();
|
||||||
|
|
||||||
const tableContent = allContent.find((a) => a.data.includes("<table"));
|
const tableContent = allContent.find((a) => a.data.includes("<table"));
|
||||||
if (tableContent)
|
if (tableContent) {
|
||||||
|
console.log(tableContent.data);
|
||||||
expect(
|
expect(
|
||||||
tableContent.data.includes(
|
tableContent.data.startsWith(
|
||||||
`<div class="table-container" contenteditable="false">`
|
`<div class="table-container" contenteditable="false">`
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ export const EVENTS = {
|
|||||||
vaultLocked: "vault:locked",
|
vaultLocked: "vault:locked",
|
||||||
};
|
};
|
||||||
|
|
||||||
export const CURRENT_DATABASE_VERSION = 5.3;
|
export const CURRENT_DATABASE_VERSION = 5.4;
|
||||||
|
|
||||||
export function setUserPersonalizationBytes(userSalt) {
|
export function setUserPersonalizationBytes(userSalt) {
|
||||||
USER_PERSONALIZATION_HASH = new Uint8Array(
|
USER_PERSONALIZATION_HASH = new Uint8Array(
|
||||||
|
|||||||
@@ -92,8 +92,9 @@ export default class Backup {
|
|||||||
|
|
||||||
switch (version) {
|
switch (version) {
|
||||||
case CURRENT_DATABASE_VERSION:
|
case CURRENT_DATABASE_VERSION:
|
||||||
case 5.1:
|
case 5.3:
|
||||||
case 5.2:
|
case 5.2:
|
||||||
|
case 5.1:
|
||||||
case 5.0: {
|
case 5.0: {
|
||||||
return backup;
|
return backup;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { parseHTML } from "./utils/html-parser";
|
import { parseHTML } from "./utils/html-parser";
|
||||||
|
import { decodeHTML5 } from "entities";
|
||||||
|
|
||||||
export const migrations = {
|
export const migrations = {
|
||||||
5.0: {},
|
5.0: {},
|
||||||
@@ -20,6 +21,13 @@ export const migrations = {
|
|||||||
settings: replaceDateEditedWithDateModified(true),
|
settings: replaceDateEditedWithDateModified(true),
|
||||||
},
|
},
|
||||||
5.3: {
|
5.3: {
|
||||||
|
tiny: (item) => {
|
||||||
|
if (!item.data || item.data.iv) return item;
|
||||||
|
item.data = decodeWrappedTableHtml(item.data);
|
||||||
|
return item;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
5.4: {
|
||||||
note: false,
|
note: false,
|
||||||
notebook: false,
|
notebook: false,
|
||||||
tag: false,
|
tag: false,
|
||||||
@@ -44,9 +52,11 @@ function wrapTablesWithDiv(html) {
|
|||||||
const tables = document.getElementsByTagName("table");
|
const tables = document.getElementsByTagName("table");
|
||||||
for (let table of tables) {
|
for (let table of tables) {
|
||||||
table.setAttribute("contenteditable", "true");
|
table.setAttribute("contenteditable", "true");
|
||||||
table.replaceWith(
|
const div = document.createElement("div");
|
||||||
`<div class="table-container" contenteditable="false">${table.outerHTML}</div>`
|
div.setAttribute("contenteditable", "false");
|
||||||
);
|
div.innerHTML = table.outerHTML;
|
||||||
|
div.classList.add("table-container");
|
||||||
|
table.replaceWith(div);
|
||||||
}
|
}
|
||||||
return document.outerHTML || document.body.innerHTML;
|
return document.outerHTML || document.body.innerHTML;
|
||||||
}
|
}
|
||||||
@@ -65,3 +75,14 @@ function removeToxClassFromChecklist(html) {
|
|||||||
}
|
}
|
||||||
return document.outerHTML || document.body.innerHTML;
|
return document.outerHTML || document.body.innerHTML;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const regex = /<div class="table-container".*<\/table><\/div>/gm;
|
||||||
|
function decodeWrappedTableHtml(html) {
|
||||||
|
return html.replaceAll(
|
||||||
|
/<div class="table-container".*\/div>$/gm,
|
||||||
|
(match) => {
|
||||||
|
const html = decodeHTML5(match);
|
||||||
|
return html;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|||||||
5
packages/core/package-lock.json
generated
5
packages/core/package-lock.json
generated
@@ -1,17 +1,18 @@
|
|||||||
{
|
{
|
||||||
"name": "notes-core",
|
"name": "notes-core",
|
||||||
"version": "6.16.0",
|
"version": "6.16.2",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 2,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "notes-core",
|
"name": "notes-core",
|
||||||
"version": "6.16.0",
|
"version": "6.16.2",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@stablelib/blake2s": "^1.0.1",
|
"@stablelib/blake2s": "^1.0.1",
|
||||||
"async-mutex": "^0.3.2",
|
"async-mutex": "^0.3.2",
|
||||||
"base64-arraybuffer": "^1.0.1",
|
"base64-arraybuffer": "^1.0.1",
|
||||||
"dayjs": "^1.10.6",
|
"dayjs": "^1.10.6",
|
||||||
|
"entities": "^3.0.1",
|
||||||
"fast-sort": "^2.0.1",
|
"fast-sort": "^2.0.1",
|
||||||
"fflate": "^0.7.1",
|
"fflate": "^0.7.1",
|
||||||
"liqe": "^1.13.0",
|
"liqe": "^1.13.0",
|
||||||
|
|||||||
@@ -28,6 +28,7 @@
|
|||||||
"async-mutex": "^0.3.2",
|
"async-mutex": "^0.3.2",
|
||||||
"base64-arraybuffer": "^1.0.1",
|
"base64-arraybuffer": "^1.0.1",
|
||||||
"dayjs": "^1.10.6",
|
"dayjs": "^1.10.6",
|
||||||
|
"entities": "^3.0.1",
|
||||||
"fast-sort": "^2.0.1",
|
"fast-sort": "^2.0.1",
|
||||||
"fflate": "^0.7.1",
|
"fflate": "^0.7.1",
|
||||||
"liqe": "^1.13.0",
|
"liqe": "^1.13.0",
|
||||||
|
|||||||
Reference in New Issue
Block a user