mirror of
				https://github.com/zadam/trilium.git
				synced 2025-10-31 10:26:08 +01:00 
			
		
		
		
	implement "expand subtree" contet menu, closes #993
This commit is contained in:
		
							
								
								
									
										157
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										157
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @@ -35,9 +35,9 @@ | |||||||
|       }, |       }, | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "ajv": { |         "ajv": { | ||||||
|           "version": "6.12.0", |           "version": "6.12.2", | ||||||
|           "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", |           "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", | ||||||
|           "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", |           "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", | ||||||
|           "dev": true, |           "dev": true, | ||||||
|           "requires": { |           "requires": { | ||||||
|             "fast-deep-equal": "^3.1.1", |             "fast-deep-equal": "^3.1.1", | ||||||
| @@ -1192,38 +1192,38 @@ | |||||||
|       "integrity": "sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg==" |       "integrity": "sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg==" | ||||||
|     }, |     }, | ||||||
|     "app-builder-bin": { |     "app-builder-bin": { | ||||||
|       "version": "3.5.6", |       "version": "3.5.8", | ||||||
|       "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-3.5.6.tgz", |       "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-3.5.8.tgz", | ||||||
|       "integrity": "sha512-gY9ABoV5jh67IrPEwF81R8l9LwE3RqHUyU3rIKitwqMpKhplN5OZC6WEHOXO3XhwiLCIlr9LLI6OPhr3bmtQIg==", |       "integrity": "sha512-ni3q7QTfQNWHNWuyn5x3FZu6GnQZv+TFnfgk5++svqleKEhHGqS1mIaKsh7x5pBX6NFXU3/+ktk98wA/AW4EXw==", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|     "app-builder-lib": { |     "app-builder-lib": { | ||||||
|       "version": "22.5.1", |       "version": "22.6.0", | ||||||
|       "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-22.5.1.tgz", |       "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-22.6.0.tgz", | ||||||
|       "integrity": "sha512-VtB/PD8actR1317D/0uGzuJIYbpw4pRrfMB6IyTLwGynUd3ihqiCFjejVWHjCwopgCct2kE0MvLwo8P49xHIeQ==", |       "integrity": "sha512-ky2aLYy92U+Gh6dKq/e8/bNmCotp6/GMhnX8tDZPv9detLg9WuBnWWi1ktBPlpbl1DREusy+TIh+9rgvfduQoA==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "requires": { |       "requires": { | ||||||
|         "7zip-bin": "~5.0.3", |         "7zip-bin": "~5.0.3", | ||||||
|         "@develar/schema-utils": "~2.6.5", |         "@develar/schema-utils": "~2.6.5", | ||||||
|         "async-exit-hook": "^2.0.1", |         "async-exit-hook": "^2.0.1", | ||||||
|         "bluebird-lst": "^1.0.9", |         "bluebird-lst": "^1.0.9", | ||||||
|         "builder-util": "22.5.1", |         "builder-util": "22.6.0", | ||||||
|         "builder-util-runtime": "8.7.0", |         "builder-util-runtime": "8.7.0", | ||||||
|         "chromium-pickle-js": "^0.2.0", |         "chromium-pickle-js": "^0.2.0", | ||||||
|         "debug": "^4.1.1", |         "debug": "^4.1.1", | ||||||
|         "ejs": "^3.0.2", |         "ejs": "^3.1.2", | ||||||
|         "electron-publish": "22.5.1", |         "electron-publish": "22.6.0", | ||||||
|         "fs-extra": "^9.0.0", |         "fs-extra": "^9.0.0", | ||||||
|         "hosted-git-info": "^3.0.4", |         "hosted-git-info": "^3.0.4", | ||||||
|         "is-ci": "^2.0.0", |         "is-ci": "^2.0.0", | ||||||
|         "isbinaryfile": "^4.0.5", |         "isbinaryfile": "^4.0.6", | ||||||
|         "js-yaml": "^3.13.1", |         "js-yaml": "^3.13.1", | ||||||
|         "lazy-val": "^1.0.4", |         "lazy-val": "^1.0.4", | ||||||
|         "minimatch": "^3.0.4", |         "minimatch": "^3.0.4", | ||||||
|         "normalize-package-data": "^2.5.0", |         "normalize-package-data": "^2.5.0", | ||||||
|         "read-config-file": "6.0.0", |         "read-config-file": "6.0.0", | ||||||
|         "sanitize-filename": "^1.6.3", |         "sanitize-filename": "^1.6.3", | ||||||
|         "semver": "^7.1.3", |         "semver": "^7.3.2", | ||||||
|         "temp-file": "^3.3.7" |         "temp-file": "^3.3.7" | ||||||
|       }, |       }, | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
| @@ -1864,23 +1864,23 @@ | |||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "builder-util": { |     "builder-util": { | ||||||
|       "version": "22.5.1", |       "version": "22.6.0", | ||||||
|       "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-22.5.1.tgz", |       "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-22.6.0.tgz", | ||||||
|       "integrity": "sha512-CelDTP3+fvDfZfbwy3PXif7mudPaWankJ8vrRg/NtCGvL+hXnwycnJZr46d5EQL7AgQcpJ27o9LTdfu61cxTFw==", |       "integrity": "sha512-jgdES2ExJYkuXC3DEaGAjFctKNA81C4QDy8zdoc+rqdSqheTizuDNtZg02uMFklmUES4V4fggmqds+Y7wraqng==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "requires": { |       "requires": { | ||||||
|         "7zip-bin": "~5.0.3", |         "7zip-bin": "~5.0.3", | ||||||
|         "@types/debug": "^4.1.5", |         "@types/debug": "^4.1.5", | ||||||
|         "@types/fs-extra": "^8.1.0", |         "@types/fs-extra": "^8.1.0", | ||||||
|         "app-builder-bin": "3.5.6", |         "app-builder-bin": "3.5.8", | ||||||
|         "bluebird-lst": "^1.0.9", |         "bluebird-lst": "^1.0.9", | ||||||
|         "builder-util-runtime": "8.7.0", |         "builder-util-runtime": "8.7.0", | ||||||
|         "chalk": "^3.0.0", |         "chalk": "^4.0.0", | ||||||
|         "debug": "^4.1.1", |         "debug": "^4.1.1", | ||||||
|         "fs-extra": "^9.0.0", |         "fs-extra": "^9.0.0", | ||||||
|         "is-ci": "^2.0.0", |         "is-ci": "^2.0.0", | ||||||
|         "js-yaml": "^3.13.1", |         "js-yaml": "^3.13.1", | ||||||
|         "source-map-support": "^0.5.16", |         "source-map-support": "^0.5.19", | ||||||
|         "stat-mode": "^1.0.0", |         "stat-mode": "^1.0.0", | ||||||
|         "temp-file": "^3.3.7" |         "temp-file": "^3.3.7" | ||||||
|       }, |       }, | ||||||
| @@ -1896,9 +1896,9 @@ | |||||||
|           } |           } | ||||||
|         }, |         }, | ||||||
|         "chalk": { |         "chalk": { | ||||||
|           "version": "3.0.0", |           "version": "4.0.0", | ||||||
|           "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", |           "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", | ||||||
|           "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", |           "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==", | ||||||
|           "dev": true, |           "dev": true, | ||||||
|           "requires": { |           "requires": { | ||||||
|             "ansi-styles": "^4.1.0", |             "ansi-styles": "^4.1.0", | ||||||
| @@ -1920,6 +1920,16 @@ | |||||||
|           "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", |           "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", | ||||||
|           "dev": true |           "dev": true | ||||||
|         }, |         }, | ||||||
|  |         "source-map-support": { | ||||||
|  |           "version": "0.5.19", | ||||||
|  |           "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", | ||||||
|  |           "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", | ||||||
|  |           "dev": true, | ||||||
|  |           "requires": { | ||||||
|  |             "buffer-from": "^1.0.0", | ||||||
|  |             "source-map": "^0.6.0" | ||||||
|  |           } | ||||||
|  |         }, | ||||||
|         "stat-mode": { |         "stat-mode": { | ||||||
|           "version": "1.0.0", |           "version": "1.0.0", | ||||||
|           "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-1.0.0.tgz", |           "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-1.0.0.tgz", | ||||||
| @@ -3143,13 +3153,13 @@ | |||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "dmg-builder": { |     "dmg-builder": { | ||||||
|       "version": "22.5.1", |       "version": "22.6.0", | ||||||
|       "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-22.5.1.tgz", |       "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-22.6.0.tgz", | ||||||
|       "integrity": "sha512-AwIiyGwgqhA8Ty/YnEU20aSzfrWZns6suOBTqddD+rLDI4jEASKGQadfvcXRSWgaK/VQW0GrhheXrhJpzZzt3g==", |       "integrity": "sha512-rJxuGhHIpcuDGBtWZMM8aLxkbZNgYO2MO5dUerDIBXebhX1K8DA23iz/uZ8ahcRNgWEv57b8GDqJbXKEfr5T0A==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "requires": { |       "requires": { | ||||||
|         "app-builder-lib": "22.5.1", |         "app-builder-lib": "22.6.0", | ||||||
|         "builder-util": "22.5.1", |         "builder-util": "22.6.0", | ||||||
|         "fs-extra": "^9.0.0", |         "fs-extra": "^9.0.0", | ||||||
|         "iconv-lite": "^0.5.1", |         "iconv-lite": "^0.5.1", | ||||||
|         "js-yaml": "^3.13.1", |         "js-yaml": "^3.13.1", | ||||||
| @@ -3335,9 +3345,9 @@ | |||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "electron": { |     "electron": { | ||||||
|       "version": "9.0.0-beta.20", |       "version": "9.0.0-beta.21", | ||||||
|       "resolved": "https://registry.npmjs.org/electron/-/electron-9.0.0-beta.20.tgz", |       "resolved": "https://registry.npmjs.org/electron/-/electron-9.0.0-beta.21.tgz", | ||||||
|       "integrity": "sha512-B3JDQRGYi/hS/a64wDx1Xnl8Z52rpBbysh+D4KOKL95NJ+MLVifgCzhu9yHIFNblB5fqz7PFzbyllJ6wAoQMQg==", |       "integrity": "sha512-xFOD8I4RB9IkpVKnzoHwHvDNGvGl1IinpYTyQ7o7FAgSnkvP/upI1JtzE5Ff6PlAdyIGnbC+Rz1hJIfmAXxVuQ==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "requires": { |       "requires": { | ||||||
|         "@electron/get": "^1.0.1", |         "@electron/get": "^1.0.1", | ||||||
| @@ -3346,18 +3356,18 @@ | |||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "electron-builder": { |     "electron-builder": { | ||||||
|       "version": "22.5.1", |       "version": "22.6.0", | ||||||
|       "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-22.5.1.tgz", |       "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-22.6.0.tgz", | ||||||
|       "integrity": "sha512-7gnHN8Ml5zecDerN8/ljAwUKtE+hhGLuT/X2/zO0FJM2q2hlLx/6ZgzESFILKqnPQFEBRxQ8SL1OxjdIY0HIrw==", |       "integrity": "sha512-aLHlB6DTfjJ3MI4AUIFeWnwIozNgNlbOk2c2sTHxB10cAKp0dBVSPZ7xF5NK0uwDhElvRzJQubnHtJD6zKg42Q==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "requires": { |       "requires": { | ||||||
|         "@types/yargs": "^15.0.4", |         "@types/yargs": "^15.0.4", | ||||||
|         "app-builder-lib": "22.5.1", |         "app-builder-lib": "22.6.0", | ||||||
|         "bluebird-lst": "^1.0.9", |         "bluebird-lst": "^1.0.9", | ||||||
|         "builder-util": "22.5.1", |         "builder-util": "22.6.0", | ||||||
|         "builder-util-runtime": "8.7.0", |         "builder-util-runtime": "8.7.0", | ||||||
|         "chalk": "^3.0.0", |         "chalk": "^4.0.0", | ||||||
|         "dmg-builder": "22.5.1", |         "dmg-builder": "22.6.0", | ||||||
|         "fs-extra": "^9.0.0", |         "fs-extra": "^9.0.0", | ||||||
|         "is-ci": "^2.0.0", |         "is-ci": "^2.0.0", | ||||||
|         "lazy-val": "^1.0.4", |         "lazy-val": "^1.0.4", | ||||||
| @@ -3378,9 +3388,9 @@ | |||||||
|           } |           } | ||||||
|         }, |         }, | ||||||
|         "chalk": { |         "chalk": { | ||||||
|           "version": "3.0.0", |           "version": "4.0.0", | ||||||
|           "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", |           "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", | ||||||
|           "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", |           "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==", | ||||||
|           "dev": true, |           "dev": true, | ||||||
|           "requires": { |           "requires": { | ||||||
|             "ansi-styles": "^4.1.0", |             "ansi-styles": "^4.1.0", | ||||||
| @@ -3724,16 +3734,16 @@ | |||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "electron-publish": { |     "electron-publish": { | ||||||
|       "version": "22.5.1", |       "version": "22.6.0", | ||||||
|       "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-22.5.1.tgz", |       "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-22.6.0.tgz", | ||||||
|       "integrity": "sha512-g5bwLAHZT6A++yU1+Et+fncnFAdXXgkRao9rzTFAvhQ0QJBsmLiyOd0Ta2RI/EQcVoy6jyHtxFs7CWIXE5aZOA==", |       "integrity": "sha512-+v05SBf9qR7Os5au+fifloNHy5QxHQkUGudBj68YaTb43Pn37UkwRxSc49Lf13s4wW32ohM45g8BOVInPJEdnA==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "requires": { |       "requires": { | ||||||
|         "@types/fs-extra": "^8.1.0", |         "@types/fs-extra": "^8.1.0", | ||||||
|         "bluebird-lst": "^1.0.9", |         "bluebird-lst": "^1.0.9", | ||||||
|         "builder-util": "22.5.1", |         "builder-util": "22.6.0", | ||||||
|         "builder-util-runtime": "8.7.0", |         "builder-util-runtime": "8.7.0", | ||||||
|         "chalk": "^3.0.0", |         "chalk": "^4.0.0", | ||||||
|         "fs-extra": "^9.0.0", |         "fs-extra": "^9.0.0", | ||||||
|         "lazy-val": "^1.0.4", |         "lazy-val": "^1.0.4", | ||||||
|         "mime": "^2.4.4" |         "mime": "^2.4.4" | ||||||
| @@ -3750,9 +3760,9 @@ | |||||||
|           } |           } | ||||||
|         }, |         }, | ||||||
|         "chalk": { |         "chalk": { | ||||||
|           "version": "3.0.0", |           "version": "4.0.0", | ||||||
|           "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", |           "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", | ||||||
|           "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", |           "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==", | ||||||
|           "dev": true, |           "dev": true, | ||||||
|           "requires": { |           "requires": { | ||||||
|             "ansi-styles": "^4.1.0", |             "ansi-styles": "^4.1.0", | ||||||
| @@ -7856,9 +7866,9 @@ | |||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "nan": { |     "nan": { | ||||||
|       "version": "2.14.0", |       "version": "2.14.1", | ||||||
|       "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", |       "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz", | ||||||
|       "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==" |       "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==" | ||||||
|     }, |     }, | ||||||
|     "nanoid": { |     "nanoid": { | ||||||
|       "version": "2.1.11", |       "version": "2.1.11", | ||||||
| @@ -7867,9 +7877,9 @@ | |||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|     "needle": { |     "needle": { | ||||||
|       "version": "2.4.0", |       "version": "2.4.1", | ||||||
|       "resolved": "https://registry.npmjs.org/needle/-/needle-2.4.0.tgz", |       "resolved": "https://registry.npmjs.org/needle/-/needle-2.4.1.tgz", | ||||||
|       "integrity": "sha512-4Hnwzr3mi5L97hMYeNl8wRW/Onhy4nUKR/lVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg==", |       "integrity": "sha512-x/gi6ijr4B7fwl6WYL9FwlCvRQKGlUNvnceho8wxkwXqN8jvVmmmATTmZPRRG7b/yC1eode26C2HO9jl78Du9g==", | ||||||
|       "requires": { |       "requires": { | ||||||
|         "debug": "^3.2.6", |         "debug": "^3.2.6", | ||||||
|         "iconv-lite": "^0.4.4", |         "iconv-lite": "^0.4.4", | ||||||
| @@ -8088,9 +8098,12 @@ | |||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "npm-bundled": { |     "npm-bundled": { | ||||||
|       "version": "1.0.6", |       "version": "1.1.1", | ||||||
|       "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.6.tgz", |       "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz", | ||||||
|       "integrity": "sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g==" |       "integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==", | ||||||
|  |       "requires": { | ||||||
|  |         "npm-normalize-package-bin": "^1.0.1" | ||||||
|  |       } | ||||||
|     }, |     }, | ||||||
|     "npm-conf": { |     "npm-conf": { | ||||||
|       "version": "1.1.3", |       "version": "1.1.3", | ||||||
| @@ -8108,13 +8121,19 @@ | |||||||
|         } |         } | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "npm-normalize-package-bin": { | ||||||
|  |       "version": "1.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", | ||||||
|  |       "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==" | ||||||
|  |     }, | ||||||
|     "npm-packlist": { |     "npm-packlist": { | ||||||
|       "version": "1.4.6", |       "version": "1.4.8", | ||||||
|       "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.6.tgz", |       "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz", | ||||||
|       "integrity": "sha512-u65uQdb+qwtGvEJh/DgQgW1Xg7sqeNbmxYyrvlNznaVTjV3E5P6F/EFjM+BVHXl7JJlsdG8A64M0XI8FI/IOlg==", |       "integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==", | ||||||
|       "requires": { |       "requires": { | ||||||
|         "ignore-walk": "^3.0.1", |         "ignore-walk": "^3.0.1", | ||||||
|         "npm-bundled": "^1.0.1" |         "npm-bundled": "^1.0.1", | ||||||
|  |         "npm-normalize-package-bin": "^1.0.1" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "npm-run-path": { |     "npm-run-path": { | ||||||
| @@ -9706,6 +9725,7 @@ | |||||||
|       "version": "2.88.0", |       "version": "2.88.0", | ||||||
|       "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", |       "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", | ||||||
|       "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", |       "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", | ||||||
|  |       "dev": true, | ||||||
|       "requires": { |       "requires": { | ||||||
|         "aws-sign2": "~0.7.0", |         "aws-sign2": "~0.7.0", | ||||||
|         "aws4": "^1.8.0", |         "aws4": "^1.8.0", | ||||||
| @@ -9732,12 +9752,14 @@ | |||||||
|         "qs": { |         "qs": { | ||||||
|           "version": "6.5.2", |           "version": "6.5.2", | ||||||
|           "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", |           "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", | ||||||
|           "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" |           "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", | ||||||
|  |           "dev": true | ||||||
|         }, |         }, | ||||||
|         "tunnel-agent": { |         "tunnel-agent": { | ||||||
|           "version": "0.6.0", |           "version": "0.6.0", | ||||||
|           "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", |           "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", | ||||||
|           "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", |           "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", | ||||||
|  |           "dev": true, | ||||||
|           "requires": { |           "requires": { | ||||||
|             "safe-buffer": "^5.0.1" |             "safe-buffer": "^5.0.1" | ||||||
|           } |           } | ||||||
| @@ -10329,13 +10351,12 @@ | |||||||
|       "integrity": "sha512-1bBO+me3gXRfqwRR3K9aNDoSbTkQ87o6fSjj/BE2gSHHsK3qIDR+LoFZHgZ6kSPdFBoLTsy5/w/+8PBBaK+lvg==" |       "integrity": "sha512-1bBO+me3gXRfqwRR3K9aNDoSbTkQ87o6fSjj/BE2gSHHsK3qIDR+LoFZHgZ6kSPdFBoLTsy5/w/+8PBBaK+lvg==" | ||||||
|     }, |     }, | ||||||
|     "sqlite3": { |     "sqlite3": { | ||||||
|       "version": "4.1.1", |       "version": "4.2.0", | ||||||
|       "resolved": "https://registry.npmjs.org/sqlite3/-/sqlite3-4.1.1.tgz", |       "resolved": "https://registry.npmjs.org/sqlite3/-/sqlite3-4.2.0.tgz", | ||||||
|       "integrity": "sha512-CvT5XY+MWnn0HkbwVKJAyWEMfzpAPwnTiB3TobA5Mri44SrTovmmh499NPQP+gatkeOipqPlBLel7rn4E/PCQg==", |       "integrity": "sha512-roEOz41hxui2Q7uYnWsjMOTry6TcNUNmp8audCx18gF10P2NknwdpF+E+HKvz/F2NvPKGGBF4NGc+ZPQ+AABwg==", | ||||||
|       "requires": { |       "requires": { | ||||||
|         "nan": "^2.12.1", |         "nan": "^2.12.1", | ||||||
|         "node-pre-gyp": "^0.11.0", |         "node-pre-gyp": "^0.11.0" | ||||||
|         "request": "^2.87.0" |  | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "squeak": { |     "squeak": { | ||||||
|   | |||||||
| @@ -67,7 +67,7 @@ | |||||||
|     "session-file-store": "1.4.0", |     "session-file-store": "1.4.0", | ||||||
|     "simple-node-logger": "18.12.24", |     "simple-node-logger": "18.12.24", | ||||||
|     "sqlite": "4.0.7", |     "sqlite": "4.0.7", | ||||||
|     "sqlite3": "4.1.1", |     "sqlite3": "4.2.0", | ||||||
|     "string-similarity": "4.0.1", |     "string-similarity": "4.0.1", | ||||||
|     "tar-stream": "2.1.2", |     "tar-stream": "2.1.2", | ||||||
|     "turndown": "6.0.0", |     "turndown": "6.0.0", | ||||||
| @@ -78,8 +78,8 @@ | |||||||
|     "yazl": "^2.5.1" |     "yazl": "^2.5.1" | ||||||
|   }, |   }, | ||||||
|   "devDependencies": { |   "devDependencies": { | ||||||
|     "electron": "9.0.0-beta.20", |     "electron": "9.0.0-beta.21", | ||||||
|     "electron-builder": "22.5.1", |     "electron-builder": "22.6.0", | ||||||
|     "electron-packager": "14.2.1", |     "electron-packager": "14.2.1", | ||||||
|     "electron-rebuild": "1.10.1", |     "electron-rebuild": "1.10.1", | ||||||
|     "jsdoc": "3.6.4", |     "jsdoc": "3.6.4", | ||||||
|   | |||||||
| @@ -74,7 +74,8 @@ class TreeContextMenu { | |||||||
|             { title: 'Edit branch prefix <kbd data-command="editBranchPrefix"></kbd>', command: "editBranchPrefix", uiIcon: "empty", |             { title: 'Edit branch prefix <kbd data-command="editBranchPrefix"></kbd>', command: "editBranchPrefix", uiIcon: "empty", | ||||||
|                 enabled: isNotRoot && parentNotSearch && noSelectedNotes}, |                 enabled: isNotRoot && parentNotSearch && noSelectedNotes}, | ||||||
|             { title: "Advanced", uiIcon: "empty", enabled: true, items: [ |             { title: "Advanced", uiIcon: "empty", enabled: true, items: [ | ||||||
|                     { title: 'Collapse subtree <kbd data-command="collapseSubtree"></kbd>', command: "collapseSubtree", uiIcon: "align-justify", enabled: noSelectedNotes }, |                     { title: 'Expand subtree <kbd data-command="expandSubtree"></kbd>', command: "expandSubtree", uiIcon: "expand", enabled: noSelectedNotes }, | ||||||
|  |                     { title: 'Collapse subtree <kbd data-command="collapseSubtree"></kbd>', command: "collapseSubtree", uiIcon: "collapse", enabled: noSelectedNotes }, | ||||||
|                     { title: "Force note sync", command: "forceNoteSync", uiIcon: "refresh", enabled: noSelectedNotes }, |                     { title: "Force note sync", command: "forceNoteSync", uiIcon: "refresh", enabled: noSelectedNotes }, | ||||||
|                     { title: 'Sort alphabetically <kbd data-command="sortChildNotes"></kbd>', command: "sortChildNotes", uiIcon: "empty", enabled: noSelectedNotes && notSearch }, |                     { title: 'Sort alphabetically <kbd data-command="sortChildNotes"></kbd>', command: "sortChildNotes", uiIcon: "empty", enabled: noSelectedNotes && notSearch }, | ||||||
|                     { title: 'Recent changes in subtree', command: "recentChangesInSubtree", uiIcon: "history", enabled: noSelectedNotes } |                     { title: 'Recent changes in subtree', command: "recentChangesInSubtree", uiIcon: "history", enabled: noSelectedNotes } | ||||||
|   | |||||||
| @@ -262,6 +262,22 @@ export default class NoteTreeWidget extends TabAwareWidget { | |||||||
|         return notes; |         return notes; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     expandTree(node = null) { | ||||||
|  |         if (!node) { | ||||||
|  |             const hoistedNoteId = hoistedNoteService.getHoistedNoteId(); | ||||||
|  |  | ||||||
|  |             node = this.getNodesByNoteId(hoistedNoteId)[0]; | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         this.batchUpdate(async () => { | ||||||
|  |             // trick - first force load of the whole subtree and then visit and expand. | ||||||
|  |             // unfortunately the two steps can't be combined | ||||||
|  |             await node.visitAndLoad(node => {}, true); | ||||||
|  |  | ||||||
|  |             node.visit(node => node.setExpanded(true), true); | ||||||
|  |         }); | ||||||
|  |     } | ||||||
|  |  | ||||||
|     collapseTree(node = null) { |     collapseTree(node = null) { | ||||||
|         if (!node) { |         if (!node) { | ||||||
|             const hoistedNoteId = hoistedNoteService.getHoistedNoteId(); |             const hoistedNoteId = hoistedNoteService.getHoistedNoteId(); | ||||||
| @@ -269,9 +285,9 @@ export default class NoteTreeWidget extends TabAwareWidget { | |||||||
|             node = this.getNodesByNoteId(hoistedNoteId)[0]; |             node = this.getNodesByNoteId(hoistedNoteId)[0]; | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         node.setExpanded(false); |         this.batchUpdate(() => { | ||||||
|  |             node.visit(node => node.setExpanded(false), true); | ||||||
|         node.visit(node => node.setExpanded(false)); |         }); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
| @@ -461,6 +477,20 @@ export default class NoteTreeWidget extends TabAwareWidget { | |||||||
|         toastService.showMessage("Saved search note refreshed."); |         toastService.showMessage("Saved search note refreshed."); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     async batchUpdate(cb) { | ||||||
|  |         let prevUpdate; | ||||||
|  |  | ||||||
|  |         try { | ||||||
|  |             // disable rendering during update for increased performance | ||||||
|  |             prevUpdate = this.tree.enableUpdate(false); | ||||||
|  |  | ||||||
|  |             await cb(); | ||||||
|  |         } | ||||||
|  |         finally { | ||||||
|  |             this.tree.enableUpdate(prevUpdate); | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |  | ||||||
|     async entitiesReloadedEvent({loadResults}) { |     async entitiesReloadedEvent({loadResults}) { | ||||||
|         const activeNode = this.getActiveNode(); |         const activeNode = this.getActiveNode(); | ||||||
|         const activeNotePath = activeNode ? treeService.getNotePath(activeNode) : null; |         const activeNotePath = activeNode ? treeService.getNotePath(activeNode) : null; | ||||||
| @@ -542,28 +572,30 @@ export default class NoteTreeWidget extends TabAwareWidget { | |||||||
|             } |             } | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         for (const noteId of noteIdsToUpdate) { |         await this.batchUpdate(async () => { | ||||||
|             for (const node of this.getNodesByNoteId(noteId)) { |             for (const noteId of noteIdsToUpdate) { | ||||||
|                 this.updateNode(node); |                 for (const node of this.getNodesByNoteId(noteId)) { | ||||||
|             } |                     this.updateNode(node); | ||||||
|         } |  | ||||||
|  |  | ||||||
|         for (const parentNoteId of loadResults.getNoteReorderings()) { |  | ||||||
|             for (const node of this.getNodesByNoteId(parentNoteId)) { |  | ||||||
|                 if (node.isLoaded()) { |  | ||||||
|                     node.sortChildren((nodeA, nodeB) => { |  | ||||||
|                         const branchA = treeCache.branches[nodeA.data.branchId]; |  | ||||||
|                         const branchB = treeCache.branches[nodeB.data.branchId]; |  | ||||||
|  |  | ||||||
|                         if (!branchA || !branchB) { |  | ||||||
|                             return 0; |  | ||||||
|                         } |  | ||||||
|  |  | ||||||
|                         return branchA.notePosition - branchB.notePosition; |  | ||||||
|                     }); |  | ||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
|         } |  | ||||||
|  |             for (const parentNoteId of loadResults.getNoteReorderings()) { | ||||||
|  |                 for (const node of this.getNodesByNoteId(parentNoteId)) { | ||||||
|  |                     if (node.isLoaded()) { | ||||||
|  |                         node.sortChildren((nodeA, nodeB) => { | ||||||
|  |                             const branchA = treeCache.branches[nodeA.data.branchId]; | ||||||
|  |                             const branchB = treeCache.branches[nodeB.data.branchId]; | ||||||
|  |  | ||||||
|  |                             if (!branchA || !branchB) { | ||||||
|  |                                 return 0; | ||||||
|  |                             } | ||||||
|  |  | ||||||
|  |                             return branchA.notePosition - branchB.notePosition; | ||||||
|  |                         }); | ||||||
|  |                     } | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |         }); | ||||||
|  |  | ||||||
|         if (activeNotePath) { |         if (activeNotePath) { | ||||||
|             let node = await this.expandToNote(activeNotePath); |             let node = await this.expandToNote(activeNotePath); | ||||||
| @@ -750,6 +782,10 @@ export default class NoteTreeWidget extends TabAwareWidget { | |||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     expandSubtreeCommand({node}) {console.log("HQY!", node); | ||||||
|  |         this.expandTree(node); | ||||||
|  |     } | ||||||
|  |  | ||||||
|     collapseSubtreeCommand({node}) { |     collapseSubtreeCommand({node}) { | ||||||
|         this.collapseTree(node); |         this.collapseTree(node); | ||||||
|     } |     } | ||||||
|   | |||||||
| @@ -45,9 +45,16 @@ const DEFAULT_KEYBOARD_ACTIONS = [ | |||||||
|         description: "Search for notes in the active note's subtree", |         description: "Search for notes in the active note's subtree", | ||||||
|         scope: "note-tree" |         scope: "note-tree" | ||||||
|     }, |     }, | ||||||
|  |     { | ||||||
|  |         actionName: "expandSubtree", | ||||||
|  |         defaultShortcuts: [], | ||||||
|  |         description: "Expand subtree of current note", | ||||||
|  |         scope: "note-tree" | ||||||
|  |     }, | ||||||
|     { |     { | ||||||
|         actionName: "collapseTree", |         actionName: "collapseTree", | ||||||
|         defaultShortcuts: ["Alt+C"], |         defaultShortcuts: ["Alt+C"], | ||||||
|  |         description: "Collapses the complete note tree", | ||||||
|         scope: "note-tree" |         scope: "note-tree" | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user