PluginProbe
ElasticPress / 4.2.1
ElasticPress v4.2.1
5.3.5 5.3.4 3.6.5 3.6.6 4.0.0 4.0.1 4.1.0 4.2.0 4.2.1 4.2.2 4.3.0 4.3.1 4.4.0 4.4.1 4.5.0 4.5.1 4.5.2 4.6.0 4.6.1 4.7.0 4.7.1 4.7.2 5.0.0 5.0.1 5.0.2 All 108 releases
elasticpress / assets / js / instant-results / components / facets / facet.js

facet.js in ElasticPress 4.2.1, at assets/js/instant-results/components/facets/facet.js

45 lines 1.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /**
2 * WordPress dependencies.
3 */
4 import { WPElement } from '@wordpress/element';
5
6 /**
7 * Internal dependencies.
8 */
9 import PostTypeFacet from './post-type-facet';
10 import PriceRangeFacet from './price-range-facet';
11 import TaxonomyTermsFacet from './taxonomy-terms-facet';
12
13 /**
14 * Facet component.
15 *
16 * @param {object} props Props.
17 * @param {number} props.index Facet index.
18 * @param {string} props.name Facet name.
19 * @param {string} props.label Facet label.
20 * @param {string} props.postTypes Facet post types.
21 * @param {'post_type'|'price_range'|'taxonomy'} props.type Facet type.
22 * @returns {WPElement} Component element.
23 */
24 export default ({ index, label, name, postTypes, type }) => {
25 const defaultIsOpen = index < 2;
26
27 switch (type) {
28 case 'post_type':
29 return <PostTypeFacet defaultIsOpen={defaultIsOpen} label={label} />;
30 case 'price_range':
31 return <PriceRangeFacet defaultIsOpen={defaultIsOpen} label={label} />;
32 case 'taxonomy':
33 return (
34 <TaxonomyTermsFacet
35 defaultIsOpen={defaultIsOpen}
36 label={label}
37 name={name}
38 postTypes={postTypes}
39 />
40 );
41 default:
42 return null;
43 }
44 };
45