mirror of
				https://github.com/go-gitea/gitea
				synced 2025-10-31 03:18:24 +00:00 
			
		
		
		
	Hide archived labels when filtering by labels on the issue list (#27115)
Followup https://github.com/go-gitea/gitea/pull/26820 ## Archived labels UI for issue filter and issue filter actions for issues/pull request pages. Changed: * Enhanced the Issue filter and Issue filter actions UI page to seamlessly incorporate a list of archived labels. * Pagination functionality is same as before. If archived label checkbox is checked then we are adding a query string`archived=true` in the url to save the state of page. * Issue filter actions menu is separated into different template. * Adding the archived flag in issue url labels. * Pull Request page is also work the same. Outsourced: * Defer the implementation of specialized handling for archived labels to upcoming pull requests. This step will be undertaken subsequent to the successful merge of this pull request. Screenshots ### Issue page <img width="1360" alt="image" src="https://github.com/go-gitea/gitea/assets/80308335/d7efb2ef-5b2b-449d-83f0-d430a32ec432"> ### Issue page with label filter on archived label checkbox when not checked --> No archived label is there in list <img width="1249" alt="image" src="https://github.com/go-gitea/gitea/assets/80308335/ceea68ef-91f2-4693-910f-2e25e236bfc9"> ### Issue page with label filter on archived label checkbox when checked --> Show archived label in the list. <img width="710" alt="image" src="https://github.com/go-gitea/gitea/assets/80308335/2414d26b-2079-4c3c-bd9e-f2f5411bcabf"> ### Issue page with label filter on issue action menu on archived label checkbox when checked --> Show archived label in the list. <img width="409" alt="image" src="https://github.com/go-gitea/gitea/assets/80308335/259cac87-3e21-4778-99a2-a6a0b8c81178"> ### Applied the archived=true in Issue labels when archived checkbox is checked. <img width="984" alt="image" src="https://github.com/go-gitea/gitea/assets/80308335/657ce3db-c0ae-402e-b12d-3b580d3c2ed0"> --- Part of https://github.com/go-gitea/gitea/issues/25237 --------- Signed-off-by: puni9869 <punitinani1@hotmail.com> Co-authored-by: delvh <dev.lh@web.de> Co-authored-by: Giteabot <teabot@gitea.io>
This commit is contained in:
		| @@ -73,7 +73,7 @@ function initRepoIssueListCheckboxes() { | ||||
|       url, | ||||
|       action, | ||||
|       issueIDs, | ||||
|       elementId | ||||
|       elementId, | ||||
|     ).then(() => { | ||||
|       window.location.reload(); | ||||
|     }).catch((reason) => { | ||||
| @@ -185,9 +185,42 @@ async function initIssuePinSort() { | ||||
|   }); | ||||
| } | ||||
|  | ||||
| function initArchivedLabelFilter() { | ||||
|   const archivedLabelEl = document.querySelector('#archived-filter-checkbox'); | ||||
|   if (!archivedLabelEl) { | ||||
|     return; | ||||
|   } | ||||
|  | ||||
|   const url = new URL(window.location.href); | ||||
|   const archivedLabels = document.querySelectorAll('[data-is-archived]'); | ||||
|  | ||||
|   const selectedLabels = (url.searchParams.get('labels') || '') | ||||
|     .split(',') | ||||
|     .map((id) => id < 0 ? `${~id + 1}` : id); // selectedLabels contains -ve ids, which are excluded so convert any -ve value id to +ve | ||||
|  | ||||
|   const archivedElToggle = () => { | ||||
|     for (const label of archivedLabels) { | ||||
|       const id = label.getAttribute('data-label-id'); | ||||
|       toggleElem(label, archivedLabelEl.checked || selectedLabels.includes(id)); | ||||
|     } | ||||
|   }; | ||||
|  | ||||
|   archivedElToggle(); | ||||
|   archivedLabelEl.addEventListener('change', () => { | ||||
|     archivedElToggle(); | ||||
|     if (archivedLabelEl.checked) { | ||||
|       url.searchParams.set('archived', 'true'); | ||||
|     } else { | ||||
|       url.searchParams.delete('archived'); | ||||
|     } | ||||
|     window.location.href = url.href; | ||||
|   }); | ||||
| } | ||||
|  | ||||
| export function initRepoIssueList() { | ||||
|   if (!document.querySelectorAll('.page-content.repository.issue-list, .page-content.repository.milestone-issue-list').length) return; | ||||
|   initRepoIssueListCheckboxes(); | ||||
|   initRepoIssueListAuthorDropdown(); | ||||
|   initIssuePinSort(); | ||||
|   initArchivedLabelFilter(); | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user