fix renaming existing attributes + added new label autoReadOnlyDisabled to control automatic setting to readOnly mode

This commit is contained in:
zadam 2020-05-06 21:41:14 +02:00
parent 62b993f06f
commit 5d8808a2ad
3 changed files with 33 additions and 28 deletions

50
package-lock.json generated
View File

@ -6217,9 +6217,9 @@
} }
}, },
"jest-worker": { "jest-worker": {
"version": "25.4.0", "version": "25.5.0",
"resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.4.0.tgz", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz",
"integrity": "sha512-ghAs/1FtfYpMmYQ0AHqxV62XPvKdUDIBBApMZfly+E9JEmYh2K45G0R5dWxx986RN12pRCxsViwQVtGl+N4whw==", "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==",
"dev": true, "dev": true,
"requires": { "requires": {
"merge-stream": "^2.0.0", "merge-stream": "^2.0.0",
@ -10117,9 +10117,9 @@
} }
}, },
"serialize-javascript": { "serialize-javascript": {
"version": "2.1.2", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.0.0.tgz",
"integrity": "sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==", "integrity": "sha512-skZcHYw2vEX4bw90nAr2iTTsz6x2SrHEnfxgKYmZlvJYBEZrvbKtobJWlQ20zczKb3bsHHXXTYt48zBA7ni9cw==",
"dev": true "dev": true
}, },
"serve-favicon": { "serve-favicon": {
@ -10272,9 +10272,9 @@
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
}, },
"source-map-support": { "source-map-support": {
"version": "0.5.16", "version": "0.5.19",
"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz",
"integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==", "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==",
"dev": true, "dev": true,
"requires": { "requires": {
"buffer-from": "^1.0.0", "buffer-from": "^1.0.0",
@ -10709,9 +10709,9 @@
"dev": true "dev": true
}, },
"terser": { "terser": {
"version": "4.6.11", "version": "4.6.13",
"resolved": "https://registry.npmjs.org/terser/-/terser-4.6.11.tgz", "resolved": "https://registry.npmjs.org/terser/-/terser-4.6.13.tgz",
"integrity": "sha512-76Ynm7OXUG5xhOpblhytE7X58oeNSmC8xnNhjWVo8CksHit0U0kO4hfNbPrrYwowLWFgM2n9L176VNx2QaHmtA==", "integrity": "sha512-wMvqukYgVpQlymbnNbabVZbtM6PN63AzqexpwJL8tbh/mRT9LE5o+ruVduAGL7D6Fpjl+Q+06U5I9Ul82odAhw==",
"dev": true, "dev": true,
"requires": { "requires": {
"commander": "^2.20.0", "commander": "^2.20.0",
@ -10728,19 +10728,19 @@
} }
}, },
"terser-webpack-plugin": { "terser-webpack-plugin": {
"version": "2.3.5", "version": "2.3.6",
"resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-2.3.5.tgz", "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-2.3.6.tgz",
"integrity": "sha512-WlWksUoq+E4+JlJ+h+U+QUzXpcsMSSNXkDy9lBVkSqDn1w23Gg29L/ary9GeJVYCGiNJJX7LnVc4bwL1N3/g1w==", "integrity": "sha512-I8IDsQwZrqjdmOicNeE8L/MhwatAap3mUrtcAKJuilsemUNcX+Hier/eAzwStVqhlCxq0aG3ni9bK/0BESXkTg==",
"dev": true, "dev": true,
"requires": { "requires": {
"cacache": "^13.0.1", "cacache": "^13.0.1",
"find-cache-dir": "^3.2.0", "find-cache-dir": "^3.3.1",
"jest-worker": "^25.1.0", "jest-worker": "^25.4.0",
"p-limit": "^2.2.2", "p-limit": "^2.3.0",
"schema-utils": "^2.6.4", "schema-utils": "^2.6.6",
"serialize-javascript": "^2.1.2", "serialize-javascript": "^3.0.0",
"source-map": "^0.6.1", "source-map": "^0.6.1",
"terser": "^4.4.3", "terser": "^4.6.12",
"webpack-sources": "^1.4.3" "webpack-sources": "^1.4.3"
}, },
"dependencies": { "dependencies": {
@ -11466,9 +11466,9 @@
"integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==" "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA=="
}, },
"webpack": { "webpack": {
"version": "5.0.0-beta.15", "version": "5.0.0-beta.16",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.0.0-beta.15.tgz", "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.0.0-beta.16.tgz",
"integrity": "sha512-nT+l7LteKTIzB3lmroEGL4qcCBqgHMpa3EJUvhQdfXRWjxCfWnnWdBARhp/To61omZhyNPz2Ye2J1ZEf070kWA==", "integrity": "sha512-O6YzI5H7XDPoXFrdC338P0GsSdhmYvz0//HL8LxVFHuRSbtHcV8mfx5U8ouWihFqwyvbfy27Bqoz2KY62kME9Q==",
"dev": true, "dev": true,
"requires": { "requires": {
"@webassemblyjs/ast": "1.9.0", "@webassemblyjs/ast": "1.9.0",
@ -11490,7 +11490,7 @@
"pkg-dir": "^4.2.0", "pkg-dir": "^4.2.0",
"schema-utils": "^2.5.0", "schema-utils": "^2.5.0",
"tapable": "2.0.0-beta.9", "tapable": "2.0.0-beta.9",
"terser-webpack-plugin": "^2.3.1", "terser-webpack-plugin": "^2.3.6",
"watchpack": "2.0.0-beta.13", "watchpack": "2.0.0-beta.13",
"webpack-sources": "2.0.0-beta.8" "webpack-sources": "2.0.0-beta.8"
} }

View File

@ -186,7 +186,9 @@ export default class NoteDetailWidget extends TabAwareWidget {
const noteComplement = await this.tabContext.getNoteComplement(); const noteComplement = await this.tabContext.getNoteComplement();
if (note.hasLabel('readOnly') || if (note.hasLabel('readOnly') ||
(noteComplement.content && noteComplement.content.length > 10000)) { (noteComplement.content
&& noteComplement.content.length > 10000)
&& !note.hasLabel('autoReadOnlyDisabled')) {
type = 'read-only-text'; type = 'read-only-text';
} }
} }
@ -195,7 +197,9 @@ export default class NoteDetailWidget extends TabAwareWidget {
const noteComplement = await this.tabContext.getNoteComplement(); const noteComplement = await this.tabContext.getNoteComplement();
if (note.hasLabel('readOnly') || if (note.hasLabel('readOnly') ||
(noteComplement.content && noteComplement.content.length > 30000)) { (noteComplement.content
&& noteComplement.content.length > 30000)
&& !note.hasLabel('autoReadOnlyDisabled')) {
type = 'read-only-code'; type = 'read-only-code';
} }
} }

View File

@ -101,7 +101,7 @@ async function updateNoteAttributes(req) {
|| (attribute.type === 'relation' && attribute.value !== attributeEntity.value)) { || (attribute.type === 'relation' && attribute.value !== attributeEntity.value)) {
if (attribute.type !== 'relation' || !!attribute.value.trim()) { if (attribute.type !== 'relation' || !!attribute.value.trim()) {
const newAttribute = attribute.createClone(attribute.type, attribute.name, attribute.value); const newAttribute = attributeEntity.createClone(attribute.type, attribute.name, attribute.value);
await newAttribute.save(); await newAttribute.save();
} }
@ -139,6 +139,7 @@ async function updateNoteAttributes(req) {
} }
const note = await repository.getNote(noteId); const note = await repository.getNote(noteId);
note.invalidateAttributeCache();
return await note.getAttributes(); return await note.getAttributes();
} }