UNPKG

@wordpress/editor

Version:
74 lines (61 loc) 1.83 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = MostUsedTerms; var _element = require("@wordpress/element"); var _lodash = require("lodash"); var _components = require("@wordpress/components"); var _data = require("@wordpress/data"); var _coreData = require("@wordpress/core-data"); var _terms2 = require("../../utils/terms"); /** * External dependencies */ /** * WordPress dependencies */ /** * Internal dependencies */ const MAX_MOST_USED_TERMS = 10; const DEFAULT_QUERY = { per_page: MAX_MOST_USED_TERMS, orderby: 'count', order: 'desc', _fields: 'id,name,count' }; function MostUsedTerms({ onSelect, taxonomy }) { const { _terms, showTerms } = (0, _data.useSelect)(select => { const mostUsedTerms = select(_coreData.store).getEntityRecords('taxonomy', taxonomy.slug, DEFAULT_QUERY); return { _terms: mostUsedTerms, showTerms: (mostUsedTerms === null || mostUsedTerms === void 0 ? void 0 : mostUsedTerms.length) >= MAX_MOST_USED_TERMS }; }, []); if (!showTerms) { return null; } const terms = (0, _terms2.unescapeTerms)(_terms); const label = (0, _lodash.get)(taxonomy, ['labels', 'most_used']); return (0, _element.createElement)("div", { className: "editor-post-taxonomies__flat-term-most-used" }, (0, _element.createElement)("h3", { className: "editor-post-taxonomies__flat-term-most-used-label" }, label), (0, _element.createElement)("ul", { role: "list", className: "editor-post-taxonomies__flat-term-most-used-list" }, terms.map(term => (0, _element.createElement)("li", { key: term.id }, (0, _element.createElement)(_components.Button, { isLink: true, onClick: () => onSelect(term) }, term.name))))); } //# sourceMappingURL=most-used-terms.js.map