@@ -3,7 +3,22 @@ import React from 'react';
33const ReactStrap = require ( 'reactstrap' ) ;
44const { Form, FormGroup, Input, Label } = ReactStrap ;
55
6- export default function StringFilter ( { filter : { id, name, type, value } , onChangeHandler } ) {
6+ export default function StringFilter ( {
7+ filter : {
8+ id,
9+ key,
10+ keylabel, // human friendly display name for the key. This can be customized in the template.
11+ operator,
12+ value
13+ } ,
14+ onChangeHandler
15+ } ) {
16+
17+ const OPERATORS = [
18+ { value : FILTER . STRING_OPERATORS . EMPTY , label : "--" } ,
19+ { value : FILTER . STRING_OPERATORS . CONTAINS , label : "contains" } ,
20+ { value : FILTER . STRING_OPERATORS . NOT_CONTAINS , label : "does not contain" } ,
21+ ]
722
823 console . log ( 'StringFilter: id is' , id ) ;
924
@@ -13,22 +28,18 @@ export default function StringFilter({ filter: { id, name, type, value }, onChan
1328 // Construct search string
1429 // let result = name;
1530 // result +=':' + filterType + ':' + filterValue;
16- let result = { name , type : filterType , value : filterValue } ;
31+ let result = { key , operator : filterType , value : filterValue } ;
1732 onChangeHandler ( result ) ;
1833 }
1934
20- const OPERATORS = [
21- { value : FILTER . STRING_OPERATORS . EMPTY , label : "--" } ,
22- { value : FILTER . STRING_OPERATORS . CONTAINS , label : "contains" } ,
23- { value : FILTER . STRING_OPERATORS . NOT_CONTAINS , label : "does not contain" } ,
24- ]
25-
2635 return (
2736 < Form inline className = "filter-item" id = { id } >
2837 < FormGroup >
29- < Label size = "sm" style = { { width :`5em` , justifyContent :'flex-end' } } > { name } </ Label >
30- < Input id = { `filterType-${ id } ` } type = "select" value = { type } onChange = { HandleChangeLocal } bsSize = "sm" >
31- { OPERATORS . map ( op => < option value = { op . value } key = { `${ id } ${ op . value } ` } size = "sm" > { op . label } </ option > ) }
38+ < Label size = "sm" style = { { width :`5em` , justifyContent :'flex-end' } } > { keylabel } </ Label >
39+ < Input id = { `filterType-${ id } ` } type = "select" value = { operator } onChange = { HandleChangeLocal } bsSize = "sm" >
40+ { OPERATORS . map ( op =>
41+ < option value = { op . value } key = { `${ id } ${ op . value } ` } size = "sm" > { op . label } </ option >
42+ ) }
3243 </ Input >
3344 < Input id = { `filterValue-${ id } ` } type = "text" value = { value } onChange = { HandleChangeLocal } bsSize = "sm" />
3445 </ FormGroup >
0 commit comments