]> git.plutz.net Git - serve0/commitdiff
quicker pagination interface
authorpaul <paul@plutz.net>
Wed, 18 May 2016 11:28:52 +0000 (11:28 +0000)
committerpaul <paul@plutz.net>
Wed, 18 May 2016 11:28:52 +0000 (11:28 +0000)
svn path=/trunk/; revision=131

static/common.css
templates/list.html.sh

index 2189498da5aa6ce0b78722f305fc9d94df89fc51..9b32b52cdccfa7759de017e8656e4b2d4b2ea57e 100644 (file)
@@ -70,13 +70,16 @@ textarea {
   text-decoration: none;
 }
 
+.pagination_nav a.previous,
+.pagination_nav a.current,
+.pagination_nav a.next { display: inline; }
 .pagination_nav a.current {
-  display: inline;
   color: #F66;
   font-weight: bold;
 }
 .pagination_nav:hover {
   position: fixed;
+  padding-top: 2.5em;
   bottom: auto;
   text-align: right;
   background-color: #333;
index 859878d7c8bb9b45be681ec2fbc690494777bf2b..0d6d65409300e88e91c8352a55adb70ea1304af5 100755 (executable)
@@ -35,11 +35,22 @@ cat <<EOF
       <label>Page:</label>
 EOF
 
+  pages="$(
   seq 1 $(pagecount) \
   | while read pn; do
     plink="$(($pn * $pagesize - $pagesize + 1))"
-    printf '<a %s href="?%spn=%s">%s</a>\n' "$([ $plink = $page ] && printf class=current)" "$page_link" "$plink" "$pn"
+    
+    case "$plink" in
+      $(($page - $pagesize))) class=previous;;
+      $page) class=current;;
+      $(($page + $pagesize))) class=next;;
+      * ) class='';;
+    esac
+
+    printf '<a class="%s" href="?%spn=%s">%s</a>\n' "$class" "$page_link" "$plink" "$pn"
   done
+  )"
+  printf %s "$pages"
       
 cat <<EOF
     </div>
@@ -63,12 +74,7 @@ cat <<EOF
 
     <div class="pagination_nav">
       <label>Page:</label>
-      $(seq 1 $(pagecount) \
-        | while read pn; do
-          plink="$(($pn * $pagesize - $pagesize + 1))"
-          printf '<a %s href="?%spn=%s">%s</a>\n' "$([ $plink = $page ] && printf class=current)" "$page_link" "$plink" "$pn"
-        done
-       )
+      ${pages}
     </div>
   </div>