From e4bec265c117beb9981c84ccf2c68d0b4a8a5a16 Mon Sep 17 00:00:00 2001 From: zadam Date: Sat, 23 Nov 2019 20:54:49 +0100 Subject: [PATCH] system links (internal, image, relation map) should follow camelCase convention used for other attributes --- ...__system_links_should_follow_camelCase.sql | 3 + package-lock.json | 68 +++++++++---------- package.json | 2 +- src/entities/note.js | 2 +- src/public/stylesheets/style.css | 1 + src/routes/api/clipper.js | 2 +- src/routes/api/notes.js | 4 +- src/services/app_info.js | 4 +- src/services/import/tar.js | 4 +- src/services/notes.js | 6 +- 10 files changed, 51 insertions(+), 45 deletions(-) create mode 100644 db/migrations/0154__system_links_should_follow_camelCase.sql diff --git a/db/migrations/0154__system_links_should_follow_camelCase.sql b/db/migrations/0154__system_links_should_follow_camelCase.sql new file mode 100644 index 000000000..d0519ef7d --- /dev/null +++ b/db/migrations/0154__system_links_should_follow_camelCase.sql @@ -0,0 +1,3 @@ +UPDATE attributes SET name = 'internalLink' WHERE name = 'internal-link'; +UPDATE attributes SET name = 'imageLink' WHERE name = 'image-link'; +UPDATE attributes SET name = 'relationMapLink' WHERE name = 'relation-map-link'; \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 1c52fc218..4825557ec 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "trilium", - "version": "0.37.3", + "version": "0.37.4", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -55,9 +55,9 @@ } }, "@electron/get": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.6.0.tgz", - "integrity": "sha512-xuvAzbN9iBApfAMvW0hKUpxHR5wPVbG9RaoSTbpu/WaHISDu0MVfMWYhfeU0X730CpBV0G2RkLgwAs9WDan3GA==", + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.7.1.tgz", + "integrity": "sha512-+BOIzkmYbe+oOBGqSByq8zXYXCFztccoymR3uNkvX5ckJ/5xU+4peVyEvFyH6+zfv58hCo99RxgIpwuaMfRtRg==", "dev": true, "requires": { "debug": "^4.1.1", @@ -1152,9 +1152,9 @@ "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" }, "boolean": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/boolean/-/boolean-2.0.2.tgz", - "integrity": "sha512-ymsbJQlux/uogyEWfsXJUYzuyoOzPyp6NvEV71s6/ptQR7ptKO9uHF+WZL2GRATDeN52EFhNyrIu+exNZKh3Cw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.0.0.tgz", + "integrity": "sha512-OElxJ1lUSinuoUnkpOgLmxp0DC4ytEhODEL6QJU0NpxE/mI4rUSh8h1P1Wkvfi3xQEBcxXR2gBIPNYNuaFcAbQ==", "dev": true, "optional": true }, @@ -3059,13 +3059,13 @@ } }, "electron-notarize": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/electron-notarize/-/electron-notarize-0.1.1.tgz", - "integrity": "sha512-TpKfJcz4LXl5jiGvZTs5fbEx+wUFXV5u8voeG5WCHWfY/cdgdD8lDZIZRqLVOtR3VO+drgJ9aiSHIO9TYn/fKg==", + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/electron-notarize/-/electron-notarize-0.2.1.tgz", + "integrity": "sha512-oZ6/NhKeXmEKNROiFmRNfytqu3cxqC95sjooG7kBXQVEUSQkZnbiAhxVh5jXngL881G197pbwpeVPJyM7Ikmxw==", "dev": true, "requires": { "debug": "^4.1.1", - "fs-extra": "^8.0.1" + "fs-extra": "^8.1.0" } }, "electron-osx-sign": { @@ -3103,16 +3103,16 @@ } }, "electron-packager": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/electron-packager/-/electron-packager-14.1.0.tgz", - "integrity": "sha512-4oGtQYYjSA/M4BGOwG0NBqEtThBf7aCV76C2AZsD71eGocYqZNvtvfzeeMnKkc3EW1nPq7iJ4Wge+GXma0kwIA==", + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/electron-packager/-/electron-packager-14.1.1.tgz", + "integrity": "sha512-PODWJ8LFfwUCniTMy4Z5iiZyVHi4W71Pvn/SxJPC6kbI3EfZvo8n5H856XATxNUGVxlmAB5qeSbRym8/f9jISg==", "dev": true, "requires": { "@electron/get": "^1.6.0", "asar": "^2.0.1", "cross-zip": "^2.1.5", "debug": "^4.0.1", - "electron-notarize": "^0.1.1", + "electron-notarize": "^0.2.0", "electron-osx-sign": "^0.4.11", "fs-extra": "^8.1.0", "galactus": "^0.2.1", @@ -3134,9 +3134,9 @@ "dev": true }, "yargs-parser": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-16.0.0.tgz", - "integrity": "sha512-WyNdFYED0penIaLqLSDSeFksC5lVjrjp9vNkG7IKfgQNiAYa6FfHuJXjuaQgt0eOVN2z+gJhHJSX7uRhJKPc7Q==", + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-16.1.0.tgz", + "integrity": "sha512-H/V41UNZQPkUMIT5h5hiwg4QKIY1RPvoBV4XcjUbRM8Bk2oKqqyZ0DIEbTFZB0XjbtSPG8SAa/0DxCQmiRgzKg==", "dev": true, "requires": { "camelcase": "^5.0.0", @@ -4423,25 +4423,25 @@ } }, "global-agent": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-2.1.5.tgz", - "integrity": "sha512-pYJjCxxNBzYxo6iNO62JZn8iCFVbvpiM0zE4w/G5hBNIvLjnvzIeCVQPMKc3aK8ju5L7Q8NNI/oBSosU0eeSYw==", + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-2.1.7.tgz", + "integrity": "sha512-ooK7eqGYZku+LgnbfH/Iv0RJ74XfhrBZDlke1QSzcBt0bw1PmJcnRADPAQuFE+R45pKKDTynAr25SBasY2kvow==", "dev": true, "optional": true, "requires": { - "boolean": "^2.0.2", - "core-js": "^3.3.3", + "boolean": "^3.0.0", + "core-js": "^3.4.1", "es6-error": "^4.1.1", "matcher": "^2.0.0", - "roarr": "^2.14.2", + "roarr": "^2.14.5", "semver": "^6.3.0", "serialize-error": "^5.0.0" }, "dependencies": { "core-js": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.3.5.tgz", - "integrity": "sha512-0J3K+Par/ZydhKg8pEiTcK/9d65/nqJOzY62uMkjeBmt05fDOt/khUVjDdh8TpeIuGQDy1yLDDCjiWN/8pFIuw==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.4.2.tgz", + "integrity": "sha512-bUTfqFWtNKWp73oNIfRkqwYZJeNT3lstzZcAkhhiuvDraRSgOH1/+F9ZklbpR4zpdKuo4cpXN8tKP7s61yjX+g==", "dev": true, "optional": true } @@ -6092,9 +6092,9 @@ "dev": true }, "matcher": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/matcher/-/matcher-2.0.0.tgz", - "integrity": "sha512-nlmfSlgHBFx36j/Pl/KQPbIaqE8Zf0TqmSMjsuddHDg6PMSVgmyW9HpkLs0o0M1n2GIZ/S2BZBLIww/xjhiGng==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/matcher/-/matcher-2.1.0.tgz", + "integrity": "sha512-o+nZr+vtJtgPNklyeUKkkH42OsK8WAfdgaJE2FNxcjLPg+5QbeEoT6vRj8Xq/iv18JlQ9cmKsEu0b94ixWf1YQ==", "dev": true, "optional": true, "requires": { @@ -8886,13 +8886,13 @@ "integrity": "sha1-8z/pz7Urv9UgqhgyO8ZdsRCht2w=" }, "roarr": { - "version": "2.14.2", - "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.14.2.tgz", - "integrity": "sha512-ibqv70DCUhGVMfPe0JSUHBZ9PKLhxdk8VJ/Y2M7vVr+L4VakW1CdVTU9cJQBbM2STQa84CgBAzd7hJGcnALGeg==", + "version": "2.14.6", + "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.14.6.tgz", + "integrity": "sha512-qjbw0BEesKA+3XFBPt+KVe1PC/Z6ShfJ4wPlx2XifqH5h2Lj8/KQT5XJTsy3n1Es5kai+BwKALaECW3F70B1cg==", "dev": true, "optional": true, "requires": { - "boolean": "^2.0.2", + "boolean": "^3.0.0", "detect-node": "^2.0.4", "globalthis": "^1.0.0", "json-stringify-safe": "^5.0.1", diff --git a/package.json b/package.json index 511facf65..1889df713 100644 --- a/package.json +++ b/package.json @@ -80,7 +80,7 @@ "electron": "6.0.12", "electron-builder": "22.1.0", "electron-installer-debian": "2.0.1", - "electron-packager": "14.1.0", + "electron-packager": "14.1.1", "electron-rebuild": "1.8.8", "jsdoc": "3.6.3", "lorem-ipsum": "2.0.3" diff --git a/src/entities/note.js b/src/entities/note.js index 0c8d18d25..dad2eafdd 100644 --- a/src/entities/note.js +++ b/src/entities/note.js @@ -701,7 +701,7 @@ class Note extends Entity { WHERE noteId = ? AND isDeleted = 0 AND type = 'relation' AND - name IN ('internal-link', 'image-link', 'relation-map-link')`, [this.noteId]); + name IN ('internalLink', 'imageLink', 'relationMapLink')`, [this.noteId]); } /** diff --git a/src/public/stylesheets/style.css b/src/public/stylesheets/style.css index f03a9ccef..99016a8ae 100644 --- a/src/public/stylesheets/style.css +++ b/src/public/stylesheets/style.css @@ -437,6 +437,7 @@ div.ui-tooltip { .btn.active:not(.btn-primary) { background-color: var(--button-disabled-background-color) !important; + opacity: 0.4; } .note-path-list a.current { diff --git a/src/routes/api/clipper.js b/src/routes/api/clipper.js index 0344037a5..ffdb4b363 100644 --- a/src/routes/api/clipper.js +++ b/src/routes/api/clipper.js @@ -96,7 +96,7 @@ async function addImagesToNote(images, note, content) { noteId: note.noteId, type: 'relation', value: imageNote.noteId, - name: 'image-link' + name: 'imageLink' }).save(); console.log(`Replacing ${imageId} with ${url}`); diff --git a/src/routes/api/notes.js b/src/routes/api/notes.js index 29b0b6849..d01004388 100644 --- a/src/routes/api/notes.js +++ b/src/routes/api/notes.js @@ -130,7 +130,9 @@ async function getRelationMap(req) { noteTitles: {}, relations: [], // relation name => inverse relation name - inverseRelations: {} + inverseRelations: { + 'internalLink': 'internalLink' + } }; if (noteIds.length === 0) { diff --git a/src/services/app_info.js b/src/services/app_info.js index bd59e1245..2d7a953ef 100644 --- a/src/services/app_info.js +++ b/src/services/app_info.js @@ -4,8 +4,8 @@ const build = require('./build'); const packageJson = require('../../package'); const {TRILIUM_DATA_DIR} = require('./data_dir'); -const APP_DB_VERSION = 153; -const SYNC_VERSION = 11; +const APP_DB_VERSION = 154; +const SYNC_VERSION = 12; const CLIPPER_PROTOCOL_VERSION = "1.0"; module.exports = { diff --git a/src/services/import/tar.js b/src/services/import/tar.js index d71a6c55b..2717284f0 100644 --- a/src/services/import/tar.js +++ b/src/services/import/tar.js @@ -147,7 +147,7 @@ async function importTar(taskContext, fileBuffer, importRootNote) { continue; } - if (attr.type === 'relation' && ['internal-link', 'image-link', 'relation-map-link'].includes(attr.name)) { + if (attr.type === 'relation' && ['internalLink', 'imageLink', 'relationMapLink'].includes(attr.name)) { // these relations are created automatically and as such don't need to be duplicated in the import continue; } @@ -312,7 +312,7 @@ async function importTar(taskContext, fileBuffer, importRootNote) { if (type === 'relation-map' && noteMeta) { const relationMapLinks = (noteMeta.attributes || []) - .filter(attr => attr.type === 'relation' && attr.name === 'relation-map-link'); + .filter(attr => attr.type === 'relation' && attr.name === 'relationMapLink'); // this will replace relation map links for (const link of relationMapLinks) { diff --git a/src/services/notes.js b/src/services/notes.js index 08d148291..85e51bdea 100644 --- a/src/services/notes.js +++ b/src/services/notes.js @@ -214,7 +214,7 @@ function findImageLinks(content, foundLinks) { while (match = re.exec(content)) { foundLinks.push({ - name: 'image-link', + name: 'imageLink', value: match[1] }); } @@ -230,7 +230,7 @@ function findInternalLinks(content, foundLinks) { while (match = re.exec(content)) { foundLinks.push({ - name: 'internal-link', + name: 'internalLink', value: match[1] }); } @@ -244,7 +244,7 @@ function findRelationMapLinks(content, foundLinks) { for (const note of obj.notes) { foundLinks.push({ - name: 'relation-map-link', + name: 'relationMapLink', value: note.noteId }); }