mirror of
				https://github.com/TriliumNext/Notes.git
				synced 2025-10-31 13:01:31 +08:00 
			
		
		
		
	changed import progress notification so it shows up for drag & drop as well
This commit is contained in:
		
							parent
							
								
									2fb3a3eff9
								
							
						
					
					
						commit
						2ee94a3a69
					
				| @ -1,4 +1,4 @@ | |||||||
| FROM node:12.11.1-alpine | FROM node:12.12.0-alpine | ||||||
| 
 | 
 | ||||||
| # Create app directory | # Create app directory | ||||||
| WORKDIR /usr/src/app | WORKDIR /usr/src/app | ||||||
|  | |||||||
| @ -1,7 +1,7 @@ | |||||||
| #!/usr/bin/env bash | #!/usr/bin/env bash | ||||||
| 
 | 
 | ||||||
| PKG_DIR=dist/trilium-linux-x64-server-src | PKG_DIR=dist/trilium-linux-x64-server-src | ||||||
| NODE_VERSION=12.11.1 | NODE_VERSION=12.12.0 | ||||||
| 
 | 
 | ||||||
| if [ "$1" != "DONTCOPY" ] | if [ "$1" != "DONTCOPY" ] | ||||||
| then | then | ||||||
|  | |||||||
							
								
								
									
										74
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										74
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @ -842,7 +842,7 @@ | |||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "file-type": { |         "file-type": { | ||||||
|           "version": "3.9.0", |           "version": "3.9.0", | ||||||
|           "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", |           "resolved": "http://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", | ||||||
|           "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=" |           "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=" | ||||||
|         } |         } | ||||||
|       } |       } | ||||||
| @ -1226,7 +1226,7 @@ | |||||||
|         }, |         }, | ||||||
|         "uuid": { |         "uuid": { | ||||||
|           "version": "2.0.3", |           "version": "2.0.3", | ||||||
|           "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", |           "resolved": "http://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", | ||||||
|           "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=" |           "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=" | ||||||
|         } |         } | ||||||
|       } |       } | ||||||
| @ -1260,7 +1260,7 @@ | |||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "semver": { |         "semver": { | ||||||
|           "version": "4.3.6", |           "version": "4.3.6", | ||||||
|           "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz", |           "resolved": "http://registry.npmjs.org/semver/-/semver-4.3.6.tgz", | ||||||
|           "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=" |           "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=" | ||||||
|         } |         } | ||||||
|       } |       } | ||||||
| @ -1280,7 +1280,7 @@ | |||||||
|     }, |     }, | ||||||
|     "bl": { |     "bl": { | ||||||
|       "version": "1.2.2", |       "version": "1.2.2", | ||||||
|       "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz", |       "resolved": "http://registry.npmjs.org/bl/-/bl-1.2.2.tgz", | ||||||
|       "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", |       "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", | ||||||
|       "requires": { |       "requires": { | ||||||
|         "readable-stream": "^2.3.5", |         "readable-stream": "^2.3.5", | ||||||
| @ -1465,7 +1465,7 @@ | |||||||
|     }, |     }, | ||||||
|     "buf-compare": { |     "buf-compare": { | ||||||
|       "version": "1.0.1", |       "version": "1.0.1", | ||||||
|       "resolved": "https://registry.npmjs.org/buf-compare/-/buf-compare-1.0.1.tgz", |       "resolved": "http://registry.npmjs.org/buf-compare/-/buf-compare-1.0.1.tgz", | ||||||
|       "integrity": "sha1-/vKNqLgROgoNtEMLC2Rntpcws0o=", |       "integrity": "sha1-/vKNqLgROgoNtEMLC2Rntpcws0o=", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
| @ -1525,12 +1525,12 @@ | |||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "file-type": { |         "file-type": { | ||||||
|           "version": "3.9.0", |           "version": "3.9.0", | ||||||
|           "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", |           "resolved": "http://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", | ||||||
|           "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=" |           "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=" | ||||||
|         }, |         }, | ||||||
|         "uuid": { |         "uuid": { | ||||||
|           "version": "2.0.3", |           "version": "2.0.3", | ||||||
|           "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", |           "resolved": "http://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", | ||||||
|           "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=" |           "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=" | ||||||
|         } |         } | ||||||
|       } |       } | ||||||
| @ -1619,7 +1619,7 @@ | |||||||
|         }, |         }, | ||||||
|         "readable-stream": { |         "readable-stream": { | ||||||
|           "version": "1.1.14", |           "version": "1.1.14", | ||||||
|           "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", |           "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", | ||||||
|           "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", |           "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", | ||||||
|           "requires": { |           "requires": { | ||||||
|             "core-util-is": "~1.0.0", |             "core-util-is": "~1.0.0", | ||||||
| @ -1756,7 +1756,7 @@ | |||||||
|     }, |     }, | ||||||
|     "chalk": { |     "chalk": { | ||||||
|       "version": "1.1.3", |       "version": "1.1.3", | ||||||
|       "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", |       "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", | ||||||
|       "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", |       "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", | ||||||
|       "requires": { |       "requires": { | ||||||
|         "ansi-styles": "^2.2.1", |         "ansi-styles": "^2.2.1", | ||||||
| @ -2039,7 +2039,7 @@ | |||||||
|     }, |     }, | ||||||
|     "commander": { |     "commander": { | ||||||
|       "version": "2.8.1", |       "version": "2.8.1", | ||||||
|       "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", |       "resolved": "http://registry.npmjs.org/commander/-/commander-2.8.1.tgz", | ||||||
|       "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", |       "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", | ||||||
|       "requires": { |       "requires": { | ||||||
|         "graceful-readlink": ">= 1.0.0" |         "graceful-readlink": ">= 1.0.0" | ||||||
| @ -2751,7 +2751,7 @@ | |||||||
|         }, |         }, | ||||||
|         "readable-stream": { |         "readable-stream": { | ||||||
|           "version": "1.1.14", |           "version": "1.1.14", | ||||||
|           "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", |           "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", | ||||||
|           "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", |           "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", | ||||||
|           "requires": { |           "requires": { | ||||||
|             "core-util-is": "~1.0.0", |             "core-util-is": "~1.0.0", | ||||||
| @ -5475,7 +5475,7 @@ | |||||||
|     }, |     }, | ||||||
|     "get-stream": { |     "get-stream": { | ||||||
|       "version": "3.0.0", |       "version": "3.0.0", | ||||||
|       "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", |       "resolved": "http://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", | ||||||
|       "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" |       "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" | ||||||
|     }, |     }, | ||||||
|     "get-value": { |     "get-value": { | ||||||
| @ -5703,7 +5703,7 @@ | |||||||
|     }, |     }, | ||||||
|     "got": { |     "got": { | ||||||
|       "version": "5.7.1", |       "version": "5.7.1", | ||||||
|       "resolved": "https://registry.npmjs.org/got/-/got-5.7.1.tgz", |       "resolved": "http://registry.npmjs.org/got/-/got-5.7.1.tgz", | ||||||
|       "integrity": "sha1-X4FjWmHkplifGAVp6k44FoClHzU=", |       "integrity": "sha1-X4FjWmHkplifGAVp6k44FoClHzU=", | ||||||
|       "requires": { |       "requires": { | ||||||
|         "create-error-class": "^3.0.1", |         "create-error-class": "^3.0.1", | ||||||
| @ -6556,7 +6556,7 @@ | |||||||
|     }, |     }, | ||||||
|     "into-stream": { |     "into-stream": { | ||||||
|       "version": "3.1.0", |       "version": "3.1.0", | ||||||
|       "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz", |       "resolved": "http://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz", | ||||||
|       "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=", |       "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=", | ||||||
|       "requires": { |       "requires": { | ||||||
|         "from2": "^2.1.1", |         "from2": "^2.1.1", | ||||||
| @ -6792,7 +6792,7 @@ | |||||||
|     }, |     }, | ||||||
|     "is-obj": { |     "is-obj": { | ||||||
|       "version": "1.0.1", |       "version": "1.0.1", | ||||||
|       "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", |       "resolved": "http://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", | ||||||
|       "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=" |       "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=" | ||||||
|     }, |     }, | ||||||
|     "is-obj-prop": { |     "is-obj-prop": { | ||||||
| @ -7353,7 +7353,7 @@ | |||||||
|     }, |     }, | ||||||
|     "load-json-file": { |     "load-json-file": { | ||||||
|       "version": "1.1.0", |       "version": "1.1.0", | ||||||
|       "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", |       "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", | ||||||
|       "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", |       "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", | ||||||
|       "requires": { |       "requires": { | ||||||
|         "graceful-fs": "^4.1.2", |         "graceful-fs": "^4.1.2", | ||||||
| @ -7836,7 +7836,7 @@ | |||||||
|     }, |     }, | ||||||
|     "minimist": { |     "minimist": { | ||||||
|       "version": "1.2.0", |       "version": "1.2.0", | ||||||
|       "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", |       "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", | ||||||
|       "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" |       "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" | ||||||
|     }, |     }, | ||||||
|     "minimist-options": { |     "minimist-options": { | ||||||
| @ -7897,7 +7897,7 @@ | |||||||
|     }, |     }, | ||||||
|     "mkdirp": { |     "mkdirp": { | ||||||
|       "version": "0.5.1", |       "version": "0.5.1", | ||||||
|       "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", |       "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", | ||||||
|       "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", |       "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", | ||||||
|       "requires": { |       "requires": { | ||||||
|         "minimist": "0.0.8" |         "minimist": "0.0.8" | ||||||
| @ -7905,7 +7905,7 @@ | |||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "minimist": { |         "minimist": { | ||||||
|           "version": "0.0.8", |           "version": "0.0.8", | ||||||
|           "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", |           "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", | ||||||
|           "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" |           "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" | ||||||
|         } |         } | ||||||
|       } |       } | ||||||
| @ -8060,7 +8060,7 @@ | |||||||
|             }, |             }, | ||||||
|             "get-stream": { |             "get-stream": { | ||||||
|               "version": "3.0.0", |               "version": "3.0.0", | ||||||
|               "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", |               "resolved": "http://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", | ||||||
|               "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" |               "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" | ||||||
|             }, |             }, | ||||||
|             "got": { |             "got": { | ||||||
| @ -8096,7 +8096,7 @@ | |||||||
|             }, |             }, | ||||||
|             "p-cancelable": { |             "p-cancelable": { | ||||||
|               "version": "0.4.1", |               "version": "0.4.1", | ||||||
|               "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz", |               "resolved": "http://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz", | ||||||
|               "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==" |               "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==" | ||||||
|             }, |             }, | ||||||
|             "p-event": { |             "p-event": { | ||||||
| @ -8220,7 +8220,7 @@ | |||||||
|           "dependencies": { |           "dependencies": { | ||||||
|             "file-type": { |             "file-type": { | ||||||
|               "version": "3.9.0", |               "version": "3.9.0", | ||||||
|               "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", |               "resolved": "http://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", | ||||||
|               "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=" |               "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=" | ||||||
|             } |             } | ||||||
|           } |           } | ||||||
| @ -8245,7 +8245,7 @@ | |||||||
|           "dependencies": { |           "dependencies": { | ||||||
|             "get-stream": { |             "get-stream": { | ||||||
|               "version": "3.0.0", |               "version": "3.0.0", | ||||||
|               "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", |               "resolved": "http://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", | ||||||
|               "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" |               "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" | ||||||
|             }, |             }, | ||||||
|             "pify": { |             "pify": { | ||||||
| @ -8302,7 +8302,7 @@ | |||||||
|         }, |         }, | ||||||
|         "get-stream": { |         "get-stream": { | ||||||
|           "version": "2.3.1", |           "version": "2.3.1", | ||||||
|           "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", |           "resolved": "http://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", | ||||||
|           "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=", |           "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=", | ||||||
|           "requires": { |           "requires": { | ||||||
|             "object-assign": "^4.0.1", |             "object-assign": "^4.0.1", | ||||||
| @ -8332,7 +8332,7 @@ | |||||||
|           "dependencies": { |           "dependencies": { | ||||||
|             "get-stream": { |             "get-stream": { | ||||||
|               "version": "3.0.0", |               "version": "3.0.0", | ||||||
|               "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", |               "resolved": "http://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", | ||||||
|               "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" |               "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" | ||||||
|             } |             } | ||||||
|           } |           } | ||||||
| @ -8372,7 +8372,7 @@ | |||||||
|         }, |         }, | ||||||
|         "pify": { |         "pify": { | ||||||
|           "version": "2.3.0", |           "version": "2.3.0", | ||||||
|           "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", |           "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", | ||||||
|           "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" |           "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" | ||||||
|         }, |         }, | ||||||
|         "prepend-http": { |         "prepend-http": { | ||||||
| @ -8504,7 +8504,7 @@ | |||||||
|         }, |         }, | ||||||
|         "readable-stream": { |         "readable-stream": { | ||||||
|           "version": "1.1.14", |           "version": "1.1.14", | ||||||
|           "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", |           "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", | ||||||
|           "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", |           "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", | ||||||
|           "requires": { |           "requires": { | ||||||
|             "core-util-is": "~1.0.0", |             "core-util-is": "~1.0.0", | ||||||
| @ -9052,7 +9052,7 @@ | |||||||
|     }, |     }, | ||||||
|     "onetime": { |     "onetime": { | ||||||
|       "version": "1.1.0", |       "version": "1.1.0", | ||||||
|       "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", |       "resolved": "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", | ||||||
|       "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=" |       "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=" | ||||||
|     }, |     }, | ||||||
|     "open": { |     "open": { | ||||||
| @ -9168,7 +9168,7 @@ | |||||||
|     }, |     }, | ||||||
|     "os-locale": { |     "os-locale": { | ||||||
|       "version": "1.4.0", |       "version": "1.4.0", | ||||||
|       "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", |       "resolved": "http://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", | ||||||
|       "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", |       "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|       "requires": { |       "requires": { | ||||||
| @ -9217,7 +9217,7 @@ | |||||||
|     }, |     }, | ||||||
|     "p-is-promise": { |     "p-is-promise": { | ||||||
|       "version": "1.1.0", |       "version": "1.1.0", | ||||||
|       "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", |       "resolved": "http://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", | ||||||
|       "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=" |       "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=" | ||||||
|     }, |     }, | ||||||
|     "p-limit": { |     "p-limit": { | ||||||
| @ -10401,7 +10401,7 @@ | |||||||
|         }, |         }, | ||||||
|         "readable-stream": { |         "readable-stream": { | ||||||
|           "version": "1.1.14", |           "version": "1.1.14", | ||||||
|           "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", |           "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", | ||||||
|           "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", |           "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", | ||||||
|           "dev": true, |           "dev": true, | ||||||
|           "requires": { |           "requires": { | ||||||
| @ -10494,7 +10494,7 @@ | |||||||
|     }, |     }, | ||||||
|     "query-string": { |     "query-string": { | ||||||
|       "version": "5.1.1", |       "version": "5.1.1", | ||||||
|       "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", |       "resolved": "http://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", | ||||||
|       "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", |       "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", | ||||||
|       "requires": { |       "requires": { | ||||||
|         "decode-uri-component": "^0.2.0", |         "decode-uri-component": "^0.2.0", | ||||||
| @ -10640,7 +10640,7 @@ | |||||||
|     }, |     }, | ||||||
|     "readable-stream": { |     "readable-stream": { | ||||||
|       "version": "2.3.6", |       "version": "2.3.6", | ||||||
|       "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", |       "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", | ||||||
|       "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", |       "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", | ||||||
|       "requires": { |       "requires": { | ||||||
|         "core-util-is": "~1.0.0", |         "core-util-is": "~1.0.0", | ||||||
| @ -11714,7 +11714,7 @@ | |||||||
|     }, |     }, | ||||||
|     "strip-ansi": { |     "strip-ansi": { | ||||||
|       "version": "3.0.1", |       "version": "3.0.1", | ||||||
|       "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", |       "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", | ||||||
|       "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", |       "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", | ||||||
|       "requires": { |       "requires": { | ||||||
|         "ansi-regex": "^2.0.0" |         "ansi-regex": "^2.0.0" | ||||||
| @ -11739,7 +11739,7 @@ | |||||||
|     }, |     }, | ||||||
|     "strip-dirs": { |     "strip-dirs": { | ||||||
|       "version": "1.1.1", |       "version": "1.1.1", | ||||||
|       "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-1.1.1.tgz", |       "resolved": "http://registry.npmjs.org/strip-dirs/-/strip-dirs-1.1.1.tgz", | ||||||
|       "integrity": "sha1-lgu9EoeETzl1pFWKoQOoJV4kVqA=", |       "integrity": "sha1-lgu9EoeETzl1pFWKoQOoJV4kVqA=", | ||||||
|       "requires": { |       "requires": { | ||||||
|         "chalk": "^1.0.0", |         "chalk": "^1.0.0", | ||||||
| @ -12005,7 +12005,7 @@ | |||||||
|     }, |     }, | ||||||
|     "through": { |     "through": { | ||||||
|       "version": "2.3.8", |       "version": "2.3.8", | ||||||
|       "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", |       "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz", | ||||||
|       "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" |       "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" | ||||||
|     }, |     }, | ||||||
|     "through2": { |     "through2": { | ||||||
| @ -12024,7 +12024,7 @@ | |||||||
|         }, |         }, | ||||||
|         "readable-stream": { |         "readable-stream": { | ||||||
|           "version": "1.0.34", |           "version": "1.0.34", | ||||||
|           "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", |           "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", | ||||||
|           "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", |           "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", | ||||||
|           "requires": { |           "requires": { | ||||||
|             "core-util-is": "~1.0.0", |             "core-util-is": "~1.0.0", | ||||||
|  | |||||||
| @ -29,6 +29,7 @@ import macInit from './services/mac_init.js'; | |||||||
| import cssLoader from './services/css_loader.js'; | import cssLoader from './services/css_loader.js'; | ||||||
| import dateNoteService from './services/date_notes.js'; | import dateNoteService from './services/date_notes.js'; | ||||||
| import sidebarService from './services/sidebar.js'; | import sidebarService from './services/sidebar.js'; | ||||||
|  | import importService from './services/import.js'; | ||||||
| 
 | 
 | ||||||
| window.glob.isDesktop = utils.isDesktop; | window.glob.isDesktop = utils.isDesktop; | ||||||
| window.glob.isMobile = utils.isMobile; | window.glob.isMobile = utils.isMobile; | ||||||
|  | |||||||
| @ -1,16 +1,11 @@ | |||||||
| import treeService from '../services/tree.js'; |  | ||||||
| import utils from '../services/utils.js'; | import utils from '../services/utils.js'; | ||||||
| import treeUtils from "../services/tree_utils.js"; | import treeUtils from "../services/tree_utils.js"; | ||||||
| import server from "../services/server.js"; | import importService from "../services/import.js"; | ||||||
| import infoService from "../services/info.js"; |  | ||||||
| import ws from "../services/ws.js"; |  | ||||||
| 
 | 
 | ||||||
| const $dialog = $("#import-dialog"); | const $dialog = $("#import-dialog"); | ||||||
| const $form = $("#import-form"); | const $form = $("#import-form"); | ||||||
| const $noteTitle = $dialog.find(".import-note-title"); | const $noteTitle = $dialog.find(".import-note-title"); | ||||||
| const $fileUploadInput = $("#import-file-upload-input"); | const $fileUploadInput = $("#import-file-upload-input"); | ||||||
| const $importProgressCountWrapper = $("#import-progress-count-wrapper"); |  | ||||||
| const $importProgressCount = $("#import-progress-count"); |  | ||||||
| const $importButton = $("#import-button"); | const $importButton = $("#import-button"); | ||||||
| const $safeImportCheckbox = $("#safe-import-checkbox"); | const $safeImportCheckbox = $("#safe-import-checkbox"); | ||||||
| const $shrinkImagesCheckbox = $("#shrink-images-checkbox"); | const $shrinkImagesCheckbox = $("#shrink-images-checkbox"); | ||||||
| @ -18,16 +13,11 @@ const $textImportedAsTextCheckbox = $("#text-imported-as-text-checkbox"); | |||||||
| const $codeImportedAsCodeCheckbox = $("#code-imported-as-code-checkbox"); | const $codeImportedAsCodeCheckbox = $("#code-imported-as-code-checkbox"); | ||||||
| const $explodeArchivesCheckbox = $("#explode-archives-checkbox"); | const $explodeArchivesCheckbox = $("#explode-archives-checkbox"); | ||||||
| 
 | 
 | ||||||
| let importId; | let parentNoteId = null; | ||||||
| let importIntoNoteId = null; |  | ||||||
| 
 | 
 | ||||||
| export async function showDialog(node) { | export async function showDialog(node) { | ||||||
|     utils.closeActiveDialog(); |     utils.closeActiveDialog(); | ||||||
| 
 | 
 | ||||||
|     // each opening of the dialog resets the importId so we don't associate it with previous imports anymore
 |  | ||||||
|     importId = ''; |  | ||||||
|     $importProgressCountWrapper.hide(); |  | ||||||
|     $importProgressCount.text('0'); |  | ||||||
|     $fileUploadInput.val('').change(); // to trigger Import button disabling listener below
 |     $fileUploadInput.val('').change(); // to trigger Import button disabling listener below
 | ||||||
| 
 | 
 | ||||||
|     $safeImportCheckbox.prop("checked", true); |     $safeImportCheckbox.prop("checked", true); | ||||||
| @ -38,9 +28,9 @@ export async function showDialog(node) { | |||||||
| 
 | 
 | ||||||
|     glob.activeDialog = $dialog; |     glob.activeDialog = $dialog; | ||||||
| 
 | 
 | ||||||
|     importIntoNoteId = node.data.noteId; |     parentNoteId = node.data.noteId; | ||||||
| 
 | 
 | ||||||
|     $noteTitle.text(await treeUtils.getNoteTitle(importIntoNoteId)); |     $noteTitle.text(await treeUtils.getNoteTitle(parentNoteId)); | ||||||
| 
 | 
 | ||||||
|     $dialog.modal(); |     $dialog.modal(); | ||||||
| } | } | ||||||
| @ -49,18 +39,14 @@ $form.submit(() => { | |||||||
|     // disabling so that import is not triggered again.
 |     // disabling so that import is not triggered again.
 | ||||||
|     $importButton.attr("disabled", "disabled"); |     $importButton.attr("disabled", "disabled"); | ||||||
| 
 | 
 | ||||||
|     importIntoNote(importIntoNoteId); |     importIntoNote(parentNoteId); | ||||||
| 
 | 
 | ||||||
|     return false; |     return false; | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
| async function importIntoNote(importNoteId) { | async function importIntoNote(parentNoteId) { | ||||||
|     const files = Array.from($fileUploadInput[0].files); // shallow copy since we're resetting the upload button below
 |     const files = Array.from($fileUploadInput[0].files); // shallow copy since we're resetting the upload button below
 | ||||||
| 
 | 
 | ||||||
|     // we generate it here (and not on opening) for the case when you try to import multiple times from the same
 |  | ||||||
|     // dialog (which shouldn't happen, but still ...)
 |  | ||||||
|     importId = utils.randomString(10); |  | ||||||
| 
 |  | ||||||
|     const options = { |     const options = { | ||||||
|         safeImport: boolToString($safeImportCheckbox), |         safeImport: boolToString($safeImportCheckbox), | ||||||
|         shrinkImages: boolToString($shrinkImagesCheckbox), |         shrinkImages: boolToString($shrinkImagesCheckbox), | ||||||
| @ -69,73 +55,15 @@ async function importIntoNote(importNoteId) { | |||||||
|         explodeArchives: boolToString($explodeArchivesCheckbox) |         explodeArchives: boolToString($explodeArchivesCheckbox) | ||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|     await uploadFiles(importNoteId, files, options); |  | ||||||
| 
 |  | ||||||
|     $dialog.modal('hide'); |     $dialog.modal('hide'); | ||||||
| } |  | ||||||
| 
 | 
 | ||||||
| export async function uploadFiles(importNoteId, files, options) { |     await importService.uploadFiles(parentNoteId, files, options); | ||||||
|     if (files.length === 0) { |  | ||||||
|         return; |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     let noteId; |  | ||||||
| 
 |  | ||||||
|     for (const file of files) { |  | ||||||
|         const formData = new FormData(); |  | ||||||
|         formData.append('upload', file); |  | ||||||
|         formData.append('importId', importId); |  | ||||||
| 
 |  | ||||||
|         for (const key in options) { |  | ||||||
|             formData.append(key, options[key]); |  | ||||||
|         } |  | ||||||
| 
 |  | ||||||
|         ({noteId} = await $.ajax({ |  | ||||||
|             url: baseApiUrl + 'notes/' + importNoteId + '/import', |  | ||||||
|             headers: server.getHeaders(), |  | ||||||
|             data: formData, |  | ||||||
|             dataType: 'json', |  | ||||||
|             type: 'POST', |  | ||||||
|             timeout: 60 * 60 * 1000, |  | ||||||
|             contentType: false, // NEEDED, DON'T REMOVE THIS
 |  | ||||||
|             processData: false, // NEEDED, DON'T REMOVE THIS
 |  | ||||||
|         })); |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     infoService.showMessage("Import finished successfully."); |  | ||||||
| 
 |  | ||||||
|     await treeService.reloadNote(importNoteId); |  | ||||||
| 
 |  | ||||||
|     if (noteId) { |  | ||||||
|         const node = await treeService.activateNote(noteId); |  | ||||||
| 
 |  | ||||||
|         node.setExpanded(true); |  | ||||||
|     } |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| function boolToString($el) { | function boolToString($el) { | ||||||
|     return $el.is(":checked") ? "true" : "false"; |     return $el.is(":checked") ? "true" : "false"; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| ws.subscribeToMessages(async message => { |  | ||||||
|     if (message.type === 'import-error') { |  | ||||||
|         infoService.showError(message.message); |  | ||||||
|         $dialog.modal('hide'); |  | ||||||
|         return; |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     if (!message.importId || message.importId !== importId) { |  | ||||||
|         // incoming messages must correspond to this import instance
 |  | ||||||
|         return; |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     if (message.type === 'import-progress-count') { |  | ||||||
|         $importProgressCountWrapper.slideDown(); |  | ||||||
| 
 |  | ||||||
|         $importProgressCount.text(message.progressCount); |  | ||||||
|     } |  | ||||||
| }); |  | ||||||
| 
 |  | ||||||
| $fileUploadInput.change(() => { | $fileUploadInput.change(() => { | ||||||
|     if ($fileUploadInput.val()) { |     if ($fileUploadInput.val()) { | ||||||
|         $importButton.removeAttr("disabled"); |         $importButton.removeAttr("disabled"); | ||||||
|  | |||||||
| @ -30,9 +30,9 @@ const dragAndDropSetup = { | |||||||
|         if (dataTransfer && dataTransfer.files && dataTransfer.files.length > 0) { |         if (dataTransfer && dataTransfer.files && dataTransfer.files.length > 0) { | ||||||
|             const files = [...dataTransfer.files]; // chrome has issue that dataTransfer.files empties after async operation
 |             const files = [...dataTransfer.files]; // chrome has issue that dataTransfer.files empties after async operation
 | ||||||
| 
 | 
 | ||||||
|             const importDialog = await import('../dialogs/import.js'); |             const importService = await import('./import.js'); | ||||||
| 
 | 
 | ||||||
|             importDialog.uploadFiles(node.data.noteId, files, { |             importService.uploadFiles(node.data.noteId, files, { | ||||||
|                 safeImport: true, |                 safeImport: true, | ||||||
|                 shrinkImages: true, |                 shrinkImages: true, | ||||||
|                 textImportedAsText: true, |                 textImportedAsText: true, | ||||||
|  | |||||||
							
								
								
									
										66
									
								
								src/public/javascripts/services/import.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										66
									
								
								src/public/javascripts/services/import.js
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,66 @@ | |||||||
|  | import infoService from "./info.js"; | ||||||
|  | import treeService from "./tree.js"; | ||||||
|  | import server from "./server.js"; | ||||||
|  | import ws from "./ws.js"; | ||||||
|  | import utils from "./utils.js"; | ||||||
|  | 
 | ||||||
|  | export async function uploadFiles(parentNoteId, files, options) { | ||||||
|  |     if (files.length === 0) { | ||||||
|  |         return; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     const importId = utils.randomString(10); | ||||||
|  |     let noteId; | ||||||
|  |     let counter = 0; | ||||||
|  | 
 | ||||||
|  |     for (const file of files) { | ||||||
|  |         counter++; | ||||||
|  | 
 | ||||||
|  |         const formData = new FormData(); | ||||||
|  |         formData.append('upload', file); | ||||||
|  |         formData.append('importId', importId); | ||||||
|  |         formData.append('last', counter === files.length ? "true" : "false"); | ||||||
|  | 
 | ||||||
|  |         for (const key in options) { | ||||||
|  |             formData.append(key, options[key]); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         ({noteId} = await $.ajax({ | ||||||
|  |             url: baseApiUrl + 'notes/' + parentNoteId + '/import', | ||||||
|  |             headers: server.getHeaders(), | ||||||
|  |             data: formData, | ||||||
|  |             dataType: 'json', | ||||||
|  |             type: 'POST', | ||||||
|  |             timeout: 60 * 60 * 1000, | ||||||
|  |             contentType: false, // NEEDED, DON'T REMOVE THIS
 | ||||||
|  |             processData: false, // NEEDED, DON'T REMOVE THIS
 | ||||||
|  |         })); | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | ws.subscribeToMessages(async message => { | ||||||
|  |     if (message.type === 'import-error') { | ||||||
|  |         infoService.showError(message.message); | ||||||
|  |         return; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     if (message.type === 'import-progress-count') { | ||||||
|  |         infoService.showMessage("Import in progress: " + message.progressCount, 1000); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     if (message.type === 'import-succeeded') { | ||||||
|  |         infoService.showMessage("Import finished successfully.", 5000); | ||||||
|  | 
 | ||||||
|  |         await treeService.reloadNote(message.parentNoteId); | ||||||
|  | 
 | ||||||
|  |         if (message.importedNoteId) { | ||||||
|  |             const node = await treeService.activateNote(message.importedNoteId); | ||||||
|  | 
 | ||||||
|  |             node.setExpanded(true); | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | }); | ||||||
|  | 
 | ||||||
|  | export default { | ||||||
|  |     uploadFiles | ||||||
|  | } | ||||||
| @ -1,13 +1,13 @@ | |||||||
| import ws from "./ws.js"; | import ws from "./ws.js"; | ||||||
| import utils from "./utils.js"; | import utils from "./utils.js"; | ||||||
| 
 | 
 | ||||||
| function showMessage(message) { | function showMessage(message, delay = 3000) { | ||||||
|     console.debug(utils.now(), "message: ", message); |     console.debug(utils.now(), "message: ", message); | ||||||
| 
 | 
 | ||||||
|     $.notify({ |     $.notify({ | ||||||
|         icon: 'jam jam-check', |         icon: 'jam jam-check', | ||||||
|         message: message |         message: message | ||||||
|     }, getNotifySettings('success', 3000)); |     }, getNotifySettings('success', delay)); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| function showAndLogError(message, delay = 10000) { | function showAndLogError(message, delay = 10000) { | ||||||
|  | |||||||
| @ -345,9 +345,9 @@ $tabContentsContainer.on("drop", async e => { | |||||||
| 
 | 
 | ||||||
|     const files = [...e.originalEvent.dataTransfer.files]; // chrome has issue that dataTransfer.files empties after async operation
 |     const files = [...e.originalEvent.dataTransfer.files]; // chrome has issue that dataTransfer.files empties after async operation
 | ||||||
| 
 | 
 | ||||||
|     const importDialog = await import("../dialogs/import.js"); |     const importService = await import("./import.js"); | ||||||
| 
 | 
 | ||||||
|     importDialog.uploadFiles(activeNote.noteId, files, { |     importService.uploadFiles(activeNote.noteId, files, { | ||||||
|         safeImport: true, |         safeImport: true, | ||||||
|         shrinkImages: true, |         shrinkImages: true, | ||||||
|         textImportedAsText: true, |         textImportedAsText: true, | ||||||
|  | |||||||
| @ -1,5 +1,6 @@ | |||||||
| import utils from './utils.js'; | import utils from './utils.js'; | ||||||
| import infoService from "./info.js"; | import infoService from "./info.js"; | ||||||
|  | import treeService from "./tree.js"; | ||||||
| 
 | 
 | ||||||
| const $outstandingSyncsCount = $("#outstanding-syncs-count"); | const $outstandingSyncsCount = $("#outstanding-syncs-count"); | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -13,7 +13,7 @@ const ImportContext = require('../../services/import_context'); | |||||||
| 
 | 
 | ||||||
| async function importToBranch(req) { | async function importToBranch(req) { | ||||||
|     const {parentNoteId} = req.params; |     const {parentNoteId} = req.params; | ||||||
|     const {importId} = req.body; |     const {importId, last} = req.body; | ||||||
| 
 | 
 | ||||||
|     const options = { |     const options = { | ||||||
|         safeImport: req.body.safeImport !== 'false', |         safeImport: req.body.safeImport !== 'false', | ||||||
| @ -65,6 +65,11 @@ async function importToBranch(req) { | |||||||
|         return [500, message]; |         return [500, message]; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |     if (last === "true") { | ||||||
|  |         // small timeout to avoid race condition (message is received before the transaction is committed)
 | ||||||
|  |         setTimeout(() => importContext.importSucceeded(parentNoteId, note.noteId), 1000); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     // import has deactivated note events so note cache is not updated
 |     // import has deactivated note events so note cache is not updated
 | ||||||
|     // instead we force it to reload (can be async)
 |     // instead we force it to reload (can be async)
 | ||||||
|     noteCacheService.load(); |     noteCacheService.load(); | ||||||
|  | |||||||
| @ -116,11 +116,7 @@ async function importTar(importContext, fileBuffer, importRootNote) { | |||||||
|     function getNoteId(noteMeta, filePath) { |     function getNoteId(noteMeta, filePath) { | ||||||
|         const filePathNoExt = getTextFileWithoutExtension(filePath); |         const filePathNoExt = getTextFileWithoutExtension(filePath); | ||||||
| 
 | 
 | ||||||
|         console.log(`Searching for noteId of filePath ${filePath} with meta: ${!!noteMeta}`); |  | ||||||
| 
 |  | ||||||
|         if (filePathNoExt in createdPaths) { |         if (filePathNoExt in createdPaths) { | ||||||
|             console.log("Found existing path", filePathNoExt, createdPaths[filePathNoExt]); |  | ||||||
| 
 |  | ||||||
|             return createdPaths[filePathNoExt]; |             return createdPaths[filePathNoExt]; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -33,7 +33,7 @@ class ImportContext { | |||||||
|     async increaseProgressCount() { |     async increaseProgressCount() { | ||||||
|         this.progressCount++; |         this.progressCount++; | ||||||
| 
 | 
 | ||||||
|         if (Date.now() - this.lastSentCountTs >= 500) { |         if (Date.now() - this.lastSentCountTs >= 1000) { | ||||||
|             this.lastSentCountTs = Date.now(); |             this.lastSentCountTs = Date.now(); | ||||||
| 
 | 
 | ||||||
|             await ws.sendMessageToAllClients({ |             await ws.sendMessageToAllClients({ | ||||||
| @ -51,6 +51,15 @@ class ImportContext { | |||||||
|             message: message |             message: message | ||||||
|         }); |         }); | ||||||
|     } |     } | ||||||
|  | 
 | ||||||
|  |     // must remaing non-static
 | ||||||
|  |     async importSucceeded(parentNoteId, importedNoteId) { | ||||||
|  |         await ws.sendMessageToAllClients({ | ||||||
|  |             type: 'import-succeeded', | ||||||
|  |             parentNoteId: parentNoteId, | ||||||
|  |             importedNoteId: importedNoteId | ||||||
|  |         }); | ||||||
|  |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| module.exports = ImportContext; | module.exports = ImportContext; | ||||||
| @ -9,10 +9,6 @@ | |||||||
|             </div> |             </div> | ||||||
|             <form id="import-form"> |             <form id="import-form"> | ||||||
|                 <div class="modal-body"> |                 <div class="modal-body"> | ||||||
|                     <div id="import-progress-count-wrapper" class="alert alert-primary" style="padding: 15px;"> |  | ||||||
|                         <strong>Note import progress count:</strong> <span id="import-progress-count"></span> |  | ||||||
|                     </div> |  | ||||||
| 
 |  | ||||||
|                     <div class="form-group"> |                     <div class="form-group"> | ||||||
|                         <label for="import-file-upload-input"><strong>Choose import file</strong></label> |                         <label for="import-file-upload-input"><strong>Choose import file</strong></label> | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 zadam
						zadam