mirror of
				https://github.com/zadam/trilium.git
				synced 2025-10-31 02:16:05 +01:00 
			
		
		
		
	feat(mermaid): better zoom mechanism (closes #474)
This commit is contained in:
		
							
								
								
									
										8
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										8
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @@ -185,6 +185,7 @@ | |||||||
|         "sass-loader": "16.0.5", |         "sass-loader": "16.0.5", | ||||||
|         "split.js": "1.6.5", |         "split.js": "1.6.5", | ||||||
|         "supertest": "7.0.0", |         "supertest": "7.0.0", | ||||||
|  |         "svg-pan-zoom": "3.6.2", | ||||||
|         "swagger-jsdoc": "6.2.8", |         "swagger-jsdoc": "6.2.8", | ||||||
|         "ts-loader": "9.5.2", |         "ts-loader": "9.5.2", | ||||||
|         "tslib": "2.8.1", |         "tslib": "2.8.1", | ||||||
| @@ -19769,6 +19770,13 @@ | |||||||
|         "url": "https://github.com/sponsors/ljharb" |         "url": "https://github.com/sponsors/ljharb" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/svg-pan-zoom": { | ||||||
|  |       "version": "3.6.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/svg-pan-zoom/-/svg-pan-zoom-3.6.2.tgz", | ||||||
|  |       "integrity": "sha512-JwnvRWfVKw/Xzfe6jriFyfey/lWJLq4bUh2jwoR5ChWQuQoOH8FEh1l/bEp46iHHKHEJWIyFJETbazraxNWECg==", | ||||||
|  |       "dev": true, | ||||||
|  |       "license": "BSD-2-Clause" | ||||||
|  |     }, | ||||||
|     "node_modules/swagger-jsdoc": { |     "node_modules/swagger-jsdoc": { | ||||||
|       "version": "6.2.8", |       "version": "6.2.8", | ||||||
|       "resolved": "https://registry.npmjs.org/swagger-jsdoc/-/swagger-jsdoc-6.2.8.tgz", |       "resolved": "https://registry.npmjs.org/swagger-jsdoc/-/swagger-jsdoc-6.2.8.tgz", | ||||||
|   | |||||||
| @@ -242,6 +242,7 @@ | |||||||
|     "sass-loader": "16.0.5", |     "sass-loader": "16.0.5", | ||||||
|     "split.js": "1.6.5", |     "split.js": "1.6.5", | ||||||
|     "supertest": "7.0.0", |     "supertest": "7.0.0", | ||||||
|  |     "svg-pan-zoom": "3.6.2", | ||||||
|     "swagger-jsdoc": "6.2.8", |     "swagger-jsdoc": "6.2.8", | ||||||
|     "ts-loader": "9.5.2", |     "ts-loader": "9.5.2", | ||||||
|     "tslib": "2.8.1", |     "tslib": "2.8.1", | ||||||
|   | |||||||
| @@ -71,8 +71,6 @@ export default class MermaidWidget extends NoteContextAwareWidget { | |||||||
|  |  | ||||||
|         this.$display.empty(); |         this.$display.empty(); | ||||||
|  |  | ||||||
|         const wheelZoomLoaded = libraryLoader.requireLibrary(libraryLoader.WHEEL_ZOOM); |  | ||||||
|  |  | ||||||
|         this.$errorContainer.hide(); |         this.$errorContainer.hide(); | ||||||
|  |  | ||||||
|         try { |         try { | ||||||
| @@ -93,15 +91,17 @@ export default class MermaidWidget extends NoteContextAwareWidget { | |||||||
|             } |             } | ||||||
|  |  | ||||||
|             this.$display.html(svg); |             this.$display.html(svg); | ||||||
|  |  | ||||||
|             await wheelZoomLoaded; |  | ||||||
|  |  | ||||||
|             this.$display.attr("id", `mermaid-render-${idCounter}`); |             this.$display.attr("id", `mermaid-render-${idCounter}`); | ||||||
|  |  | ||||||
|             WZoom.create(`#mermaid-render-${idCounter}`, { |             // Fit the image to bounds. | ||||||
|                 maxScale: 50, |             const $svg = this.$display.find("svg"); | ||||||
|                 speed: 1.3, |             $svg.attr("width", "100%").attr("height", "100%"); | ||||||
|                 zoomOnClick: false |  | ||||||
|  |             // Enable pan to zoom. | ||||||
|  |             import("svg-pan-zoom").then(svgPanZoom => { | ||||||
|  |                 svgPanZoom.default($svg[0], { | ||||||
|  |                     controlIconsEnabled: true | ||||||
|  |                 }); | ||||||
|             }); |             }); | ||||||
|         } catch (e: any) { |         } catch (e: any) { | ||||||
|             console.warn(e); |             console.warn(e); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user