1
0
Fork 0
mirror of https://github.com/koalyptus/TableFilter.git synced 2024-05-10 18:36:43 +02:00

Added doco comment to getCellValue + added date filtering tests

This commit is contained in:
Max Guglielmi 2017-01-21 10:40:45 +11:00
parent 8c9a033c67
commit 44af1dc552
16 changed files with 212 additions and 40 deletions

4
dist/starter.html vendored
View file

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

View file

@ -1,6 +1,6 @@
/**
* tablefilter v0.4.35 by Max Guglielmi
* build date: 2017-01-18T10:23:03.372Z
* tablefilter v0.4.36 by Max Guglielmi
* build date: 2017-01-20T23:31:09.679Z
* MIT License
*/
span.colVisSpan{text-align:left;}span.colVisSpan a.colVis{display:inline-block;padding:7px 5px 0;font-size:inherit;font-weight:inherit;vertical-align:top}div.colVisCont{position:relative;background:#fff;-webkit-box-shadow:3px 3px 2px #888;-moz-box-shadow:3px 3px 2px #888;box-shadow:3px 3px 2px #888;position:absolute;display:none;border:1px solid #ccc;height:auto;width:250px;background-color:#fff;margin:35px 0 0 -100px;z-index:10000;padding:10px 10px 10px 10px;text-align:left;font-size:12px;}div.colVisCont:after,div.colVisCont:before{bottom:100%;left:50%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}div.colVisCont:after{border-color:rgba(255,255,255,0);border-bottom-color:#fff;border-width:10px;margin-left:-10px}div.colVisCont:before{border-color:rgba(255,255,255,0);border-bottom-color:#ccc;border-width:12px;margin-left:-12px}div.colVisCont p{margin:6px auto 6px auto}div.colVisCont a.colVis{display:initial;font-weight:inherit}ul.cols_checklist{padding:0;margin:0;list-style:none;}ul.cols_checklist label{display:block}ul.cols_checklist input{vertical-align:middle;margin:2px 5px 2px 1px}li.cols_checklist_item{padding:4px;margin:0;}li.cols_checklist_item:hover{background-color:#335ea8;color:#fff}.cols_checklist_slc_item{background-color:#335ea8;color:#fff}

View file

@ -1,6 +1,6 @@
/**
* tablefilter v0.4.35 by Max Guglielmi
* build date: 2017-01-18T10:23:03.372Z
* tablefilter v0.4.36 by Max Guglielmi
* build date: 2017-01-20T23:31:09.679Z
* MIT License
*/
span.expClpFlt a.btnExpClpFlt{width:35px;height:35px;display:inline-block;}span.expClpFlt a.btnExpClpFlt:hover{background-color:#f4f4f4}span.expClpFlt img{padding:8px 11px 11px 11px}

View file

@ -1,6 +1,6 @@
/**
* tablefilter v0.4.35 by Max Guglielmi
* build date: 2017-01-18T10:23:03.372Z
* tablefilter v0.4.36 by Max Guglielmi
* build date: 2017-01-20T23:31:09.679Z
* MIT License
*/
.activeHeader{background-color:#66afe9 !important;color:#fff !important}

View file

@ -1,6 +1,6 @@
/**
* tablefilter v0.4.35 by Max Guglielmi
* build date: 2017-01-18T10:23:03.372Z
* tablefilter v0.4.36 by Max Guglielmi
* build date: 2017-01-20T23:31:09.679Z
* MIT License
*/
table.TF{border-left:1px solid #ccc;border-top:none;border-right:none;border-bottom:none;}table.TF th{background:#ebecee url("images/bg_th.jpg") left top repeat-x;border-bottom:1px solid #d0d0d0;border-right:1px solid #d0d0d0;border-left:1px solid #fff;border-top:1px solid #fff;color:#333}table.TF td{border-bottom:1px dotted #999;padding:5px}.fltrow{background-color:#ebecee !important;}.fltrow th,.fltrow td{border-bottom:1px dotted #666 !important;padding:1px 3px 1px 3px !important}.flt,select.flt,select.flt_multi,.flt_s,.single_flt,.div_checklist{border:1px solid #999 !important}input.flt{width:99% !important}.inf{height:$min-height;background:#d7d7d7 url("images/bg_infDiv.jpg") 0 0 repeat-x !important}input.reset{background:transparent url("images/btn_eraser.gif") center center no-repeat !important}.helpBtn:hover{background-color:transparent}.nextPage{background:transparent url("images/btn_next_page.gif") center center no-repeat !important;}.nextPage:hover{background:transparent url("images/btn_over_next_page.gif") center center no-repeat !important}.previousPage{background:transparent url("images/btn_previous_page.gif") center center no-repeat !important;}.previousPage:hover{background:transparent url("images/btn_over_previous_page.gif") center center no-repeat !important}.firstPage{background:transparent url("images/btn_first_page.gif") center center no-repeat !important;}.firstPage:hover{background:transparent url("images/btn_over_first_page.gif") center center no-repeat !important}.lastPage{background:transparent url("images/btn_last_page.gif") center center no-repeat !important;}.lastPage:hover{background:transparent url("images/btn_over_last_page.gif") center center no-repeat !important}div.grd_Cont{background-color:#ebecee !important;border:1px solid #ccc !important;padding:0 !important;}div.grd_Cont .even{background-color:#fff}div.grd_Cont .odd{background-color:#d5d5d5}div.grd_headTblCont{background-color:#ebecee !important;border-bottom:none !important;}div.grd_headTblCont table{border-right:none !important}div.grd_tblCont table th,div.grd_headTblCont table th,div.grd_headTblCont table td{background:#ebecee url("images/bg_th.jpg") left top repeat-x !important;border-bottom:1px solid #d0d0d0 !important;border-right:1px solid #d0d0d0 !important;border-left:1px solid #fff !important;border-top:1px solid #fff !important}div.grd_tblCont table td{border-bottom:1px solid #999 !important}.grd_inf{background:#d7d7d7 url("images/bg_infDiv.jpg") 0 0 repeat-x !important;border-top:1px solid #d0d0d0 !important}.loader{border:1px solid #999}.defaultLoader{width:32px;height:32px;background:transparent url("images/img_loading.gif") 0 0 no-repeat !important}.even{background-color:#fff}.odd{background-color:#d5d5d5}span.expClpFlt a.btnExpClpFlt:hover{background-color:transparent !important}.activeHeader{background:#999 !important}

View file

@ -1,6 +1,6 @@
/**
* tablefilter v0.4.35 by Max Guglielmi
* build date: 2017-01-18T10:23:03.372Z
* tablefilter v0.4.36 by Max Guglielmi
* build date: 2017-01-20T23:31:09.679Z
* MIT License
*/
table.TF{border-left:1px dotted #81963b;border-top:none;border-right:0;border-bottom:none;}table.TF th{background:#39424b url("images/bg_headers.jpg") left top repeat-x;border-bottom:0;border-right:1px dotted #d0d0d0;border-left:0;border-top:0;color:#fff}table.TF td{border-bottom:1px dotted #81963b;border-right:1px dotted #81963b;padding:5px}.fltrow{background-color:#81963b !important;}.fltrow th,.fltrow td{border-bottom:1px dotted #39424b !important;border-right:1px dotted #fff !important;border-left:0 !important;border-top:0 !important;padding:1px 3px 1px 3px !important}.flt,select.flt,select.flt_multi,.flt_s,.single_flt,.div_checklist{border:1px solid #687830 !important}input.flt{width:99% !important}.inf{background:#d8d8d8;height:$min-height}input.reset{width:53px;background:transparent url("images/btn_filter.png") center center no-repeat !important}.helpBtn:hover{background-color:transparent}.nextPage{background:transparent url("images/btn_next_page.gif") center center no-repeat !important}.previousPage{background:transparent url("images/btn_previous_page.gif") center center no-repeat !important}.firstPage{background:transparent url("images/btn_first_page.gif") center center no-repeat !important}.lastPage{background:transparent url("images/btn_last_page.gif") center center no-repeat !important}div.grd_Cont{background:#81963b url("images/bg_headers.jpg") left top repeat-x !important;border:1px solid #ccc !important;padding:0 1px 1px 1px !important;}div.grd_Cont .even{background-color:#bccd83}div.grd_Cont .odd{background-color:#fff}div.grd_headTblCont{background-color:#ebecee !important;border-bottom:none !important}div.grd_tblCont table{border-right:none !important;}div.grd_tblCont table td{border-bottom:1px dotted #81963b;border-right:1px dotted #81963b}div.grd_tblCont table th,div.grd_headTblCont table th{background:transparent url("images/bg_headers.jpg") 0 0 repeat-x !important;border-bottom:0 !important;border-right:1px dotted #d0d0d0 !important;border-left:0 !important;border-top:0 !important;padding:0 4px 0 4px !important;color:#fff !important;height:35px !important}div.grd_headTblCont table td{border-bottom:1px dotted #39424b !important;border-right:1px dotted #fff !important;border-left:0 !important;border-top:0 !important;background-color:#81963b !important;padding:1px 3px 1px 3px !important}.grd_inf{background-color:#d8d8d8;border-top:1px solid #d0d0d0 !important}.loader{border:0 !important;background:#81963b !important}.defaultLoader{width:32px;height:32px;background:transparent url("images/img_loading.gif") 0 0 no-repeat !important}.even{background-color:#bccd83}.odd{background-color:#fff}span.expClpFlt a.btnExpClpFlt:hover{background-color:transparent !important}.activeHeader{background:#81963b !important}

View file

@ -1,6 +1,6 @@
/**
* tablefilter v0.4.35 by Max Guglielmi
* build date: 2017-01-18T10:23:03.372Z
* tablefilter v0.4.36 by Max Guglielmi
* build date: 2017-01-20T23:31:09.679Z
* MIT License
*/
table.TF{padding:0;color:#000;border-right:1px solid #a4bed4;border-top:1px solid #a4bed4;border-left:1px solid #a4bed4;border-bottom:0;}table.TF th{margin:0;color:inherit;background:#d1e5fe url("images/bg_skyblue.gif") 0 0 repeat-x;border-color:#fdfdfd #a4bed4 #a4bed4 #fdfdfd;border-width:1px;border-style:solid}table.TF td{margin:0;padding:5px;color:inherit;border-bottom:1px solid #a4bed4;border-left:0;border-top:0;border-right:0}.fltrow{background-color:#d1e5fe !important;}.fltrow th,.fltrow td{padding:1px 3px 1px 3px !important}.flt,select.flt,select.flt_multi,.flt_s,.single_flt,.div_checklist{border:1px solid #a4bed4 !important}input.flt{width:99% !important}.inf{background-color:#e3efff !important;border:1px solid #a4bed4;height:$min-height;color:#004a6f}div.tot,div.status{border-right:0 !important}.helpBtn:hover{background-color:transparent}input.reset{background:transparent url("images/icn_clear_filters.png") center center no-repeat !important}.nextPage{background:transparent url("images/btn_next_page.gif") center center no-repeat !important;border:1px solid transparent !important;}.nextPage:hover{background:#ffe4ab url("images/btn_next_page.gif") center center no-repeat !important;border:1px solid #ffb552 !important}.previousPage{background:transparent url("images/btn_prev_page.gif") center center no-repeat !important;border:1px solid transparent !important;}.previousPage:hover{background:#ffe4ab url("images/btn_prev_page.gif") center center no-repeat !important;border:1px solid #ffb552 !important}.firstPage{background:transparent url("images/btn_first_page.gif") center center no-repeat !important;border:1px solid transparent !important;}.firstPage:hover{background:#ffe4ab url("images/btn_first_page.gif") center center no-repeat !important;border:1px solid #ffb552 !important}.lastPage{background:transparent url("images/btn_last_page.gif") center center no-repeat !important;border:1px solid transparent !important;}.lastPage:hover{background:#ffe4ab url("images/btn_last_page.gif") center center no-repeat !important;border:1px solid #ffb552 !important}.activeHeader{background:#ffe4ab !important;border:1px solid #ffb552 !important;color:inherit !important}div.grd_Cont{background-color:#d9eaed !important;border:1px solid #9cc !important;padding:0 !important;}div.grd_Cont .even{background-color:#fff}div.grd_Cont .odd{background-color:#e3efff}div.grd_headTblCont{background-color:#d9eaed !important;border-bottom:none !important}div.grd_tblCont table{border-right:none !important}div.grd_tblCont table th,div.grd_headTblCont table th,div.grd_headTblCont table td{background:#d9eaed url("images/bg_skyblue.gif") left top repeat-x;border-bottom:1px solid #a4bed4;border-right:1px solid #a4bed4 !important;border-left:1px solid #fff !important;border-top:1px solid #fff !important}div.grd_tblCont table td{border-bottom:1px solid #a4bed4 !important;border-right:0 !important;border-left:0 !important;border-top:0 !important}.grd_inf{background-color:#cce2fe;color:#004a6f;border-top:1px solid #9cc !important;}.grd_inf a{text-decoration:none;font-weight:bold}.loader{background-color:#2d8eef;border:1px solid #cce2fe;border-radius:5px}.even{background-color:#fff}.odd{background-color:#e3efff}span.expClpFlt a.btnExpClpFlt:hover{background-color:transparent !important}.ezActiveRow{background-color:#ffdc61 !important;color:inherit}.ezSelectedRow{background-color:#ffe4ab !important;color:inherit}.ezActiveCell{background-color:#fff !important;color:#000 !important;font-weight:bold}.ezETSelectedCell{background-color:#fff !important;font-weight:bold;color:#000 !important}

View file

@ -1,6 +1,6 @@
/**
* tablefilter v0.4.35 by Max Guglielmi
* build date: 2017-01-18T10:23:03.372Z
* tablefilter v0.4.36 by Max Guglielmi
* build date: 2017-01-20T23:31:09.679Z
* MIT License
*/
table.TF{padding:0;color:inherit;border-right:1px solid transparent;border-top:1px solid transparent;border-left:1px solid transparent;border-bottom:0;}table.TF th{margin:0;color:inherit;background-color:transparent;border-color:transparent;border-width:1px;border-style:solid;}table.TF th:last-child{border-right:1px solid transparent}table.TF td{margin:0;padding:5px;color:inherit;border-bottom:1px solid transparent;border-left:0;border-top:0;border-right:0}.fltrow{background-color:transparent;}.fltrow th,.fltrow td{padding:1px 3px 1px 3px;border-bottom:1px solid transparent !important;}.fltrow th:last-child,.fltrow td:last-child{border-right:1px solid transparent}.flt,select.flt,select.flt_multi,.flt_s,.single_flt,.div_checklist{border:1px solid #a4bed4}input.flt{width:99% !important}.inf{background-color:transparent;border:1px solid transparent;height:$min-height;color:inherit}div.tot,div.status{border-right:0 !important}.helpBtn:hover{background-color:transparent}input.reset{background:transparent url("images/icn_clear_filters.png") center center no-repeat !important}.nextPage{background:transparent url("images/btn_next_page.gif") center center no-repeat !important;border:1px solid transparent !important;}.nextPage:hover{background:#f7f7f7 url("images/btn_next_page.gif") center center no-repeat !important;border:1px solid #f7f7f7 !important}.previousPage{background:transparent url("images/btn_prev_page.gif") center center no-repeat !important;border:1px solid transparent !important;}.previousPage:hover{background:#f7f7f7 url("images/btn_prev_page.gif") center center no-repeat !important;border:1px solid #f7f7f7 !important}.firstPage{background:transparent url("images/btn_first_page.gif") center center no-repeat !important;border:1px solid transparent !important;}.firstPage:hover{background:#f7f7f7 url("images/btn_first_page.gif") center center no-repeat !important;border:1px solid #f7f7f7 !important}.lastPage{background:transparent url("images/btn_last_page.gif") center center no-repeat !important;border:1px solid transparent !important;}.lastPage:hover{background:#f7f7f7 url("images/btn_last_page.gif") center center no-repeat !important;border:1px solid #f7f7f7 !important}.activeHeader{background:#f7f7f7 !important;border:1px solid transparent;color:inherit !important}div.grd_Cont{-webkit-box-shadow:0 0 0 0 rgba(50,50,50,0.75);-moz-box-shadow:0 0 0 0 rgba(50,50,50,0.75);box-shadow:0 0 0 0 rgba(50,50,50,0.75);background-color:transparent;border:1px solid transparent;padding:0 !important;}div.grd_Cont .even{background-color:transparent}div.grd_Cont .odd{background-color:#f7f7f7}div.grd_headTblCont{background-color:transparent;border-bottom:none !important}div.grd_tblCont table{border-right:none !important}div.grd_tblCont table th,div.grd_headTblCont table th,div.grd_headTblCont table td{background:transparent;border-bottom:1px solid transparent;border-right:1px solid transparent !important;border-left:1px solid transparent;border-top:1px solid transparent}div.grd_tblCont table td{border-bottom:1px solid transparent;border-right:0 !important;border-left:0 !important;border-top:0 !important}.grd_inf{background-color:transparent;color:inherit;border-top:1px solid transparent;}.grd_inf a{text-decoration:none;font-weight:bold}.loader{background-color:#f7f7f7;border:1px solid #f7f7f7;border-radius:5px;color:#000;text-shadow:none}.even{background-color:transparent}.odd{background-color:#f7f7f7}span.expClpFlt a.btnExpClpFlt:hover{background-color:transparent !important}.ezActiveRow{background-color:#ccc !important;color:inherit}.ezSelectedRow{background-color:#ccc !important;color:inherit}.ezActiveCell{background-color:transparent;color:inherit;font-weight:bold}.ezETSelectedCell{background-color:transparent;font-weight:bold;color:inherit}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,6 +1,6 @@
{
"name": "tablefilter",
"version": "0.4.35",
"version": "0.4.36",
"description": "A Javascript library making HTML tables filterable and a bit more",
"license": "MIT",
"author": {
@ -38,11 +38,11 @@
"tag": "next"
},
"devDependencies": {
"babel-core": "^6.21.0",
"babel-core": "^6.22.1",
"babel-eslint": "7.1.1",
"babel-loader": "^6.2.9",
"babel-plugin-transform-es2015-classes": "^6.18.0",
"babel-preset-es2015": "^6.18.0",
"babel-plugin-transform-es2015-classes": "^6.22.0",
"babel-preset-es2015": "^6.22.0",
"clean-webpack-plugin": "^0.1.15",
"codecov": "1.0.1",
"diacritics": "1.3.0",

View file

@ -1903,16 +1903,16 @@ export class TableFilter {
dte1 = parseDate(cellValue, locale);
// lower date
if (isLDate) {
dte2 = parseDate(term.replace(reL, ''), locale);
occurence = dte1 < dte2;
}
// lower equal date
else if (isLEDate) {
if (isLEDate) {
dte2 = parseDate(term.replace(reLe, ''), locale);
occurence = dte1 <= dte2;
}
// lower date
else if (isLDate) {
dte2 = parseDate(term.replace(reL, ''), locale);
occurence = dte1 < dte2;
}
// greater equal date
else if (isGEDate) {
dte2 = parseDate(term.replace(reGe, ''), locale);
@ -2254,6 +2254,11 @@ export class TableFilter {
}
/**
* Return the text content of a given cell
* @param {DOMElement} Cell's DOM element
* @returns {String}
*/
getCellValue(cell) {
let idx = cell.cellIndex;
//CallcustomCellData callback
@ -2266,7 +2271,7 @@ export class TableFilter {
/**
* Return the typed data of a given cell based on the column type definition
* @param {DOMElement} cell Cell's DOM object
* @param {DOMElement} cell Cell's DOM element
* @return {String|Number|Date}
*/
getCellData(cell) {
@ -2764,7 +2769,7 @@ export class TableFilter {
/**
* Checks if specified column filter ignores diacritics.
* Note this is only valid for input filter types.
* Note this is only applicable to input filter types.
* @param {Number} colIndex Column index
* @returns {Boolean}
*/

View file

@ -103,8 +103,175 @@ test('Should return no results for an unmatched term (6)', function(){
deepEqual(tf.getValidRows().length, 0, 'No matches');
});
module('Tear-down');
test('can destroy TableFilter DOM elements', function() {
tf.destroy();
deepEqual(tf.isInitialized(), false, 'Filters removed');
module('Filtering data types');
module('Date types');
test('can filter date with `<` operator', function(){
// setup
tf.clearFilters();
// act
tf.setFilterValue(2, '< 14-Mar-2009');
tf.filter();
// assert
deepEqual(
tf.getFilteredDataCol(2),
['23-Oct-2007'],
'Expected match'
);
});
test('can filter date with `<=` operator', function(){
// setup
tf.clearFilters();
// act
tf.setFilterValue(2, '<= 14-Mar-2009');
tf.filter();
// assert
deepEqual(
tf.getFilteredDataCol(2),
['23-Oct-2007', '14-Mar-2009'],
'Expected match'
);
});
test('can filter date with `>` operator', function(){
// setup
tf.clearFilters();
// act
tf.setFilterValue(2, '> 14/03/2009');
tf.filter();
// assert
deepEqual(
tf.getFilteredDataCol(2),
['3-Jan-2014'],
'Expected match'
);
});
test('can filter date with `>` operator', function(){
// setup
tf.clearFilters();
// act
tf.setFilterValue(2, '>= 14/03/2009');
tf.filter();
// assert
deepEqual(
tf.getFilteredDataCol(2),
['3-Jan-2014', '14-Mar-2009'],
'Expected match'
);
});
test('can filter date with `!` operator', function(){
// setup
tf.clearFilters();
// act
tf.setFilterValue(2, '! 14-Mar-2009');
tf.filter();
// assert
deepEqual(
tf.getFilteredDataCol(2),
['3-Jan-2014', '23-Oct-2007'],
'Expected match'
);
});
test('can filter date with `=` operator', function(){
// setup
tf.clearFilters();
// act
tf.setFilterValue(2, '= 14-Mar-2009');
tf.filter();
// assert
deepEqual(
tf.getFilteredDataCol(2),
['14-Mar-2009'],
'Expected match'
);
});
test('can filter date with `=` operator and different date format', function(){
// setup
tf.clearFilters();
// act
tf.setFilterValue(2, '= 14.03.2009');
tf.filter();
// assert
deepEqual(
tf.getFilteredDataCol(2),
['14-Mar-2009'],
'Expected match'
);
});
test('can filter date with different date format', function(){
// setup
tf.clearFilters();
// act
tf.setFilterValue(2, '2007-10-23');
tf.filter();
// assert
deepEqual(
tf.getFilteredDataCol(2),
['23-Oct-2007'],
'Expected match'
);
});
test('can filter empty value with [empty] operator', function(){
// setup
var cellValue = tf.getCellValue(tf.tbl.rows[2].cells[2]);
tf.clearFilters();
tf.tbl.rows[2].cells[2].innerHTML = '';
// act
tf.setFilterValue(2, '[empty]');
tf.filter();
// assert
deepEqual(
tf.getFilteredDataCol(2),
[''],
'Expected match'
);
tf.tbl.rows[2].cells[2].innerHTML = cellValue;
});
test('can filter empty value with [nonempty] operator', function(){
// setup
tf.clearFilters();
// act
tf.setFilterValue(2, '[nonempty]');
tf.filter();
// assert
deepEqual(
tf.getFilteredDataCol(2),
['3-Jan-2014', '23-Oct-2007', '14-Mar-2009'],
'Expected match'
);
});
// module('Tear-down');
// test('can destroy TableFilter DOM elements', function() {
// tf.destroy();
// deepEqual(tf.isInitialized(), false, 'Filters removed');
// });