From b8a773c46d560f9c830742449b92594b7330407a Mon Sep 17 00:00:00 2001 From: Max Guglielmi Date: Tue, 11 Aug 2015 21:28:26 +1000 Subject: [PATCH] Fixed single filter search --- demos/demo.html | 12 +-- dist/tablefilter/style/colsVisibility.css | 2 +- dist/tablefilter/style/filtersVisibility.css | 2 +- dist/tablefilter/style/tablefilter.css | 2 +- .../style/themes/default/default.css | 2 +- .../style/themes/mytheme/mytheme.css | 2 +- .../style/themes/skyblue/skyblue.css | 2 +- dist/tablefilter/tablefilter.js | 11 ++- dist/tablefilter/tf-1.js | 2 +- src/tablefilter.js | 21 ++--- static/templates/demo.html | 12 +-- test/test-single-filter.html | 79 +++++++++++++++++++ test/test-single-filter.js | 72 +++++++++++++++++ 13 files changed, 183 insertions(+), 38 deletions(-) create mode 100644 test/test-single-filter.html create mode 100644 test/test-single-filter.js diff --git a/demos/demo.html b/demos/demo.html index 5014307d..12bc92c9 100644 --- a/demos/demo.html +++ b/demos/demo.html @@ -12992,9 +12992,9 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FromDestinationRoad Distance (km)By Air (hrs)By Rail (hrs)
SydneyAdelaide14121.425.3
SydneyBrisbane9821.516
SydneyCanberra286.64.3
SydneyMelbourne8721.110.5
AdelaidePerth27813.138
AdelaideAlice Springs1533220.25
AdelaideBrisbane20452.1540
+ + + + +
+
+ + \ No newline at end of file diff --git a/test/test-single-filter.js b/test/test-single-filter.js new file mode 100644 index 00000000..27234ca8 --- /dev/null +++ b/test/test-single-filter.js @@ -0,0 +1,72 @@ +var tf = new TableFilter('demo', { + base_path: '../dist/tablefilter/', + single_filter: true +}); +tf.init(); + +module('Sanity checks'); +test('Single filter', function() { + deepEqual(tf instanceof TableFilter, true, 'TableFilter instanciated'); + deepEqual(tf.getFiltersId().length, 1, 'Number of filter'); + deepEqual(tf.getFiltersId(), ['flt0_demo'], 'Filter ID'); + deepEqual(typeof tf.getFilterElement(0), 'object', 'Filter element'); +}); + +module('Behaviour'); +test('Filter', function() { + tf.setFilterValue(0, 'Sydney'); + tf.filter(); + deepEqual(tf.getValidRows().length, 4, 'Filtered rows number'); + tf.clearFilters(); +}); + +module('External single filter'); +test('Sanity checks', function() { + tf.destroy(); + tf = null; + tf = new TableFilter('demo', { + base_path: '../dist/tablefilter/', + single_filter: true, + external_flt_grid: true, + external_flt_grid_ids: ['single-search'] + }); + tf.init(); + + deepEqual(tf instanceof TableFilter, true, 'TableFilter instanciated'); + deepEqual(tf.getFiltersId().length, 1, 'Number of filter'); + deepEqual(tf.getFiltersId(), ['flt0_demo'], 'Filter ID'); + deepEqual(typeof tf.getFilterElement(0), 'object', 'Filter element'); +}); + +module('Behaviour'); +test('Filter', function() { + tf.setFilterValue(0, 'Bris'); + tf.filter(); + deepEqual(tf.getValidRows().length, 2, 'Filtered rows number'); + tf.clearFilters(); +}); + +module('Single filter with grid layout'); +test('Sanity checks', function() { + tf.destroy(); + tf = null; + tf = new TableFilter('demo', { + base_path: '../dist/tablefilter/', + single_filter: true, + grid_layout: true + }); + tf.init(); + + deepEqual(tf instanceof TableFilter, true, 'TableFilter instanciated'); + deepEqual(tf.getFiltersId().length, 1, 'Number of filter'); + deepEqual(tf.getFiltersId(), ['flt0_demo'], 'Filter ID'); + deepEqual(typeof tf.getFilterElement(0), 'object', 'Filter element'); +}); + +module('Behaviour'); +test('Filter', function() { + tf.setFilterValue(0, 'Sydney'); + tf.filter(); + deepEqual(tf.getValidRows().length, 4, 'Filtered rows number'); + tf.clearFilters(); +});