1
1
import { Pipe , PipeTransform } from '@angular/core' ;
2
- import { GtConfigField } from '../interfaces/gt-config-field' ;
2
+ import { GtConfigField } from '../interfaces/gt-config-field' ;
3
3
import { GtRow } from '../interfaces/gt-row' ;
4
- import { GtConfigSetting } from '../interfaces/gt-config-setting' ;
5
- import { GtInformation } from '../interfaces/gt-information' ;
4
+ import { GtConfigSetting } from '../interfaces/gt-config-setting' ;
5
+ import { GtInformation } from '../interfaces/gt-information' ;
6
6
7
7
8
8
@Pipe ( {
@@ -11,8 +11,8 @@ import {GtInformation} from '../interfaces/gt-information';
11
11
export class GtSearchPipe < R extends GtRow > implements PipeTransform {
12
12
13
13
/** Return property */
14
- private getProperty = function ( array : Array < any > , key : string ) {
15
- for ( let i = 0 ; i < array . length ; i ++ ) {
14
+ private getProperty = function ( array : Array < any > , key : string ) {
15
+ for ( let i = 0 ; i < array . length ; i ++ ) {
16
16
if ( array [ i ] . objectKey === key ) {
17
17
return array [ i ] ;
18
18
}
@@ -22,7 +22,7 @@ export class GtSearchPipe<R extends GtRow> implements PipeTransform {
22
22
transform ( allRows : any , searchTerms : string , gtInfo : GtInformation , settings : Array < GtConfigSetting > , fields : Array < GtConfigField < R , any > > , refreshData : number ) : any {
23
23
24
24
// if no search terms are defined...
25
- if ( ! searchTerms || searchTerms . replace ( / " / g, '' ) . length === 0 ) {
25
+ if ( ! searchTerms || searchTerms . replace ( / " / g, '' ) . length === 0 ) {
26
26
27
27
// ...return all rows
28
28
const length = allRows === null ? 0 : allRows . length ;
@@ -33,17 +33,17 @@ export class GtSearchPipe<R extends GtRow> implements PipeTransform {
33
33
const searchFunction : any = { } ;
34
34
const fieldsTemp : Array < any > = [ ] ;
35
35
36
- for ( let k = 0 ; k < fields . length ; k ++ ) {
36
+ for ( let k = 0 ; k < fields . length ; k ++ ) {
37
37
const field = fields [ k ] ;
38
38
39
39
// check if field should be included in global search
40
40
const include = this . getProperty ( settings , field . objectKey ) . search === false ? false : true ;
41
41
42
42
// if include...
43
- if ( include ) {
43
+ if ( include ) {
44
44
45
45
// ...and if search function is defined...
46
- if ( typeof field . search === 'function' ) {
46
+ if ( typeof field . search === 'function' ) {
47
47
// ...add it as search function for field
48
48
searchFunction [ field . objectKey ] = field . search ;
49
49
}
@@ -62,26 +62,26 @@ export class GtSearchPipe<R extends GtRow> implements PipeTransform {
62
62
searchTerms = typeof searchTerms === 'undefined' ? '' : searchTerms ;
63
63
const searchTermsArray = searchTerms . toLowerCase ( ) . match ( / ( " .* " | [ ^ \s ] + ) / g) ;
64
64
65
- for ( let i = 0 ; i < allRows . length ; i ++ ) {
65
+ for ( let i = 0 ; i < allRows . length ; i ++ ) {
66
66
const row = allRows [ i ] ;
67
67
let string = '' ;
68
68
69
- for ( let j = 0 ; j < fieldsTemp . length ; j ++ ) {
69
+ for ( let j = 0 ; j < fieldsTemp . length ; j ++ ) {
70
70
const separator = j === 0 ? '' : ' & ' ;
71
71
string += searchFunction [ fieldsTemp [ j ] . objectKey ] ? separator + searchFunction [ fieldsTemp [ j ] . objectKey ] ( row , j ) : separator + row [ fieldsTemp [ j ] . objectKey ] ;
72
72
}
73
73
string = string . toLowerCase ( ) ;
74
74
let match : Boolean = true ;
75
75
76
- for ( let k = 0 ; k < searchTermsArray . length ; k ++ ) {
76
+ for ( let k = 0 ; k < searchTermsArray . length ; k ++ ) {
77
77
const term = searchTermsArray [ k ] . replace ( / " / g, '' ) ;
78
78
match = string . indexOf ( term ) !== - 1 ;
79
79
80
- if ( ! match ) {
80
+ if ( ! match ) {
81
81
break ;
82
82
}
83
83
}
84
- if ( match ) {
84
+ if ( match ) {
85
85
filteredRows . push ( row ) ;
86
86
}
87
87
}
0 commit comments