2025-04-02 21:57:33 +08:00

201 lines
8.1 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = exports.BasicLayoutProps = void 0;
var _babelHelperVueJsxMergeProps = _interopRequireDefault(require("babel-helper-vue-jsx-merge-props"));
require("./BasicLayout.less");
var _vueTypes = _interopRequireDefault(require("ant-design-vue/es/_util/vue-types"));
require("ant-design-vue/es/layout/style");
var _layout = _interopRequireDefault(require("ant-design-vue/es/layout"));
var _vueContainerQuery = require("vue-container-query");
var _components = require("./components");
var _util = require("./utils/util");
var _SiderMenu = require("./components/SiderMenu");
var _Header = _interopRequireWildcard(require("./Header"));
var _WrapContent = _interopRequireDefault(require("./WrapContent"));
var _ConfigProvider = _interopRequireDefault(require("./components/ConfigProvider"));
var _PageHeaderWrapper = _interopRequireDefault(require("./components/PageHeaderWrapper"));
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys.push.apply(ownKeys, Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
var BasicLayoutProps = _objectSpread({}, _SiderMenu.SiderMenuProps, _Header.HeaderViewProps, {
contentWidth: _vueTypes["default"].oneOf(['Fluid', 'Fixed']).def('Fluid'),
// contentWidth: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]).def('Fluid'),
locale: _vueTypes["default"].oneOfType([_vueTypes["default"].string, _vueTypes["default"].bool]).def('en-US'),
breadcrumbRender: _vueTypes["default"].func,
disableMobile: _vueTypes["default"].bool.def(false),
mediaQuery: _vueTypes["default"].object.def({}),
handleMediaQuery: _vueTypes["default"].func,
footerRender: _vueTypes["default"].oneOfType([_vueTypes["default"].func, _vueTypes["default"].bool]).def(undefined)
});
exports.BasicLayoutProps = BasicLayoutProps;
var MediaQueryEnum = {
'screen-xs': {
maxWidth: 575
},
'screen-sm': {
minWidth: 576,
maxWidth: 767
},
'screen-md': {
minWidth: 768,
maxWidth: 991
},
'screen-lg': {
minWidth: 992,
maxWidth: 1199
},
'screen-xl': {
minWidth: 1200,
maxWidth: 1599
},
'screen-xxl': {
minWidth: 1600
}
};
var getPaddingLeft = function getPaddingLeft(hasLeftPadding) {
var collapsed = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
var collapsedWidth = arguments.length > 2 ? arguments[2] : undefined;
var siderWidth = arguments.length > 3 ? arguments[3] : undefined;
if (hasLeftPadding) {
return collapsed ? collapsedWidth ? collapsedWidth : 80 : siderWidth;
}
return 0;
};
var headerRender = function headerRender(h, props) {
if (props.headerRender === false) {
return null;
}
return h(_Header["default"], {
props: props
});
};
var defaultI18nRender = function defaultI18nRender(key) {
return key;
};
var BasicLayout = {
name: 'BasicLayout',
functional: true,
props: BasicLayoutProps,
render: function render(h, content) {
var props = content.props,
children = content.children,
listeners = content.listeners;
var layout = props.layout,
isMobile = props.isMobile,
collapsed = props.collapsed,
collapsedWidth = props.collapsedWidth,
mediaQuery = props.mediaQuery,
handleMediaQuery = props.handleMediaQuery,
handleCollapse = props.handleCollapse,
siderWidth = props.siderWidth,
fixSiderbar = props.fixSiderbar,
_props$i18nRender = props.i18nRender,
i18nRender = _props$i18nRender === void 0 ? defaultI18nRender : _props$i18nRender;
var footerRender = (0, _util.getComponentFromProp)(content, 'footerRender');
var rightContentRender = (0, _util.getComponentFromProp)(content, 'rightContentRender');
var collapsedButtonRender = (0, _util.getComponentFromProp)(content, 'collapsedButtonRender');
var menuHeaderRender = (0, _util.getComponentFromProp)(content, 'menuHeaderRender');
var breadcrumbRender = (0, _util.getComponentFromProp)(content, 'breadcrumbRender');
var headerContentRender = (0, _util.getComponentFromProp)(content, 'headerContentRender');
var menuRender = (0, _util.getComponentFromProp)(content, 'menuRender');
var isTopMenu = layout === 'topmenu';
var hasSiderMenu = !isTopMenu; // If it is a fix menu, calculate padding
// don't need padding in phone mode
var hasLeftPadding = fixSiderbar && !isTopMenu && !isMobile;
var cdProps = _objectSpread({}, props, {
hasSiderMenu: hasSiderMenu,
footerRender: footerRender,
menuHeaderRender: menuHeaderRender,
rightContentRender: rightContentRender,
collapsedButtonRender: collapsedButtonRender,
breadcrumbRender: breadcrumbRender,
headerContentRender: headerContentRender,
menuRender: menuRender
}, listeners);
return h(_ConfigProvider["default"], {
attrs: {
i18nRender: i18nRender,
contentWidth: props.contentWidth,
breadcrumbRender: breadcrumbRender
}
}, [h(_vueContainerQuery.ContainerQuery, {
attrs: {
query: MediaQueryEnum
},
on: {
"change": handleMediaQuery
}
}, [h(_layout["default"], {
"class": _objectSpread({
'ant-pro-basicLayout': true,
'ant-pro-topmenu': isTopMenu
}, mediaQuery)
}, [h(_components.SiderMenuWrapper, (0, _babelHelperVueJsxMergeProps["default"])([{
props: cdProps
}, {
attrs: {
collapsed: collapsed
},
on: {
"collapse": handleCollapse
}
}])), h(_layout["default"], {
"class": [layout],
style: {
paddingLeft: hasSiderMenu ? "".concat(getPaddingLeft(!!hasLeftPadding, collapsed, collapsedWidth, siderWidth), "px") : undefined,
minHeight: '100vh'
}
}, [headerRender(h, _objectSpread({}, cdProps, {
mode: 'horizontal'
})), h(_WrapContent["default"], {
"class": "ant-pro-basicLayout-content",
attrs: {
contentWidth: props.contentWidth
}
}, [children]), footerRender !== false && h(_layout["default"].Footer, [(0, _util.isFun)(footerRender) && footerRender(h) || footerRender]) || null])])])]);
}
};
BasicLayout.install = function (Vue) {
Vue.component(_PageHeaderWrapper["default"].name, _PageHeaderWrapper["default"]);
Vue.component('PageContainer', _PageHeaderWrapper["default"]);
Vue.component('ProLayout', BasicLayout);
};
var _default = BasicLayout;
exports["default"] = _default;