1
0
Fork 0
mirror of https://github.com/koalyptus/TableFilter.git synced 2024-04-28 04:43:15 +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 }],
"max-depth": [2, 7],
"max-statements": [2, 133],
"complexity": [2, 41],
"complexity": [2, 42],
"no-unused-vars": 2,
"no-eval": 2,
"no-underscore-dangle": 0,

4
dist/starter.html vendored
View file

@ -1,10 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>tablefilter v0.6.91 - Starter</title>
<title>tablefilter v0.6.92 - Starter</title>
</head>
<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",
"version": "0.6.91",
"version": "0.6.92",
"lockfileVersion": 1,
"requires": true,
"dependencies": {

View file

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

View file

@ -493,7 +493,9 @@ export class TableFilter {
* Text for clear option in drop-down filter types (1st option)
* @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

View file

@ -182,6 +182,55 @@ test('Can select empty and non-empty options', function() {
'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');
test('TableFilter removed', function() {
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');
});
// 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() {
tf.destroy();
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