@@ -303,17 +303,22 @@ export class TableDataStore {
303
303
}
304
304
305
305
filterDate ( targetVal , filterVal , comparator ) {
306
- // if (!targetVal) {
307
- // return false;
308
- // }
309
- // return (targetVal.getDate() === filterVal.getDate() &&
310
- // targetVal.getMonth() === filterVal.getMonth() &&
311
- // targetVal.getFullYear() === filterVal.getFullYear());
306
+ if ( ! targetVal ) return false ;
307
+
308
+ const filterDate = filterVal . getDate ( ) ;
309
+ const filterMonth = filterVal . getMonth ( ) ;
310
+ const filterYear = filterVal . getFullYear ( ) ;
311
+
312
+ const targetDate = targetVal . getDate ( ) ;
313
+ const targetMonth = targetVal . getMonth ( ) ;
314
+ const targetYear = targetVal . getFullYear ( ) ;
312
315
313
316
let valid = true ;
314
317
switch ( comparator ) {
315
318
case '=' : {
316
- if ( targetVal != filterVal ) {
319
+ if ( filterDate !== targetDate ||
320
+ filterMonth !== targetMonth ||
321
+ filterYear !== targetYear ) {
317
322
valid = false ;
318
323
}
319
324
break ;
@@ -325,7 +330,14 @@ export class TableDataStore {
325
330
break ;
326
331
}
327
332
case '>=' : {
328
- if ( targetVal < filterVal ) {
333
+ if ( targetYear < filterYear ) {
334
+ valid = false ;
335
+ } else if ( targetYear === filterYear &&
336
+ targetMonth < filterMonth ) {
337
+ valid = false ;
338
+ } else if ( targetYear === filterYear &&
339
+ targetMonth === filterMonth &&
340
+ targetDate < filterDate ) {
329
341
valid = false ;
330
342
}
331
343
break ;
@@ -337,13 +349,22 @@ export class TableDataStore {
337
349
break ;
338
350
}
339
351
case '<=' : {
340
- if ( targetVal > filterVal ) {
352
+ if ( targetYear > filterYear ) {
353
+ valid = false ;
354
+ } else if ( targetYear === filterYear &&
355
+ targetMonth > filterMonth ) {
356
+ valid = false ;
357
+ } else if ( targetYear === filterYear &&
358
+ targetMonth === filterMonth &&
359
+ targetDate > filterDate ) {
341
360
valid = false ;
342
361
}
343
362
break ;
344
363
}
345
364
case '!=' : {
346
- if ( targetVal == filterVal ) {
365
+ if ( filterDate === targetDate &&
366
+ filterMonth === targetMonth &&
367
+ filterYear === targetYear ) {
347
368
valid = false ;
348
369
}
349
370
break ;
0 commit comments