File tree Expand file tree Collapse file tree 2 files changed +22
-9
lines changed Expand file tree Collapse file tree 2 files changed +22
-9
lines changed Original file line number Diff line number Diff line change 1010 <div class="ui attached segment">
1111 {{template "base/alert" .}}
1212 {{template "repo/create_helper" .}}
13-
14- {{if not .CanCreateRepo}}
15- <div class="ui negative message">
16- <p>{{ctx.Locale.TrN .MaxCreationLimit "repo.form.reach_limit_of_creation_1" "repo.form.reach_limit_of_creation_n" .MaxCreationLimit}}</p>
17- </div>
18- {{end}}
13+ <div id="create-repo-error-message" class="ui negative message tw-text-center tw-hidden"></div>
1914 <div class="inline required field {{if .Err_Owner}}error{{end}}">
2015 <label>{{ctx.Locale.Tr "repo.owner"}}</label>
2116 <div class="ui selection owner dropdown">
2621 </span>
2722 {{svg "octicon-triangle-down" 14 "dropdown icon"}}
2823 <div class="menu">
29- <div class="item truncated-item-container" data-value="{{.SignedUser.ID}}" title="{{.SignedUser.Name}}">
24+ <div class="item truncated-item-container" data-value="{{.SignedUser.ID}}" title="{{.SignedUser.Name}}"
25+ {{if not .CanCreateRepo}}
26+ data-create-repo-disallowed-prompt="{{ctx.Locale.TrN .MaxCreationLimit "repo.form.reach_limit_of_creation_1" "repo.form.reach_limit_of_creation_n" .MaxCreationLimit}}"
27+ {{end}}
28+ >
3029 {{ctx.AvatarUtils.Avatar .SignedUser 28 "mini"}}
3130 <span class="truncated-item-name">{{.SignedUser.ShortName 40}}</span>
3231 </div>
209208 <br>
210209 <div class="inline field">
211210 <label></label>
212- <button class="ui primary button{{if not .CanCreateRepo}} disabled{{end}} ">
211+ <button class="ui primary button">
213212 {{ctx.Locale.Tr "repo.create_repo"}}
214213 </button>
215214 </div>
Original file line number Diff line number Diff line change 11import $ from 'jquery' ;
22import { htmlEscape } from 'escape-goat' ;
3- import { hideElem , showElem } from '../utils/dom.ts' ;
3+ import { hideElem , querySingleVisibleElem , showElem , toggleElem } from '../utils/dom.ts' ;
44
55const { appSubUrl} = window . config ;
66
@@ -21,6 +21,20 @@ export function initRepoTemplateSearch() {
2121 checkTemplate ( ) ;
2222
2323 const changeOwner = function ( ) {
24+ const elUid = document . querySelector < HTMLInputElement > ( '#uid' ) ;
25+ const elForm = elUid . closest ( 'form' ) ;
26+ const elSubmitButton = querySingleVisibleElem < HTMLInputElement > ( elForm , '.ui.primary.button' ) ;
27+ const elCreateRepoErrorMessage = elForm . querySelector ( '#create-repo-error-message' ) ;
28+ const elOwnerItem = document . querySelector ( `.ui.selection.owner.dropdown .menu > .item[data-value="${ CSS . escape ( elUid . value ) } "]` ) ;
29+ hideElem ( elCreateRepoErrorMessage ) ;
30+ elSubmitButton . disabled = false ;
31+ if ( elOwnerItem ) {
32+ elCreateRepoErrorMessage . textContent = elOwnerItem . getAttribute ( 'data-create-repo-disallowed-prompt' ) ?? '' ;
33+ const hasError = Boolean ( elCreateRepoErrorMessage . textContent ) ;
34+ toggleElem ( elCreateRepoErrorMessage , hasError ) ;
35+ elSubmitButton . disabled = hasError ;
36+ }
37+
2438 $ ( '#repo_template_search' )
2539 . dropdown ( {
2640 apiSettings : {
You can’t perform that action at this time.
0 commit comments