2015-05-24 11:16:09 +02:00
|
|
|
(function(win, TableFilter){
|
|
|
|
var tf = new TableFilter('demo', {
|
|
|
|
base_path: '../dist/tablefilter/',
|
|
|
|
rows_always_visible: [4, 9]
|
|
|
|
});
|
|
|
|
tf.init();
|
|
|
|
|
|
|
|
module('Sanity checks');
|
|
|
|
test('Always visible rows', function() {
|
|
|
|
deepEqual(tf instanceof TableFilter, true, 'TableFilter type');
|
|
|
|
deepEqual(tf.hasVisibleRows, true, 'Contains always visible rows');
|
|
|
|
});
|
|
|
|
|
|
|
|
module('Behaviour');
|
|
|
|
test('for filtered table', function() {
|
2015-12-28 07:53:03 +01:00
|
|
|
tf.setFilterValue(0, 'Hello');
|
|
|
|
tf.filter();
|
2015-05-24 11:16:09 +02:00
|
|
|
var alwaysVisibleRow1 = tf.tbl.rows[4];
|
|
|
|
var alwaysVisibleRow2 = tf.tbl.rows[9];
|
|
|
|
deepEqual(
|
|
|
|
tf.getRowDisplay(alwaysVisibleRow1),
|
|
|
|
'',
|
|
|
|
'Row display for alwaysVisibleRow1'
|
|
|
|
);
|
|
|
|
deepEqual(
|
|
|
|
tf.getRowDisplay(alwaysVisibleRow2),
|
|
|
|
'',
|
|
|
|
'Row display for alwaysVisibleRow2'
|
|
|
|
);
|
|
|
|
});
|
|
|
|
|
|
|
|
test('after filters are cleared', function() {
|
2015-12-28 07:53:03 +01:00
|
|
|
tf.clearFilters();
|
2015-05-24 11:16:09 +02:00
|
|
|
var alwaysVisibleRow1 = tf.tbl.rows[4];
|
|
|
|
var alwaysVisibleRow2 = tf.tbl.rows[9];
|
|
|
|
deepEqual(
|
|
|
|
tf.getRowDisplay(alwaysVisibleRow1),
|
|
|
|
'',
|
|
|
|
'Row display for alwaysVisibleRow1'
|
|
|
|
);
|
|
|
|
deepEqual(
|
|
|
|
tf.getRowDisplay(alwaysVisibleRow2),
|
|
|
|
'',
|
|
|
|
'Row display for alwaysVisibleRow2'
|
|
|
|
);
|
|
|
|
|
2015-12-28 07:53:03 +01:00
|
|
|
testPaging();
|
2015-08-01 09:45:29 +02:00
|
|
|
});
|
|
|
|
|
2015-12-28 07:53:03 +01:00
|
|
|
function testPaging(){
|
|
|
|
tf.destroy();
|
|
|
|
tf = new TableFilter('demo', {
|
|
|
|
base_path: '../dist/tablefilter/',
|
|
|
|
rows_always_visible: [4, 9],
|
|
|
|
paging: true,
|
|
|
|
paging_length: 2
|
|
|
|
});
|
|
|
|
tf.init();
|
|
|
|
var paging = tf.feature('paging');
|
2015-08-01 09:45:29 +02:00
|
|
|
|
2015-12-28 07:53:03 +01:00
|
|
|
module('Behaviour with paging');
|
|
|
|
test('for filtered table', function() {
|
|
|
|
tf.setFilterValue(0, 'Hello');
|
|
|
|
tf.filter();
|
|
|
|
var alwaysVisibleRow1 = tf.tbl.rows[4];
|
|
|
|
var alwaysVisibleRow2 = tf.tbl.rows[9];
|
|
|
|
deepEqual(
|
|
|
|
tf.getRowDisplay(alwaysVisibleRow1),
|
|
|
|
'',
|
|
|
|
'Row display for alwaysVisibleRow1'
|
|
|
|
);
|
|
|
|
deepEqual(
|
|
|
|
tf.getRowDisplay(alwaysVisibleRow2),
|
|
|
|
'',
|
|
|
|
'Row display for alwaysVisibleRow2'
|
|
|
|
);
|
|
|
|
});
|
2015-08-01 09:45:29 +02:00
|
|
|
|
2015-12-28 07:53:03 +01:00
|
|
|
test('after filters are cleared', function() {
|
|
|
|
tf.clearFilters();
|
|
|
|
var alwaysVisibleRow1 = tf.tbl.rows[4];
|
|
|
|
var alwaysVisibleRow2 = tf.tbl.rows[9];
|
|
|
|
deepEqual(
|
|
|
|
tf.getRowDisplay(alwaysVisibleRow1),
|
|
|
|
'none',
|
|
|
|
'Row display for alwaysVisibleRow1'
|
|
|
|
);
|
|
|
|
deepEqual(
|
|
|
|
tf.getRowDisplay(alwaysVisibleRow2),
|
|
|
|
'none',
|
|
|
|
'Row display for alwaysVisibleRow2'
|
|
|
|
);
|
|
|
|
});
|
2015-08-01 09:45:29 +02:00
|
|
|
|
2015-12-28 07:53:03 +01:00
|
|
|
|
|
|
|
test('after changing pagination page', function() {
|
|
|
|
paging.setPage(2);
|
|
|
|
var alwaysVisibleRow1 = tf.tbl.rows[4];
|
|
|
|
var alwaysVisibleRow2 = tf.tbl.rows[9];
|
|
|
|
deepEqual(
|
|
|
|
tf.getRowDisplay(alwaysVisibleRow1),
|
|
|
|
'',
|
|
|
|
'Row display for alwaysVisibleRow1'
|
|
|
|
);
|
|
|
|
deepEqual(
|
|
|
|
tf.getRowDisplay(alwaysVisibleRow2),
|
|
|
|
'none',
|
|
|
|
'Row display for alwaysVisibleRow2'
|
|
|
|
);
|
|
|
|
|
|
|
|
tf.destroy();
|
|
|
|
});
|
|
|
|
}
|
2015-08-01 09:45:29 +02:00
|
|
|
|
2015-05-24 11:16:09 +02:00
|
|
|
})(window, TableFilter);
|