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();
|
||||
|
||||
const tableContent = allContent.find((a) => a.data.includes("<table"));
|
||||
if (tableContent)
|
||||
if (tableContent) {
|
||||
console.log(tableContent.data);
|
||||
expect(
|
||||
tableContent.data.includes(
|
||||
tableContent.data.startsWith(
|
||||
`<div class="table-container" contenteditable="false">`
|
||||
)
|
||||
);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
@@ -53,7 +53,7 @@ export const EVENTS = {
|
||||
vaultLocked: "vault:locked",
|
||||
};
|
||||
|
||||
export const CURRENT_DATABASE_VERSION = 5.3;
|
||||
export const CURRENT_DATABASE_VERSION = 5.4;
|
||||
|
||||
export function setUserPersonalizationBytes(userSalt) {
|
||||
USER_PERSONALIZATION_HASH = new Uint8Array(
|
||||
|
||||
@@ -92,8 +92,9 @@ export default class Backup {
|
||||
|
||||
switch (version) {
|
||||
case CURRENT_DATABASE_VERSION:
|
||||
case 5.1:
|
||||
case 5.3:
|
||||
case 5.2:
|
||||
case 5.1:
|
||||
case 5.0: {
|
||||
return backup;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { parseHTML } from "./utils/html-parser";
|
||||
import { decodeHTML5 } from "entities";
|
||||
|
||||
export const migrations = {
|
||||
5.0: {},
|
||||
@@ -20,6 +21,13 @@ export const migrations = {
|
||||
settings: replaceDateEditedWithDateModified(true),
|
||||
},
|
||||
5.3: {
|
||||
tiny: (item) => {
|
||||
if (!item.data || item.data.iv) return item;
|
||||
item.data = decodeWrappedTableHtml(item.data);
|
||||
return item;
|
||||
},
|
||||
},
|
||||
5.4: {
|
||||
note: false,
|
||||
notebook: false,
|
||||
tag: false,
|
||||
@@ -44,9 +52,11 @@ function wrapTablesWithDiv(html) {
|
||||
const tables = document.getElementsByTagName("table");
|
||||
for (let table of tables) {
|
||||
table.setAttribute("contenteditable", "true");
|
||||
table.replaceWith(
|
||||
`<div class="table-container" contenteditable="false">${table.outerHTML}</div>`
|
||||
);
|
||||
const div = document.createElement("div");
|
||||
div.setAttribute("contenteditable", "false");
|
||||
div.innerHTML = table.outerHTML;
|
||||
div.classList.add("table-container");
|
||||
table.replaceWith(div);
|
||||
}
|
||||
return document.outerHTML || document.body.innerHTML;
|
||||
}
|
||||
@@ -65,3 +75,14 @@ function removeToxClassFromChecklist(html) {
|
||||
}
|
||||
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",
|
||||
"version": "6.16.0",
|
||||
"version": "6.16.2",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "notes-core",
|
||||
"version": "6.16.0",
|
||||
"version": "6.16.2",
|
||||
"dependencies": {
|
||||
"@stablelib/blake2s": "^1.0.1",
|
||||
"async-mutex": "^0.3.2",
|
||||
"base64-arraybuffer": "^1.0.1",
|
||||
"dayjs": "^1.10.6",
|
||||
"entities": "^3.0.1",
|
||||
"fast-sort": "^2.0.1",
|
||||
"fflate": "^0.7.1",
|
||||
"liqe": "^1.13.0",
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
"async-mutex": "^0.3.2",
|
||||
"base64-arraybuffer": "^1.0.1",
|
||||
"dayjs": "^1.10.6",
|
||||
"entities": "^3.0.1",
|
||||
"fast-sort": "^2.0.1",
|
||||
"fflate": "^0.7.1",
|
||||
"liqe": "^1.13.0",
|
||||
|
||||
Reference in New Issue
Block a user