@wordpress/editor
Version:
Enhanced block editor for WordPress posts.
72 lines (57 loc) • 1.66 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _element = require("@wordpress/element");
var _apiFetch = _interopRequireDefault(require("@wordpress/api-fetch"));
/**
* WordPress dependencies
*/
/** @typedef {import('@wordpress/components').WPCompleter} WPCompleter */
/**
* A user mentions completer.
*
* @type {WPCompleter}
*/
var _default = {
name: 'users',
className: 'editor-autocompleters__user',
triggerPrefix: '@',
options(search) {
let payload = '';
if (search) {
payload = '?search=' + encodeURIComponent(search);
}
return (0, _apiFetch.default)({
path: '/wp/v2/users' + payload
});
},
isDebounced: true,
getOptionKeywords(user) {
return [user.slug, user.name];
},
getOptionLabel(user) {
const avatar = user.avatar_urls && user.avatar_urls[24] ? (0, _element.createElement)("img", {
key: "avatar",
className: "editor-autocompleters__user-avatar",
alt: "",
src: user.avatar_urls[24]
}) : (0, _element.createElement)("span", {
className: "editor-autocompleters__no-avatar"
});
return [avatar, (0, _element.createElement)("span", {
key: "name",
className: "editor-autocompleters__user-name"
}, user.name), (0, _element.createElement)("span", {
key: "slug",
className: "editor-autocompleters__user-slug"
}, user.slug)];
},
getOptionCompletion(user) {
return `@${user.slug}`;
}
};
exports.default = _default;
//# sourceMappingURL=user.js.map