diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini index 94e265e7b..db148498c 100644 --- a/options/locale/locale_en-US.ini +++ b/options/locale/locale_en-US.ini @@ -316,7 +316,8 @@ modify = Update [form] UserName = Username Alias = Repository name -RepoName = Repository path +RepoPath = Repository path +RepoAdress = Repository Adress Email = Email address Password = Password Retype = Re-Type Password @@ -340,6 +341,8 @@ SSPIDefaultLanguage = Default Language require_error = ` cannot be empty.` alpha_dash_error = ` should contain only alphanumeric, dash ('-') and underscore ('_') characters.` alpha_dash_dot_error = ` should contain only alphanumeric, dash ('-'), underscore ('_') and dot ('.') characters.` +reponame_dash_dot_error=` Please enter Chinese, alphanumeric, dash ('-') ,underscore ('_') and dot ('.')characters, up to 100 characters. ` +repoadd_dash_dot_error=` Path only allows input alphanumeric, dash ('-') ,underscore ('_') and dot ('.')characters, up to 100 characters. ` git_ref_name_error = ` must be a well-formed Git reference name.` alpha_dash_dot_chinese_error= ` should contain only alphanumeric, chinese, dash ('-') and underscore ('_') characters.` size_error = ` must be size %s.` diff --git a/options/locale/locale_zh-CN.ini b/options/locale/locale_zh-CN.ini index a2f4a42a5..c5c499eb0 100755 --- a/options/locale/locale_zh-CN.ini +++ b/options/locale/locale_zh-CN.ini @@ -321,6 +321,8 @@ modify=更新 UserName=用户名 RepoName=项目路径 Alias=项目名称 +RepoPath=项目路径 +RepoAdress=项目地址 Email=邮箱地址 Password=密码 Retype=重新输入密码 @@ -344,6 +346,8 @@ SSPIDefaultLanguage=默认语言 require_error=不能为空。 alpha_dash_error=应该只包含字母数字、破折号 ('-') 和下划线 ('_') 字符。 alpha_dash_dot_error=应该只包含字母数字, 破折号 ('-'), 下划线 ('_') 和点 ('. ') 。 +reponame_dash_dot_error=请输入中文、字母、数字和-_.、最多100个字符。 +repoadd_dash_dot_error=路径只允许字母、数字和-_.,最多100个字符。 git_ref_name_error=` 必须是格式良好的 git 引用名称。` alpha_dash_dot_chinese_error=应该只包含字母数字中文, 破折号 ('-'), 下划线 ('_') 和点 ('. ') 。 size_error=长度必须为 %s。 diff --git a/templates/repo/create.tmpl b/templates/repo/create.tmpl index 2d89bf661..53aec2aca 100644 --- a/templates/repo/create.tmpl +++ b/templates/repo/create.tmpl @@ -9,54 +9,7 @@
{{template "base/alert" .}} -
- - - -
- -
- -
- - - -
- -
/
-
- - - -
-
- -
- - - -
+ {{template "repo/repo_name" .}}
@@ -201,46 +154,4 @@
-{{template "base/footer" .}} - \ No newline at end of file +{{template "base/footer" .}} \ No newline at end of file diff --git a/templates/repo/migrate.tmpl b/templates/repo/migrate.tmpl index daf8c549e..61d2f4b21 100644 --- a/templates/repo/migrate.tmpl +++ b/templates/repo/migrate.tmpl @@ -37,35 +37,7 @@
- -
- - -
- -
- - -
+ {{template "repo/repo_name" .}}
diff --git a/templates/repo/pulls/fork.tmpl b/templates/repo/pulls/fork.tmpl index 30f9939fa..bbf4be0b1 100644 --- a/templates/repo/pulls/fork.tmpl +++ b/templates/repo/pulls/fork.tmpl @@ -9,7 +9,7 @@
{{template "base/alert" .}} -
+
{{.ForkFrom}}
-
- - -
+ {{template "repo/repo_name" .}}
diff --git a/templates/repo/repo_name.tmpl b/templates/repo/repo_name.tmpl new file mode 100644 index 000000000..2a9c00097 --- /dev/null +++ b/templates/repo/repo_name.tmpl @@ -0,0 +1,50 @@ +
+ + + {{.i18n.Tr "form.reponame_dash_dot_error"}} +
+ +
+ +
+ + + +
+ +
/
+
+ + + +
+ + +
+ {{.i18n.Tr "form.repoadd_dash_dot_error"}} + \ No newline at end of file diff --git a/templates/repo/settings/options.tmpl b/templates/repo/settings/options.tmpl index a9b637420..24283890c 100644 --- a/templates/repo/settings/options.tmpl +++ b/templates/repo/settings/options.tmpl @@ -11,10 +11,61 @@
{{.CsrfTokenHtml}} -
+ +
+ + + {{.i18n.Tr "form.reponame_dash_dot_error"}} +
+ +
+ +
+
+ + + +
+ +
/
+
+ + + {{.i18n.Tr "form.repoadd_dash_dot_error"}} +
+
+ +
+ +
diff --git a/web_src/js/index.js b/web_src/js/index.js index 7d59cc0eb..d1bec586a 100755 --- a/web_src/js/index.js +++ b/web_src/js/index.js @@ -4136,4 +4136,62 @@ $('.question.circle.icon').hover(function(){ //云脑详情页面跳转回上一个页面 $(".section.backTodeBug").attr("href",localStorage.getItem('all')) //新建调试取消跳转 -$(".ui.button.cancel").attr("href",localStorage.getItem('all')) \ No newline at end of file +$(".ui.button.cancel").attr("href",localStorage.getItem('all')) + +function initcreateRepo(){ + let timeout; + let keydown_flag = false + const urlAdd = location.href.split('/')[0] + '//' + location.href.split('/')[2] + let owner = $('input[name=uid]').val() + console.log(owner) + console.log(location.href.split('/'),urlAdd) + $(document).ready(function(){ + $('#ownerDropdown').dropdown({ + onChange:function(value){ + owner = value + $('#repoAdress').css("display","block") + $('#repoAdress span').text(urlAdd+'/'+owner+'/'+$('#repo_name').val()+'.git') + } + }); + }) + $('#repo_name').keyup(function(){ + keydown_flag = $('#repo_name').val() ? true : false + if(keydown_flag){ + $('#repoAdress').css("display","block") + $('#repoAdress span').text(urlAdd+'/'+owner+'/'+$('#repo_name').val()+'.git') + console.log("key_up",owner) + } + else{ + $('#repoAdress').css("display","none") + $('#repo_name').attr("placeholder","") + } + }) + + $('#alias').bind('input propertychange', function (event) { + clearTimeout(timeout) + timeout = setTimeout(() => { + //在此处写调用的方法,可以实现仅最后一次操作生效 + const aliasValue = $('#alias').val() + const ownerValue = $('#uid').val() + if(keydown_flag){ + $('#repo_name').attr("placeholder","") + } + else if(aliasValue){ + $('#repo_name').attr("placeholder","正在获取路径...") + $.get(`${window.config.AppSubUrl}/repo/check_name?q=${aliasValue}&owner=${ownerValue }`,(data)=>{ + const repo_name = data.name + $('#repo_name').val(repo_name) + $('#repoAdress').css("display","block") + $('#repoAdress span').text(urlAdd+'/'+owner+'/'+$('#repo_name').val()+'.git') + console.log("oninput",owner) + }) + }else{ + $('#repo_name').val('') + $('#repo_name').attr("placeholder","") + $('#repoAdress').css("display","none") + } + }, 500) + }); +} + +initcreateRepo() \ No newline at end of file diff --git a/web_src/less/_form.less b/web_src/less/_form.less index de48f0ba5..e41c428c8 100644 --- a/web_src/less/_form.less +++ b/web_src/less/_form.less @@ -2,7 +2,7 @@ .help { color: #999999; padding-top: .6em; - padding-bottom: .6em; + display: inline-block; } }