ForgeComponents
en

Components

j-ServerListing

jComponent 20 · jcomponent@20 component Example loaded with jComponent 20

Configuration:

  • paginate {String} link to a function function(page) for pagination
  • pages {Number} max. pages in pagination (default: 3 --> half + current page + half)
  • scrolltop {Boolean} scrolls top automatically when the user changes a page
  • parent {String} jQuery selector for obtaining of height, enables fixed area with custom scrollbars
  • margin {Number} a margin for parent (default: 0)
  • marginxs {Number} optional, a top/bottom margin together for xs screen width
  • marginsm a top/bottom margin together for sm screen width
  • marginmd a top/bottom margin together for md screen width
  • marginlg a top/bottom margin together for lg screen width
  • pluralizeitems a pluralization for count of all items, form: # zero,# one,# two-four,# five and more (if empty, counter will be hidden)
  • pluralizepages a 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 than 2 (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 HTML
  • page {Number} current page number
  • pages {Number} count of pages
  • count {Number} count of items

Tangular item:

  • model contains an object from Array
  • 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.

example.html
<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>