@wordpress/edit-post
Version:
Edit Post module for WordPress.
103 lines (81 loc) • 2.14 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 _classnames = _interopRequireDefault(require("classnames"));
var _components = require("@wordpress/components");
var _data = require("@wordpress/data");
var _store = require("../../../store");
/**
* External dependencies
*/
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
class MetaBoxesArea extends _element.Component {
/**
* @inheritdoc
*/
constructor() {
super(...arguments);
this.bindContainerNode = this.bindContainerNode.bind(this);
}
/**
* @inheritdoc
*/
componentDidMount() {
this.form = document.querySelector('.metabox-location-' + this.props.location);
if (this.form) {
this.container.appendChild(this.form);
}
}
/**
* Get the meta box location form from the original location.
*/
componentWillUnmount() {
if (this.form) {
document.querySelector('#metaboxes').appendChild(this.form);
}
}
/**
* Binds the metabox area container node.
*
* @param {Element} node DOM Node.
*/
bindContainerNode(node) {
this.container = node;
}
/**
* @inheritdoc
*/
render() {
const {
location,
isSaving
} = this.props;
const classes = (0, _classnames.default)('edit-post-meta-boxes-area', `is-${location}`, {
'is-loading': isSaving
});
return (0, _element.createElement)("div", {
className: classes
}, isSaving && (0, _element.createElement)(_components.Spinner, null), (0, _element.createElement)("div", {
className: "edit-post-meta-boxes-area__container",
ref: this.bindContainerNode
}), (0, _element.createElement)("div", {
className: "edit-post-meta-boxes-area__clear"
}));
}
}
var _default = (0, _data.withSelect)(select => {
return {
isSaving: select(_store.store).isSavingMetaBoxes()
};
})(MetaBoxesArea);
exports.default = _default;
//# sourceMappingURL=index.js.map