@ant-design/pro-layout
Version:
96 lines (69 loc) • 3.61 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
require("antd/es/config-provider/style");
var _configProvider = _interopRequireDefault(require("antd/es/config-provider"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _react = _interopRequireWildcard(require("react"));
var _classnames = _interopRequireDefault(require("classnames"));
var _omit = _interopRequireDefault(require("omit.js"));
require("./index.less");
var _index2 = require("../../index");
var _excluded = ["children", "className", "extra", "style", "renderContent"];
var FooterToolbar = function FooterToolbar(props) {
var children = props.children,
className = props.className,
extra = props.extra,
style = props.style,
renderContent = props.renderContent,
restProps = (0, _objectWithoutProperties2.default)(props, _excluded);
var _useContext = (0, _react.useContext)(_configProvider.default.ConfigContext),
getPrefixCls = _useContext.getPrefixCls;
var prefixCls = props.prefixCls || getPrefixCls('pro');
var baseClassName = "".concat(prefixCls, "-footer-bar");
var value = (0, _react.useContext)(_index2.RouteContext);
var width = (0, _react.useMemo)(function () {
var hasSiderMenu = value.hasSiderMenu,
isMobile = value.isMobile,
siderWidth = value.siderWidth;
if (!hasSiderMenu) {
return undefined;
} // 0 or undefined
if (!siderWidth) {
return '100%';
}
return isMobile ? '100%' : "calc(100% - ".concat(siderWidth, "px)"); // eslint-disable-next-line react-hooks/exhaustive-deps
}, [value.collapsed, value.hasSiderMenu, value.isMobile, value.siderWidth]);
var dom = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
className: "".concat(baseClassName, "-left")
}, extra), /*#__PURE__*/_react.default.createElement("div", {
className: "".concat(baseClassName, "-right")
}, children));
/** 告诉 props 是否存在 footerBar */
(0, _react.useEffect)(function () {
if (!value || !(value === null || value === void 0 ? void 0 : value.setHasFooterToolbar)) {
return function () {};
}
value === null || value === void 0 ? void 0 : value.setHasFooterToolbar(true);
return function () {
var _value$setHasFooterTo;
value === null || value === void 0 ? void 0 : (_value$setHasFooterTo = value.setHasFooterToolbar) === null || _value$setHasFooterTo === void 0 ? void 0 : _value$setHasFooterTo.call(value, false);
}; // eslint-disable-next-line react-hooks/exhaustive-deps
}, []);
return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
className: (0, _classnames.default)(className, "".concat(baseClassName)),
style: (0, _objectSpread2.default)({
width: width
}, style)
}, (0, _omit.default)(restProps, ['prefixCls'])), renderContent ? renderContent((0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), value), {}, {
leftWidth: width
}), dom) : dom);
};
var _default = FooterToolbar;
exports.default = _default;