diff --git a/package-lock.json b/package-lock.json index 7d20f5f01..1420fa7c0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1808,9 +1808,9 @@ "dev": true }, "caniuse-lite": { - "version": "1.0.30001165", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001165.tgz", - "integrity": "sha512-8cEsSMwXfx7lWSUMA2s08z9dIgsnR5NAqjXP23stdsU3AUWkCr/rr4s4OFtHXn5XXr6+7kam3QFVoYyXNPdJPA==", + "version": "1.0.30001168", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001168.tgz", + "integrity": "sha512-P2zmX7swIXKu+GMMR01TWa4csIKELTNnZKc+f1CjebmZJQtTAEXmpQSoKVJVVcvPGAA0TEYTOUp3VehavZSFPQ==", "dev": true }, "caseless": { @@ -3237,9 +3237,9 @@ } }, "electron-to-chromium": { - "version": "1.3.625", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.625.tgz", - "integrity": "sha512-CsLk/r0C9dAzVPa9QF74HIXduxaucsaRfqiOYvIv2PRhvyC6EOqc/KbpgToQuDVgPf3sNAFZi3iBu4vpGOwGag==", + "version": "1.3.628", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.628.tgz", + "integrity": "sha512-fmhO4YGo/kapy+xL9Eq/cZwDASaTHZu3psIFYo4yc+RY1LzbZr84xjKlDImDrlrmWhOxsrDi98nX097U/xK/cQ==", "dev": true }, "electron-window-state": { @@ -5953,14 +5953,13 @@ } }, "postcss": { - "version": "8.1.10", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.1.10.tgz", - "integrity": "sha512-iBXEV5VTTYaRRdxiFYzTtuv2lGMQBExqkZKSzkJe+Fl6rvQrA/49UVGKqB+LG54hpW/TtDBMGds8j33GFNW7pg==", + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.1.tgz", + "integrity": "sha512-RhsqOOAQzTgh1UB/IZdca7F9WDb7SUCR2Vnv1x7DbvuuggQIpoDwjK+q0rzoPffhYvWNKX5JSwS4so4K3UC6vA==", "requires": { "colorette": "^1.2.1", - "nanoid": "^3.1.18", - "source-map": "^0.6.1", - "vfile-location": "^3.2.0" + "nanoid": "^3.1.20", + "source-map": "^0.6.1" } }, "prebuild-install": { @@ -6483,13 +6482,13 @@ } }, "sanitize-html": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-2.2.0.tgz", - "integrity": "sha512-UXd7Rjb5qJHixoUtBLZflfEsJ2kzFsLaKBcWUBTr3G0gXRpZqkzqhIxY79Kl4oju7N4YHTM5TnBtw4scsxyj8A==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-2.3.0.tgz", + "integrity": "sha512-JAsbaKskfxR+ZhEnqO/T3c2dKalVDA6sXIgy/27TatIUzOPO/zWr1r8Ykzp1cwJx1j+DPMQF5ifvhniixRWYDA==", "requires": { "deepmerge": "^4.2.2", "escape-string-regexp": "^4.0.0", - "htmlparser2": "^4.1.0", + "htmlparser2": "^6.0.0", "is-plain-object": "^5.0.0", "klona": "^2.0.3", "parse-srcset": "^1.0.2", @@ -6497,12 +6496,12 @@ }, "dependencies": { "dom-serializer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.1.0.tgz", - "integrity": "sha512-ox7bvGXt2n+uLWtCRLybYx60IrOlWL/aCebWJk1T0d4m3y2tzf4U3ij9wBMUb6YJZpz06HCCYuyCDveE2xXmzQ==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.2.0.tgz", + "integrity": "sha512-n6kZFH/KlCrqs/1GHMOd5i2fd/beQHuehKdWvNNffbGHTr/almdhuVvTVFb3V7fglz+nC50fFusu3lY33h12pA==", "requires": { "domelementtype": "^2.0.1", - "domhandler": "^3.0.0", + "domhandler": "^4.0.0", "entities": "^2.0.0" } }, @@ -6512,31 +6511,21 @@ "integrity": "sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==" }, "domhandler": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-3.3.0.tgz", - "integrity": "sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.0.0.tgz", + "integrity": "sha512-KPTbnGQ1JeEMQyO1iYXoagsI6so/C96HZiFyByU3T6iAzpXn8EGEvct6unm1ZGoed8ByO2oirxgwxBmqKF9haA==", "requires": { - "domelementtype": "^2.0.1" + "domelementtype": "^2.1.0" } }, "domutils": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.4.3.tgz", - "integrity": "sha512-MDMfEjgtzHvRX7i21XQfkk/vfZbLOe0VJk8dDETkTTo3BTeH3NXz3Xvs94UQ+GzTw/GjRYKsfVKIIOheYX63fw==", + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.4.4.tgz", + "integrity": "sha512-jBC0vOsECI4OMdD0GC9mGn7NXPLb+Qt6KW1YDQzeQYRUFKmNG8lh7mO5HiELfr+lLQE7loDVI4QcAxV80HS+RA==", "requires": { "dom-serializer": "^1.0.1", "domelementtype": "^2.0.1", "domhandler": "^4.0.0" - }, - "dependencies": { - "domhandler": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.0.0.tgz", - "integrity": "sha512-KPTbnGQ1JeEMQyO1iYXoagsI6so/C96HZiFyByU3T6iAzpXn8EGEvct6unm1ZGoed8ByO2oirxgwxBmqKF9haA==", - "requires": { - "domelementtype": "^2.1.0" - } - } } }, "entities": { @@ -6550,13 +6539,13 @@ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" }, "htmlparser2": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-4.1.0.tgz", - "integrity": "sha512-4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.0.0.tgz", + "integrity": "sha512-numTQtDZMoh78zJpaNdJ9MXb2cv5G3jwUoe3dMQODubZvLoGvTE/Ofp6sHvH8OGKcN/8A47pGLi/k58xHP/Tfw==", "requires": { "domelementtype": "^2.0.1", - "domhandler": "^3.0.0", - "domutils": "^2.0.0", + "domhandler": "^4.0.0", + "domutils": "^2.4.4", "entities": "^2.0.0" } } @@ -7623,11 +7612,6 @@ "extsprintf": "^1.2.0" } }, - "vfile-location": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-3.2.0.tgz", - "integrity": "sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA==" - }, "w3c-hr-time": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", @@ -7669,9 +7653,9 @@ "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==" }, "webpack": { - "version": "5.10.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.10.1.tgz", - "integrity": "sha512-mHu4iM2mW7d/8R91VPPNtUCNd1D8k51TTb4e0XjylapIR6WEmW8XUTBZq8TqmShj9XYxVXJn6AzKlWnrlty6DA==", + "version": "5.10.3", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.10.3.tgz", + "integrity": "sha512-KFPEbpNKfNU4t2CDsUZJ7KpuUbzDqGUCZqLmz4667KSUWMc9BuR3a8jpa72Emv7JUbdGwISD9OZjoI9S5BnHig==", "dev": true, "requires": { "@types/eslint-scope": "^3.7.0", diff --git a/package.json b/package.json index 6157b23a5..b446c46bd 100644 --- a/package.json +++ b/package.json @@ -60,7 +60,7 @@ "request": "^2.88.2", "rimraf": "3.0.2", "sanitize-filename": "1.6.3", - "sanitize-html": "2.2.0", + "sanitize-html": "2.3.0", "sax": "1.2.4", "semver": "7.3.4", "serve-favicon": "2.5.0", diff --git a/src/public/app/entities/attribute.js b/src/public/app/entities/attribute.js index de1690482..80fe64ec5 100644 --- a/src/public/app/entities/attribute.js +++ b/src/public/app/entities/attribute.js @@ -22,6 +22,8 @@ class Attribute { this.position = row.position; /** @param {boolean} isInheritable */ this.isInheritable = !!row.isInheritable; + /** @param {boolean} */ + this.isDeleted = !!row.isDeleted; } /** @returns {NoteShort} */ diff --git a/src/public/app/entities/branch.js b/src/public/app/entities/branch.js index 61ad40897..3171ecd0f 100644 --- a/src/public/app/entities/branch.js +++ b/src/public/app/entities/branch.js @@ -21,6 +21,8 @@ class Branch { this.isExpanded = !!row.isExpanded; /** @param {boolean} */ this.fromSearchNote = !!row.fromSearchNote; + /** @param {boolean} */ + this.isDeleted = !!row.isDeleted; } /** @returns {NoteShort} */ diff --git a/src/public/app/entities/note_short.js b/src/public/app/entities/note_short.js index 56037e7f1..398a06631 100644 --- a/src/public/app/entities/note_short.js +++ b/src/public/app/entities/note_short.js @@ -59,6 +59,8 @@ class NoteShort { this.type = row.type; /** @param {string} content-type, e.g. "application/json" */ this.mime = row.mime; + /** @param {boolean} */ + this.isDeleted = !!row.isDeleted; } addParent(parentNoteId, branchId) { diff --git a/src/public/app/services/note_list_renderer.js b/src/public/app/services/note_list_renderer.js index 864b1a539..f77224573 100644 --- a/src/public/app/services/note_list_renderer.js +++ b/src/public/app/services/note_list_renderer.js @@ -207,6 +207,13 @@ class NoteListRenderer { } async renderList() { + if (this.noteIds.length === 0) { + this.$noteList.hide(); + return; + } + + this.$noteList.show(); + const $container = this.$noteList.find('.note-list-container').empty(); const imageLinks = this.parentNote ? this.parentNote.getRelations('imageLink') : [];