You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

createCourse.tmpl 4.5 kB

3 years ago
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. {{template "base/head" .}}
  2. <div class="repository new repo" style="margin-top: 40px;">
  3. <div class="ui middle very relaxed page grid">
  4. <div class="column">
  5. <form class="ui form" action="{{.Link}}" method="post" id="create_repo_form">
  6. {{.CsrfTokenHtml}}
  7. <h3 class="ui top attached header">
  8. {{.i18n.Tr "new_course"}}
  9. </h3>
  10. <div class="ui attached segment">
  11. {{template "base/alert" .}}
  12. <div class="inline required field" >
  13. <label for="Alias">{{.i18n.Tr "form.courseAlias"}}</label>
  14. <input id="alias" name="Alias" value="" autofocus required>
  15. <span class="help">{{.i18n.Tr "form.reponame_dash_dot_error"}}</span>
  16. </div>
  17. <div class="inline required fields" style="margin-bottom: 0;">
  18. <label style="text-align: right;width: 250px!important;word-wrap: break-word;">{{.i18n.Tr "form.courseAdress"}}</label>
  19. <div class="required field {{if .Err_Owner}}error{{end}}" style="padding: 0;">
  20. <div class="ui selection owner dropdown" id="ownerDropdown">
  21. <input type="hidden" id="uid" name="uid" value="{{.Owner.Name}}" required>
  22. <div class="text" title="{{.Owner.Name}}">
  23. <img class="ui mini image" src="{{.Owner.RelAvatarLink}}">
  24. {{$.Owner.Name}}
  25. </div>
  26. </div>
  27. </div>
  28. <div class="ui interval" style="width: 0.6em;font-size: 2rem;line-height: 0px;text-align: center;">/</div>
  29. <div class="required field {{if .Err_RepoName}}error{{end}}">
  30. <input style="width: 100% !important;" id="repo_name" name="RepoName" value="{{.repo_name}}" autofocus required>
  31. </div>
  32. </div>
  33. <span style="display: block;margin-bottom: 1em;" class="help">{{.i18n.Tr "form.repoadd_dash_dot_error"}}</span>
  34. <div class="inline field" id="repoAdress" style="display: none;word-break: break-all;">
  35. <label for="">{{.i18n.Tr "form.RepoAdress"}}:</label>
  36. <span></span>
  37. </div>
  38. <div class="inline required field">
  39. <label>{{.i18n.Tr "repo.model.manage.label"}}</label>
  40. <div class="ui multiple search selection dropdown">
  41. <input type="hidden" name="Topics" value="">
  42. <div class="default text">{{.i18n.Tr "repo.repo_label_helpe"}}</div>
  43. <div class="menu" id="course_label_item">
  44. </div>
  45. </div>
  46. </div>
  47. <div class="inline field {{if .Err_Description}}error{{end}}">
  48. <label for="description">{{.i18n.Tr "repo.repo_desc"}}</label>
  49. <textarea id="description" name="Description" maxlength="254">{{.description}}</textarea>
  50. </div>
  51. <div class="inline field">
  52. <label></label>
  53. <button class="ui green button" id="submit_reponame">
  54. {{.i18n.Tr "new_course"}}
  55. </button>
  56. <a class="ui button" href="{{AppSubUrl}}/">{{.i18n.Tr "cancel"}}</a>
  57. </div>
  58. </div>
  59. </form>
  60. </div>
  61. </div>
  62. </div>
  63. {{template "base/footer" .}}
  64. <script>
  65. $(document).ready(function(){
  66. $('.ui.multiple.search.selection.dropdown')
  67. .dropdown({
  68. allowAdditions: true,
  69. onChange: function(value, text, $selectedItem) {
  70. $('#course_label_item').empty()
  71. }
  72. })
  73. $('input.search').bind('input propertychange', function (event) {
  74. const query = $('input.search').val()
  75. if(!query){
  76. $('#course_label_item').empty()
  77. }else{
  78. $.get(`/api/v1/topics/search?q=${query}`,(data)=>{
  79. console.log(data)
  80. if(data.topics.length!==0){
  81. let html=''
  82. $('#course_label_item').empty()
  83. data.topics.forEach(element => {
  84. html += `<div class="item" data-value="${element.topic_name}">${element.topic_name}</div>`
  85. });
  86. $('#course_label_item').append(html)
  87. }
  88. })
  89. }
  90. });
  91. })
  92. </script>