mirror of
				https://git.sr.ht/~tsileo/microblog.pub
				synced 2025-06-05 21:59:23 +02:00 
			
		
		
		
	Fix emoji JS in the admin
This commit is contained in:
		
							
								
								
									
										32
									
								
								app/static/new.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								app/static/new.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,32 @@ | ||||
| // The new post textarea | ||||
| var ta = document.getElementsByTagName("textarea")[0]; | ||||
| // Helper for inserting text (emojis) in the textarea | ||||
| function insertAtCursor (textToInsert) { | ||||
|     ta.focus(); | ||||
|     const isSuccess = document.execCommand("insertText", false, textToInsert); | ||||
|  | ||||
|     // Firefox (non-standard method) | ||||
|     if (!isSuccess) { | ||||
|         // Credits to https://www.everythingfrontend.com/posts/insert-text-into-textarea-at-cursor-position.html | ||||
|         // get current text of the input | ||||
|         const value = ta.value; | ||||
|         // save selection start and end position | ||||
|         const start = ta.selectionStart; | ||||
|         const end = ta.selectionEnd; | ||||
|         // update the value with our text inserted | ||||
|         ta.value = value.slice(0, start) + textToInsert + value.slice(end); | ||||
|         // update cursor to be at the end of insertion | ||||
|         ta.selectionStart = ta.selectionEnd = start + textToInsert.length; | ||||
|     } | ||||
| } | ||||
| // Emoji click callback func | ||||
| var ji = function (ev) { | ||||
|     insertAtCursor(ev.target.attributes.alt.value + " "); | ||||
|     ta.focus() | ||||
|     //console.log(document.execCommand('insertText', false /*no UI*/, ev.target.attributes.alt.value)); | ||||
| } | ||||
| // Enable the click for each emojis | ||||
| var items = document.getElementsByClassName("ji") | ||||
| for (var i = 0; i < items.length; i++) { | ||||
|     items[i].addEventListener('click', ji); | ||||
| } | ||||
		Reference in New Issue
	
	Block a user