Skip to content

Commit 22c85d5

Browse files
committed
disable submit button if there is an error
1 parent 347bf01 commit 22c85d5

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

web_src/js/features/repo-new.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
1-
import {hideElem, showElem, toggleElem} from '../utils/dom.ts';
1+
import {hideElem, querySingleVisibleElem, showElem, toggleElem} from '../utils/dom.ts';
22
import {htmlEscape} from 'escape-goat';
33
import {fomanticQuery} from '../modules/fomantic/base.ts';
44
import {sanitizeRepoName} from './repo-common.ts';
55

66
const {appSubUrl} = window.config;
77

88
function initRepoNewTemplateSearch(form: HTMLFormElement) {
9+
const elSubmitButton = querySingleVisibleElem<HTMLInputElement>(form, '.ui.primary.button');
910
const elCreateRepoErrorMessage = form.querySelector('#create-repo-error-message');
1011
const elRepoOwnerDropdown = form.querySelector('#repo_owner_dropdown');
1112
const elRepoTemplateDropdown = form.querySelector<HTMLInputElement>('#repo_template_search');
@@ -26,10 +27,13 @@ function initRepoNewTemplateSearch(form: HTMLFormElement) {
2627
const ownerId = $repoOwnerDropdown.dropdown('get value');
2728
const $ownerItem = $repoOwnerDropdown.dropdown('get item', ownerId);
2829
hideElem(elCreateRepoErrorMessage);
30+
elSubmitButton.disabled = false;
2931
if ($ownerItem?.length) {
3032
const elOwnerItem = $ownerItem[0];
3133
elCreateRepoErrorMessage.textContent = elOwnerItem.getAttribute('data-create-repo-disallowed-prompt') ?? '';
32-
toggleElem(elCreateRepoErrorMessage, Boolean(elCreateRepoErrorMessage.textContent));
34+
const hasError = Boolean(elCreateRepoErrorMessage.textContent);
35+
toggleElem(elCreateRepoErrorMessage, hasError);
36+
elSubmitButton.disabled = hasError;
3337
}
3438
$repoTemplateDropdown.dropdown('setting', {
3539
apiSettings: {

0 commit comments

Comments
 (0)