| 8 | import {createRghIssueLink, getFeatureUrl} from '../helpers/rgh-links.js'; |
| 9 | |
| 10 | function moveDisabledFeaturesToTop(): void { |
| 11 | const container = $('.js-features'); |
| 12 | const features = $$('.feature').toSorted((a, b) => a.dataset.text!.localeCompare(b.dataset.text!)); |
| 13 | const grouped = Object.groupBy(features, feature => { |
| 14 | const checkbox = $('input.feature-checkbox', feature); |
| 15 | return checkbox.checked ? 'on' : checkbox.disabled ? 'broken' : 'off'; |
| 16 | }); |
| 17 | |
| 18 | for (const group of [grouped.off, grouped.broken, grouped.on]) { |
| 19 | if (group) { |
| 20 | for (const feature of group) { |
| 21 | container.append(feature); |
| 22 | } |
| 23 | } |
| 24 | } |
| 25 | } |
| 26 | |
| 27 | async function markLocalHotfixes(): Promise<void> { |
| 28 | for (const [feature, relatedIssue] of await getLocalHotfixes()) { |