Inhaltsverzeichnis
keine Gliederung
/** * Search Paging Control * * @param uri $uri - base uri (default: page.uri) * @param map $params - query params to preserve * @param num $showing - number of visible results * @param bool $next - are there more results? * @param num $perPage - number of results shown per page (default: 10) * @param str $key - query param to use for paging (default: "page") * @param num $page - current page being viewed (default: __request.args[$key]) * @param str $showingKey - custom resource key to use for "showing results" */ var uri = $uri ?? page.uri; var params = $params; // required! var showing = $showing; // required! var nextPage = $next ?? false; var perPage = $perPage ?? 10; var pageKey = $key ?? "page"; var currentPage = $page ?? __request.args[pageKey]; var localizeShowing = $showingKey ?? "MindTouch.Reports.paging.results"; // compute paging if (!currentPage || currentPage < 1) { let currentPage = 1; } var setStart = (currentPage - 1) * perPage; var setEnd = setStart + showing; <form class="mt-search-paging" method="get" action=(uri)> foreach (var paramName:paramValue in params where paramName != pageKey) { <input type="hidden" name=(paramName) value=(paramValue) /> } <div class="summary"> if (showing < 1) { wiki.localize("MindTouch.Reports.paging.noresults"); } else { wiki.localize(localizeShowing, [ (setStart+1), setEnd ]); } </div> <div class="paging"> if (currentPage > 1) { <span class="prev"> <a href=( uri & (params .. {(pageKey): (currentPage - 1)}) )> wiki.localize("MindTouch.Reports.paging.prev"); </a> </span> } else { <span class="prev ui-state-disabled">wiki.localize("MindTouch.Reports.paging.prev")</span> } <span class="jump">wiki.localize("MindTouch.Reports.paging.jump")</span> <input class="jump" type="text" name=(pageKey) value=(currentPage) size="2" /> if (nextPage) { <span class="next"> <a href=( uri & (params .. {(pageKey): (currentPage + 1)}) )> wiki.localize("MindTouch.Reports.paging.next"); </a> </span> } else { <span class="next ui-state-disabled">wiki.localize("MindTouch.Reports.paging.next")</span> } </div> </form>
Kommentare