@gechiui/block-editor
Version:
85 lines (67 loc) • 1.88 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _element = require("@gechiui/element");
var _lodash = require("lodash");
var _data = require("@gechiui/data");
var _blocks = require("@gechiui/blocks");
var _defaultBlockAppender = _interopRequireDefault(require("../default-block-appender"));
var _style = _interopRequireDefault(require("./style.scss"));
var _store = require("../../store");
/**
* External dependencies
*/
/**
* GeChiUI dependencies
*/
/**
* Internal dependencies
*/
function BlockListAppender(_ref) {
let {
blockClientIds,
rootClientId,
canInsertDefaultBlock,
isLocked,
renderAppender: CustomAppender,
showSeparator
} = _ref;
if (isLocked) {
return null;
}
if (CustomAppender) {
return (0, _element.createElement)(CustomAppender, {
showSeparator: showSeparator
});
}
if (canInsertDefaultBlock) {
return (0, _element.createElement)(_defaultBlockAppender.default, {
rootClientId: rootClientId,
lastBlockClientId: (0, _lodash.last)(blockClientIds),
containerStyle: _style.default.blockListAppender,
placeholder: blockClientIds.length > 0 ? '' : null,
showSeparator: showSeparator
});
}
return null;
}
var _default = (0, _data.withSelect)((select, _ref2) => {
let {
rootClientId
} = _ref2;
const {
getBlockOrder,
canInsertBlockType,
getTemplateLock
} = select(_store.store);
return {
isLocked: !!getTemplateLock(rootClientId),
blockClientIds: getBlockOrder(rootClientId),
canInsertDefaultBlock: canInsertBlockType((0, _blocks.getDefaultBlockName)(), rootClientId)
};
})(BlockListAppender);
exports.default = _default;
//# sourceMappingURL=index.native.js.map