mirror of
				https://github.com/zadam/trilium.git
				synced 2025-10-31 03:29:02 +01:00 
			
		
		
		
	feat(rtl): add language switcher toolbar
This commit is contained in:
		
							parent
							
								
									b99ead6a84
								
							
						
					
					
						commit
						e930ae5f40
					
				
							
								
								
									
										4
									
								
								libraries/ckeditor/ckeditor.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								libraries/ckeditor/ckeditor.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										2
									
								
								libraries/ckeditor/ckeditor.js.map
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								libraries/ckeditor/ckeditor.js.map
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| @ -110,19 +110,19 @@ export function buildConfig() { | |||||||
| } | } | ||||||
| 
 | 
 | ||||||
| export function buildToolbarConfig(isClassicToolbar: boolean) { | export function buildToolbarConfig(isClassicToolbar: boolean) { | ||||||
|  |     const languages = JSON.parse(options.get("languages") ?? "[]") as string[]; | ||||||
|  |     const enableLanguageSwitcher = languages.length > 1; | ||||||
|  | 
 | ||||||
|     if (isClassicToolbar) { |     if (isClassicToolbar) { | ||||||
|         const multilineToolbar = utils.isDesktop() && options.get("textNoteEditorMultilineToolbar") === "true" |         const multilineToolbar = utils.isDesktop() && options.get("textNoteEditorMultilineToolbar") === "true" | ||||||
|         return buildClassicToolbar(multilineToolbar); |         return buildClassicToolbar(multilineToolbar, enableLanguageSwitcher); | ||||||
|     } else { |     } else { | ||||||
|         return buildFloatingToolbar(); |         return buildFloatingToolbar(enableLanguageSwitcher); | ||||||
|     } |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| function buildClassicToolbar(multilineToolbar: boolean) { | function buildClassicToolbar(multilineToolbar: boolean, enableLanguageSwitcher: boolean) { | ||||||
|     // For nested toolbars, refer to https://ckeditor.com/docs/ckeditor5/latest/getting-started/setup/toolbar.html#grouping-toolbar-items-in-dropdowns-nested-toolbars.
 |     const items = [ | ||||||
|     return { |  | ||||||
|         toolbar: { |  | ||||||
|             items: [ |  | ||||||
|         'heading', 'fontSize', |         'heading', 'fontSize', | ||||||
|         '|', |         '|', | ||||||
|         'bold', 'italic', |         'bold', 'italic', | ||||||
| @ -163,17 +163,25 @@ function buildClassicToolbar(multilineToolbar: boolean) { | |||||||
|         '|', |         '|', | ||||||
|         'outdent', 'indent', |         'outdent', 'indent', | ||||||
|         '|', |         '|', | ||||||
|                 'markdownImport', 'cuttonote', 'findAndReplace' |         'markdownImport', 'cuttonote', 'findAndReplace', | ||||||
|             ], |     ]; | ||||||
|  | 
 | ||||||
|  |     if (enableLanguageSwitcher) { | ||||||
|  |         items.push('|'); | ||||||
|  |         items.push('textPartLanguage'); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     // For nested toolbars, refer to https://ckeditor.com/docs/ckeditor5/latest/getting-started/setup/toolbar.html#grouping-toolbar-items-in-dropdowns-nested-toolbars.
 | ||||||
|  |     return { | ||||||
|  |         toolbar: { | ||||||
|  |             items, | ||||||
|             shouldNotGroupWhenFull: multilineToolbar |             shouldNotGroupWhenFull: multilineToolbar | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| function buildFloatingToolbar() { | function buildFloatingToolbar(enableLanguageSwitcher: boolean) { | ||||||
|     return { |     const items = [ | ||||||
|         toolbar: { |  | ||||||
| 			items: [ |  | ||||||
|         'fontSize', |         'fontSize', | ||||||
|         'bold', |         'bold', | ||||||
|         'italic', |         'italic', | ||||||
| @ -188,7 +196,16 @@ function buildFloatingToolbar() { | |||||||
|         'removeFormat', |         'removeFormat', | ||||||
|         'internallink', |         'internallink', | ||||||
|         'cuttonote' |         'cuttonote' | ||||||
| 			] |     ]; | ||||||
|  | 
 | ||||||
|  |     if (enableLanguageSwitcher) { | ||||||
|  |         items.push('|'); | ||||||
|  |         items.push('textPartLanguage'); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     return { | ||||||
|  |         toolbar: { | ||||||
|  | 			items | ||||||
| 		}, | 		}, | ||||||
| 
 | 
 | ||||||
| 		blockToolbar: [ | 		blockToolbar: [ | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Elian Doran
						Elian Doran