mirror of
https://github.com/koalyptus/TableFilter.git
synced 2024-06-15 20:25:07 +02:00
Started getCellData vs getCellValue
This commit is contained in:
parent
385317eeff
commit
b15f3ed396
4
dist/tablefilter/style/colsVisibility.css
vendored
4
dist/tablefilter/style/colsVisibility.css
vendored
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* tablefilter v0.4.34 by Max Guglielmi
|
||||
* build date: 2017-01-15T06:21:30.968Z
|
||||
* tablefilter v0.4.35 by Max Guglielmi
|
||||
* build date: 2017-01-16T02:47:12.590Z
|
||||
* 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}
|
4
dist/tablefilter/style/filtersVisibility.css
vendored
4
dist/tablefilter/style/filtersVisibility.css
vendored
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* tablefilter v0.4.34 by Max Guglielmi
|
||||
* build date: 2017-01-15T06:21:30.968Z
|
||||
* tablefilter v0.4.35 by Max Guglielmi
|
||||
* build date: 2017-01-16T02:47:12.590Z
|
||||
* 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}
|
4
dist/tablefilter/style/tablefilter.css
vendored
4
dist/tablefilter/style/tablefilter.css
vendored
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* tablefilter v0.4.34 by Max Guglielmi
|
||||
* build date: 2017-01-15T06:21:30.968Z
|
||||
* tablefilter v0.4.35 by Max Guglielmi
|
||||
* build date: 2017-01-16T02:47:12.590Z
|
||||
* MIT License
|
||||
*/
|
||||
.activeHeader{background-color:#66afe9 !important;color:#fff !important}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* tablefilter v0.4.34 by Max Guglielmi
|
||||
* build date: 2017-01-15T06:21:30.968Z
|
||||
* tablefilter v0.4.35 by Max Guglielmi
|
||||
* build date: 2017-01-16T02:47:12.590Z
|
||||
* 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}
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* tablefilter v0.4.34 by Max Guglielmi
|
||||
* build date: 2017-01-15T06:21:30.968Z
|
||||
* tablefilter v0.4.35 by Max Guglielmi
|
||||
* build date: 2017-01-16T02:47:12.590Z
|
||||
* 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}
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* tablefilter v0.4.34 by Max Guglielmi
|
||||
* build date: 2017-01-15T06:21:30.968Z
|
||||
* tablefilter v0.4.35 by Max Guglielmi
|
||||
* build date: 2017-01-16T02:47:12.590Z
|
||||
* 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}
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* tablefilter v0.4.34 by Max Guglielmi
|
||||
* build date: 2017-01-15T06:21:30.968Z
|
||||
* tablefilter v0.4.35 by Max Guglielmi
|
||||
* build date: 2017-01-16T02:47:12.590Z
|
||||
* 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}
|
21509
dist/tablefilter/tablefilter.js
vendored
21509
dist/tablefilter/tablefilter.js
vendored
File diff suppressed because one or more lines are too long
2
dist/tablefilter/tablefilter.js.map
vendored
2
dist/tablefilter/tablefilter.js.map
vendored
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
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "tablefilter",
|
||||
"version": "0.4.34",
|
||||
"version": "0.4.35",
|
||||
"description": "A Javascript library making HTML tables filterable and a bit more",
|
||||
"license": "MIT",
|
||||
"author": {
|
||||
|
|
|
@ -271,12 +271,12 @@ export class CheckList extends Feature {
|
|||
continue;
|
||||
}
|
||||
|
||||
let cellData = tf.getCellData(cells[j]);
|
||||
let cellValue = tf.getCellValue(cells[j]);
|
||||
//Vary Peter's patch
|
||||
let cellString = matchCase(cellData, caseSensitive);
|
||||
let cellString = matchCase(cellValue, caseSensitive);
|
||||
// checks if celldata is already in array
|
||||
if (!has(this.opts, cellString, caseSensitive)) {
|
||||
this.opts.push(cellData);
|
||||
this.opts.push(cellValue);
|
||||
}
|
||||
let filteredCol = filteredDataCol[j];
|
||||
if (isLinked && tf.disableExcludedOptions) {
|
||||
|
@ -286,7 +286,7 @@ export class CheckList extends Feature {
|
|||
if (!has(filteredCol, cellString, caseSensitive) &&
|
||||
!has(this.excludedOpts, cellString,
|
||||
caseSensitive)) {
|
||||
this.excludedOpts.push(cellData);
|
||||
this.excludedOpts.push(cellValue);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -228,13 +228,13 @@ export class Dropdown extends Feature {
|
|||
continue;
|
||||
}
|
||||
|
||||
let cellData = tf.getCellData(cell[j]),
|
||||
let cellValue = tf.getCellValue(cell[j]),
|
||||
//Vary Peter's patch
|
||||
cellString = matchCase(cellData, tf.caseSensitive);
|
||||
cellString = matchCase(cellValue, tf.caseSensitive);
|
||||
|
||||
// checks if celldata is already in array
|
||||
if (!has(this.opts, cellString, tf.caseSensitive)) {
|
||||
this.opts.push(cellData);
|
||||
this.opts.push(cellValue);
|
||||
}
|
||||
|
||||
if (isLinked && tf.disableExcludedOptions) {
|
||||
|
@ -244,7 +244,7 @@ export class Dropdown extends Feature {
|
|||
}
|
||||
if (!has(filteredCol, cellString, tf.caseSensitive) &&
|
||||
!has(excludedOpts, cellString, tf.caseSensitive)) {
|
||||
excludedOpts.push(cellData);
|
||||
excludedOpts.push(cellValue);
|
||||
}
|
||||
}
|
||||
}//for j
|
||||
|
|
|
@ -1752,7 +1752,7 @@ export class TableFilter {
|
|||
continue;
|
||||
}
|
||||
|
||||
let cellData = matchCase(this.getCellData(cells[j]),
|
||||
let cellValue = matchCase(this.getCellValue(cells[j]),
|
||||
this.caseSensitive);
|
||||
|
||||
//multiple search parameter operator ||
|
||||
|
@ -1777,7 +1777,7 @@ export class TableFilter {
|
|||
// isolate search term and check occurence in cell data
|
||||
for (let w = 0, len = s.length; w < len; w++) {
|
||||
cS = trim(s[w]);
|
||||
occur = this._testTerm(cS, cellData, j);
|
||||
occur = this._testTerm(cS, cellValue, j);
|
||||
|
||||
if (occur) {
|
||||
this.emitter.emit('highlight-keyword', this,
|
||||
|
@ -1796,7 +1796,7 @@ export class TableFilter {
|
|||
}
|
||||
//single search parameter
|
||||
else {
|
||||
occurence[j] = this._testTerm(trim(sA), cellData, j);
|
||||
occurence[j] = this._testTerm(trim(sA), cellValue, j);
|
||||
if (occurence[j]) {
|
||||
this.emitter.emit('highlight-keyword', this, cells[j],
|
||||
sA);
|
||||
|
@ -1837,11 +1837,11 @@ export class TableFilter {
|
|||
/**
|
||||
* Test for a match of search term in cell data
|
||||
* @param {String} term Search term
|
||||
* @param {String} cellData Cell data
|
||||
* @param {String} cellValue Cell data
|
||||
* @param {Number} colIdx Column index
|
||||
* @returns {Boolean}
|
||||
*/
|
||||
_testTerm(term, cellData, colIdx) {
|
||||
_testTerm(term, cellValue, colIdx) {
|
||||
let numData;
|
||||
let decimal = this.decimalSeparator;
|
||||
let reLe = new RegExp(this.leOperator),
|
||||
|
@ -1901,7 +1901,7 @@ export class TableFilter {
|
|||
let isEQDate = hasEQ &&
|
||||
isValidDate(term.replace(reEq, ''), locale);
|
||||
|
||||
dte1 = parseDate(cellData, locale);
|
||||
dte1 = parseDate(cellValue, locale);
|
||||
|
||||
// lower date
|
||||
if (isLDate) {
|
||||
|
@ -1935,7 +1935,7 @@ export class TableFilter {
|
|||
}
|
||||
// searched keyword with * operator doesn't have to be a date
|
||||
else if (reLk.test(term)) {// like date
|
||||
occurence = contains(term.replace(reLk, ''), cellData,
|
||||
occurence = contains(term.replace(reLk, ''), cellValue,
|
||||
false, this.caseSensitive);
|
||||
}
|
||||
else if (isValidDate(term)) {
|
||||
|
@ -1944,13 +1944,13 @@ export class TableFilter {
|
|||
}
|
||||
//empty
|
||||
else if (hasEM) {
|
||||
occurence = isEmptyString(cellData);
|
||||
occurence = isEmptyString(cellValue);
|
||||
}
|
||||
//non-empty
|
||||
else if (hasNM) {
|
||||
occurence = !isEmptyString(cellData);
|
||||
occurence = !isEmptyString(cellValue);
|
||||
} else {
|
||||
occurence = contains(term, cellData,
|
||||
occurence = contains(term, cellValue,
|
||||
this.isExactMatch(colIdx), this.caseSensitive);
|
||||
}
|
||||
}
|
||||
|
@ -1964,7 +1964,7 @@ export class TableFilter {
|
|||
}
|
||||
// Convert to number anyways to auto-resolve type in case not
|
||||
// defined by configuration
|
||||
numData = Number(cellData) || parseNb(cellData, decimal);
|
||||
numData = Number(cellValue) || parseNb(cellValue, decimal);
|
||||
|
||||
// first checks if there is any operator (<,>,<=,>=,!,*,=,{,},
|
||||
// rgx:)
|
||||
|
@ -1998,40 +1998,40 @@ export class TableFilter {
|
|||
}
|
||||
//different
|
||||
else if (hasDF) {
|
||||
occurence = contains(term.replace(reD, ''), cellData,
|
||||
occurence = contains(term.replace(reD, ''), cellValue,
|
||||
false, this.caseSensitive) ? false : true;
|
||||
}
|
||||
//like
|
||||
else if (hasLK) {
|
||||
occurence = contains(term.replace(reLk, ''), cellData,
|
||||
occurence = contains(term.replace(reLk, ''), cellValue,
|
||||
false, this.caseSensitive);
|
||||
}
|
||||
//equal
|
||||
else if (hasEQ) {
|
||||
occurence = contains(term.replace(reEq, ''), cellData,
|
||||
occurence = contains(term.replace(reEq, ''), cellValue,
|
||||
true, this.caseSensitive);
|
||||
}
|
||||
//starts with
|
||||
else if (hasST) {
|
||||
occurence = cellData.indexOf(term.replace(reSt, '')) === 0 ?
|
||||
occurence = cellValue.indexOf(term.replace(reSt, '')) === 0 ?
|
||||
true : false;
|
||||
}
|
||||
//ends with
|
||||
else if (hasEN) {
|
||||
let searchArg = term.replace(reEn, '');
|
||||
occurence =
|
||||
cellData.lastIndexOf(searchArg, cellData.length - 1) ===
|
||||
(cellData.length - 1) - (searchArg.length - 1) &&
|
||||
cellData.lastIndexOf(searchArg, cellData.length - 1)
|
||||
cellValue.lastIndexOf(searchArg, cellValue.length - 1) ===
|
||||
(cellValue.length - 1) - (searchArg.length - 1) &&
|
||||
cellValue.lastIndexOf(searchArg, cellValue.length - 1)
|
||||
> -1 ? true : false;
|
||||
}
|
||||
//empty
|
||||
else if (hasEM) {
|
||||
occurence = isEmptyString(cellData);
|
||||
occurence = isEmptyString(cellValue);
|
||||
}
|
||||
//non-empty
|
||||
else if (hasNM) {
|
||||
occurence = !isEmptyString(cellData);
|
||||
occurence = !isEmptyString(cellValue);
|
||||
}
|
||||
//regexp
|
||||
else if (hasRE) {
|
||||
|
@ -2040,7 +2040,7 @@ export class TableFilter {
|
|||
//operator is removed
|
||||
let srchArg = term.replace(reRe, '');
|
||||
let rgx = new RegExp(srchArg);
|
||||
occurence = rgx.test(cellData);
|
||||
occurence = rgx.test(cellValue);
|
||||
} catch (ex) {
|
||||
occurence = false;
|
||||
}
|
||||
|
@ -2061,7 +2061,7 @@ export class TableFilter {
|
|||
// Finally test search term is contained in cell data
|
||||
occurence = contains(
|
||||
term,
|
||||
cellData,
|
||||
cellValue,
|
||||
this.isExactMatch(colIdx),
|
||||
this.caseSensitive,
|
||||
this.ignoresDiacritics(colIdx)
|
||||
|
@ -2078,17 +2078,24 @@ export class TableFilter {
|
|||
* Return the data of a specified column
|
||||
* @param {Number} colIndex Column index
|
||||
* @param {Boolean} includeHeaders Optional: include headers row
|
||||
* @param {Boolean} num Optional: return unformatted number
|
||||
* @param {Boolean} typed Optional: return a typed value
|
||||
* @param {Array} exclude Optional: list of row indexes to be excluded
|
||||
* @return {Array} Flat list of data for a column
|
||||
*/
|
||||
getColValues(colIndex, includeHeaders = false, num = false, exclude = []) {
|
||||
getColValues(
|
||||
colIndex,
|
||||
includeHeaders = false,
|
||||
typed = false,
|
||||
exclude = []
|
||||
) {
|
||||
if (!this.fltGrid) {
|
||||
return;
|
||||
}
|
||||
let row = this.tbl.rows;
|
||||
let nbRows = this.getRowsNb(true);
|
||||
let colValues = [];
|
||||
let getContent = typed ? this.getCellData.bind(this) :
|
||||
this.getCellValue.bind(this);
|
||||
|
||||
if (includeHeaders) {
|
||||
colValues.push(this.getHeadersText()[colIndex]);
|
||||
|
@ -2110,17 +2117,17 @@ export class TableFilter {
|
|||
if (j !== colIndex) {
|
||||
continue;
|
||||
}
|
||||
let cellData = this.getCellData(cell[j]);
|
||||
let decimal = this.decimalSeparator;
|
||||
if (this.hasType(colIndex, [FORMATTED_NUMBER])) {
|
||||
let colType = this.colTypes[colIndex];
|
||||
if (colType.hasOwnProperty('decimal')) {
|
||||
decimal = colType.decimal;
|
||||
}
|
||||
}
|
||||
let data = num ?
|
||||
Number(cellData) || parseNb(cellData, decimal) :
|
||||
cellData;
|
||||
let data = getContent(cell[j]);
|
||||
// let decimal = this.decimalSeparator;
|
||||
// if (this.hasType(colIndex, [FORMATTED_NUMBER])) {
|
||||
// let colType = this.colTypes[colIndex];
|
||||
// if (colType.hasOwnProperty('decimal')) {
|
||||
// decimal = colType.decimal;
|
||||
// }
|
||||
// }
|
||||
// let data = num ?
|
||||
// Number(cellValue) || parseNb(cellValue, decimal) :
|
||||
// cellValue;
|
||||
colValues.push(data);
|
||||
}
|
||||
}
|
||||
|
@ -2256,14 +2263,10 @@ export class TableFilter {
|
|||
return parseInt(ntrs - s, 10);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the data of a given cell
|
||||
* @param {DOMElement} cell Cell's DOM object
|
||||
* @return {String}
|
||||
*/
|
||||
getCellData(cell) {
|
||||
|
||||
getCellValue(cell) {
|
||||
let idx = cell.cellIndex;
|
||||
//Fire customCellData callback
|
||||
//CallcustomCellData callback
|
||||
if (this.customCellDataCols.indexOf(idx) !== -1) {
|
||||
return this.customCellData(this, cell, idx);
|
||||
} else {
|
||||
|
@ -2271,6 +2274,35 @@ export class TableFilter {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the typed data of a given cell based on the column type definition
|
||||
* @param {DOMElement} cell Cell's DOM object
|
||||
* @return {String|Number|Date}
|
||||
*/
|
||||
getCellData(cell) {
|
||||
let colIndex = cell.cellIndex;
|
||||
let value = this.getCellValue(cell);
|
||||
|
||||
if (this.hasType(colIndex, [FORMATTED_NUMBER])) {
|
||||
let decimal = this.decimalSeparator;
|
||||
let colType = this.colTypes[colIndex];
|
||||
if (colType.hasOwnProperty('decimal')) {
|
||||
decimal = colType.decimal;
|
||||
}
|
||||
return parseNb(value, decimal);
|
||||
}
|
||||
else if (this.hasType(colIndex, [NUMBER])) {
|
||||
return Number(value);
|
||||
}
|
||||
else if (this.hasType(colIndex, [DATE])){
|
||||
let dateType = this.Mod.dateType;
|
||||
let locale = dateType.getOptions(colIndex).locale || this.locale;
|
||||
return dateType.parse(value, locale);
|
||||
}
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the table data with following format:
|
||||
* [
|
||||
|
@ -2300,8 +2332,8 @@ export class TableFilter {
|
|||
continue;
|
||||
}
|
||||
}
|
||||
let cellData = this.getCellData(cells[j]);
|
||||
rowData[1].push(cellData);
|
||||
let cellValue = this.getCellValue(cells[j]);
|
||||
rowData[1].push(cellValue);
|
||||
}
|
||||
tblData.push(rowData);
|
||||
}
|
||||
|
@ -2341,8 +2373,8 @@ export class TableFilter {
|
|||
continue;
|
||||
}
|
||||
}
|
||||
let cellData = this.getCellData(cells[k]);
|
||||
rData[1].push(cellData);
|
||||
let cellValue = this.getCellValue(cells[k]);
|
||||
rData[1].push(cellValue);
|
||||
}
|
||||
filteredData.push(rData);
|
||||
}
|
||||
|
@ -2353,7 +2385,7 @@ export class TableFilter {
|
|||
* Return the filtered data for a given column index
|
||||
* @param {Number} colIndex Colmun's index
|
||||
* @param {Boolean} includeHeaders Optional: include headers row
|
||||
* @param {Boolean} num Optional: return unformatted number
|
||||
* @param {Boolean} typed Optional: return type value
|
||||
* @param {Array} exclude Optional: list of row indexes to be excluded
|
||||
* @param {Boolean} visible Optional: return only visible data
|
||||
* (relevant for paging)
|
||||
|
@ -2364,7 +2396,7 @@ export class TableFilter {
|
|||
getFilteredDataCol(
|
||||
colIndex,
|
||||
includeHeaders = false,
|
||||
num = false,
|
||||
typed = false,
|
||||
exclude = [],
|
||||
visible = true
|
||||
) {
|
||||
|
@ -2373,6 +2405,8 @@ export class TableFilter {
|
|||
}
|
||||
|
||||
let rows = this.tbl.rows;
|
||||
let getContent = typed ? this.getCellData.bind(this) :
|
||||
this.getCellValue.bind(this);
|
||||
|
||||
// ensure valid rows index do not contain excluded rows and row is
|
||||
// displayed
|
||||
|
@ -2383,18 +2417,9 @@ export class TableFilter {
|
|||
true);
|
||||
});
|
||||
|
||||
let decimal = this.decimalSeparator;
|
||||
if (this.hasType(colIndex, [FORMATTED_NUMBER])) {
|
||||
let colType = this.colTypes[colIndex];
|
||||
if (colType.hasOwnProperty('decimal')) {
|
||||
decimal = colType.decimal;
|
||||
}
|
||||
}
|
||||
|
||||
// convert column value to expected type if necessary
|
||||
let validColValues = validRows.map((rowIdx) => {
|
||||
let val = this.getCellData(rows[rowIdx].cells[colIndex]);
|
||||
return num ? Number(val) || parseNb(val, decimal) : val;
|
||||
return getContent(rows[rowIdx].cells[colIndex]);
|
||||
});
|
||||
|
||||
if (includeHeaders) {
|
||||
|
|
|
@ -34,7 +34,7 @@ test('TableFilter object', function() {
|
|||
],
|
||||
'Headers text');
|
||||
deepEqual(
|
||||
tf.getCellData(tf.getHeaderElement(1)),
|
||||
tf.getCellValue(tf.getHeaderElement(1)),
|
||||
'Destination',
|
||||
'Column header text'
|
||||
);
|
||||
|
@ -329,13 +329,13 @@ test('Get filters values', function() {
|
|||
});
|
||||
|
||||
// Test case for issue 165
|
||||
test('Test getCellData with white spaces', function() {
|
||||
test('Test getCellValue with white spaces', function() {
|
||||
// setup
|
||||
var cell = document.createElement('td');
|
||||
cell.textContent ='\t\thello world\t\t\t';
|
||||
|
||||
// act
|
||||
var result = tf.getCellData(cell);
|
||||
var result = tf.getCellValue(cell);
|
||||
|
||||
//assert
|
||||
deepEqual(result, 'hello world', 'Expected text with no white spaces');
|
||||
|
|
Loading…
Reference in a new issue