1
0
Fork 0
mirror of https://github.com/koalyptus/TableFilter.git synced 2024-05-11 19:06:50 +02:00

address #714: clear_filter_text

This commit is contained in:
koalyptus 2019-05-24 17:03:09 +10:00
parent 32b541239e
commit c707978e19
10 changed files with 105 additions and 8 deletions

View file

@ -14,7 +14,7 @@
"keyword-spacing": ["error", { "after": true, "before": true }], "keyword-spacing": ["error", { "after": true, "before": true }],
"max-depth": [2, 7], "max-depth": [2, 7],
"max-statements": [2, 133], "max-statements": [2, 133],
"complexity": [2, 41], "complexity": [2, 42],
"no-unused-vars": 2, "no-unused-vars": 2,
"no-eval": 2, "no-eval": 2,
"no-underscore-dangle": 0, "no-underscore-dangle": 0,

4
dist/starter.html vendored
View file

@ -1,10 +1,10 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en">
<head> <head>
<title>tablefilter v0.6.91 - Starter</title> <title>tablefilter v0.6.92 - Starter</title>
</head> </head>
<body> <body>
<h1>tablefilter v0.6.91</h1> <h1>tablefilter v0.6.92</h1>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

2
package-lock.json generated
View file

@ -1,6 +1,6 @@
{ {
"name": "tablefilter", "name": "tablefilter",
"version": "0.6.91", "version": "0.6.92",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {

View file

@ -1,6 +1,6 @@
{ {
"name": "tablefilter", "name": "tablefilter",
"version": "0.6.91", "version": "0.6.92",
"description": "A Javascript library making HTML tables filterable and a bit more", "description": "A Javascript library making HTML tables filterable and a bit more",
"license": "MIT", "license": "MIT",
"author": { "author": {

View file

@ -493,7 +493,9 @@ export class TableFilter {
* Text for clear option in drop-down filter types (1st option) * Text for clear option in drop-down filter types (1st option)
* @type {String|Array} * @type {String|Array}
*/ */
this.clearFilterText = defaultsStr(f.clear_filter_text, 'Clear'); this.clearFilterText = isArray(f.clear_filter_text)
? f.clear_filter_text
: defaultsStr(f.clear_filter_text, 'Clear');
/** /**
* Indicate whether empty option is enabled in drop-down filter types * Indicate whether empty option is enabled in drop-down filter types

View file

@ -182,6 +182,55 @@ test('Can select empty and non-empty options', function() {
'Filter 3 options values attribute'); 'Filter 3 options values attribute');
}); });
// issue 714, clear filter text
module('Clear filter text');
test('Can define clear filter text for each column', function() {
tf.clearFilters();
tf.destroy();
tf = new TableFilter('demo', {
base_path: '../dist/tablefilter/',
col_2: 'checklist',
col_3: 'checklist',
col_4: 'checklist',
clear_filter_text: [null, null, 'clear 2', 'clear 3', 'clear 4']
});
tf.init();
var flt2 = tf.getFilterElement(2).getElementsByTagName('li');
var flt3 = tf.getFilterElement(3).getElementsByTagName('li');
var flt4 = tf.getFilterElement(4).getElementsByTagName('li');
deepEqual(flt2[0].getElementsByTagName('label')[0].innerText,
'clear 2', 'clear text filter 2');
deepEqual(flt3[0].getElementsByTagName('label')[0].innerText,
'clear 3', 'clear text filter 3');
deepEqual(flt4[0].getElementsByTagName('label')[0].innerText,
'clear 4', 'clear text filter 4');
});
test('Can define clear filter text globally', function() {
tf.clearFilters();
tf.destroy();
tf = new TableFilter('demo', {
base_path: '../dist/tablefilter/',
col_2: 'checklist',
col_3: 'checklist',
col_4: 'checklist',
clear_filter_text: 'reset'
});
tf.init();
var flt2 = tf.getFilterElement(2).getElementsByTagName('li');
var flt3 = tf.getFilterElement(3).getElementsByTagName('li');
var flt4 = tf.getFilterElement(4).getElementsByTagName('li');
deepEqual(flt2[0].getElementsByTagName('label')[0].innerText,
'reset', 'clear text filter 2');
deepEqual(flt3[0].getElementsByTagName('label')[0].innerText,
'reset', 'clear text filter 3');
deepEqual(flt4[0].getElementsByTagName('label')[0].innerText,
'reset', 'clear text filter 4');
});
module('Tear down'); module('Tear down');
test('TableFilter removed', function() { test('TableFilter removed', function() {
tf.destroy(); tf.destroy();

View file

@ -183,6 +183,51 @@ test('Can sort numeric options in asc and desc manner', function() {
deepEqual(flt4.options[7].value, '4.3', 'Last option value for column 4'); deepEqual(flt4.options[7].value, '4.3', 'Last option value for column 4');
}); });
// issue 714, clear filter text
module('Clear filter text');
test('Can define clear filter text for each column', function() {
tf.clearFilters();
tf.destroy();
tf = new TableFilter('demo', {
base_path: '../dist/tablefilter/',
col_2: 'multiple',
col_3: 'select',
col_4: 'multiple',
clear_filter_text: [null, null, 'clear 2', 'clear 3', 'clear 4']
});
tf.init();
var flt2 = tf.getFilterElement(2);
var flt3 = tf.getFilterElement(3);
var flt4 = tf.getFilterElement(4);
deepEqual(flt2.options[0].innerHTML, 'clear 2', 'clear text filter 2');
deepEqual(flt3.options[0].innerHTML, 'clear 3', 'clear text filter 3');
deepEqual(flt4.options[0].innerHTML, 'clear 4', 'clear text filter 4');
});
test('Can define clear filter text globally', function() {
tf.clearFilters();
tf.destroy();
tf = new TableFilter('demo', {
base_path: '../dist/tablefilter/',
col_2: 'multiple',
col_3: 'select',
col_4: 'multiple',
clear_filter_text: 'reset'
});
tf.init();
var flt2 = tf.getFilterElement(2);
var flt3 = tf.getFilterElement(3);
var flt4 = tf.getFilterElement(4);
deepEqual(flt2.options[0].innerHTML, 'reset', 'clear text filter 2');
deepEqual(flt3.options[0].innerHTML, 'reset', 'clear text filter 3');
deepEqual(flt4.options[0].innerHTML, 'reset', 'clear text filter 4');
});
module('Tear down');
test('TableFilter removed', function() { test('TableFilter removed', function() {
tf.destroy(); tf.destroy();
deepEqual(id(tf.fltIds[3]), null, 'Filter is removed'); deepEqual(id(tf.fltIds[3]), null, 'Filter is removed');

1
undefined/coverage.tmp Normal file

File diff suppressed because one or more lines are too long