mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-26 12:27:06 +00:00 
			
		
		
		
	Remove jQuery class from the project page (#30183)
- Switched from jQuery class functions to plain JavaScript `classList` - Tested the edit column modal functionality and it works as before Signed-off-by: Yarden Shoham <git@yardenshoham.com>
This commit is contained in:
		| @@ -94,47 +94,46 @@ async function initRepoProjectSortable() { | ||||
| } | ||||
|  | ||||
| export function initRepoProject() { | ||||
|   if (!$('.repository.projects').length) { | ||||
|   if (!document.querySelector('.repository.projects')) { | ||||
|     return; | ||||
|   } | ||||
|  | ||||
|   const _promise = initRepoProjectSortable(); | ||||
|  | ||||
|   $('.edit-project-column-modal').each(function () { | ||||
|     const $projectHeader = $(this).closest('.project-column-header'); | ||||
|     const $projectTitleLabel = $projectHeader.find('.project-column-title'); | ||||
|     const $projectTitleInput = $(this).find('.project-column-title-input'); | ||||
|     const $projectColorInput = $(this).find('#new_project_column_color'); | ||||
|     const $boardColumn = $(this).closest('.project-column'); | ||||
|   for (const modal of document.getElementsByClassName('edit-project-column-modal')) { | ||||
|     const projectHeader = modal.closest('.project-column-header'); | ||||
|     const projectTitleLabel = projectHeader?.querySelector('.project-column-title'); | ||||
|     const projectTitleInput = modal.querySelector('.project-column-title-input'); | ||||
|     const projectColorInput = modal.querySelector('#new_project_column_color'); | ||||
|     const boardColumn = modal.closest('.project-column'); | ||||
|     const bgColor = boardColumn?.style.backgroundColor; | ||||
|  | ||||
|     const bgColor = $boardColumn[0].style.backgroundColor; | ||||
|     if (bgColor) { | ||||
|       setLabelColor($projectHeader, rgbToHex(bgColor)); | ||||
|       setLabelColor(projectHeader, rgbToHex(bgColor)); | ||||
|     } | ||||
|  | ||||
|     $(this).find('.edit-project-column-button').on('click', async function (e) { | ||||
|     modal.querySelector('.edit-project-column-button')?.addEventListener('click', async function (e) { | ||||
|       e.preventDefault(); | ||||
|  | ||||
|       try { | ||||
|         await PUT($(this).data('url'), { | ||||
|         await PUT(this.getAttribute('data-url'), { | ||||
|           data: { | ||||
|             title: $projectTitleInput.val(), | ||||
|             color: $projectColorInput.val(), | ||||
|             title: projectTitleInput?.value, | ||||
|             color: projectColorInput?.value, | ||||
|           }, | ||||
|         }); | ||||
|       } catch (error) { | ||||
|         console.error(error); | ||||
|       } finally { | ||||
|         $projectTitleLabel.text($projectTitleInput.val()); | ||||
|         $projectTitleInput.closest('form').removeClass('dirty'); | ||||
|         if ($projectColorInput.val()) { | ||||
|           setLabelColor($projectHeader, $projectColorInput.val()); | ||||
|         projectTitleLabel.textContent = projectTitleInput?.value; | ||||
|         projectTitleInput.closest('form')?.classList.remove('dirty'); | ||||
|         if (projectColorInput?.value) { | ||||
|           setLabelColor(projectHeader, projectColorInput.value); | ||||
|         } | ||||
|         $boardColumn[0].style = `background: ${$projectColorInput.val()} !important`; | ||||
|         boardColumn.style = `background: ${projectColorInput.value} !important`; | ||||
|         $('.ui.modal').modal('hide'); | ||||
|       } | ||||
|     }); | ||||
|   }); | ||||
|   } | ||||
|  | ||||
|   $('.default-project-column-modal').each(function () { | ||||
|     const $boardColumn = $(this).closest('.project-column'); | ||||
| @@ -187,9 +186,11 @@ export function initRepoProject() { | ||||
| function setLabelColor(label, color) { | ||||
|   const {r, g, b} = tinycolor(color).toRgb(); | ||||
|   if (useLightTextOnBackground(r, g, b)) { | ||||
|     label.removeClass('dark-label').addClass('light-label'); | ||||
|     label.classList.remove('dark-label'); | ||||
|     label.classList.add('light-label'); | ||||
|   } else { | ||||
|     label.removeClass('light-label').addClass('dark-label'); | ||||
|     label.classList.remove('light-label'); | ||||
|     label.classList.add('dark-label'); | ||||
|   } | ||||
| } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Yarden Shoham
					Yarden Shoham