|
1 | 1 | 'use strict';
|
2 | 2 |
|
3 | 3 | import React from 'react';
|
4 |
| -import AbsoluteGrid from './lib/AbsoluteGrid.jsx'; |
| 4 | +import AbsoluteGrid from './index.js'; |
5 | 5 | import TestDisplay from './demo/TestDisplay.jsx';
|
| 6 | +import * as data from './demo/sampleData.js'; |
6 | 7 |
|
7 |
| -main(); |
| 8 | +demo(); |
8 | 9 |
|
9 |
| -function main() { |
| 10 | +function demo() { |
10 | 11 |
|
11 | 12 | /*
|
12 |
| - The data structure is pretty strict, we require a unique identifier (in this case key) and a sort |
| 13 | + key and sort are required, but configureable with keyProp and sortProp. |
13 | 14 | */
|
14 |
| - var sampleItems = [ |
15 |
| - {key: 1, name: 'Test', sort: 0, filtered: 0}, |
16 |
| - {key: 2, name: 'Test 1', sort: 2, filtered: 0}, |
17 |
| - {key: 3, name: 'Test 2', sort: 2, filtered: 0}, |
18 |
| - {key: 4, name: 'Test 3', sort: 3, filtered: 0}, |
19 |
| - {key: 5, name: 'Test 4', sort: 4, filtered: 0}, |
20 |
| - {key: 6, name: 'Test 5', sort: 5, filtered: 0}, |
21 |
| - {key: 7, name: 'Test 6', sort: 5, filtered: 0}, |
22 |
| - {key: 8, name: 'Test 7', sort: 6, filtered: 0}, |
23 |
| - {key: 9, name: 'Test 8', sort: 7, filtered: 0}, |
24 |
| - {key: 10, name: 'Test 9', sort: 8, filtered: 0}, |
25 |
| - {key: 11, name: 'Test 10', sort: 9, filtered: 0}, |
26 |
| - {key: 12, name: 'Test 11', sort: 10, filtered: 0} |
27 |
| - ]; |
| 15 | + var sampleItems = data.states; |
| 16 | + |
28 | 17 | var testDisplay = (<TestDisplay />);
|
29 |
| - |
30 |
| - React.render(<AbsoluteGrid items={sampleItems} />, document.getElementById('BasicDemo')); |
31 |
| - React.render(<AbsoluteGrid items={sampleItems} displayObject={testDisplay}/>, document.getElementById('DisplayObjectDemo')); |
| 18 | + //Most Basic Demo |
| 19 | + React.render(<AbsoluteGrid items={sampleItems} keyProp="abbreviation"/>, document.getElementById('BasicDemo')); |
| 20 | + |
| 21 | + //Using Custom Display |
| 22 | + React.render(<AbsoluteGrid items={sampleItems} keyProp="abbreviation" displayObject={testDisplay}/>, document.getElementById('DisplayObjectDemo')); |
| 23 | + |
| 24 | + //Using Custom Display and Filtering |
| 25 | + var onFilter = function(event){ |
| 26 | + var search = new RegExp(event.target.value, 'i'); |
| 27 | + sampleItems.forEach(function(item){ |
| 28 | + item.filtered = !item.name.match(search); |
| 29 | + }); |
| 30 | + React.render(<AbsoluteGrid items={sampleItems} displayObject={testDisplay} keyProp="abbreviation"/>, document.getElementById('FilterDemo')); |
| 31 | + }; |
| 32 | + React.render(<input onChange={onFilter} type='text'/>, document.getElementById('Filter')); |
| 33 | + React.render(<AbsoluteGrid items={sampleItems} displayObject={testDisplay} keyProp="abbreviation"/>, document.getElementById('FilterDemo')); |
| 34 | + |
32 | 35 | }
|
0 commit comments