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:\">&laquo;</a>\n        </li>")
    16  
    17  	} else {
    18  
    19  		_buffer.WriteString("<li>\n            <a href=\"")
    20  		_buffer.WriteString(gorazor.HTMLEscape(kmgPage.GetBeforePageUrl()))
    21  		_buffer.WriteString("\">&laquo;</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:\">&raquo;</a>\n        </li>")
    52  
    53  	} else {
    54  
    55  		_buffer.WriteString("<li>\n            <a href=\"")
    56  		_buffer.WriteString(gorazor.HTMLEscape(kmgPage.GetAfterPageUrl()))
    57  		_buffer.WriteString("\">&raquo;</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  }