mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-11-03 20:36:07 +01:00 
			
		
		
		
	Forbid HTML injection using jQuery (#29843)
See https://github.com/wikimedia/eslint-plugin-no-jquery/blob/master/docs/rules/no-append-html.md Tested the following components and they work as before: - notification table - issue author dropdown - comment edit box attachments div Signed-off-by: Yarden Shoham <git@yardenshoham.com> Co-authored-by: Giteabot <teabot@gitea.io>
This commit is contained in:
		@@ -72,7 +72,9 @@ function delegateOne($dropdown) {
 | 
			
		||||
  dropdownTemplates.menu = function(response, fields, preserveHTML, className) {
 | 
			
		||||
    // when the dropdown menu items are loaded from AJAX requests, the items are created dynamically
 | 
			
		||||
    const menuItems = dropdownTemplatesMenuOld(response, fields, preserveHTML, className);
 | 
			
		||||
    const $wrapper = $('<div>').append(menuItems);
 | 
			
		||||
    const div = document.createElement('div');
 | 
			
		||||
    div.innerHTML = menuItems;
 | 
			
		||||
    const $wrapper = $(div);
 | 
			
		||||
    const $items = $wrapper.find('> .item');
 | 
			
		||||
    $items.each((_, item) => updateMenuItem($dropdown[0], item));
 | 
			
		||||
    $dropdown[0][ariaPatchKey].deferredRefreshAriaActiveItem();
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user