Переглянути джерело

assignee ui in issue view

FuXiaoHei 11 роки тому
батько
коміт
a03f380fa8
2 змінених файлів з 80 додано та 62 видалено
  1. 15 5
      public/css/gogs.css
  2. 65 57
      templates/issue/view.tmpl

+ 15 - 5
public/css/gogs.css

@@ -1434,35 +1434,45 @@ html, body {
     margin-bottom: 8px;
 }
 
-#issue .milestone-item .label{
+#issue .milestone-item .label {
     margin-top: 8px;
     float: left;
     padding: .5em;
     margin-left: .8em;
 }
 
-#issue .assignee,#issue .assignee ul{
+#issue .assignee.dropdown-menu, #issue .assignee ul {
     padding: 0;
     margin: 0;
     min-width: 300px;
 }
 
-#issue .assignee li{
+#issue .assignee li {
     padding: 4px 12px;
     line-height: 30px;
 }
 
-#issue .assignee li:hover{
+#issue .assignee li:hover {
     background-color: #e8f0ff;
     cursor: pointer;
 }
 
-#issue .assignee li img{
+#issue .assignee li img, #issue .issue-bar .assignee img {
     width: 28px;
     height: 28px;
     margin-right: 12px;
 }
 
+#issue .issue-bar > div {
+    padding-bottom: 8px;
+    margin-bottom: 8px;
+    border-bottom: 1px solid #CCC;
+}
+
+#issue .issue-bar .assignee {
+    line-height: 30px;
+}
+
 /* wrapper and footer */
 
 #wrapper {

+ 65 - 57
templates/issue/view.tmpl

@@ -5,64 +5,65 @@
 <div id="body" class="container">
     <div id="issue">
         <div id="issue-{{.Issue.Id}}" class="issue-whole issue-is-opening">
-            <div class="issue-head clearfix">
-                <div class="number pull-right">#{{.Issue.Index}}</div>
-                <a class="author pull-left" href="/user/{{.Issue.Poster.Name}}"><img class="avatar" src="{{.Issue.Poster.AvatarLink}}" alt="" width="30"/></a>
-                <h1 class="title pull-left">{{.Issue.Name}}</h1>
-                <input id="issue-edit-title" class="form-control input-lg pull-left hidden" type="text" value="{{.Issue.Name}}" data-ajax-rel="issue-edit-save" data-ajax-val="val" data-ajax-field="title"/>
-                <input type="hidden" value="{{.Issue.Id}}" data-ajax-rel="issue-edit-save" data-ajax-val="val" data-ajax-field="issue_id"/>
-                <p class="info pull-left">
-                    {{if .IsIssueOwner}}<a class="btn btn-default pull-right issue-edit" href="#" id="issue-edit-btn">Edit</a>
-                    <a class="btn btn-danger pull-right issue-edit-cancel hidden" href="#">Cancel</a>
-                    <a class="btn btn-primary pull-right issue-edit-save hidden" href="#" data-ajax="{{.RepoLink}}/issues/{{.Issue.Index}}" data-ajax-name="issue-edit-save" data-ajax-method="post">Save</a>{{end}}
-                    <span class="status label label-{{if .Issue.IsClosed}}danger{{else}}success{{end}}">{{if .Issue.IsClosed}}Closed{{else}}Open{{end}}</span>
-                    <a href="/user/{{.Issue.Poster.Name}}" class="author"><strong>{{.Issue.Poster.Name}}</strong></a> opened this issue
-                    <span class="time">{{TimeSince .Issue.Created}}</span> · {{.Issue.NumComments}} comments
-                </p>
-            </div>
-            <div class="issue-main">
-               <div class="panel panel-default issue-content">
-                   <div class="panel-body markdown">
-                       <div class="content">
-                           {{str2html .Issue.RenderedContent}}
-                       </div>
-                       <textarea class="form-control hidden" name="content" id="issue-edit-content" rows="10" data-ajax-rel="issue-edit-save" data-ajax-val="val" data-ajax-field="content">{{.Issue.Content}}</textarea>
-                   </div>
-               </div>
-               {{range .Comments}}
-                {{if eq .Type 0}}
-                 <div class="issue-child" id="issue-comment-{{.Id}}">
-                     <a class="user pull-left" href="/user/{{.Poster.Name}}"><img class="avatar" src="{{.Poster.AvatarLink}}" alt=""/></a>
-                     <div class="issue-content panel panel-default">
-                         <div class="panel-heading">
-                             <a href="/user/{{.Poster.Name}}" class="user">{{.Poster.Name}}</a> commented <span class="time">{{TimeSince .Created}}</span>
-                             <!-- <a class="issue-comment-del pull-right issue-action" href="#" title="Edit Comment"><i class="fa fa-times-circle"></i></a>
-                             <a class="issue-comment-edit pull-right issue-action" href="#" title="Remove Comment" data-url="{remove-link}"><i class="fa fa-edit"></i></a> -->
-                             <span class="role label label-default pull-right">Owner</span>
-                         </div>
-                         <div class="panel-body markdown">
-                            {{str2html .Content}}
-                         </div>
-                     </div>
-                  </div>
-                  {{else if eq .Type 1}}
-                  <div class="issue-child issue-opened">
-                      <a class="user pull-left" href="/user/{{.Poster.Name}}"><img class="avatar" src="{{.Poster.AvatarLink}}" alt="" /></a>
-                      <div class="issue-content">
-                          <a class="user pull-left" href="/user/{{.Poster.Name}}">{{.Poster.Name}}</a> <span class="label label-success">Reopened</span> this issue <span class="time">{{TimeSince .Created}}</span>
-                      </div>
-                  </div>
-                  {{else if eq .Type 2}}
-                  <div class="issue-child issue-closed">
-                    <a class="user pull-left" href="/user/{{.Poster.Name}}"><img class="avatar" src="{{.Poster.AvatarLink}}" alt=""/></a>
-                    <div class="issue-content">
-                        <a class="user pull-left" href="/user/{{.Poster.Name}}">{{.Poster.Name}}</a> <span class="label label-danger">Closed</span> this issue <span class="time">{{TimeSince .Created}}</span>
+            <div class="issue-wrap col-md-10">
+                <div class="issue-head clearfix">
+                    <div class="number pull-right">#{{.Issue.Index}}</div>
+                    <a class="author pull-left" href="/user/{{.Issue.Poster.Name}}"><img class="avatar" src="{{.Issue.Poster.AvatarLink}}" alt="" width="30"/></a>
+                    <h1 class="title pull-left">{{.Issue.Name}}</h1>
+                    <input id="issue-edit-title" class="form-control input-lg pull-left hidden" type="text" value="{{.Issue.Name}}" data-ajax-rel="issue-edit-save" data-ajax-val="val" data-ajax-field="title"/>
+                    <input type="hidden" value="{{.Issue.Id}}" data-ajax-rel="issue-edit-save" data-ajax-val="val" data-ajax-field="issue_id"/>
+                    <p class="info pull-left">
+                        {{if .IsIssueOwner}}<a class="btn btn-default pull-right issue-edit" href="#" id="issue-edit-btn">Edit</a>
+                        <a class="btn btn-danger pull-right issue-edit-cancel hidden" href="#">Cancel</a>
+                        <a class="btn btn-primary pull-right issue-edit-save hidden" href="#" data-ajax="{{.RepoLink}}/issues/{{.Issue.Index}}" data-ajax-name="issue-edit-save" data-ajax-method="post">Save</a>{{end}}
+                        <span class="status label label-{{if .Issue.IsClosed}}danger{{else}}success{{end}}">{{if .Issue.IsClosed}}Closed{{else}}Open{{end}}</span>
+                        <a href="/user/{{.Issue.Poster.Name}}" class="author"><strong>{{.Issue.Poster.Name}}</strong></a> opened this issue
+                        <span class="time">{{TimeSince .Issue.Created}}</span> · {{.Issue.NumComments}} comments
+                    </p>
+                </div>
+                <div class="issue-main">
+                    <div class="panel panel-default issue-content">
+                        <div class="panel-body markdown">
+                            <div class="content">
+                                {{str2html .Issue.RenderedContent}}
+                            </div>
+                            <textarea class="form-control hidden" name="content" id="issue-edit-content" rows="10" data-ajax-rel="issue-edit-save" data-ajax-val="val" data-ajax-field="content">{{.Issue.Content}}</textarea>
+                        </div>
+                    </div>
+                    {{range .Comments}}
+                    {{if eq .Type 0}}
+                    <div class="issue-child" id="issue-comment-{{.Id}}">
+                        <a class="user pull-left" href="/user/{{.Poster.Name}}"><img class="avatar" src="{{.Poster.AvatarLink}}" alt=""/></a>
+                        <div class="issue-content panel panel-default">
+                            <div class="panel-heading">
+                                <a href="/user/{{.Poster.Name}}" class="user">{{.Poster.Name}}</a> commented <span class="time">{{TimeSince .Created}}</span>
+                                <!-- <a class="issue-comment-del pull-right issue-action" href="#" title="Edit Comment"><i class="fa fa-times-circle"></i></a>
+                                <a class="issue-comment-edit pull-right issue-action" href="#" title="Remove Comment" data-url="{remove-link}"><i class="fa fa-edit"></i></a> -->
+                                <span class="role label label-default pull-right">Owner</span>
+                            </div>
+                            <div class="panel-body markdown">
+                                {{str2html .Content}}
+                            </div>
+                        </div>
+                    </div>
+                    {{else if eq .Type 1}}
+                    <div class="issue-child issue-opened">
+                        <a class="user pull-left" href="/user/{{.Poster.Name}}"><img class="avatar" src="{{.Poster.AvatarLink}}" alt="" /></a>
+                        <div class="issue-content">
+                            <a class="user pull-left" href="/user/{{.Poster.Name}}">{{.Poster.Name}}</a> <span class="label label-success">Reopened</span> this issue <span class="time">{{TimeSince .Created}}</span>
+                        </div>
                     </div>
-                  </div>
-                  {{end}}
-                {{end}}
-                <hr class="issue-line"/>
-                {{if .SignedUser}}<div class="issue-child issue-reply">
+                    {{else if eq .Type 2}}
+                    <div class="issue-child issue-closed">
+                        <a class="user pull-left" href="/user/{{.Poster.Name}}"><img class="avatar" src="{{.Poster.AvatarLink}}" alt=""/></a>
+                        <div class="issue-content">
+                            <a class="user pull-left" href="/user/{{.Poster.Name}}">{{.Poster.Name}}</a> <span class="label label-danger">Closed</span> this issue <span class="time">{{TimeSince .Created}}</span>
+                        </div>
+                    </div>
+                    {{end}}
+                    {{end}}
+                    <hr class="issue-line"/>
+                    {{if .SignedUser}}<div class="issue-child issue-reply">
                     <a class="user pull-left" href="/user/{{.SignedUser.Name}}"><img class="avatar" src="{{.SignedUser.AvatarLink}}" alt=""/></a>
                     <form class="panel panel-default issue-content" action="{{.RepoLink}}/comment/new" method="post">
                         {{.CsrfTokenHtml}}
@@ -95,6 +96,13 @@
                         </div>
                     </form>
                 </div>{{else}}<div class="alert alert-warning"><a class="btn btn-success btn-lg" href="/user/sign_up">Sign up for free</a> to join this conversation. Already have an account? <a href="/user/login">Sign in to comment</a></div>{{end}}
+                </div>
+            </div>
+            <div class="issue-bar col-md-2">
+                <div class="assignee">
+                    <h4>Assignee</h4>
+                    <p><img src="//1.gravatar.com/avatar/f72f7454ce9d710baa506394f68f4132"><strong>fuxiaohei</strong></p>
+                </div>
             </div><!--
             <div class="col-md-3">
                 label assignment milestone dashboard