mirror of
https://github.com/zadam/trilium.git
synced 2025-06-06 18:08:33 +02:00
algolia v1 upgrade
This commit is contained in:
parent
657496ea37
commit
baed93e749
2
libraries/autocomplete-theme-classic.css
Normal file
2
libraries/autocomplete-theme-classic.css
Normal file
File diff suppressed because one or more lines are too long
7
libraries/autocomplete.jquery.min.js
vendored
7
libraries/autocomplete.jquery.min.js
vendored
File diff suppressed because one or more lines are too long
9
libraries/autocomplete.js
Normal file
9
libraries/autocomplete.js
Normal file
File diff suppressed because one or more lines are too long
182
package-lock.json
generated
182
package-lock.json
generated
@ -616,9 +616,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@types/eslint": {
|
"@types/eslint": {
|
||||||
"version": "8.2.0",
|
"version": "8.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.2.1.tgz",
|
||||||
"integrity": "sha512-74hbvsnc+7TEDa1z5YLSe4/q8hGYB3USNvCuzHUJrjPV6hXaq8IXcngCrHkuvFt0+8rFz7xYXrHgNayIX0UZvQ==",
|
"integrity": "sha512-UP9rzNn/XyGwb5RQ2fok+DzcIRIYwc16qTXse5+Smsy8MOIccCChT15KAwnsgQx4PzJkaMq4myFyZ4CL5TjhIQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@types/estree": "*",
|
"@types/estree": "*",
|
||||||
@ -1468,20 +1468,20 @@
|
|||||||
"integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw=="
|
"integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw=="
|
||||||
},
|
},
|
||||||
"body-parser": {
|
"body-parser": {
|
||||||
"version": "1.19.0",
|
"version": "1.19.1",
|
||||||
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
|
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.1.tgz",
|
||||||
"integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==",
|
"integrity": "sha512-8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"bytes": "3.1.0",
|
"bytes": "3.1.1",
|
||||||
"content-type": "~1.0.4",
|
"content-type": "~1.0.4",
|
||||||
"debug": "2.6.9",
|
"debug": "2.6.9",
|
||||||
"depd": "~1.1.2",
|
"depd": "~1.1.2",
|
||||||
"http-errors": "1.7.2",
|
"http-errors": "1.8.1",
|
||||||
"iconv-lite": "0.4.24",
|
"iconv-lite": "0.4.24",
|
||||||
"on-finished": "~2.3.0",
|
"on-finished": "~2.3.0",
|
||||||
"qs": "6.7.0",
|
"qs": "6.9.6",
|
||||||
"raw-body": "2.4.0",
|
"raw-body": "2.4.2",
|
||||||
"type-is": "~1.6.17"
|
"type-is": "~1.6.18"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"debug": {
|
"debug": {
|
||||||
@ -1491,6 +1491,38 @@
|
|||||||
"requires": {
|
"requires": {
|
||||||
"ms": "2.0.0"
|
"ms": "2.0.0"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"http-errors": {
|
||||||
|
"version": "1.8.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz",
|
||||||
|
"integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==",
|
||||||
|
"requires": {
|
||||||
|
"depd": "~1.1.2",
|
||||||
|
"inherits": "2.0.4",
|
||||||
|
"setprototypeof": "1.2.0",
|
||||||
|
"statuses": ">= 1.5.0 < 2",
|
||||||
|
"toidentifier": "1.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"inherits": {
|
||||||
|
"version": "2.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
|
||||||
|
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
|
||||||
|
},
|
||||||
|
"qs": {
|
||||||
|
"version": "6.9.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz",
|
||||||
|
"integrity": "sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ=="
|
||||||
|
},
|
||||||
|
"setprototypeof": {
|
||||||
|
"version": "1.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
|
||||||
|
"integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
|
||||||
|
},
|
||||||
|
"toidentifier": {
|
||||||
|
"version": "1.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
|
||||||
|
"integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA=="
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -1831,9 +1863,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"bytes": {
|
"bytes": {
|
||||||
"version": "3.1.0",
|
"version": "3.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.1.tgz",
|
||||||
"integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg=="
|
"integrity": "sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg=="
|
||||||
},
|
},
|
||||||
"cacache": {
|
"cacache": {
|
||||||
"version": "15.3.0",
|
"version": "15.3.0",
|
||||||
@ -1920,9 +1952,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"caniuse-lite": {
|
"caniuse-lite": {
|
||||||
"version": "1.0.30001283",
|
"version": "1.0.30001286",
|
||||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001283.tgz",
|
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001286.tgz",
|
||||||
"integrity": "sha512-9RoKo841j1GQFSJz/nCXOj0sD7tHBtlowjYlrqIUS812x9/emfBLBt6IyMz1zIaYc/eRL8Cs6HPUVi2Hzq4sIg==",
|
"integrity": "sha512-zaEMRH6xg8ESMi2eQ3R4eZ5qw/hJiVsO/HlLwniIwErij0JDr9P+8V4dtx1l+kLq6j3yy8l8W4fst1lBnat5wQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"caseless": {
|
"caseless": {
|
||||||
@ -3702,9 +3734,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"electron-to-chromium": {
|
"electron-to-chromium": {
|
||||||
"version": "1.4.8",
|
"version": "1.4.16",
|
||||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.8.tgz",
|
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.16.tgz",
|
||||||
"integrity": "sha512-Cu5+dbg55+1E3ohlsa8HT0s4b8D0gBewXEGG8s5wBl8ynWv60VuvYW25GpsOeTVXpulhyU/U8JYZH+yxASSJBQ==",
|
"integrity": "sha512-BQb7FgYwnu6haWLU63/CdVW+9xhmHls3RCQUFiV4lvw3wimEHTVcUk2hkuZo76QhR8nnDdfZE7evJIZqijwPdA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"electron-window-state": {
|
"electron-window-state": {
|
||||||
@ -3995,6 +4027,28 @@
|
|||||||
"vary": "~1.1.2"
|
"vary": "~1.1.2"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"body-parser": {
|
||||||
|
"version": "1.19.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
|
||||||
|
"integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==",
|
||||||
|
"requires": {
|
||||||
|
"bytes": "3.1.0",
|
||||||
|
"content-type": "~1.0.4",
|
||||||
|
"debug": "2.6.9",
|
||||||
|
"depd": "~1.1.2",
|
||||||
|
"http-errors": "1.7.2",
|
||||||
|
"iconv-lite": "0.4.24",
|
||||||
|
"on-finished": "~2.3.0",
|
||||||
|
"qs": "6.7.0",
|
||||||
|
"raw-body": "2.4.0",
|
||||||
|
"type-is": "~1.6.17"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"bytes": {
|
||||||
|
"version": "3.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
|
||||||
|
"integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg=="
|
||||||
|
},
|
||||||
"debug": {
|
"debug": {
|
||||||
"version": "2.6.9",
|
"version": "2.6.9",
|
||||||
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
|
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
|
||||||
@ -4002,6 +4056,17 @@
|
|||||||
"requires": {
|
"requires": {
|
||||||
"ms": "2.0.0"
|
"ms": "2.0.0"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"raw-body": {
|
||||||
|
"version": "2.4.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz",
|
||||||
|
"integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==",
|
||||||
|
"requires": {
|
||||||
|
"bytes": "3.1.0",
|
||||||
|
"http-errors": "1.7.2",
|
||||||
|
"iconv-lite": "0.4.24",
|
||||||
|
"unpipe": "1.0.0"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -5100,9 +5165,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"jest-worker": {
|
"jest-worker": {
|
||||||
"version": "27.4.2",
|
"version": "27.4.4",
|
||||||
"resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.4.2.tgz",
|
"resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.4.4.tgz",
|
||||||
"integrity": "sha512-0QMy/zPovLfUPyHuOuuU4E+kGACXXE84nRnq6lBVI9GJg5DCBiA97SATi+ZP8CpiJwEQy1oCPjRBf8AnLjN+Ag==",
|
"integrity": "sha512-jfwxYJvfua1b1XkyuyPh01ATmgg4e5fPM/muLmhy9Qc6dmiwacQB0MLHaU6IjEsv/+nAixHGxTn8WllA27Pn0w==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@types/node": "*",
|
"@types/node": "*",
|
||||||
@ -5891,9 +5956,9 @@
|
|||||||
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
|
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
|
||||||
},
|
},
|
||||||
"multer": {
|
"multer": {
|
||||||
"version": "1.4.3",
|
"version": "1.4.4",
|
||||||
"resolved": "https://registry.npmjs.org/multer/-/multer-1.4.3.tgz",
|
"resolved": "https://registry.npmjs.org/multer/-/multer-1.4.4.tgz",
|
||||||
"integrity": "sha512-np0YLKncuZoTzufbkM6wEKp68EhWJXcU6fq6QqrSwkckd2LlMgd1UqhUJLj6NS/5sZ8dE8LYDWslsltJznnXlg==",
|
"integrity": "sha512-2wY2+xD4udX612aMqMcB8Ws2Voq6NIUPEtD1be6m411T4uDH/VtL9i//xvcyFlTVfRdaBsk7hV5tgrGQqhuBiw==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"append-field": "^1.0.0",
|
"append-field": "^1.0.0",
|
||||||
"busboy": "^0.2.11",
|
"busboy": "^0.2.11",
|
||||||
@ -6513,9 +6578,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"postcss": {
|
"postcss": {
|
||||||
"version": "8.4.0",
|
"version": "8.4.4",
|
||||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.4.tgz",
|
||||||
"integrity": "sha512-BRMNx3Wy7UI89jN8H4ZVS5lQMPM2OSMkOkvDCSjwXa7PWTs24k7Lm55NXLbMbs070LvraXaxN5l1npSOS6wMVw==",
|
"integrity": "sha512-joU6fBsN6EIer28Lj6GDFoC/5yOZzLCfn0zHAn/MYXI7aPt4m4hK5KC5ovEZXy+lnCjmYIbQWngvju2ddyEr8Q==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"nanoid": "^3.1.30",
|
"nanoid": "^3.1.30",
|
||||||
"picocolors": "^1.0.0",
|
"picocolors": "^1.0.0",
|
||||||
@ -6669,14 +6734,43 @@
|
|||||||
"integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="
|
"integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="
|
||||||
},
|
},
|
||||||
"raw-body": {
|
"raw-body": {
|
||||||
"version": "2.4.0",
|
"version": "2.4.2",
|
||||||
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.2.tgz",
|
||||||
"integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==",
|
"integrity": "sha512-RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"bytes": "3.1.0",
|
"bytes": "3.1.1",
|
||||||
"http-errors": "1.7.2",
|
"http-errors": "1.8.1",
|
||||||
"iconv-lite": "0.4.24",
|
"iconv-lite": "0.4.24",
|
||||||
"unpipe": "1.0.0"
|
"unpipe": "1.0.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"http-errors": {
|
||||||
|
"version": "1.8.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz",
|
||||||
|
"integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==",
|
||||||
|
"requires": {
|
||||||
|
"depd": "~1.1.2",
|
||||||
|
"inherits": "2.0.4",
|
||||||
|
"setprototypeof": "1.2.0",
|
||||||
|
"statuses": ">= 1.5.0 < 2",
|
||||||
|
"toidentifier": "1.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"inherits": {
|
||||||
|
"version": "2.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
|
||||||
|
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
|
||||||
|
},
|
||||||
|
"setprototypeof": {
|
||||||
|
"version": "1.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
|
||||||
|
"integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
|
||||||
|
},
|
||||||
|
"toidentifier": {
|
||||||
|
"version": "1.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
|
||||||
|
"integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA=="
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"rc": {
|
"rc": {
|
||||||
@ -6986,9 +7080,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"sanitize-html": {
|
"sanitize-html": {
|
||||||
"version": "2.6.0",
|
"version": "2.6.1",
|
||||||
"resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-2.6.0.tgz",
|
"resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-2.6.1.tgz",
|
||||||
"integrity": "sha512-qc+NqTeaOi/QVAVs5gOY9tqIVk4r1pcUbx1Q2N1a609Os3TNlm85zll2d8g8m/RM6RWg9llir0SpAcePQVIC1w==",
|
"integrity": "sha512-DzjSz3H5qDntD7s1TcWCSoRPmNR8UmA+y+xZQOvWgjATe2Br9ZW73+vD3Pj6Snrg0RuEuJdXgrKvnYuiuixRkA==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"deepmerge": "^4.2.2",
|
"deepmerge": "^4.2.2",
|
||||||
"escape-string-regexp": "^4.0.0",
|
"escape-string-regexp": "^4.0.0",
|
||||||
@ -8094,9 +8188,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"watchpack": {
|
"watchpack": {
|
||||||
"version": "2.3.0",
|
"version": "2.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz",
|
||||||
"integrity": "sha512-MnN0Q1OsvB/GGHETrFeZPQaOelWh/7O+EiFlj8sM9GPjtQkis7k01aAxrg/18kTfoIVcLL+haEVFlXDaSRwKRw==",
|
"integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"glob-to-regexp": "^0.4.1",
|
"glob-to-regexp": "^0.4.1",
|
||||||
@ -8118,9 +8212,9 @@
|
|||||||
"integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g=="
|
"integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g=="
|
||||||
},
|
},
|
||||||
"webpack": {
|
"webpack": {
|
||||||
"version": "5.64.4",
|
"version": "5.65.0",
|
||||||
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.64.4.tgz",
|
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.65.0.tgz",
|
||||||
"integrity": "sha512-LWhqfKjCLoYJLKJY8wk2C3h77i8VyHowG3qYNZiIqD6D0ZS40439S/KVuc/PY48jp2yQmy0mhMknq8cys4jFMw==",
|
"integrity": "sha512-Q5or2o6EKs7+oKmJo7LaqZaMOlDWQse9Tm5l1WAfU/ujLGN5Pb0SqGeVkN/4bpPmEqEP5RnVhiqsOtWtUVwGRw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@types/eslint-scope": "^3.7.0",
|
"@types/eslint-scope": "^3.7.0",
|
||||||
@ -8145,7 +8239,7 @@
|
|||||||
"schema-utils": "^3.1.0",
|
"schema-utils": "^3.1.0",
|
||||||
"tapable": "^2.1.1",
|
"tapable": "^2.1.1",
|
||||||
"terser-webpack-plugin": "^5.1.3",
|
"terser-webpack-plugin": "^5.1.3",
|
||||||
"watchpack": "^2.3.0",
|
"watchpack": "^2.3.1",
|
||||||
"webpack-sources": "^3.2.2"
|
"webpack-sources": "^3.2.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -28,7 +28,7 @@
|
|||||||
"async-mutex": "0.3.2",
|
"async-mutex": "0.3.2",
|
||||||
"axios": "0.24.0",
|
"axios": "0.24.0",
|
||||||
"better-sqlite3": "7.4.5",
|
"better-sqlite3": "7.4.5",
|
||||||
"body-parser": "1.19.0",
|
"body-parser": "1.19.1",
|
||||||
"chokidar": "3.5.2",
|
"chokidar": "3.5.2",
|
||||||
"cls-hooked": "4.2.2",
|
"cls-hooked": "4.2.2",
|
||||||
"commonmark": "0.30.0",
|
"commonmark": "0.30.0",
|
||||||
@ -67,7 +67,7 @@
|
|||||||
"request": "^2.88.2",
|
"request": "^2.88.2",
|
||||||
"rimraf": "3.0.2",
|
"rimraf": "3.0.2",
|
||||||
"sanitize-filename": "1.6.3",
|
"sanitize-filename": "1.6.3",
|
||||||
"sanitize-html": "2.6.0",
|
"sanitize-html": "2.6.1",
|
||||||
"sax": "1.2.4",
|
"sax": "1.2.4",
|
||||||
"semver": "7.3.5",
|
"semver": "7.3.5",
|
||||||
"serve-favicon": "2.5.0",
|
"serve-favicon": "2.5.0",
|
||||||
|
@ -30,8 +30,6 @@ bundleService.getWidgetBundlesByParent().then(widgetBundles => {
|
|||||||
|
|
||||||
noteTooltipService.setupGlobalTooltip();
|
noteTooltipService.setupGlobalTooltip();
|
||||||
|
|
||||||
noteAutocompleteService.init();
|
|
||||||
|
|
||||||
if (utils.isElectron()) {
|
if (utils.isElectron()) {
|
||||||
const electron = utils.dynamicRequire('electron');
|
const electron = utils.dynamicRequire('electron');
|
||||||
|
|
||||||
|
@ -41,7 +41,7 @@ export async function showDialog(widget, text = '') {
|
|||||||
$linkTitle.val(noteTitle);
|
$linkTitle.val(noteTitle);
|
||||||
}
|
}
|
||||||
|
|
||||||
noteAutocompleteService.initNoteAutocomplete($autoComplete, {
|
const ac = noteAutocompleteService.initNoteAutocomplete($autoComplete, {
|
||||||
allowExternalLinks: true,
|
allowExternalLinks: true,
|
||||||
allowCreatingNotes: true
|
allowCreatingNotes: true
|
||||||
});
|
});
|
||||||
@ -84,7 +84,7 @@ export async function showDialog(widget, text = '') {
|
|||||||
});
|
});
|
||||||
|
|
||||||
if (text && text.trim()) {
|
if (text && text.trim()) {
|
||||||
noteAutocompleteService.setText($autoComplete, text);
|
noteAutocompleteService.setText(ac, text);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
noteAutocompleteService.showRecentNotes($autoComplete);
|
noteAutocompleteService.showRecentNotes($autoComplete);
|
||||||
|
@ -12,7 +12,12 @@ const KEEP_LAST_SEARCH_FOR_X_SECONDS = 120;
|
|||||||
export async function showDialog() {
|
export async function showDialog() {
|
||||||
utils.openDialog($dialog);
|
utils.openDialog($dialog);
|
||||||
|
|
||||||
noteAutocompleteService.initNoteAutocomplete($autoComplete, { hideGoToSelectedNoteButton: true })
|
const ac = noteAutocompleteService.initNoteAutocomplete($autoComplete, {
|
||||||
|
hideGoToSelectedNoteButton: true,
|
||||||
|
placeholder: "search for note by its name"
|
||||||
|
});
|
||||||
|
|
||||||
|
$autoComplete
|
||||||
// clear any event listener added in previous invocation of this function
|
// clear any event listener added in previous invocation of this function
|
||||||
.off('autocomplete:noteselected')
|
.off('autocomplete:noteselected')
|
||||||
.on('autocomplete:noteselected', function(event, suggestion, dataset) {
|
.on('autocomplete:noteselected', function(event, suggestion, dataset) {
|
||||||
@ -28,15 +33,12 @@ export async function showDialog() {
|
|||||||
// so we'll keep the content.
|
// so we'll keep the content.
|
||||||
// if it's outside of this time limit then we assume it's a completely new search and show recent notes instead.
|
// if it's outside of this time limit then we assume it's a completely new search and show recent notes instead.
|
||||||
if (Date.now() - lastOpenedTs > KEEP_LAST_SEARCH_FOR_X_SECONDS * 1000) {
|
if (Date.now() - lastOpenedTs > KEEP_LAST_SEARCH_FOR_X_SECONDS * 1000) {
|
||||||
noteAutocompleteService.showRecentNotes($autoComplete);
|
noteAutocompleteService.showRecentNotes(ac, $autoComplete);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$autoComplete
|
ac.setIsOpen(true);
|
||||||
// hack, the actual search value is stored in <pre> element next to the search input
|
ac.ext.focus();
|
||||||
// this is important because the search input value is replaced with the suggestion note's title
|
ac.ext.select();
|
||||||
.autocomplete("val", $autoComplete.next().text())
|
|
||||||
.trigger('focus')
|
|
||||||
.trigger('select');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
lastOpenedTs = Date.now();
|
lastOpenedTs = Date.now();
|
||||||
|
@ -8,7 +8,75 @@ import froca from "./froca.js";
|
|||||||
// this key needs to have this value so it's hit by the tooltip
|
// this key needs to have this value so it's hit by the tooltip
|
||||||
const SELECTED_NOTE_PATH_KEY = "data-note-path";
|
const SELECTED_NOTE_PATH_KEY = "data-note-path";
|
||||||
|
|
||||||
const SELECTED_EXTERNAL_LINK_KEY = "data-external-link";
|
const acMixin = {
|
||||||
|
selectedNotePath: "",
|
||||||
|
selectedExternalLink: "",
|
||||||
|
$el: "",
|
||||||
|
|
||||||
|
focus() {
|
||||||
|
this.$el.find('.aa-Input').focus();
|
||||||
|
},
|
||||||
|
|
||||||
|
select() {
|
||||||
|
this.$el.find('.aa-Input').select();
|
||||||
|
},
|
||||||
|
|
||||||
|
getQuery() {
|
||||||
|
return this?.lastState.query;
|
||||||
|
},
|
||||||
|
|
||||||
|
getSelectedNotePath() {
|
||||||
|
if (!this.getQuery()) {
|
||||||
|
return "";
|
||||||
|
} else {
|
||||||
|
return this.selectedNotePath;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
getSelectedNoteId() {
|
||||||
|
const notePath = this.getSelectedNotePath();
|
||||||
|
const chunks = notePath.split('/');
|
||||||
|
|
||||||
|
return chunks.length >= 1 ? chunks[chunks.length - 1] : null;
|
||||||
|
},
|
||||||
|
|
||||||
|
setSelectedNotePath(notePath) {
|
||||||
|
notePath = notePath || "";
|
||||||
|
|
||||||
|
this.selectedNotePath = notePath;
|
||||||
|
|
||||||
|
$(this)
|
||||||
|
.closest(".input-group")
|
||||||
|
.find(".go-to-selected-note-button")
|
||||||
|
.toggleClass("disabled", !notePath.trim())
|
||||||
|
.attr(SELECTED_NOTE_PATH_KEY, notePath); // we also set attr here so tooltip can be displayed
|
||||||
|
},
|
||||||
|
|
||||||
|
getSelectedExternalLink() {
|
||||||
|
if (!$(this).val().trim()) {
|
||||||
|
return "";
|
||||||
|
} else {
|
||||||
|
return this.selectedExternalLink;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
setSelectedExternalLink(externalLink) {
|
||||||
|
this.selectedExternalLink = externalLink;
|
||||||
|
|
||||||
|
$(this)
|
||||||
|
.closest(".input-group")
|
||||||
|
.find(".go-to-selected-note-button")
|
||||||
|
.toggleClass("disabled", true);
|
||||||
|
},
|
||||||
|
|
||||||
|
async setNote(noteId) {
|
||||||
|
const note = noteId ? await froca.getNote(noteId, true) : null;
|
||||||
|
|
||||||
|
$(this)
|
||||||
|
.val(note ? note.title : "")
|
||||||
|
.setSelectedNotePath(noteId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
async function autocompleteSourceForCKEditor(queryText) {
|
async function autocompleteSourceForCKEditor(queryText) {
|
||||||
return await new Promise((res, rej) => {
|
return await new Promise((res, rej) => {
|
||||||
@ -30,7 +98,7 @@ async function autocompleteSourceForCKEditor(queryText) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
async function autocompleteSource(term, cb, options = {}) {
|
async function autocompleteSource(term, options = {}) {
|
||||||
const activeNoteId = appContext.tabManager.getActiveContextNoteId();
|
const activeNoteId = appContext.tabManager.getActiveContextNoteId();
|
||||||
|
|
||||||
let results = await server.get('autocomplete'
|
let results = await server.get('autocomplete'
|
||||||
@ -58,206 +126,176 @@ async function autocompleteSource(term, cb, options = {}) {
|
|||||||
].concat(results);
|
].concat(results);
|
||||||
}
|
}
|
||||||
|
|
||||||
cb(results);
|
return results;
|
||||||
}
|
}
|
||||||
|
|
||||||
function clearText($el) {
|
function clearText(acObj) {
|
||||||
if (utils.isMobile()) {
|
if (utils.isMobile()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$el.setSelectedNotePath("");
|
acObj.ext.setSelectedNotePath("");
|
||||||
$el.autocomplete("val", "").trigger('change');
|
acObj.setQuery("");
|
||||||
}
|
}
|
||||||
|
|
||||||
function setText($el, text) {
|
function setText(ac, text) {
|
||||||
if (utils.isMobile()) {
|
if (utils.isMobile()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$el.setSelectedNotePath("");
|
ac.ext.setSelectedNotePath("");
|
||||||
$el
|
ac.setQuery(text.trim());
|
||||||
.autocomplete("val", text.trim())
|
ac.setIsOpen(true);
|
||||||
.autocomplete("open");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function showRecentNotes($el) {
|
function showRecentNotes(ac) {
|
||||||
if (utils.isMobile()) {
|
if (utils.isMobile()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$el.setSelectedNotePath("");
|
ac.ext.$el.find(".aa-Input").val("").change();
|
||||||
$el.autocomplete("val", "");
|
|
||||||
$el.trigger('focus');
|
ac.setQuery("");
|
||||||
|
ac.setIsOpen(true);
|
||||||
|
ac.update();
|
||||||
|
ac.ext.setSelectedNotePath("");
|
||||||
|
ac.ext.focus();
|
||||||
|
|
||||||
|
|
||||||
|
console.log("BBB");
|
||||||
}
|
}
|
||||||
|
|
||||||
function initNoteAutocomplete($el, options) {
|
function initNoteAutocomplete($container, options) {
|
||||||
if ($el.hasClass("note-autocomplete-input") || utils.isMobile()) {
|
if ($container.hasClass("note-autocomplete-container") || utils.isMobile()) {
|
||||||
// clear any event listener added in previous invocation of this function
|
// clear any event listener added in previous invocation of this function
|
||||||
$el.off('autocomplete:noteselected');
|
$container.off('autocomplete:noteselected');
|
||||||
|
|
||||||
return $el;
|
return $container.prop("acObj");
|
||||||
}
|
}
|
||||||
|
|
||||||
options = options || {};
|
options = options || {};
|
||||||
|
|
||||||
$el.addClass("note-autocomplete-input");
|
const $el = $('<div class="note-autocomplete-input">');
|
||||||
|
const $sideButtons = $('<div>');
|
||||||
|
|
||||||
const $clearTextButton = $("<a>")
|
$container.addClass("note-autocomplete-container")
|
||||||
.addClass("input-group-text input-clearer-button bx bx-x")
|
.append($el)
|
||||||
.prop("title", "Clear text field");
|
.append($sideButtons);
|
||||||
|
|
||||||
const $showRecentNotesButton = $("<a>")
|
const $showRecentNotesButton = $("<a>")
|
||||||
.addClass("input-group-text show-recent-notes-button bx bx-time")
|
.addClass("show-recent-notes-button bx bx-time")
|
||||||
.prop("title", "Show recent notes");
|
.prop("title", "Show recent notes");
|
||||||
|
|
||||||
const $goToSelectedNoteButton = $("<a>")
|
const $goToSelectedNoteButton = $("<a>")
|
||||||
.addClass("input-group-text go-to-selected-note-button bx bx-arrow-to-right")
|
.addClass("go-to-selected-note-button bx bx-arrow-to-right")
|
||||||
.attr("data-action", "note");
|
.attr("data-action", "note");
|
||||||
|
|
||||||
const $sideButtons = $("<div>")
|
$sideButtons.append($showRecentNotesButton);
|
||||||
.addClass("input-group-append")
|
|
||||||
.append($clearTextButton)
|
|
||||||
.append($showRecentNotesButton);
|
|
||||||
|
|
||||||
if (!options.hideGoToSelectedNoteButton) {
|
if (!options.hideGoToSelectedNoteButton) {
|
||||||
$sideButtons.append($goToSelectedNoteButton);
|
$sideButtons.append($goToSelectedNoteButton);
|
||||||
}
|
}
|
||||||
|
|
||||||
$el.after($sideButtons);
|
|
||||||
|
|
||||||
$clearTextButton.on('click', () => clearText($el));
|
|
||||||
|
|
||||||
$showRecentNotesButton.on('click', e => {
|
$showRecentNotesButton.on('click', e => {
|
||||||
showRecentNotes($el);
|
showRecentNotes(acObj);
|
||||||
|
|
||||||
// this will cause the click not give focus to the "show recent notes" button
|
// this will cause the click not give focus to the "show recent notes" button
|
||||||
// this is important because otherwise input will lose focus immediatelly and not show the results
|
// this is important because otherwise input will lose focus immediatelly and not show the results
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
|
|
||||||
$el.autocomplete({
|
const { autocomplete } = window['@algolia/autocomplete-js'];
|
||||||
appendTo: document.querySelector('body'),
|
|
||||||
hint: false,
|
let acObj = autocomplete({
|
||||||
autoselect: true,
|
container: $el[0],
|
||||||
|
defaultActiveItemId: 0,
|
||||||
openOnFocus: true,
|
openOnFocus: true,
|
||||||
minLength: 0,
|
tabAutocomplete: false,
|
||||||
tabAutocomplete: false
|
placeholder: options.placeholder,
|
||||||
}, [
|
onStateChange({ state }) {
|
||||||
|
acObj.lastState = state;
|
||||||
|
},
|
||||||
|
async getSources({ query }) {
|
||||||
|
const items = await autocompleteSource(query, options);
|
||||||
|
|
||||||
|
return [
|
||||||
{
|
{
|
||||||
source: (term, cb) => autocompleteSource(term, cb, options),
|
getItems() {
|
||||||
|
return items;
|
||||||
|
},
|
||||||
|
onSelect({item}) {
|
||||||
|
acObj.ext.$el.trigger("autocomplete:selected", [item]);
|
||||||
|
},
|
||||||
displayKey: 'notePathTitle',
|
displayKey: 'notePathTitle',
|
||||||
templates: {
|
templates: {
|
||||||
suggestion: suggestion => suggestion.highlightedNotePathTitle
|
item({ item, createElement }) {
|
||||||
|
return createElement('div', {
|
||||||
|
dangerouslySetInnerHTML: {
|
||||||
|
__html: item.highlightedNotePathTitle,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}
|
||||||
},
|
},
|
||||||
// we can't cache identical searches because notes can be created / renamed, new recent notes can be added
|
// we can't cache identical searches because notes can be created / renamed, new recent notes can be added
|
||||||
cache: false
|
cache: false
|
||||||
}
|
}
|
||||||
]);
|
]
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
$el.on('autocomplete:selected', async (event, suggestion) => {
|
acObj.ext = {...acMixin, $el, $container };
|
||||||
if (suggestion.action === 'external-link') {
|
|
||||||
$el.setSelectedNotePath(null);
|
|
||||||
$el.setSelectedExternalLink(suggestion.externalLink);
|
|
||||||
|
|
||||||
$el.autocomplete("val", suggestion.externalLink);
|
$container.prop("acObj", acObj);
|
||||||
|
|
||||||
$el.autocomplete("close");
|
$container.on('autocomplete:selected', async (event, item) => {
|
||||||
|
if (item.action === 'external-link') {
|
||||||
|
acObj.ext.setSelectedNotePath(null);
|
||||||
|
acObj.ext.setSelectedExternalLink(item.externalLink);
|
||||||
|
|
||||||
$el.trigger('autocomplete:externallinkselected', [suggestion]);
|
acObj.setQuery(item.externalLink);
|
||||||
|
|
||||||
|
$container.autocomplete("close");
|
||||||
|
|
||||||
|
$container.trigger('autocomplete:externallinkselected', [item]);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (suggestion.action === 'create-note') {
|
if (item.action === 'create-note') {
|
||||||
const {note} = await noteCreateService.createNote(suggestion.parentNoteId, {
|
const {note} = await noteCreateService.createNote(item.parentNoteId, {
|
||||||
title: suggestion.noteTitle,
|
title: item.noteTitle,
|
||||||
activate: false
|
activate: false
|
||||||
});
|
});
|
||||||
|
|
||||||
suggestion.notePath = treeService.getSomeNotePath(note);
|
item.notePath = treeService.getSomeNotePath(note);
|
||||||
}
|
}
|
||||||
|
|
||||||
$el.setSelectedNotePath(suggestion.notePath);
|
acObj.ext.setSelectedNotePath(item.notePath);
|
||||||
$el.setSelectedExternalLink(null);
|
acObj.ext.setSelectedExternalLink(null);
|
||||||
|
|
||||||
$el.autocomplete("val", suggestion.noteTitle);
|
acObj.setQuery(item.noteTitle);
|
||||||
|
|
||||||
$el.autocomplete("close");
|
acObj.setIsOpen(false);
|
||||||
|
|
||||||
$el.trigger('autocomplete:noteselected', [suggestion]);
|
$container.trigger('autocomplete:noteselected', [item]);
|
||||||
});
|
});
|
||||||
|
|
||||||
$el.on('autocomplete:closed', () => {
|
$container.on('autocomplete:closed', () => {
|
||||||
if (!$el.val().trim()) {
|
if (!$container.val().trim()) {
|
||||||
clearText($el);
|
clearText($container);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
$el.on('autocomplete:opened', () => {
|
$container.on('autocomplete:opened', () => {
|
||||||
if ($el.attr("readonly")) {
|
if ($container.attr("readonly")) {
|
||||||
$el.autocomplete('close');
|
$container.autocomplete('close');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// clear any event listener added in previous invocation of this function
|
// clear any event listener added in previous invocation of this function
|
||||||
$el.off('autocomplete:noteselected');
|
$container.off('autocomplete:noteselected');
|
||||||
|
|
||||||
return $el;
|
return acObj;
|
||||||
}
|
|
||||||
|
|
||||||
function init() {
|
|
||||||
$.fn.getSelectedNotePath = function () {
|
|
||||||
if (!$(this).val().trim()) {
|
|
||||||
return "";
|
|
||||||
} else {
|
|
||||||
return $(this).attr(SELECTED_NOTE_PATH_KEY);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
$.fn.getSelectedNoteId = function () {
|
|
||||||
const notePath = $(this).getSelectedNotePath();
|
|
||||||
const chunks = notePath.split('/');
|
|
||||||
|
|
||||||
return chunks.length >= 1 ? chunks[chunks.length - 1] : null;
|
|
||||||
}
|
|
||||||
|
|
||||||
$.fn.setSelectedNotePath = function (notePath) {
|
|
||||||
notePath = notePath || "";
|
|
||||||
|
|
||||||
$(this).attr(SELECTED_NOTE_PATH_KEY, notePath);
|
|
||||||
|
|
||||||
$(this)
|
|
||||||
.closest(".input-group")
|
|
||||||
.find(".go-to-selected-note-button")
|
|
||||||
.toggleClass("disabled", !notePath.trim())
|
|
||||||
.attr(SELECTED_NOTE_PATH_KEY, notePath); // we also set attr here so tooltip can be displayed
|
|
||||||
};
|
|
||||||
|
|
||||||
$.fn.getSelectedExternalLink = function () {
|
|
||||||
if (!$(this).val().trim()) {
|
|
||||||
return "";
|
|
||||||
} else {
|
|
||||||
return $(this).attr(SELECTED_EXTERNAL_LINK_KEY);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
$.fn.setSelectedExternalLink = function (externalLink) {
|
|
||||||
$(this).attr(SELECTED_EXTERNAL_LINK_KEY, externalLink);
|
|
||||||
|
|
||||||
$(this)
|
|
||||||
.closest(".input-group")
|
|
||||||
.find(".go-to-selected-note-button")
|
|
||||||
.toggleClass("disabled", true);
|
|
||||||
}
|
|
||||||
|
|
||||||
$.fn.setNote = async function (noteId) {
|
|
||||||
const note = noteId ? await froca.getNote(noteId, true) : null;
|
|
||||||
|
|
||||||
$(this)
|
|
||||||
.val(note ? note.title : "")
|
|
||||||
.setSelectedNotePath(noteId);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@ -265,6 +303,5 @@ export default {
|
|||||||
autocompleteSourceForCKEditor,
|
autocompleteSourceForCKEditor,
|
||||||
initNoteAutocomplete,
|
initNoteAutocomplete,
|
||||||
showRecentNotes,
|
showRecentNotes,
|
||||||
setText,
|
setText
|
||||||
init
|
|
||||||
}
|
}
|
||||||
|
@ -59,10 +59,10 @@ class NoteContext extends Component {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
if (utils.isDesktop()) {
|
// if (utils.isDesktop()) {
|
||||||
// close dangling autocompletes after closing the tab
|
// // close dangling autocompletes after closing the tab
|
||||||
$(".aa-input").autocomplete("close");
|
// $(".aa-input").autocomplete("close");
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
getSubContexts() {
|
getSubContexts() {
|
||||||
|
@ -292,7 +292,9 @@ export default class AttributeDetailWidget extends NoteContextAwareWidget {
|
|||||||
this.$rowTargetNote = this.$widget.find('.attr-row-target-note');
|
this.$rowTargetNote = this.$widget.find('.attr-row-target-note');
|
||||||
this.$inputTargetNote = this.$widget.find('.attr-input-target-note');
|
this.$inputTargetNote = this.$widget.find('.attr-input-target-note');
|
||||||
|
|
||||||
noteAutocompleteService.initNoteAutocomplete(this.$inputTargetNote, {allowCreatingNotes: true})
|
noteAutocompleteService.initNoteAutocomplete(this.$inputTargetNote, {allowCreatingNotes: true});
|
||||||
|
|
||||||
|
this.$inputTargetNote
|
||||||
.on('autocomplete:noteselected', (event, suggestion, dataset) => {
|
.on('autocomplete:noteselected', (event, suggestion, dataset) => {
|
||||||
if (!suggestion.notePath) {
|
if (!suggestion.notePath) {
|
||||||
return false;
|
return false;
|
||||||
|
@ -358,9 +358,12 @@ pre:not(.CodeMirror-line) {
|
|||||||
color: var(--button-disabled-background-color) !important;
|
color: var(--button-disabled-background-color) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.note-autocomplete-input {
|
.note-autocomplete-container {
|
||||||
/* this is for seamless integration of "input clearer" button */
|
display: flex;
|
||||||
border-right: 0;
|
}
|
||||||
|
|
||||||
|
.note-autocomplete-container .note-autocomplete-input {
|
||||||
|
flex-grow: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
table.promoted-attributes-in-tooltip {
|
table.promoted-attributes-in-tooltip {
|
||||||
@ -432,43 +435,6 @@ table.promoted-attributes-in-tooltip td, table.promoted-attributes-in-tooltip th
|
|||||||
opacity: 1;
|
opacity: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
.algolia-autocomplete {
|
|
||||||
width: calc(100% - 30px);
|
|
||||||
z-index: 2000 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.algolia-autocomplete .aa-input, .algolia-autocomplete .aa-hint {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.algolia-autocomplete .aa-dropdown-menu {
|
|
||||||
width: 100%;
|
|
||||||
background-color: var(--main-background-color);
|
|
||||||
border: 1px solid var(--main-border-color);
|
|
||||||
border-top: none;
|
|
||||||
z-index: 2000 !important;
|
|
||||||
max-height: 500px;
|
|
||||||
overflow: auto;
|
|
||||||
padding: 0;
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.algolia-autocomplete .aa-dropdown-menu .aa-suggestion {
|
|
||||||
cursor: pointer;
|
|
||||||
padding: 5px;
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.algolia-autocomplete .aa-dropdown-menu .aa-suggestion p {
|
|
||||||
padding: 0;
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.algolia-autocomplete .aa-dropdown-menu .aa-suggestion.aa-cursor {
|
|
||||||
color: var(--hover-item-text-color);
|
|
||||||
background-color: var(--hover-item-background-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
.help-button {
|
.help-button {
|
||||||
float: right;
|
float: right;
|
||||||
background: none;
|
background: none;
|
||||||
@ -958,3 +924,7 @@ input {
|
|||||||
.note-split.full-content-width {
|
.note-split.full-content-width {
|
||||||
max-width: 999999px;
|
max-width: 999999px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.aa-Panel {
|
||||||
|
z-index: 10000;
|
||||||
|
}
|
||||||
|
@ -79,7 +79,8 @@
|
|||||||
|
|
||||||
<script src="libraries/jquery.hotkeys.js"></script>
|
<script src="libraries/jquery.hotkeys.js"></script>
|
||||||
|
|
||||||
<script src="libraries/autocomplete.jquery.min.js"></script>
|
<link href="libraries/autocomplete-theme-classic.css" rel="stylesheet">
|
||||||
|
<script src="libraries/autocomplete.js"></script>
|
||||||
|
|
||||||
<script src="libraries/dayjs.min.js"></script>
|
<script src="libraries/dayjs.min.js"></script>
|
||||||
|
|
||||||
|
@ -10,9 +10,8 @@
|
|||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="jump-to-note-autocomplete">Note</label>
|
<label for="jump-to-note-autocomplete">Note</label>
|
||||||
<div class="input-group">
|
|
||||||
<input id="jump-to-note-autocomplete" class="form-control" placeholder="search for note by its name">
|
<div id="jump-to-note-autocomplete"></div>
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
|
Loading…
x
Reference in New Issue
Block a user