dgrid 0.4.0 bug example

by denov

HTML

<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/dojo/1.10.0/dijit/themes/claro/claro.css">
<div>
    <div id="listcontainer" />
</div>

CSS

.foo {
    /* add custom css */
}

JavaScript

require({
    packages: [
        {
            name: 'dgrid',
            location: '//rawgit.com/SitePen/dgrid/v0.4.0'
        },
        {
            name: 'dstore',
            location: '//rawgit.com/SitePen/dstore/v1.0.1'
        },
        {
            name: 'xstyle',
            location: '//cdn.rawgit.com/kriszyp/xstyle/v0.3.1'
        },
        {
            name: 'put-selector',
            location: '//cdn.rawgit.com/kriszyp/put-selector/v0.3.6'
        }
    ]
}, 
[
 'dojo/_base/declare',
 'dojo/_base/lang',
 'dojo/dom-construct',
 'dgrid/OnDemandList',
 'dgrid/extensions/DijitRegistry',
 'dstore/Memory',
 'dojo/domReady!'
], 
function(declare, lang, domConstruct, OnDemandList, DijitRegistry, Memory) {
    var names = ["Homer", "Bart", "Lisa", "Maggie", "Marge"]
    var data = [];
    for(var i=0; i< 100; i++) data.push({ id: i, name: names[i % 5] })
    
    var store = new Memory({ data: data });
    this.contentList = new (declare([ OnDemandList, DijitRegistry ]))({
        minRowsPerPage: 10,
        maxRowsPerPage: 25,
        farOffRemoval: 1000,
        selectionMode: 'none',
        showFooter: true,
        pagingTextBox: true,
        firstLastArrows: true,
        rowsPerPage: 15,
        rowHeight: 250,
        renderRow: function(object) {
            return lang.hitch(this, function() {
                // new ContentItem({'content': object, 'selectTab': selectTab});
                var domNode = '<div>'+ object.name + '</div>'; 
                var node = domConstruct.create("div", {"style":"height:50px"});
                domConstruct.place(domNode, node);
                return node;
            })();
        }
    });    
    domConstruct.place(this.contentList.domNode, 'listcontainer');
    this.contentList.startup();
    this.contentList.set('collection', store.filter({}));

});