File tree 2 files changed +22
-9
lines changed
2 files changed +22
-9
lines changed Original file line number Diff line number Diff line change 10
10
<div class="ui attached segment">
11
11
{{template "base/alert" .}}
12
12
{{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>
19
14
<div class="inline required field {{if .Err_Owner}}error{{end}}">
20
15
<label>{{ctx.Locale.Tr "repo.owner"}}</label>
21
16
<div class="ui selection owner dropdown">
26
21
</span>
27
22
{{svg "octicon-triangle-down" 14 "dropdown icon"}}
28
23
<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
+ >
30
29
{{ctx.AvatarUtils.Avatar .SignedUser 28 "mini"}}
31
30
<span class="truncated-item-name">{{.SignedUser.ShortName 40}}</span>
32
31
</div>
209
208
<br>
210
209
<div class="inline field">
211
210
<label></label>
212
- <button class="ui primary button{{if not .CanCreateRepo}} disabled{{end}} ">
211
+ <button class="ui primary button">
213
212
{{ctx.Locale.Tr "repo.create_repo"}}
214
213
</button>
215
214
</div>
Original file line number Diff line number Diff line change 1
1
import $ from 'jquery' ;
2
2
import { htmlEscape } from 'escape-goat' ;
3
- import { hideElem , showElem } from '../utils/dom.ts' ;
3
+ import { hideElem , querySingleVisibleElem , showElem , toggleElem } from '../utils/dom.ts' ;
4
4
5
5
const { appSubUrl} = window . config ;
6
6
@@ -21,6 +21,20 @@ export function initRepoTemplateSearch() {
21
21
checkTemplate ( ) ;
22
22
23
23
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
+
24
38
$ ( '#repo_template_search' )
25
39
. dropdown ( {
26
40
apiSettings : {
You can’t perform that action at this time.
0 commit comments