j-ServerListing
Configuration:
paginate {String}link to a functionfunction(page)for paginationpages {Number}max. pages in pagination (default:3--> half + current page + half)scrolltop {Boolean}scrolls top automatically when the user changes a pageparent {String}jQuery selector for obtaining of height, enables fixed area with custom scrollbarsmargin {Number}a margin forparent(default:0)marginxs {Number}optional, a top/bottom margin together forxsscreen widthmarginsma top/bottom margin together forsmscreen widthmarginmda top/bottom margin together formdscreen widthmarginlga top/bottom margin together forlgscreen widthpluralizeitemsa pluralization for count of all items, form:# zero,# one,# two-four,# five and more(if empty, counter will be hidden)pluralizepagesa pluralization for count of all items, form:# zero,# one,# two-four,# five and more(if empty, counter will be hidden)modulo {Number}can append empty items with{ EMPTY: 1 }object (default:0)nopages {Boolean}can hide pagination if the pages are less than2(default:false)
Model:
The model must be in the format below:
{
page: Number,
count: Number,
pages: Number,
items: [{...}, {...}]
}Tangular layout:
body{String} contains all rendered items, output is HTMLpage{Number} current page numberpages{Number} count of pagescount{Number} count of items
Tangular item:
modelcontains an object fromArray- second model
$contains info about data-source{ index: Number, page: Number, pages: Number, count: Number, value: YOUR_DATA }
Use it with <ui-component name="serverlisting">. When the component is not loaded yet, jComponent downloads it on first use from the address in DEF.fallback (the Componentator CDN by default). Author: Peter Širka. Source: the Componentator components repository, MIT license.
<div class="row">
<div class="col-sm-6">
<h2>With layout</h2>
<ui-component name="serverlisting" path="model" config="paginate:gotopage">
<script type="text/html">
<div class="col-xs-4">
<div>Item: {{ name }}</div>
</div>
</script>
<script type="text/html">
<div><b>Layout:</b></div>
<br />
<div class="row">{{ body | raw }}</div>
</script>
</ui-component>
<br />
</div>
<div class="col-sm-6">
<h2>Without layout</h2>
<ui-component name="serverlisting" path="model" config="paginate:gotopage">
<script type="text/html">
<div>
<div>Item: {{ name }}</div>
</div>
</script>
</ui-component>
<br />
</div>
</div>
<script>
var model = {};
model.page = 1;
model.pages = 3;
model.count = 10;
model.items = [];
for (var i = 0; i < 10; i++)
model.items.push({ name: GUID(10) });
function gotopage(page) {
alert('GO TO PAGE:' + page);
}
</script>