mirror of
				https://github.com/TriliumNext/Notes.git
				synced 2025-10-31 04:51:31 +08:00 
			
		
		
		
	sidebar & widget state management WIP
This commit is contained in:
		
							parent
							
								
									61520bc3b3
								
							
						
					
					
						commit
						59da25ef55
					
				
							
								
								
									
										252
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										252
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @ -1,6 +1,6 @@ | |||||||
| { | { | ||||||
|   "name": "trilium", |   "name": "trilium", | ||||||
|   "version": "0.34.2", |   "version": "0.34.3", | ||||||
|   "lockfileVersion": 1, |   "lockfileVersion": 1, | ||||||
|   "requires": true, |   "requires": true, | ||||||
|   "dependencies": { |   "dependencies": { | ||||||
| @ -599,9 +599,9 @@ | |||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "@types/debug": { |     "@types/debug": { | ||||||
|       "version": "4.1.4", |       "version": "4.1.5", | ||||||
|       "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.4.tgz", |       "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.5.tgz", | ||||||
|       "integrity": "sha512-D9MyoQFI7iP5VdpEyPZyjjqIJ8Y8EDNQFIFVLOmeg1rI1xiHOChyUPMPRUVfqFCerxfE+yS3vMyj37F6IdtOoQ==", |       "integrity": "sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ==", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|     "@types/events": { |     "@types/events": { | ||||||
| @ -795,27 +795,27 @@ | |||||||
|       "integrity": "sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg==" |       "integrity": "sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg==" | ||||||
|     }, |     }, | ||||||
|     "app-builder-bin": { |     "app-builder-bin": { | ||||||
|       "version": "3.4.2", |       "version": "3.4.3", | ||||||
|       "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-3.4.2.tgz", |       "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-3.4.3.tgz", | ||||||
|       "integrity": "sha512-E9VvUrZm60oLl0rvLw/ErvZiEOIHkulZbJ9C9TWMD4ftNrkXFc2+a5JGlD19Bwvj329d4qz91zs/hWD01q18TQ==", |       "integrity": "sha512-qMhayIwi3juerQEVJMQ76trObEbfQT0nhUdxZz9a26/3NLT3pE6awmQ8S1cEnrGugaaM5gYqR8OElcDezfmEsg==", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|     "app-builder-lib": { |     "app-builder-lib": { | ||||||
|       "version": "21.1.5", |       "version": "21.2.0", | ||||||
|       "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-21.1.5.tgz", |       "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-21.2.0.tgz", | ||||||
|       "integrity": "sha512-hLsSVSstMTq33a9jbBStrF0e+fa6eWXWIpsatPvHnJlkjx7dAZ5d2cZPe/1bAO3bCL3afpRl5j+HU853eGfDCg==", |       "integrity": "sha512-aOX/nv77/Bti6NymJDg7p9T067xD8m1ipIEJR7B4Mm1GsJWpMm9PZdXtCRiMNRjHtQS5KIljT0g17781y6qn5A==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "requires": { |       "requires": { | ||||||
|         "7zip-bin": "~5.0.3", |         "7zip-bin": "~5.0.3", | ||||||
|         "@develar/schema-utils": "~2.1.0", |         "@develar/schema-utils": "~2.1.0", | ||||||
|         "async-exit-hook": "^2.0.1", |         "async-exit-hook": "^2.0.1", | ||||||
|         "bluebird-lst": "^1.0.9", |         "bluebird-lst": "^1.0.9", | ||||||
|         "builder-util": "21.1.5", |         "builder-util": "21.2.0", | ||||||
|         "builder-util-runtime": "8.3.0", |         "builder-util-runtime": "8.3.0", | ||||||
|         "chromium-pickle-js": "^0.2.0", |         "chromium-pickle-js": "^0.2.0", | ||||||
|         "debug": "^4.1.1", |         "debug": "^4.1.1", | ||||||
|         "ejs": "^2.6.2", |         "ejs": "^2.6.2", | ||||||
|         "electron-publish": "21.1.5", |         "electron-publish": "21.2.0", | ||||||
|         "fs-extra": "^8.1.0", |         "fs-extra": "^8.1.0", | ||||||
|         "hosted-git-info": "^2.7.1", |         "hosted-git-info": "^2.7.1", | ||||||
|         "is-ci": "^2.0.0", |         "is-ci": "^2.0.0", | ||||||
| @ -825,7 +825,7 @@ | |||||||
|         "minimatch": "^3.0.4", |         "minimatch": "^3.0.4", | ||||||
|         "normalize-package-data": "^2.5.0", |         "normalize-package-data": "^2.5.0", | ||||||
|         "read-config-file": "5.0.0", |         "read-config-file": "5.0.0", | ||||||
|         "sanitize-filename": "^1.6.1", |         "sanitize-filename": "^1.6.2", | ||||||
|         "semver": "^6.3.0", |         "semver": "^6.3.0", | ||||||
|         "temp-file": "^3.3.4" |         "temp-file": "^3.3.4" | ||||||
|       }, |       }, | ||||||
| @ -874,27 +874,21 @@ | |||||||
|           }, |           }, | ||||||
|           "dependencies": { |           "dependencies": { | ||||||
|             "semver": { |             "semver": { | ||||||
|               "version": "5.7.0", |               "version": "5.7.1", | ||||||
|               "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", |               "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", | ||||||
|               "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", |               "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", | ||||||
|               "dev": true |               "dev": true | ||||||
|             } |             } | ||||||
|           } |           } | ||||||
|         }, |         }, | ||||||
|         "resolve": { |         "resolve": { | ||||||
|           "version": "1.11.1", |           "version": "1.12.0", | ||||||
|           "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.1.tgz", |           "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz", | ||||||
|           "integrity": "sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw==", |           "integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==", | ||||||
|           "dev": true, |           "dev": true, | ||||||
|           "requires": { |           "requires": { | ||||||
|             "path-parse": "^1.0.6" |             "path-parse": "^1.0.6" | ||||||
|           } |           } | ||||||
|         }, |  | ||||||
|         "semver": { |  | ||||||
|           "version": "6.3.0", |  | ||||||
|           "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", |  | ||||||
|           "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", |  | ||||||
|           "dev": true |  | ||||||
|         } |         } | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
| @ -1233,6 +1227,14 @@ | |||||||
|         "url-regex": "^3.0.0" |         "url-regex": "^3.0.0" | ||||||
|       }, |       }, | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|  |         "rimraf": { | ||||||
|  |           "version": "2.7.1", | ||||||
|  |           "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", | ||||||
|  |           "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", | ||||||
|  |           "requires": { | ||||||
|  |             "glob": "^7.1.3" | ||||||
|  |           } | ||||||
|  |         }, | ||||||
|         "tempfile": { |         "tempfile": { | ||||||
|           "version": "1.1.1", |           "version": "1.1.1", | ||||||
|           "resolved": "https://registry.npmjs.org/tempfile/-/tempfile-1.1.1.tgz", |           "resolved": "https://registry.npmjs.org/tempfile/-/tempfile-1.1.1.tgz", | ||||||
| @ -1609,14 +1611,14 @@ | |||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "builder-util": { |     "builder-util": { | ||||||
|       "version": "21.1.5", |       "version": "21.2.0", | ||||||
|       "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-21.1.5.tgz", |       "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-21.2.0.tgz", | ||||||
|       "integrity": "sha512-RBr06OnoTKTkg0W7Om2dnuKe8I82CiciU9EdsNnLO8DAfH0ZVCPsVpc3qYmr7g/7cH3zXA3yyQP73QDGNpbVYQ==", |       "integrity": "sha512-Nd6CUb6YgDY8EXAXEIegx+1kzKqyFQ5ZM5BoYkeunAlwz/zDJoH1UCyULjoS5wQe5czNClFQy07zz2bzYD0Z4A==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "requires": { |       "requires": { | ||||||
|         "7zip-bin": "~5.0.3", |         "7zip-bin": "~5.0.3", | ||||||
|         "@types/debug": "^4.1.4", |         "@types/debug": "^4.1.4", | ||||||
|         "app-builder-bin": "3.4.2", |         "app-builder-bin": "3.4.3", | ||||||
|         "bluebird-lst": "^1.0.9", |         "bluebird-lst": "^1.0.9", | ||||||
|         "builder-util-runtime": "8.3.0", |         "builder-util-runtime": "8.3.0", | ||||||
|         "chalk": "^2.4.2", |         "chalk": "^2.4.2", | ||||||
| @ -1624,7 +1626,7 @@ | |||||||
|         "fs-extra": "^8.1.0", |         "fs-extra": "^8.1.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.12", |         "source-map-support": "^0.5.13", | ||||||
|         "stat-mode": "^0.3.0", |         "stat-mode": "^0.3.0", | ||||||
|         "temp-file": "^3.3.4" |         "temp-file": "^3.3.4" | ||||||
|       }, |       }, | ||||||
| @ -2275,9 +2277,9 @@ | |||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "content-security-policy-builder": { |     "content-security-policy-builder": { | ||||||
|       "version": "2.0.0", |       "version": "2.1.0", | ||||||
|       "resolved": "https://registry.npmjs.org/content-security-policy-builder/-/content-security-policy-builder-2.0.0.tgz", |       "resolved": "https://registry.npmjs.org/content-security-policy-builder/-/content-security-policy-builder-2.1.0.tgz", | ||||||
|       "integrity": "sha512-j+Nhmj1yfZAikJLImCvPJFE29x/UuBi+/MWqggGGc515JKaZrjuei2RhULJmy0MsstW3E3htl002bwmBNMKr7w==" |       "integrity": "sha512-/MtLWhJVvJNkA9dVLAp6fg9LxD2gfI6R2Fi1hPmfjYXSahJJzcfvoeDOxSyp4NvxMuwWv3WMssE9o31DoULHrQ==" | ||||||
|     }, |     }, | ||||||
|     "content-type": { |     "content-type": { | ||||||
|       "version": "1.0.4", |       "version": "1.0.4", | ||||||
| @ -2371,6 +2373,17 @@ | |||||||
|       "dev": true, |       "dev": true, | ||||||
|       "requires": { |       "requires": { | ||||||
|         "rimraf": "^2.5.2" |         "rimraf": "^2.5.2" | ||||||
|  |       }, | ||||||
|  |       "dependencies": { | ||||||
|  |         "rimraf": { | ||||||
|  |           "version": "2.7.1", | ||||||
|  |           "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", | ||||||
|  |           "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", | ||||||
|  |           "dev": true, | ||||||
|  |           "requires": { | ||||||
|  |             "glob": "^7.1.3" | ||||||
|  |           } | ||||||
|  |         } | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "crypto-random-string": { |     "crypto-random-string": { | ||||||
| @ -2901,18 +2914,18 @@ | |||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "dmg-builder": { |     "dmg-builder": { | ||||||
|       "version": "21.1.5", |       "version": "21.2.0", | ||||||
|       "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-21.1.5.tgz", |       "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-21.2.0.tgz", | ||||||
|       "integrity": "sha512-o9rZua7mzNzZIo9SZJi57ZXe4zjNaajxEJ0LO/8k2z8Q2CL57RIaJZ95sA6G0dC1/g5Gm4cmW3O5nv9Ur8Ayow==", |       "integrity": "sha512-9cJEclnGy7EyKFCoHDYDf54pub/t92CQapyiUxU0w9Bj2vUvfoDagP1PMiX4XD5rPp96141h9A+QN0OB4VgvQg==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "requires": { |       "requires": { | ||||||
|         "app-builder-lib": "~21.1.5", |         "app-builder-lib": "~21.2.0", | ||||||
|         "bluebird-lst": "^1.0.9", |         "bluebird-lst": "^1.0.9", | ||||||
|         "builder-util": "~21.1.5", |         "builder-util": "~21.2.0", | ||||||
|         "fs-extra": "^8.1.0", |         "fs-extra": "^8.1.0", | ||||||
|         "iconv-lite": "^0.5.0", |         "iconv-lite": "^0.5.0", | ||||||
|         "js-yaml": "^3.13.1", |         "js-yaml": "^3.13.1", | ||||||
|         "sanitize-filename": "^1.6.1" |         "sanitize-filename": "^1.6.2" | ||||||
|       }, |       }, | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "esprima": { |         "esprima": { | ||||||
| @ -3119,22 +3132,22 @@ | |||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "electron-builder": { |     "electron-builder": { | ||||||
|       "version": "21.1.5", |       "version": "21.2.0", | ||||||
|       "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-21.1.5.tgz", |       "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-21.2.0.tgz", | ||||||
|       "integrity": "sha512-2tEgBESGWQ661dC9/rZlpbtmhlofoNPwnkO6KUuCZUBYpFMRvpMzH2IF7vQYsCst78yxnrV0CtiBePhM1i+DfA==", |       "integrity": "sha512-x8EXrqFbAb2L3N22YlGar3dGh8vwptbB3ovo3OF6K7NTpcsmM2zEoJv7GhFyX73rNzSG2HaWpXwGAtOp2JWiEw==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "requires": { |       "requires": { | ||||||
|         "app-builder-lib": "21.1.5", |         "app-builder-lib": "21.2.0", | ||||||
|         "bluebird-lst": "^1.0.9", |         "bluebird-lst": "^1.0.9", | ||||||
|         "builder-util": "21.1.5", |         "builder-util": "21.2.0", | ||||||
|         "builder-util-runtime": "8.3.0", |         "builder-util-runtime": "8.3.0", | ||||||
|         "chalk": "^2.4.2", |         "chalk": "^2.4.2", | ||||||
|         "dmg-builder": "21.1.5", |         "dmg-builder": "21.2.0", | ||||||
|         "fs-extra": "^8.1.0", |         "fs-extra": "^8.1.0", | ||||||
|         "is-ci": "^2.0.0", |         "is-ci": "^2.0.0", | ||||||
|         "lazy-val": "^1.0.4", |         "lazy-val": "^1.0.4", | ||||||
|         "read-config-file": "5.0.0", |         "read-config-file": "5.0.0", | ||||||
|         "sanitize-filename": "^1.6.1", |         "sanitize-filename": "^1.6.2", | ||||||
|         "update-notifier": "^3.0.1", |         "update-notifier": "^3.0.1", | ||||||
|         "yargs": "^13.3.0" |         "yargs": "^13.3.0" | ||||||
|       }, |       }, | ||||||
| @ -3613,6 +3626,15 @@ | |||||||
|           "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", |           "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", | ||||||
|           "dev": true |           "dev": true | ||||||
|         }, |         }, | ||||||
|  |         "rimraf": { | ||||||
|  |           "version": "2.7.1", | ||||||
|  |           "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", | ||||||
|  |           "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", | ||||||
|  |           "dev": true, | ||||||
|  |           "requires": { | ||||||
|  |             "glob": "^7.1.3" | ||||||
|  |           } | ||||||
|  |         }, | ||||||
|         "yargs": { |         "yargs": { | ||||||
|           "version": "4.8.1", |           "version": "4.8.1", | ||||||
|           "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz", |           "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz", | ||||||
| @ -3648,9 +3670,9 @@ | |||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "electron-context-menu": { |     "electron-context-menu": { | ||||||
|       "version": "0.13.0", |       "version": "0.14.0", | ||||||
|       "resolved": "https://registry.npmjs.org/electron-context-menu/-/electron-context-menu-0.13.0.tgz", |       "resolved": "https://registry.npmjs.org/electron-context-menu/-/electron-context-menu-0.14.0.tgz", | ||||||
|       "integrity": "sha512-a98UDykOn+tiyb2mQEz710ZNWj/L85wHv6jRUJFE9GNLSaRH5I5BR022RYoWInLTj1Mns66vh9SueyMPWc+aTQ==", |       "integrity": "sha512-7PuDz0Z3Eebhg/OS3JfPqHrQYl5ApokT/05PPUbNELk0EHBfFZwVcVneOJ05SlaGagK1bfQIXf75WSZt/K23VA==", | ||||||
|       "requires": { |       "requires": { | ||||||
|         "cli-truncate": "^2.0.0", |         "cli-truncate": "^2.0.0", | ||||||
|         "electron-dl": "^1.2.0", |         "electron-dl": "^1.2.0", | ||||||
| @ -3803,6 +3825,17 @@ | |||||||
|           "dev": true, |           "dev": true, | ||||||
|           "requires": { |           "requires": { | ||||||
|             "rimraf": "^2.6.3" |             "rimraf": "^2.6.3" | ||||||
|  |           }, | ||||||
|  |           "dependencies": { | ||||||
|  |             "rimraf": { | ||||||
|  |               "version": "2.7.1", | ||||||
|  |               "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", | ||||||
|  |               "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", | ||||||
|  |               "dev": true, | ||||||
|  |               "requires": { | ||||||
|  |                 "glob": "^7.1.3" | ||||||
|  |               } | ||||||
|  |             } | ||||||
|           } |           } | ||||||
|         }, |         }, | ||||||
|         "tmp-promise": { |         "tmp-promise": { | ||||||
| @ -3932,13 +3965,13 @@ | |||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "electron-publish": { |     "electron-publish": { | ||||||
|       "version": "21.1.5", |       "version": "21.2.0", | ||||||
|       "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-21.1.5.tgz", |       "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-21.2.0.tgz", | ||||||
|       "integrity": "sha512-EgFxZJBrb+EBUcEwg8RNKouoBaOEpACnjLi+ipUsk72x+/6kzhcofAYBchIkGns7meengoXy7QdoiThgpr6rew==", |       "integrity": "sha512-mWavuoWJe87iaeKd0I24dNWIaR+0yRzshjNVqGyK019H766fsPWl3caQJnVKFaEyrZRP397v4JZVG0e7s16AxA==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "requires": { |       "requires": { | ||||||
|         "bluebird-lst": "^1.0.9", |         "bluebird-lst": "^1.0.9", | ||||||
|         "builder-util": "~21.1.5", |         "builder-util": "~21.2.0", | ||||||
|         "builder-util-runtime": "8.3.0", |         "builder-util-runtime": "8.3.0", | ||||||
|         "chalk": "^2.4.2", |         "chalk": "^2.4.2", | ||||||
|         "fs-extra": "^8.1.0", |         "fs-extra": "^8.1.0", | ||||||
| @ -4856,6 +4889,16 @@ | |||||||
|         "pify": "^3.0.0", |         "pify": "^3.0.0", | ||||||
|         "rimraf": "^2.5.4", |         "rimraf": "^2.5.4", | ||||||
|         "tempfile": "^2.0.0" |         "tempfile": "^2.0.0" | ||||||
|  |       }, | ||||||
|  |       "dependencies": { | ||||||
|  |         "rimraf": { | ||||||
|  |           "version": "2.7.1", | ||||||
|  |           "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", | ||||||
|  |           "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", | ||||||
|  |           "requires": { | ||||||
|  |             "glob": "^7.1.3" | ||||||
|  |           } | ||||||
|  |         } | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "exec-series": { |     "exec-series": { | ||||||
| @ -5457,9 +5500,9 @@ | |||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "file-type": { |     "file-type": { | ||||||
|       "version": "12.0.1", |       "version": "12.1.0", | ||||||
|       "resolved": "https://registry.npmjs.org/file-type/-/file-type-12.0.1.tgz", |       "resolved": "https://registry.npmjs.org/file-type/-/file-type-12.1.0.tgz", | ||||||
|       "integrity": "sha512-YIs1E51cmqcmgF38ODjy0+M/l5DyfIIy3vngTOujQr/lXqkaSskfBniaZoZ1HVIpa5FTf5e7hCXS4TzxfNGMRQ==" |       "integrity": "sha512-aZkf42yWGiH+vSOpbVgvbnoRuX4JiitMX9pHYqTHemNQ3lrx64iHi33YGAP7TSJSno56kxQY1lHmw8S6ujlFUg==" | ||||||
|     }, |     }, | ||||||
|     "filename-regex": { |     "filename-regex": { | ||||||
|       "version": "2.0.1", |       "version": "2.0.1", | ||||||
| @ -5643,6 +5686,17 @@ | |||||||
|         "graceful-fs": "^4.1.2", |         "graceful-fs": "^4.1.2", | ||||||
|         "rimraf": "~2.6.2", |         "rimraf": "~2.6.2", | ||||||
|         "write": "^0.2.1" |         "write": "^0.2.1" | ||||||
|  |       }, | ||||||
|  |       "dependencies": { | ||||||
|  |         "rimraf": { | ||||||
|  |           "version": "2.6.3", | ||||||
|  |           "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", | ||||||
|  |           "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", | ||||||
|  |           "dev": true, | ||||||
|  |           "requires": { | ||||||
|  |             "glob": "^7.1.3" | ||||||
|  |           } | ||||||
|  |         } | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "flora-colossus": { |     "flora-colossus": { | ||||||
| @ -6519,9 +6573,9 @@ | |||||||
|       "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" |       "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" | ||||||
|     }, |     }, | ||||||
|     "helmet": { |     "helmet": { | ||||||
|       "version": "3.19.0", |       "version": "3.20.0", | ||||||
|       "resolved": "https://registry.npmjs.org/helmet/-/helmet-3.19.0.tgz", |       "resolved": "https://registry.npmjs.org/helmet/-/helmet-3.20.0.tgz", | ||||||
|       "integrity": "sha512-l58Q3unSpYatlurvFzkCbTRQ8oWUmdXbOs7h+pnwQbFJRhRJDjER6UMyqHxp9iFtWPcVA05VLcUGSi0EXIv7GA==", |       "integrity": "sha512-Ob+TqmQFZ5f7WgP8kBbAzNPsbf6p1lOj5r+327/ymw/IILWih3wcx9u/u/S8Mwv5wbBkO7Li6x5s23t3COhUKw==", | ||||||
|       "requires": { |       "requires": { | ||||||
|         "depd": "2.0.0", |         "depd": "2.0.0", | ||||||
|         "dns-prefetch-control": "0.2.0", |         "dns-prefetch-control": "0.2.0", | ||||||
| @ -6530,7 +6584,7 @@ | |||||||
|         "feature-policy": "0.3.0", |         "feature-policy": "0.3.0", | ||||||
|         "frameguard": "3.1.0", |         "frameguard": "3.1.0", | ||||||
|         "helmet-crossdomain": "0.4.0", |         "helmet-crossdomain": "0.4.0", | ||||||
|         "helmet-csp": "2.7.1", |         "helmet-csp": "2.8.0", | ||||||
|         "hide-powered-by": "1.1.0", |         "hide-powered-by": "1.1.0", | ||||||
|         "hpkp": "2.0.0", |         "hpkp": "2.0.0", | ||||||
|         "hsts": "2.2.0", |         "hsts": "2.2.0", | ||||||
| @ -6553,12 +6607,12 @@ | |||||||
|       "integrity": "sha512-AB4DTykRw3HCOxovD1nPR16hllrVImeFp5VBV9/twj66lJ2nU75DP8FPL0/Jp4jj79JhTfG+pFI2MD02kWJ+fA==" |       "integrity": "sha512-AB4DTykRw3HCOxovD1nPR16hllrVImeFp5VBV9/twj66lJ2nU75DP8FPL0/Jp4jj79JhTfG+pFI2MD02kWJ+fA==" | ||||||
|     }, |     }, | ||||||
|     "helmet-csp": { |     "helmet-csp": { | ||||||
|       "version": "2.7.1", |       "version": "2.8.0", | ||||||
|       "resolved": "https://registry.npmjs.org/helmet-csp/-/helmet-csp-2.7.1.tgz", |       "resolved": "https://registry.npmjs.org/helmet-csp/-/helmet-csp-2.8.0.tgz", | ||||||
|       "integrity": "sha512-sCHwywg4daQ2mY0YYwXSZRsgcCeerUwxMwNixGA7aMLkVmPTYBl7gJoZDHOZyXkqPrtuDT3s2B1A+RLI7WxSdQ==", |       "integrity": "sha512-MlCPeM0Sm3pS9RACRihx70VeTHmkQwa7sum9EK1tfw1VZyvFU0dBWym9nHh3CRkTRNlyNm/WFCMvuh9zXkOjNw==", | ||||||
|       "requires": { |       "requires": { | ||||||
|         "camelize": "1.0.0", |         "camelize": "1.0.0", | ||||||
|         "content-security-policy-builder": "2.0.0", |         "content-security-policy-builder": "2.1.0", | ||||||
|         "dasherize": "2.0.0", |         "dasherize": "2.0.0", | ||||||
|         "platform": "1.3.5" |         "platform": "1.3.5" | ||||||
|       } |       } | ||||||
| @ -9066,17 +9120,17 @@ | |||||||
|       "integrity": "sha512-0L9FvHG3nfnnmaEQPjT9xhfN4ISk0A8/2j4M37Np4mcDesJjHgEUfgPhdCyZuFI954tjokaIj/A3NdpFNdEh4Q==" |       "integrity": "sha512-0L9FvHG3nfnnmaEQPjT9xhfN4ISk0A8/2j4M37Np4mcDesJjHgEUfgPhdCyZuFI954tjokaIj/A3NdpFNdEh4Q==" | ||||||
|     }, |     }, | ||||||
|     "node-abi": { |     "node-abi": { | ||||||
|       "version": "2.10.0", |       "version": "2.11.0", | ||||||
|       "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.10.0.tgz", |       "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.11.0.tgz", | ||||||
|       "integrity": "sha512-OT0WepUvYHXdki6DU8LWhEkuo3M44i2paWBYtH9qXtPb9YiKlYEKa5WUII20XEcOv7UJPzfB0kZfPZdW46zdkw==", |       "integrity": "sha512-kuy/aEg75u40v378WRllQ4ZexaXJiCvB68D2scDXclp/I4cRq6togpbOoKhmN07tns9Zldu51NNERo0wehfX9g==", | ||||||
|       "requires": { |       "requires": { | ||||||
|         "semver": "^5.4.1" |         "semver": "^5.4.1" | ||||||
|       }, |       }, | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "semver": { |         "semver": { | ||||||
|           "version": "5.7.0", |           "version": "5.7.1", | ||||||
|           "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", |           "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", | ||||||
|           "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==" |           "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" | ||||||
|         } |         } | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
| @ -9108,6 +9162,15 @@ | |||||||
|             "abbrev": "1" |             "abbrev": "1" | ||||||
|           } |           } | ||||||
|         }, |         }, | ||||||
|  |         "rimraf": { | ||||||
|  |           "version": "2.7.1", | ||||||
|  |           "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", | ||||||
|  |           "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", | ||||||
|  |           "dev": true, | ||||||
|  |           "requires": { | ||||||
|  |             "glob": "^7.1.3" | ||||||
|  |           } | ||||||
|  |         }, | ||||||
|         "semver": { |         "semver": { | ||||||
|           "version": "5.3.0", |           "version": "5.3.0", | ||||||
|           "resolved": "http://registry.npmjs.org/semver/-/semver-5.3.0.tgz", |           "resolved": "http://registry.npmjs.org/semver/-/semver-5.3.0.tgz", | ||||||
| @ -9133,6 +9196,14 @@ | |||||||
|         "tar": "^4" |         "tar": "^4" | ||||||
|       }, |       }, | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|  |         "rimraf": { | ||||||
|  |           "version": "2.7.1", | ||||||
|  |           "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", | ||||||
|  |           "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", | ||||||
|  |           "requires": { | ||||||
|  |             "glob": "^7.1.3" | ||||||
|  |           } | ||||||
|  |         }, | ||||||
|         "semver": { |         "semver": { | ||||||
|           "version": "5.7.0", |           "version": "5.7.0", | ||||||
|           "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", |           "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", | ||||||
| @ -11336,9 +11407,9 @@ | |||||||
|       "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" |       "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" | ||||||
|     }, |     }, | ||||||
|     "rimraf": { |     "rimraf": { | ||||||
|       "version": "2.6.3", |       "version": "3.0.0", | ||||||
|       "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", |       "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.0.tgz", | ||||||
|       "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", |       "integrity": "sha512-NDGVxTsjqfunkds7CqsOiEnxln4Bo7Nddl3XhS4pXg5OzwkLqJ971ZVAAnB+DDLnF76N+VnDEiBHaVV8I06SUg==", | ||||||
|       "requires": { |       "requires": { | ||||||
|         "glob": "^7.1.3" |         "glob": "^7.1.3" | ||||||
|       } |       } | ||||||
| @ -11391,9 +11462,9 @@ | |||||||
|       "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" |       "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" | ||||||
|     }, |     }, | ||||||
|     "sanitize-filename": { |     "sanitize-filename": { | ||||||
|       "version": "1.6.1", |       "version": "1.6.2", | ||||||
|       "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.1.tgz", |       "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.2.tgz", | ||||||
|       "integrity": "sha1-YS2hyWRz+gLczaktzVtKsWSmdyo=", |       "integrity": "sha512-cmTzND7RMxUB+f7gI+4+KAVHWEg0lfXvQJdko+FXDP5bNbGIdx4KMP5pX6lv5jfT9jSf6OBbjyxjFtZQwYA/ig==", | ||||||
|       "requires": { |       "requires": { | ||||||
|         "truncate-utf8-bytes": "^1.0.0" |         "truncate-utf8-bytes": "^1.0.0" | ||||||
|       } |       } | ||||||
| @ -11412,9 +11483,9 @@ | |||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "semver": { |     "semver": { | ||||||
|       "version": "6.2.0", |       "version": "6.3.0", | ||||||
|       "resolved": "https://registry.npmjs.org/semver/-/semver-6.2.0.tgz", |       "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", | ||||||
|       "integrity": "sha512-jdFC1VdUGT/2Scgbimf7FSx9iJLXoqfglSF+gJeuNWVpiE37OIbc1jywR/GJyFdz3mnkz2/id0L0J/cr0izR5A==" |       "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" | ||||||
|     }, |     }, | ||||||
|     "semver-diff": { |     "semver-diff": { | ||||||
|       "version": "2.1.0", |       "version": "2.1.0", | ||||||
| @ -11834,9 +11905,9 @@ | |||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "source-map-support": { |     "source-map-support": { | ||||||
|       "version": "0.5.12", |       "version": "0.5.13", | ||||||
|       "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.12.tgz", |       "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", | ||||||
|       "integrity": "sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ==", |       "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "requires": { |       "requires": { | ||||||
|         "buffer-from": "^1.0.0", |         "buffer-from": "^1.0.0", | ||||||
| @ -12488,6 +12559,17 @@ | |||||||
|       "dev": true, |       "dev": true, | ||||||
|       "requires": { |       "requires": { | ||||||
|         "rimraf": "^2.6.3" |         "rimraf": "^2.6.3" | ||||||
|  |       }, | ||||||
|  |       "dependencies": { | ||||||
|  |         "rimraf": { | ||||||
|  |           "version": "2.7.1", | ||||||
|  |           "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", | ||||||
|  |           "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", | ||||||
|  |           "dev": true, | ||||||
|  |           "requires": { | ||||||
|  |             "glob": "^7.1.3" | ||||||
|  |           } | ||||||
|  |         } | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "tmp-promise": { |     "tmp-promise": { | ||||||
| @ -13323,9 +13405,9 @@ | |||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "ws": { |     "ws": { | ||||||
|       "version": "7.1.0", |       "version": "7.1.1", | ||||||
|       "resolved": "https://registry.npmjs.org/ws/-/ws-7.1.0.tgz", |       "resolved": "https://registry.npmjs.org/ws/-/ws-7.1.1.tgz", | ||||||
|       "integrity": "sha512-Swie2C4fs7CkwlHu1glMePLYJJsWjzhl1vm3ZaLplD0h7OMkZyZ6kLTB/OagiU923bZrPFXuDTeEqaEN4NWG4g==", |       "integrity": "sha512-o41D/WmDeca0BqYhsr3nJzQyg9NF5X8l/UdnFNux9cS3lwB+swm8qGWX5rn+aD6xfBU3rGmtHij7g7x6LxFU3A==", | ||||||
|       "requires": { |       "requires": { | ||||||
|         "async-limiter": "^1.0.0" |         "async-limiter": "^1.0.0" | ||||||
|       } |       } | ||||||
|  | |||||||
| @ -55,13 +55,13 @@ | |||||||
|     "mime-types": "2.1.24", |     "mime-types": "2.1.24", | ||||||
|     "moment": "2.24.0", |     "moment": "2.24.0", | ||||||
|     "multer": "1.4.2", |     "multer": "1.4.2", | ||||||
|     "node-abi": "2.10.0", |     "node-abi": "2.11.0", | ||||||
|     "open": "6.4.0", |     "open": "6.4.0", | ||||||
|     "pngjs": "3.4.0", |     "pngjs": "3.4.0", | ||||||
|     "portscanner": "2.2.0", |     "portscanner": "2.2.0", | ||||||
|     "rand-token": "0.4.0", |     "rand-token": "0.4.0", | ||||||
|     "rcedit": "2.0.0", |     "rcedit": "2.0.0", | ||||||
|     "rimraf": "2.6.3", |     "rimraf": "3.0.0", | ||||||
|     "sanitize-filename": "1.6.2", |     "sanitize-filename": "1.6.2", | ||||||
|     "sax": "1.2.4", |     "sax": "1.2.4", | ||||||
|     "semver": "6.3.0", |     "semver": "6.3.0", | ||||||
|  | |||||||
| @ -513,19 +513,18 @@ function openTabsChanged() { | |||||||
| } | } | ||||||
| 
 | 
 | ||||||
| async function saveOpenTabs() { | async function saveOpenTabs() { | ||||||
|     const activeTabEl = tabRow.activeTabEl; |  | ||||||
|     const openTabs = []; |     const openTabs = []; | ||||||
| 
 | 
 | ||||||
|     for (const tabEl of tabRow.tabEls) { |     for (const tabEl of tabRow.tabEls) { | ||||||
|         const tabId = tabEl.getAttribute('data-tab-id'); |         const tabId = tabEl.getAttribute('data-tab-id'); | ||||||
|         const tabContext = tabContexts.find(tc => tc.tabId === tabId); |         const tabContext = tabContexts.find(tc => tc.tabId === tabId); | ||||||
| 
 | 
 | ||||||
|         if (tabContext && tabContext.notePath) { |         if (tabContext) { | ||||||
|             openTabs.push({ |             const tabState = tabContext.getTabState(); | ||||||
|                 tabId: tabContext.tabId, | 
 | ||||||
|                 notePath: tabContext.notePath, |             if (tabState) { | ||||||
|                 active: activeTabEl === tabEl |                 openTabs.push(tabState); | ||||||
|             }); |             } | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
| @ -573,5 +572,6 @@ export default { | |||||||
|     openEmptyTab, |     openEmptyTab, | ||||||
|     noteDeleted, |     noteDeleted, | ||||||
|     refreshTabs, |     refreshTabs, | ||||||
|     noteChanged |     noteChanged, | ||||||
|  |     openTabsChanged | ||||||
| }; | }; | ||||||
| @ -38,14 +38,27 @@ class Sidebar { | |||||||
|         this.$hideSidebarButton.click(() => { |         this.$hideSidebarButton.click(() => { | ||||||
|             this.$sidebar.hide(); |             this.$sidebar.hide(); | ||||||
|             this.$showSideBarButton.show(); |             this.$showSideBarButton.show(); | ||||||
|  |             this.ctx.stateChanged(); | ||||||
|         }); |         }); | ||||||
| 
 | 
 | ||||||
|         this.$showSideBarButton.click(() => { |         this.$showSideBarButton.click(() => { | ||||||
|             this.$sidebar.show(); |             this.$sidebar.show(); | ||||||
|             this.$showSideBarButton.hide(); |             this.$showSideBarButton.hide(); | ||||||
|  |             this.ctx.stateChanged(); | ||||||
|         }); |         }); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |     isVisible() { | ||||||
|  |         return this.$sidebar.is(":visible"); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     getSidebarState() { | ||||||
|  |         return { | ||||||
|  |             visible: this.isVisible(), | ||||||
|  |             widgets: this.widgets.map(w => w.getWidgetState()) | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     async noteLoaded() { |     async noteLoaded() { | ||||||
|         this.widgets = []; |         this.widgets = []; | ||||||
|         this.$widgets.empty(); |         this.$widgets.empty(); | ||||||
|  | |||||||
| @ -363,6 +363,23 @@ class TabContext { | |||||||
|             this.sidebar.syncDataReceived(syncData); |             this.sidebar.syncDataReceived(syncData); | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  | 
 | ||||||
|  |     getTabState() { | ||||||
|  |         if (!this.notePath) { | ||||||
|  |             return null; | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         return { | ||||||
|  |             tabId: this.tabId, | ||||||
|  |             notePath: this.notePath, | ||||||
|  |             active: this.tabRow.activeTabEl === this.$tab[0], | ||||||
|  |             sidebar: this.sidebar && this.sidebar.getSidebarState() | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     stateChanged() { | ||||||
|  |         noteDetailService.openTabsChanged(); | ||||||
|  |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| export default TabContext; | export default TabContext; | ||||||
| @ -11,9 +11,13 @@ class AttributesWidget { | |||||||
|     constructor(ctx, $widget) { |     constructor(ctx, $widget) { | ||||||
|         this.ctx = ctx; |         this.ctx = ctx; | ||||||
|         this.$widget = $widget; |         this.$widget = $widget; | ||||||
|  |         this.$widget.on('show.bs.collapse', () => this.renderBody()); | ||||||
|  |         this.$widget.on('show.bs.collapse', () => this.ctx.stateChanged()); | ||||||
|  |         this.$widget.on('hide.bs.collapse', () => this.ctx.stateChanged()); | ||||||
|         this.$title = this.$widget.find('.widget-title'); |         this.$title = this.$widget.find('.widget-title'); | ||||||
|         this.$title.text("Attributes"); |         this.$title.text("Attributes"); | ||||||
|         this.$headerActions = this.$widget.find('.widget-header-actions'); |         this.$headerActions = this.$widget.find('.widget-header-actions'); | ||||||
|  |         this.$bodyWrapper = this.$widget.find('.body-wrapper'); | ||||||
| 
 | 
 | ||||||
|         const $showFullButton = $("<a>").append("show dialog").addClass('widget-header-action'); |         const $showFullButton = $("<a>").append("show dialog").addClass('widget-header-action'); | ||||||
|         $showFullButton.click(() => { |         $showFullButton.click(() => { | ||||||
| @ -24,13 +28,18 @@ class AttributesWidget { | |||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     async renderBody() { |     async renderBody() { | ||||||
|  |         if (!this.isVisible()) { | ||||||
|  |             return; | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|         const $body = this.$widget.find('.card-body'); |         const $body = this.$widget.find('.card-body'); | ||||||
| 
 | 
 | ||||||
|         const attributes = await this.ctx.attributes.getAttributes(); |         const attributes = await this.ctx.attributes.getAttributes(); | ||||||
|         const ownedAttributes = attributes.filter(attr => attr.noteId === this.ctx.note.noteId); |         const ownedAttributes = attributes.filter(attr => attr.noteId === this.ctx.note.noteId); | ||||||
| 
 | 
 | ||||||
|         if (ownedAttributes.length === 0) { |         if (attributes.length === 0) { | ||||||
|             $body.text("No own attributes yet..."); |             $body.text("No attributes yet..."); | ||||||
|  |             return; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         const $attributesContainer = $("<div>"); |         const $attributesContainer = $("<div>"); | ||||||
| @ -96,6 +105,17 @@ class AttributesWidget { | |||||||
|             this.renderBody(); |             this.renderBody(); | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  | 
 | ||||||
|  |     getWidgetState() { | ||||||
|  |         return { | ||||||
|  |             id: 'attributes', | ||||||
|  |             visible: this.isVisible() | ||||||
|  |         }; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     isVisible() { | ||||||
|  |         return this.$bodyWrapper.is(":visible"); | ||||||
|  |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| export default AttributesWidget; | export default AttributesWidget; | ||||||
| @ -30,9 +30,13 @@ class LinkMapWidget { | |||||||
|     constructor(ctx, $widget) { |     constructor(ctx, $widget) { | ||||||
|         this.ctx = ctx; |         this.ctx = ctx; | ||||||
|         this.$widget = $widget; |         this.$widget = $widget; | ||||||
|  |         this.$widget.on('show.bs.collapse', () => this.renderBody()); | ||||||
|  |         this.$widget.on('show.bs.collapse', () => this.ctx.stateChanged()); | ||||||
|  |         this.$widget.on('hide.bs.collapse', () => this.ctx.stateChanged()); | ||||||
|         this.$title = this.$widget.find('.widget-title'); |         this.$title = this.$widget.find('.widget-title'); | ||||||
|         this.$title.text("Link map"); |         this.$title.text("Link map"); | ||||||
|         this.$headerActions = this.$widget.find('.widget-header-actions'); |         this.$headerActions = this.$widget.find('.widget-header-actions'); | ||||||
|  |         this.$bodyWrapper = this.$widget.find('.body-wrapper'); | ||||||
| 
 | 
 | ||||||
|         const $showFullButton = $("<a>").append("show full").addClass('widget-header-action'); |         const $showFullButton = $("<a>").append("show full").addClass('widget-header-action'); | ||||||
|         $showFullButton.click(() => { |         $showFullButton.click(() => { | ||||||
| @ -43,6 +47,10 @@ class LinkMapWidget { | |||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     async renderBody() { |     async renderBody() { | ||||||
|  |         if (!this.isVisible()) { | ||||||
|  |             return; | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|         const $body = this.$widget.find('.card-body'); |         const $body = this.$widget.find('.card-body'); | ||||||
|         $body.html(TPL); |         $body.html(TPL); | ||||||
| 
 | 
 | ||||||
| @ -225,6 +233,17 @@ class LinkMapWidget { | |||||||
|     noteIdToId(noteId) { |     noteIdToId(noteId) { | ||||||
|         return "link-map-note-" + noteId; |         return "link-map-note-" + noteId; | ||||||
|     } |     } | ||||||
|  | 
 | ||||||
|  |     getWidgetState() { | ||||||
|  |         return { | ||||||
|  |             id: 'attributes', | ||||||
|  |             visible: this.isVisible() | ||||||
|  |         }; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     isVisible() { | ||||||
|  |         return this.$bodyWrapper.is(":visible"); | ||||||
|  |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| export default LinkMapWidget; | export default LinkMapWidget; | ||||||
| @ -31,11 +31,19 @@ class NoteInfoWidget { | |||||||
|     constructor(ctx, $widget) { |     constructor(ctx, $widget) { | ||||||
|         this.ctx = ctx; |         this.ctx = ctx; | ||||||
|         this.$widget = $widget; |         this.$widget = $widget; | ||||||
|  |         this.$widget.on('show.bs.collapse', () => this.renderBody()); | ||||||
|  |         this.$widget.on('show.bs.collapse', () => this.ctx.stateChanged()); | ||||||
|  |         this.$widget.on('hide.bs.collapse', () => this.ctx.stateChanged()); | ||||||
|         this.$title = this.$widget.find('.widget-title'); |         this.$title = this.$widget.find('.widget-title'); | ||||||
|         this.$title.text("Note info"); |         this.$title.text("Note info"); | ||||||
|  |         this.$bodyWrapper = this.$widget.find('.body-wrapper'); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     async renderBody() { |     async renderBody() { | ||||||
|  |         if (!this.isVisible()) { | ||||||
|  |             return; | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|         const $body = this.$widget.find('.card-body'); |         const $body = this.$widget.find('.card-body'); | ||||||
| 
 | 
 | ||||||
|         $body.html(TPL); |         $body.html(TPL); | ||||||
| @ -60,6 +68,17 @@ class NoteInfoWidget { | |||||||
|             this.renderBody(); |             this.renderBody(); | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  | 
 | ||||||
|  |     getWidgetState() { | ||||||
|  |         return { | ||||||
|  |             id: 'attributes', | ||||||
|  |             visible: this.isVisible() | ||||||
|  |         }; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     isVisible() { | ||||||
|  |         return this.$bodyWrapper.is(":visible"); | ||||||
|  |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| export default NoteInfoWidget; | export default NoteInfoWidget; | ||||||
| @ -13,11 +13,19 @@ class NoteRevisionsWidget { | |||||||
|     constructor(ctx, $widget) { |     constructor(ctx, $widget) { | ||||||
|         this.ctx = ctx; |         this.ctx = ctx; | ||||||
|         this.$widget = $widget; |         this.$widget = $widget; | ||||||
|  |         this.$widget.on('show.bs.collapse', () => this.renderBody()); | ||||||
|  |         this.$widget.on('show.bs.collapse', () => this.ctx.stateChanged()); | ||||||
|  |         this.$widget.on('hide.bs.collapse', () => this.ctx.stateChanged()); | ||||||
|         this.$title = this.$widget.find('.widget-title'); |         this.$title = this.$widget.find('.widget-title'); | ||||||
|         this.$title.text("Note revisions"); |         this.$title.text("Note revisions"); | ||||||
|  |         this.$bodyWrapper = this.$widget.find('.body-wrapper'); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     async renderBody() { |     async renderBody() { | ||||||
|  |         if (!this.isVisible()) { | ||||||
|  |             return; | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|         const $body = this.$widget.find('.card-body'); |         const $body = this.$widget.find('.card-body'); | ||||||
|         const revisionItems = await server.get(`notes/${this.ctx.note.noteId}/revisions`); |         const revisionItems = await server.get(`notes/${this.ctx.note.noteId}/revisions`); | ||||||
| 
 | 
 | ||||||
| @ -45,6 +53,17 @@ class NoteRevisionsWidget { | |||||||
|             this.renderBody(); |             this.renderBody(); | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  | 
 | ||||||
|  |     getWidgetState() { | ||||||
|  |         return { | ||||||
|  |             id: 'attributes', | ||||||
|  |             visible: this.isVisible() | ||||||
|  |         }; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     isVisible() { | ||||||
|  |         return this.$bodyWrapper.is(":visible"); | ||||||
|  |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| export default NoteRevisionsWidget; | export default NoteRevisionsWidget; | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 zadam
						zadam