UNPKG

@wordpress/editor

Version:
44 lines (41 loc) 1.34 kB
import { createElement } from "@wordpress/element"; /** * External dependencies */ import { filter, identity, includes } from 'lodash'; /** * WordPress dependencies */ import { Fragment } from '@wordpress/element'; import { withSelect } from '@wordpress/data'; import { compose } from '@wordpress/compose'; /** * Internal dependencies */ import HierarchicalTermSelector from './hierarchical-term-selector'; import FlatTermSelector from './flat-term-selector'; export function PostTaxonomies({ postType, taxonomies, taxonomyWrapper = identity }) { const availableTaxonomies = filter(taxonomies, taxonomy => includes(taxonomy.types, postType)); const visibleTaxonomies = filter(availableTaxonomies, taxonomy => taxonomy.visibility.show_ui); return visibleTaxonomies.map(taxonomy => { const TaxonomyComponent = taxonomy.hierarchical ? HierarchicalTermSelector : FlatTermSelector; return createElement(Fragment, { key: `taxonomy-${taxonomy.slug}` }, taxonomyWrapper(createElement(TaxonomyComponent, { slug: taxonomy.slug }), taxonomy)); }); } export default compose([withSelect(select => { return { postType: select('core/editor').getCurrentPostType(), taxonomies: select('core').getTaxonomies({ per_page: -1 }) }; })])(PostTaxonomies); //# sourceMappingURL=index.js.map