|
1 | 1 | import {minimatch} from 'minimatch'; |
2 | 2 | import {createMonaco} from './codeeditor.ts'; |
3 | | -import {onInputDebounce, queryElems, toggleClass, toggleElem} from '../utils/dom.ts'; |
| 3 | +import {onInputDebounce, queryElems, toggleElem} from '../utils/dom.ts'; |
4 | 4 | import {POST} from '../modules/fetch.ts'; |
5 | 5 | import {initRepoSettingsBranchesDrag} from './repo-settings-branches.ts'; |
6 | 6 | import {fomanticQuery} from '../modules/fomantic/base.ts'; |
@@ -124,14 +124,18 @@ function initRepoSettingsOptions() { |
124 | 124 | const pageContent = document.querySelector('.page-content.repository.settings.options'); |
125 | 125 | if (!pageContent) return; |
126 | 126 |
|
127 | | - // Enable or select internal/external wiki system and issue tracker. |
| 127 | + // toggle related panels for the checkbox/radio inputs, the "selector" may not exist |
| 128 | + const toggleTargetContextPanel = (selector: string, enabled: boolean) => { |
| 129 | + if (!selector) return; |
| 130 | + queryElems(document, selector, (el) => el.classList.toggle('disabled', !enabled)); |
| 131 | + }; |
128 | 132 | queryElems<HTMLInputElement>(pageContent, '.enable-system', (el) => el.addEventListener('change', () => { |
129 | | - toggleClass(el.getAttribute('data-target'), 'disabled', !el.checked); |
130 | | - toggleClass(el.getAttribute('data-context'), 'disabled', el.checked); |
| 133 | + toggleTargetContextPanel(el.getAttribute('data-target'), el.checked); |
| 134 | + toggleTargetContextPanel(el.getAttribute('data-context'), !el.checked); |
131 | 135 | })); |
132 | 136 | queryElems<HTMLInputElement>(pageContent, '.enable-system-radio', (el) => el.addEventListener('change', () => { |
133 | | - toggleClass(el.getAttribute('data-target'), 'disabled', el.value === 'false'); |
134 | | - toggleClass(el.getAttribute('data-context'), 'disabled', el.value === 'true'); |
| 137 | + toggleTargetContextPanel(el.getAttribute('data-target'), el.value === 'true'); |
| 138 | + toggleTargetContextPanel(el.getAttribute('data-context'), el.value === 'false'); |
135 | 139 | })); |
136 | 140 |
|
137 | 141 | queryElems<HTMLInputElement>(pageContent, '.js-tracker-issue-style', (el) => el.addEventListener('change', () => { |
|
0 commit comments