mirror of
				https://github.com/excalidraw/excalidraw.git
				synced 2025-10-25 00:44:38 +02:00 
			
		
		
		
	Compare commits
	
		
			2 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | 555bf6338f | ||
|   | 0bef3945f6 | 
| @@ -933,10 +933,32 @@ describe("textWysiwyg", () => { | ||||
|  | ||||
|       await new Promise((cb) => setTimeout(cb, 0)); | ||||
|       editor.blur(); | ||||
|       expect(rectangle.width).toBe(110); | ||||
|       expect(rectangle.width).toBe(100); | ||||
|       expect(rectangle.height).toBe(210); | ||||
|       const textElement = h.elements[1] as ExcalidrawTextElement; | ||||
|       expect(textElement.text).toBe(wrappedText); | ||||
|       expect(textElement.text).toMatchInlineSnapshot( | ||||
|         ` | ||||
|         "Wikipedi | ||||
|         a is  | ||||
|         hosted  | ||||
|         by the  | ||||
|         Wikimedi | ||||
|         a  | ||||
|         Foundati | ||||
|         on, a  | ||||
|         non-prof | ||||
|         it  | ||||
|         organiza | ||||
|         tion  | ||||
|         that  | ||||
|         also  | ||||
|         hosts a  | ||||
|         range of | ||||
|         other  | ||||
|         projects | ||||
|         ." | ||||
|       `, | ||||
|       ); | ||||
|     }); | ||||
|   }); | ||||
| }); | ||||
|   | ||||
| @@ -290,14 +290,21 @@ export const textWysiwyg = ({ | ||||
|         fontSize: app.state.currentItemFontSize, | ||||
|         fontFamily: app.state.currentItemFontFamily, | ||||
|       }); | ||||
|       const wrappedText = container | ||||
|         ? wrapText(data, font, getMaxContainerWidth(container)) | ||||
|         : data; | ||||
|  | ||||
|       const dimensions = measureText(wrappedText, font); | ||||
|       editable.style.height = `${dimensions.height}px`; | ||||
|  | ||||
|       onChange(wrappedText); | ||||
|       if (data) { | ||||
|         const text = editable.value; | ||||
|         const start = Math.min(editable.selectionStart, editable.selectionEnd); | ||||
|         const end = Math.max(editable.selectionStart, editable.selectionEnd); | ||||
|         const newText = `${text.substring(0, start)}${data}${text.substring( | ||||
|           end, | ||||
|         )}`; | ||||
|         const wrappedText = container | ||||
|           ? wrapText(newText, font, getMaxContainerWidth(container!)) | ||||
|           : newText; | ||||
|         const dimensions = measureText(wrappedText, font); | ||||
|         editable.style.height = `${dimensions.height}px`; | ||||
|         onChange(newText); | ||||
|       } | ||||
|     }; | ||||
|     editable.oninput = () => { | ||||
|       const updatedTextElement = Scene.getScene(element)?.getElement( | ||||
|   | ||||
		Reference in New Issue
	
	Block a user