@@ -2,7 +2,58 @@ import { formatDateToDisplay } from './date';
22
33export const getFilteredDataForTable = ( data : any , filter : any ) => {
44 filter . forEach ( ( f : any ) => {
5- if ( f . column . type === 'string' ) {
5+ // temporary because api format changed after filter implementation this need to be refactor
6+ if ( f . column . label === 'Owner' || f . column . label === 'Author' ) {
7+ if ( f . type . value === 'contains' ) {
8+ data = data . filter ( ( os : any ) => {
9+ if ( f . column . value && f . value ) {
10+ return os . user . name . toLowerCase ( ) . includes ( f . value . toLowerCase ( ) ) ;
11+ }
12+ return true ;
13+ } ) ;
14+ }
15+
16+ if ( f . type . value === 'start_with' ) {
17+ data = data . filter ( ( os : any ) => {
18+ if ( f . column . value && f . value ) {
19+ return os [ f . column . value ]
20+ . toLowerCase ( )
21+ . startsWith ( f . value . toLowerCase ( ) ) ;
22+ }
23+ return true ;
24+ } ) ;
25+ }
26+
27+ if ( f . type . value === 'end_with' ) {
28+ data = data . filter ( ( os : any ) => {
29+ if ( f . column . value && f . value ) {
30+ return os [ f . column . value ]
31+ . toLowerCase ( )
32+ . endsWith ( f . value . toLowerCase ( ) ) ;
33+ }
34+ return true ;
35+ } ) ;
36+ }
37+
38+ if ( f . type . value === 'equal' ) {
39+ data = data . filter ( ( os : any ) => {
40+ if ( f . column . value && f . value ) {
41+ return os [ f . column . value ] . toLowerCase ( ) === f . value . toLowerCase ( ) ;
42+ }
43+ return true ;
44+ } ) ;
45+ }
46+ if ( f . type . value === 'not_equal' ) {
47+ data = data . filter ( ( os : any ) => {
48+ if ( f . column . value && f . value ) {
49+ return os [ f . column . value ] . toLowerCase ( ) !== f . value . toLowerCase ( ) ;
50+ }
51+ return true ;
52+ } ) ;
53+ }
54+ }
55+
56+ if ( f . column . type === 'string' && f . column . label !== 'Owner' ) {
657 if ( f . type . value === 'contains' ) {
758 data = data . filter ( ( os : any ) => {
859 if ( f . column . value && f . value ) {
0 commit comments