Fuel UX 3 Repeater Demo

This is an example of a Fuel UX 3 Repeater using a static data source.

HTML

<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
<link rel="stylesheet" href="//www.fuelcdn.com/fuelux/3.4.0/css/fuelux.min.css">
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js"></script>
<script src="//www.fuelcdn.com/fuelux/3.4.0/js/fuelux.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.7.0/underscore-min.js"></script>
<script src="//www.fuelcdn.com/fuelux-utilities/1.0.0/js/fuelux-utilities.min.js"></script>
<div id="myRepeater" class="repeater" data-staticheight="true">

    <div class="repeater-header">
        <div class="repeater-header-left">
            <div class="repeater                <div class="search disabled input-group">
                    <input type="search" class="form-control" placeholder="Search" />
                    <span class="input-group-btn">
                        <button class="btn btn-default" type="button">
                            <span class="glyphicon glyphicon-search"></span>
                            <span class="sr-only">Search</span>
                        </button>
                    </span>
                </div>-search">

            </div>
        </div>
        <div class="repeater-header-right">
            <div class="btn-group selectlist disabled repeater-filters">
                <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
                    <span class="selected-label"></span>
                    <span class="caret"></span>
                    <span class="sr-only">Toggle Filters</span>
                </button>
                <ul class="dropdown-menu pull-right" role="menu">
                    <li data-value="all" data-selected="true" data-property="all"><a href="#">All Items</a></li>
                    <li class="divider"></li>
                    <li data-value="draft"...

CSS

#myRepeater {
    position: absolute;
    top: 25px;
    right: 25px;
    bottom: 25px;
    left:25px;
}

JavaScript

// Clear the console on every subsequent run.
// There are many points below where you can
// uncomment a console.log to gain better
// understanding of how this code works.
console.clear();



// Define the data to be displayed in the repeater.
function staticDataSource(options, callback) {

    // Define the columns for the grid
    var columns = [{
        'label': 'Name', // Column header label.
        'property': 'name', // The JSON property you are binding to.
        'sortable': true // Is the column sortable.
    }, {
        'label': 'Description',
        'property': 'description',
        'sortable': true
    }, {
        'label': 'Status',
        'property': 'status',
        'sortable': true
    }, {
        'label': 'Category',
        'property': 'category',
        'sortable': true
    }];

    // Generate the rows in your dataset.
    // NOTE: The property names of your items should
    // match the column properties defined above.
    function generateDummyData() {
        var items = [];
        var amountOfItems = 0; //Change this number
        var statuses = ['Archived', 'Active', 'Draft'];
        var categories = ['New', 'Old', 'Upcoming'];

        function getRandomStatus() {
            var index = Math.floor(Math.random() * statuses.length);
            return statuses[index];
        }

        function getRandomCategory() {
            var index = Math.floor(Math.random() * categories.length);
            return categories[index];
        }

        for (var i = 1; i <= amountOfItems; i++) {
            var item = {
                id: i,
                name: 'Item ' + i,
                description: 'Desc ' + i,
                status: getRandomStatus(),
                category: getRandomCategory()
            }
            items.push(item);
        };

        // Uncomment these to see in your console the
        // JSON payload produced by this function.
        //console.log(JSON.stringify(items));
       ...