You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
NewEduCoderBuild/p__Engineering__index.async.js

1154 lines
43 KiB

"use strict";
(self["webpackChunk"] = self["webpackChunk"] || []).push([[13006],{
/***/ 46305:
/*!*****************************************************!*\
!*** ./src/pages/Engineering/index.tsx + 2 modules ***!
\*****************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
"default": function() { return /* binding */ pages_Engineering; }
});
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/slicedToArray.js
var slicedToArray = __webpack_require__(27424);
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
// EXTERNAL MODULE: ./node_modules/antd/es/menu/style/index.js + 1 modules
var style = __webpack_require__(83736);
// EXTERNAL MODULE: ./node_modules/antd/es/menu/index.js + 5 modules
var menu = __webpack_require__(66516);
// EXTERNAL MODULE: ./node_modules/react/index.js
var react = __webpack_require__(67294);
;// CONCATENATED MODULE: ./src/pages/Engineering/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var Engineeringmodules = ({"flex_box_center":"flex_box_center___usTTt","flex_space_between":"flex_space_between___pQ1uH","flex_box_vertical_center":"flex_box_vertical_center___jvY_p","flex_box_center_end":"flex_box_center_end___mLLAC","flex_box_column":"flex_box_column___B1SWi","wrap":"wrap___Ga64a","left":"left___MLf1O","menu":"menu___FpsmH","home":"home___iI7sm","info":"info___P474B","right":"right___Ttby6"});
// EXTERNAL MODULE: ./src/.umi-production/exports.ts + 8 modules
var _umi_production_exports = __webpack_require__(89214);
// EXTERNAL MODULE: ./src/pages/Engineering/util.tsx
var util = __webpack_require__(69555);
// EXTERNAL MODULE: ./src/utils/fetch.ts
var fetch = __webpack_require__(84519);
;// CONCATENATED MODULE: ./src/assets/images/navigation.png
var navigation_namespaceObject = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABQCAYAAACpv3NFAAAAAXNSR0IArs4c6QAABmRJREFUeF7tXHtQVHUU/s7dBw9lAUGBJR18QE7YmJWZaYpZo9Vio0jamFpj4jhaVpaNr4Zeko42aY2OmI7o+BpDA8WGGpOmfDXjKx1TVNQUFFQUebN772nuMiqLwMBy7zJLv/vXAuecPeebc77vt3sPl1DnYmYyJpybrBDGg/EECJ3BLNW18brXRAoYN0A4LjG2OtKj04iI79VB916Yx53vY7crqQAP9LoiW5QwHTQZDNNqtvc8qbo5ATAmnhsqy5wNsE+LYnmtMVUbDDTCsT36dwpOvBB4R5ZzAe7itfW4lTgVBRkMMSSNzV3ICn/uVgwvdyKJPiVKyD0K5n5eXot76RMdI0o4WwpGR/cieLkXoYxozNn7kuDl5biVvgBAdIAYAcEBggTdos924iRUQKiAUAGhAkIF2gmhu1WGUAGhAkIFhAoIFXCLPtuJU5uqwBdvhCCogwGz1hVBUdoG0TYBwNdMSHs3HInPBTirzjpShvHfXEN5leen0eMAhAcZkDE3Ev17+aKkXIZdBkItBhzLq4JtUT6u3ZY92goeBaBvlA92zbPikRAT8q7XwLaoADUOxp4FkYixmnH1lh2vfpWPk5drPAaCxwCIf7oDNn8QgQ6+Ev44XYExSwpwq7R28IM7Stg5x4ohsf4orVTw+tICZB+v8AgIHgFg9qhgLJ4YCkkibMgpwdRVhbA7XOszGYF1M8IxYYgFssyY+UMRVv9SojsIugJgNACrksIw5cVAMDPmb76Fr3cUN1nUZ+NDsDAxxGmzNKMYczbc1BUE3QBQ2/rHj6wY9rg/KqoVTFpxHTsOlbkUM6yPn/PnfacqXX4/Kc6CNdPDYDIS0g+WYuKK66iq0UchdAEgOsKE3fMiEW01o6DYgVEp+TiaV+1SZNJLgfh+au0d+ZlripD6q2u7x/Xxw445Vuc54XBuJUalFODGXe0VQnMA1MTTP7YiuGOttMWnFDhBuHdJErBscmfMsgW7ALJ8923MTrvhciDqHWlG1vxIdA8z4WJhrUKcyddWITQFYMpwC1Ym1bbuT4fL8Obya6ioftC6AX4Stn4YgZef7NDgXP98tNx5IFKV4N7V2WJA5lwrBsT44U657FSPnHoj0xqS0AwAi7+EMyuiEB5sxJKdxZi76Sa4zthGdTE6x+Kxrk1v4Zy+Uu08EF0qetA16slx43vhSBgYgP3/VOL5BVdaU7OLr2YAqFHV011sVzPW77vr8iaDevti5yeRzhNfc66bd2WMXpyP/WeqXMznjumEtXtLUFSiHRdoCkBDxU0eZsHqaWEwm+4vpDUHA9TYGdNWFyKtHpjNcm6BkW4AEAEpE0IxZ3SnFqTzsGlD49SqgPWcdQHA34ew6f0IvPaMNps3GX+VYcK3roSqFQi6AHBsWTf0jfLVKkdnnBOXqtBv9r+axlSD6QKAkh6jeaJqQCkhV/O4HgdAURiORkhc/eygfmBq7GoXAKzbW4J3VhY2WOPaGWF4+4VAAYDogEYQECPQHkhQcIAgwf+BCpRu6tWolG3IuYsZa4oa/PvKpC6YONTSqG/AhPPecRDSPEsdA+pyEtQxX81DCwDEioxYkRErMvrcctGcrvQJKEhQkKAgQUGCggT14VfviCpUQKiAUAGhAkIFPM7XROoGxUECzgAcwUB/MLp7PA+9bo42WAjhMkHaJUmc2Tc4OudIKtnr2pkTzsU6CDZmJR6gZ8HcvHWSVqKmowwSg/gIEWUaDJxp3/boiebmGjDpakhFWeUrTIqNQSPA3PgNw+YGbcROYwCoGsS/EVGGr9F3V8XWbgWtzA9PJbHpRHHeEEWRbUywgbnxr5zdeDOiMblVrXyA0k0iyiJCZqifJbtwY3i5G3k028WccLG3A/Z4BmwABrVqVAg16mN0DoF5QLMzUA0JZwmUKUmGzAWxPQ4kJ1Ob/L+HJfFKp3K5ciQDKiAjAQ5qUR2go2Qce2G4rMhZTXYBkQzmg+o8m4yGjOptPbVf1WhZ5g9ZxyWz8c9T5wcrrMQzO7uj6TUVIlkCjXauYxjG5toUhVMBRNyPTCgHKFsCZ/qbA7JKt1j1XdtuJQD13X3GXYixO1QS5XgwD1YfmfagNiqRgOlyesyW+/soycksffn3haEM7kGgvKhIPnD+u2jXDWeNk/RUuKC3LgaVlspxzHJPkuhi146mPZfWd3duYf4HFXjVlDenBVgAAAAASUVORK5CYII=";
// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(85893);
;// CONCATENATED MODULE: ./src/pages/Engineering/index.tsx
var SubMenu = menu/* default.SubMenu */.Z.SubMenu;
var Engineering = function Engineering(_ref) {
var user = _ref.user,
globalSetting = _ref.globalSetting,
engineering = _ref.engineering;
var location = (0,_umi_production_exports.useLocation)();
var _React$useState = react.useState(['1', '2', '3', '4']),
_React$useState2 = slicedToArray_default()(_React$useState, 2),
openKeys = _React$useState2[0],
setOpenKeys = _React$useState2[1];
var _React$useState3 = react.useState([]),
_React$useState4 = slicedToArray_default()(_React$useState3, 2),
selectedKeys = _React$useState4[0],
setSelectedKeys = _React$useState4[1];
var showMenu = engineering.showMenu,
matrixVerify = engineering.matrixVerify;
(0,react.useEffect)(function () {
//重定向页面
if ((location === null || location === void 0 ? void 0 : location.pathname) === '/engineering') {
_umi_production_exports.history.replace('/engineering/navigation');
}
document.title = '工程认证';
}, [location === null || location === void 0 ? void 0 : location.pathname]);
(0,react.useEffect)(function () {
document.title = '工程认证';
});
(0,react.useEffect)(function () {
var _filterKey = filterKey(),
filterOpenKeys = _filterKey.filterOpenKeys,
filterSelectedKeys = _filterKey.filterSelectedKeys;
console.log(filterKey());
// setOpenKeys(filterOpenKeys);
setSelectedKeys(filterSelectedKeys);
}, [location === null || location === void 0 ? void 0 : location.pathname]);
//登录判断
(0,react.useEffect)(function () {
(0,fetch/* default */.ZP)("/api/ec_major_schools/1/ec_years/has_logged.json", {
method: "get"
});
}, []);
var items = [
// {
// title: '认证导航',
// key: '/engineering/navigation',
// icon: <i className="iconfont icon-tongji4"></i>,
// isMenu: true,
// },
{
title: '专业设置',
key: '1',
icon: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-zhuanyeshezhi"
}),
children: [{
title: '培养方案',
key: '/engineering/trainingProgram',
icon: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-peiyangfangan font14"
})
}, {
title: '培养目标',
key: '/engineering/trainingObjectives',
icon: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-peiyangmubiao font14"
})
}, {
title: '教师信息',
key: '/engineering/teacherList',
icon: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-jiaoshiliebiao font14"
})
}, {
title: '学生信息',
key: '/engineering/studentList',
icon: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-xueshengliebiao font14"
})
}]
}, {
title: '毕业要求',
key: '2',
icon: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-biyeyaoqiu"
}),
children: [{
title: '毕业指标',
key: '/engineering/graduationindex',
icon: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-biyezhibiao font14"
})
}, {
title: '毕业矩阵',
key: '/engineering/graduatedMatrix',
icon: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-biyejuzhen font14"
})
}]
}, {
title: '课程体系',
key: '3',
icon: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-kechengtixi"
}),
children: [{
title: '课程列表',
key: '/engineering/courseList',
icon: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-kechengliebiao font14"
})
}, {
title: '课程设置',
key: '/engineering/cursesetting',
icon: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-kechengshezhi font14"
})
}, {
title: '课程矩阵',
key: '/engineering/courseMatrix',
icon: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-kechengjuzhen font14"
})
}]
}, {
title: '达成评价',
key: '4',
icon: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-dachengpinggu"
}),
children: [{
title: '课程评价',
key: '/engineering/evaluate/course',
icon: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-kechengpingjia font14"
})
}, {
title: '指标评价',
key: '/engineering/evaluate/norm',
icon: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-zhibiaopingjia font14"
})
}, {
title: '文档生成',
key: '/engineering/evaluate/document',
icon: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-wendangshengcheng font14"
})
}]
}];
var filterKey = function filterKey() {
var pathname = location === null || location === void 0 ? void 0 : location.pathname;
var filterOpenKeys = [];
var filterSelectedKeys = [];
for (var i = 0; i < items.length; i++) {
var _items$i$children;
if ((_items$i$children = items[i].children) !== null && _items$i$children !== void 0 && _items$i$children.length) {
for (var j = 0; j < items[i].children.length; j++) {
if (pathname.includes(items[i].children[j].key)) {
filterOpenKeys = [items[i].key];
filterSelectedKeys = [items[i].children[j].key];
return {
filterOpenKeys: filterOpenKeys,
filterSelectedKeys: filterSelectedKeys
};
}
}
}
}
return {
filterOpenKeys: filterOpenKeys,
filterSelectedKeys: filterSelectedKeys
};
};
var onOpenChange = function onOpenChange(keys) {
console.log(openKeys, keys, 44);
// if (openKeys[0] === keys[0]) {
// if (keys.length === 2) {
// setOpenKeys([keys[1]]);
// return;
// }
// setOpenKeys([]);
// return;
// }
setOpenKeys(keys);
};
var go = function go(url) {
var put = function put() {
_umi_production_exports.history.push(url);
};
if (matrixVerify !== null && matrixVerify !== void 0 && matrixVerify.key) {
var _matrixVerify$params;
(0,util/* verifyModal */.t)(put, "\u6BD5\u4E1A\u8981\u6C42\u6307\u6807\u70B9\u5B58\u5728\u6CA1\u6709\u5173\u8054".concat((matrixVerify === null || matrixVerify === void 0 ? void 0 : (_matrixVerify$params = matrixVerify.params) === null || _matrixVerify$params === void 0 ? void 0 : _matrixVerify$params.tab) === '1' ? '培养目标' : '通用标准', "\uFF0C\u786E\u5B9A\u662F\u5426\u79BB\u5F00\u5F53\u524D\u9875\u9762\uFF1F"));
} else {
put();
}
};
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Engineeringmodules.wrap,
children: [showMenu && (location === null || location === void 0 ? void 0 : location.pathname) !== '/exam' && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Engineeringmodules.left,
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("aside", {
onClick: function onClick() {
return go('/engineering/navigation');
},
className: Engineeringmodules.home,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "mr15",
children: /*#__PURE__*/(0,jsx_runtime.jsx)("img", {
width: 32,
src: navigation_namespaceObject
})
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Engineeringmodules.info,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
children: "\u8BA4\u8BC1\u5BFC\u822A"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
children: "CERTIFICATION"
})]
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)(menu/* default */.Z, {
mode: "inline",
selectedKeys: selectedKeys,
openKeys: openKeys,
onOpenChange: onOpenChange,
inlineIndent: 15,
className: Engineeringmodules.menu,
expandIcon: function expandIcon(b) {
return b.isOpen ? /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
style: {
visibility: 'hidden'
},
className: "icon-xiala3 custom-icon"
}) : /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
style: {
visibility: 'hidden'
},
className: "icon-xiala2 custom-icon"
});
},
children: items.map(function (item) {
if (item.isMenu) {
// return (
// <Menu.Item key={item.key}>
// <aside onClick={() => go(item.key)} className={styles.home}>
// <div className="mr15">
// <img src={NavImg} />
// </div>
// <div>
// <div>{item.title}</div>
// <div>CERTIFICATION</div>
// </div>
// </aside>
// </Menu.Item>
// );
} else {
var _item$children;
return /*#__PURE__*/(0,jsx_runtime.jsx)(SubMenu, {
icon: item.icon,
title: item.title,
children: item.children && ((_item$children = item.children) === null || _item$children === void 0 ? void 0 : _item$children.map(function (e) {
return /*#__PURE__*/(0,jsx_runtime.jsx)(menu/* default.Item */.Z.Item, {
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("aside", {
onClick: function onClick() {
return go(e.key);
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "mr15",
children: e === null || e === void 0 ? void 0 : e.icon
}), e.title]
})
}, e.key);
}))
}, item.key);
}
})
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: Engineeringmodules.right,
children: /*#__PURE__*/(0,jsx_runtime.jsx)(_umi_production_exports.Outlet, {})
})]
});
};
/* harmony default export */ var pages_Engineering = ((0,_umi_production_exports.connect)(function (_ref2) {
var globalSetting = _ref2.globalSetting,
user = _ref2.user,
engineering = _ref2.engineering;
return {
user: user,
globalSetting: globalSetting,
engineering: engineering
};
})(Engineering));
/***/ }),
/***/ 34243:
/*!**********************************************************!*\
!*** ./node_modules/rc-overflow/es/index.js + 4 modules ***!
\**********************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
"Z": function() { return /* binding */ rc_overflow_es; }
});
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
var esm_extends = __webpack_require__(87462);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectSpread2.js
var objectSpread2 = __webpack_require__(1413);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js + 1 modules
var slicedToArray = __webpack_require__(97685);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js
var objectWithoutProperties = __webpack_require__(45987);
// EXTERNAL MODULE: ./node_modules/react/index.js
var react = __webpack_require__(67294);
// EXTERNAL MODULE: ./node_modules/classnames/index.js
var classnames = __webpack_require__(94184);
var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
// EXTERNAL MODULE: ./node_modules/rc-resize-observer/es/index.js + 4 modules
var es = __webpack_require__(48555);
// EXTERNAL MODULE: ./node_modules/rc-util/es/hooks/useLayoutEffect.js
var useLayoutEffect = __webpack_require__(8410);
;// CONCATENATED MODULE: ./node_modules/rc-overflow/es/Item.js
var _excluded = ["prefixCls", "invalidate", "item", "renderItem", "responsive", "responsiveDisabled", "registerSize", "itemKey", "className", "style", "children", "display", "order", "component"];
// Use shared variable to save bundle size
var UNDEFINED = undefined;
function InternalItem(props, ref) {
var prefixCls = props.prefixCls,
invalidate = props.invalidate,
item = props.item,
renderItem = props.renderItem,
responsive = props.responsive,
responsiveDisabled = props.responsiveDisabled,
registerSize = props.registerSize,
itemKey = props.itemKey,
className = props.className,
style = props.style,
children = props.children,
display = props.display,
order = props.order,
_props$component = props.component,
Component = _props$component === void 0 ? 'div' : _props$component,
restProps = (0,objectWithoutProperties/* default */.Z)(props, _excluded);
var mergedHidden = responsive && !display; // ================================ Effect ================================
function internalRegisterSize(width) {
registerSize(itemKey, width);
}
react.useEffect(function () {
return function () {
internalRegisterSize(null);
};
}, []); // ================================ Render ================================
var childNode = renderItem && item !== UNDEFINED ? renderItem(item) : children;
var overflowStyle;
if (!invalidate) {
overflowStyle = {
opacity: mergedHidden ? 0 : 1,
height: mergedHidden ? 0 : UNDEFINED,
overflowY: mergedHidden ? 'hidden' : UNDEFINED,
order: responsive ? order : UNDEFINED,
pointerEvents: mergedHidden ? 'none' : UNDEFINED,
position: mergedHidden ? 'absolute' : UNDEFINED
};
}
var overflowProps = {};
if (mergedHidden) {
overflowProps['aria-hidden'] = true;
}
var itemNode = /*#__PURE__*/react.createElement(Component, (0,esm_extends/* default */.Z)({
className: classnames_default()(!invalidate && prefixCls, className),
style: (0,objectSpread2/* default */.Z)((0,objectSpread2/* default */.Z)({}, overflowStyle), style)
}, overflowProps, restProps, {
ref: ref
}), childNode);
if (responsive) {
itemNode = /*#__PURE__*/react.createElement(es/* default */.Z, {
onResize: function onResize(_ref) {
var offsetWidth = _ref.offsetWidth;
internalRegisterSize(offsetWidth);
},
disabled: responsiveDisabled
}, itemNode);
}
return itemNode;
}
var Item = /*#__PURE__*/react.forwardRef(InternalItem);
Item.displayName = 'Item';
/* harmony default export */ var es_Item = (Item);
// EXTERNAL MODULE: ./node_modules/rc-util/es/raf.js
var raf = __webpack_require__(75164);
// EXTERNAL MODULE: ./node_modules/rc-util/es/hooks/useState.js
var useState = __webpack_require__(30470);
;// CONCATENATED MODULE: ./node_modules/rc-overflow/es/hooks/useBatchFrameState.js
/**
* State generate. Return a `setState` but it will flush all state with one render to save perf.
* This is not a realization of `unstable_batchedUpdates`.
*/
function useBatchFrameState() {
var _useState = (0,useState/* default */.Z)({}),
_useState2 = (0,slicedToArray/* default */.Z)(_useState, 2),
forceUpdate = _useState2[1];
var statesRef = (0,react.useRef)([]);
var walkingIndex = 0;
var beforeFrameId = 0;
function createState(defaultValue) {
var myIndex = walkingIndex;
walkingIndex += 1; // Fill value if not exist yet
if (statesRef.current.length < myIndex + 1) {
statesRef.current[myIndex] = defaultValue;
} // Return filled as `setState`
var value = statesRef.current[myIndex];
function setValue(val) {
statesRef.current[myIndex] = typeof val === 'function' ? val(statesRef.current[myIndex]) : val;
raf/* default.cancel */.Z.cancel(beforeFrameId); // Flush with batch
beforeFrameId = (0,raf/* default */.Z)(function () {
forceUpdate({}, true);
});
}
return [value, setValue];
}
return createState;
}
;// CONCATENATED MODULE: ./node_modules/rc-overflow/es/RawItem.js
var RawItem_excluded = ["component"],
_excluded2 = ["className"],
_excluded3 = ["className"];
var InternalRawItem = function InternalRawItem(props, ref) {
var context = react.useContext(OverflowContext); // Render directly when context not provided
if (!context) {
var _props$component = props.component,
Component = _props$component === void 0 ? 'div' : _props$component,
_restProps = (0,objectWithoutProperties/* default */.Z)(props, RawItem_excluded);
return /*#__PURE__*/react.createElement(Component, (0,esm_extends/* default */.Z)({}, _restProps, {
ref: ref
}));
}
var contextClassName = context.className,
restContext = (0,objectWithoutProperties/* default */.Z)(context, _excluded2);
var className = props.className,
restProps = (0,objectWithoutProperties/* default */.Z)(props, _excluded3); // Do not pass context to sub item to avoid multiple measure
return /*#__PURE__*/react.createElement(OverflowContext.Provider, {
value: null
}, /*#__PURE__*/react.createElement(es_Item, (0,esm_extends/* default */.Z)({
ref: ref,
className: classnames_default()(contextClassName, className)
}, restContext, restProps)));
};
var RawItem = /*#__PURE__*/react.forwardRef(InternalRawItem);
RawItem.displayName = 'RawItem';
/* harmony default export */ var es_RawItem = (RawItem);
;// CONCATENATED MODULE: ./node_modules/rc-overflow/es/Overflow.js
var Overflow_excluded = ["prefixCls", "data", "renderItem", "renderRawItem", "itemKey", "itemWidth", "ssr", "style", "className", "maxCount", "renderRest", "renderRawRest", "suffix", "component", "itemComponent", "onVisibleChange"];
var OverflowContext = /*#__PURE__*/react.createContext(null);
var RESPONSIVE = 'responsive';
var INVALIDATE = 'invalidate';
function defaultRenderRest(omittedItems) {
return "+ ".concat(omittedItems.length, " ...");
}
function Overflow(props, ref) {
var _props$prefixCls = props.prefixCls,
prefixCls = _props$prefixCls === void 0 ? 'rc-overflow' : _props$prefixCls,
_props$data = props.data,
data = _props$data === void 0 ? [] : _props$data,
renderItem = props.renderItem,
renderRawItem = props.renderRawItem,
itemKey = props.itemKey,
_props$itemWidth = props.itemWidth,
itemWidth = _props$itemWidth === void 0 ? 10 : _props$itemWidth,
ssr = props.ssr,
style = props.style,
className = props.className,
maxCount = props.maxCount,
renderRest = props.renderRest,
renderRawRest = props.renderRawRest,
suffix = props.suffix,
_props$component = props.component,
Component = _props$component === void 0 ? 'div' : _props$component,
itemComponent = props.itemComponent,
onVisibleChange = props.onVisibleChange,
restProps = (0,objectWithoutProperties/* default */.Z)(props, Overflow_excluded);
var createUseState = useBatchFrameState();
var fullySSR = ssr === 'full';
var _createUseState = createUseState(null),
_createUseState2 = (0,slicedToArray/* default */.Z)(_createUseState, 2),
containerWidth = _createUseState2[0],
setContainerWidth = _createUseState2[1];
var mergedContainerWidth = containerWidth || 0;
var _createUseState3 = createUseState(new Map()),
_createUseState4 = (0,slicedToArray/* default */.Z)(_createUseState3, 2),
itemWidths = _createUseState4[0],
setItemWidths = _createUseState4[1];
var _createUseState5 = createUseState(0),
_createUseState6 = (0,slicedToArray/* default */.Z)(_createUseState5, 2),
prevRestWidth = _createUseState6[0],
setPrevRestWidth = _createUseState6[1];
var _createUseState7 = createUseState(0),
_createUseState8 = (0,slicedToArray/* default */.Z)(_createUseState7, 2),
restWidth = _createUseState8[0],
setRestWidth = _createUseState8[1];
var _createUseState9 = createUseState(0),
_createUseState10 = (0,slicedToArray/* default */.Z)(_createUseState9, 2),
suffixWidth = _createUseState10[0],
setSuffixWidth = _createUseState10[1];
var _useState = (0,react.useState)(null),
_useState2 = (0,slicedToArray/* default */.Z)(_useState, 2),
suffixFixedStart = _useState2[0],
setSuffixFixedStart = _useState2[1];
var _useState3 = (0,react.useState)(null),
_useState4 = (0,slicedToArray/* default */.Z)(_useState3, 2),
displayCount = _useState4[0],
setDisplayCount = _useState4[1];
var mergedDisplayCount = react.useMemo(function () {
if (displayCount === null && fullySSR) {
return Number.MAX_SAFE_INTEGER;
}
return displayCount || 0;
}, [displayCount, containerWidth]);
var _useState5 = (0,react.useState)(false),
_useState6 = (0,slicedToArray/* default */.Z)(_useState5, 2),
restReady = _useState6[0],
setRestReady = _useState6[1];
var itemPrefixCls = "".concat(prefixCls, "-item"); // Always use the max width to avoid blink
var mergedRestWidth = Math.max(prevRestWidth, restWidth); // ================================= Data =================================
var isResponsive = maxCount === RESPONSIVE;
var shouldResponsive = data.length && isResponsive;
var invalidate = maxCount === INVALIDATE;
/**
* When is `responsive`, we will always render rest node to get the real width of it for calculation
*/
var showRest = shouldResponsive || typeof maxCount === 'number' && data.length > maxCount;
var mergedData = (0,react.useMemo)(function () {
var items = data;
if (shouldResponsive) {
if (containerWidth === null && fullySSR) {
items = data;
} else {
items = data.slice(0, Math.min(data.length, mergedContainerWidth / itemWidth));
}
} else if (typeof maxCount === 'number') {
items = data.slice(0, maxCount);
}
return items;
}, [data, itemWidth, containerWidth, maxCount, shouldResponsive]);
var omittedItems = (0,react.useMemo)(function () {
if (shouldResponsive) {
return data.slice(mergedDisplayCount + 1);
}
return data.slice(mergedData.length);
}, [data, mergedData, shouldResponsive, mergedDisplayCount]); // ================================= Item =================================
var getKey = (0,react.useCallback)(function (item, index) {
var _ref;
if (typeof itemKey === 'function') {
return itemKey(item);
}
return (_ref = itemKey && (item === null || item === void 0 ? void 0 : item[itemKey])) !== null && _ref !== void 0 ? _ref : index;
}, [itemKey]);
var mergedRenderItem = (0,react.useCallback)(renderItem || function (item) {
return item;
}, [renderItem]);
function updateDisplayCount(count, suffixFixedStartVal, notReady) {
// React 18 will sync render even when the value is same in some case.
// We take `mergedData` as deps which may cause dead loop if it's dynamic generate.
// ref: https://github.com/ant-design/ant-design/issues/36559
if (displayCount === count && (suffixFixedStartVal === undefined || suffixFixedStartVal === suffixFixedStart)) {
return;
}
setDisplayCount(count);
if (!notReady) {
setRestReady(count < data.length - 1);
onVisibleChange === null || onVisibleChange === void 0 ? void 0 : onVisibleChange(count);
}
if (suffixFixedStartVal !== undefined) {
setSuffixFixedStart(suffixFixedStartVal);
}
} // ================================= Size =================================
function onOverflowResize(_, element) {
setContainerWidth(element.clientWidth);
}
function registerSize(key, width) {
setItemWidths(function (origin) {
var clone = new Map(origin);
if (width === null) {
clone.delete(key);
} else {
clone.set(key, width);
}
return clone;
});
}
function registerOverflowSize(_, width) {
setRestWidth(width);
setPrevRestWidth(restWidth);
}
function registerSuffixSize(_, width) {
setSuffixWidth(width);
} // ================================ Effect ================================
function getItemWidth(index) {
return itemWidths.get(getKey(mergedData[index], index));
}
(0,useLayoutEffect/* default */.Z)(function () {
if (mergedContainerWidth && mergedRestWidth && mergedData) {
var totalWidth = suffixWidth;
var len = mergedData.length;
var lastIndex = len - 1; // When data count change to 0, reset this since not loop will reach
if (!len) {
updateDisplayCount(0, null);
return;
}
for (var i = 0; i < len; i += 1) {
var currentItemWidth = getItemWidth(i); // Fully will always render
if (fullySSR) {
currentItemWidth = currentItemWidth || 0;
} // Break since data not ready
if (currentItemWidth === undefined) {
updateDisplayCount(i - 1, undefined, true);
break;
} // Find best match
totalWidth += currentItemWidth;
if ( // Only one means `totalWidth` is the final width
lastIndex === 0 && totalWidth <= mergedContainerWidth || // Last two width will be the final width
i === lastIndex - 1 && totalWidth + getItemWidth(lastIndex) <= mergedContainerWidth) {
// Additional check if match the end
updateDisplayCount(lastIndex, null);
break;
} else if (totalWidth + mergedRestWidth > mergedContainerWidth) {
// Can not hold all the content to show rest
updateDisplayCount(i - 1, totalWidth - currentItemWidth - suffixWidth + restWidth);
break;
}
}
if (suffix && getItemWidth(0) + suffixWidth > mergedContainerWidth) {
setSuffixFixedStart(null);
}
}
}, [mergedContainerWidth, itemWidths, restWidth, suffixWidth, getKey, mergedData]); // ================================ Render ================================
var displayRest = restReady && !!omittedItems.length;
var suffixStyle = {};
if (suffixFixedStart !== null && shouldResponsive) {
suffixStyle = {
position: 'absolute',
left: suffixFixedStart,
top: 0
};
}
var itemSharedProps = {
prefixCls: itemPrefixCls,
responsive: shouldResponsive,
component: itemComponent,
invalidate: invalidate
}; // >>>>> Choice render fun by `renderRawItem`
var internalRenderItemNode = renderRawItem ? function (item, index) {
var key = getKey(item, index);
return /*#__PURE__*/react.createElement(OverflowContext.Provider, {
key: key,
value: (0,objectSpread2/* default */.Z)((0,objectSpread2/* default */.Z)({}, itemSharedProps), {}, {
order: index,
item: item,
itemKey: key,
registerSize: registerSize,
display: index <= mergedDisplayCount
})
}, renderRawItem(item, index));
} : function (item, index) {
var key = getKey(item, index);
return /*#__PURE__*/react.createElement(es_Item, (0,esm_extends/* default */.Z)({}, itemSharedProps, {
order: index,
key: key,
item: item,
renderItem: mergedRenderItem,
itemKey: key,
registerSize: registerSize,
display: index <= mergedDisplayCount
}));
}; // >>>>> Rest node
var restNode;
var restContextProps = {
order: displayRest ? mergedDisplayCount : Number.MAX_SAFE_INTEGER,
className: "".concat(itemPrefixCls, "-rest"),
registerSize: registerOverflowSize,
display: displayRest
};
if (!renderRawRest) {
var mergedRenderRest = renderRest || defaultRenderRest;
restNode = /*#__PURE__*/react.createElement(es_Item, (0,esm_extends/* default */.Z)({}, itemSharedProps, restContextProps), typeof mergedRenderRest === 'function' ? mergedRenderRest(omittedItems) : mergedRenderRest);
} else if (renderRawRest) {
restNode = /*#__PURE__*/react.createElement(OverflowContext.Provider, {
value: (0,objectSpread2/* default */.Z)((0,objectSpread2/* default */.Z)({}, itemSharedProps), restContextProps)
}, renderRawRest(omittedItems));
}
var overflowNode = /*#__PURE__*/react.createElement(Component, (0,esm_extends/* default */.Z)({
className: classnames_default()(!invalidate && prefixCls, className),
style: style,
ref: ref
}, restProps), mergedData.map(internalRenderItemNode), showRest ? restNode : null, suffix && /*#__PURE__*/react.createElement(es_Item, (0,esm_extends/* default */.Z)({}, itemSharedProps, {
responsive: isResponsive,
responsiveDisabled: !shouldResponsive,
order: mergedDisplayCount,
className: "".concat(itemPrefixCls, "-suffix"),
registerSize: registerSuffixSize,
display: true,
style: suffixStyle
}), suffix));
if (isResponsive) {
overflowNode = /*#__PURE__*/react.createElement(es/* default */.Z, {
onResize: onOverflowResize,
disabled: !shouldResponsive
}, overflowNode);
}
return overflowNode;
}
var ForwardOverflow = /*#__PURE__*/react.forwardRef(Overflow);
ForwardOverflow.displayName = 'Overflow';
ForwardOverflow.Item = es_RawItem;
ForwardOverflow.RESPONSIVE = RESPONSIVE;
ForwardOverflow.INVALIDATE = INVALIDATE; // Convert to generic type
/* harmony default export */ var es_Overflow = (ForwardOverflow);
;// CONCATENATED MODULE: ./node_modules/rc-overflow/es/index.js
/* harmony default export */ var rc_overflow_es = (es_Overflow);
/***/ }),
/***/ 48555:
/*!*****************************************************************!*\
!*** ./node_modules/rc-resize-observer/es/index.js + 4 modules ***!
\*****************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
"Z": function() { return /* binding */ es; }
});
// UNUSED EXPORTS: _rs
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
var esm_extends = __webpack_require__(87462);
// EXTERNAL MODULE: ./node_modules/react/index.js
var react = __webpack_require__(67294);
// EXTERNAL MODULE: ./node_modules/rc-util/es/Children/toArray.js
var toArray = __webpack_require__(50344);
// EXTERNAL MODULE: ./node_modules/rc-util/es/warning.js
var warning = __webpack_require__(80334);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectSpread2.js
var objectSpread2 = __webpack_require__(1413);
// EXTERNAL MODULE: ./node_modules/rc-util/es/ref.js
var es_ref = __webpack_require__(42550);
// EXTERNAL MODULE: ./node_modules/rc-util/es/Dom/findDOMNode.js
var findDOMNode = __webpack_require__(34203);
// EXTERNAL MODULE: ./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js
var ResizeObserver_es = __webpack_require__(91033);
;// CONCATENATED MODULE: ./node_modules/rc-resize-observer/es/utils/observerUtil.js
// =============================== Const ===============================
var elementListeners = new Map();
function onResize(entities) {
entities.forEach(function (entity) {
var _elementListeners$get;
var target = entity.target;
(_elementListeners$get = elementListeners.get(target)) === null || _elementListeners$get === void 0 ? void 0 : _elementListeners$get.forEach(function (listener) {
return listener(target);
});
});
}
// Note: ResizeObserver polyfill not support option to measure border-box resize
var resizeObserver = new ResizeObserver_es/* default */.Z(onResize);
// Dev env only
var _el = (/* unused pure expression or super */ null && ( false ? 0 : null)); // eslint-disable-line
var _rs = (/* unused pure expression or super */ null && ( false ? 0 : null)); // eslint-disable-line
// ============================== Observe ==============================
function observe(element, callback) {
if (!elementListeners.has(element)) {
elementListeners.set(element, new Set());
resizeObserver.observe(element);
}
elementListeners.get(element).add(callback);
}
function unobserve(element, callback) {
if (elementListeners.has(element)) {
elementListeners.get(element).delete(callback);
if (!elementListeners.get(element).size) {
resizeObserver.unobserve(element);
elementListeners.delete(element);
}
}
}
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js
var classCallCheck = __webpack_require__(15671);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/createClass.js
var createClass = __webpack_require__(43144);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/inherits.js
var inherits = __webpack_require__(60136);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/createSuper.js + 1 modules
var createSuper = __webpack_require__(51630);
;// CONCATENATED MODULE: ./node_modules/rc-resize-observer/es/SingleObserver/DomWrapper.js
/**
* Fallback to findDOMNode if origin ref do not provide any dom element
*/
var DomWrapper = /*#__PURE__*/function (_React$Component) {
(0,inherits/* default */.Z)(DomWrapper, _React$Component);
var _super = (0,createSuper/* default */.Z)(DomWrapper);
function DomWrapper() {
(0,classCallCheck/* default */.Z)(this, DomWrapper);
return _super.apply(this, arguments);
}
(0,createClass/* default */.Z)(DomWrapper, [{
key: "render",
value: function render() {
return this.props.children;
}
}]);
return DomWrapper;
}(react.Component);
;// CONCATENATED MODULE: ./node_modules/rc-resize-observer/es/Collection.js
var CollectionContext = /*#__PURE__*/react.createContext(null);
/**
* Collect all the resize event from children ResizeObserver
*/
function Collection(_ref) {
var children = _ref.children,
onBatchResize = _ref.onBatchResize;
var resizeIdRef = react.useRef(0);
var resizeInfosRef = react.useRef([]);
var onCollectionResize = react.useContext(CollectionContext);
var onResize = react.useCallback(function (size, element, data) {
resizeIdRef.current += 1;
var currentId = resizeIdRef.current;
resizeInfosRef.current.push({
size: size,
element: element,
data: data
});
Promise.resolve().then(function () {
if (currentId === resizeIdRef.current) {
onBatchResize === null || onBatchResize === void 0 ? void 0 : onBatchResize(resizeInfosRef.current);
resizeInfosRef.current = [];
}
});
// Continue bubbling if parent exist
onCollectionResize === null || onCollectionResize === void 0 ? void 0 : onCollectionResize(size, element, data);
}, [onBatchResize, onCollectionResize]);
return /*#__PURE__*/react.createElement(CollectionContext.Provider, {
value: onResize
}, children);
}
;// CONCATENATED MODULE: ./node_modules/rc-resize-observer/es/SingleObserver/index.js
function SingleObserver(props, ref) {
var children = props.children,
disabled = props.disabled;
var elementRef = react.useRef(null);
var wrapperRef = react.useRef(null);
var onCollectionResize = react.useContext(CollectionContext);
// =========================== Children ===========================
var isRenderProps = typeof children === 'function';
var mergedChildren = isRenderProps ? children(elementRef) : children;
// ============================= Size =============================
var sizeRef = react.useRef({
width: -1,
height: -1,
offsetWidth: -1,
offsetHeight: -1
});
// ============================= Ref ==============================
var canRef = !isRenderProps && /*#__PURE__*/react.isValidElement(mergedChildren) && (0,es_ref/* supportRef */.Yr)(mergedChildren);
var originRef = canRef ? mergedChildren.ref : null;
var mergedRef = react.useMemo(function () {
return (0,es_ref/* composeRef */.sQ)(originRef, elementRef);
}, [originRef, elementRef]);
var getDom = function getDom() {
return (0,findDOMNode/* default */.Z)(elementRef.current) || (0,findDOMNode/* default */.Z)(wrapperRef.current);
};
react.useImperativeHandle(ref, function () {
return getDom();
});
// =========================== Observe ============================
var propsRef = react.useRef(props);
propsRef.current = props;
// Handler
var onInternalResize = react.useCallback(function (target) {
var _propsRef$current = propsRef.current,
onResize = _propsRef$current.onResize,
data = _propsRef$current.data;
var _target$getBoundingCl = target.getBoundingClientRect(),
width = _target$getBoundingCl.width,
height = _target$getBoundingCl.height;
var offsetWidth = target.offsetWidth,
offsetHeight = target.offsetHeight;
/**
* Resize observer trigger when content size changed.
* In most case we just care about element size,
* let's use `boundary` instead of `contentRect` here to avoid shaking.
*/
var fixedWidth = Math.floor(width);
var fixedHeight = Math.floor(height);
if (sizeRef.current.width !== fixedWidth || sizeRef.current.height !== fixedHeight || sizeRef.current.offsetWidth !== offsetWidth || sizeRef.current.offsetHeight !== offsetHeight) {
var size = {
width: fixedWidth,
height: fixedHeight,
offsetWidth: offsetWidth,
offsetHeight: offsetHeight
};
sizeRef.current = size;
// IE is strange, right?
var mergedOffsetWidth = offsetWidth === Math.round(width) ? width : offsetWidth;
var mergedOffsetHeight = offsetHeight === Math.round(height) ? height : offsetHeight;
var sizeInfo = (0,objectSpread2/* default */.Z)((0,objectSpread2/* default */.Z)({}, size), {}, {
offsetWidth: mergedOffsetWidth,
offsetHeight: mergedOffsetHeight
});
// Let collection know what happened
onCollectionResize === null || onCollectionResize === void 0 ? void 0 : onCollectionResize(sizeInfo, target, data);
if (onResize) {
// defer the callback but not defer to next frame
Promise.resolve().then(function () {
onResize(sizeInfo, target);
});
}
}
}, []);
// Dynamic observe
react.useEffect(function () {
var currentElement = getDom();
if (currentElement && !disabled) {
observe(currentElement, onInternalResize);
}
return function () {
return unobserve(currentElement, onInternalResize);
};
}, [elementRef.current, disabled]);
// ============================ Render ============================
return /*#__PURE__*/react.createElement(DomWrapper, {
ref: wrapperRef
}, canRef ? /*#__PURE__*/react.cloneElement(mergedChildren, {
ref: mergedRef
}) : mergedChildren);
}
var RefSingleObserver = /*#__PURE__*/react.forwardRef(SingleObserver);
if (false) {}
/* harmony default export */ var es_SingleObserver = (RefSingleObserver);
;// CONCATENATED MODULE: ./node_modules/rc-resize-observer/es/index.js
var INTERNAL_PREFIX_KEY = 'rc-observer-key';
function ResizeObserver(props, ref) {
var children = props.children;
var childNodes = typeof children === 'function' ? [children] : (0,toArray/* default */.Z)(children);
if (false) {}
return childNodes.map(function (child, index) {
var key = (child === null || child === void 0 ? void 0 : child.key) || "".concat(INTERNAL_PREFIX_KEY, "-").concat(index);
return /*#__PURE__*/react.createElement(es_SingleObserver, (0,esm_extends/* default */.Z)({}, props, {
key: key,
ref: index === 0 ? ref : undefined
}), child);
});
}
var RefResizeObserver = /*#__PURE__*/react.forwardRef(ResizeObserver);
if (false) {}
RefResizeObserver.Collection = Collection;
/* harmony default export */ var es = (RefResizeObserver);
/***/ })
}]);