1- import { hideElem , showElem , toggleElem } from '../utils/dom.ts' ;
1+ import { hideElem , querySingleVisibleElem , showElem , toggleElem } from '../utils/dom.ts' ;
22import { htmlEscape } from 'escape-goat' ;
33import { fomanticQuery } from '../modules/fomantic/base.ts' ;
44import { sanitizeRepoName } from './repo-common.ts' ;
55
66const { appSubUrl} = window . config ;
77
88function 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