mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-11-04 01:34:27 +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