Browse Source

Fix pagination in data table

Vova Tkach 5 years ago
parent
commit
890d8aa5a2
1 changed files with 22 additions and 0 deletions
  1. 22 0
      engine/builder/data_table.go

+ 22 - 0
engine/builder/data_table.go

@@ -169,7 +169,29 @@ func DataTable(
 			result += `<span class="sr-only">Previous</span>`
 			result += `</a>`
 			result += `</li>`
+
+			before := false
+			after := false
+
 			for i := 1; i <= max_pages; i++ {
+				// Before
+				if curr_page >= 5 && i > 1 && i+1 < curr_page {
+					if !before {
+						before = true
+						result += `<li class="page-item disabled"><a class="page-link" href="">...</a></li>`
+					}
+					continue
+				}
+
+				// After
+				if i-1 > curr_page && i < max_pages {
+					if !after {
+						after = true
+						result += `<li class="page-item disabled"><a class="page-link" href="">...</a></li>`
+					}
+					continue
+				}
+
 				class = ""
 				if i == curr_page {
 					class = " active"