1
0
Fork 0
mirror of https://github.com/koalyptus/TableFilter.git synced 2024-05-24 17:42:39 +02:00
TableFilter/test/test-linked-filters.js

90 lines
2.7 KiB
JavaScript
Raw Normal View History

2015-06-10 12:53:20 +02:00
(function(win, TableFilter){
2015-10-18 10:58:08 +02:00
var id = function (id){ return document.getElementById(id); };
2015-06-10 12:53:20 +02:00
var tf = new TableFilter('demo', {
base_path: '../dist/tablefilter/',
linked_filters: true,
col_0: 'multiple',
col_1: 'checklist',
2015-10-18 10:58:08 +02:00
on_after_reset: testClearFilters
2015-06-10 12:53:20 +02:00
});
tf.init();
2015-10-18 10:58:08 +02:00
tf.setFilterValue(0, 'Sydney');
tf.getFilterElement(0).focus();
tf._filter();
2015-06-10 12:53:20 +02:00
module('Sanity checks');
test('Linked filters feature', function() {
deepEqual(tf instanceof TableFilter, true, 'TableFilter instantiated');
2015-06-10 12:53:20 +02:00
deepEqual(tf.linkedFilters, true, 'Linked filters enabled');
2015-10-18 10:58:08 +02:00
tf._clearFilters();
tf.onAfterFilter = null;
2015-06-10 12:53:20 +02:00
tf.destroy();
tf = null;
setExcludedOptions();
2015-10-18 10:58:08 +02:00
});
// function testLinked(tf) {
// test('Check filters are linked', function() {
// // var filter0 = tf.getFilterElement(0);
// deepEqual(tf.activeFilterId, 'flt1_demo_1', 'Active filter');
// // deepEqual(filter0.options.length, 2,
// // 'Linked filter expected options number'
// // );
// });
// tf._clearFilters();
// tf.onAfterFilter = null;
// tf.destroy();
// tf = null;
// setExcludedOptions();
// }
function setExcludedOptions(){
tf = new TableFilter('demo', {
base_path: '../dist/tablefilter/',
linked_filters: true,
disable_excluded_options: true,
col_0: 'multiple',
col_1: 'checklist',
2015-10-18 10:58:08 +02:00
on_after_filter: testExcludedOptions,
on_after_reset: testClearFilters
});
tf.init();
tf.setFilterValue(0, 'Sydney');
tf.getFilterElement(0).focus();
2015-10-18 10:58:08 +02:00
tf._filter();
}
function testExcludedOptions(tf){
var flt0 = tf.getFilterElement(0);
test('Check filters are linked', function() {
deepEqual(tf.activeFilterId, 'flt0_demo', 'Active filter');
deepEqual(
flt0.options[1].disabled,
true,
'Expected disabled option in master filter'
);
deepEqual(
id('flt1_'+tf.id+'_2').disabled,
true,
'Expected disabled option in slave filter'
);
});
2015-10-18 10:58:08 +02:00
tf.onAfterFilter = null;
tf.clearFilters();
}
// Tests for https://github.com/koalyptus/TableFilter/pull/42 issue
function testClearFilters() {
test('Check clear filters functionality', function() {
deepEqual(tf.getFilterableRowsNb(), 7,
'Nb of valid rows after filters are cleared');
});
2015-06-10 12:53:20 +02:00
}
})(window, TableFilter);