mirror of
https://github.com/koalyptus/TableFilter.git
synced 2024-05-12 03:16:48 +02:00
commit
87ada9ae39
2
dist/tablefilter/tablefilter.js
vendored
2
dist/tablefilter/tablefilter.js
vendored
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* TableFilter v0.0.0 by Max Guglielmi
|
||||
* build date: 2015-07-25T08:31:07.539Z
|
||||
* build date: 2015-07-26T08:02:48.314Z
|
||||
* MIT License
|
||||
*/
|
||||
|
||||
|
|
4
dist/tablefilter/tf-1.js
vendored
4
dist/tablefilter/tf-1.js
vendored
File diff suppressed because one or more lines are too long
78
test/test-api.html
Normal file
78
test/test-api.html
Normal file
|
@ -0,0 +1,78 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>TableFilter API tests</title>
|
||||
<link rel="stylesheet" href="libs/qunit/qunit.css">
|
||||
<script src="libs/qunit/qunit.js"></script>
|
||||
<script src="libs/polyfill.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<table id="demo" cellpadding="0" cellspacing="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>From</th>
|
||||
<th>Destination</th>
|
||||
<th>Road Distance (km)</th>
|
||||
<th>By Air (hrs)</th>
|
||||
<th>By Rail (hrs)</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Sydney</strong></td>
|
||||
<td>Adelaide</td>
|
||||
<td>1412</td>
|
||||
<td>1.4</td>
|
||||
<td>25.3</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Sydney</strong></td>
|
||||
<td>Brisbane</td>
|
||||
<td>982</td>
|
||||
<td>1.5</td>
|
||||
<td>16</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Sydney</strong></td>
|
||||
<td>Canberra</td>
|
||||
<td>286</td>
|
||||
<td>.6</td>
|
||||
<td>4.3</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Sydney</strong></td>
|
||||
<td>Melbourne</td>
|
||||
<td>872</td>
|
||||
<td>1.1</td>
|
||||
<td>10.5</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Adelaide</strong></td>
|
||||
<td>Perth</td>
|
||||
<td>2781</td>
|
||||
<td>3.1</td>
|
||||
<td>38</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Adelaide</strong></td>
|
||||
<td>Alice Springs</td>
|
||||
<td>1533</td>
|
||||
<td>2</td>
|
||||
<td>20.25</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Adelaide</strong></td>
|
||||
<td>Brisbane</td>
|
||||
<td>2045</td>
|
||||
<td>2.15</td>
|
||||
<td>40</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<script src="../dist/tablefilter/tablefilter.js"></script>
|
||||
<script src="test-api.js"></script>
|
||||
|
||||
<div id="qunit"></div>
|
||||
<div id="qunit-fixture"></div>
|
||||
</body>
|
||||
</html>
|
92
test/test-api.js
Normal file
92
test/test-api.js
Normal file
|
@ -0,0 +1,92 @@
|
|||
(function(win, TableFilter) {
|
||||
|
||||
var tf = new TableFilter('demo', {
|
||||
base_path: '../dist/tablefilter/'
|
||||
});
|
||||
tf.init();
|
||||
|
||||
module('Sanity checks');
|
||||
test('TableFilter object', function() {
|
||||
deepEqual(tf.id, 'demo', 'id check');
|
||||
deepEqual(tf.getFiltersRowIndex(), 0, 'Filters row index');
|
||||
deepEqual(tf.getHeadersRowIndex(), 1, 'Headers row index');
|
||||
deepEqual(tf.getCellsNb(), 5, 'cells collection length');
|
||||
deepEqual(tf.getRowsNb(), 7, 'rows collection length');
|
||||
deepEqual(tf.getFilterableRowsNb(), 7, 'number of filterable rows');
|
||||
deepEqual(tf.getFilterId(0), 'flt0_demo', 'filter DOM element id');
|
||||
deepEqual(tf.getStartRowIndex(), 2, 'Start of filterable rows');
|
||||
deepEqual(tf.getLastRowIndex(), 8, 'Last row index');
|
||||
});
|
||||
|
||||
module('Public methods');
|
||||
test('Get filters values', function() {
|
||||
equal(tf.getFilterValue(0), '', 'Column 0 filter value');
|
||||
tf.setFilterValue(0, 'Syd');
|
||||
tf.setFilterValue(1, 'Ade');
|
||||
deepEqual(tf.getFilterValue(0), 'Syd', 'Column 0 filter value');
|
||||
deepEqual(tf.getFiltersValue(), ['syd', 'ade', '', '', '']);
|
||||
|
||||
});
|
||||
|
||||
test('Filter table', function() {
|
||||
tf.clearFilters();
|
||||
deepEqual(tf.getFilterValue(0), '',
|
||||
'Column 0 filter value after clearing filters');
|
||||
tf.setFilterValue(0, 'Syd');
|
||||
tf.filter();
|
||||
deepEqual(tf.getValidRows().length, 4, 'Filtered rows number');
|
||||
});
|
||||
|
||||
test('Clear filters', function() {
|
||||
tf.clearFilters();
|
||||
deepEqual(tf.nbVisibleRows, 7, 'Filtered rows number');
|
||||
deepEqual(tf.getFiltersValue(), ['', '', '', '', '']);
|
||||
});
|
||||
|
||||
test('Get table data', function() {
|
||||
deepEqual(tf.getColValues(0),
|
||||
[
|
||||
'sydney','sydney','sydney',
|
||||
'sydney','adelaide','adelaide','adelaide'
|
||||
],
|
||||
'Get specified column values'
|
||||
);
|
||||
deepEqual(
|
||||
tf.getTableData(),
|
||||
[
|
||||
[2, ['Sydney','Adelaide','1412','1.4','25.3']],
|
||||
[3, ['Sydney','Brisbane','982','1.5','16']],
|
||||
[4, ['Sydney','Canberra','286','.6','4.3']],
|
||||
[5, ['Sydney','Melbourne','872','1.1','10.5']],
|
||||
[6, ['Adelaide','Perth','2781','3.1','38']],
|
||||
[7, ['Adelaide','Alice Springs','1533','2','20.25']],
|
||||
[8, ['Adelaide','Brisbane','2045','2.15','40']]
|
||||
],
|
||||
'Get table data'
|
||||
);
|
||||
tf.setFilterValue(0, 'Adelaide');
|
||||
tf.filter();
|
||||
deepEqual(
|
||||
tf.getFilteredData(),
|
||||
[
|
||||
[6, ['Adelaide','Perth','2781','3.1','38']],
|
||||
[7, ['Adelaide','Alice Springs','1533','2','20.25']],
|
||||
[8, ['Adelaide','Brisbane','2045','2.15','40']]
|
||||
],
|
||||
'Get filtered table data'
|
||||
);
|
||||
deepEqual(
|
||||
tf.getFilteredDataCol(0),
|
||||
['Adelaide','Adelaide','Adelaide'],
|
||||
'Get specified column filtered values'
|
||||
);
|
||||
tf.clearFilters();
|
||||
tf.filter();
|
||||
});
|
||||
|
||||
test('Destroy', function() {
|
||||
tf.destroy();
|
||||
deepEqual(tf.hasGrid(), false, 'Filters removed');
|
||||
});
|
||||
|
||||
})(window, TableFilter);
|
Loading…
Reference in a new issue