diff --git a/dist/tablefilter/1-eda749d2ef2fcdb2e245.js b/dist/tablefilter/1-d577df757d4add915f61.js
similarity index 99%
rename from dist/tablefilter/1-eda749d2ef2fcdb2e245.js
rename to dist/tablefilter/1-d577df757d4add915f61.js
index 0345d5af..1035d435 100644
--- a/dist/tablefilter/1-eda749d2ef2fcdb2e245.js
+++ b/dist/tablefilter/1-d577df757d4add915f61.js
@@ -1176,7 +1176,7 @@ webpackJsonp([1],[
this.icnExpandHtml = '';
this.icnCollapseHtml = '';
- this.defaultText = 'Expand/Collapse filters';
+ this.defaultText = 'Toggle filters';
//id of container element
this.targetId = f.target_id || null;
@@ -1244,7 +1244,7 @@ webpackJsonp([1],[
span.className = this.contCssClass;
//Container element (rdiv or custom element)
- if (this.targetId) {
+ if (!this.targetId) {
tf.setToolbar();
}
var targetEl = !this.targetId ? tf.rDiv : _Dom2['default'].id(this.targetId);
@@ -1888,4 +1888,4 @@ webpackJsonp([1],[
/***/ }
]);
-//# sourceMappingURL=1-eda749d2ef2fcdb2e245.js.map
\ No newline at end of file
+//# sourceMappingURL=1-d577df757d4add915f61.js.map
\ No newline at end of file
diff --git a/dist/tablefilter/style/filtersVisibility.css b/dist/tablefilter/style/filtersVisibility.css
index 735ff399..bd4f823b 100644
--- a/dist/tablefilter/style/filtersVisibility.css
+++ b/dist/tablefilter/style/filtersVisibility.css
@@ -17,10 +17,7 @@ span.expClpFlt img{
margin:1px 1px 1px 1px;
/*background:#f4f4f4;*/
}
-span.expClpFlt img:hover{
- background:#fff;
- /*border:1px solid #666; */
-}
+span.expClpFlt img:hover{}
/* button */
.btnExpClpFlt{ margin:0 5px 0 5px; }
\ No newline at end of file
diff --git a/dist/tablefilter/tablefilter.js b/dist/tablefilter/tablefilter.js
index 11a67780..e0b77c98 100644
--- a/dist/tablefilter/tablefilter.js
+++ b/dist/tablefilter/tablefilter.js
@@ -83,7 +83,7 @@ return /******/ (function(modules) { // webpackBootstrap
/******/ script.charset = 'utf-8';
/******/ script.async = true;
/******/
-/******/ script.src = __webpack_require__.p + "" + ({}[chunkId]||chunkId) + "-" + {"1":"eda749d2ef2fcdb2e245"}[chunkId] + ".js";
+/******/ script.src = __webpack_require__.p + "" + ({}[chunkId]||chunkId) + "-" + {"1":"d577df757d4add915f61"}[chunkId] + ".js";
/******/ head.appendChild(script);
/******/ }
/******/ };
diff --git a/src/extensions/filtersVisibility/filtersVisibility.js b/src/extensions/filtersVisibility/filtersVisibility.js
index 9f8043f7..8c0d6217 100644
--- a/src/extensions/filtersVisibility/filtersVisibility.js
+++ b/src/extensions/filtersVisibility/filtersVisibility.js
@@ -30,7 +30,7 @@ export default class FiltersVisibility{
'" alt="Expand filters" >';
this.icnCollapseHtml = '';
- this.defaultText = 'Expand/Collapse filters';
+ this.defaultText = 'Toggle filters';
//id of container element
this.targetId = f.target_id || null;
@@ -100,7 +100,7 @@ export default class FiltersVisibility{
span.className = this.contCssClass;
//Container element (rdiv or custom element)
- if(this.targetId){
+ if(!this.targetId){
tf.setToolbar();
}
let targetEl = !this.targetId ? tf.rDiv : Dom.id(this.targetId);
diff --git a/test/test-filters-visibility.html b/test/test-filters-visibility.html
new file mode 100644
index 00000000..83784cb2
--- /dev/null
+++ b/test/test-filters-visibility.html
@@ -0,0 +1,80 @@
+
+
+
+
+ TableFilter filters visibility extension tests
+
+
+
+
+
+
+
+
+ From |
+ Destination |
+ Road Distance (km) |
+ By Air (hrs) |
+ By Rail (hrs) |
+
+
+
+
+ Sydney |
+ Adelaide |
+ 1412 |
+ 1.4 |
+ 25.3 |
+
+
+ Sydney |
+ Brisbane |
+ 982 |
+ 1.5 |
+ 16 |
+
+
+ Sydney |
+ Canberra |
+ 286 |
+ .6 |
+ 4.3 |
+
+
+ Sydney |
+ Melbourne |
+ 872 |
+ 1.1 |
+ 10.5 |
+
+
+ Adelaide |
+ Perth |
+ 2781 |
+ 3.1 |
+ 38 |
+
+
+ Adelaide |
+ Alice Springs |
+ 1533 |
+ 2 |
+ 20.25 |
+
+
+ Adelaide |
+ Brisbane |
+ 2045 |
+ 2.15 |
+ 40 |
+
+
+
+
+
+
+
+
+
+
+
diff --git a/test/test-filters-visibility.js b/test/test-filters-visibility.js
new file mode 100644
index 00000000..f6ed04bd
--- /dev/null
+++ b/test/test-filters-visibility.js
@@ -0,0 +1,111 @@
+(function(win, TableFilter){
+
+ var tf = new TableFilter('demo', {
+ base_path: '../dist/tablefilter/',
+ extensions:[{
+ name: 'filtersVisibility'
+ }]
+ });
+ tf.init();
+
+ var extTargetElement = document.createElement('div');
+ extTargetElement.setAttribute('id', 'test');
+ document.body.insertBefore(extTargetElement, tf.tbl);
+
+ module('Sanity checks');
+ test('Filters visibility extension', function() {
+ var ext = tf.ExtRegistry.filtersVisibility;
+ deepEqual(tf instanceof TableFilter, true, 'TableFilter instanciated');
+ notEqual(ext, null, 'Extension instanciated');
+ deepEqual(ext.initialized, true, 'Extension initialized');
+ });
+
+ module('Check UI');
+ test('UI elements', function() {
+ var ext = tf.ExtRegistry.filtersVisibility;
+ var cont = ext.contEl;
+ var btn = ext.btnEl;
+ deepEqual(cont.nodeName, 'SPAN', 'Container element');
+ deepEqual(btn.nodeName, 'A', 'Button element');
+ deepEqual(btn.title, 'Toggle filters', 'Button tooltip');
+ deepEqual(btn.firstChild.nodeName, 'IMG', 'Image element');
+ deepEqual(btn.firstChild.alt, 'Collapse filters', 'Button tooltip');
+ });
+
+ module('Check behaviours');
+ test('Toggle filters', function() {
+ var ext = tf.ExtRegistry.filtersVisibility;
+ ext.toggle();
+ var filtersRow = tf.tbl.rows[tf.getFiltersRowIndex()];
+ deepEqual(filtersRow.style.display, 'none', 'Filters hidden');
+ ext.toggle();
+ deepEqual(filtersRow.style.display, '', 'Filters displayed');
+ });
+
+ test('Remove extension', function() {
+ var ext = tf.ExtRegistry.filtersVisibility;
+ ext.destroy();
+ deepEqual(ext.contEl, null, 'Container element removed');
+ deepEqual(ext.btnEl, null, 'Button element removed');
+ deepEqual(ext.initialized, false, 'Extension not initialized');
+ });
+
+ test('Button without icon', function() {
+ tf.destroy();
+ tf = new TableFilter('demo', {
+ base_path: '../dist/tablefilter/',
+ extensions:[{
+ name: 'filtersVisibility',
+ enable_icon: false
+ }]
+ });
+ tf.init();
+ var ext = tf.ExtRegistry.filtersVisibility;
+ deepEqual(ext.contEl.nodeName, 'SPAN', 'Container element');
+ deepEqual(ext.btnEl.nodeName, 'A', 'Button element');
+ deepEqual(ext.btnEl.innerHTML, 'Toggle filters', 'Expected text');
+ });
+
+ test('Button in external Container', function() {
+ tf.destroy();
+ tf = new TableFilter('demo', {
+ base_path: '../dist/tablefilter/',
+ extensions:[{
+ name: 'filtersVisibility',
+ target_id: 'test',
+ btn_text: 'Hello'
+ }]
+ });
+ tf.init();
+
+ var ext = tf.ExtRegistry.filtersVisibility;
+ var btn = ext.btnEl;
+ deepEqual(
+ extTargetElement.firstChild.nodeName, 'SPAN', 'Container element');
+ deepEqual(btn.nodeName, 'A', 'Button element');
+ deepEqual(btn.textContent || btn.innerText, 'Hello', 'Expected text');
+ });
+
+ test('Grid layout: filters hidden at start', function() {
+ tf.destroy();
+ tf = new TableFilter('demo', {
+ base_path: '../dist/tablefilter/',
+ grid_layout: true,
+ extensions:[{
+ name: 'filtersVisibility',
+ visible_at_start: false
+ }]
+ });
+ tf.init();
+
+ var ext = tf.ExtRegistry.filtersVisibility;
+ var gridLayout = tf.Cpt.gridLayout;
+ var filtersRow = gridLayout.headTbl.rows[tf.getFiltersRowIndex()];
+ var cont = ext.contEl;
+ var btn = ext.btnEl;
+ deepEqual(filtersRow.style.display, 'none', 'Filters hidden');
+ deepEqual(cont.nodeName, 'SPAN', 'Container element');
+ deepEqual(btn.nodeName, 'A', 'Button element');
+ });
+
+})(window, TableFilter);