@wordpress/block-library
Version:
Block library for the WordPress editor.
55 lines (47 loc) • 1.43 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = usePostTerms;
var _coreData = require("@wordpress/core-data");
var _data = require("@wordpress/data");
/**
* WordPress dependencies
*/
function usePostTerms(_ref) {
var _term$visibility2;
let {
postId,
term
} = _ref;
const {
slug
} = term;
return (0, _data.useSelect)(select => {
var _term$visibility;
const visible = term === null || term === void 0 ? void 0 : (_term$visibility = term.visibility) === null || _term$visibility === void 0 ? void 0 : _term$visibility.publicly_queryable;
if (!visible) {
return {
postTerms: [],
_isLoading: false,
hasPostTerms: false
};
}
const {
getEntityRecords,
isResolving
} = select(_coreData.store);
const taxonomyArgs = ['taxonomy', slug, {
post: postId,
per_page: -1,
context: 'view'
}];
const terms = getEntityRecords(...taxonomyArgs);
return {
postTerms: terms,
isLoading: isResolving('getEntityRecords', taxonomyArgs),
hasPostTerms: !!(terms !== null && terms !== void 0 && terms.length)
};
}, [postId, term === null || term === void 0 ? void 0 : (_term$visibility2 = term.visibility) === null || _term$visibility2 === void 0 ? void 0 : _term$visibility2.publicly_queryable]);
}
//# sourceMappingURL=use-post-terms.js.map
;