mirror of
https://github.com/koalyptus/TableFilter.git
synced 2024-06-08 00:42:28 +02:00
Extended eslint to tests
This commit is contained in:
parent
1691f38368
commit
6f0a009200
32
.eslintrc
32
.eslintrc
|
@ -3,40 +3,24 @@
|
|||
"rules": {
|
||||
"max-len": [2, 80, 2, {"ignoreUrls": true}],
|
||||
"max-depth": [2, 7],
|
||||
"no-unused-vars": 2,
|
||||
"no-eval": 2,
|
||||
"no-underscore-dangle": 0,
|
||||
"no-loop-func": 2,
|
||||
"curly": 2,
|
||||
"quotes": [2, "single"],
|
||||
//"indent": [2, 4],
|
||||
"indent": [2, 4, {"SwitchCase": 1}],
|
||||
"no-trailing-spaces": 2,
|
||||
"no-multi-spaces": 2,
|
||||
"array-bracket-spacing": 2/*,
|
||||
"new-cap": 2*/
|
||||
//"camelcase": [2, {"properties": "always"}]
|
||||
|
||||
|
||||
/*"-W024": true,
|
||||
"scripturl": true,
|
||||
"evil": true,
|
||||
"curly": true,
|
||||
"indent": 4,
|
||||
"es3": true,
|
||||
"esnext": true,
|
||||
"unused": true,
|
||||
"maxlen" : 80,
|
||||
"trailing": true,
|
||||
"quotmark": "single",
|
||||
"immed": true,
|
||||
"maxstatements": 172,
|
||||
"maxdepth": 7,
|
||||
"maxcomplexity": 87,*/
|
||||
"array-bracket-spacing": 2,
|
||||
"new-cap": 2
|
||||
},
|
||||
"ecmaFeatures": {
|
||||
"modules": true
|
||||
},
|
||||
"env": {
|
||||
"es6": true,
|
||||
"browser": true,
|
||||
"node": false
|
||||
"es6": true,
|
||||
"browser": true,
|
||||
"node": false
|
||||
}
|
||||
}
|
|
@ -18,7 +18,8 @@ module.exports = function (grunt) {
|
|||
target: [
|
||||
'Gruntfile.js',
|
||||
'webpack.config.js',
|
||||
'src/**/*.js'
|
||||
'src/**/*.js',
|
||||
'test/*.js'
|
||||
]
|
||||
},
|
||||
|
||||
|
@ -350,7 +351,8 @@ module.exports = function (grunt) {
|
|||
grunt.task.run('connect');
|
||||
grunt.config('qunit.only.options.urls', res);
|
||||
grunt.task.run('qunit:only');
|
||||
});
|
||||
}
|
||||
);
|
||||
|
||||
function isTestFile(pth) {
|
||||
var allowedExts = ['.html', '.htm'];
|
||||
|
|
|
@ -33,7 +33,6 @@
|
|||
"babel-loader": "^6.0.1",
|
||||
"babel-preset-es2015": "^6.3.13",
|
||||
"clean-webpack-plugin": "^0.1.3",
|
||||
"eslint": "2.1.0",
|
||||
"grunt": "^0.4.5",
|
||||
"grunt-babel": "^6.0.0",
|
||||
"grunt-contrib-clean": "^0.6.0",
|
||||
|
|
20
src/date.js
20
src/date.js
|
@ -93,33 +93,33 @@ export default {
|
|||
case 'DDMMMYYYY':
|
||||
parts = dateStr.replace(/[- \/.]/g,' ').split(' ');
|
||||
oDate = new Date(y2kDate(parts[2]),mmm2mm(parts[1])-1,parts[0]);
|
||||
break;
|
||||
break;
|
||||
case 'DMY':
|
||||
/* eslint-disable */
|
||||
parts = dateStr.replace(
|
||||
/^(0?[1-9]|[12][0-9]|3[01])([- \/.])(0?[1-9]|1[012])([- \/.])((\d\d)?\d\d)$/,'$1 $3 $5').split(' ');
|
||||
oDate = new Date(y2kDate(parts[2]),parts[1]-1,parts[0]);
|
||||
/* eslint-enable */
|
||||
break;
|
||||
break;
|
||||
case 'MDY':
|
||||
/* eslint-disable */
|
||||
parts = dateStr.replace(
|
||||
/^(0?[1-9]|1[012])([- \/.])(0?[1-9]|[12][0-9]|3[01])([- \/.])((\d\d)?\d\d)$/,'$1 $3 $5').split(' ');
|
||||
oDate = new Date(y2kDate(parts[2]),parts[0]-1,parts[1]);
|
||||
/* eslint-enable */
|
||||
break;
|
||||
break;
|
||||
case 'YMD':
|
||||
/* eslint-disable */
|
||||
parts = dateStr.replace(/^((\d\d)?\d\d)([- \/.])(0?[1-9]|1[012])([- \/.])(0?[1-9]|[12][0-9]|3[01])$/,'$1 $4 $6').split(' ');
|
||||
oDate = new Date(y2kDate(parts[0]),parts[1]-1,parts[2]);
|
||||
/* eslint-enable */
|
||||
break;
|
||||
break;
|
||||
default: //in case format is not correct
|
||||
/* eslint-disable */
|
||||
parts = dateStr.replace(/^(0?[1-9]|[12][0-9]|3[01])([- \/.])(0?[1-9]|1[012])([- \/.])((\d\d)?\d\d)$/,'$1 $3 $5').split(' ');
|
||||
oDate = new Date(y2kDate(parts[2]),parts[1]-1,parts[0]);
|
||||
/* eslint-enable */
|
||||
break;
|
||||
break;
|
||||
}
|
||||
return oDate;
|
||||
}
|
||||
|
@ -156,11 +156,11 @@ function mmm2mm(mmm){
|
|||
'nov','dec'
|
||||
];
|
||||
for(let m_i=0; m_i < MONTH_NAMES.length; m_i++){
|
||||
let month_name = MONTH_NAMES[m_i];
|
||||
if (mmm.toLowerCase() === month_name){
|
||||
mondigit = m_i+1;
|
||||
break;
|
||||
}
|
||||
let month_name = MONTH_NAMES[m_i];
|
||||
if (mmm.toLowerCase() === month_name){
|
||||
mondigit = m_i+1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(mondigit > 11 || mondigit < 23){
|
||||
mondigit = mondigit - 12;
|
||||
|
|
|
@ -93,16 +93,24 @@ export default class AdapterEzEditTable {
|
|||
//Next valid filtered row needs to be selected
|
||||
var doSelect = function(nextRowIndex){
|
||||
if(et.defaultSelection === 'row'){
|
||||
/* eslint-disable */
|
||||
slc.SelectRowByIndex(nextRowIndex);
|
||||
/* eslint-enable */
|
||||
} else {
|
||||
/* eslint-disable */
|
||||
et.ClearSelections();
|
||||
/* eslint-enable */
|
||||
var cellIndex = selectedElm.cellIndex,
|
||||
row = tf.tbl.rows[nextRowIndex];
|
||||
if(et.defaultSelection === 'both'){
|
||||
/* eslint-disable */
|
||||
slc.SelectRowByIndex(nextRowIndex);
|
||||
/* eslint-enable */
|
||||
}
|
||||
if(row){
|
||||
/* eslint-disable */
|
||||
slc.SelectCell(row.cells[cellIndex]);
|
||||
/* eslint-enable */
|
||||
}
|
||||
}
|
||||
//Table is filtered
|
||||
|
@ -135,7 +143,9 @@ export default class AdapterEzEditTable {
|
|||
selectedElm.parentNode : selectedElm,
|
||||
//cell for default_selection = 'both' or 'cell'
|
||||
cell = selectedElm.nodeName==='TD' ? selectedElm : null,
|
||||
/* eslint-disable */
|
||||
keyCode = e !== undefined ? et.Event.GetKey(e) : 0,
|
||||
/* eslint-enable */
|
||||
isRowValid = validIndexes.indexOf(row.rowIndex) !== -1,
|
||||
nextRowIndex,
|
||||
paging = tf.feature('paging'),
|
||||
|
@ -244,11 +254,15 @@ export default class AdapterEzEditTable {
|
|||
var advGrid = paging.tf.extension('advancedGrid');
|
||||
var et = advGrid._ezEditTable;
|
||||
var slc = et.Selection;
|
||||
/* eslint-disable */
|
||||
var row = slc.GetActiveRow();
|
||||
/* eslint-enable */
|
||||
if(row){
|
||||
row.scrollIntoView(false);
|
||||
}
|
||||
/* eslint-disable */
|
||||
var cell = slc.GetActiveCell();
|
||||
/* eslint-enable */
|
||||
if(cell){
|
||||
cell.scrollIntoView(false);
|
||||
}
|
||||
|
@ -342,8 +356,10 @@ export default class AdapterEzEditTable {
|
|||
}
|
||||
|
||||
try{
|
||||
/* eslint-disable */
|
||||
this._ezEditTable = new EditTable(tf.id, cfg, startRow);
|
||||
this._ezEditTable.Init();
|
||||
/* eslint-enable */
|
||||
} catch(e) { throw new Error(this.err); }
|
||||
|
||||
this.initialized = true;
|
||||
|
@ -356,10 +372,14 @@ export default class AdapterEzEditTable {
|
|||
var ezEditTable = this._ezEditTable;
|
||||
if(ezEditTable){
|
||||
if(this.cfg.selection){
|
||||
/* eslint-disable */
|
||||
ezEditTable.Selection.Set();
|
||||
/* eslint-enable */
|
||||
}
|
||||
if(this.cfg.editable){
|
||||
/* eslint-disable */
|
||||
ezEditTable.Editable.Set();
|
||||
/* eslint-enable */
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -370,14 +390,22 @@ export default class AdapterEzEditTable {
|
|||
toggle(){
|
||||
var ezEditTable = this._ezEditTable;
|
||||
if(ezEditTable.editable){
|
||||
/* eslint-disable */
|
||||
ezEditTable.Editable.Remove();
|
||||
/* eslint-enable */
|
||||
} else {
|
||||
/* eslint-disable */
|
||||
ezEditTable.Editable.Set();
|
||||
/* eslint-enable */
|
||||
}
|
||||
if(ezEditTable.selection){
|
||||
/* eslint-disable */
|
||||
ezEditTable.Selection.Remove();
|
||||
/* eslint-enable */
|
||||
} else {
|
||||
/* eslint-disable */
|
||||
ezEditTable.Selection.Set();
|
||||
/* eslint-enable */
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -400,11 +428,15 @@ export default class AdapterEzEditTable {
|
|||
var ezEditTable = this._ezEditTable;
|
||||
if(ezEditTable){
|
||||
if(this.cfg.selection){
|
||||
/* eslint-disable */
|
||||
ezEditTable.Selection.ClearSelections();
|
||||
ezEditTable.Selection.Remove();
|
||||
/* eslint-enable */
|
||||
}
|
||||
if(this.cfg.editable){
|
||||
/* eslint-disable */
|
||||
ezEditTable.Editable.Remove();
|
||||
/* eslint-enable */
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -123,7 +123,7 @@ export default class ColOps{
|
|||
mThisCol=-1;
|
||||
|
||||
for(var k=0; k<colIndex.length; k++){
|
||||
if(colIndex[k] === ucolIndex[ucol]){
|
||||
if(colIndex[k] === ucolIndex[ucol]){
|
||||
mThisCol++;
|
||||
opsThisCol[mThisCol]=Str.lower(operation[k]);
|
||||
decThisCol[mThisCol]=decimalPrecision[k];
|
||||
|
@ -135,25 +135,25 @@ export default class ColOps{
|
|||
switch(opsThisCol[mThisCol]){
|
||||
case 'mean':
|
||||
meanFlag=1;
|
||||
break;
|
||||
break;
|
||||
case 'sum':
|
||||
sumFlag=1;
|
||||
break;
|
||||
break;
|
||||
case 'min':
|
||||
minFlag=1;
|
||||
break;
|
||||
break;
|
||||
case 'max':
|
||||
maxFlag=1;
|
||||
break;
|
||||
break;
|
||||
case 'median':
|
||||
medFlag=1;
|
||||
break;
|
||||
case 'q1':
|
||||
q1Flag=1;
|
||||
break;
|
||||
break;
|
||||
case 'q3':
|
||||
q3Flag=1;
|
||||
break;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -163,8 +163,10 @@ export default class ColOps{
|
|||
if((q1Flag==1)|| (q3Flag==1) || (medFlag==1)){
|
||||
if (j<colvalues[ucol].length -1){
|
||||
for(k=j+1; k<colvalues[ucol].length; k++) {
|
||||
/* eslint-disable */
|
||||
if(eval(colvalues[ucol][k]) <
|
||||
eval(colvalues[ucol][j])){
|
||||
/* eslint-enable */
|
||||
temp = colvalues[ucol][j];
|
||||
colvalues[ucol][j] = colvalues[ucol][k];
|
||||
colvalues[ucol][k] = temp;
|
||||
|
@ -237,25 +239,25 @@ export default class ColOps{
|
|||
switch( opsThisCol[i] ){
|
||||
case 'mean':
|
||||
result=meanValue;
|
||||
break;
|
||||
break;
|
||||
case 'sum':
|
||||
result=sumValue;
|
||||
break;
|
||||
break;
|
||||
case 'min':
|
||||
result=minValue;
|
||||
break;
|
||||
break;
|
||||
case 'max':
|
||||
result=maxValue;
|
||||
break;
|
||||
break;
|
||||
case 'median':
|
||||
result=medValue;
|
||||
break;
|
||||
case 'q1':
|
||||
result=q1Value;
|
||||
break;
|
||||
break;
|
||||
case 'q3':
|
||||
result=q3Value;
|
||||
break;
|
||||
break;
|
||||
}
|
||||
|
||||
var precision = !isNaN(decThisCol[i]) ? decThisCol[i] : 2;
|
||||
|
@ -273,17 +275,17 @@ export default class ColOps{
|
|||
} else{
|
||||
Dom.id(labThisCol[i]).innerHTML= result;
|
||||
}
|
||||
break;
|
||||
break;
|
||||
case 'setvalue':
|
||||
Dom.id( labThisCol[i] ).value = result;
|
||||
break;
|
||||
break;
|
||||
case 'createtextnode':
|
||||
var oldnode = Dom.id(labThisCol[i])
|
||||
.firstChild;
|
||||
var txtnode = Dom.text(result);
|
||||
Dom.id(labThisCol[i])
|
||||
.replaceChild(txtnode, oldnode);
|
||||
break;
|
||||
break;
|
||||
}//switch
|
||||
}
|
||||
} else {
|
||||
|
|
|
@ -67,29 +67,27 @@ export class Loader extends Feature{
|
|||
|
||||
// Subscribe to events
|
||||
emitter.on([
|
||||
'before-filtering',
|
||||
'before-populating-filter',
|
||||
'before-changing-page',
|
||||
'before-clearing-filters',
|
||||
'before-changing-results-per-page',
|
||||
'before-reset-page',
|
||||
'before-reset-page-length',
|
||||
'before-loading-extensions',
|
||||
'before-loading-themes'
|
||||
],
|
||||
'before-filtering',
|
||||
'before-populating-filter',
|
||||
'before-changing-page',
|
||||
'before-clearing-filters',
|
||||
'before-changing-results-per-page',
|
||||
'before-reset-page',
|
||||
'before-reset-page-length',
|
||||
'before-loading-extensions',
|
||||
'before-loading-themes'],
|
||||
()=> this.show('')
|
||||
);
|
||||
emitter.on([
|
||||
'after-filtering',
|
||||
'after-populating-filter',
|
||||
'after-changing-page',
|
||||
'after-clearing-filters',
|
||||
'after-changing-results-per-page',
|
||||
'after-reset-page',
|
||||
'after-reset-page-length',
|
||||
'after-loading-extensions',
|
||||
'after-loading-themes'
|
||||
],
|
||||
'after-filtering',
|
||||
'after-populating-filter',
|
||||
'after-changing-page',
|
||||
'after-clearing-filters',
|
||||
'after-changing-results-per-page',
|
||||
'after-reset-page',
|
||||
'after-reset-page-length',
|
||||
'after-loading-extensions',
|
||||
'after-loading-themes'],
|
||||
()=> this.show('none')
|
||||
);
|
||||
|
||||
|
@ -130,29 +128,27 @@ export class Loader extends Feature{
|
|||
|
||||
// Unsubscribe to events
|
||||
emitter.off([
|
||||
'before-filtering',
|
||||
'before-populating-filter',
|
||||
'before-changing-page',
|
||||
'before-clearing-filters',
|
||||
'before-changing-results-per-page',
|
||||
'before-reset-page',
|
||||
'before-reset-page-length',
|
||||
'before-loading-extensions',
|
||||
'before-loading-themes'
|
||||
],
|
||||
'before-filtering',
|
||||
'before-populating-filter',
|
||||
'before-changing-page',
|
||||
'before-clearing-filters',
|
||||
'before-changing-results-per-page',
|
||||
'before-reset-page',
|
||||
'before-reset-page-length',
|
||||
'before-loading-extensions',
|
||||
'before-loading-themes'],
|
||||
()=> this.show('')
|
||||
);
|
||||
emitter.off([
|
||||
'after-filtering',
|
||||
'after-populating-filter',
|
||||
'after-changing-page',
|
||||
'after-clearing-filters',
|
||||
'after-changing-results-per-page',
|
||||
'after-reset-page',
|
||||
'after-reset-page-length',
|
||||
'after-loading-extensions',
|
||||
'after-loading-themes'
|
||||
],
|
||||
'after-filtering',
|
||||
'after-populating-filter',
|
||||
'after-changing-page',
|
||||
'after-clearing-filters',
|
||||
'after-changing-results-per-page',
|
||||
'after-reset-page',
|
||||
'after-reset-page-length',
|
||||
'after-loading-extensions',
|
||||
'after-loading-themes'],
|
||||
()=> this.show('none')
|
||||
);
|
||||
|
||||
|
|
|
@ -470,19 +470,19 @@ export class Paging extends Feature{
|
|||
switch(Str.lower(cmd)){
|
||||
case 'next':
|
||||
btnEvt.next();
|
||||
break;
|
||||
break;
|
||||
case 'previous':
|
||||
btnEvt.prev();
|
||||
break;
|
||||
break;
|
||||
case 'last':
|
||||
btnEvt.last();
|
||||
break;
|
||||
break;
|
||||
case 'first':
|
||||
btnEvt.first();
|
||||
break;
|
||||
break;
|
||||
default:
|
||||
btnEvt.next();
|
||||
break;
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if(cmdtype === 'number'){
|
||||
|
|
|
@ -133,16 +133,15 @@ export class StatusBar extends Feature{
|
|||
()=> this.message(this.msgLoadThemes));
|
||||
|
||||
emitter.on([
|
||||
'after-filtering',
|
||||
'after-populating-filter',
|
||||
'after-changing-page',
|
||||
'after-clearing-filters',
|
||||
'after-changing-results-per-page',
|
||||
'after-reset-page',
|
||||
'after-reset-page-length',
|
||||
'after-loading-extensions',
|
||||
'after-loading-themes'
|
||||
],
|
||||
'after-filtering',
|
||||
'after-populating-filter',
|
||||
'after-changing-page',
|
||||
'after-clearing-filters',
|
||||
'after-changing-results-per-page',
|
||||
'after-reset-page',
|
||||
'after-reset-page-length',
|
||||
'after-loading-extensions',
|
||||
'after-loading-themes'],
|
||||
()=> this.message('')
|
||||
);
|
||||
|
||||
|
@ -205,16 +204,15 @@ export class StatusBar extends Feature{
|
|||
()=> this.message(this.msgLoadThemes));
|
||||
|
||||
emitter.off([
|
||||
'after-filtering',
|
||||
'after-populating-filter',
|
||||
'after-changing-page',
|
||||
'after-clearing-filters',
|
||||
'after-changing-results-per-page',
|
||||
'after-reset-page',
|
||||
'after-reset-page-length',
|
||||
'after-loading-extensions',
|
||||
'after-loading-themes'
|
||||
],
|
||||
'after-filtering',
|
||||
'after-populating-filter',
|
||||
'after-changing-page',
|
||||
'after-clearing-filters',
|
||||
'after-changing-results-per-page',
|
||||
'after-reset-page',
|
||||
'after-reset-page-length',
|
||||
'after-loading-extensions',
|
||||
'after-loading-themes'],
|
||||
()=> this.message('')
|
||||
);
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import Str from './string';
|
||||
|
||||
export default {
|
||||
ignoreCase(a, b){
|
||||
ignoreCase(a, b){
|
||||
let x = Str.lower(a);
|
||||
let y = Str.lower(b);
|
||||
return ((x < y) ? -1 : ((x > y) ? 1 : 0));
|
||||
|
|
|
@ -609,7 +609,7 @@ export class TableFilter {
|
|||
Mod.paging = new Paging(this);
|
||||
Mod.paging.init();
|
||||
} else{
|
||||
Mod.paging.reset();
|
||||
Mod.paging.reset();
|
||||
}
|
||||
}
|
||||
if(this.btnReset){
|
||||
|
@ -821,7 +821,9 @@ export class TableFilter {
|
|||
|
||||
// Require pattern for Webpack
|
||||
require(['./' + modulePath], (mod)=> {
|
||||
/* eslint-disable */
|
||||
let inst = new mod.default(this, ext);
|
||||
/* eslint-enable */
|
||||
inst.init();
|
||||
this.ExtRegistry[name] = inst;
|
||||
});
|
||||
|
@ -1415,12 +1417,12 @@ export class TableFilter {
|
|||
|
||||
//multiple search parameter operator ||
|
||||
let sAOrSplit = sA.toString().split(this.orOperator),
|
||||
//multiple search || parameter boolean
|
||||
hasMultiOrSA = sAOrSplit.length > 1,
|
||||
//multiple search parameter operator &&
|
||||
sAAndSplit = sA.toString().split(this.anOperator),
|
||||
//multiple search && parameter boolean
|
||||
hasMultiAndSA = sAAndSplit.length > 1;
|
||||
//multiple search || parameter boolean
|
||||
hasMultiOrSA = sAOrSplit.length > 1,
|
||||
//multiple search parameter operator &&
|
||||
sAAndSplit = sA.toString().split(this.anOperator),
|
||||
//multiple search && parameter boolean
|
||||
hasMultiAndSA = sAAndSplit.length > 1;
|
||||
|
||||
//detect operators or array query
|
||||
if(Types.isArray(sA) || hasMultiOrSA || hasMultiAndSA){
|
||||
|
@ -1922,12 +1924,12 @@ export class TableFilter {
|
|||
return;
|
||||
}
|
||||
tbl = tbl || this.tbl;
|
||||
let rIndex;
|
||||
if(rowIndex === undefined){
|
||||
rIndex = tbl.rows[0].style.display!='none' ? 0 : 1;
|
||||
} else{
|
||||
rIndex = rowIndex;
|
||||
}
|
||||
// let rIndex;
|
||||
// if(rowIndex === undefined){
|
||||
// rIndex = tbl.rows[0].style.display!='none' ? 0 : 1;
|
||||
// } else{
|
||||
// rIndex = rowIndex;
|
||||
// }
|
||||
|
||||
setWidths.call(this);
|
||||
|
||||
|
|
|
@ -8,9 +8,9 @@
|
|||
var tf1 = new TableFilter('demo1', {
|
||||
base_path: '../dist/tablefilter/',
|
||||
extensions: [{
|
||||
name: 'colsVisibility',
|
||||
at_start: [1, 2],
|
||||
on_loaded: colsVisibilityTests
|
||||
name: 'colsVisibility',
|
||||
at_start: [1, 2],
|
||||
on_loaded: colsVisibilityTests
|
||||
}]
|
||||
});
|
||||
tf1.init();
|
||||
|
|
|
@ -11,14 +11,16 @@ var checkList = tf.feature('checkList');
|
|||
module('Sanity checks');
|
||||
test('CheckList component', function() {
|
||||
deepEqual(typeof checkList, 'object', 'CheckList instanciated');
|
||||
deepEqual(checkList.checkListDiv instanceof Array, true, 'Type of checkListDiv property');
|
||||
deepEqual(checkList.checkListDiv instanceof Array, true,
|
||||
'Type of checkListDiv property');
|
||||
});
|
||||
|
||||
module('UI elements');
|
||||
test('CheckList UI elements', function() {
|
||||
var flt = id(tf.fltIds[3]);
|
||||
notEqual(flt, null, 'CheckList UL element');
|
||||
deepEqual(flt.firstChild.nodeName, 'LI', 'First CheckList option element name');
|
||||
deepEqual(flt.firstChild.nodeName, 'LI',
|
||||
'First CheckList option element name');
|
||||
deepEqual(flt.childNodes.length, 8, 'number of checklist options');
|
||||
});
|
||||
|
||||
|
|
|
@ -22,15 +22,21 @@
|
|||
test('External filters', function() {
|
||||
deepEqual(tf instanceof TableFilter, true, 'TableFilter instanciated');
|
||||
deepEqual(tf.isExternalFlt, true, 'Has external filters');
|
||||
deepEqual(tf.externalFltTgtIds.length, 5, 'External filters ids length');
|
||||
deepEqual(tf.externalFltTgtIds.length, 5,
|
||||
'External filters ids length');
|
||||
deepEqual(tf.getFiltersRowIndex(), 0, 'Filters row index');
|
||||
deepEqual(tf.getHeadersRowIndex(), 1, 'Headers row index');
|
||||
deepEqual(tf.getStartRowIndex(), 2, 'Reference row index');
|
||||
deepEqual(id('extFrom').childNodes.length>0, true, 'Col0 filter is external');
|
||||
deepEqual(id('extDestination').childNodes.length>0, true, 'Col1 filter is external');
|
||||
deepEqual(id('extRoadDistance').childNodes.length>0, true, 'Col2 filter is external');
|
||||
deepEqual(id('extAirDistance').childNodes.length>0, true, 'Col3 filter is external');
|
||||
deepEqual(id('extRailDistance').childNodes.length>0, true, 'Col4 filter is external');
|
||||
deepEqual(id('extFrom').childNodes.length>0, true,
|
||||
'Col0 filter is external');
|
||||
deepEqual(id('extDestination').childNodes.length>0, true,
|
||||
'Col1 filter is external');
|
||||
deepEqual(id('extRoadDistance').childNodes.length>0, true,
|
||||
'Col2 filter is external');
|
||||
deepEqual(id('extAirDistance').childNodes.length>0, true,
|
||||
'Col3 filter is external');
|
||||
deepEqual(id('extRailDistance').childNodes.length>0, true,
|
||||
'Col4 filter is external');
|
||||
});
|
||||
|
||||
module('Filter columns');
|
||||
|
@ -90,15 +96,21 @@
|
|||
|
||||
deepEqual(tf instanceof TableFilter, true, 'TableFilter instanciated');
|
||||
deepEqual(tf.isExternalFlt, true, 'Has external filters');
|
||||
deepEqual(tf.externalFltTgtIds.length, 5, 'External filters ids length');
|
||||
deepEqual(tf.externalFltTgtIds.length, 5,
|
||||
'External filters ids length');
|
||||
deepEqual(tf.getFiltersRowIndex(), 1, 'Filters row index');
|
||||
deepEqual(tf.getHeadersRowIndex(), 0, 'Headers row index');
|
||||
deepEqual(tf.getStartRowIndex(), 0, 'Reference row index');
|
||||
deepEqual(id('extFrom').childNodes.length, 0, 'Col0 filter is external');
|
||||
deepEqual(id('extDestination').childNodes.length, 0, 'Col1 filter is external');
|
||||
deepEqual(id('extRoadDistance').childNodes.length, 0, 'Col2 filter is external');
|
||||
deepEqual(id('extAirDistance').childNodes.length, 0, 'Col3 filter is external');
|
||||
deepEqual(id('extRailDistance').childNodes.length, 0, 'Col4 filter is external');
|
||||
deepEqual(id('extFrom').childNodes.length, 0,
|
||||
'Col0 filter is external');
|
||||
deepEqual(id('extDestination').childNodes.length, 0,
|
||||
'Col1 filter is external');
|
||||
deepEqual(id('extRoadDistance').childNodes.length, 0,
|
||||
'Col2 filter is external');
|
||||
deepEqual(id('extAirDistance').childNodes.length, 0,
|
||||
'Col3 filter is external');
|
||||
deepEqual(id('extRailDistance').childNodes.length, 0,
|
||||
'Col4 filter is external');
|
||||
});
|
||||
test('Can filter column 0', function() {
|
||||
tf.setFilterValue(0, 'Syd');
|
||||
|
@ -156,15 +168,21 @@
|
|||
|
||||
deepEqual(tf instanceof TableFilter, true, 'TableFilter instanciated');
|
||||
deepEqual(tf.isExternalFlt, true, 'Has external filters');
|
||||
deepEqual(tf.externalFltTgtIds.length, 5, 'External filters ids length');
|
||||
deepEqual(tf.externalFltTgtIds.length, 5,
|
||||
'External filters ids length');
|
||||
deepEqual(tf.getFiltersRowIndex(), 0, 'Filters row index');
|
||||
deepEqual(tf.getHeadersRowIndex(), 1, 'Headers row index');
|
||||
deepEqual(tf.getStartRowIndex(), 2, 'Reference row index');
|
||||
deepEqual(id('extFrom').childNodes.length, 0, 'Col0 filter is external');
|
||||
deepEqual(id('extDestination').childNodes.length, 0, 'Col1 filter is external');
|
||||
deepEqual(id('extRoadDistance').childNodes.length, 0, 'Col2 filter is external');
|
||||
deepEqual(id('extAirDistance').childNodes.length, 0, 'Col3 filter is external');
|
||||
deepEqual(id('extRailDistance').childNodes.length, 0, 'Col4 filter is external');
|
||||
deepEqual(id('extFrom').childNodes.length, 0,
|
||||
'Col0 filter is external');
|
||||
deepEqual(id('extDestination').childNodes.length, 0,
|
||||
'Col1 filter is external');
|
||||
deepEqual(id('extRoadDistance').childNodes.length, 0,
|
||||
'Col2 filter is external');
|
||||
deepEqual(id('extAirDistance').childNodes.length, 0,
|
||||
'Col3 filter is external');
|
||||
deepEqual(id('extRailDistance').childNodes.length, 0,
|
||||
'Col4 filter is external');
|
||||
});
|
||||
test('Can filter column 0', function() {
|
||||
tf.setFilterValue(0, 'Syd');
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
var tf = new TableFilter('demo', {
|
||||
base_path: '../dist/tablefilter/',
|
||||
col_date_type: [
|
||||
null, null, 'ddmmmyyyy'
|
||||
]
|
||||
col_date_type: [null, null, 'ddmmmyyyy']
|
||||
});
|
||||
tf.init();
|
||||
|
||||
|
@ -27,15 +25,15 @@ test('can filter values in this format: 21.1.18 as date', function(){
|
|||
});
|
||||
test('can filter values in this format: 21.1.18 as date with operator',
|
||||
function(){
|
||||
tf.clearFilters();
|
||||
tf.setFilterValue(1, '>21.1.04');
|
||||
tf.filter();
|
||||
deepEqual(tf.getValidRows().length, 1, 'Expected number of matches');
|
||||
});
|
||||
tf.clearFilters();
|
||||
tf.setFilterValue(1, '>21.1.04');
|
||||
tf.filter();
|
||||
deepEqual(tf.getValidRows().length, 1, 'Expected number of matches');
|
||||
}
|
||||
);
|
||||
|
||||
module('Issue 72');
|
||||
test('can filter values in this format: 21-Jul-2010 as date',
|
||||
function(){
|
||||
test('can filter values in this format: 21-Jul-2010 as date', function(){
|
||||
tf.clearFilters();
|
||||
tf.setFilterValue(2, '14-Mar-2009');
|
||||
tf.filter();
|
||||
|
@ -43,11 +41,12 @@ test('can filter values in this format: 21-Jul-2010 as date',
|
|||
});
|
||||
test('can filter values in this format: 21-Jul-2010 as date with operator',
|
||||
function(){
|
||||
tf.clearFilters();
|
||||
tf.setFilterValue(2, '<21-Jul-2010');
|
||||
tf.filter();
|
||||
deepEqual(tf.getValidRows().length, 2, 'Expected number of matches');
|
||||
});
|
||||
tf.clearFilters();
|
||||
tf.setFilterValue(2, '<21-Jul-2010');
|
||||
tf.filter();
|
||||
deepEqual(tf.getValidRows().length, 2, 'Expected number of matches');
|
||||
}
|
||||
);
|
||||
|
||||
module('Tear-down');
|
||||
test('can destroy TableFilter DOM elements', function() {
|
||||
|
|
|
@ -10,8 +10,10 @@ module('Sanity checks');
|
|||
test('GridLayout component', function() {
|
||||
deepEqual(typeof gridLayout, 'object', 'GridLayout instanciated');
|
||||
notEqual(gridLayout.tblMainCont, null, 'GridLayout main container element');
|
||||
notEqual(gridLayout.tblCont, null, 'GridLayout main HTML table container element');
|
||||
notEqual(gridLayout.headTblCont, null, 'GridLayout headers container element');
|
||||
notEqual(gridLayout.tblCont, null,
|
||||
'GridLayout main HTML table container element');
|
||||
notEqual(gridLayout.headTblCont, null,
|
||||
'GridLayout headers container element');
|
||||
notEqual(gridLayout.headTbl, null, 'GridLayout headers HTML table');
|
||||
deepEqual(tf.startRow, null, 'Optional startRow row index');
|
||||
deepEqual(tf.refRow, 0, 'Reference row index');
|
||||
|
@ -22,8 +24,10 @@ test('GridLayout component', function() {
|
|||
test('Destroy TableFilter', function() {
|
||||
gridLayout.destroy();
|
||||
deepEqual(gridLayout.tblMainCont, null, 'Main container element removed');
|
||||
deepEqual(gridLayout.tblCont, null, 'Main HTML table container element removed');
|
||||
deepEqual(gridLayout.headTblCont, null, 'Headers container element removed');
|
||||
deepEqual(gridLayout.tblCont, null,
|
||||
'Main HTML table container element removed');
|
||||
deepEqual(gridLayout.headTblCont, null,
|
||||
'Headers container element removed');
|
||||
deepEqual(gridLayout.headTbl, null, 'Headers HTML table element removed');
|
||||
notEqual(gridLayout.sourceTblHtml, null, 'Table reference is kept');
|
||||
});
|
||||
|
|
|
@ -42,10 +42,11 @@ test('can destroy and init TableFilter', function() {
|
|||
module('Tear-down');
|
||||
test('can destroy TableFilter DOM elements and clean highlighted words',
|
||||
function() {
|
||||
tf.setFilterValue(1, 'Perth');
|
||||
tf.filter();
|
||||
tf.destroy();
|
||||
deepEqual(tf.hasGrid(), false, 'Filters removed');
|
||||
deepEqual(highlightKeyword.highlightedNodes.length,
|
||||
0, 'Number of highlighted words');
|
||||
});
|
||||
tf.setFilterValue(1, 'Perth');
|
||||
tf.filter();
|
||||
tf.destroy();
|
||||
deepEqual(tf.hasGrid(), false, 'Filters removed');
|
||||
deepEqual(highlightKeyword.highlightedNodes.length,
|
||||
0, 'Number of highlighted words');
|
||||
}
|
||||
);
|
||||
|
|
|
@ -1,6 +1,3 @@
|
|||
|
||||
var id = function (id){ return document.getElementById(id); };
|
||||
|
||||
var tf = new TableFilter('demo', {
|
||||
base_path: '../dist/tablefilter/',
|
||||
paging: true,
|
||||
|
|
|
@ -44,7 +44,8 @@
|
|||
deepEqual(tf.refRow, 0, 'Reference row index');
|
||||
|
||||
tf.setFilterValue(1, 'Bris');
|
||||
deepEqual(tf.getValidRows().length, 0, 'does not fail on setFilterValue');
|
||||
deepEqual(tf.getValidRows().length, 0,
|
||||
'does not fail on setFilterValue');
|
||||
});
|
||||
|
||||
module('Tear-down');
|
||||
|
|
|
@ -45,7 +45,7 @@ function start(tf, sort){
|
|||
});
|
||||
|
||||
test('Sort behaviour', function() {
|
||||
validRows = tf.getValidRows();
|
||||
validRows = tf.getValidRows();
|
||||
sort.sortByColumnIndex(1);
|
||||
|
||||
deepEqual(sort.sorted, true, 'Table column sorted');
|
||||
|
|
|
@ -79,8 +79,10 @@ test('Filters value in cookie', function() {
|
|||
tf.setFilterValue(3, '1.5');
|
||||
tf.filter();
|
||||
|
||||
deepEqual(tf.feature('store').getFilterValues()[0], 'Sydney', 'Filter 0 value');
|
||||
deepEqual(tf.feature('store').getFilterValues()[3], '1.5', 'Filter 3 value');
|
||||
deepEqual(tf.feature('store').getFilterValues()[0],
|
||||
'Sydney', 'Filter 0 value');
|
||||
deepEqual(tf.feature('store').getFilterValues()[3],
|
||||
'1.5', 'Filter 3 value');
|
||||
});
|
||||
|
||||
test('Filters value in cookie', function() {
|
||||
|
@ -88,8 +90,10 @@ test('Filters value in cookie', function() {
|
|||
tf.setFilterValue(3, '1.5');
|
||||
|
||||
tf.filter();
|
||||
deepEqual(tf.feature('store').getFilterValues()[0], 'Sydney', 'Filter 0 value');
|
||||
deepEqual(tf.feature('store').getFilterValues()[3], '1.5', 'Filter 3 value');
|
||||
deepEqual(tf.feature('store').getFilterValues()[0], 'Sydney',
|
||||
'Filter 0 value');
|
||||
deepEqual(tf.feature('store').getFilterValues()[3], '1.5',
|
||||
'Filter 3 value');
|
||||
});
|
||||
|
||||
test('Filters value with operators in cookie', function() {
|
||||
|
@ -99,8 +103,10 @@ test('Filters value with operators in cookie', function() {
|
|||
tf.filter();
|
||||
|
||||
deepEqual(tf.feature('store').getFilterValues()[0], ' ', 'Filter 0 value');
|
||||
deepEqual(tf.feature('store').getFilterValues()[1], 'Canberra || Perth', 'Filter 1 value');
|
||||
deepEqual(tf.feature('store').getFilterValues()[3], '>.6', 'Filter 3 value');
|
||||
deepEqual(tf.feature('store').getFilterValues()[1],
|
||||
'Canberra || Perth', 'Filter 1 value');
|
||||
deepEqual(tf.feature('store').getFilterValues()[3], '>.6',
|
||||
'Filter 3 value');
|
||||
deepEqual(tf.getValidRows().length, 1, 'Expected nb of filtered rows');
|
||||
});
|
||||
|
||||
|
@ -139,8 +145,10 @@ test('Filters value in cookie', function() {
|
|||
tf.setFilterValue(1, ['Alice Springs', 'Brisbane']);
|
||||
tf.filter();
|
||||
|
||||
deepEqual(tf.feature('store').getFilterValues()[0], 'Adelaide || Sydney', 'Filter 0 value');
|
||||
deepEqual(tf.feature('store').getFilterValues()[1], 'Alice Springs || Brisbane', 'Filter 1 value');
|
||||
deepEqual(tf.feature('store').getFilterValues()[0],
|
||||
'Adelaide || Sydney', 'Filter 0 value');
|
||||
deepEqual(tf.feature('store').getFilterValues()[1],
|
||||
'Alice Springs || Brisbane', 'Filter 1 value');
|
||||
deepEqual(tf.getValidRows().length, 3, 'Expected nb of filtered rows');
|
||||
});
|
||||
|
||||
|
|
Loading…
Reference in a new issue