generateblocks
/
src
/
blocks
/
query-loop
/
components
/
inspector-controls
/
parameter-list
/
index.js
generateblocks
/
src
/
blocks
/
query-loop
/
components
/
inspector-controls
/
parameter-list
Last commit date
ControlBuilder.js
3 years ago
ParameterControl.js
4 years ago
RemoveButton.js
4 years ago
index.js
4 years ago
index.js
31 lines
| 1 | import queryParameterOptions from '../../../query-parameters'; |
| 2 | import ParameterControl from './ParameterControl'; |
| 3 | |
| 4 | const getParametersList = ( query ) => { |
| 5 | const options = queryParameterOptions.filter( ( param ) => param.isSticky ); |
| 6 | |
| 7 | return options.concat( Object.keys( query ).map( ( id ) => ( |
| 8 | queryParameterOptions.find( ( param ) => ( id === param.id && ! param.isSticky ) ) |
| 9 | ) ).filter( Boolean ) ); |
| 10 | }; |
| 11 | |
| 12 | export default ( { query, setParameter, removeParameter } ) => { |
| 13 | const parameterList = getParametersList( query ); |
| 14 | |
| 15 | return ( |
| 16 | <> |
| 17 | <div style={ { marginBottom: '1.33em' } }> |
| 18 | { parameterList && parameterList.map( ( parameter ) => ( |
| 19 | <ParameterControl |
| 20 | key={ parameter.id } |
| 21 | parameter={ parameter } |
| 22 | query={ query } |
| 23 | setParameter={ setParameter } |
| 24 | removeParameter={ removeParameter } |
| 25 | /> |
| 26 | ) ) } |
| 27 | </div> |
| 28 | </> |
| 29 | ); |
| 30 | }; |
| 31 |