gutenblock-controls
Version:
Useful inspector controls for gutenberg
69 lines (55 loc) • 2.3 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
(function () {
var enterModule = require('react-hot-loader').enterModule;
enterModule && enterModule(module);
})();
function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
var Button = wp.components.Button;
var MediaUpload = wp.editor.MediaUpload;
var _default = function _default(_ref) {
var name = _ref.name,
attributes = _ref.attributes,
onChange = _ref.onChange,
beforeChange = _ref.beforeChange,
label = _ref.label,
props = _objectWithoutProperties(_ref, ['name', 'attributes', 'onChange', 'beforeChange', 'label']);
return wp.element.createElement(
'div',
{ style: { display: 'flex' } },
attributes[name] && !beforeChange ? wp.element.createElement('img', { src: attributes[name], style: { height: 10, marginRight: 5, alignSelf: 'center' } }) : null,
wp.element.createElement(MediaUpload, _extends({
type: 'image'
}, props, {
value: attributes[name],
render: function render(_ref2) {
var open = _ref2.open;
return wp.element.createElement(
Button,
{ isPrimary: true, onClick: open },
label || 'Open Media Library'
);
},
onSelect: function onSelect(media) {
return onChange(name, beforeChange ? beforeChange(media) : media.sizes.full.url);
}
}))
);
};
exports.default = _default;
;
(function () {
var reactHotLoader = require('react-hot-loader').default;
var leaveModule = require('react-hot-loader').leaveModule;
if (!reactHotLoader) {
return;
}
reactHotLoader.register(Button, 'Button', 'src/form/media-select.js');
reactHotLoader.register(MediaUpload, 'MediaUpload', 'src/form/media-select.js');
reactHotLoader.register(_default, 'default', 'src/form/media-select.js');
leaveModule(module);
})();
;