github.com/keysonzzz/kmg@v0.0.0-20151121023212-05317bfd7d39/kmgPage/tplPager.go (about) 1 package kmgPage 2 3 import ( 4 "bytes" 5 "net/url" 6 7 "github.com/sipin/gorazor/gorazor" 8 ) 9 10 func tplPager(kmgPage *KmgPage) string { 11 var _buffer bytes.Buffer 12 _buffer.WriteString("\n<ul class=\"pagination\">\n ") 13 if !kmgPage.IsBeforePageActive() { 14 15 _buffer.WriteString("<li class=\"disabled\" >\n <a href=\"javascript:\">«</a>\n </li>") 16 17 } else { 18 19 _buffer.WriteString("<li>\n <a href=\"") 20 _buffer.WriteString(gorazor.HTMLEscape(kmgPage.GetBeforePageUrl())) 21 _buffer.WriteString("\">«</a>\n </li>") 22 23 } 24 _buffer.WriteString("\n ") 25 for _, opt := range kmgPage.GetShowPageArray() { 26 27 _buffer.WriteString("<li class=\"") 28 if opt.IsCurrent { 29 30 _buffer.WriteString("active") 31 32 } 33 _buffer.WriteString("\">\n <a href=\"") 34 if opt.IsCurrent { 35 36 _buffer.WriteString("javascript:") 37 38 } else { 39 40 _buffer.WriteString(gorazor.HTMLEscape(opt.Url)) 41 42 } 43 _buffer.WriteString("\">") 44 _buffer.WriteString(gorazor.HTMLEscape(opt.PageNum)) 45 _buffer.WriteString("\n <span class=\"sr-only\">(current)</span></a>\n </li>") 46 47 } 48 _buffer.WriteString("\n ") 49 if !kmgPage.IsAfterPageActive() { 50 51 _buffer.WriteString("<li class=\"disabled\" >\n <a href=\"javascript:\">»</a>\n </li>") 52 53 } else { 54 55 _buffer.WriteString("<li>\n <a href=\"") 56 _buffer.WriteString(gorazor.HTMLEscape(kmgPage.GetAfterPageUrl())) 57 _buffer.WriteString("\">»</a>\n </li>") 58 59 } 60 _buffer.WriteString("\n <li>\n <form action=\"") 61 _buffer.WriteString(gorazor.HTMLEscape(kmgPage.BaseUrl)) 62 _buffer.WriteString("\" method=\"GET\" style=\"position: relative;margin-left:10px;float:left;\">\n ") 63 u, _ := url.ParseRequestURI(kmgPage.BaseUrl) 64 65 _buffer.WriteString("\n ") 66 for key, valueList := range u.Query() { 67 if key == kmgPage.PageKeyName { 68 continue 69 } 70 71 _buffer.WriteString("<input type=\"hidden\" name=\"") 72 _buffer.WriteString(gorazor.HTMLEscape(key)) 73 _buffer.WriteString("\" value=\"") 74 _buffer.WriteString(gorazor.HTMLEscape(valueList[0])) 75 _buffer.WriteString("\"/>") 76 77 } 78 _buffer.WriteString("\n <input type=\"text\" class=\"form-control\"\n style=\"width:30px;height: 29px;padding: 2px 2px;display:inline;text-align:center;position: relative;top:1px;\"\n name=\"") 79 _buffer.WriteString(gorazor.HTMLEscape(kmgPage.PageKeyName)) 80 _buffer.WriteString("\" value=\"") 81 _buffer.WriteString(gorazor.HTMLEscape(kmgPage.CurrentPage)) 82 _buffer.WriteString("\"/>\n <input type=\"submit\" class=\"btn btn-primary\" style=\"padding: 5px 12px\" value=\"跳转至该页\"/>\n </form>\n </li>\n</ul>") 83 84 return _buffer.String() 85 }