MDL-69252 templates: Invalid HTML
authorLeon Stringer <leon.stringer@ntlworld.com>
Sat, 11 Jul 2020 11:51:02 +0000 (12:51 +0100)
committerLeon Stringer <leon.stringer@ntlworld.com>
Sat, 11 Jul 2020 11:51:02 +0000 (12:51 +0100)
Invalid HTML generated when the page count exceeded the maximum number
of page links to display: <span>...</a>.  Also added example context.

lib/templates/paging_bar.mustache

index 56a793c..be66847 100644 (file)
@@ -1,3 +1,54 @@
+{{!
+    This file is part of Moodle - http://moodle.org/
+
+    Moodle is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    Moodle is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
+}}
+{{!
+    @template core/paging_bar
+
+    This template renders the horizontal bar with page links, e.g.
+        | « | 1 | 2 | 3 | » |
+
+    Example context (json):
+    {
+        "previous": null,
+        "next": {
+            "page": 2,
+            "url": "./page.php?p=1"
+        },
+        "first": null,
+        "last": {
+            "page": 100,
+            "url": "./page.php?p=99"
+        },
+        "label": "Page",
+        "pages": [
+            {
+                "page": 1,
+                "active": true,
+                "url": null
+            },
+            {
+                "page": 2,
+                "active": false,
+                "url": "./page.php?p=1"
+            }
+        ],
+        "haspages": true,
+        "pagesize": 10
+    }
+}}
 {{#haspages}}
     <nav aria-label="{{label}}" class="pagination pagination-centered justify-content-center">
         <ul class="mt-1 pagination " data-page-size="{{pagesize}}">
@@ -14,7 +65,7 @@
                     <a href="{{url}}" class="page-link">{{page}}</a>
                 </li>
                 <li class="page-item disabled" data-page-number="{{page}}">
-                    <span class="page-link">&hellip;</a>
+                    <span class="page-link">&hellip;</span>
                 </li>
             {{/first}}
             {{#pages}}
@@ -29,7 +80,7 @@
             {{/pages}}
             {{#last}}
                 <li class="page-item disabled" data-page-number="{{page}}">
-                    <span class="page-link">&hellip;</a>
+                    <span class="page-link">&hellip;</span>
                 </li>
                 <li class="page-item" data-page-number="{{page}}">
                     <a href="{{url}}" class="page-link">{{page}}</a>