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.
1471 lines
59 KiB
1471 lines
59 KiB
"use strict";
|
|
(self["webpackChunk"] = self["webpackChunk"] || []).push([[65549,15250,94333,6216,21105],{
|
|
|
|
/***/ 15997:
|
|
/*!*****************************************************************************************************!*\
|
|
!*** ./node_modules/_@ant-design_icons@5.2.6@@ant-design/icons/es/icons/EyeOutlined.js + 1 modules ***!
|
|
\*****************************************************************************************************/
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
// EXPORTS
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
Z: function() { return /* binding */ icons_EyeOutlined; }
|
|
});
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/esm/extends.js
|
|
var esm_extends = __webpack_require__(26508);
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
|
|
var _react_17_0_2_react = __webpack_require__(59301);
|
|
;// CONCATENATED MODULE: ./node_modules/_@ant-design_icons-svg@4.3.1@@ant-design/icons-svg/es/asn/EyeOutlined.js
|
|
// This icon file is generated automatically.
|
|
var EyeOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M942.2 486.2C847.4 286.5 704.1 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 000 51.5C176.6 737.5 319.9 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0-51.5zM512 766c-161.3 0-279.4-81.8-362.7-254C232.6 339.8 350.7 258 512 258c161.3 0 279.4 81.8 362.7 254C791.5 684.2 673.4 766 512 766zm-4-430c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm0 288c-61.9 0-112-50.1-112-112s50.1-112 112-112 112 50.1 112 112-50.1 112-112 112z" } }] }, "name": "eye", "theme": "outlined" };
|
|
/* harmony default export */ var asn_EyeOutlined = (EyeOutlined);
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.2.6@@ant-design/icons/es/components/AntdIcon.js + 3 modules
|
|
var AntdIcon = __webpack_require__(91851);
|
|
;// CONCATENATED MODULE: ./node_modules/_@ant-design_icons@5.2.6@@ant-design/icons/es/icons/EyeOutlined.js
|
|
|
|
// GENERATE BY ./scripts/generate.ts
|
|
// DON NOT EDIT IT MANUALLY
|
|
|
|
|
|
|
|
|
|
var EyeOutlined_EyeOutlined = function EyeOutlined(props, ref) {
|
|
return /*#__PURE__*/_react_17_0_2_react.createElement(AntdIcon/* default */.Z, (0,esm_extends/* default */.Z)({}, props, {
|
|
ref: ref,
|
|
icon: asn_EyeOutlined
|
|
}));
|
|
};
|
|
if (false) {}
|
|
/* harmony default export */ var icons_EyeOutlined = (/*#__PURE__*/_react_17_0_2_react.forwardRef(EyeOutlined_EyeOutlined));
|
|
|
|
/***/ }),
|
|
|
|
/***/ 30947:
|
|
/*!***************************************************************!*\
|
|
!*** ./src/pages/Shixuns/New/CreateImg/index.tsx + 1 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 */ CreateImg; }
|
|
});
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/regeneratorRuntime.js
|
|
var regeneratorRuntime = __webpack_require__(10574);
|
|
var regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(regeneratorRuntime);
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/objectSpread2.js
|
|
var objectSpread2 = __webpack_require__(26801);
|
|
var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2);
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/asyncToGenerator.js
|
|
var asyncToGenerator = __webpack_require__(39343);
|
|
var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/slicedToArray.js
|
|
var slicedToArray = __webpack_require__(11006);
|
|
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/objectWithoutProperties.js
|
|
var objectWithoutProperties = __webpack_require__(27161);
|
|
var objectWithoutProperties_default = /*#__PURE__*/__webpack_require__.n(objectWithoutProperties);
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
|
|
var _react_17_0_2_react = __webpack_require__(59301);
|
|
// EXTERNAL MODULE: ./src/.umi-production/exports.ts + 8 modules
|
|
var _umi_production_exports = __webpack_require__(66660);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/statistic/index.js + 5 modules
|
|
var statistic = __webpack_require__(31797);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/select/index.js
|
|
var es_select = __webpack_require__(57809);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/message/index.js + 4 modules
|
|
var message = __webpack_require__(8591);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/form/index.js + 19 modules
|
|
var es_form = __webpack_require__(78241);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/input/index.js + 5 modules
|
|
var input = __webpack_require__(1056);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/button/index.js
|
|
var es_button = __webpack_require__(3113);
|
|
// EXTERNAL MODULE: ./src/pages/tasks/vnc-view/index.less
|
|
var vnc_view = __webpack_require__(36603);
|
|
// EXTERNAL MODULE: ./src/utils/fetch.ts
|
|
var fetch = __webpack_require__(97174);
|
|
;// CONCATENATED MODULE: ./src/pages/Shixuns/New/CreateImg/index.less?modules
|
|
// extracted by mini-css-extract-plugin
|
|
/* harmony default export */ var CreateImgmodules = ({"Heard":"Heard___pH4fh","Divle":"Divle___bYaA3","formWrap":"formWrap___quk7o"});
|
|
// EXTERNAL MODULE: ./src/utils/util.tsx
|
|
var util = __webpack_require__(27291);
|
|
// EXTERNAL MODULE: ./node_modules/_md5@2.3.0@md5/md5.js
|
|
var md5 = __webpack_require__(93735);
|
|
var md5_default = /*#__PURE__*/__webpack_require__.n(md5);
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js
|
|
var jsx_runtime = __webpack_require__(37712);
|
|
;// CONCATENATED MODULE: ./src/pages/Shixuns/New/CreateImg/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
var _excluded = ["classroomList", "globalSetting", "loading", "dispatch"];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var Countdown = statistic/* default */.Z.Countdown;
|
|
var Option = es_select["default"].Option;
|
|
|
|
|
|
|
|
var ClassroomListPage = function ClassroomListPage(_ref) {
|
|
var _Result$data, _Result$data2, _Result$data3, _Result$data4, _Result$data5, _Result$data6, _Result$data7, _Result$data8;
|
|
var classroomList = _ref.classroomList,
|
|
globalSetting = _ref.globalSetting,
|
|
loading = _ref.loading,
|
|
dispatch = _ref.dispatch,
|
|
props = objectWithoutProperties_default()(_ref, _excluded);
|
|
var _useState = (0,_react_17_0_2_react.useState)(),
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
Result = _useState2[0],
|
|
setResult = _useState2[1];
|
|
var _useState3 = (0,_react_17_0_2_react.useState)(60),
|
|
_useState4 = slicedToArray_default()(_useState3, 2),
|
|
seconds = _useState4[0],
|
|
setseconds = _useState4[1];
|
|
var _useState5 = (0,_react_17_0_2_react.useState)(false),
|
|
_useState6 = slicedToArray_default()(_useState5, 2),
|
|
secondsFlag = _useState6[0],
|
|
setsecondsFlag = _useState6[1];
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
//获取新增镜像数据
|
|
GetNewList();
|
|
}, []);
|
|
function GetNewList() {
|
|
return _GetNewList.apply(this, arguments);
|
|
}
|
|
function _GetNewList() {
|
|
_GetNewList = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
|
|
var result;
|
|
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
|
|
while (1) switch (_context.prev = _context.next) {
|
|
case 0:
|
|
_context.next = 2;
|
|
return (0,fetch/* default */.ZP)("/api/mirror_applies/new.json", {
|
|
method: 'get'
|
|
});
|
|
case 2:
|
|
result = _context.sent;
|
|
setResult(result);
|
|
case 4:
|
|
case "end":
|
|
return _context.stop();
|
|
}
|
|
}, _callee);
|
|
}));
|
|
return _GetNewList.apply(this, arguments);
|
|
}
|
|
var layout = {
|
|
labelCol: {
|
|
span: 4
|
|
},
|
|
wrapperCol: {
|
|
span: 20
|
|
}
|
|
};
|
|
function Submit(_x) {
|
|
return _Submit.apply(this, arguments);
|
|
}
|
|
function _Submit() {
|
|
_Submit = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2(errorInfo) {
|
|
var result;
|
|
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
|
|
while (1) switch (_context2.prev = _context2.next) {
|
|
case 0:
|
|
(0,util/* trackEvent */.L9)(['实践项目', '新建实践项目', '申请镜像']);
|
|
_context2.next = 3;
|
|
return (0,fetch/* default */.ZP)("/api/mirror_applies.json", {
|
|
method: 'post',
|
|
body: objectSpread2_default()({}, errorInfo)
|
|
});
|
|
case 3:
|
|
result = _context2.sent;
|
|
if ((result === null || result === void 0 ? void 0 : result.status) === 0) {
|
|
message/* default */.ZP.info('申请成功');
|
|
_umi_production_exports.history.push("/shixuns/new/".concat(result === null || result === void 0 ? void 0 : result.id, "/imagepreview?operation=create_image"));
|
|
}
|
|
case 5:
|
|
case "end":
|
|
return _context2.stop();
|
|
}
|
|
}, _callee2);
|
|
}));
|
|
return _Submit.apply(this, arguments);
|
|
}
|
|
function getversion() {
|
|
return _getversion.apply(this, arguments);
|
|
}
|
|
function _getversion() {
|
|
_getversion = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3() {
|
|
var _Result$data9, _Result$data10;
|
|
var opens, result;
|
|
return regeneratorRuntime_default()().wrap(function _callee3$(_context3) {
|
|
while (1) switch (_context3.prev = _context3.next) {
|
|
case 0:
|
|
opens = "79e33abd4b6588941ab7622aed1e67e8";
|
|
_context3.next = 3;
|
|
return (0,fetch/* default */.ZP)("/api/mirror_applies/send_code.json", {
|
|
method: 'get',
|
|
params: {
|
|
login: Result === null || Result === void 0 || (_Result$data9 = Result.data) === null || _Result$data9 === void 0 ? void 0 : _Result$data9.phone,
|
|
smscode: md5_default()(opens + (Result === null || Result === void 0 || (_Result$data10 = Result.data) === null || _Result$data10 === void 0 ? void 0 : _Result$data10.phone))
|
|
}
|
|
});
|
|
case 3:
|
|
result = _context3.sent;
|
|
if ((result === null || result === void 0 ? void 0 : result.status) === 0) {
|
|
message/* default */.ZP.info('获取验证码成功');
|
|
remainTime();
|
|
setsecondsFlag(true);
|
|
}
|
|
case 5:
|
|
case "end":
|
|
return _context3.stop();
|
|
}
|
|
}, _callee3);
|
|
}));
|
|
return _getversion.apply(this, arguments);
|
|
}
|
|
function remainTime() {
|
|
setseconds(60);
|
|
var aa = setInterval(function () {
|
|
--seconds;
|
|
if (seconds > -1) {
|
|
setseconds(seconds);
|
|
} else {
|
|
clearInterval(aa);
|
|
setsecondsFlag(false);
|
|
}
|
|
}, 1000);
|
|
}
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
className: "edu-container minH500",
|
|
style: {
|
|
width: '1200px',
|
|
background: '#ffffff',
|
|
marginTop: '40px'
|
|
},
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
className: CreateImgmodules.Heard,
|
|
children: "\u65B0\u5EFA\u5B9E\u9A8C\u955C\u50CF"
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
className: CreateImgmodules.Divle
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(es_form/* default */.Z, objectSpread2_default()(objectSpread2_default()({}, layout), {}, {
|
|
// size={'middle'}
|
|
className: CreateImgmodules.formWrap,
|
|
onFinish: Submit,
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
wrapperCol: {
|
|
offset: 0,
|
|
span: 16
|
|
},
|
|
label: "\u955C\u50CF\u540D\u79F0",
|
|
name: "name",
|
|
rules: [{
|
|
required: true,
|
|
message: '请输入镜像名称'
|
|
}],
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
|
|
bordered: false,
|
|
placeholder: '例如:***********'
|
|
})
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
wrapperCol: {
|
|
offset: 0,
|
|
span: 8
|
|
},
|
|
label: "\u57FA\u7840\u73AF\u5883",
|
|
name: "mirror_repository_id",
|
|
className: "customItemSelect",
|
|
rules: [{
|
|
required: true,
|
|
message: '请选择基础环境'
|
|
}],
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_select["default"], {
|
|
bordered: false,
|
|
placeholder: '请选择基础环境',
|
|
children: Result === null || Result === void 0 || (_Result$data = Result.data) === null || _Result$data === void 0 || (_Result$data = _Result$data.basic_environment_config) === null || _Result$data === void 0 ? void 0 : _Result$data.map(function (item, index) {
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(Option, {
|
|
value: item.id,
|
|
children: item.name
|
|
});
|
|
})
|
|
})
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
wrapperCol: {
|
|
offset: 0,
|
|
span: 8
|
|
},
|
|
label: "\u5B9E\u9A8C\u73AF\u5883\u914D\u7F6E",
|
|
name: "cpu_memory_limit",
|
|
className: "customItemSelect",
|
|
rules: [{
|
|
required: true,
|
|
message: '请选择实验环境配置'
|
|
}],
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_select["default"], {
|
|
bordered: false,
|
|
placeholder: '请选择实验环境配置',
|
|
children: Result === null || Result === void 0 || (_Result$data2 = Result.data) === null || _Result$data2 === void 0 || (_Result$data2 = _Result$data2.cpu_memory_limit_config) === null || _Result$data2 === void 0 ? void 0 : _Result$data2.map(function (item, index) {
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(Option, {
|
|
value: item,
|
|
children: item
|
|
});
|
|
})
|
|
})
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
wrapperCol: {
|
|
offset: 0,
|
|
span: 8
|
|
},
|
|
label: "\u5B9E\u9A8C\u73AF\u5883\u4F7F\u7528\u65F6\u957F",
|
|
name: "time_limit",
|
|
className: "customItemSelect",
|
|
rules: [{
|
|
required: true,
|
|
message: '请选择实验环境使用时长'
|
|
}],
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_select["default"], {
|
|
bordered: false,
|
|
placeholder: '请选择实验环境使用时长',
|
|
children: Result === null || Result === void 0 || (_Result$data3 = Result.data) === null || _Result$data3 === void 0 || (_Result$data3 = _Result$data3.time_limit_config) === null || _Result$data3 === void 0 ? void 0 : _Result$data3.map(function (item, index) {
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(Option, {
|
|
value: item.value,
|
|
children: item.name
|
|
});
|
|
})
|
|
})
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
wrapperCol: {
|
|
offset: 0,
|
|
span: 8
|
|
},
|
|
label: "\u77ED\u4FE1\u9A8C\u8BC1\u7801",
|
|
name: "code",
|
|
rules: [{
|
|
required: true,
|
|
message: '请输入短信验证码'
|
|
}],
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
style: {
|
|
display: 'flex'
|
|
},
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
|
|
bordered: false,
|
|
placeholder: '例如:***********'
|
|
}), " ", /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
disabled: secondsFlag || !(Result !== null && Result !== void 0 && (_Result$data4 = Result.data) !== null && _Result$data4 !== void 0 && _Result$data4.phone),
|
|
onClick: function onClick() {
|
|
return getversion();
|
|
},
|
|
type: "primary",
|
|
style: {
|
|
marginLeft: '20px',
|
|
height: '40px',
|
|
width: '120px',
|
|
marginTop: '5px'
|
|
},
|
|
children: secondsFlag ? "\u91CD\u65B0\u53D1\u9001".concat(seconds, "s") : '获取验证码'
|
|
})]
|
|
}), (Result === null || Result === void 0 || (_Result$data5 = Result.data) === null || _Result$data5 === void 0 ? void 0 : _Result$data5.phone) && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
style: {
|
|
color: '#999999',
|
|
fontSize: '14px'
|
|
},
|
|
children: ["\u9884\u7559\u624B\u673A\u53F7", (Result === null || Result === void 0 || (_Result$data6 = Result.data) === null || _Result$data6 === void 0 ? void 0 : _Result$data6.phone.substr(0, 3)) + '****' + (Result === null || Result === void 0 || (_Result$data7 = Result.data) === null || _Result$data7 === void 0 ? void 0 : _Result$data7.phone.substr(7, 11))]
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(_umi_production_exports.Link, {
|
|
style: {
|
|
marginLeft: '5px',
|
|
fontSize: '14px'
|
|
},
|
|
to: "/account/secure",
|
|
children: "\u66F4\u6362"
|
|
})]
|
|
}), !(Result !== null && Result !== void 0 && (_Result$data8 = Result.data) !== null && _Result$data8 !== void 0 && _Result$data8.phone) && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
style: {
|
|
color: '#999999',
|
|
fontSize: '14px'
|
|
},
|
|
children: "\u60A8\u6682\u672A\u7ED1\u5B9A\u624B\u673A\u53F7"
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(_umi_production_exports.Link, {
|
|
style: {
|
|
marginLeft: '5px',
|
|
fontSize: '14px'
|
|
},
|
|
to: "/account/secure",
|
|
children: "\u53BB\u7ED1\u5B9A"
|
|
})]
|
|
})]
|
|
})
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
wrapperCol: {
|
|
offset: 0,
|
|
span: 16
|
|
},
|
|
label: "\u5907\u6CE8",
|
|
name: "remark",
|
|
className: "textAreaSize",
|
|
rules: [{
|
|
required: false,
|
|
message: '请输入备注'
|
|
}],
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
style: {
|
|
display: 'flex'
|
|
},
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z.TextArea, {
|
|
bordered: false,
|
|
style: {
|
|
resize: 'none',
|
|
height: '120px'
|
|
},
|
|
placeholder: '例如:***********'
|
|
})
|
|
})
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
wrapperCol: {
|
|
offset: 0,
|
|
span: 20
|
|
},
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
style: {
|
|
textAlign: 'end',
|
|
marginBottom: 30
|
|
},
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
size: 'middle',
|
|
onClick: function onClick() {
|
|
(0,util/* trackEvent */.L9)(['实践项目', '新建实践项目', '取消申请镜像']);
|
|
_umi_production_exports.history.back();
|
|
},
|
|
children: "\u53D6\u6D88"
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
size: 'middle',
|
|
style: {
|
|
marginLeft: '25px'
|
|
},
|
|
type: "primary",
|
|
htmlType: "submit",
|
|
children: "\u7533\u8BF7"
|
|
})]
|
|
})
|
|
})]
|
|
}))]
|
|
});
|
|
};
|
|
/* harmony default export */ var CreateImg = ((0,_umi_production_exports.connect)(function (_ref2) {
|
|
var classroomList = _ref2.classroomList,
|
|
loading = _ref2.loading,
|
|
globalSetting = _ref2.globalSetting;
|
|
return {
|
|
classroomList: classroomList,
|
|
globalSetting: globalSetting,
|
|
loading: loading.models.classroomList
|
|
};
|
|
})(ClassroomListPage));
|
|
|
|
/***/ }),
|
|
|
|
/***/ 36603:
|
|
/*!*********************************************!*\
|
|
!*** ./src/pages/tasks/vnc-view/index.less ***!
|
|
\*********************************************/
|
|
/***/ (function() {
|
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ 56762:
|
|
/*!************************************************************************!*\
|
|
!*** ./node_modules/_antd@5.9.0@antd/es/_util/hooks/useForceUpdate.js ***!
|
|
\************************************************************************/
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
/* harmony export */ Z: function() { return /* binding */ useForceUpdate; }
|
|
/* harmony export */ });
|
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ 59301);
|
|
|
|
function useForceUpdate() {
|
|
const [, forceUpdate] = react__WEBPACK_IMPORTED_MODULE_0__.useReducer(x => x + 1, 0);
|
|
return forceUpdate;
|
|
}
|
|
|
|
/***/ }),
|
|
|
|
/***/ 1056:
|
|
/*!*********************************************************************!*\
|
|
!*** ./node_modules/_antd@5.9.0@antd/es/input/index.js + 5 modules ***!
|
|
\*********************************************************************/
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
// EXPORTS
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
Z: function() { return /* binding */ input; }
|
|
});
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_classnames@2.3.2@classnames/index.js
|
|
var _classnames_2_3_2_classnames = __webpack_require__(12124);
|
|
var _classnames_2_3_2_classnames_default = /*#__PURE__*/__webpack_require__.n(_classnames_2_3_2_classnames);
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
|
|
var _react_17_0_2_react = __webpack_require__(59301);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/config-provider/context.js
|
|
var context = __webpack_require__(36355);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/form/context.js
|
|
var form_context = __webpack_require__(32441);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/input/style/index.js
|
|
var style = __webpack_require__(9937);
|
|
;// CONCATENATED MODULE: ./node_modules/_antd@5.9.0@antd/es/input/Group.js
|
|
"use client";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const Group = props => {
|
|
const {
|
|
getPrefixCls,
|
|
direction
|
|
} = (0,_react_17_0_2_react.useContext)(context/* ConfigContext */.E_);
|
|
const {
|
|
prefixCls: customizePrefixCls,
|
|
className
|
|
} = props;
|
|
const prefixCls = getPrefixCls('input-group', customizePrefixCls);
|
|
const inputPrefixCls = getPrefixCls('input');
|
|
const [wrapSSR, hashId] = (0,style/* default */.ZP)(inputPrefixCls);
|
|
const cls = _classnames_2_3_2_classnames_default()(prefixCls, {
|
|
[`${prefixCls}-lg`]: props.size === 'large',
|
|
[`${prefixCls}-sm`]: props.size === 'small',
|
|
[`${prefixCls}-compact`]: props.compact,
|
|
[`${prefixCls}-rtl`]: direction === 'rtl'
|
|
}, hashId, className);
|
|
const formItemContext = (0,_react_17_0_2_react.useContext)(form_context/* FormItemInputContext */.aM);
|
|
const groupFormItemContext = (0,_react_17_0_2_react.useMemo)(() => Object.assign(Object.assign({}, formItemContext), {
|
|
isFormItemInput: false
|
|
}), [formItemContext]);
|
|
if (false) {}
|
|
return wrapSSR( /*#__PURE__*/_react_17_0_2_react.createElement("span", {
|
|
className: cls,
|
|
style: props.style,
|
|
onMouseEnter: props.onMouseEnter,
|
|
onMouseLeave: props.onMouseLeave,
|
|
onFocus: props.onFocus,
|
|
onBlur: props.onBlur
|
|
}, /*#__PURE__*/_react_17_0_2_react.createElement(form_context/* FormItemInputContext */.aM.Provider, {
|
|
value: groupFormItemContext
|
|
}, props.children)));
|
|
};
|
|
/* harmony default export */ var input_Group = (Group);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/input/Input.js + 1 modules
|
|
var Input = __webpack_require__(9432);
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/esm/extends.js
|
|
var esm_extends = __webpack_require__(26508);
|
|
;// CONCATENATED MODULE: ./node_modules/_@ant-design_icons-svg@4.3.1@@ant-design/icons-svg/es/asn/EyeInvisibleOutlined.js
|
|
// This icon file is generated automatically.
|
|
var EyeInvisibleOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M942.2 486.2Q889.47 375.11 816.7 305l-50.88 50.88C807.31 395.53 843.45 447.4 874.7 512 791.5 684.2 673.4 766 512 766q-72.67 0-133.87-22.38L323 798.75Q408 838 512 838q288.3 0 430.2-300.3a60.29 60.29 0 000-51.5zm-63.57-320.64L836 122.88a8 8 0 00-11.32 0L715.31 232.2Q624.86 186 512 186q-288.3 0-430.2 300.3a60.3 60.3 0 000 51.5q56.69 119.4 136.5 191.41L112.48 835a8 8 0 000 11.31L155.17 889a8 8 0 0011.31 0l712.15-712.12a8 8 0 000-11.32zM149.3 512C232.6 339.8 350.7 258 512 258c54.54 0 104.13 9.36 149.12 28.39l-70.3 70.3a176 176 0 00-238.13 238.13l-83.42 83.42C223.1 637.49 183.3 582.28 149.3 512zm246.7 0a112.11 112.11 0 01146.2-106.69L401.31 546.2A112 112 0 01396 512z" } }, { "tag": "path", "attrs": { "d": "M508 624c-3.46 0-6.87-.16-10.25-.47l-52.82 52.82a176.09 176.09 0 00227.42-227.42l-52.82 52.82c.31 3.38.47 6.79.47 10.25a111.94 111.94 0 01-112 112z" } }] }, "name": "eye-invisible", "theme": "outlined" };
|
|
/* harmony default export */ var asn_EyeInvisibleOutlined = (EyeInvisibleOutlined);
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.2.6@@ant-design/icons/es/components/AntdIcon.js + 3 modules
|
|
var AntdIcon = __webpack_require__(91851);
|
|
;// CONCATENATED MODULE: ./node_modules/_@ant-design_icons@5.2.6@@ant-design/icons/es/icons/EyeInvisibleOutlined.js
|
|
|
|
// GENERATE BY ./scripts/generate.ts
|
|
// DON NOT EDIT IT MANUALLY
|
|
|
|
|
|
|
|
|
|
var EyeInvisibleOutlined_EyeInvisibleOutlined = function EyeInvisibleOutlined(props, ref) {
|
|
return /*#__PURE__*/_react_17_0_2_react.createElement(AntdIcon/* default */.Z, (0,esm_extends/* default */.Z)({}, props, {
|
|
ref: ref,
|
|
icon: asn_EyeInvisibleOutlined
|
|
}));
|
|
};
|
|
if (false) {}
|
|
/* harmony default export */ var icons_EyeInvisibleOutlined = (/*#__PURE__*/_react_17_0_2_react.forwardRef(EyeInvisibleOutlined_EyeInvisibleOutlined));
|
|
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.2.6@@ant-design/icons/es/icons/EyeOutlined.js + 1 modules
|
|
var EyeOutlined = __webpack_require__(15997);
|
|
// EXTERNAL MODULE: ./node_modules/_rc-util@5.38.1@rc-util/es/omit.js
|
|
var omit = __webpack_require__(99468);
|
|
// EXTERNAL MODULE: ./node_modules/_rc-util@5.38.1@rc-util/es/ref.js
|
|
var es_ref = __webpack_require__(88831);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/input/hooks/useRemovePasswordTimeout.js
|
|
var useRemovePasswordTimeout = __webpack_require__(59412);
|
|
;// CONCATENATED MODULE: ./node_modules/_antd@5.9.0@antd/es/input/Password.js
|
|
"use client";
|
|
|
|
var __rest = undefined && undefined.__rest || function (s, e) {
|
|
var t = {};
|
|
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
}
|
|
return t;
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const defaultIconRender = visible => visible ? /*#__PURE__*/_react_17_0_2_react.createElement(EyeOutlined/* default */.Z, null) : /*#__PURE__*/_react_17_0_2_react.createElement(icons_EyeInvisibleOutlined, null);
|
|
const ActionMap = {
|
|
click: 'onClick',
|
|
hover: 'onMouseOver'
|
|
};
|
|
const Password = /*#__PURE__*/_react_17_0_2_react.forwardRef((props, ref) => {
|
|
const {
|
|
visibilityToggle = true
|
|
} = props;
|
|
const visibilityControlled = typeof visibilityToggle === 'object' && visibilityToggle.visible !== undefined;
|
|
const [visible, setVisible] = (0,_react_17_0_2_react.useState)(() => visibilityControlled ? visibilityToggle.visible : false);
|
|
const inputRef = (0,_react_17_0_2_react.useRef)(null);
|
|
_react_17_0_2_react.useEffect(() => {
|
|
if (visibilityControlled) {
|
|
setVisible(visibilityToggle.visible);
|
|
}
|
|
}, [visibilityControlled, visibilityToggle]);
|
|
// Remove Password value
|
|
const removePasswordTimeout = (0,useRemovePasswordTimeout/* default */.Z)(inputRef);
|
|
const onVisibleChange = () => {
|
|
const {
|
|
disabled
|
|
} = props;
|
|
if (disabled) {
|
|
return;
|
|
}
|
|
if (visible) {
|
|
removePasswordTimeout();
|
|
}
|
|
setVisible(prevState => {
|
|
var _a;
|
|
const newState = !prevState;
|
|
if (typeof visibilityToggle === 'object') {
|
|
(_a = visibilityToggle.onVisibleChange) === null || _a === void 0 ? void 0 : _a.call(visibilityToggle, newState);
|
|
}
|
|
return newState;
|
|
});
|
|
};
|
|
const getIcon = prefixCls => {
|
|
const {
|
|
action = 'click',
|
|
iconRender = defaultIconRender
|
|
} = props;
|
|
const iconTrigger = ActionMap[action] || '';
|
|
const icon = iconRender(visible);
|
|
const iconProps = {
|
|
[iconTrigger]: onVisibleChange,
|
|
className: `${prefixCls}-icon`,
|
|
key: 'passwordIcon',
|
|
onMouseDown: e => {
|
|
// Prevent focused state lost
|
|
// https://github.com/ant-design/ant-design/issues/15173
|
|
e.preventDefault();
|
|
},
|
|
onMouseUp: e => {
|
|
// Prevent caret position change
|
|
// https://github.com/ant-design/ant-design/issues/23524
|
|
e.preventDefault();
|
|
}
|
|
};
|
|
return /*#__PURE__*/_react_17_0_2_react.cloneElement( /*#__PURE__*/_react_17_0_2_react.isValidElement(icon) ? icon : /*#__PURE__*/_react_17_0_2_react.createElement("span", null, icon), iconProps);
|
|
};
|
|
const {
|
|
className,
|
|
prefixCls: customizePrefixCls,
|
|
inputPrefixCls: customizeInputPrefixCls,
|
|
size
|
|
} = props,
|
|
restProps = __rest(props, ["className", "prefixCls", "inputPrefixCls", "size"]);
|
|
const {
|
|
getPrefixCls
|
|
} = _react_17_0_2_react.useContext(context/* ConfigContext */.E_);
|
|
const inputPrefixCls = getPrefixCls('input', customizeInputPrefixCls);
|
|
const prefixCls = getPrefixCls('input-password', customizePrefixCls);
|
|
const suffixIcon = visibilityToggle && getIcon(prefixCls);
|
|
const inputClassName = _classnames_2_3_2_classnames_default()(prefixCls, className, {
|
|
[`${prefixCls}-${size}`]: !!size
|
|
});
|
|
const omittedProps = Object.assign(Object.assign({}, (0,omit/* default */.Z)(restProps, ['suffix', 'iconRender', 'visibilityToggle'])), {
|
|
type: visible ? 'text' : 'password',
|
|
className: inputClassName,
|
|
prefixCls: inputPrefixCls,
|
|
suffix: suffixIcon
|
|
});
|
|
if (size) {
|
|
omittedProps.size = size;
|
|
}
|
|
return /*#__PURE__*/_react_17_0_2_react.createElement(Input/* default */.Z, Object.assign({
|
|
ref: (0,es_ref/* composeRef */.sQ)(ref, inputRef)
|
|
}, omittedProps));
|
|
});
|
|
if (false) {}
|
|
/* harmony default export */ var input_Password = (Password);
|
|
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.2.6@@ant-design/icons/es/icons/SearchOutlined.js + 1 modules
|
|
var SearchOutlined = __webpack_require__(46820);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/_util/reactNode.js
|
|
var reactNode = __webpack_require__(92343);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/button/index.js
|
|
var es_button = __webpack_require__(3113);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/config-provider/hooks/useSize.js
|
|
var useSize = __webpack_require__(19716);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/space/Compact.js
|
|
var Compact = __webpack_require__(33234);
|
|
;// CONCATENATED MODULE: ./node_modules/_antd@5.9.0@antd/es/input/Search.js
|
|
"use client";
|
|
|
|
var Search_rest = undefined && undefined.__rest || function (s, e) {
|
|
var t = {};
|
|
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
}
|
|
return t;
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const Search = /*#__PURE__*/_react_17_0_2_react.forwardRef((props, ref) => {
|
|
const {
|
|
prefixCls: customizePrefixCls,
|
|
inputPrefixCls: customizeInputPrefixCls,
|
|
className,
|
|
size: customizeSize,
|
|
suffix,
|
|
enterButton = false,
|
|
addonAfter,
|
|
loading,
|
|
disabled,
|
|
onSearch: customOnSearch,
|
|
onChange: customOnChange,
|
|
onCompositionStart,
|
|
onCompositionEnd
|
|
} = props,
|
|
restProps = Search_rest(props, ["prefixCls", "inputPrefixCls", "className", "size", "suffix", "enterButton", "addonAfter", "loading", "disabled", "onSearch", "onChange", "onCompositionStart", "onCompositionEnd"]);
|
|
const {
|
|
getPrefixCls,
|
|
direction
|
|
} = _react_17_0_2_react.useContext(context/* ConfigContext */.E_);
|
|
const composedRef = _react_17_0_2_react.useRef(false);
|
|
const prefixCls = getPrefixCls('input-search', customizePrefixCls);
|
|
const inputPrefixCls = getPrefixCls('input', customizeInputPrefixCls);
|
|
const {
|
|
compactSize
|
|
} = (0,Compact/* useCompactItemContext */.ri)(prefixCls, direction);
|
|
const size = (0,useSize/* default */.Z)(ctx => {
|
|
var _a;
|
|
return (_a = customizeSize !== null && customizeSize !== void 0 ? customizeSize : compactSize) !== null && _a !== void 0 ? _a : ctx;
|
|
});
|
|
const inputRef = _react_17_0_2_react.useRef(null);
|
|
const onChange = e => {
|
|
if (e && e.target && e.type === 'click' && customOnSearch) {
|
|
customOnSearch(e.target.value, e, {
|
|
source: 'clear'
|
|
});
|
|
}
|
|
if (customOnChange) {
|
|
customOnChange(e);
|
|
}
|
|
};
|
|
const onMouseDown = e => {
|
|
var _a;
|
|
if (document.activeElement === ((_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.input)) {
|
|
e.preventDefault();
|
|
}
|
|
};
|
|
const onSearch = e => {
|
|
var _a, _b;
|
|
if (customOnSearch) {
|
|
customOnSearch((_b = (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.input) === null || _b === void 0 ? void 0 : _b.value, e, {
|
|
source: 'input'
|
|
});
|
|
}
|
|
};
|
|
const onPressEnter = e => {
|
|
if (composedRef.current || loading) {
|
|
return;
|
|
}
|
|
onSearch(e);
|
|
};
|
|
const searchIcon = typeof enterButton === 'boolean' ? /*#__PURE__*/_react_17_0_2_react.createElement(SearchOutlined/* default */.Z, null) : null;
|
|
const btnClassName = `${prefixCls}-button`;
|
|
let button;
|
|
const enterButtonAsElement = enterButton || {};
|
|
const isAntdButton = enterButtonAsElement.type && enterButtonAsElement.type.__ANT_BUTTON === true;
|
|
if (isAntdButton || enterButtonAsElement.type === 'button') {
|
|
button = (0,reactNode/* cloneElement */.Tm)(enterButtonAsElement, Object.assign({
|
|
onMouseDown,
|
|
onClick: e => {
|
|
var _a, _b;
|
|
(_b = (_a = enterButtonAsElement === null || enterButtonAsElement === void 0 ? void 0 : enterButtonAsElement.props) === null || _a === void 0 ? void 0 : _a.onClick) === null || _b === void 0 ? void 0 : _b.call(_a, e);
|
|
onSearch(e);
|
|
},
|
|
key: 'enterButton'
|
|
}, isAntdButton ? {
|
|
className: btnClassName,
|
|
size
|
|
} : {}));
|
|
} else {
|
|
button = /*#__PURE__*/_react_17_0_2_react.createElement(es_button/* default */.ZP, {
|
|
className: btnClassName,
|
|
type: enterButton ? 'primary' : undefined,
|
|
size: size,
|
|
disabled: disabled,
|
|
key: "enterButton",
|
|
onMouseDown: onMouseDown,
|
|
onClick: onSearch,
|
|
loading: loading,
|
|
icon: searchIcon
|
|
}, enterButton);
|
|
}
|
|
if (addonAfter) {
|
|
button = [button, (0,reactNode/* cloneElement */.Tm)(addonAfter, {
|
|
key: 'addonAfter'
|
|
})];
|
|
}
|
|
const cls = _classnames_2_3_2_classnames_default()(prefixCls, {
|
|
[`${prefixCls}-rtl`]: direction === 'rtl',
|
|
[`${prefixCls}-${size}`]: !!size,
|
|
[`${prefixCls}-with-button`]: !!enterButton
|
|
}, className);
|
|
const handleOnCompositionStart = e => {
|
|
composedRef.current = true;
|
|
onCompositionStart === null || onCompositionStart === void 0 ? void 0 : onCompositionStart(e);
|
|
};
|
|
const handleOnCompositionEnd = e => {
|
|
composedRef.current = false;
|
|
onCompositionEnd === null || onCompositionEnd === void 0 ? void 0 : onCompositionEnd(e);
|
|
};
|
|
return /*#__PURE__*/_react_17_0_2_react.createElement(Input/* default */.Z, Object.assign({
|
|
ref: (0,es_ref/* composeRef */.sQ)(inputRef, ref),
|
|
onPressEnter: onPressEnter
|
|
}, restProps, {
|
|
size: size,
|
|
onCompositionStart: handleOnCompositionStart,
|
|
onCompositionEnd: handleOnCompositionEnd,
|
|
prefixCls: inputPrefixCls,
|
|
addonAfter: button,
|
|
suffix: suffix,
|
|
onChange: onChange,
|
|
className: cls,
|
|
disabled: disabled
|
|
}));
|
|
});
|
|
if (false) {}
|
|
/* harmony default export */ var input_Search = (Search);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/input/TextArea.js
|
|
var TextArea = __webpack_require__(1643);
|
|
;// CONCATENATED MODULE: ./node_modules/_antd@5.9.0@antd/es/input/index.js
|
|
"use client";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const input_Input = Input/* default */.Z;
|
|
if (false) {}
|
|
input_Input.Group = input_Group;
|
|
input_Input.Search = input_Search;
|
|
input_Input.TextArea = TextArea/* default */.Z;
|
|
input_Input.Password = input_Password;
|
|
/* harmony default export */ var input = (input_Input);
|
|
|
|
/***/ }),
|
|
|
|
/***/ 57809:
|
|
/*!**********************************************************!*\
|
|
!*** ./node_modules/_antd@5.9.0@antd/es/select/index.js ***!
|
|
\**********************************************************/
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! classnames */ 12124);
|
|
/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_0__);
|
|
/* harmony import */ var rc_select__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! rc-select */ 77861);
|
|
/* harmony import */ var rc_util_es_omit__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! rc-util/es/omit */ 99468);
|
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ 59301);
|
|
/* harmony import */ var _util_PurePanel__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../_util/PurePanel */ 53487);
|
|
/* harmony import */ var _util_motion__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../_util/motion */ 62892);
|
|
/* harmony import */ var _util_statusUtils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../_util/statusUtils */ 19080);
|
|
/* harmony import */ var _config_provider__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../config-provider */ 36355);
|
|
/* harmony import */ var _config_provider_DisabledContext__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../config-provider/DisabledContext */ 1684);
|
|
/* harmony import */ var _config_provider_defaultRenderEmpty__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../config-provider/defaultRenderEmpty */ 93891);
|
|
/* harmony import */ var _config_provider_hooks_useSize__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../config-provider/hooks/useSize */ 19716);
|
|
/* harmony import */ var _form_context__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../form/context */ 32441);
|
|
/* harmony import */ var _space_Compact__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../space/Compact */ 33234);
|
|
/* harmony import */ var _style__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./style */ 14154);
|
|
/* harmony import */ var _useBuiltinPlacements__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./useBuiltinPlacements */ 58582);
|
|
/* harmony import */ var _useShowArrow__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./useShowArrow */ 84443);
|
|
/* harmony import */ var _utils_iconUtil__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./utils/iconUtil */ 66339);
|
|
"use client";
|
|
|
|
var __rest = undefined && undefined.__rest || function (s, e) {
|
|
var t = {};
|
|
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
}
|
|
return t;
|
|
};
|
|
// TODO: 4.0 - codemod should help to change `filterOption` to support node props.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const SECRET_COMBOBOX_MODE_DO_NOT_USE = 'SECRET_COMBOBOX_MODE_DO_NOT_USE';
|
|
const InternalSelect = (_a, ref) => {
|
|
var _b;
|
|
var {
|
|
prefixCls: customizePrefixCls,
|
|
bordered = true,
|
|
className,
|
|
rootClassName,
|
|
getPopupContainer,
|
|
popupClassName,
|
|
dropdownClassName,
|
|
listHeight = 256,
|
|
placement,
|
|
listItemHeight = 24,
|
|
size: customizeSize,
|
|
disabled: customDisabled,
|
|
notFoundContent,
|
|
status: customStatus,
|
|
builtinPlacements,
|
|
dropdownMatchSelectWidth,
|
|
popupMatchSelectWidth,
|
|
direction: propDirection,
|
|
style,
|
|
allowClear
|
|
} = _a,
|
|
props = __rest(_a, ["prefixCls", "bordered", "className", "rootClassName", "getPopupContainer", "popupClassName", "dropdownClassName", "listHeight", "placement", "listItemHeight", "size", "disabled", "notFoundContent", "status", "builtinPlacements", "dropdownMatchSelectWidth", "popupMatchSelectWidth", "direction", "style", "allowClear"]);
|
|
const {
|
|
getPopupContainer: getContextPopupContainer,
|
|
getPrefixCls,
|
|
renderEmpty,
|
|
direction: contextDirection,
|
|
virtual,
|
|
popupMatchSelectWidth: contextPopupMatchSelectWidth,
|
|
popupOverflow,
|
|
select
|
|
} = react__WEBPACK_IMPORTED_MODULE_2__.useContext(_config_provider__WEBPACK_IMPORTED_MODULE_3__/* .ConfigContext */ .E_);
|
|
const prefixCls = getPrefixCls('select', customizePrefixCls);
|
|
const rootPrefixCls = getPrefixCls();
|
|
const direction = propDirection !== null && propDirection !== void 0 ? propDirection : contextDirection;
|
|
const {
|
|
compactSize,
|
|
compactItemClassnames
|
|
} = (0,_space_Compact__WEBPACK_IMPORTED_MODULE_4__/* .useCompactItemContext */ .ri)(prefixCls, direction);
|
|
const [wrapSSR, hashId] = (0,_style__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z)(prefixCls);
|
|
const mode = react__WEBPACK_IMPORTED_MODULE_2__.useMemo(() => {
|
|
const {
|
|
mode: m
|
|
} = props;
|
|
if (m === 'combobox') {
|
|
return undefined;
|
|
}
|
|
if (m === SECRET_COMBOBOX_MODE_DO_NOT_USE) {
|
|
return 'combobox';
|
|
}
|
|
return m;
|
|
}, [props.mode]);
|
|
const isMultiple = mode === 'multiple' || mode === 'tags';
|
|
const showSuffixIcon = (0,_useShowArrow__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z)(props.suffixIcon, props.showArrow);
|
|
const mergedPopupMatchSelectWidth = (_b = popupMatchSelectWidth !== null && popupMatchSelectWidth !== void 0 ? popupMatchSelectWidth : dropdownMatchSelectWidth) !== null && _b !== void 0 ? _b : contextPopupMatchSelectWidth;
|
|
// ===================== Form Status =====================
|
|
const {
|
|
status: contextStatus,
|
|
hasFeedback,
|
|
isFormItemInput,
|
|
feedbackIcon
|
|
} = react__WEBPACK_IMPORTED_MODULE_2__.useContext(_form_context__WEBPACK_IMPORTED_MODULE_7__/* .FormItemInputContext */ .aM);
|
|
const mergedStatus = (0,_util_statusUtils__WEBPACK_IMPORTED_MODULE_8__/* .getMergedStatus */ .F)(contextStatus, customStatus);
|
|
// ===================== Empty =====================
|
|
let mergedNotFound;
|
|
if (notFoundContent !== undefined) {
|
|
mergedNotFound = notFoundContent;
|
|
} else if (mode === 'combobox') {
|
|
mergedNotFound = null;
|
|
} else {
|
|
mergedNotFound = (renderEmpty === null || renderEmpty === void 0 ? void 0 : renderEmpty('Select')) || /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(_config_provider_defaultRenderEmpty__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .Z, {
|
|
componentName: "Select"
|
|
});
|
|
}
|
|
// ===================== Icons =====================
|
|
const {
|
|
suffixIcon,
|
|
itemIcon,
|
|
removeIcon,
|
|
clearIcon
|
|
} = (0,_utils_iconUtil__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .Z)(Object.assign(Object.assign({}, props), {
|
|
multiple: isMultiple,
|
|
hasFeedback,
|
|
feedbackIcon,
|
|
showSuffixIcon,
|
|
prefixCls,
|
|
showArrow: props.showArrow,
|
|
componentName: 'Select'
|
|
}));
|
|
const mergedAllowClear = allowClear === true ? {
|
|
clearIcon
|
|
} : allowClear;
|
|
const selectProps = (0,rc_util_es_omit__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z)(props, ['suffixIcon', 'itemIcon']);
|
|
const rcSelectRtlDropdownClassName = classnames__WEBPACK_IMPORTED_MODULE_0___default()(popupClassName || dropdownClassName, {
|
|
[`${prefixCls}-dropdown-${direction}`]: direction === 'rtl'
|
|
}, rootClassName, hashId);
|
|
const mergedSize = (0,_config_provider_hooks_useSize__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .Z)(ctx => {
|
|
var _a;
|
|
return (_a = customizeSize !== null && customizeSize !== void 0 ? customizeSize : compactSize) !== null && _a !== void 0 ? _a : ctx;
|
|
});
|
|
// ===================== Disabled =====================
|
|
const disabled = react__WEBPACK_IMPORTED_MODULE_2__.useContext(_config_provider_DisabledContext__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .Z);
|
|
const mergedDisabled = customDisabled !== null && customDisabled !== void 0 ? customDisabled : disabled;
|
|
const mergedClassName = classnames__WEBPACK_IMPORTED_MODULE_0___default()({
|
|
[`${prefixCls}-lg`]: mergedSize === 'large',
|
|
[`${prefixCls}-sm`]: mergedSize === 'small',
|
|
[`${prefixCls}-rtl`]: direction === 'rtl',
|
|
[`${prefixCls}-borderless`]: !bordered,
|
|
[`${prefixCls}-in-form-item`]: isFormItemInput
|
|
}, (0,_util_statusUtils__WEBPACK_IMPORTED_MODULE_8__/* .getStatusClassNames */ .Z)(prefixCls, mergedStatus, hasFeedback), compactItemClassnames, select === null || select === void 0 ? void 0 : select.className, className, rootClassName, hashId);
|
|
// ===================== Placement =====================
|
|
const memoPlacement = react__WEBPACK_IMPORTED_MODULE_2__.useMemo(() => {
|
|
if (placement !== undefined) {
|
|
return placement;
|
|
}
|
|
return direction === 'rtl' ? 'bottomRight' : 'bottomLeft';
|
|
}, [placement, direction]);
|
|
const mergedBuiltinPlacements = (0,_useBuiltinPlacements__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .Z)(builtinPlacements, popupOverflow);
|
|
// ====================== Warning ======================
|
|
if (false) {}
|
|
// ====================== Render =======================
|
|
return wrapSSR( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(rc_select__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .ZP, Object.assign({
|
|
ref: ref,
|
|
virtual: virtual,
|
|
showSearch: select === null || select === void 0 ? void 0 : select.showSearch
|
|
}, selectProps, {
|
|
style: Object.assign(Object.assign({}, select === null || select === void 0 ? void 0 : select.style), style),
|
|
dropdownMatchSelectWidth: mergedPopupMatchSelectWidth,
|
|
builtinPlacements: mergedBuiltinPlacements,
|
|
transitionName: (0,_util_motion__WEBPACK_IMPORTED_MODULE_15__/* .getTransitionName */ .m)(rootPrefixCls, 'slide-up', props.transitionName),
|
|
listHeight: listHeight,
|
|
listItemHeight: listItemHeight,
|
|
mode: mode,
|
|
prefixCls: prefixCls,
|
|
placement: memoPlacement,
|
|
direction: direction,
|
|
suffixIcon: suffixIcon,
|
|
menuItemSelectedIcon: itemIcon,
|
|
removeIcon: removeIcon,
|
|
allowClear: mergedAllowClear,
|
|
notFoundContent: mergedNotFound,
|
|
className: mergedClassName,
|
|
getPopupContainer: getPopupContainer || getContextPopupContainer,
|
|
dropdownClassName: rcSelectRtlDropdownClassName,
|
|
disabled: mergedDisabled
|
|
})));
|
|
};
|
|
if (false) {}
|
|
const Select = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(InternalSelect);
|
|
// We don't care debug panel
|
|
/* istanbul ignore next */
|
|
const PurePanel = (0,_util_PurePanel__WEBPACK_IMPORTED_MODULE_16__/* ["default"] */ .Z)(Select);
|
|
Select.SECRET_COMBOBOX_MODE_DO_NOT_USE = SECRET_COMBOBOX_MODE_DO_NOT_USE;
|
|
Select.Option = rc_select__WEBPACK_IMPORTED_MODULE_1__/* .Option */ .Wx;
|
|
Select.OptGroup = rc_select__WEBPACK_IMPORTED_MODULE_1__/* .OptGroup */ .Xo;
|
|
Select._InternalPanelDoNotUseOrYouWillBeFired = PurePanel;
|
|
if (false) {}
|
|
/* harmony default export */ __webpack_exports__["default"] = (Select);
|
|
|
|
/***/ }),
|
|
|
|
/***/ 31797:
|
|
/*!*************************************************************************!*\
|
|
!*** ./node_modules/_antd@5.9.0@antd/es/statistic/index.js + 5 modules ***!
|
|
\*************************************************************************/
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
// EXPORTS
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
Z: function() { return /* binding */ es_statistic; }
|
|
});
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
|
|
var _react_17_0_2_react = __webpack_require__(59301);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/_util/hooks/useForceUpdate.js
|
|
var useForceUpdate = __webpack_require__(56762);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/_util/reactNode.js
|
|
var reactNode = __webpack_require__(92343);
|
|
// EXTERNAL MODULE: ./node_modules/_classnames@2.3.2@classnames/index.js
|
|
var _classnames_2_3_2_classnames = __webpack_require__(12124);
|
|
var _classnames_2_3_2_classnames_default = /*#__PURE__*/__webpack_require__.n(_classnames_2_3_2_classnames);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/config-provider/context.js
|
|
var context = __webpack_require__(36355);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/skeleton/index.js + 12 modules
|
|
var skeleton = __webpack_require__(59981);
|
|
;// CONCATENATED MODULE: ./node_modules/_antd@5.9.0@antd/es/statistic/Number.js
|
|
"use client";
|
|
|
|
|
|
const StatisticNumber = props => {
|
|
const {
|
|
value,
|
|
formatter,
|
|
precision,
|
|
decimalSeparator,
|
|
groupSeparator = '',
|
|
prefixCls
|
|
} = props;
|
|
let valueNode;
|
|
if (typeof formatter === 'function') {
|
|
// Customize formatter
|
|
valueNode = formatter(value);
|
|
} else {
|
|
// Internal formatter
|
|
const val = String(value);
|
|
const cells = val.match(/^(-?)(\d*)(\.(\d+))?$/);
|
|
// Process if illegal number
|
|
if (!cells || val === '-') {
|
|
valueNode = val;
|
|
} else {
|
|
const negative = cells[1];
|
|
let int = cells[2] || '0';
|
|
let decimal = cells[4] || '';
|
|
int = int.replace(/\B(?=(\d{3})+(?!\d))/g, groupSeparator);
|
|
if (typeof precision === 'number') {
|
|
decimal = decimal.padEnd(precision, '0').slice(0, precision > 0 ? precision : 0);
|
|
}
|
|
if (decimal) {
|
|
decimal = `${decimalSeparator}${decimal}`;
|
|
}
|
|
valueNode = [/*#__PURE__*/_react_17_0_2_react.createElement("span", {
|
|
key: "int",
|
|
className: `${prefixCls}-content-value-int`
|
|
}, negative, int), decimal && /*#__PURE__*/_react_17_0_2_react.createElement("span", {
|
|
key: "decimal",
|
|
className: `${prefixCls}-content-value-decimal`
|
|
}, decimal)];
|
|
}
|
|
}
|
|
return /*#__PURE__*/_react_17_0_2_react.createElement("span", {
|
|
className: `${prefixCls}-content-value`
|
|
}, valueNode);
|
|
};
|
|
/* harmony default export */ var statistic_Number = (StatisticNumber);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/style/index.js
|
|
var style = __webpack_require__(17313);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/theme/util/genComponentStyleHook.js
|
|
var genComponentStyleHook = __webpack_require__(83116);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/theme/util/statistic.js
|
|
var statistic = __webpack_require__(37613);
|
|
;// CONCATENATED MODULE: ./node_modules/_antd@5.9.0@antd/es/statistic/style/index.js
|
|
"use client";
|
|
|
|
|
|
|
|
const genStatisticStyle = token => {
|
|
const {
|
|
componentCls,
|
|
marginXXS,
|
|
padding,
|
|
colorTextDescription,
|
|
titleFontSize,
|
|
colorTextHeading,
|
|
contentFontSize,
|
|
fontFamily
|
|
} = token;
|
|
return {
|
|
[`${componentCls}`]: Object.assign(Object.assign({}, (0,style/* resetComponent */.Wf)(token)), {
|
|
[`${componentCls}-title`]: {
|
|
marginBottom: marginXXS,
|
|
color: colorTextDescription,
|
|
fontSize: titleFontSize
|
|
},
|
|
[`${componentCls}-skeleton`]: {
|
|
paddingTop: padding
|
|
},
|
|
[`${componentCls}-content`]: {
|
|
color: colorTextHeading,
|
|
fontSize: contentFontSize,
|
|
fontFamily,
|
|
[`${componentCls}-content-value`]: {
|
|
display: 'inline-block',
|
|
direction: 'ltr'
|
|
},
|
|
[`${componentCls}-content-prefix, ${componentCls}-content-suffix`]: {
|
|
display: 'inline-block'
|
|
},
|
|
[`${componentCls}-content-prefix`]: {
|
|
marginInlineEnd: marginXXS
|
|
},
|
|
[`${componentCls}-content-suffix`]: {
|
|
marginInlineStart: marginXXS
|
|
}
|
|
}
|
|
})
|
|
};
|
|
};
|
|
// ============================== Export ==============================
|
|
/* harmony default export */ var statistic_style = ((0,genComponentStyleHook/* default */.Z)('Statistic', token => {
|
|
const statisticToken = (0,statistic/* merge */.TS)(token, {});
|
|
return [genStatisticStyle(statisticToken)];
|
|
}, token => {
|
|
const {
|
|
fontSizeHeading3,
|
|
fontSize
|
|
} = token;
|
|
return {
|
|
titleFontSize: fontSize,
|
|
contentFontSize: fontSizeHeading3
|
|
};
|
|
}));
|
|
;// CONCATENATED MODULE: ./node_modules/_antd@5.9.0@antd/es/statistic/Statistic.js
|
|
"use client";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const Statistic = props => {
|
|
const {
|
|
prefixCls: customizePrefixCls,
|
|
className,
|
|
rootClassName,
|
|
style,
|
|
valueStyle,
|
|
value = 0,
|
|
title,
|
|
valueRender,
|
|
prefix,
|
|
suffix,
|
|
loading = false,
|
|
onMouseEnter,
|
|
onMouseLeave,
|
|
decimalSeparator = '.',
|
|
groupSeparator = ','
|
|
} = props;
|
|
const {
|
|
getPrefixCls,
|
|
direction,
|
|
statistic
|
|
} = _react_17_0_2_react.useContext(context/* ConfigContext */.E_);
|
|
const prefixCls = getPrefixCls('statistic', customizePrefixCls);
|
|
const [wrapSSR, hashId] = statistic_style(prefixCls);
|
|
const valueNode = /*#__PURE__*/_react_17_0_2_react.createElement(statistic_Number, Object.assign({
|
|
decimalSeparator: decimalSeparator,
|
|
groupSeparator: groupSeparator,
|
|
prefixCls: prefixCls
|
|
}, props, {
|
|
value: value
|
|
}));
|
|
const cls = _classnames_2_3_2_classnames_default()(prefixCls, {
|
|
[`${prefixCls}-rtl`]: direction === 'rtl'
|
|
}, statistic === null || statistic === void 0 ? void 0 : statistic.className, className, rootClassName, hashId);
|
|
return wrapSSR( /*#__PURE__*/_react_17_0_2_react.createElement("div", {
|
|
className: cls,
|
|
style: Object.assign(Object.assign({}, statistic === null || statistic === void 0 ? void 0 : statistic.style), style),
|
|
onMouseEnter: onMouseEnter,
|
|
onMouseLeave: onMouseLeave
|
|
}, title && /*#__PURE__*/_react_17_0_2_react.createElement("div", {
|
|
className: `${prefixCls}-title`
|
|
}, title), /*#__PURE__*/_react_17_0_2_react.createElement(skeleton/* default */.Z, {
|
|
paragraph: false,
|
|
loading: loading,
|
|
className: `${prefixCls}-skeleton`
|
|
}, /*#__PURE__*/_react_17_0_2_react.createElement("div", {
|
|
style: valueStyle,
|
|
className: `${prefixCls}-content`
|
|
}, prefix && /*#__PURE__*/_react_17_0_2_react.createElement("span", {
|
|
className: `${prefixCls}-content-prefix`
|
|
}, prefix), valueRender ? valueRender(valueNode) : valueNode, suffix && /*#__PURE__*/_react_17_0_2_react.createElement("span", {
|
|
className: `${prefixCls}-content-suffix`
|
|
}, suffix)))));
|
|
};
|
|
if (false) {}
|
|
/* harmony default export */ var statistic_Statistic = (Statistic);
|
|
;// CONCATENATED MODULE: ./node_modules/_antd@5.9.0@antd/es/statistic/utils.js
|
|
// Countdown
|
|
const timeUnits = [['Y', 1000 * 60 * 60 * 24 * 365], ['M', 1000 * 60 * 60 * 24 * 30], ['D', 1000 * 60 * 60 * 24], ['H', 1000 * 60 * 60], ['m', 1000 * 60], ['s', 1000], ['S', 1] // million seconds
|
|
];
|
|
|
|
function formatTimeStr(duration, format) {
|
|
let leftDuration = duration;
|
|
const escapeRegex = /\[[^\]]*]/g;
|
|
const keepList = (format.match(escapeRegex) || []).map(str => str.slice(1, -1));
|
|
const templateText = format.replace(escapeRegex, '[]');
|
|
const replacedText = timeUnits.reduce((current, _ref) => {
|
|
let [name, unit] = _ref;
|
|
if (current.includes(name)) {
|
|
const value = Math.floor(leftDuration / unit);
|
|
leftDuration -= value * unit;
|
|
return current.replace(new RegExp(`${name}+`, 'g'), match => {
|
|
const len = match.length;
|
|
return value.toString().padStart(len, '0');
|
|
});
|
|
}
|
|
return current;
|
|
}, templateText);
|
|
let index = 0;
|
|
return replacedText.replace(escapeRegex, () => {
|
|
const match = keepList[index];
|
|
index += 1;
|
|
return match;
|
|
});
|
|
}
|
|
function formatCountdown(value, config) {
|
|
const {
|
|
format = ''
|
|
} = config;
|
|
const target = new Date(value).getTime();
|
|
const current = Date.now();
|
|
const diff = Math.max(target - current, 0);
|
|
return formatTimeStr(diff, format);
|
|
}
|
|
;// CONCATENATED MODULE: ./node_modules/_antd@5.9.0@antd/es/statistic/Countdown.js
|
|
"use client";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const REFRESH_INTERVAL = 1000 / 30;
|
|
function getTime(value) {
|
|
return new Date(value).getTime();
|
|
}
|
|
const Countdown = props => {
|
|
const {
|
|
value,
|
|
format = 'HH:mm:ss',
|
|
onChange,
|
|
onFinish
|
|
} = props;
|
|
const forceUpdate = (0,useForceUpdate/* default */.Z)();
|
|
const countdown = _react_17_0_2_react.useRef(null);
|
|
const stopTimer = () => {
|
|
onFinish === null || onFinish === void 0 ? void 0 : onFinish();
|
|
if (countdown.current) {
|
|
clearInterval(countdown.current);
|
|
countdown.current = null;
|
|
}
|
|
};
|
|
const syncTimer = () => {
|
|
const timestamp = getTime(value);
|
|
if (timestamp >= Date.now()) {
|
|
countdown.current = setInterval(() => {
|
|
forceUpdate();
|
|
onChange === null || onChange === void 0 ? void 0 : onChange(timestamp - Date.now());
|
|
if (timestamp < Date.now()) {
|
|
stopTimer();
|
|
}
|
|
}, REFRESH_INTERVAL);
|
|
}
|
|
};
|
|
_react_17_0_2_react.useEffect(() => {
|
|
syncTimer();
|
|
return () => {
|
|
if (countdown.current) {
|
|
clearInterval(countdown.current);
|
|
countdown.current = null;
|
|
}
|
|
};
|
|
}, [value]);
|
|
const formatter = (formatValue, config) => formatCountdown(formatValue, Object.assign(Object.assign({}, config), {
|
|
format
|
|
}));
|
|
const valueRender = node => (0,reactNode/* cloneElement */.Tm)(node, {
|
|
title: undefined
|
|
});
|
|
return /*#__PURE__*/_react_17_0_2_react.createElement(statistic_Statistic, Object.assign({}, props, {
|
|
valueRender: valueRender,
|
|
formatter: formatter
|
|
}));
|
|
};
|
|
/* harmony default export */ var statistic_Countdown = (/*#__PURE__*/_react_17_0_2_react.memo(Countdown));
|
|
;// CONCATENATED MODULE: ./node_modules/_antd@5.9.0@antd/es/statistic/index.js
|
|
"use client";
|
|
|
|
|
|
|
|
statistic_Statistic.Countdown = statistic_Countdown;
|
|
/* harmony default export */ var es_statistic = (statistic_Statistic);
|
|
|
|
/***/ }),
|
|
|
|
/***/ 8378:
|
|
/*!*******************************************************************!*\
|
|
!*** ./node_modules/_antd@5.9.0@antd/es/style/motion/collapse.js ***!
|
|
\*******************************************************************/
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__) {
|
|
|
|
const genCollapseMotion = token => ({
|
|
[token.componentCls]: {
|
|
// For common/openAnimation
|
|
[`${token.antCls}-motion-collapse-legacy`]: {
|
|
overflow: 'hidden',
|
|
'&-active': {
|
|
transition: `height ${token.motionDurationMid} ${token.motionEaseInOut},
|
|
opacity ${token.motionDurationMid} ${token.motionEaseInOut} !important`
|
|
}
|
|
},
|
|
[`${token.antCls}-motion-collapse`]: {
|
|
overflow: 'hidden',
|
|
transition: `height ${token.motionDurationMid} ${token.motionEaseInOut},
|
|
opacity ${token.motionDurationMid} ${token.motionEaseInOut} !important`
|
|
}
|
|
}
|
|
});
|
|
/* harmony default export */ __webpack_exports__.Z = (genCollapseMotion);
|
|
|
|
/***/ })
|
|
|
|
}]); |