|
|
(self["webpackChunk"] = self["webpackChunk"] || []).push([[86634,35567,64768],{
|
|
|
|
|
|
/***/ 64082:
|
|
|
/*!******************************************************************************!*\
|
|
|
!*** ./node_modules/@ant-design/icons/es/icons/InboxOutlined.js + 1 modules ***!
|
|
|
\******************************************************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
"use strict";
|
|
|
|
|
|
// EXPORTS
|
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
|
"Z": function() { return /* binding */ icons_InboxOutlined; }
|
|
|
});
|
|
|
|
|
|
// 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);
|
|
|
;// CONCATENATED MODULE: ./node_modules/@ant-design/icons-svg/es/asn/InboxOutlined.js
|
|
|
// This icon file is generated automatically.
|
|
|
var InboxOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "0 0 1024 1024", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M885.2 446.3l-.2-.8-112.2-285.1c-5-16.1-19.9-27.2-36.8-27.2H281.2c-17 0-32.1 11.3-36.9 27.6L139.4 443l-.3.7-.2.8c-1.3 4.9-1.7 9.9-1 14.8-.1 1.6-.2 3.2-.2 4.8V830a60.9 60.9 0 0060.8 60.8h627.2c33.5 0 60.8-27.3 60.9-60.8V464.1c0-1.3 0-2.6-.1-3.7.4-4.9 0-9.6-1.3-14.1zm-295.8-43l-.3 15.7c-.8 44.9-31.8 75.1-77.1 75.1-22.1 0-41.1-7.1-54.8-20.6S436 441.2 435.6 419l-.3-15.7H229.5L309 210h399.2l81.7 193.3H589.4zm-375 76.8h157.3c24.3 57.1 76 90.8 140.4 90.8 33.7 0 65-9.4 90.3-27.2 22.2-15.6 39.5-37.4 50.7-63.6h156.5V814H214.4V480.1z" } }] }, "name": "inbox", "theme": "outlined" };
|
|
|
/* harmony default export */ var asn_InboxOutlined = (InboxOutlined);
|
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/@ant-design/icons/es/components/AntdIcon.js + 8 modules
|
|
|
var AntdIcon = __webpack_require__(74643);
|
|
|
;// CONCATENATED MODULE: ./node_modules/@ant-design/icons/es/icons/InboxOutlined.js
|
|
|
|
|
|
// GENERATE BY ./scripts/generate.ts
|
|
|
// DON NOT EDIT IT MANUALLY
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var InboxOutlined_InboxOutlined = function InboxOutlined(props, ref) {
|
|
|
return /*#__PURE__*/react.createElement(AntdIcon/* default */.Z, (0,esm_extends/* default */.Z)({}, props, {
|
|
|
ref: ref,
|
|
|
icon: asn_InboxOutlined
|
|
|
}));
|
|
|
};
|
|
|
if (false) {}
|
|
|
/* harmony default export */ var icons_InboxOutlined = (/*#__PURE__*/react.forwardRef(InboxOutlined_InboxOutlined));
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 81088:
|
|
|
/*!*********************************************************************************!*\
|
|
|
!*** ./node_modules/@ant-design/icons/es/icons/PoweroffOutlined.js + 1 modules ***!
|
|
|
\*********************************************************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
"use strict";
|
|
|
|
|
|
// EXPORTS
|
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
|
"Z": function() { return /* binding */ icons_PoweroffOutlined; }
|
|
|
});
|
|
|
|
|
|
// 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);
|
|
|
;// CONCATENATED MODULE: ./node_modules/@ant-design/icons-svg/es/asn/PoweroffOutlined.js
|
|
|
// This icon file is generated automatically.
|
|
|
var PoweroffOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M705.6 124.9a8 8 0 00-11.6 7.2v64.2c0 5.5 2.9 10.6 7.5 13.6a352.2 352.2 0 0162.2 49.8c32.7 32.8 58.4 70.9 76.3 113.3a355 355 0 0127.9 138.7c0 48.1-9.4 94.8-27.9 138.7a355.92 355.92 0 01-76.3 113.3 353.06 353.06 0 01-113.2 76.4c-43.8 18.6-90.5 28-138.5 28s-94.7-9.4-138.5-28a353.06 353.06 0 01-113.2-76.4A355.92 355.92 0 01184 650.4a355 355 0 01-27.9-138.7c0-48.1 9.4-94.8 27.9-138.7 17.9-42.4 43.6-80.5 76.3-113.3 19-19 39.8-35.6 62.2-49.8 4.7-2.9 7.5-8.1 7.5-13.6V132c0-6-6.3-9.8-11.6-7.2C178.5 195.2 82 339.3 80 506.3 77.2 745.1 272.5 943.5 511.2 944c239 .5 432.8-193.3 432.8-432.4 0-169.2-97-315.7-238.4-386.7zM480 560h64c4.4 0 8-3.6 8-8V88c0-4.4-3.6-8-8-8h-64c-4.4 0-8 3.6-8 8v464c0 4.4 3.6 8 8 8z" } }] }, "name": "poweroff", "theme": "outlined" };
|
|
|
/* harmony default export */ var asn_PoweroffOutlined = (PoweroffOutlined);
|
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/@ant-design/icons/es/components/AntdIcon.js + 8 modules
|
|
|
var AntdIcon = __webpack_require__(74643);
|
|
|
;// CONCATENATED MODULE: ./node_modules/@ant-design/icons/es/icons/PoweroffOutlined.js
|
|
|
|
|
|
// GENERATE BY ./scripts/generate.ts
|
|
|
// DON NOT EDIT IT MANUALLY
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var PoweroffOutlined_PoweroffOutlined = function PoweroffOutlined(props, ref) {
|
|
|
return /*#__PURE__*/react.createElement(AntdIcon/* default */.Z, (0,esm_extends/* default */.Z)({}, props, {
|
|
|
ref: ref,
|
|
|
icon: asn_PoweroffOutlined
|
|
|
}));
|
|
|
};
|
|
|
if (false) {}
|
|
|
/* harmony default export */ var icons_PoweroffOutlined = (/*#__PURE__*/react.forwardRef(PoweroffOutlined_PoweroffOutlined));
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 64768:
|
|
|
/*!**********************************************************!*\
|
|
|
!*** ./src/components/MultiUpload/index.tsx + 3 modules ***!
|
|
|
\**********************************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
"use strict";
|
|
|
|
|
|
// EXPORTS
|
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
|
"z": function() { return /* binding */ coverToFileList; },
|
|
|
"Z": function() { return /* binding */ MultiUpload; }
|
|
|
});
|
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/regeneratorRuntime.js
|
|
|
var regeneratorRuntime = __webpack_require__(17061);
|
|
|
var regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(regeneratorRuntime);
|
|
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/asyncToGenerator.js
|
|
|
var asyncToGenerator = __webpack_require__(17156);
|
|
|
var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
|
|
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/objectSpread2.js
|
|
|
var objectSpread2 = __webpack_require__(42122);
|
|
|
var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2);
|
|
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/toConsumableArray.js
|
|
|
var toConsumableArray = __webpack_require__(861);
|
|
|
var toConsumableArray_default = /*#__PURE__*/__webpack_require__.n(toConsumableArray);
|
|
|
// 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/react/index.js
|
|
|
var react = __webpack_require__(67294);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/upload/index.js + 24 modules
|
|
|
var upload = __webpack_require__(31365);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/message/index.js + 4 modules
|
|
|
var es_message = __webpack_require__(2453);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/modal/index.js + 39 modules
|
|
|
var modal = __webpack_require__(72423);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/button/index.js
|
|
|
var es_button = __webpack_require__(71577);
|
|
|
// EXTERNAL MODULE: ./src/utils/env.ts + 1 modules
|
|
|
var env = __webpack_require__(59758);
|
|
|
// EXTERNAL MODULE: ./src/pages/MoopCases/FormPanel/service.ts
|
|
|
var service = __webpack_require__(39507);
|
|
|
// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js
|
|
|
var jsx_runtime = __webpack_require__(85893);
|
|
|
;// CONCATENATED MODULE: ./src/components/SingleUpload/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var uploadNameSizeSeperator = ' ';
|
|
|
function bytesToSize(bytes) {
|
|
|
var sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB'];
|
|
|
if (bytes == 0) return '0 Byte';
|
|
|
var i = parseInt('' + Math.floor(Math.log(bytes) / Math.log(1024)), 10);
|
|
|
return (bytes / Math.pow(1024, i)).toFixed(1) + ' ' + sizes[i];
|
|
|
}
|
|
|
/* harmony default export */ var SingleUpload = (function (_ref) {
|
|
|
var _ref$value = _ref.value,
|
|
|
value = _ref$value === void 0 ? [] : _ref$value,
|
|
|
action = _ref.action,
|
|
|
_onChange = _ref.onChange,
|
|
|
className = _ref.className,
|
|
|
_ref$maxSize = _ref.maxSize,
|
|
|
maxSize = _ref$maxSize === void 0 ? 150 : _ref$maxSize,
|
|
|
_ref$title = _ref.title,
|
|
|
title = _ref$title === void 0 ? '文件上传' : _ref$title,
|
|
|
_ref$accept = _ref.accept,
|
|
|
accept = _ref$accept === void 0 ? null : _ref$accept;
|
|
|
var uploadProps = {
|
|
|
multiple: false,
|
|
|
fileList: value,
|
|
|
accept: accept,
|
|
|
withCredentials: true,
|
|
|
beforeUpload: function beforeUpload(file) {
|
|
|
var fileSize = file.size / 1024 / 1024;
|
|
|
if (!(fileSize < maxSize)) {
|
|
|
message.error("\u8BE5\u6587\u4EF6\u65E0\u6CD5\u4E0A\u4F20\u3002\u8D85\u8FC7\u6587\u4EF6\u5927\u5C0F\u9650\u5236(".concat(maxSize, "MB),\u5EFA\u8BAE\u4E0A\u4F20\u5230\u767E\u5EA6\u4E91\u7B49\u5176\u5B83\u5171\u4EAB\u5DE5\u5177\u91CC\uFF0C\u7136\u540E\u518Dtxt\u6587\u6863\u91CC\u7ED9\u51FA\u94FE\u63A5\u4EE5\u53CA\u5171\u4EAB\u5BC6\u7801\u5E76\u4E0A\u4F20"));
|
|
|
return Promise.reject();
|
|
|
}
|
|
|
return true;
|
|
|
},
|
|
|
action: "".concat(ENV.API_SERVER, "/api/attachments.json"),
|
|
|
// ?debug=student&randomcode=undefined&client_key=6d57f8c3dd186c5ada392546ace9620a
|
|
|
onChange: function onChange(info) {
|
|
|
var _info$file, _info$file$response;
|
|
|
var fileList = _toConsumableArray(info.fileList);
|
|
|
fileList = fileList.map(function (file) {
|
|
|
if (file.name.indexOf(uploadNameSizeSeperator) === -1) {
|
|
|
file.name = "".concat(file.name).concat(uploadNameSizeSeperator).concat(bytesToSize(file.size));
|
|
|
}
|
|
|
return _objectSpread({}, file);
|
|
|
});
|
|
|
if (info.file.status === 'done' && ((_info$file = info.file) === null || _info$file === void 0 ? void 0 : (_info$file$response = _info$file.response) === null || _info$file$response === void 0 ? void 0 : _info$file$response.status) === -1) {
|
|
|
var _info$file2, _info$file2$response;
|
|
|
message.error((_info$file2 = info.file) === null || _info$file2 === void 0 ? void 0 : (_info$file2$response = _info$file2.response) === null || _info$file2$response === void 0 ? void 0 : _info$file2$response.message);
|
|
|
_onChange([]);
|
|
|
return;
|
|
|
}
|
|
|
_onChange(fileList);
|
|
|
},
|
|
|
onRemove: function () {
|
|
|
var _onRemove = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(file) {
|
|
|
var fileSize, id, rs;
|
|
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
|
while (1) switch (_context.prev = _context.next) {
|
|
|
case 0:
|
|
|
fileSize = file.size / 1024 / 1024;
|
|
|
if (!(file.status === 'uploading')) {
|
|
|
_context.next = 3;
|
|
|
break;
|
|
|
}
|
|
|
return _context.abrupt("return", true);
|
|
|
case 3:
|
|
|
if (fileSize < maxSize) {
|
|
|
_context.next = 7;
|
|
|
break;
|
|
|
}
|
|
|
return _context.abrupt("return", true);
|
|
|
case 7:
|
|
|
id = file.response ? file.response.id : file.uid;
|
|
|
if (!id) {
|
|
|
_context.next = 15;
|
|
|
break;
|
|
|
}
|
|
|
_context.next = 11;
|
|
|
return removeAttachment(file.response ? file.response.id : file.id);
|
|
|
case 11:
|
|
|
rs = _context.sent;
|
|
|
return _context.abrupt("return", rs);
|
|
|
case 15:
|
|
|
return _context.abrupt("return", true);
|
|
|
case 16:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
}));
|
|
|
function onRemove(_x) {
|
|
|
return _onRemove.apply(this, arguments);
|
|
|
}
|
|
|
return onRemove;
|
|
|
}()
|
|
|
};
|
|
|
function onCancel(e) {
|
|
|
e.preventDefault();
|
|
|
e.stopPropagation();
|
|
|
}
|
|
|
return /*#__PURE__*/_jsx("div", {
|
|
|
className: "single-upload ".concat(className ? className : ''),
|
|
|
children: /*#__PURE__*/_jsxs(Upload, _objectSpread(_objectSpread({}, uploadProps), {}, {
|
|
|
children: [/*#__PURE__*/_jsx(Button, {
|
|
|
type: "primary",
|
|
|
title: value.length > 0 ? '每次只能上传一个资源, 删除下面资源可重新上传 ' : '',
|
|
|
disabled: value.length > 0,
|
|
|
ghost: true,
|
|
|
children: title
|
|
|
}), /*#__PURE__*/_jsxs("span", {
|
|
|
onClick: onCancel,
|
|
|
style: {
|
|
|
marginLeft: 10
|
|
|
},
|
|
|
children: ["(\u5355\u4E2A\u6587\u4EF6\u6700\u5927", maxSize, "M)", ' ']
|
|
|
})]
|
|
|
}))
|
|
|
});
|
|
|
});
|
|
|
// EXTERNAL MODULE: ./node_modules/@ant-design/icons/es/icons/InboxOutlined.js + 1 modules
|
|
|
var InboxOutlined = __webpack_require__(64082);
|
|
|
// EXTERNAL MODULE: ./node_modules/lodash/lodash.js
|
|
|
var lodash = __webpack_require__(96486);
|
|
|
;// CONCATENATED MODULE: ./src/components/MultiUpload/index.less
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
|
|
|
;// CONCATENATED MODULE: ./src/assets/images/uploadImg.svg
|
|
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
|
var __defProp = Object.defineProperty;
|
|
|
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
|
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
|
var __defNormalProp = function __defNormalProp(obj, key, value) {
|
|
|
return key in obj ? __defProp(obj, key, {
|
|
|
enumerable: true,
|
|
|
configurable: true,
|
|
|
writable: true,
|
|
|
value: value
|
|
|
}) : obj[key] = value;
|
|
|
};
|
|
|
var __spreadValues = function __spreadValues(a, b) {
|
|
|
for (var prop in b || (b = {})) if (__hasOwnProp.call(b, prop)) __defNormalProp(a, prop, b[prop]);
|
|
|
if (__getOwnPropSymbols) {
|
|
|
var _iterator = _createForOfIteratorHelper(__getOwnPropSymbols(b)),
|
|
|
_step;
|
|
|
try {
|
|
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
|
var prop = _step.value;
|
|
|
if (__propIsEnum.call(b, prop)) __defNormalProp(a, prop, b[prop]);
|
|
|
}
|
|
|
} catch (err) {
|
|
|
_iterator.e(err);
|
|
|
} finally {
|
|
|
_iterator.f();
|
|
|
}
|
|
|
}
|
|
|
return a;
|
|
|
};
|
|
|
|
|
|
var SvgUploadImg = function SvgUploadImg(props) {
|
|
|
return /* @__PURE__ */React.createElement("svg", __spreadValues({
|
|
|
width: 14,
|
|
|
height: 14,
|
|
|
xmlns: "http://www.w3.org/2000/svg"
|
|
|
}, props), /* @__PURE__ */React.createElement("title", null, "\u5F62\u72B6"), /* @__PURE__ */React.createElement("path", {
|
|
|
d: "M10.354 3.5h-2.77v8.167H6.416V3.5H3.646L7 0l3.354 3.5ZM14 7h-1.167v5.833H1.167V7H0v7h14V7Z",
|
|
|
fill: "#3061D0",
|
|
|
fillRule: "nonzero"
|
|
|
}));
|
|
|
};
|
|
|
|
|
|
/* harmony default export */ var uploadImg = ("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEwLjM1NCAzLjVoLTIuNzd2OC4xNjdINi40MTZWMy41SDMuNjQ2TDcgMGwzLjM1NCAzLjVaTTE0IDdoLTEuMTY3djUuODMzSDEuMTY3VjdIMHY3aDE0VjdaIiBmaWxsPSIjMzA2MUQwIiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L3N2Zz4=");
|
|
|
;// CONCATENATED MODULE: ./src/components/MultiUpload/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var Dragger = upload/* default.Dragger */.Z.Dragger;
|
|
|
function coverToFileList(data) {
|
|
|
var rs = [];
|
|
|
if (data && data.length > 0) {
|
|
|
rs = data.map(function (item) {
|
|
|
return {
|
|
|
uid: item.id,
|
|
|
id: item.id,
|
|
|
name: item.title + uploadNameSizeSeperator + item.filesize,
|
|
|
url: item.url,
|
|
|
filesize: item.filesize,
|
|
|
status: 'done',
|
|
|
response: {
|
|
|
id: item.id
|
|
|
}
|
|
|
};
|
|
|
});
|
|
|
}
|
|
|
return rs;
|
|
|
}
|
|
|
/* harmony default export */ var MultiUpload = (function (_ref) {
|
|
|
var value = _ref.value,
|
|
|
_onChange = _ref.onChange,
|
|
|
action = _ref.action,
|
|
|
data = _ref.data,
|
|
|
className = _ref.className,
|
|
|
_ref$maxSize = _ref.maxSize,
|
|
|
maxSize = _ref$maxSize === void 0 ? 150 : _ref$maxSize,
|
|
|
_ref$title = _ref.title,
|
|
|
title = _ref$title === void 0 ? '上传附件' : _ref$title,
|
|
|
_ref$showRemoveModal = _ref.showRemoveModal,
|
|
|
showRemoveModal = _ref$showRemoveModal === void 0 ? false : _ref$showRemoveModal,
|
|
|
_ref$accept = _ref.accept,
|
|
|
accept = _ref$accept === void 0 ? '' : _ref$accept,
|
|
|
additionalText = _ref.additionalText,
|
|
|
isDragger = _ref.isDragger,
|
|
|
_ref$number = _ref.number,
|
|
|
number = _ref$number === void 0 ? 1000 : _ref$number,
|
|
|
_ref$aloneClear = _ref.aloneClear,
|
|
|
aloneClear = _ref$aloneClear === void 0 ? false : _ref$aloneClear;
|
|
|
var _useState = (0,react.useState)(false),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
disabled = _useState2[0],
|
|
|
setDisabled = _useState2[1];
|
|
|
var _useState3 = (0,react.useState)(value || []),
|
|
|
_useState4 = slicedToArray_default()(_useState3, 2),
|
|
|
fileList = _useState4[0],
|
|
|
setFileList = _useState4[1];
|
|
|
var _useState5 = (0,react.useState)(1),
|
|
|
_useState6 = slicedToArray_default()(_useState5, 2),
|
|
|
nums = _useState6[0],
|
|
|
setnums = _useState6[1];
|
|
|
(0,react.useEffect)(function () {
|
|
|
if (value) {
|
|
|
if (nums === 1) {
|
|
|
setFileList(toConsumableArray_default()(value));
|
|
|
}
|
|
|
setnums(2);
|
|
|
if (number === (value === null || value === void 0 ? void 0 : value.length)) {
|
|
|
setDisabled(true);
|
|
|
}
|
|
|
}
|
|
|
}, [value]);
|
|
|
var clearLastFile = function clearLastFile() {
|
|
|
setTimeout(function () {
|
|
|
fileList.pop();
|
|
|
setFileList(toConsumableArray_default()(fileList));
|
|
|
}, 500);
|
|
|
};
|
|
|
var uploadProps = {
|
|
|
multiple: true,
|
|
|
disabled: disabled,
|
|
|
accept: accept,
|
|
|
withCredentials: true,
|
|
|
fileList: fileList,
|
|
|
// fileList: fileList?.length ? fileList : value,
|
|
|
beforeUpload: function beforeUpload(file, fileArr) {
|
|
|
var fileSize = file.size / 1024 / 1024;
|
|
|
if (fileList.concat(fileArr).length > number) {
|
|
|
fileList.pop();
|
|
|
setFileList(toConsumableArray_default()(fileList));
|
|
|
es_message/* default.error */.ZP.error("\u6700\u591A\u53EA\u80FD\u4E0A\u4F20".concat(number, "\u4E2A\u6587\u4EF6"));
|
|
|
if (aloneClear) {
|
|
|
return Promise.reject();
|
|
|
}
|
|
|
clearLastFile();
|
|
|
return false;
|
|
|
}
|
|
|
if (!(fileSize < maxSize)) {
|
|
|
es_message/* default.error */.ZP.error("\u8BE5\u6587\u4EF6\u65E0\u6CD5\u4E0A\u4F20\u3002\u8D85\u8FC7\u6587\u4EF6\u5927\u5C0F\u9650\u5236(".concat(maxSize, "MB)."));
|
|
|
if (aloneClear) {
|
|
|
return Promise.reject();
|
|
|
}
|
|
|
clearLastFile();
|
|
|
return false;
|
|
|
}
|
|
|
return true;
|
|
|
},
|
|
|
data: data,
|
|
|
action: action || "".concat(env/* default.API_SERVER */.Z.API_SERVER, "/api/attachments.json"),
|
|
|
// ?debug=student&randomcode=undefined&client_key=6d57f8c3dd186c5ada392546ace9620a
|
|
|
onChange: function onChange(info) {
|
|
|
var _info$file, _info$file$response;
|
|
|
if (info.file.status === "removed") {
|
|
|
fileList = info.fileList;
|
|
|
} else {
|
|
|
fileList = (0,lodash.uniqBy)([].concat(toConsumableArray_default()(info.fileList), toConsumableArray_default()(fileList)), 'uid');
|
|
|
}
|
|
|
if (info.file.status === 'done' && ((_info$file = info.file) === null || _info$file === void 0 ? void 0 : (_info$file$response = _info$file.response) === null || _info$file$response === void 0 ? void 0 : _info$file$response.status) === -1) {
|
|
|
var _info$file2, _info$file2$response;
|
|
|
es_message/* default.error */.ZP.error((_info$file2 = info.file) === null || _info$file2 === void 0 ? void 0 : (_info$file2$response = _info$file2.response) === null || _info$file2$response === void 0 ? void 0 : _info$file2$response.message);
|
|
|
return;
|
|
|
}
|
|
|
if (fileList.length >= number) setDisabled(true);else setDisabled(false);
|
|
|
setFileList(toConsumableArray_default()(fileList));
|
|
|
fileList = fileList.map(function (file) {
|
|
|
var _file$response;
|
|
|
if (file !== null && file !== void 0 && (_file$response = file.response) !== null && _file$response !== void 0 && _file$response.id) {
|
|
|
var _file$response2;
|
|
|
file.url = "/api/attachments/".concat(file === null || file === void 0 ? void 0 : (_file$response2 = file.response) === null || _file$response2 === void 0 ? void 0 : _file$response2.id);
|
|
|
}
|
|
|
if (file.name.indexOf(uploadNameSizeSeperator) === -1) {
|
|
|
file.name = "".concat(file.name).concat(uploadNameSizeSeperator).concat(bytesToSize(file.size));
|
|
|
}
|
|
|
return objectSpread2_default()({}, file);
|
|
|
});
|
|
|
console.log('info:', info, fileList);
|
|
|
_onChange(fileList);
|
|
|
},
|
|
|
onRemove: function () {
|
|
|
var _onRemove = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3(file) {
|
|
|
var remove;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee3$(_context3) {
|
|
|
while (1) switch (_context3.prev = _context3.next) {
|
|
|
case 0:
|
|
|
remove = /*#__PURE__*/function () {
|
|
|
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
|
|
|
var id, rs;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
|
|
|
while (1) switch (_context.prev = _context.next) {
|
|
|
case 0:
|
|
|
id = file.response ? file.response.id : file.id;
|
|
|
if (!id) {
|
|
|
_context.next = 8;
|
|
|
break;
|
|
|
}
|
|
|
_context.next = 4;
|
|
|
return (0,service/* removeAttachment */.JZ)(file.response ? file.response.id : file.uid);
|
|
|
case 4:
|
|
|
rs = _context.sent;
|
|
|
return _context.abrupt("return", Promise.resolve(rs));
|
|
|
case 8:
|
|
|
return _context.abrupt("return", true);
|
|
|
case 9:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
}));
|
|
|
return function remove() {
|
|
|
return _ref2.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
if (!showRemoveModal) {
|
|
|
_context3.next = 5;
|
|
|
break;
|
|
|
}
|
|
|
return _context3.abrupt("return", new Promise(function (resolve, reject) {
|
|
|
modal/* default.confirm */.Z.confirm({
|
|
|
centered: true,
|
|
|
width: 530,
|
|
|
okText: '确定',
|
|
|
cancelText: '取消',
|
|
|
title: '提示',
|
|
|
content: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: "tc font16",
|
|
|
children: "\u662F\u5426\u786E\u8BA4\u5220\u9664?"
|
|
|
}),
|
|
|
onOk: function () {
|
|
|
var _onOk = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2() {
|
|
|
var res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
|
|
|
while (1) switch (_context2.prev = _context2.next) {
|
|
|
case 0:
|
|
|
_context2.next = 2;
|
|
|
return remove();
|
|
|
case 2:
|
|
|
res = _context2.sent;
|
|
|
es_message/* default.success */.ZP.success('删除成功');
|
|
|
resolve(true);
|
|
|
case 5:
|
|
|
case "end":
|
|
|
return _context2.stop();
|
|
|
}
|
|
|
}, _callee2);
|
|
|
}));
|
|
|
function onOk() {
|
|
|
return _onOk.apply(this, arguments);
|
|
|
}
|
|
|
return onOk;
|
|
|
}(),
|
|
|
onCancel: function onCancel() {
|
|
|
return resolve(false);
|
|
|
}
|
|
|
});
|
|
|
}));
|
|
|
case 5:
|
|
|
_context3.next = 7;
|
|
|
return remove();
|
|
|
case 7:
|
|
|
return _context3.abrupt("return", _context3.sent);
|
|
|
case 8:
|
|
|
case "end":
|
|
|
return _context3.stop();
|
|
|
}
|
|
|
}, _callee3);
|
|
|
}));
|
|
|
function onRemove(_x) {
|
|
|
return _onRemove.apply(this, arguments);
|
|
|
}
|
|
|
return onRemove;
|
|
|
}()
|
|
|
};
|
|
|
function onCancel(e) {
|
|
|
e.preventDefault();
|
|
|
e.stopPropagation();
|
|
|
}
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: "multi-upload ".concat(className ? className : ''),
|
|
|
children: [isDragger && /*#__PURE__*/(0,jsx_runtime.jsxs)(Dragger, objectSpread2_default()(objectSpread2_default()({}, uploadProps), {}, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
|
className: "ant-upload-drag-icon",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(InboxOutlined/* default */.Z, {})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
|
|
|
className: "ant-upload-text",
|
|
|
children: ["\u70B9\u51FB\u4E0A\u4F20\u56FE\u6807\uFF0C\u9009\u62E9\u8981\u4E0A\u4F20\u7684\u6587\u4EF6\u6216\u5C06\u6587\u4EF6\u62D6\u62FD\u5230\u6B64", /*#__PURE__*/(0,jsx_runtime.jsx)("br", {}), "(\u5355\u4E2A\u6587\u4EF6\u6700\u5927\u9650\u5236\u4E3A", maxSize, "MB)", ' ']
|
|
|
}), additionalText]
|
|
|
})), !isDragger && /*#__PURE__*/(0,jsx_runtime.jsxs)(upload/* default */.Z, objectSpread2_default()(objectSpread2_default()({}, uploadProps), {}, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(es_button/* default */.ZP, {
|
|
|
disabled: disabled,
|
|
|
className: "upload_button",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
|
|
|
className: "aBtn_img",
|
|
|
src: uploadImg
|
|
|
}), title]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
onClick: onCancel,
|
|
|
className: "upload_text",
|
|
|
children: ["(\u5355\u4E2A\u6587\u4EF6\u6700\u5927", maxSize, "MB)", ' ']
|
|
|
})]
|
|
|
}))]
|
|
|
});
|
|
|
});
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 3842:
|
|
|
/*!*********************************************!*\
|
|
|
!*** ./src/components/SelectUser/index.tsx ***!
|
|
|
\*********************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
"use strict";
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/regeneratorRuntime.js */ 17061);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0__);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_toConsumableArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/toConsumableArray.js */ 861);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_toConsumableArray_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_toConsumableArray_js__WEBPACK_IMPORTED_MODULE_1__);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/asyncToGenerator.js */ 17156);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2__);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/slicedToArray.js */ 27424);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_3__);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/objectSpread2.js */ 42122);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_4__);
|
|
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react */ 67294);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! antd */ 25159);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! antd */ 71230);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! antd */ 79035);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! antd */ 79531);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! antd */ 49288);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! antd */ 71577);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! antd */ 84567);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! antd */ 83062);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! antd */ 2453);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! antd */ 63889);
|
|
|
/* harmony import */ var umi__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! umi */ 88275);
|
|
|
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! moment */ 94699);
|
|
|
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_7__);
|
|
|
/* harmony import */ var react_infinite_scroller__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! react-infinite-scroller */ 246);
|
|
|
/* harmony import */ var react_infinite_scroller__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(react_infinite_scroller__WEBPACK_IMPORTED_MODULE_8__);
|
|
|
/* harmony import */ var _assets_images_icons_search_png__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/assets/images/icons/search.png */ 58143);
|
|
|
/* harmony import */ var _service_classrooms__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/service/classrooms */ 73290);
|
|
|
/* harmony import */ var _components_ui_customization__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/components/ui-customization */ 35567);
|
|
|
/* harmony import */ var _components_ui_customization_reset_less_modules__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @/components/ui-customization/reset.less?modules */ 39132);
|
|
|
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! react/jsx-runtime */ 85893);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var no_data = [];
|
|
|
function SearchForm(_ref) {
|
|
|
var onSearch = _ref.onSearch,
|
|
|
schools = _ref.schools;
|
|
|
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(antd__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .Z, {
|
|
|
colon: false,
|
|
|
layout: "horizontal",
|
|
|
onFinish: onSearch,
|
|
|
initialValues: {
|
|
|
keyword: '',
|
|
|
school_name: '',
|
|
|
search_type: '1'
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsxs)(antd__WEBPACK_IMPORTED_MODULE_15__/* ["default"] */ .Z, {
|
|
|
style: {
|
|
|
flexWrap: 'nowrap'
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(antd__WEBPACK_IMPORTED_MODULE_14__/* ["default"].Item */ .Z.Item, {
|
|
|
name: "search_type",
|
|
|
label: "\u641C\u7D22\u7C7B\u578B",
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsxs)(antd__WEBPACK_IMPORTED_MODULE_16__/* ["default"] */ .Z, {
|
|
|
popupClassName: _components_ui_customization_reset_less_modules__WEBPACK_IMPORTED_MODULE_12__/* ["default"].selectdown */ .Z.selectdown,
|
|
|
style: {
|
|
|
width: 106
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(antd__WEBPACK_IMPORTED_MODULE_16__/* ["default"].Option */ .Z.Option, {
|
|
|
value: "1",
|
|
|
children: "\u59D3\u540D"
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(antd__WEBPACK_IMPORTED_MODULE_16__/* ["default"].Option */ .Z.Option, {
|
|
|
value: "2",
|
|
|
children: "\u624B\u673A\u53F7"
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(antd__WEBPACK_IMPORTED_MODULE_16__/* ["default"].Option */ .Z.Option, {
|
|
|
value: "3",
|
|
|
children: "\u90AE\u7BB1"
|
|
|
})]
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(antd__WEBPACK_IMPORTED_MODULE_14__/* ["default"].Item */ .Z.Item, {
|
|
|
style: {
|
|
|
marginLeft: 20
|
|
|
},
|
|
|
label: "\u641C\u7D22\u5185\u5BB9",
|
|
|
name: "keyword",
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请输入搜索内容'
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(antd__WEBPACK_IMPORTED_MODULE_17__/* ["default"] */ .Z, {
|
|
|
allowClear: true,
|
|
|
style: {
|
|
|
width: 300
|
|
|
},
|
|
|
size: "middle"
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(antd__WEBPACK_IMPORTED_MODULE_14__/* ["default"].Item */ .Z.Item, {
|
|
|
style: {
|
|
|
marginLeft: 20
|
|
|
},
|
|
|
label: "\u5355\u4F4D",
|
|
|
name: "school_name",
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(antd__WEBPACK_IMPORTED_MODULE_18__/* ["default"] */ .Z, {
|
|
|
options: schools,
|
|
|
style: {
|
|
|
width: 300
|
|
|
},
|
|
|
size: "middle",
|
|
|
showSearch: true,
|
|
|
filterOption: function filterOption(inputValue, option) {
|
|
|
return option.value.toUpperCase().indexOf(inputValue.toUpperCase()) !== -1;
|
|
|
},
|
|
|
placeholder: "\u8BF7\u8F93\u5165\u5355\u4F4D\u540D\u79F0"
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(antd__WEBPACK_IMPORTED_MODULE_19__/* ["default"] */ .ZP, {
|
|
|
type: "primary",
|
|
|
style: {
|
|
|
background: '#F6F7F9 linear-gradient(180deg, #FFFFFF 0%, #F6F7F9 100%)',
|
|
|
boxShadow: '0px 2px 4px 0px #E0DFE1, inset 0px 1px 3px 0px rgba(255,255,255,0.5)',
|
|
|
borderRadius: 16,
|
|
|
color: '#165DFF',
|
|
|
marginLeft: 40,
|
|
|
border: '1px solid #BACFFE'
|
|
|
},
|
|
|
htmlType: "submit",
|
|
|
children: "\u641C\u7D22"
|
|
|
})]
|
|
|
})
|
|
|
});
|
|
|
}
|
|
|
var Types = /*#__PURE__*/function (Types) {
|
|
|
Types[Types["INITDATA"] = 0] = "INITDATA";
|
|
|
Types[Types["INITSCHOOLS"] = 1] = "INITSCHOOLS";
|
|
|
Types[Types["SHOWLOADING"] = 2] = "SHOWLOADING";
|
|
|
Types[Types["SELECTEDIDS"] = 3] = "SELECTEDIDS";
|
|
|
Types[Types["SETQUERY"] = 4] = "SETQUERY";
|
|
|
Types[Types["SETPAGE"] = 5] = "SETPAGE";
|
|
|
return Types;
|
|
|
}(Types || {});
|
|
|
function reducer(state, action) {
|
|
|
switch (action.type) {
|
|
|
case Types.INITDATA:
|
|
|
return _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_4___default()(_root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_4___default()({}, state), action.payload);
|
|
|
case Types.SETQUERY:
|
|
|
return _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_4___default()(_root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_4___default()({}, state), action.payload);
|
|
|
case Types.SETPAGE:
|
|
|
return _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_4___default()(_root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_4___default()({}, state), {}, {
|
|
|
page: action.payload,
|
|
|
reload: false
|
|
|
});
|
|
|
case Types.SHOWLOADING:
|
|
|
return _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_4___default()(_root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_4___default()({}, state), {}, {
|
|
|
loading: action.payload
|
|
|
});
|
|
|
case Types.INITSCHOOLS:
|
|
|
return _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_4___default()(_root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_4___default()({}, state), {}, {
|
|
|
schools: action.payload
|
|
|
});
|
|
|
case Types.SELECTEDIDS:
|
|
|
return _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_4___default()(_root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_4___default()({}, state), {}, {
|
|
|
selectedIds: action.payload
|
|
|
});
|
|
|
default:
|
|
|
throw new Error();
|
|
|
}
|
|
|
}
|
|
|
var initialState = {
|
|
|
data: [],
|
|
|
schools: [],
|
|
|
loading: false,
|
|
|
selectedIds: [],
|
|
|
query: null,
|
|
|
page: 1,
|
|
|
count: 0,
|
|
|
reload: false
|
|
|
};
|
|
|
/* harmony default export */ __webpack_exports__["Z"] = (function (_ref2) {
|
|
|
var onSelect = _ref2.onSelect,
|
|
|
onCancel = _ref2.onCancel,
|
|
|
container_id = _ref2.container_id,
|
|
|
container_type = _ref2.container_type;
|
|
|
var _useReducer = (0,react__WEBPACK_IMPORTED_MODULE_5__.useReducer)(reducer, initialState),
|
|
|
_useReducer2 = _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_3___default()(_useReducer, 2),
|
|
|
state = _useReducer2[0],
|
|
|
dispatch = _useReducer2[1];
|
|
|
var data = state.data,
|
|
|
schools = state.schools,
|
|
|
loading = state.loading,
|
|
|
selectedIds = state.selectedIds,
|
|
|
page = state.page,
|
|
|
count = state.count,
|
|
|
query = state.query,
|
|
|
reload = state.reload;
|
|
|
(0,react__WEBPACK_IMPORTED_MODULE_5__.useEffect)(function () {
|
|
|
function init() {
|
|
|
return _init.apply(this, arguments);
|
|
|
}
|
|
|
function _init() {
|
|
|
_init = _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0___default()().mark(function _callee() {
|
|
|
var _yield$searchSchoolTe, users, user_count;
|
|
|
return _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0___default()().wrap(function _callee$(_context) {
|
|
|
while (1) switch (_context.prev = _context.next) {
|
|
|
case 0:
|
|
|
_context.next = 2;
|
|
|
return (0,_service_classrooms__WEBPACK_IMPORTED_MODULE_10__/* .searchSchoolTeacherList */ .nQ)(_root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_4___default()(_root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_4___default()({}, query), {}, {
|
|
|
page: page,
|
|
|
container_type: container_type,
|
|
|
container_id: container_id
|
|
|
}));
|
|
|
case 2:
|
|
|
_yield$searchSchoolTe = _context.sent;
|
|
|
users = _yield$searchSchoolTe.users;
|
|
|
user_count = _yield$searchSchoolTe.user_count;
|
|
|
dispatch({
|
|
|
type: Types.INITDATA,
|
|
|
payload: {
|
|
|
data: reload ? users : [].concat(_root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_toConsumableArray_js__WEBPACK_IMPORTED_MODULE_1___default()(data), _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_toConsumableArray_js__WEBPACK_IMPORTED_MODULE_1___default()(users)),
|
|
|
count: user_count
|
|
|
}
|
|
|
});
|
|
|
case 6:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
}));
|
|
|
return _init.apply(this, arguments);
|
|
|
}
|
|
|
if (query) {
|
|
|
init();
|
|
|
}
|
|
|
}, [page, query, reload, container_id, container_type]);
|
|
|
(0,react__WEBPACK_IMPORTED_MODULE_5__.useEffect)(function () {
|
|
|
function initSchools() {
|
|
|
return _initSchools.apply(this, arguments);
|
|
|
}
|
|
|
function _initSchools() {
|
|
|
_initSchools = _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0___default()().mark(function _callee2() {
|
|
|
var _yield$getSchoolList, school_names;
|
|
|
return _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0___default()().wrap(function _callee2$(_context2) {
|
|
|
while (1) switch (_context2.prev = _context2.next) {
|
|
|
case 0:
|
|
|
_context2.next = 2;
|
|
|
return (0,_service_classrooms__WEBPACK_IMPORTED_MODULE_10__/* .getSchoolList */ .K$)({});
|
|
|
case 2:
|
|
|
_yield$getSchoolList = _context2.sent;
|
|
|
school_names = _yield$getSchoolList.school_names;
|
|
|
dispatch({
|
|
|
type: Types.INITSCHOOLS,
|
|
|
payload: school_names.map(function (item) {
|
|
|
return {
|
|
|
value: item
|
|
|
};
|
|
|
})
|
|
|
});
|
|
|
case 5:
|
|
|
case "end":
|
|
|
return _context2.stop();
|
|
|
}
|
|
|
}, _callee2);
|
|
|
}));
|
|
|
return _initSchools.apply(this, arguments);
|
|
|
}
|
|
|
initSchools();
|
|
|
}, []);
|
|
|
var columns = [{
|
|
|
title: "",
|
|
|
dataIndex: "added",
|
|
|
width: 40,
|
|
|
ellipsis: true,
|
|
|
render: function render(add, record) {
|
|
|
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(antd__WEBPACK_IMPORTED_MODULE_20__/* ["default"] */ .Z, {
|
|
|
value: record.numid,
|
|
|
checked: selectedIds.includes(record.numid),
|
|
|
disabled: !!add
|
|
|
});
|
|
|
}
|
|
|
}, {
|
|
|
title: "姓名",
|
|
|
width: 100,
|
|
|
ellipsis: true,
|
|
|
align: 'left',
|
|
|
dataIndex: "username",
|
|
|
render: function render(text, record) {
|
|
|
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)("div", {
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(antd__WEBPACK_IMPORTED_MODULE_21__/* ["default"] */ .Z, {
|
|
|
placement: "bottom",
|
|
|
title: text,
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(umi__WEBPACK_IMPORTED_MODULE_6__.Link, {
|
|
|
style: {
|
|
|
color: '#000000'
|
|
|
},
|
|
|
className: "bold c-black",
|
|
|
to: "/users/".concat(record.login),
|
|
|
target: "_blank",
|
|
|
children: text || '--'
|
|
|
})
|
|
|
})
|
|
|
});
|
|
|
}
|
|
|
}, {
|
|
|
title: "手机",
|
|
|
width: 100,
|
|
|
dataIndex: "phone",
|
|
|
ellipsis: true,
|
|
|
render: function render(text) {
|
|
|
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(antd__WEBPACK_IMPORTED_MODULE_21__/* ["default"] */ .Z, {
|
|
|
placement: "bottom",
|
|
|
title: text,
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)("span", {
|
|
|
style: {
|
|
|
color: '#000000'
|
|
|
},
|
|
|
children: text || '--'
|
|
|
})
|
|
|
});
|
|
|
}
|
|
|
}, {
|
|
|
title: "邮箱",
|
|
|
dataIndex: "email",
|
|
|
width: 100,
|
|
|
ellipsis: true,
|
|
|
render: function render(text) {
|
|
|
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(antd__WEBPACK_IMPORTED_MODULE_21__/* ["default"] */ .Z, {
|
|
|
placement: "bottom",
|
|
|
title: text,
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)("span", {
|
|
|
style: {
|
|
|
color: '#000000'
|
|
|
},
|
|
|
children: text || '--'
|
|
|
})
|
|
|
});
|
|
|
}
|
|
|
}, {
|
|
|
title: "学号/工号",
|
|
|
width: 100,
|
|
|
dataIndex: "student_number",
|
|
|
ellipsis: true,
|
|
|
render: function render(text) {
|
|
|
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(antd__WEBPACK_IMPORTED_MODULE_21__/* ["default"] */ .Z, {
|
|
|
placement: "bottom",
|
|
|
title: text,
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)("span", {
|
|
|
style: {
|
|
|
color: '#000000'
|
|
|
},
|
|
|
children: text || '--'
|
|
|
})
|
|
|
});
|
|
|
}
|
|
|
}, {
|
|
|
title: "学校/单位",
|
|
|
width: 150,
|
|
|
dataIndex: "school_name",
|
|
|
ellipsis: true,
|
|
|
render: function render(text) {
|
|
|
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(antd__WEBPACK_IMPORTED_MODULE_21__/* ["default"] */ .Z, {
|
|
|
placement: "bottom",
|
|
|
title: text,
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)("span", {
|
|
|
style: {
|
|
|
color: '#000000'
|
|
|
},
|
|
|
children: text || '--'
|
|
|
})
|
|
|
});
|
|
|
}
|
|
|
}, {
|
|
|
title: "院系/部门",
|
|
|
dataIndex: "depart_name",
|
|
|
width: 130,
|
|
|
ellipsis: true,
|
|
|
render: function render(text) {
|
|
|
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(antd__WEBPACK_IMPORTED_MODULE_21__/* ["default"] */ .Z, {
|
|
|
placement: "bottom",
|
|
|
title: text,
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)("span", {
|
|
|
style: {
|
|
|
color: '#000000'
|
|
|
},
|
|
|
children: text || '--'
|
|
|
})
|
|
|
});
|
|
|
}
|
|
|
}, {
|
|
|
title: "实名认证",
|
|
|
dataIndex: "auth",
|
|
|
width: 100,
|
|
|
render: function render(text) {
|
|
|
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)("span", {
|
|
|
style: {
|
|
|
color: '#000000'
|
|
|
},
|
|
|
children: text ? '是' : "否"
|
|
|
});
|
|
|
}
|
|
|
}, {
|
|
|
title: "最后登录时间",
|
|
|
dataIndex: "last_login_on",
|
|
|
width: 140,
|
|
|
ellipsis: true,
|
|
|
render: function render(text) {
|
|
|
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(antd__WEBPACK_IMPORTED_MODULE_21__/* ["default"] */ .Z, {
|
|
|
placement: "bottom",
|
|
|
title: text,
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)("span", {
|
|
|
style: {
|
|
|
color: '#000000'
|
|
|
},
|
|
|
children: moment__WEBPACK_IMPORTED_MODULE_7___default()(text).format("YYYY-MM-DD HH:mm")
|
|
|
})
|
|
|
});
|
|
|
}
|
|
|
}, {
|
|
|
title: "状态",
|
|
|
dataIndex: "added",
|
|
|
width: 80,
|
|
|
render: function render(text) {
|
|
|
if (text === 1) {
|
|
|
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)("span", {
|
|
|
style: {
|
|
|
color: '#000000'
|
|
|
},
|
|
|
children: "\u5DF2\u6DFB\u52A0"
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
}];
|
|
|
function onSearch(values) {
|
|
|
dispatch({
|
|
|
type: Types.SETQUERY,
|
|
|
payload: {
|
|
|
page: 1,
|
|
|
reload: true,
|
|
|
query: values
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
function onLoadMore(nextPage) {
|
|
|
dispatch({
|
|
|
type: Types.SETPAGE,
|
|
|
payload: nextPage
|
|
|
});
|
|
|
}
|
|
|
function onTriggerUser(id) {
|
|
|
var index = selectedIds.indexOf(id);
|
|
|
if (index >= 0) {
|
|
|
selectedIds.splice(index, 1);
|
|
|
} else {
|
|
|
selectedIds.push(id);
|
|
|
}
|
|
|
dispatch({
|
|
|
type: Types.SELECTEDIDS,
|
|
|
payload: _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_toConsumableArray_js__WEBPACK_IMPORTED_MODULE_1___default()(selectedIds)
|
|
|
});
|
|
|
}
|
|
|
function onOk() {
|
|
|
if (selectedIds.length === 0) {
|
|
|
antd__WEBPACK_IMPORTED_MODULE_22__/* ["default"].warning */ .ZP.warning('请先在下面列表中选择要添加成员');
|
|
|
} else {
|
|
|
onSelect(selectedIds, container_id);
|
|
|
//*添加成功后,清空选项
|
|
|
dispatch({
|
|
|
type: Types.INITDATA,
|
|
|
payload: {
|
|
|
data: [],
|
|
|
count: 0,
|
|
|
page: 1,
|
|
|
selectedIds: [],
|
|
|
query: null,
|
|
|
reload: false
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
var hasMore = count > page * 10;
|
|
|
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsxs)("div", {
|
|
|
className: "select-user-container",
|
|
|
style: {
|
|
|
paddingBottom: 20
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(SearchForm, {
|
|
|
onSearch: onSearch,
|
|
|
schools: schools
|
|
|
}), !query ? /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsxs)("div", {
|
|
|
className: "tc font16 c-light-black mt40 pb30",
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)("img", {
|
|
|
src: _assets_images_icons_search_png__WEBPACK_IMPORTED_MODULE_9__,
|
|
|
width: "100",
|
|
|
alt: ""
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)("br", {}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)("p", {
|
|
|
className: "mt20",
|
|
|
children: "\u8BF7\u641C\u7D22\u8981\u6DFB\u52A0\u7684\u4EBA\u5458"
|
|
|
})]
|
|
|
}) : /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.Fragment, {
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)("div", {
|
|
|
className: "flexd-table-header mt20",
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_components_ui_customization__WEBPACK_IMPORTED_MODULE_11__/* .CustomTable */ .Gi, {
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(antd__WEBPACK_IMPORTED_MODULE_23__/* ["default"] */ .Z, {
|
|
|
pagination: false,
|
|
|
dataSource: no_data,
|
|
|
columns: columns
|
|
|
})
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)("div", {
|
|
|
style: {
|
|
|
maxHeight: 260,
|
|
|
overflow: 'auto',
|
|
|
marginBottom: 20
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)((react_infinite_scroller__WEBPACK_IMPORTED_MODULE_8___default()), {
|
|
|
initialLoad: false,
|
|
|
pageStart: 1,
|
|
|
threshold: 20,
|
|
|
loadMore: onLoadMore,
|
|
|
hasMore: hasMore,
|
|
|
useWindow: false,
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_components_ui_customization__WEBPACK_IMPORTED_MODULE_11__/* .CustomTable */ .Gi, {
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(antd__WEBPACK_IMPORTED_MODULE_23__/* ["default"] */ .Z, {
|
|
|
loading: loading,
|
|
|
showHeader: false,
|
|
|
pagination: false,
|
|
|
dataSource: data,
|
|
|
columns: columns,
|
|
|
onRow: function onRow(record) {
|
|
|
return {
|
|
|
onClick: function onClick(_) {
|
|
|
if (record.added !== 1) {
|
|
|
onTriggerUser(record.numid);
|
|
|
}
|
|
|
}
|
|
|
};
|
|
|
}
|
|
|
})
|
|
|
})
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsxs)("div", {
|
|
|
className: "flex-container flex-end",
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(antd__WEBPACK_IMPORTED_MODULE_19__/* ["default"] */ .ZP, {
|
|
|
type: "ghost",
|
|
|
style: {
|
|
|
marginRight: 10,
|
|
|
border: '1px solid #C3CFE0',
|
|
|
color: '#464F66'
|
|
|
},
|
|
|
onClick: onCancel,
|
|
|
children: "\u53D6\u6D88"
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(antd__WEBPACK_IMPORTED_MODULE_19__/* ["default"] */ .ZP, {
|
|
|
style: {
|
|
|
background: '#F6F7F9 linear-gradient(180deg, #FFFFFF 0%, #F6F7F9 100%)',
|
|
|
boxShadow: '0px 2px 4px 0px #E0DFE1, inset 0px 1px 3px 0px rgba(255,255,255,0.5)',
|
|
|
borderRadius: 2,
|
|
|
color: '#165DFF',
|
|
|
border: '1px solid #BACFFE'
|
|
|
},
|
|
|
type: "primary",
|
|
|
onClick: onOk,
|
|
|
children: "\u786E\u5B9A"
|
|
|
})]
|
|
|
})]
|
|
|
})]
|
|
|
});
|
|
|
});
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 53087:
|
|
|
/*!********************************************************************************!*\
|
|
|
!*** ./src/components/ui-customization/Cards/CourseList/index.tsx + 1 modules ***!
|
|
|
\********************************************************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
"use strict";
|
|
|
|
|
|
// EXPORTS
|
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
|
"Z": function() { return /* binding */ Cards_CourseList; }
|
|
|
});
|
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/react/index.js
|
|
|
var react = __webpack_require__(67294);
|
|
|
;// CONCATENATED MODULE: ./src/components/ui-customization/Cards/CourseList/index.less?modules
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
/* harmony default export */ var CourseListmodules = ({"flex_box_center":"flex_box_center___AQ53o","flex_space_between":"flex_space_between___i2aIa","flex_box_vertical_center":"flex_box_vertical_center___sPEKB","flex_box_center_end":"flex_box_center_end___GhSSH","flex_box_column":"flex_box_column___R9_Hb","list":"list___jb2Ay","wrap":"wrap___VsQDr","lockWrap":"lockWrap___g1k1T","li":"li___IxCLC","cover":"cover___Mu8wr","img":"img___IpFLA","bq":"bq___Bil0T","sign":"sign___DXJ4d","name":"name___l7FoJ","e":"e___pXQUG","unit":"unit___wCIFR","tags":"tags___w_Mil","tag1":"tag1___dxm7r","tag2":"tag2___llZkf"});
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/spin/index.js + 1 modules
|
|
|
var spin = __webpack_require__(57953);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/tooltip/index.js + 3 modules
|
|
|
var tooltip = __webpack_require__(83062);
|
|
|
// EXTERNAL MODULE: ./src/utils/env.ts + 1 modules
|
|
|
var env = __webpack_require__(59758);
|
|
|
// EXTERNAL MODULE: ./node_modules/classnames/index.js
|
|
|
var classnames = __webpack_require__(94184);
|
|
|
var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
|
|
|
// EXTERNAL MODULE: ./src/utils/util.tsx
|
|
|
var util = __webpack_require__(29427);
|
|
|
// EXTERNAL MODULE: ./src/components/NoData/index.tsx
|
|
|
var NoData = __webpack_require__(82982);
|
|
|
// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js
|
|
|
var jsx_runtime = __webpack_require__(85893);
|
|
|
;// CONCATENATED MODULE: ./src/components/ui-customization/Cards/CourseList/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var CourseList = function CourseList(_ref) {
|
|
|
var className = _ref.className,
|
|
|
_ref$dataSource = _ref.dataSource,
|
|
|
dataSource = _ref$dataSource === void 0 ? [] : _ref$dataSource,
|
|
|
_ref$col = _ref.col,
|
|
|
col = _ref$col === void 0 ? 4 : _ref$col,
|
|
|
right = _ref.right,
|
|
|
_ref$bottom = _ref.bottom,
|
|
|
bottom = _ref$bottom === void 0 ? 23 : _ref$bottom,
|
|
|
_ref$precision = _ref.precision,
|
|
|
precision = _ref$precision === void 0 ? 0 : _ref$precision,
|
|
|
_ref$wrapWidth = _ref.wrapWidth,
|
|
|
wrapWidth = _ref$wrapWidth === void 0 ? 1200 : _ref$wrapWidth,
|
|
|
trackEventItems = _ref.trackEventItems,
|
|
|
loading = _ref.loading;
|
|
|
var width = Math.floor((wrapWidth - (col - 1) * right) / col);
|
|
|
var imgs = [{
|
|
|
name: '推荐自学',
|
|
|
ptimg: '/images/tjzx.png',
|
|
|
swimg: '/images/sw_tjzx.png'
|
|
|
}, {
|
|
|
name: '101计划',
|
|
|
ptimg: '/images/jh.png',
|
|
|
swimg: '/images/sw_jh.png'
|
|
|
}, {
|
|
|
name: '国家一流',
|
|
|
ptimg: '/images/gjyl.png',
|
|
|
swimg: '/images/sw_gjyl.png'
|
|
|
}, {
|
|
|
name: '省级一流',
|
|
|
ptimg: '/images/sjyl.png',
|
|
|
swimg: '/images/sw_sjyl.png'
|
|
|
}, {
|
|
|
name: '精品课程',
|
|
|
ptimg: '/images/jpkc.png',
|
|
|
swimg: '/images/sw_jpkc.png'
|
|
|
}, {
|
|
|
name: '军队一流',
|
|
|
ptimg: '/images/jdyl.png',
|
|
|
swimg: '/images/sw_jdyl.png'
|
|
|
}];
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(spin/* default */.Z, {
|
|
|
spinning: loading,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: classnames_default()(CourseListmodules.list, className),
|
|
|
children: [!!(dataSource !== null && dataSource !== void 0 && dataSource.length) && (dataSource === null || dataSource === void 0 ? void 0 : dataSource.map(function (item, index) {
|
|
|
var _item$subject_tags;
|
|
|
var name = item.name,
|
|
|
id = item.id,
|
|
|
identifier = item.identifier,
|
|
|
featured = item.featured,
|
|
|
school_name = item.school_name,
|
|
|
image_url = item.image_url,
|
|
|
excellent = item.excellent,
|
|
|
is_plan = item.is_plan;
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: CourseListmodules.wrap,
|
|
|
style: {
|
|
|
width: width,
|
|
|
marginRight: (1 + index) % col === 0 ? 0 : right + precision,
|
|
|
marginBottom: bottom
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
|
|
|
target: "_blank",
|
|
|
href: "/paths/".concat(identifier),
|
|
|
className: CourseListmodules.li,
|
|
|
onClick: function onClick(e) {
|
|
|
e.preventDefault();
|
|
|
if (trackEventItems) {
|
|
|
(0,util/* trackEvent */.L9)([trackEventItems]);
|
|
|
}
|
|
|
(0,util/* openNewWindow */.xg)("/paths/".concat(identifier));
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: CourseListmodules.img,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
|
|
|
className: CourseListmodules.cover,
|
|
|
src: "".concat(env/* default.IMG_SERVER */.Z.IMG_SERVER, "/").concat(image_url)
|
|
|
}), item === null || item === void 0 ? void 0 : (_item$subject_tags = item.subject_tags) === null || _item$subject_tags === void 0 ? void 0 : _item$subject_tags.map(function (i, k) {
|
|
|
var _imgs$find2;
|
|
|
if (k === 0) {
|
|
|
var _imgs$find;
|
|
|
var _img = (_imgs$find = imgs.find(function (e) {
|
|
|
return e.name == i;
|
|
|
})) === null || _imgs$find === void 0 ? void 0 : _imgs$find.swimg;
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)("img", {
|
|
|
className: CourseListmodules.sign,
|
|
|
src: _img,
|
|
|
style: {
|
|
|
left: '-4px'
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
var img = (_imgs$find2 = imgs.find(function (e) {
|
|
|
return e.name == i;
|
|
|
})) === null || _imgs$find2 === void 0 ? void 0 : _imgs$find2.ptimg;
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)("img", {
|
|
|
className: CourseListmodules.sign,
|
|
|
src: img,
|
|
|
style: {
|
|
|
left: "".concat(48 + 52 * (k - 1) + 2 * k, "px")
|
|
|
}
|
|
|
});
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
style: {
|
|
|
position: 'absolute',
|
|
|
top: '150px',
|
|
|
left: '10px'
|
|
|
},
|
|
|
children: (item === null || item === void 0 ? void 0 : item.is_free) && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: CourseListmodules.bq,
|
|
|
children: "\u5F00\u653E\u8BFE\u7A0B"
|
|
|
})
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: CourseListmodules.name,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
|
|
|
title: name,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: CourseListmodules.e,
|
|
|
children: name
|
|
|
})
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
|
|
|
title: "\u53D1\u5E03\u5355\u4F4D\uFF1A".concat(school_name),
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: CourseListmodules.unit,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-danwei1 font14 mr3"
|
|
|
}), school_name]
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: CourseListmodules.tags,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
|
|
|
placement: "bottom",
|
|
|
title: "\u7AE0\u8282\u6570",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-zhangjie1 font14 mr3"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
children: item.stages_count
|
|
|
})]
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
|
|
|
placement: "bottom",
|
|
|
title: "\u5B66\u4E60\u4EBA\u6570",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-chengyuan font14 mr3"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
children: item.members_count
|
|
|
})]
|
|
|
})
|
|
|
})]
|
|
|
})
|
|
|
})]
|
|
|
})
|
|
|
}, id);
|
|
|
})), !dataSource.length && /*#__PURE__*/(0,jsx_runtime.jsx)(NoData/* default */.Z, {})]
|
|
|
})
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var Cards_CourseList = (CourseList);
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 35567:
|
|
|
/*!****************************************************************!*\
|
|
|
!*** ./src/components/ui-customization/index.tsx + 32 modules ***!
|
|
|
\****************************************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
"use strict";
|
|
|
|
|
|
// EXPORTS
|
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
|
"jL": function() { return /* reexport */ ui_customization_Banner; },
|
|
|
"w9": function() { return /* reexport */ Cards_ClassroomList; },
|
|
|
"QD": function() { return /* reexport */ ui_customization_ConfirmAndCancel; },
|
|
|
"cQ": function() { return /* reexport */ CourseList/* default */.Z; },
|
|
|
"op": function() { return /* reexport */ ui_customization_CustomButton; },
|
|
|
"O5": function() { return /* reexport */ ui_customization_CustomCountdown; },
|
|
|
"_b": function() { return /* reexport */ CustomCrumbs; },
|
|
|
"t7": function() { return /* reexport */ ui_customization_CustomInput; },
|
|
|
"Gi": function() { return /* reexport */ CustomTable; },
|
|
|
"YG": function() { return /* reexport */ CustomTabs; },
|
|
|
"qp": function() { return /* reexport */ ui_customization_CustomTags; },
|
|
|
"vr": function() { return /* reexport */ ui_customization_FixedBottom; },
|
|
|
"qE": function() { return /* reexport */ HeadBack; },
|
|
|
"Je": function() { return /* reexport */ QuickPager; },
|
|
|
"wb": function() { return /* reexport */ Cards_ShixunList; },
|
|
|
"cq": function() { return /* reexport */ ui_customization_SuperiorSort; },
|
|
|
"tp": function() { return /* reexport */ ui_customization_SuperiorTabs; }
|
|
|
});
|
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/react/index.js
|
|
|
var react = __webpack_require__(67294);
|
|
|
;// CONCATENATED MODULE: ./src/components/ui-customization/Banner/index.less?modules
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
/* harmony default export */ var Bannermodules = ({"flex_box_center":"flex_box_center___NeSU8","flex_space_between":"flex_space_between___ImTGl","flex_box_vertical_center":"flex_box_vertical_center___BtRd9","flex_box_center_end":"flex_box_center_end___qcLe3","flex_box_column":"flex_box_column___Ze_3q","banner":"banner___PoUBO","content":"content___XoDjy","btns":"btns___Pb35j"});
|
|
|
;// CONCATENATED MODULE: ./src/components/ui-customization/Banner/robot.png
|
|
|
var robot_namespaceObject = "data:image/png;base64,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";
|
|
|
// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js
|
|
|
var jsx_runtime = __webpack_require__(85893);
|
|
|
;// CONCATENATED MODULE: ./src/components/ui-customization/Banner/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var Banner = function Banner(_ref) {
|
|
|
var _ref$dataSource = _ref.dataSource,
|
|
|
dataSource = _ref$dataSource === void 0 ? [] : _ref$dataSource,
|
|
|
img = _ref.img,
|
|
|
_ref$imgWidth = _ref.imgWidth,
|
|
|
imgWidth = _ref$imgWidth === void 0 ? 346 : _ref$imgWidth,
|
|
|
title = _ref.title,
|
|
|
sunTitle = _ref.sunTitle,
|
|
|
bannerExtraContent = _ref.bannerExtraContent;
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: Bannermodules.banner,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: Bannermodules.content,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("aside", {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("b", {
|
|
|
children: title
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
children: sunTitle
|
|
|
})]
|
|
|
}), dataSource.length > 0 && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: Bannermodules.btns,
|
|
|
children: dataSource.map(function (e, i) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
onClick: e.click,
|
|
|
children: [e.name, e.sign ? /*#__PURE__*/(0,jsx_runtime.jsx)("img", {
|
|
|
src: robot_namespaceObject,
|
|
|
width: 39
|
|
|
}) : null]
|
|
|
}, i);
|
|
|
})
|
|
|
}), bannerExtraContent]
|
|
|
}), img && /*#__PURE__*/(0,jsx_runtime.jsx)("img", {
|
|
|
style: {
|
|
|
marginTop: 33,
|
|
|
marginRight: 38
|
|
|
},
|
|
|
src: img,
|
|
|
width: imgWidth
|
|
|
})]
|
|
|
})
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var ui_customization_Banner = (Banner);
|
|
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/slicedToArray.js
|
|
|
var slicedToArray = __webpack_require__(27424);
|
|
|
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
|
|
|
;// CONCATENATED MODULE: ./src/components/ui-customization/CustomTags/index.less?modules
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
/* harmony default export */ var CustomTagsmodules = ({"flex_box_center":"flex_box_center___hG6RI","flex_space_between":"flex_space_between___ss3Fh","flex_box_vertical_center":"flex_box_vertical_center___K80p9","flex_box_center_end":"flex_box_center_end___qmXX3","flex_box_column":"flex_box_column___GFV8F","row":"row___aXJjm","title":"title___HUKL0","tagsWrap":"tagsWrap___XB2W3","action":"action___VdHb1","bar":"bar___t1kKC","tag":"tag___V7Eft","name":"name___Hk1Ip","num":"num___xQpcH","active":"active___XryTX","tagsBorderWrap":"tagsBorderWrap___OMxjs"});
|
|
|
// EXTERNAL MODULE: ./node_modules/classnames/index.js
|
|
|
var classnames = __webpack_require__(94184);
|
|
|
var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
|
|
|
// EXTERNAL MODULE: ./node_modules/lodash/lodash.js
|
|
|
var lodash = __webpack_require__(96486);
|
|
|
;// CONCATENATED MODULE: ./src/components/ui-customization/CustomTags/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var CustomTags = function CustomTags(_ref) {
|
|
|
var _ref$dataSource = _ref.dataSource,
|
|
|
dataSource = _ref$dataSource === void 0 ? [] : _ref$dataSource,
|
|
|
value = _ref.value,
|
|
|
onChange = _ref.onChange,
|
|
|
onTitleChange = _ref.onTitleChange,
|
|
|
className = _ref.className,
|
|
|
title = _ref.title,
|
|
|
_ref$titleWidth = _ref.titleWidth,
|
|
|
titleWidth = _ref$titleWidth === void 0 ? 41 : _ref$titleWidth,
|
|
|
_ref$style = _ref.style,
|
|
|
style = _ref$style === void 0 ? {} : _ref$style,
|
|
|
_ref$fontColor = _ref.fontColor,
|
|
|
fontColor = _ref$fontColor === void 0 ? '#6A7283' : _ref$fontColor,
|
|
|
showCount = _ref.showCount;
|
|
|
var _useState = (0,react.useState)(0),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
show = _useState2[0],
|
|
|
setShow = _useState2[1];
|
|
|
var _useState3 = (0,react.useState)(false),
|
|
|
_useState4 = slicedToArray_default()(_useState3, 2),
|
|
|
showBorder = _useState4[0],
|
|
|
setShowBorder = _useState4[1];
|
|
|
var tagsRef = (0,react.useRef)(null);
|
|
|
var scrollRef = (0,react.useRef)(null);
|
|
|
(0,react.useEffect)(function () {
|
|
|
if (dataSource.length !== 0) {
|
|
|
var _tagsRef$current;
|
|
|
if ((tagsRef === null || tagsRef === void 0 ? void 0 : (_tagsRef$current = tagsRef.current) === null || _tagsRef$current === void 0 ? void 0 : _tagsRef$current.clientHeight) > 97) {
|
|
|
setShow(1);
|
|
|
} else {
|
|
|
setShow(0);
|
|
|
}
|
|
|
}
|
|
|
if (dataSource.length === 0) {
|
|
|
setShow(0);
|
|
|
}
|
|
|
setShowBorder(false);
|
|
|
}, [dataSource]);
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: classnames_default()(CustomTagsmodules.row, className),
|
|
|
style: style,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
onClick: (0,lodash.throttle)(function () {
|
|
|
return onTitleChange === null || onTitleChange === void 0 ? void 0 : onTitleChange();
|
|
|
}, 2000),
|
|
|
style: {
|
|
|
width: titleWidth,
|
|
|
marginTop: showBorder ? 12 : 4
|
|
|
},
|
|
|
className: "".concat(CustomTagsmodules.title, " ").concat(onTitleChange ? "current" : ""),
|
|
|
children: title
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: showBorder ? "".concat(CustomTagsmodules.tagsWrap, " ").concat(CustomTagsmodules.tagsBorderWrap) : CustomTagsmodules.tagsWrap,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: CustomTagsmodules.bar,
|
|
|
ref: scrollRef,
|
|
|
style: show > 0 ? {
|
|
|
height: show === 1 ? 97 : 'auto',
|
|
|
overflow: show === 1 ? 'hidden' : 'auto',
|
|
|
paddingRight: 55
|
|
|
} : {
|
|
|
paddingRight: 0
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: CustomTagsmodules.tag,
|
|
|
ref: tagsRef,
|
|
|
children: dataSource === null || dataSource === void 0 ? void 0 : dataSource.map(function (e) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
onClick: function onClick() {
|
|
|
return onChange(e.id);
|
|
|
},
|
|
|
style: {
|
|
|
color: fontColor
|
|
|
},
|
|
|
className: value === e.id ? CustomTagsmodules.active : '',
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
title: e.name,
|
|
|
className: CustomTagsmodules.name,
|
|
|
children: e.name
|
|
|
}), !!showCount && /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: CustomTagsmodules.num,
|
|
|
children: e.count
|
|
|
})]
|
|
|
}, e.id);
|
|
|
})
|
|
|
})
|
|
|
}), !!show && /*#__PURE__*/(0,jsx_runtime.jsx)(react.Fragment, {
|
|
|
children: show === 1 ? /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
onClick: function onClick() {
|
|
|
var _tagsRef$current2;
|
|
|
setShow(2);
|
|
|
if ((tagsRef === null || tagsRef === void 0 ? void 0 : (_tagsRef$current2 = tagsRef.current) === null || _tagsRef$current2 === void 0 ? void 0 : _tagsRef$current2.clientHeight) > 245) {
|
|
|
setShowBorder(true);
|
|
|
} else {
|
|
|
setShowBorder(false);
|
|
|
}
|
|
|
},
|
|
|
className: CustomTagsmodules.action,
|
|
|
children: ["\u5C55\u5F00", /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
style: {
|
|
|
transform: 'translateY(1px) scale(0.6)'
|
|
|
},
|
|
|
className: "iconfont icon-zhankai4"
|
|
|
})]
|
|
|
}) : /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
onClick: function onClick() {
|
|
|
scrollRef.current.scrollTop = 0;
|
|
|
setShow(1);
|
|
|
setShowBorder(false);
|
|
|
},
|
|
|
className: CustomTagsmodules.action,
|
|
|
children: ["\u6536\u8D77", /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
style: {
|
|
|
transform: 'translateY(0px) scale(0.6)'
|
|
|
},
|
|
|
className: "iconfont icon-shouqi3"
|
|
|
})]
|
|
|
})
|
|
|
})]
|
|
|
})]
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var ui_customization_CustomTags = (CustomTags);
|
|
|
;// CONCATENATED MODULE: ./src/components/ui-customization/SuperiorTabs/index.less?modules
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
/* harmony default export */ var SuperiorTabsmodules = ({"flex_box_center":"flex_box_center___aK2n3","flex_space_between":"flex_space_between___HX0Oh","flex_box_vertical_center":"flex_box_vertical_center___LJOJr","flex_box_center_end":"flex_box_center_end___SCakF","flex_box_column":"flex_box_column___AYv4m","tabs":"tabs___GTqPV","active":"active___F26E8"});
|
|
|
;// CONCATENATED MODULE: ./src/components/ui-customization/SuperiorTabs/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var SuperiorTabs = function SuperiorTabs(_ref) {
|
|
|
var _ref$dataSource = _ref.dataSource,
|
|
|
dataSource = _ref$dataSource === void 0 ? [] : _ref$dataSource,
|
|
|
value = _ref.value,
|
|
|
onChange = _ref.onChange,
|
|
|
className = _ref.className,
|
|
|
_ref$style = _ref.style,
|
|
|
style = _ref$style === void 0 ? {} : _ref$style;
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
style: style,
|
|
|
className: classnames_default()(SuperiorTabsmodules.tabs, className),
|
|
|
children: dataSource.map(function (e) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
onClick: function onClick() {
|
|
|
return onChange(e.id);
|
|
|
},
|
|
|
className: value === e.id ? SuperiorTabsmodules.active : '',
|
|
|
children: e.name
|
|
|
}, e.id);
|
|
|
})
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var ui_customization_SuperiorTabs = (SuperiorTabs);
|
|
|
;// CONCATENATED MODULE: ./src/components/ui-customization/CustomInput/index.less?modules
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
/* harmony default export */ var CustomInputmodules = ({"flex_box_center":"flex_box_center___yX6Oa","flex_space_between":"flex_space_between___t7oqF","flex_box_vertical_center":"flex_box_vertical_center___dEIHy","flex_box_center_end":"flex_box_center_end___taQDF","flex_box_column":"flex_box_column___xY_Lr","input":"input___PW2zI","dropdown":"dropdown___vSy8B","menu":"menu___NiyBu","text":"text___Grueu","b1":"b1___ZKryM","b2":"b2___aKyGa"});
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/input/index.js + 5 modules
|
|
|
var input = __webpack_require__(79531);
|
|
|
;// CONCATENATED MODULE: ./src/components/ui-customization/CustomInput/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var CustomInput = function CustomInput(_ref) {
|
|
|
var _dataSource$find;
|
|
|
var _ref$dataSource = _ref.dataSource,
|
|
|
dataSource = _ref$dataSource === void 0 ? [] : _ref$dataSource,
|
|
|
_ref$value = _ref.value,
|
|
|
value = _ref$value === void 0 ? '' : _ref$value,
|
|
|
onChange = _ref.onChange,
|
|
|
className = _ref.className,
|
|
|
_ref$style = _ref.style,
|
|
|
style = _ref$style === void 0 ? {} : _ref$style,
|
|
|
placeholder = _ref.placeholder;
|
|
|
var _useState = (0,react.useState)(''),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
dropValue = _useState2[0],
|
|
|
setDropValue = _useState2[1];
|
|
|
var _useState3 = (0,react.useState)(''),
|
|
|
_useState4 = slicedToArray_default()(_useState3, 2),
|
|
|
inputValue = _useState4[0],
|
|
|
setInputValue = _useState4[1];
|
|
|
(0,react.useEffect)(function () {
|
|
|
var _JSON$stringify;
|
|
|
var newValue = value;
|
|
|
if ((_JSON$stringify = JSON.stringify(value)) !== null && _JSON$stringify !== void 0 && _JSON$stringify.includes('{')) {
|
|
|
setDropValue(value.id);
|
|
|
newValue = value.value || '';
|
|
|
}
|
|
|
try {
|
|
|
setInputValue(decodeURIComponent(newValue || ""));
|
|
|
} catch (error) {
|
|
|
setInputValue(decodeURIComponent(newValue || ""));
|
|
|
}
|
|
|
}, [value]);
|
|
|
var handleChange = function handleChange() {
|
|
|
onChange(encodeURIComponent(inputValue), dropValue || null);
|
|
|
};
|
|
|
var handleDropValue = function handleDropValue(id) {
|
|
|
if (id === dropValue) return;
|
|
|
setDropValue(id);
|
|
|
onChange(encodeURIComponent(inputValue), id);
|
|
|
};
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: classnames_default()(CustomInputmodules.input, className),
|
|
|
style: style,
|
|
|
children: [!!dataSource.length && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: CustomInputmodules.dropdown,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: CustomInputmodules.text,
|
|
|
children: [(_dataSource$find = dataSource.find(function (e) {
|
|
|
return e.id === dropValue;
|
|
|
})) === null || _dataSource$find === void 0 ? void 0 : _dataSource$find.name, /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-zhankai4"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("b", {
|
|
|
className: CustomInputmodules.b1
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("b", {
|
|
|
className: CustomInputmodules.b2
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: CustomInputmodules.menu,
|
|
|
children: dataSource.map(function (e, i) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
onClick: function onClick() {
|
|
|
return handleDropValue(e.id);
|
|
|
},
|
|
|
children: e.name
|
|
|
}, i);
|
|
|
})
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
|
|
|
onPressEnter: handleChange,
|
|
|
value: inputValue,
|
|
|
onChange: function onChange(e) {
|
|
|
return setInputValue(e.target.value);
|
|
|
},
|
|
|
bordered: false,
|
|
|
placeholder: placeholder
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
onClick: handleChange,
|
|
|
className: "iconfont icon-sousuo9 font14 pl10 current"
|
|
|
})]
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var ui_customization_CustomInput = (CustomInput);
|
|
|
;// CONCATENATED MODULE: ./src/components/ui-customization/QuickPager/index.less?modules
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
/* harmony default export */ var QuickPagermodules = ({"flex_box_center":"flex_box_center___tol8o","flex_space_between":"flex_space_between___Z235C","flex_box_vertical_center":"flex_box_vertical_center___Wq1sZ","flex_box_center_end":"flex_box_center_end___LLxom","flex_box_column":"flex_box_column___DbMSN","quickPager":"quickPager___GM30J","disabled":"disabled___Ozc8I"});
|
|
|
;// CONCATENATED MODULE: ./src/components/ui-customization/QuickPager/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var QuickPager_SuperiorTabs = function SuperiorTabs(_ref) {
|
|
|
var value = _ref.value,
|
|
|
onChange = _ref.onChange,
|
|
|
className = _ref.className,
|
|
|
total = _ref.total,
|
|
|
pageSize = _ref.pageSize,
|
|
|
_ref$style = _ref.style,
|
|
|
style = _ref$style === void 0 ? {} : _ref$style;
|
|
|
var prevPageDisabled = value < 2;
|
|
|
var nextPageDisabled = value >= Math.ceil(total / pageSize);
|
|
|
if (total <= pageSize) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(jsx_runtime.Fragment, {});
|
|
|
}
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: classnames_default()(QuickPagermodules.quickPager, className),
|
|
|
style: style,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
onClick: function onClick() {
|
|
|
if (!prevPageDisabled) {
|
|
|
onChange(value - 1, 'prev');
|
|
|
}
|
|
|
},
|
|
|
className: prevPageDisabled ? QuickPagermodules.disabled : '',
|
|
|
children: "\u4E0A\u4E00\u9875"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
onClick: function onClick() {
|
|
|
if (!nextPageDisabled) {
|
|
|
onChange(value + 1, 'next');
|
|
|
}
|
|
|
},
|
|
|
className: nextPageDisabled ? QuickPagermodules.disabled : '',
|
|
|
children: "\u4E0B\u4E00\u9875"
|
|
|
})]
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var QuickPager = (QuickPager_SuperiorTabs);
|
|
|
;// CONCATENATED MODULE: ./src/components/ui-customization/Cards/ShixunList/index.less?modules
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
/* harmony default export */ var ShixunListmodules = ({"flex_box_center":"flex_box_center___FO7TP","flex_space_between":"flex_space_between___LotYx","flex_box_vertical_center":"flex_box_vertical_center___bWdaw","flex_box_center_end":"flex_box_center_end___mVJ1o","flex_box_column":"flex_box_column___M83Mm","list":"list___oOsiS","wrap":"wrap___G6T7F","lockWrap":"lockWrap___Rl79E","li":"li___oZZ7l","cover":"cover___b2bYW","img":"img___IQX7w","sign":"sign___HkT6C","name":"name___SsJx8","e":"e___TMqq0","tags":"tags___bcjyo","rate":"rate___YACg7"});
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/spin/index.js + 1 modules
|
|
|
var spin = __webpack_require__(57953);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/tooltip/index.js + 3 modules
|
|
|
var tooltip = __webpack_require__(83062);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/rate/index.js + 8 modules
|
|
|
var rate = __webpack_require__(59606);
|
|
|
// EXTERNAL MODULE: ./src/utils/env.ts + 1 modules
|
|
|
var env = __webpack_require__(59758);
|
|
|
// EXTERNAL MODULE: ./src/utils/util.tsx
|
|
|
var util = __webpack_require__(29427);
|
|
|
// EXTERNAL MODULE: ./src/components/ui-customization/Cards/ShixunList/img/Jupyter.png
|
|
|
var Jupyter = __webpack_require__(96908);
|
|
|
// EXTERNAL MODULE: ./src/components/ui-customization/Cards/ShixunList/img/JupyterLab.png
|
|
|
var JupyterLab = __webpack_require__(57177);
|
|
|
// EXTERNAL MODULE: ./src/components/ui-customization/Cards/ShixunList/img/unity.png
|
|
|
var unity = __webpack_require__(81378);
|
|
|
// EXTERNAL MODULE: ./src/components/NoData/index.tsx
|
|
|
var NoData = __webpack_require__(82982);
|
|
|
;// CONCATENATED MODULE: ./src/components/ui-customization/Cards/ShixunList/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var ShixunList = function ShixunList(_ref) {
|
|
|
var className = _ref.className,
|
|
|
_ref$dataSource = _ref.dataSource,
|
|
|
dataSource = _ref$dataSource === void 0 ? [] : _ref$dataSource,
|
|
|
_ref$col = _ref.col,
|
|
|
col = _ref$col === void 0 ? 4 : _ref$col,
|
|
|
right = _ref.right,
|
|
|
_ref$bottom = _ref.bottom,
|
|
|
bottom = _ref$bottom === void 0 ? 23 : _ref$bottom,
|
|
|
_ref$precision = _ref.precision,
|
|
|
precision = _ref$precision === void 0 ? 0 : _ref$precision,
|
|
|
_ref$wrapWidth = _ref.wrapWidth,
|
|
|
wrapWidth = _ref$wrapWidth === void 0 ? 1200 : _ref$wrapWidth,
|
|
|
trackEventItems = _ref.trackEventItems,
|
|
|
loading = _ref.loading;
|
|
|
var width = Math.floor((wrapWidth - (col - 1) * right) / col);
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(spin/* default */.Z, {
|
|
|
spinning: loading,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: classnames_default()(ShixunListmodules.list, className),
|
|
|
children: [!!dataSource.length && dataSource.map(function (item, index) {
|
|
|
var name = item.name,
|
|
|
id = item.id,
|
|
|
identifier = item.identifier,
|
|
|
power = item.power,
|
|
|
cover_image_id = item.cover_image_id,
|
|
|
pic = item.pic;
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: ShixunListmodules.wrap,
|
|
|
style: {
|
|
|
width: width,
|
|
|
marginRight: (1 + index) % col === 0 ? 0 : right + precision,
|
|
|
marginBottom: bottom
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
|
|
|
target: "_blank",
|
|
|
href: "/shixuns/".concat(identifier, "/challenges"),
|
|
|
className: ShixunListmodules.li,
|
|
|
onClick: function onClick(e) {
|
|
|
e.preventDefault();
|
|
|
if (trackEventItems) {
|
|
|
(0,util/* trackEvent */.L9)([trackEventItems]);
|
|
|
}
|
|
|
power && (0,util/* openNewWindow */.xg)("/shixuns/".concat(identifier, "/challenges"));
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: ShixunListmodules.img,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
|
|
|
className: ShixunListmodules.cover,
|
|
|
src: cover_image_id ? "".concat(env/* default.API_SERVER */.Z.API_SERVER, "/api/attachments/").concat(cover_image_id) : "".concat(env/* default.IMG_SERVER */.Z.IMG_SERVER, "/").concat(pic)
|
|
|
}), item.is_jupyter && /*#__PURE__*/(0,jsx_runtime.jsx)("img", {
|
|
|
className: ShixunListmodules.sign,
|
|
|
src: Jupyter
|
|
|
}), item.is_jupyter_lab && /*#__PURE__*/(0,jsx_runtime.jsx)("img", {
|
|
|
className: ShixunListmodules.sign,
|
|
|
src: JupyterLab
|
|
|
}), item.is_unity_3d && /*#__PURE__*/(0,jsx_runtime.jsx)("img", {
|
|
|
className: ShixunListmodules.sign,
|
|
|
src: unity
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: ShixunListmodules.name,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
|
|
|
title: name || '实践项目名称-未填写',
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: ShixunListmodules.e,
|
|
|
children: name || '实践项目名称-未填写'
|
|
|
})
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: ShixunListmodules.tags,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
|
|
|
placement: "bottom",
|
|
|
title: "\u5173\u5361\u6570",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-shixunguanqia font14 mr2"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
children: item.challenges_count
|
|
|
})]
|
|
|
})
|
|
|
}), !!item.myshixuns_count && /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
|
|
|
placement: "bottom",
|
|
|
title: "\u5B66\u4E60\u4EBA\u6570",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-chengyuan font14 mr2"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
children: item.myshixuns_count
|
|
|
})]
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
|
|
|
placement: "bottom",
|
|
|
title: "\u96BE\u5EA6\u7B49\u7EA7",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
children: item.level
|
|
|
})
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: ShixunListmodules.rate,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(rate/* default */.Z, {
|
|
|
allowHalf: true,
|
|
|
disabled: true,
|
|
|
defaultValue: item.score_info
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
children: ["\xA0", item.score_info ? "".concat(item.score_info, "\u5206") : '5分']
|
|
|
})]
|
|
|
})]
|
|
|
})]
|
|
|
}), !power && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: ShixunListmodules.lockWrap,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
|
|
|
src: "".concat(env/* default.IMG_SERVER */.Z.IMG_SERVER, "/images/educoder/icon/lockclose.svg")
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "mt15 font16 c-white",
|
|
|
children: "\u5B9A\u5411\u5F00\u653E\u5185\u5BB9\uFF0C\u9700\u8981\u6388\u6743"
|
|
|
})]
|
|
|
})]
|
|
|
}, id);
|
|
|
}), !dataSource.length && /*#__PURE__*/(0,jsx_runtime.jsx)(NoData/* default */.Z, {})]
|
|
|
})
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var Cards_ShixunList = (ShixunList);
|
|
|
// EXTERNAL MODULE: ./src/components/ui-customization/Cards/CourseList/index.tsx + 1 modules
|
|
|
var CourseList = __webpack_require__(53087);
|
|
|
;// CONCATENATED MODULE: ./src/components/ui-customization/Cards/ClassroomList/index.less?modules
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
/* harmony default export */ var ClassroomListmodules = ({"flex_box_center":"flex_box_center___eMcr7","flex_space_between":"flex_space_between___HcNca","flex_box_vertical_center":"flex_box_vertical_center___ZnvVN","flex_box_center_end":"flex_box_center_end___fdgDf","flex_box_column":"flex_box_column___SEKvd","list":"list___L1hmU","wrap":"wrap___pKgcW","lockWrap":"lockWrap___SMhkK","top":"top___udHSB","sign":"sign___uwRpq","name":"name___Fpf90","img":"img___AMLhL","text":"text___KiTb7","btns":"btns___i6IuZ","bottom":"bottom____k2sh"});
|
|
|
;// CONCATENATED MODULE: ./src/components/ui-customization/Cards/ClassroomList/img/privately.png
|
|
|
var privately_namespaceObject = "data:image/png;base64,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";
|
|
|
;// CONCATENATED MODULE: ./src/components/ui-customization/Cards/ClassroomList/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var ClassroomList = function ClassroomList(_ref) {
|
|
|
var className = _ref.className,
|
|
|
_ref$dataSource = _ref.dataSource,
|
|
|
dataSource = _ref$dataSource === void 0 ? [] : _ref$dataSource,
|
|
|
_ref$col = _ref.col,
|
|
|
col = _ref$col === void 0 ? 4 : _ref$col,
|
|
|
right = _ref.right,
|
|
|
_ref$bottom = _ref.bottom,
|
|
|
bottom = _ref$bottom === void 0 ? 23 : _ref$bottom,
|
|
|
_ref$precision = _ref.precision,
|
|
|
precision = _ref$precision === void 0 ? 0 : _ref$precision,
|
|
|
_ref$wrapWidth = _ref.wrapWidth,
|
|
|
wrapWidth = _ref$wrapWidth === void 0 ? 1200 : _ref$wrapWidth,
|
|
|
trackEventItems = _ref.trackEventItems,
|
|
|
loading = _ref.loading;
|
|
|
var width = Math.floor((wrapWidth - (col - 1) * right) / col);
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(spin/* default */.Z, {
|
|
|
spinning: loading,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: classnames_default()(ClassroomListmodules.list, className),
|
|
|
children: [!!dataSource.length && dataSource.map(function (item, index) {
|
|
|
var subject_identifier = item.subject_identifier,
|
|
|
id = item.id,
|
|
|
identifier = item.identifier,
|
|
|
power = item.power;
|
|
|
var is_public = item.is_public != 0 && item.is_public;
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: ClassroomListmodules.wrap,
|
|
|
style: {
|
|
|
width: width,
|
|
|
marginRight: (1 + index) % col === 0 ? 0 : right + precision,
|
|
|
marginBottom: bottom
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
|
|
|
className: ClassroomListmodules.li,
|
|
|
onClick: function onClick(e) {
|
|
|
e.preventDefault();
|
|
|
if (trackEventItems) {
|
|
|
(0,util/* trackEvent */.L9)([trackEventItems]);
|
|
|
}
|
|
|
(0,util/* openNewWindow */.xg)(item.first_category_url);
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: ClassroomListmodules.top,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
|
|
|
title: item.name,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: ClassroomListmodules.name,
|
|
|
children: item.name
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("img", {
|
|
|
className: ClassroomListmodules.img,
|
|
|
src: true ? env/* default.IMG_SERVER */.Z.IMG_SERVER + '/images/' + item.avatar_url : 0
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: ClassroomListmodules.text,
|
|
|
title: item.creator,
|
|
|
children: item.creator
|
|
|
}), subject_identifier && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: ClassroomListmodules.btns,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
children: "\u5F00\u653E\u8BFE\u7A0B"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("aside", {
|
|
|
children: "\u5F00\u653E\u8BFE\u5802"
|
|
|
})]
|
|
|
}), is_public && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: ClassroomListmodules.sign,
|
|
|
children: "\u516C\u5F00"
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: ClassroomListmodules.bottom,
|
|
|
children: [item.visits > 0 && /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
|
|
|
title: "\u8BBF\u95EE\u91CF",
|
|
|
placement: "bottom",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-liulanyan"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
children: item.visits
|
|
|
})]
|
|
|
})
|
|
|
}), item.course_members_count > 0 && /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
|
|
|
title: "\u6210\u5458",
|
|
|
placement: "bottom",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-chengyuan"
|
|
|
}), item.course_members_count]
|
|
|
})
|
|
|
}), item.tasks_count > 0 && /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
|
|
|
title: "\u4F5C\u4E1A",
|
|
|
placement: "bottom",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-zuoye"
|
|
|
}), item.tasks_count]
|
|
|
})
|
|
|
}), item.is_end ? /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
style: {
|
|
|
color: '#6B758B'
|
|
|
},
|
|
|
children: "\u5DF2\u7ED3\u675F"
|
|
|
}) : /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
style: {
|
|
|
color: '#00B187'
|
|
|
},
|
|
|
children: "\u8FDB\u884C\u4E2D"
|
|
|
})]
|
|
|
})]
|
|
|
}), !item.is_accessible && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: ClassroomListmodules.lockWrap,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
|
|
|
src: "".concat(env/* default.IMG_SERVER */.Z.IMG_SERVER, "/images/educoder/icon/lockclose.svg")
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "mt15 font16 c-white",
|
|
|
children: "\u975E\u8BFE\u5802\u6210\u5458\u4E0D\u53EF\u8FDB\u5165"
|
|
|
})]
|
|
|
})]
|
|
|
}, id);
|
|
|
}), !dataSource.length && /*#__PURE__*/(0,jsx_runtime.jsx)(NoData/* default */.Z, {})]
|
|
|
})
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var Cards_ClassroomList = (ClassroomList);
|
|
|
;// CONCATENATED MODULE: ./src/components/ui-customization/CustomTabs/index.less?modules
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
/* harmony default export */ var CustomTabsmodules = ({"flex_box_center":"flex_box_center___d27mZ","flex_space_between":"flex_space_between___qfRU9","flex_box_vertical_center":"flex_box_vertical_center___fCRld","flex_box_center_end":"flex_box_center_end___ORMV8","flex_box_column":"flex_box_column___PNKtZ","tabs":"tabs___alpa7","tabsWrap":"tabsWrap___aCQjw","tab":"tab___MKLr4","active":"active___nl_4v"});
|
|
|
;// CONCATENATED MODULE: ./src/components/ui-customization/CustomTabs/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var FixedBottom = function FixedBottom(_ref) {
|
|
|
var _ref$dataSource = _ref.dataSource,
|
|
|
dataSource = _ref$dataSource === void 0 ? [] : _ref$dataSource,
|
|
|
value = _ref.value,
|
|
|
onChange = _ref.onChange,
|
|
|
className = _ref.className,
|
|
|
_ref$style = _ref.style,
|
|
|
style = _ref$style === void 0 ? {} : _ref$style,
|
|
|
tabBarExtraContent = _ref.tabBarExtraContent;
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: classnames_default()(CustomTabsmodules.tabs, className),
|
|
|
style: style,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: CustomTabsmodules.tabsWrap,
|
|
|
children: dataSource.map(function (item, index) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("aside", {
|
|
|
className: CustomTabsmodules.tab,
|
|
|
onClick: function onClick() {
|
|
|
onChange(item.id);
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: value === item.id ? CustomTabsmodules.active : '',
|
|
|
children: item.name
|
|
|
}), (item === null || item === void 0 ? void 0 : item.resetCount) == undefined && (item === null || item === void 0 ? void 0 : item.total) !== undefined && /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
children: ["\uFF08", item === null || item === void 0 ? void 0 : item.total, "\uFF09"]
|
|
|
}), (item === null || item === void 0 ? void 0 : item.resetCount) !== undefined && (item === null || item === void 0 ? void 0 : item.total) !== undefined && /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
|
|
|
title: (item === null || item === void 0 ? void 0 : item.tip) != undefined ? item === null || item === void 0 ? void 0 : item.tip : '',
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
style: {
|
|
|
color: "#9096A3"
|
|
|
},
|
|
|
children: ["\uFF08", /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
style: {
|
|
|
color: "#000"
|
|
|
},
|
|
|
children: item === null || item === void 0 ? void 0 : item.resetCount
|
|
|
}), "/", /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
children: item === null || item === void 0 ? void 0 : item.total
|
|
|
}), "\uFF09"]
|
|
|
})
|
|
|
})]
|
|
|
}, index);
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: CustomTabsmodules.tabBar,
|
|
|
children: tabBarExtraContent
|
|
|
})]
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var CustomTabs = (FixedBottom);
|
|
|
;// CONCATENATED MODULE: ./src/components/ui-customization/CustomTable/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
var CustomCountdown = function CustomCountdown(_ref) {
|
|
|
var className = _ref.className,
|
|
|
_ref$style = _ref.style,
|
|
|
style = _ref$style === void 0 ? {} : _ref$style,
|
|
|
children = _ref.children;
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: classnames_default()(className),
|
|
|
style: style,
|
|
|
children: children
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var CustomTable = (CustomCountdown);
|
|
|
;// CONCATENATED MODULE: ./src/components/ui-customization/SuperiorSort/index.less?modules
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
/* harmony default export */ var SuperiorSortmodules = ({"flex_box_center":"flex_box_center___e6HxQ","flex_space_between":"flex_space_between___RnXYe","flex_box_vertical_center":"flex_box_vertical_center___lVxPk","flex_box_center_end":"flex_box_center_end___bu8yv","flex_box_column":"flex_box_column___JczGj","orderWrap":"orderWrap___ZfyGX","orderIconWrap":"orderIconWrap___XTB_O","orderAsc":"orderAsc___KWHmA","orderDesc":"orderDesc___rHdbB","active":"active___a7eSP","cursorPointer":"cursorPointer___gs9kL","orderTextWrap":"orderTextWrap___teAKn"});
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/dropdown/index.js + 1 modules
|
|
|
var dropdown = __webpack_require__(85418);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/menu/index.js + 11 modules
|
|
|
var menu = __webpack_require__(68508);
|
|
|
;// CONCATENATED MODULE: ./src/components/ui-customization/SuperiorSort/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var dropItem = [{
|
|
|
id: 'updated_at',
|
|
|
name: '最新动态'
|
|
|
}, {
|
|
|
id: 'created_at',
|
|
|
name: '最新创建'
|
|
|
}, {
|
|
|
id: 'name',
|
|
|
name: '名称排序'
|
|
|
}];
|
|
|
var SuperiorSort = function SuperiorSort(_ref) {
|
|
|
var _dataSource$find;
|
|
|
var sortValue = _ref.sortValue,
|
|
|
dropValue = _ref.dropValue,
|
|
|
className = _ref.className,
|
|
|
onSort = _ref.onSort,
|
|
|
onDrop = _ref.onDrop,
|
|
|
_ref$dataSource = _ref.dataSource,
|
|
|
dataSource = _ref$dataSource === void 0 ? dropItem : _ref$dataSource;
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: classnames_default()(SuperiorSortmodules.orderWrap, className),
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(dropdown/* default */.Z, {
|
|
|
dropdownRender: function dropdownRender() {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(menu/* default */.Z, {
|
|
|
children: dataSource.map(function (e, i) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(menu/* default.Item */.Z.Item, {
|
|
|
onClick: function onClick() {
|
|
|
return onDrop(e.id);
|
|
|
},
|
|
|
children: e.name
|
|
|
}, i);
|
|
|
})
|
|
|
});
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: SuperiorSortmodules.orderTextWrap,
|
|
|
children: (_dataSource$find = dataSource.find(function (e) {
|
|
|
return dropValue === e.id;
|
|
|
})) === null || _dataSource$find === void 0 ? void 0 : _dataSource$find.name
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
className: SuperiorSortmodules.orderIconWrap,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: SuperiorSortmodules.orderAsc,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: sortValue === 'asc' ? "iconfont icon-sanjiaoxing-up font12 ".concat(SuperiorSortmodules.cursorPointer, " ").concat(SuperiorSortmodules.active) : "iconfont icon-sanjiaoxing-up font12 ".concat(SuperiorSortmodules.cursorPointer),
|
|
|
onClick: function onClick() {
|
|
|
return onSort(sortValue === 'asc' ? 'desc' : 'asc');
|
|
|
}
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: SuperiorSortmodules.orderDesc,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: sortValue === 'desc' ? "iconfont icon-sanjiaoxing-down font12 ".concat(SuperiorSortmodules.cursorPointer, " ").concat(SuperiorSortmodules.active) : "iconfont icon-sanjiaoxing-down font12 ".concat(SuperiorSortmodules.cursorPointer),
|
|
|
onClick: function onClick() {
|
|
|
return onSort(sortValue === 'asc' ? 'desc' : 'asc');
|
|
|
}
|
|
|
})
|
|
|
})]
|
|
|
})]
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var ui_customization_SuperiorSort = (SuperiorSort);
|
|
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/objectSpread2.js
|
|
|
var objectSpread2 = __webpack_require__(42122);
|
|
|
var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2);
|
|
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/regeneratorRuntime.js
|
|
|
var regeneratorRuntime = __webpack_require__(17061);
|
|
|
var regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(regeneratorRuntime);
|
|
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/asyncToGenerator.js
|
|
|
var asyncToGenerator = __webpack_require__(17156);
|
|
|
var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
|
|
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/objectWithoutProperties.js
|
|
|
var objectWithoutProperties = __webpack_require__(70215);
|
|
|
var objectWithoutProperties_default = /*#__PURE__*/__webpack_require__.n(objectWithoutProperties);
|
|
|
;// CONCATENATED MODULE: ./src/components/ui-customization/CustomButton/index.less?modules
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
/* harmony default export */ var CustomButtonmodules = ({"flex_box_center":"flex_box_center___LCi0B","flex_space_between":"flex_space_between___hzONe","flex_box_vertical_center":"flex_box_vertical_center___ZyQRE","flex_box_center_end":"flex_box_center_end___XKM74","flex_box_column":"flex_box_column___p8LCU","btn":"btn___In02G","mediacy-round":"mediacy-round___uveEv","mediacy-default":"mediacy-default___dDxsd","default":"default___K791v"});
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/button/index.js
|
|
|
var es_button = __webpack_require__(71577);
|
|
|
;// CONCATENATED MODULE: ./src/components/ui-customization/CustomButton/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var _excluded = ["className", "style", "children", "loading", "openLoading", "onClick", "size", "shape"];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var CustomButton = function CustomButton(_ref) {
|
|
|
var className = _ref.className,
|
|
|
style = _ref.style,
|
|
|
children = _ref.children,
|
|
|
_ref$loading = _ref.loading,
|
|
|
loading = _ref$loading === void 0 ? false : _ref$loading,
|
|
|
openLoading = _ref.openLoading,
|
|
|
_ref$onClick = _ref.onClick,
|
|
|
onClick = _ref$onClick === void 0 ? function () {} : _ref$onClick,
|
|
|
_ref$size = _ref.size,
|
|
|
size = _ref$size === void 0 ? 'middle' : _ref$size,
|
|
|
_ref$shape = _ref.shape,
|
|
|
shape = _ref$shape === void 0 ? 'round' : _ref$shape,
|
|
|
props = objectWithoutProperties_default()(_ref, _excluded);
|
|
|
var _useState = (0,react.useState)(false),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
btnLoading = _useState2[0],
|
|
|
setBtnLoading = _useState2[1];
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, objectSpread2_default()(objectSpread2_default()({
|
|
|
onClick: (0,lodash.throttle)( /*#__PURE__*/function () {
|
|
|
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee(e) {
|
|
|
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
|
|
|
while (1) switch (_context.prev = _context.next) {
|
|
|
case 0:
|
|
|
openLoading && setBtnLoading(true);
|
|
|
_context.prev = 1;
|
|
|
_context.next = 4;
|
|
|
return onClick(e);
|
|
|
case 4:
|
|
|
_context.next = 9;
|
|
|
break;
|
|
|
case 6:
|
|
|
_context.prev = 6;
|
|
|
_context.t0 = _context["catch"](1);
|
|
|
console.log("error", _context.t0);
|
|
|
case 9:
|
|
|
openLoading && setBtnLoading(false);
|
|
|
case 10:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee, null, [[1, 6]]);
|
|
|
}));
|
|
|
return function (_x) {
|
|
|
return _ref2.apply(this, arguments);
|
|
|
};
|
|
|
}(), 2000, {
|
|
|
leading: true,
|
|
|
trailing: false
|
|
|
}),
|
|
|
className: classnames_default()(CustomButtonmodules.btn, CustomButtonmodules["".concat(size, "-").concat(shape)], className),
|
|
|
style: style,
|
|
|
size: size,
|
|
|
shape: shape,
|
|
|
loading: btnLoading || loading
|
|
|
}, props), {}, {
|
|
|
children: children
|
|
|
}));
|
|
|
};
|
|
|
/* harmony default export */ var ui_customization_CustomButton = (CustomButton);
|
|
|
;// CONCATENATED MODULE: ./src/components/ui-customization/HeadBack/index.less?modules
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
/* harmony default export */ var HeadBackmodules = ({"flex_box_center":"flex_box_center___TB7bQ","flex_space_between":"flex_space_between___oBlTb","flex_box_vertical_center":"flex_box_vertical_center___b5XbB","flex_box_center_end":"flex_box_center_end___CNhe7","flex_box_column":"flex_box_column___yHXKW","head":"head___ghH72","node":"node___mjPEy"});
|
|
|
;// CONCATENATED MODULE: ./src/components/ui-customization/HeadBack/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var HeadBack_CustomButton = function CustomButton(_ref) {
|
|
|
var className = _ref.className,
|
|
|
style = _ref.style,
|
|
|
_ref$children = _ref.children,
|
|
|
children = _ref$children === void 0 ? null : _ref$children,
|
|
|
onClick = _ref.onClick,
|
|
|
title = _ref.title;
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: classnames_default()(HeadBackmodules.head, className),
|
|
|
style: style,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
className: "primary-hover",
|
|
|
onClick: onClick,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-fanhui2 font12"
|
|
|
}), "\u8FD4\u56DE"]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("b", {
|
|
|
title: title,
|
|
|
children: title
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: HeadBackmodules.node,
|
|
|
children: children
|
|
|
})]
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var HeadBack = (HeadBack_CustomButton);
|
|
|
;// CONCATENATED MODULE: ./src/components/ui-customization/ConfirmAndCancel/index.less?modules
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
/* harmony default export */ var ConfirmAndCancelmodules = ({"flex_box_center":"flex_box_center___AlHuF","flex_space_between":"flex_space_between___vN2LW","flex_box_vertical_center":"flex_box_vertical_center___Ac7D2","flex_box_center_end":"flex_box_center_end___y38I7","flex_box_column":"flex_box_column___iQE6P","btns":"btns___sNgTb","confirm":"confirm___Ozirl","cancel":"cancel___aiq1I"});
|
|
|
;// CONCATENATED MODULE: ./src/components/ui-customization/ConfirmAndCancel/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var ConfirmAndCancel = function ConfirmAndCancel(_ref) {
|
|
|
var _ref$confirmShow = _ref.confirmShow,
|
|
|
confirmShow = _ref$confirmShow === void 0 ? true : _ref$confirmShow,
|
|
|
confirmTitle = _ref.confirmTitle,
|
|
|
confirmClick = _ref.confirmClick,
|
|
|
_ref$cancelShow = _ref.cancelShow,
|
|
|
cancelShow = _ref$cancelShow === void 0 ? true : _ref$cancelShow,
|
|
|
cancelTitle = _ref.cancelTitle,
|
|
|
cancelClick = _ref.cancelClick,
|
|
|
className = _ref.className,
|
|
|
style = _ref.style,
|
|
|
_ref$confirmLoading = _ref.confirmLoading,
|
|
|
confirmLoading = _ref$confirmLoading === void 0 ? false : _ref$confirmLoading;
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: classnames_default()(ConfirmAndCancelmodules.btns, className),
|
|
|
style: style,
|
|
|
children: [confirmShow && /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
|
loading: confirmLoading,
|
|
|
onClick: confirmClick,
|
|
|
type: "primary",
|
|
|
className: ConfirmAndCancelmodules.confirm,
|
|
|
children: confirmTitle
|
|
|
}), cancelShow && /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
|
onClick: cancelClick,
|
|
|
className: ConfirmAndCancelmodules.cancel,
|
|
|
children: cancelTitle
|
|
|
})]
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var ui_customization_ConfirmAndCancel = (ConfirmAndCancel);
|
|
|
;// CONCATENATED MODULE: ./src/components/ui-customization/FixedBottom/index.less?modules
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
/* harmony default export */ var FixedBottommodules = ({"flex_box_center":"flex_box_center___jkpdr","flex_space_between":"flex_space_between___OtsL8","flex_box_vertical_center":"flex_box_vertical_center___rbcb_","flex_box_center_end":"flex_box_center_end___zBR21","flex_box_column":"flex_box_column___nS_eP","fixedBottom":"fixedBottom___oJl7m","wrap":"wrap___A3Oq1","center":"center____VL1y"});
|
|
|
;// CONCATENATED MODULE: ./src/components/ui-customization/FixedBottom/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var FixedBottom_CustomTabs = function CustomTabs(_ref) {
|
|
|
var className = _ref.className,
|
|
|
_ref$style = _ref.style,
|
|
|
style = _ref$style === void 0 ? {} : _ref$style,
|
|
|
LeftContent = _ref.LeftContent,
|
|
|
children = _ref.children,
|
|
|
RightContent = _ref.RightContent;
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: classnames_default()(FixedBottommodules.fixedBottom, className),
|
|
|
style: style,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: FixedBottommodules.wrap,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: FixedBottommodules.left,
|
|
|
children: LeftContent
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: FixedBottommodules.center,
|
|
|
children: children
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: FixedBottommodules.right,
|
|
|
children: RightContent
|
|
|
})]
|
|
|
})
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var ui_customization_FixedBottom = (FixedBottom_CustomTabs);
|
|
|
;// CONCATENATED MODULE: ./src/components/ui-customization/CustomCrumbs/index.less?modules
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
/* harmony default export */ var CustomCrumbsmodules = ({"flex_box_center":"flex_box_center___tY8Yn","flex_space_between":"flex_space_between___vHdYA","flex_box_vertical_center":"flex_box_vertical_center___pa61F","flex_box_center_end":"flex_box_center_end___HyDXt","flex_box_column":"flex_box_column___UjZek","crumbs":"crumbs___V41Oe","hover":"hover___bEIVd"});
|
|
|
// EXTERNAL MODULE: ./src/.umi-production/exports.ts
|
|
|
var _umi_production_exports = __webpack_require__(88275);
|
|
|
;// CONCATENATED MODULE: ./src/components/ui-customization/CustomCrumbs/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var CustomCrumbs_CustomTabs = function CustomTabs(_ref) {
|
|
|
var className = _ref.className,
|
|
|
_ref$style = _ref.style,
|
|
|
style = _ref$style === void 0 ? {} : _ref$style,
|
|
|
_ref$dataSource = _ref.dataSource,
|
|
|
dataSource = _ref$dataSource === void 0 ? [] : _ref$dataSource;
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: classnames_default()(CustomCrumbsmodules.crumbs, className),
|
|
|
style: style,
|
|
|
children: dataSource.map(function (e, i) {
|
|
|
if (i < dataSource.length - 1) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)(react.Fragment, {
|
|
|
children: [e.path ? /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: CustomCrumbsmodules.hover,
|
|
|
onClick: function onClick() {
|
|
|
return _umi_production_exports.history.push(e.path);
|
|
|
},
|
|
|
children: e.name
|
|
|
}) : /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
children: e.name
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
children: ["\xA0", '>', "\xA0"]
|
|
|
})]
|
|
|
}, i);
|
|
|
}
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
style: {
|
|
|
color: '#5F6368'
|
|
|
},
|
|
|
children: e.name
|
|
|
}, i);
|
|
|
})
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var CustomCrumbs = (CustomCrumbs_CustomTabs);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/statistic/index.js + 5 modules
|
|
|
var statistic = __webpack_require__(55054);
|
|
|
;// CONCATENATED MODULE: ./src/components/ui-customization/CustomCountdown/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
var CustomCountdown_excluded = ["onChange"];
|
|
|
|
|
|
|
|
|
|
|
|
var Countdown = statistic/* default.Countdown */.Z.Countdown;
|
|
|
|
|
|
// value输入是antd的Countdown
|
|
|
// onChange自带的是毫秒,不好做判断,现在被更改了,输出是秒
|
|
|
var CustomCountdown_CustomCountdown = function CustomCountdown(_ref) {
|
|
|
var onChange = _ref.onChange,
|
|
|
props = objectWithoutProperties_default()(_ref, CustomCountdown_excluded);
|
|
|
var _useState = (0,react.useState)(null),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
time = _useState2[0],
|
|
|
setTime = _useState2[1];
|
|
|
(0,react.useEffect)(function () {
|
|
|
if (typeof time === 'number' && time >= 0) {
|
|
|
onChange(time);
|
|
|
}
|
|
|
}, [time]);
|
|
|
var onTimeChange = function onTimeChange(c) {
|
|
|
var currentTime = Math.floor(c / 1000);
|
|
|
setTime(currentTime);
|
|
|
};
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(Countdown, objectSpread2_default()(objectSpread2_default()({}, props), {}, {
|
|
|
onChange: onTimeChange
|
|
|
}));
|
|
|
};
|
|
|
/* harmony default export */ var ui_customization_CustomCountdown = (CustomCountdown_CustomCountdown);
|
|
|
;// CONCATENATED MODULE: ./src/components/ui-customization/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 1310:
|
|
|
/*!**********************************************************************!*\
|
|
|
!*** ./src/pages/Innovation/Detail/components/DataSetPane/index.tsx ***!
|
|
|
\**********************************************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
"use strict";
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/slicedToArray.js */ 27424);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_0__);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! antd */ 83062);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! antd */ 2453);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! antd */ 71577);
|
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! antd */ 63889);
|
|
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ 67294);
|
|
|
/* harmony import */ var _service_innovation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/service/innovation */ 33265);
|
|
|
/* harmony import */ var react_copy_to_clipboard__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-copy-to-clipboard */ 74855);
|
|
|
/* harmony import */ var react_copy_to_clipboard__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_copy_to_clipboard__WEBPACK_IMPORTED_MODULE_3__);
|
|
|
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react/jsx-runtime */ 85893);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var columns = [{
|
|
|
title: '文件名',
|
|
|
dataIndex: 'filename',
|
|
|
width: '19%',
|
|
|
ellipsis: true
|
|
|
}, {
|
|
|
title: '备注',
|
|
|
dataIndex: 'description',
|
|
|
width: '19%',
|
|
|
ellipsis: true
|
|
|
}, {
|
|
|
title: '创建时间',
|
|
|
dataIndex: 'created_on',
|
|
|
width: '19%',
|
|
|
ellipsis: true
|
|
|
}, {
|
|
|
title: '文件路径',
|
|
|
dataIndex: 'path',
|
|
|
width: '19%',
|
|
|
render: function render(text) {
|
|
|
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)("div", {
|
|
|
style: {
|
|
|
display: 'flex'
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(antd__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, {
|
|
|
title: text,
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("span", {
|
|
|
style: {
|
|
|
width: '80%',
|
|
|
display: 'inline-block',
|
|
|
whiteSpace: 'nowrap',
|
|
|
overflow: 'hidden',
|
|
|
textOverflow: 'ellipsis'
|
|
|
},
|
|
|
children: text
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(react_copy_to_clipboard__WEBPACK_IMPORTED_MODULE_3__.CopyToClipboard, {
|
|
|
text: text,
|
|
|
onCopy: function onCopy() {
|
|
|
return antd__WEBPACK_IMPORTED_MODULE_6__/* ["default"].success */ .ZP.success('复制成功');
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("i", {
|
|
|
className: "iconfont icon-fuzhi2 current ml5 mr40",
|
|
|
style: {
|
|
|
color: '#165DFF',
|
|
|
marginLeft: 30
|
|
|
}
|
|
|
})
|
|
|
})]
|
|
|
});
|
|
|
}
|
|
|
}, {
|
|
|
title: '最后修改人',
|
|
|
dataIndex: 'author',
|
|
|
width: '14%',
|
|
|
ellipsis: true
|
|
|
}, {
|
|
|
title: '大小',
|
|
|
dataIndex: 'filesize',
|
|
|
// align: 'right',
|
|
|
width: '10%',
|
|
|
ellipsis: true
|
|
|
}];
|
|
|
var DataSetPane = function DataSetPane(_ref) {
|
|
|
var detail = _ref.detail;
|
|
|
var _useState = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(detail),
|
|
|
_useState2 = _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_0___default()(_useState, 2),
|
|
|
dataSource = _useState2[0],
|
|
|
setDataSource = _useState2[1];
|
|
|
var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(1),
|
|
|
_useState4 = _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_0___default()(_useState3, 2),
|
|
|
currentPage = _useState4[0],
|
|
|
setCurrentPage = _useState4[1];
|
|
|
(0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {
|
|
|
if (detail) {
|
|
|
setDataSource(detail);
|
|
|
}
|
|
|
}, [detail]);
|
|
|
var pagination = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(function () {
|
|
|
return {
|
|
|
position: ['bottomCenter'],
|
|
|
pageSize: 10,
|
|
|
showSizeChanger: false,
|
|
|
current: currentPage,
|
|
|
showQuickJumper: {
|
|
|
goButton: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(antd__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .ZP, {
|
|
|
children: "GO"
|
|
|
})
|
|
|
},
|
|
|
total: dataSource === null || dataSource === void 0 ? void 0 : dataSource.data_sets_count,
|
|
|
onChange: function onChange(page) {
|
|
|
setCurrentPage(page);
|
|
|
(0,_service_innovation__WEBPACK_IMPORTED_MODULE_2__/* .getProjectDataSet */ .pV)("".concat(detail === null || detail === void 0 ? void 0 : detail.id), {
|
|
|
limit: 10,
|
|
|
page: page
|
|
|
}).then(function (res) {
|
|
|
setDataSource(res);
|
|
|
});
|
|
|
}
|
|
|
};
|
|
|
}, [currentPage, dataSource]);
|
|
|
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(antd__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, {
|
|
|
columns: columns,
|
|
|
dataSource: dataSource === null || dataSource === void 0 ? void 0 : dataSource.data_sets,
|
|
|
rowKey: "attachment_id",
|
|
|
pagination: pagination
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ __webpack_exports__["Z"] = (/*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_1__.memo)(DataSetPane));
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 94214:
|
|
|
/*!**********************************************************************!*\
|
|
|
!*** ./src/pages/Innovation/Tasks/Collaborate/index.tsx + 4 modules ***!
|
|
|
\**********************************************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
"use strict";
|
|
|
|
|
|
// EXPORTS
|
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
|
"Z": function() { return /* binding */ Collaborate; }
|
|
|
});
|
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/objectSpread2.js
|
|
|
var objectSpread2 = __webpack_require__(42122);
|
|
|
var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2);
|
|
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/regeneratorRuntime.js
|
|
|
var regeneratorRuntime = __webpack_require__(17061);
|
|
|
var regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(regeneratorRuntime);
|
|
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/asyncToGenerator.js
|
|
|
var asyncToGenerator = __webpack_require__(17156);
|
|
|
var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
|
|
|
// 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/react/index.js
|
|
|
var react = __webpack_require__(67294);
|
|
|
// EXTERNAL MODULE: ./src/.umi-production/exports.ts
|
|
|
var _umi_production_exports = __webpack_require__(88275);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/modal/index.js + 39 modules
|
|
|
var modal = __webpack_require__(72423);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/message/index.js + 4 modules
|
|
|
var message = __webpack_require__(2453);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/button/index.js
|
|
|
var es_button = __webpack_require__(71577);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/skeleton/index.js + 12 modules
|
|
|
var skeleton = __webpack_require__(21687);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/pagination/index.js + 11 modules
|
|
|
var pagination = __webpack_require__(83338);
|
|
|
// EXTERNAL MODULE: ./src/utils/env.ts + 1 modules
|
|
|
var env = __webpack_require__(59758);
|
|
|
// EXTERNAL MODULE: ./src/utils/authority.ts
|
|
|
var authority = __webpack_require__(7);
|
|
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/objectWithoutProperties.js
|
|
|
var objectWithoutProperties = __webpack_require__(70215);
|
|
|
var objectWithoutProperties_default = /*#__PURE__*/__webpack_require__.n(objectWithoutProperties);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/radio/index.js + 5 modules
|
|
|
var es_radio = __webpack_require__(78045);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Innovation/Tasks/Collaborate/components/ChangeManagerModal/index.less?modules
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
/* harmony default export */ var ChangeManagerModalmodules = ({"title":"title___rpaor","content":"content___Hb0l5","add":"add___THwHB","colorBlue":"colorBlue___yc4F8","radio":"radio___hn9Vt"});
|
|
|
// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js
|
|
|
var jsx_runtime = __webpack_require__(85893);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Innovation/Tasks/Collaborate/components/ChangeManagerModal/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var _excluded = ["shixunsDetail", "globalSetting", "loading", "dispatch", "onReloadData"];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var ChangeManagerModal = function ChangeManagerModal(_ref) {
|
|
|
var shixunsDetail = _ref.shixunsDetail,
|
|
|
globalSetting = _ref.globalSetting,
|
|
|
loading = _ref.loading,
|
|
|
dispatch = _ref.dispatch,
|
|
|
onReloadData = _ref.onReloadData,
|
|
|
props = objectWithoutProperties_default()(_ref, _excluded);
|
|
|
var _useState = (0,react.useState)(),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
radioValue = _useState2[0],
|
|
|
setRadioValue = _useState2[1];
|
|
|
var _useState3 = (0,react.useState)([]),
|
|
|
_useState4 = slicedToArray_default()(_useState3, 2),
|
|
|
managerList = _useState4[0],
|
|
|
setManagerList = _useState4[1];
|
|
|
(0,react.useEffect)(function () {
|
|
|
if (shixunsDetail.actionTabs.key === 'Collaborators-ChangeManager') {
|
|
|
handleGetChangeManager();
|
|
|
}
|
|
|
}, [shixunsDetail.actionTabs.key]);
|
|
|
var handleGetChangeManager = /*#__PURE__*/function () {
|
|
|
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
|
|
|
var _shixunsDetail$action;
|
|
|
var res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
|
|
|
while (1) switch (_context.prev = _context.next) {
|
|
|
case 0:
|
|
|
_context.next = 2;
|
|
|
return dispatch({
|
|
|
type: 'shixunsDetail/getChangeManager',
|
|
|
payload: {
|
|
|
id: (_shixunsDetail$action = shixunsDetail.actionTabs.params) === null || _shixunsDetail$action === void 0 ? void 0 : _shixunsDetail$action.id
|
|
|
}
|
|
|
});
|
|
|
case 2:
|
|
|
res = _context.sent;
|
|
|
setManagerList(res || []);
|
|
|
case 4:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
}));
|
|
|
return function handleGetChangeManager() {
|
|
|
return _ref2.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
var handleAddCollaborator = function handleAddCollaborator() {
|
|
|
var _shixunsDetail$action2;
|
|
|
dispatch({
|
|
|
type: 'shixunsDetail/setActionTabs',
|
|
|
payload: {
|
|
|
key: 'Collaborators-AddCollaborator',
|
|
|
params: {
|
|
|
id: (_shixunsDetail$action2 = shixunsDetail.actionTabs.params) === null || _shixunsDetail$action2 === void 0 ? void 0 : _shixunsDetail$action2.id
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
};
|
|
|
var handleOk = /*#__PURE__*/function () {
|
|
|
var _ref3 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2() {
|
|
|
var _shixunsDetail$action3;
|
|
|
var res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
|
|
|
while (1) switch (_context2.prev = _context2.next) {
|
|
|
case 0:
|
|
|
if (radioValue) {
|
|
|
_context2.next = 3;
|
|
|
break;
|
|
|
}
|
|
|
message/* default.info */.ZP.info('所选人员为空,没有更换成功');
|
|
|
return _context2.abrupt("return");
|
|
|
case 3:
|
|
|
_context2.next = 5;
|
|
|
return dispatch({
|
|
|
type: 'shixunsDetail/changeManager',
|
|
|
payload: {
|
|
|
id: (_shixunsDetail$action3 = shixunsDetail.actionTabs.params) === null || _shixunsDetail$action3 === void 0 ? void 0 : _shixunsDetail$action3.id,
|
|
|
user_id: radioValue
|
|
|
}
|
|
|
});
|
|
|
case 5:
|
|
|
res = _context2.sent;
|
|
|
handleCancel();
|
|
|
if (res) {
|
|
|
onReloadData();
|
|
|
message/* default.info */.ZP.info(res.message);
|
|
|
}
|
|
|
case 8:
|
|
|
case "end":
|
|
|
return _context2.stop();
|
|
|
}
|
|
|
}, _callee2);
|
|
|
}));
|
|
|
return function handleOk() {
|
|
|
return _ref3.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
var handleCancel = function handleCancel() {
|
|
|
dispatch({
|
|
|
type: 'shixunsDetail/setActionTabs',
|
|
|
payload: {}
|
|
|
});
|
|
|
setRadioValue(null);
|
|
|
};
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, {
|
|
|
centered: true,
|
|
|
keyboard: false,
|
|
|
closable: false,
|
|
|
title: "\u66F4\u6362\u7BA1\u7406\u5458",
|
|
|
open: shixunsDetail.actionTabs.key === 'Collaborators-ChangeManager',
|
|
|
confirmLoading: loading.effects['shixunsDetail/changeManager'],
|
|
|
onOk: handleOk,
|
|
|
onCancel: handleCancel,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: ChangeManagerModalmodules.title,
|
|
|
children: ["\u9009\u62E9\u7684\u6210\u5458\u5C06\u4F1A\u6210\u4E3A\u65B0\u7684\u7BA1\u7406\u5458", /*#__PURE__*/(0,jsx_runtime.jsx)("br", {}), "\u60A8\u5C06\u4E0D\u518D\u62E5\u6709\u7BA1\u7406\u5458\u7684\u6743\u9650\uFF0C\u4F46\u60A8\u4ECD\u662F\u5408\u4F5C\u56E2\u961F\u7684\u4E00\u5458"]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: ChangeManagerModalmodules.content,
|
|
|
children: managerList.length ? /*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default.Group */.ZP.Group, {
|
|
|
value: radioValue,
|
|
|
onChange: function onChange(e) {
|
|
|
return setRadioValue(e.target.value);
|
|
|
},
|
|
|
children: managerList.map(function (item, index) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default */.ZP, {
|
|
|
className: ChangeManagerModalmodules.radio,
|
|
|
value: item.user_id,
|
|
|
children: item.name
|
|
|
}, index);
|
|
|
})
|
|
|
}) : /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: ChangeManagerModalmodules.add,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
children: ["\u8BF7\u5148\u5C06\u65B0\u7684\u7BA1\u7406\u5458\u901A\u8FC7", /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
|
|
|
className: ChangeManagerModalmodules.colorBlue,
|
|
|
onClick: handleAddCollaborator,
|
|
|
children: "\"\u6DFB\u52A0\u5408\u4F5C\u8005\""
|
|
|
}), "\u52A0\u5165\u5408\u4F5C\u8005\u5217\u8868"]
|
|
|
})
|
|
|
})
|
|
|
})]
|
|
|
})
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var components_ChangeManagerModal = ((0,_umi_production_exports.connect)(function (_ref4) {
|
|
|
var shixunsDetail = _ref4.shixunsDetail,
|
|
|
loading = _ref4.loading,
|
|
|
globalSetting = _ref4.globalSetting;
|
|
|
return {
|
|
|
shixunsDetail: shixunsDetail,
|
|
|
globalSetting: globalSetting,
|
|
|
loading: loading
|
|
|
};
|
|
|
})(ChangeManagerModal));
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/tabs/index.js + 28 modules
|
|
|
var tabs = __webpack_require__(34755);
|
|
|
// EXTERNAL MODULE: ./src/components/SelectUser/index.tsx
|
|
|
var SelectUser = __webpack_require__(3842);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Innovation/Tasks/Collaborate/components/AddCollaborator/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var TabPane = tabs/* default.TabPane */.Z.TabPane;
|
|
|
/* harmony default export */ var AddCollaborator = (function (_ref) {
|
|
|
var visible = _ref.visible,
|
|
|
onCancel = _ref.onCancel,
|
|
|
onSelectGroup = _ref.onSelectGroup,
|
|
|
shixunId = _ref.shixunId,
|
|
|
onSelectCollaborator = _ref.onSelectCollaborator;
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, {
|
|
|
title: "\u6DFB\u52A0\u5408\u4F5C\u8005",
|
|
|
open: visible,
|
|
|
width: 1100,
|
|
|
centered: true,
|
|
|
keyboard: false,
|
|
|
onCancel: onCancel,
|
|
|
maskClosable: false,
|
|
|
destroyOnClose: true,
|
|
|
forceRender: true,
|
|
|
bodyStyle: {
|
|
|
minHeight: 400,
|
|
|
padding: '0 20px 20px 20px'
|
|
|
},
|
|
|
footer: null,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(tabs/* default */.Z, {
|
|
|
defaultActiveKey: "1",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(TabPane, {
|
|
|
tab: "\u641C\u7D22\u6DFB\u52A0",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(SelectUser/* default */.Z, {
|
|
|
type: 1,
|
|
|
onCancel: onCancel,
|
|
|
container_type: 2,
|
|
|
container_id: shixunId,
|
|
|
onSelect: onSelectCollaborator
|
|
|
})
|
|
|
}, "1")
|
|
|
})
|
|
|
});
|
|
|
});
|
|
|
;// CONCATENATED MODULE: ./src/pages/Innovation/Tasks/Collaborate/index.less?modules
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
/* harmony default export */ var Collaboratemodules = ({"bg":"bg___Onnmh","wrap":"wrap___VTtdp","modal":"modal___MArZa","content":"content___a69LK","head":"head____zVzr","headCount":"headCount___GhK7o","button":"button___DoAh3","itemWrap":"itemWrap___UR35k","imgWrap":"imgWrap___DpS0R","img":"img___N9se3","manager":"manager___m4Mzg","itemContent":"itemContent___Ut7hr","nameWrap":"nameWrap___y73uS","name":"name___hJUHg","actionGroup":"actionGroup___QEytf","deleteIcon":"deleteIcon___XGFcN","schoolWrap":"schoolWrap___qsoOp","school":"school___yh8l2","countWrap":"countWrap___MQKPn","deletetitle":"deletetitle___nAICN","yseTitle":"yseTitle___t5fzp"});
|
|
|
// EXTERNAL MODULE: ./node_modules/@ant-design/icons/es/icons/PlusOutlined.js + 1 modules
|
|
|
var PlusOutlined = __webpack_require__(24969);
|
|
|
// EXTERNAL MODULE: ./src/components/Header/index.tsx + 11 modules
|
|
|
var Header = __webpack_require__(53057);
|
|
|
// EXTERNAL MODULE: ./src/utils/fetch.ts
|
|
|
var fetch = __webpack_require__(84519);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Innovation/Tasks/Collaborate/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var Collaborators = function Collaborators(_ref) {
|
|
|
var shixunsDetail = _ref.shixunsDetail,
|
|
|
globalSetting = _ref.globalSetting,
|
|
|
loading = _ref.loading,
|
|
|
user = _ref.user,
|
|
|
dispatch = _ref.dispatch,
|
|
|
position = _ref.position;
|
|
|
var shixunId = (0,react.useRef)();
|
|
|
var _useState = (0,react.useState)(0),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
count = _useState2[0],
|
|
|
setCount = _useState2[1];
|
|
|
var _useState3 = (0,react.useState)([]),
|
|
|
_useState4 = slicedToArray_default()(_useState3, 2),
|
|
|
collaboratorList = _useState4[0],
|
|
|
setCollaboratorList = _useState4[1];
|
|
|
var _useState5 = (0,react.useState)({
|
|
|
id: null,
|
|
|
page: 1
|
|
|
}),
|
|
|
_useState6 = slicedToArray_default()(_useState5, 2),
|
|
|
params = _useState6[0],
|
|
|
setParams = _useState6[1];
|
|
|
var param = (0,_umi_production_exports.useParams)();
|
|
|
var _useState7 = (0,react.useState)({}),
|
|
|
_useState8 = slicedToArray_default()(_useState7, 2),
|
|
|
items = _useState8[0],
|
|
|
setitems = _useState8[1];
|
|
|
|
|
|
// const editable = user.userInfo?.shixun?.editable;
|
|
|
// const isAdminOrCreator =
|
|
|
// user.userInfo?.role <= 2 || user.userInfo?.shixun?.is_creator;
|
|
|
|
|
|
//添加合作者权限
|
|
|
var addAuth = (0,react.useMemo)(function () {
|
|
|
return (0,authority/* isSuperAdmins */.Ny)() || (items === null || items === void 0 ? void 0 : items.current_user_is_creator) || (items === null || items === void 0 ? void 0 : items.current_user_is_partner);
|
|
|
}, [authority/* isSuperAdmins */.Ny, items]);
|
|
|
//删除合作者权限
|
|
|
var deleteAuth = (0,react.useMemo)(function () {
|
|
|
return (0,authority/* isSuperAdmins */.Ny)() || (items === null || items === void 0 ? void 0 : items.current_user_is_creator);
|
|
|
}, [authority/* isSuperAdmins */.Ny, items]);
|
|
|
(0,react.useEffect)(function () {
|
|
|
shixunId.current = param === null || param === void 0 ? void 0 : param.taskId;
|
|
|
params.id = param === null || param === void 0 ? void 0 : param.taskId;
|
|
|
setParams(params);
|
|
|
getCollaboratorsData(params);
|
|
|
}, []);
|
|
|
var getCollaboratorsData = /*#__PURE__*/function () {
|
|
|
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee(query) {
|
|
|
var res;
|
|
|
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/sci/projects/".concat(param === null || param === void 0 ? void 0 : param.taskId, "/get_project_partners.json"), {
|
|
|
method: 'get'
|
|
|
});
|
|
|
case 2:
|
|
|
res = _context.sent;
|
|
|
if (res) {
|
|
|
setCollaboratorList(res.users || []);
|
|
|
setCount(res.users_count);
|
|
|
setitems(res);
|
|
|
}
|
|
|
case 4:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
}));
|
|
|
return function getCollaboratorsData(_x) {
|
|
|
return _ref2.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
var handleReloadData = /*#__PURE__*/function () {
|
|
|
var _ref3 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2() {
|
|
|
var courseParams;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
|
|
|
while (1) switch (_context2.prev = _context2.next) {
|
|
|
case 0:
|
|
|
params.page = 1;
|
|
|
setParams(params);
|
|
|
courseParams = (0,Header/* getCourseParam */.g)();
|
|
|
_context2.next = 5;
|
|
|
return dispatch({
|
|
|
type: 'user/getUserInfo',
|
|
|
payload: courseParams
|
|
|
});
|
|
|
case 5:
|
|
|
_context2.next = 7;
|
|
|
return getCollaboratorsData(params);
|
|
|
case 7:
|
|
|
case "end":
|
|
|
return _context2.stop();
|
|
|
}
|
|
|
}, _callee2);
|
|
|
}));
|
|
|
return function handleReloadData() {
|
|
|
return _ref3.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
var handleChangePage = function handleChangePage(page) {
|
|
|
params.page = page;
|
|
|
setParams(params);
|
|
|
getCollaboratorsData(params);
|
|
|
};
|
|
|
var handleDelete = function handleDelete(userId) {
|
|
|
modal/* default.confirm */.Z.confirm({
|
|
|
centered: true,
|
|
|
okText: '确定',
|
|
|
cancelText: '取消',
|
|
|
title: '提示',
|
|
|
content: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: Collaboratemodules.modal,
|
|
|
children: "\u786E\u5B9A\u8981\u5220\u9664\u5417\uFF1F"
|
|
|
}),
|
|
|
onOk: function () {
|
|
|
var _onOk = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3() {
|
|
|
var res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee3$(_context3) {
|
|
|
while (1) switch (_context3.prev = _context3.next) {
|
|
|
case 0:
|
|
|
_context3.next = 2;
|
|
|
return (0,fetch/* default */.ZP)("/api/sci/projects/".concat(param === null || param === void 0 ? void 0 : param.taskId, "/del_project_partner.json"), {
|
|
|
method: 'DELETE',
|
|
|
body: {
|
|
|
user_id: userId
|
|
|
}
|
|
|
});
|
|
|
case 2:
|
|
|
res = _context3.sent;
|
|
|
message/* default.info */.ZP.info('删除成功');
|
|
|
params.page = 1;
|
|
|
setParams(params);
|
|
|
getCollaboratorsData(params);
|
|
|
case 7:
|
|
|
case "end":
|
|
|
return _context3.stop();
|
|
|
}
|
|
|
}, _callee3);
|
|
|
}));
|
|
|
function onOk() {
|
|
|
return _onOk.apply(this, arguments);
|
|
|
}
|
|
|
return onOk;
|
|
|
}()
|
|
|
});
|
|
|
};
|
|
|
var handleAddCollaborator = function handleAddCollaborator() {
|
|
|
dispatch({
|
|
|
type: 'shixunsDetail/setActionTabs',
|
|
|
payload: {
|
|
|
key: 'Collaborators-AddCollaborator',
|
|
|
params: {
|
|
|
id: shixunId.current
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
};
|
|
|
function onCancel() {
|
|
|
dispatch({
|
|
|
type: 'shixunsDetail/setActionTabs',
|
|
|
payload: {}
|
|
|
});
|
|
|
}
|
|
|
var AddCollaboratorOption = {
|
|
|
visible: shixunsDetail.actionTabs.key === 'Collaborators-AddCollaborator',
|
|
|
onCancel: onCancel,
|
|
|
shixunId: shixunId.current,
|
|
|
onSelectCollaborator: function () {
|
|
|
var _onSelectCollaborator = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee4(user_ids) {
|
|
|
var res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee4$(_context4) {
|
|
|
while (1) switch (_context4.prev = _context4.next) {
|
|
|
case 0:
|
|
|
onCancel();
|
|
|
_context4.next = 3;
|
|
|
return (0,fetch/* default */.ZP)("/api/sci/projects/".concat(shixunId.current, "/bacht_add_project_partners.json"), {
|
|
|
method: 'POST',
|
|
|
body: {
|
|
|
user_ids: user_ids
|
|
|
}
|
|
|
});
|
|
|
case 3:
|
|
|
res = _context4.sent;
|
|
|
if (res) {
|
|
|
message/* default.success */.ZP.success('添加成功');
|
|
|
handleReloadData();
|
|
|
}
|
|
|
case 5:
|
|
|
case "end":
|
|
|
return _context4.stop();
|
|
|
}
|
|
|
}, _callee4);
|
|
|
}));
|
|
|
function onSelectCollaborator(_x2) {
|
|
|
return _onSelectCollaborator.apply(this, arguments);
|
|
|
}
|
|
|
return onSelectCollaborator;
|
|
|
}(),
|
|
|
onSelectGroup: function () {
|
|
|
var _onSelectGroup = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee5(group_id) {
|
|
|
var res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee5$(_context5) {
|
|
|
while (1) switch (_context5.prev = _context5.next) {
|
|
|
case 0:
|
|
|
onCancel();
|
|
|
_context5.next = 3;
|
|
|
return dispatch({
|
|
|
type: 'shixunsDetail/addTeachGroupMember',
|
|
|
payload: {
|
|
|
identifier: shixunId.current,
|
|
|
group_id: group_id.group_id
|
|
|
}
|
|
|
});
|
|
|
case 3:
|
|
|
res = _context5.sent;
|
|
|
if (res) {
|
|
|
message/* default.success */.ZP.success('添加成功');
|
|
|
handleReloadData();
|
|
|
}
|
|
|
case 5:
|
|
|
case "end":
|
|
|
return _context5.stop();
|
|
|
}
|
|
|
}, _callee5);
|
|
|
}));
|
|
|
function onSelectGroup(_x3) {
|
|
|
return _onSelectGroup.apply(this, arguments);
|
|
|
}
|
|
|
return onSelectGroup;
|
|
|
}()
|
|
|
};
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("section", {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: Collaboratemodules.wrap,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: Collaboratemodules.content,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: Collaboratemodules.head,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
className: Collaboratemodules.headCount,
|
|
|
children: ["\u5408\u4F5C\u8005\uFF08", count, "\u4EBA\uFF09"]
|
|
|
}), addAuth && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
|
className: Collaboratemodules.button,
|
|
|
style: {
|
|
|
marginRight: position === 'detail' ? 0 : '20px'
|
|
|
},
|
|
|
onClick: handleAddCollaborator,
|
|
|
icon: /*#__PURE__*/(0,jsx_runtime.jsx)(PlusOutlined/* default */.Z, {}),
|
|
|
children: "\u6DFB\u52A0\u5408\u4F5C\u8005"
|
|
|
})
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: Collaboratemodules.list,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(skeleton/* default */.Z, {
|
|
|
loading: false,
|
|
|
active: true,
|
|
|
avatar: {
|
|
|
size: 40
|
|
|
},
|
|
|
paragraph: {
|
|
|
rows: 3
|
|
|
},
|
|
|
className: "mt30",
|
|
|
children: collaboratorList.map(function (item, index) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
style: {
|
|
|
display: 'inline-block',
|
|
|
width: '50%'
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: Collaboratemodules.itemWrap,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
|
|
|
target: "_blank",
|
|
|
className: Collaboratemodules.imgWrap,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
|
|
|
alt: "\u7528\u6237\u5934\u50CF",
|
|
|
height: "48",
|
|
|
width: "48",
|
|
|
className: Collaboratemodules.img,
|
|
|
src: "".concat(env/* default.IMG_SERVER */.Z.IMG_SERVER, "/images/").concat(item === null || item === void 0 ? void 0 : item.image_url)
|
|
|
}), (item === null || item === void 0 ? void 0 : item.is_creator) && /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: Collaboratemodules.manager,
|
|
|
children: "\u521B\u5EFA\u8005"
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: Collaboratemodules.itemContent,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: Collaboratemodules.nameWrap,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("a", {
|
|
|
target: "_blank",
|
|
|
className: Collaboratemodules.name,
|
|
|
children: item === null || item === void 0 ? void 0 : item.user_name
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: Collaboratemodules.actionGroup,
|
|
|
children: !(item !== null && item !== void 0 && item.is_creator) && deleteAuth ? /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
|
|
|
className: Collaboratemodules.deletetitle,
|
|
|
onClick: function onClick() {
|
|
|
return handleDelete(item.id);
|
|
|
},
|
|
|
children: "\u5220\u9664"
|
|
|
}) : null
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
|
className: Collaboratemodules.schoolWrap,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: Collaboratemodules.school,
|
|
|
children: item === null || item === void 0 ? void 0 : item.school_name
|
|
|
})
|
|
|
})]
|
|
|
})]
|
|
|
})
|
|
|
}, index);
|
|
|
})
|
|
|
})
|
|
|
})]
|
|
|
}), count > 10 && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: Collaboratemodules.countWrap,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(pagination/* default */.Z, {
|
|
|
showQuickJumper: false,
|
|
|
showSizeChanger: false,
|
|
|
total: count,
|
|
|
onChange: function onChange(page) {
|
|
|
return handleChangePage(page);
|
|
|
},
|
|
|
pageSize: 10,
|
|
|
current: params.page
|
|
|
})
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(components_ChangeManagerModal, {
|
|
|
onReloadData: handleReloadData
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(AddCollaborator, objectSpread2_default()({}, AddCollaboratorOption))]
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var Collaborate = ((0,_umi_production_exports.connect)(function (_ref4) {
|
|
|
var shixunsDetail = _ref4.shixunsDetail,
|
|
|
loading = _ref4.loading,
|
|
|
globalSetting = _ref4.globalSetting,
|
|
|
user = _ref4.user;
|
|
|
return {
|
|
|
shixunsDetail: shixunsDetail,
|
|
|
globalSetting: globalSetting,
|
|
|
user: user,
|
|
|
loading: loading
|
|
|
};
|
|
|
})(Collaborators));
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 11198:
|
|
|
/*!***********************************************************!*\
|
|
|
!*** ./src/pages/Innovation/Tasks/index.jsx + 25 modules ***!
|
|
|
\***********************************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
"use strict";
|
|
|
// ESM COMPAT FLAG
|
|
|
__webpack_require__.r(__webpack_exports__);
|
|
|
|
|
|
// EXPORTS
|
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
|
"default": function() { return /* binding */ Tasks; }
|
|
|
});
|
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/toConsumableArray.js
|
|
|
var toConsumableArray = __webpack_require__(861);
|
|
|
var toConsumableArray_default = /*#__PURE__*/__webpack_require__.n(toConsumableArray);
|
|
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/defineProperty.js
|
|
|
var defineProperty = __webpack_require__(38416);
|
|
|
var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty);
|
|
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/regeneratorRuntime.js
|
|
|
var regeneratorRuntime = __webpack_require__(17061);
|
|
|
var regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(regeneratorRuntime);
|
|
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/asyncToGenerator.js
|
|
|
var asyncToGenerator = __webpack_require__(17156);
|
|
|
var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
|
|
|
// 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/@babel/runtime/helpers/objectWithoutProperties.js
|
|
|
var objectWithoutProperties = __webpack_require__(70215);
|
|
|
var objectWithoutProperties_default = /*#__PURE__*/__webpack_require__.n(objectWithoutProperties);
|
|
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/objectSpread2.js
|
|
|
var objectSpread2 = __webpack_require__(42122);
|
|
|
var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2);
|
|
|
// EXTERNAL MODULE: ./node_modules/react/index.js
|
|
|
var react = __webpack_require__(67294);
|
|
|
// EXTERNAL MODULE: ./src/.umi-production/exports.ts
|
|
|
var _umi_production_exports = __webpack_require__(88275);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Innovation/Tasks/index.less
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
|
|
|
// EXTERNAL MODULE: ./src/components/Spinner/index.tsx + 1 modules
|
|
|
var Spinner = __webpack_require__(38054);
|
|
|
// EXTERNAL MODULE: ./src/components/modal.tsx
|
|
|
var modal = __webpack_require__(12264);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/statistic/index.js + 5 modules
|
|
|
var statistic = __webpack_require__(55054);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/form/index.js + 17 modules
|
|
|
var es_form = __webpack_require__(25159);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/modal/index.js + 39 modules
|
|
|
var es_modal = __webpack_require__(72423);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/button/index.js
|
|
|
var es_button = __webpack_require__(71577);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/drawer/index.js + 16 modules
|
|
|
var drawer = __webpack_require__(35479);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/message/index.js + 4 modules
|
|
|
var message = __webpack_require__(2453);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/input/index.js + 5 modules
|
|
|
var input = __webpack_require__(79531);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/input-number/index.js + 21 modules
|
|
|
var input_number = __webpack_require__(31795);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Innovation/Tasks/header/index.less
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
|
|
|
// EXTERNAL MODULE: ./src/components/tpi-code-setting/index.less
|
|
|
var tpi_code_setting = __webpack_require__(12867);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/row/index.js
|
|
|
var row = __webpack_require__(71230);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/col/index.js
|
|
|
var col = __webpack_require__(15746);
|
|
|
// EXTERNAL MODULE: ./node_modules/@ant-design/icons/es/icons/PoweroffOutlined.js + 1 modules
|
|
|
var PoweroffOutlined = __webpack_require__(81088);
|
|
|
// EXTERNAL MODULE: ./node_modules/react-copy-to-clipboard/lib/index.js
|
|
|
var lib = __webpack_require__(74855);
|
|
|
// EXTERNAL MODULE: ./src/service/task.ts
|
|
|
var task = __webpack_require__(48632);
|
|
|
// EXTERNAL MODULE: ./node_modules/@ant-design/icons/es/icons/ExclamationCircleOutlined.js + 1 modules
|
|
|
var ExclamationCircleOutlined = __webpack_require__(11475);
|
|
|
// EXTERNAL MODULE: ./src/components/MultiUpload/index.tsx + 3 modules
|
|
|
var MultiUpload = __webpack_require__(64768);
|
|
|
// EXTERNAL MODULE: ./src/utils/env.ts + 1 modules
|
|
|
var env = __webpack_require__(59758);
|
|
|
// EXTERNAL MODULE: ./src/utils/fetch.ts
|
|
|
var fetch = __webpack_require__(84519);
|
|
|
// EXTERNAL MODULE: ./src/utils/util.tsx
|
|
|
var util = __webpack_require__(29427);
|
|
|
// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js
|
|
|
var jsx_runtime = __webpack_require__(85893);
|
|
|
;// CONCATENATED MODULE: ./src/components/vnc-setting2/record.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var ScreenRecord = /*#__PURE__*/(0,react.forwardRef)(function (_ref, ref) {
|
|
|
var time = _ref.time;
|
|
|
console.log("ScreenRecord:", ref);
|
|
|
var previewRef = (0,react.useRef)();
|
|
|
var _useState = (0,react.useState)(),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
recorder = _useState2[0],
|
|
|
setRecorder = _useState2[1];
|
|
|
var recorderRef = (0,react.useRef)();
|
|
|
var recordingTimeMS = 2000;
|
|
|
var recordingArr = [];
|
|
|
(0,react.useImperativeHandle)(ref, function () {
|
|
|
return {
|
|
|
startScreenRecord: startScreenRecord,
|
|
|
downloadFile: downloadFile
|
|
|
};
|
|
|
});
|
|
|
function startRecording(_x, _x2) {
|
|
|
return _startRecording.apply(this, arguments);
|
|
|
}
|
|
|
function _startRecording() {
|
|
|
_startRecording = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee(stream, lengthInMS) {
|
|
|
var data, re;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
|
|
|
while (1) switch (_context.prev = _context.next) {
|
|
|
case 0:
|
|
|
data = [];
|
|
|
_context.next = 3;
|
|
|
return new MediaRecorder(stream);
|
|
|
case 3:
|
|
|
re = _context.sent;
|
|
|
re.ondataavailable = function (event) {
|
|
|
data.push(event.data);
|
|
|
};
|
|
|
re.start();
|
|
|
recorderRef.current = re;
|
|
|
window.recorderRefs = re;
|
|
|
re.addEventListener('stop', function (event) {
|
|
|
var videoUrl = URL.createObjectURL(data[0], {
|
|
|
type: 'video/mp4'
|
|
|
});
|
|
|
(0,util/* downLoadLink */.Nd)("xxx.webm", videoUrl);
|
|
|
});
|
|
|
case 9:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
}));
|
|
|
return _startRecording.apply(this, arguments);
|
|
|
}
|
|
|
function downloadFile() {
|
|
|
if (!window.recorderRefs) {
|
|
|
message/* default.warning */.ZP.warning("您还没有开启视频录制,请先去录制视频吧!");
|
|
|
return;
|
|
|
}
|
|
|
var tracks = previewRef.current.srcObject.getTracks();
|
|
|
tracks.forEach(function (track) {
|
|
|
track.stop();
|
|
|
});
|
|
|
window.recorderRefs.addEventListener('dataavailable', function (event) {
|
|
|
var videoUrl = URL.createObjectURL(event.data, {
|
|
|
type: 'video/mp4'
|
|
|
});
|
|
|
(0,util/* downLoadLink */.Nd)("屏幕录制视频.webm", videoUrl);
|
|
|
});
|
|
|
}
|
|
|
;
|
|
|
function startScreenRecord() {
|
|
|
navigator.mediaDevices.getDisplayMedia({
|
|
|
video: true,
|
|
|
audio: true
|
|
|
}).then(function (stream) {
|
|
|
previewRef.current.srcObject = stream;
|
|
|
// downloadButton.href = stream;
|
|
|
recordingArr.push(stream);
|
|
|
previewRef.current.captureStream = previewRef.current.captureStream || previewRef.current.mozCaptureStream;
|
|
|
return new Promise(function (resolve) {
|
|
|
return previewRef.current.onplaying = resolve;
|
|
|
});
|
|
|
}).then(function () {
|
|
|
return startRecording(previewRef.current.captureStream(), recordingTimeMS);
|
|
|
}).then(function (recordedChunks) {})["catch"](function (error) {
|
|
|
if (error.name === "NotFoundError") {
|
|
|
message/* default.warning */.ZP.warning("找不到摄像头或麦克风。无法录制.");
|
|
|
} else {
|
|
|
message/* default.warning */.ZP.warning(error.name);
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
|
|
|
// stop(previewRef.current.srcObject);
|
|
|
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
style: {
|
|
|
position: "absolute",
|
|
|
top: "0",
|
|
|
zIndex: -1
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("video", {
|
|
|
onPause: function onPause() {},
|
|
|
width: "60",
|
|
|
height: "120",
|
|
|
autoPlay: true,
|
|
|
muted: true,
|
|
|
ref: previewRef
|
|
|
})
|
|
|
});
|
|
|
});
|
|
|
/* harmony default export */ var record = (ScreenRecord);
|
|
|
;// CONCATENATED MODULE: ./src/components/vnc-setting2/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var difficultyDesc = {
|
|
|
1: '简单',
|
|
|
2: '中等',
|
|
|
3: '困难'
|
|
|
};
|
|
|
/* harmony default export */ var vnc_setting2 = (function (_ref) {
|
|
|
var className = _ref.className,
|
|
|
mirror_description = _ref.mirror_description,
|
|
|
git_url = _ref.git_url,
|
|
|
difficulty = _ref.difficulty,
|
|
|
task_pass = _ref.task_pass,
|
|
|
test_set_permission = _ref.test_set_permission,
|
|
|
onVncAction = _ref.onVncAction,
|
|
|
shixun = _ref.shixun,
|
|
|
window_vnc_url = _ref.window_vnc_url,
|
|
|
linux_vnc = _ref.linux_vnc,
|
|
|
vnc_url = _ref.vnc_url,
|
|
|
unity_3d_routes = _ref.unity_3d_routes,
|
|
|
taskData = _ref.taskData;
|
|
|
console.log(taskData);
|
|
|
var params = (0,_umi_production_exports.useParams)();
|
|
|
var _useState = (0,react.useState)("8082"),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
portValue = _useState2[0],
|
|
|
setPortValue = _useState2[1];
|
|
|
var _useState3 = (0,react.useState)(false),
|
|
|
_useState4 = slicedToArray_default()(_useState3, 2),
|
|
|
isLoading = _useState4[0],
|
|
|
setIsLoading = _useState4[1];
|
|
|
var _useState5 = (0,react.useState)(false),
|
|
|
_useState6 = slicedToArray_default()(_useState5, 2),
|
|
|
isLoading2 = _useState6[0],
|
|
|
setIsLoading2 = _useState6[1];
|
|
|
var recordRef = (0,react.useRef)();
|
|
|
var uploadWorkspace = window_vnc_url ? "C:\/Windows\/AppReadiness\/userfiles" : "/data/workspace/userfiles";
|
|
|
var downloadWorkspace = window_vnc_url ? "C:\/Windows\/AppReadiness\/downloadfiles" : "/data/workspace/downloadfiles";
|
|
|
var restartVac = function restartVac() {
|
|
|
es_modal/* default.confirm */.Z.confirm({
|
|
|
title: '重启云主机',
|
|
|
icon: /*#__PURE__*/(0,jsx_runtime.jsx)(ExclamationCircleOutlined/* default */.Z, {}),
|
|
|
content: '您确定要重启云主机吗?',
|
|
|
centered: true,
|
|
|
okText: '确定',
|
|
|
cancelText: '取消',
|
|
|
onOk: function () {
|
|
|
var _onOk = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
|
|
|
var res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
|
|
|
while (1) switch (_context.prev = _context.next) {
|
|
|
case 0:
|
|
|
_context.next = 2;
|
|
|
return (0,task/* rebootEsc */.Jd)({
|
|
|
identifier: params.taskId
|
|
|
});
|
|
|
case 2:
|
|
|
res = _context.sent;
|
|
|
if ((res === null || res === void 0 ? void 0 : res.status) === 0) {
|
|
|
message/* default.info */.ZP.info("重启成功");
|
|
|
}
|
|
|
return _context.abrupt("return", '');
|
|
|
case 5:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
}));
|
|
|
function onOk() {
|
|
|
return _onOk.apply(this, arguments);
|
|
|
}
|
|
|
return onOk;
|
|
|
}()
|
|
|
});
|
|
|
};
|
|
|
var uploadFile = function uploadFile() {
|
|
|
es_modal/* default.info */.Z.info({
|
|
|
title: "文件上传",
|
|
|
icon: null,
|
|
|
okText: "关闭",
|
|
|
width: 600,
|
|
|
centered: true,
|
|
|
content: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: "pt10",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(MultiUpload/* default */.Z, {
|
|
|
isDragger: true,
|
|
|
maxSize: 1024,
|
|
|
additionalText: "\u9ED8\u8BA4\u5B58\u653E\u76EE\u5F55\u8DEF\u5F84\u4E3A\"".concat(uploadWorkspace, "\""),
|
|
|
action: "".concat(env/* default.API_SERVER */.Z.API_SERVER, "/api/sci/projects/").concat(params.taskId, "/upload_file.json"),
|
|
|
onChange: function onChange(fileList) {
|
|
|
if (fileList.every(function (item) {
|
|
|
var _item$response;
|
|
|
return ((_item$response = item.response) === null || _item$response === void 0 ? void 0 : _item$response.status) === 0;
|
|
|
})) {
|
|
|
es_modal/* default.destroyAll */.Z.destroyAll();
|
|
|
message/* default.info */.ZP.info("文件上传成功");
|
|
|
}
|
|
|
}
|
|
|
})
|
|
|
})
|
|
|
});
|
|
|
};
|
|
|
var serverPreview = /*#__PURE__*/function () {
|
|
|
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2() {
|
|
|
var _res$data;
|
|
|
var res, _res$data2;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
|
|
|
while (1) switch (_context2.prev = _context2.next) {
|
|
|
case 0:
|
|
|
setIsLoading2(true);
|
|
|
_context2.next = 3;
|
|
|
return (0,fetch/* default */.ZP)("/api/sci/projects/".concat(params.taskId, "/port_proxy.json"), {
|
|
|
method: "post",
|
|
|
body: {
|
|
|
port: portValue,
|
|
|
position: 1
|
|
|
}
|
|
|
});
|
|
|
case 3:
|
|
|
res = _context2.sent;
|
|
|
if (res !== null && res !== void 0 && (_res$data = res.data) !== null && _res$data !== void 0 && _res$data.url) {
|
|
|
(0,util/* openNewWindow */.xg)(res === null || res === void 0 ? void 0 : (_res$data2 = res.data) === null || _res$data2 === void 0 ? void 0 : _res$data2.url);
|
|
|
}
|
|
|
setIsLoading2(false);
|
|
|
case 6:
|
|
|
case "end":
|
|
|
return _context2.stop();
|
|
|
}
|
|
|
}, _callee2);
|
|
|
}));
|
|
|
return function serverPreview() {
|
|
|
return _ref2.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
var downloadFile = function downloadFile() {
|
|
|
es_modal/* default.confirm */.Z.confirm({
|
|
|
title: "下载代码",
|
|
|
centered: true,
|
|
|
width: 600,
|
|
|
content: "\u4EE3\u7801\u4E0B\u8F7D\u529F\u80FD\uFF1A\u5C06\u201C".concat(downloadWorkspace, "\u201D\u76EE\u5F55\u8FDB\u884C\u6253\u5305\u5E76\u4E0B\u8F7D"),
|
|
|
onOk: function () {
|
|
|
var _onOk2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3() {
|
|
|
return regeneratorRuntime_default()().wrap(function _callee3$(_context3) {
|
|
|
while (1) switch (_context3.prev = _context3.next) {
|
|
|
case 0:
|
|
|
_context3.next = 2;
|
|
|
return (0,fetch/* default */.ZP)("/api/sci/projects/".concat(params.taskId, "/download_file.json"), {
|
|
|
method: 'post',
|
|
|
body: {
|
|
|
autoDownload: true
|
|
|
},
|
|
|
headers: {
|
|
|
responseType: 'arraybuffer',
|
|
|
Accept: 'application/vnd.ms-excel;charset=utf-8'
|
|
|
}
|
|
|
});
|
|
|
case 2:
|
|
|
return _context3.abrupt("return", true);
|
|
|
case 3:
|
|
|
case "end":
|
|
|
return _context3.stop();
|
|
|
}
|
|
|
}, _callee3);
|
|
|
}));
|
|
|
function onOk() {
|
|
|
return _onOk2.apply(this, arguments);
|
|
|
}
|
|
|
return onOk;
|
|
|
}()
|
|
|
});
|
|
|
};
|
|
|
var onStartRecord = function onStartRecord() {
|
|
|
var _recordRef$current, _recordRef$current$st;
|
|
|
(_recordRef$current = recordRef.current) === null || _recordRef$current === void 0 ? void 0 : (_recordRef$current$st = _recordRef$current.startScreenRecord) === null || _recordRef$current$st === void 0 ? void 0 : _recordRef$current$st.call(_recordRef$current);
|
|
|
};
|
|
|
|
|
|
// const serverPreview = async () => {
|
|
|
// setIsLoading(true)
|
|
|
// const res = await Fetch(`/api/tasks/${params.taskId}/port_proxy`, { method: "post", body: { port: portValue } })
|
|
|
// if (res?.data?.url) {
|
|
|
// openNewWindow(res?.data?.url);
|
|
|
// }
|
|
|
// setIsLoading(false)
|
|
|
// }
|
|
|
|
|
|
var getSSH = function getSSH() {
|
|
|
var webssh = taskData.webssh;
|
|
|
es_modal/* default.info */.Z.info({
|
|
|
title: 'SSH直连',
|
|
|
width: 600,
|
|
|
centered: true,
|
|
|
content: /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
flex: "50px",
|
|
|
children: "\u8D26\u53F7"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
children: webssh === null || webssh === void 0 ? void 0 : webssh.username
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
flex: "50px",
|
|
|
children: "\u5730\u5740"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
children: webssh === null || webssh === void 0 ? void 0 : webssh.address
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
flex: "50px",
|
|
|
children: "\u7AEF\u53E3"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
children: webssh === null || webssh === void 0 ? void 0 : webssh.servicePort
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
flex: "50px",
|
|
|
children: "\u5BC6\u7801"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
children: webssh === null || webssh === void 0 ? void 0 : webssh.password
|
|
|
})]
|
|
|
})]
|
|
|
})
|
|
|
});
|
|
|
};
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: "tpi-code-setting ".concat(className),
|
|
|
style: {
|
|
|
height: "calc(100vh - 54px )"
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("h3", {
|
|
|
children: "\u529F\u80FD"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("section", {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
|
|
|
id: "full-screen",
|
|
|
title: "\u5168\u5C4F",
|
|
|
className: "file-item action",
|
|
|
onClick: function onClick() {
|
|
|
onVncAction('full-screen');
|
|
|
},
|
|
|
children: [" ", /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-quanping"
|
|
|
}), "\u5F00\u542F / \u9000\u51FA\u5168\u5C4F "]
|
|
|
}), !unity_3d_routes && /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
|
|
|
id: "reset-task",
|
|
|
onClick: function onClick() {
|
|
|
return onVncAction('reset-task');
|
|
|
},
|
|
|
className: "file-item action",
|
|
|
title: "\u91CD\u7F6E\u73AF\u5883",
|
|
|
children: [" ", /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-zhongzhishixun"
|
|
|
}), "\u91CD\u7F6E\u73AF\u5883 "]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
|
|
|
onClick: function onClick() {
|
|
|
return uploadFile();
|
|
|
},
|
|
|
className: "file-item action",
|
|
|
title: "\u4E0A\u4F20\u6587\u4EF6",
|
|
|
children: [" ", /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-shangchuanshipin1"
|
|
|
}), "\u4E0A\u4F20\u6587\u4EF6"]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
|
|
|
onClick: function onClick() {
|
|
|
return downloadFile();
|
|
|
},
|
|
|
className: "file-item action",
|
|
|
title: "\u4E0B\u8F7D\u6587\u4EF6",
|
|
|
children: [" ", /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-xiazai3"
|
|
|
}), "\u4E0B\u8F7D\u6587\u4EF6"]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
|
|
|
onClick: function onClick() {
|
|
|
return onStartRecord();
|
|
|
},
|
|
|
className: "file-item action",
|
|
|
title: "\u5C4F\u5E55\u5F55\u5236",
|
|
|
children: [" ", /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-jiaruketang1"
|
|
|
}), "\u5C4F\u5E55\u5F55\u5236"]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
|
|
|
className: "file-item action w100",
|
|
|
title: "ssh\u76F4\u8FDE",
|
|
|
children: [" ", /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-wodegongzuotai"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(row/* default */.Z, {
|
|
|
align: "middle",
|
|
|
className: "w100",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
flex: "1",
|
|
|
onClick: getSSH,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
|
type: "text",
|
|
|
loading: isLoading,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
style: {
|
|
|
color: "#ddd",
|
|
|
marginLeft: -11
|
|
|
},
|
|
|
children: "ssh\u76F4\u8FDE"
|
|
|
})
|
|
|
})
|
|
|
})
|
|
|
})]
|
|
|
}), (vnc_url || taskData.mirror_type === "webssh") && /*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
|
|
|
className: "file-item action w100",
|
|
|
title: "\u670D\u52A1\u9884\u89C8",
|
|
|
children: [" ", /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-suanfasheji"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
align: "middle",
|
|
|
className: "w100",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
flex: "1",
|
|
|
onClick: serverPreview,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
|
type: "text",
|
|
|
loading: isLoading2,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
style: {
|
|
|
color: "#ddd",
|
|
|
marginLeft: -11
|
|
|
},
|
|
|
children: "\u670D\u52A1\u9884\u89C8"
|
|
|
})
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(col/* default */.Z, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("a", {
|
|
|
href: "javascript:;",
|
|
|
onClick: serverPreview,
|
|
|
className: "c-blue",
|
|
|
children: "\u7AEF\u53E3\u53F7"
|
|
|
}), " ", /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
|
|
|
onChange: function onChange(e) {
|
|
|
return setPortValue(e.target.value);
|
|
|
},
|
|
|
style: {
|
|
|
width: 50
|
|
|
},
|
|
|
value: portValue
|
|
|
})]
|
|
|
})]
|
|
|
})]
|
|
|
}), window_vnc_url && /*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
|
|
|
id: "reset-task",
|
|
|
onClick: restartVac,
|
|
|
className: "file-item action",
|
|
|
title: "\u91CD\u542F\u4E91\u4E3B\u673A",
|
|
|
children: [" ", /*#__PURE__*/(0,jsx_runtime.jsx)(PoweroffOutlined/* default */.Z, {
|
|
|
style: {
|
|
|
marginRight: 21,
|
|
|
color: "#FFF"
|
|
|
},
|
|
|
className: "c-white font16"
|
|
|
}), "\u91CD\u542F\u4E91\u4E3B\u673A "]
|
|
|
}), git_url ? /*#__PURE__*/(0,jsx_runtime.jsx)(lib.CopyToClipboard, {
|
|
|
text: git_url,
|
|
|
onCopy: function onCopy() {
|
|
|
return message/* default.success */.ZP.success('复制成功');
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
|
|
|
id: "copy-git",
|
|
|
title: "\u590D\u5236\u7248\u672C\u5E93\u5730\u5740",
|
|
|
className: "file-item action",
|
|
|
children: [" ", /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-fuzhibanbenkudizhi1"
|
|
|
}), "\u590D\u5236\u7248\u672C\u5E93\u5730\u5740 "]
|
|
|
})
|
|
|
}) : null]
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(record, {
|
|
|
ref: recordRef
|
|
|
})]
|
|
|
});
|
|
|
});
|
|
|
// EXTERNAL MODULE: ./src/components/useInterval.tsx
|
|
|
var useInterval = __webpack_require__(61891);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/tooltip/index.js + 3 modules
|
|
|
var tooltip = __webpack_require__(83062);
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/pagination/index.js + 11 modules
|
|
|
var pagination = __webpack_require__(83338);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Innovation/Tasks/data-sets/index.less?modules
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
/* harmony default export */ var data_setsmodules = ({"flex_box_center":"flex_box_center___ayVLf","flex_space_between":"flex_space_between___pLloZ","flex_box_vertical_center":"flex_box_vertical_center___eX0c1","flex_box_center_end":"flex_box_center_end___KU45M","flex_box_column":"flex_box_column___cZiLo","wrap":"wrap___x0TPJ","list":"list___Bn7Fe","page":"page___zVCLY"});
|
|
|
;// CONCATENATED MODULE: ./src/pages/Innovation/Tasks/service/index.js
|
|
|
|
|
|
|
|
|
|
|
|
var _getJsonFromUrl, _getJsonFromUrl2;
|
|
|
|
|
|
|
|
|
|
|
|
//判断是否来自教学课堂助教查看实训
|
|
|
var urlParams = (_getJsonFromUrl = (0,util/* getJsonFromUrl */.oP)()) !== null && _getJsonFromUrl !== void 0 && _getJsonFromUrl.homework_common_id ? {
|
|
|
homework_common_id: (_getJsonFromUrl2 = (0,util/* getJsonFromUrl */.oP)()) === null || _getJsonFromUrl2 === void 0 ? void 0 : _getJsonFromUrl2.homework_common_id
|
|
|
} : {};
|
|
|
function fetchTaskInfo(id) {
|
|
|
return get("tasks/".concat(id, ".json"), urlParams);
|
|
|
}
|
|
|
function fetchDataList(id) {
|
|
|
return (0,fetch/* get */.U2)("sci/projects/".concat(id, "/get_data_sets.json"));
|
|
|
}
|
|
|
function fetchTaskList(id) {
|
|
|
return get("myshixuns/".concat(id, "/challenges.json"));
|
|
|
}
|
|
|
function fetchPathsTaskList(id, params) {
|
|
|
return get("myshixuns/".concat(id, "/subject_challenges.json"), params);
|
|
|
}
|
|
|
function saveTaskStar(id, shixunId, star) {
|
|
|
return (0,fetch/* get */.U2)("tasks/".concat(id, "/star.json"), {
|
|
|
star: star,
|
|
|
shixun_id: shixunId
|
|
|
});
|
|
|
}
|
|
|
function fetchCode(id, params) {
|
|
|
return (0,fetch/* get */.U2)("tasks/".concat(id, "/rep_content.json"), objectSpread2_default()(objectSpread2_default()({}, params), urlParams));
|
|
|
}
|
|
|
function updateCode(id, params) {
|
|
|
return (0,fetch/* post */.v_)("myshixuns/".concat(id, "/update_file.json"), params);
|
|
|
}
|
|
|
function restoreCode(id, params) {
|
|
|
return (0,fetch/* get */.U2)("tasks/".concat(id, "/reset_original_code.json"), objectSpread2_default()(objectSpread2_default()({}, params), urlParams));
|
|
|
}
|
|
|
function resetGitCode(id, params) {
|
|
|
return (0,fetch/* post */.v_)("myshixuns/".concat(id, "/reset_repository.json"), params);
|
|
|
}
|
|
|
function resetPassedCode(id, params) {
|
|
|
return (0,fetch/* get */.U2)("tasks/".concat(id, "/reset_passed_code.json"), objectSpread2_default()(objectSpread2_default()({}, params), urlParams));
|
|
|
}
|
|
|
function codeGameBuild(id, params) {
|
|
|
return (0,fetch/* post */.v_)("tasks/".concat(id, "/game_build.json"), objectSpread2_default()(objectSpread2_default()({}, params), urlParams));
|
|
|
}
|
|
|
function getCodeGameStatus(id, params) {
|
|
|
return (0,fetch/* get */.U2)("tasks/".concat(id, "/game_status.json"), objectSpread2_default()(objectSpread2_default()({}, params), urlParams));
|
|
|
}
|
|
|
function evalateChooseGame(id, params) {
|
|
|
return post("tasks/".concat(id, "/choose_build.json"), _objectSpread(_objectSpread({}, params), urlParams));
|
|
|
}
|
|
|
function fetchPictures(id) {
|
|
|
return get("tasks/".concat(id, "/picture_display.json"), urlParams);
|
|
|
}
|
|
|
function updateCostTime(id, params) {
|
|
|
return get("tasks/".concat(id, "/cost_time.json"), _objectSpread(_objectSpread({}, params), urlParams));
|
|
|
}
|
|
|
function getNoticeDetail(id, params) {
|
|
|
return get("courses/".concat(id, "/inform_detail.json"), params);
|
|
|
}
|
|
|
function plusOrCancelPraise(id) {
|
|
|
return (0,fetch/* post */.v_)("tasks/".concat(id, "/plus_or_cancel_praise.json"));
|
|
|
}
|
|
|
function fetchRepos(id) {
|
|
|
var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
|
return (0,fetch/* post */.v_)("myshixuns/".concat(id, "/repository.json"), params);
|
|
|
}
|
|
|
function openSSh(id, params) {
|
|
|
return get("myshixuns/".concat(id, "/open_webssh.json"), params || {});
|
|
|
}
|
|
|
function openVmSSh(id, params) {
|
|
|
return get("myshixuns/".concat(id, "/open_vm_webssh.json"), params);
|
|
|
}
|
|
|
function closeSSh(id) {
|
|
|
return get("tasks/".concat(id, "/close_webssh.json"));
|
|
|
}
|
|
|
function resetVnc(_x) {
|
|
|
return _resetVnc.apply(this, arguments);
|
|
|
}
|
|
|
// 所有环境重置都可以使用此方法
|
|
|
function _resetVnc() {
|
|
|
_resetVnc = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee(id) {
|
|
|
var res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
|
|
|
while (1) switch (_context.prev = _context.next) {
|
|
|
case 0:
|
|
|
_context.next = 2;
|
|
|
return (0,fetch/* post */.v_)("/sci/projects/".concat(id, "/delete_pod.json"));
|
|
|
case 2:
|
|
|
res = _context.sent;
|
|
|
if (!((res === null || res === void 0 ? void 0 : res.status) >= 0)) {
|
|
|
_context.next = 5;
|
|
|
break;
|
|
|
}
|
|
|
return _context.abrupt("return", (0,fetch/* post */.v_)("/sci/projects/".concat(id, "/start_environment.json"), urlParams));
|
|
|
case 5:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
}));
|
|
|
return _resetVnc.apply(this, arguments);
|
|
|
}
|
|
|
function resetWindowsVnc(id) {
|
|
|
// return post(`tasks/${id}/reset_windows_vnc_link.json`);
|
|
|
return post("tasks/".concat(id, "/reset_environment"));
|
|
|
}
|
|
|
function resetLinuxVnc(id, params) {
|
|
|
return post("tasks/".concat(id, "/reset_linux_vnc_link.json"), params || {});
|
|
|
}
|
|
|
function unlockTestCase(id) {
|
|
|
return (0,fetch/* get */.U2)("tasks/".concat(id, "/check_test_sets.json"));
|
|
|
}
|
|
|
function getAnswerInfo(id) {
|
|
|
return get("tasks/".concat(id, "/get_answer_info.json"));
|
|
|
}
|
|
|
function getChooseAnswerInfo(id) {
|
|
|
return get("tasks/".concat(id, "/get_choose_answer.json"));
|
|
|
}
|
|
|
function getChooseUnlockAnswer(id) {
|
|
|
return get("tasks/".concat(id, "/unlock_choose_answer.json"));
|
|
|
}
|
|
|
function getUnlockAnswer(id, aid) {
|
|
|
return get("tasks/".concat(id, "/unlock_answer.json"), {
|
|
|
answer_id: aid
|
|
|
});
|
|
|
}
|
|
|
function setUnity3dStatus(id, result, data) {
|
|
|
return (0,fetch/* post */.v_)("tasks/".concat(id, "/set_games_status.json"), {
|
|
|
result: result,
|
|
|
data: data
|
|
|
});
|
|
|
}
|
|
|
function addVncTime(id) {
|
|
|
return (0,fetch/* post */.v_)("/sci/projects/".concat(id, "/extend_release.json"));
|
|
|
}
|
|
|
function saveEnv(id, data) {
|
|
|
return (0,fetch/* post */.v_)("/sci/projects/".concat(id, "/save_mirror.json"), objectSpread2_default()({}, data));
|
|
|
}
|
|
|
// 所有延时都改成了此接口,旧接口依旧可用
|
|
|
function addWindowsVncTime(id) {
|
|
|
return Fetch("/api/tasks/".concat(id, "/active.json"), {
|
|
|
method: 'post',
|
|
|
body: {
|
|
|
template_id: window.sessionStorage.imageId
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
function addLinuxVncTime(id) {
|
|
|
return post("tasks/".concat(id, "/extend_linux_vnc.json"), urlParams);
|
|
|
}
|
|
|
function getRanking(id, params) {
|
|
|
return get("tasks/".concat(id, "/rank_list.json"), params);
|
|
|
}
|
|
|
function closeWindowsVnc(id, tpi_id) {
|
|
|
return (0,fetch/* post */.v_)("tasks/".concat(id, "/close_windows_vnc.json"), {
|
|
|
tpi_id: tpi_id
|
|
|
});
|
|
|
}
|
|
|
function pullFiles(id) {
|
|
|
return get("tasks/".concat(id, "/pull_files.json"));
|
|
|
}
|
|
|
function logOutput(id, params) {
|
|
|
return post("tasks/".concat(id, "/log_output"), params);
|
|
|
}
|
|
|
function stopLogOutput(id) {
|
|
|
return get("tasks/".concat(id, "/stop_log_output.json"));
|
|
|
}
|
|
|
|
|
|
// myshixuns start
|
|
|
function addMyRepositoryFile(_x2) {
|
|
|
return _addMyRepositoryFile.apply(this, arguments);
|
|
|
}
|
|
|
function _addMyRepositoryFile() {
|
|
|
_addMyRepositoryFile = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(params) {
|
|
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
|
while (1) switch (_context2.prev = _context2.next) {
|
|
|
case 0:
|
|
|
return _context2.abrupt("return", Fetch("/api/myshixuns/".concat(params.id, "/add_file.json"), {
|
|
|
method: 'post',
|
|
|
body: params
|
|
|
}));
|
|
|
case 1:
|
|
|
case "end":
|
|
|
return _context2.stop();
|
|
|
}
|
|
|
}, _callee2);
|
|
|
}));
|
|
|
return _addMyRepositoryFile.apply(this, arguments);
|
|
|
}
|
|
|
function deleteMyGitFile(_x3) {
|
|
|
return _deleteMyGitFile.apply(this, arguments);
|
|
|
}
|
|
|
function _deleteMyGitFile() {
|
|
|
_deleteMyGitFile = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(params) {
|
|
|
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
|
while (1) switch (_context3.prev = _context3.next) {
|
|
|
case 0:
|
|
|
return _context3.abrupt("return", Fetch("/api/myshixuns/".concat(params.id, "/delete_git_file.json"), {
|
|
|
method: 'Delete',
|
|
|
body: params
|
|
|
}));
|
|
|
case 1:
|
|
|
case "end":
|
|
|
return _context3.stop();
|
|
|
}
|
|
|
}, _callee3);
|
|
|
}));
|
|
|
return _deleteMyGitFile.apply(this, arguments);
|
|
|
}
|
|
|
function moveMyGitFile(_x4) {
|
|
|
return _moveMyGitFile.apply(this, arguments);
|
|
|
}
|
|
|
function _moveMyGitFile() {
|
|
|
_moveMyGitFile = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(params) {
|
|
|
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
|
while (1) switch (_context4.prev = _context4.next) {
|
|
|
case 0:
|
|
|
return _context4.abrupt("return", Fetch("/api/myshixuns/".concat(params.id, "/mv_file.json"), {
|
|
|
method: 'post',
|
|
|
body: params
|
|
|
}));
|
|
|
case 1:
|
|
|
case "end":
|
|
|
return _context4.stop();
|
|
|
}
|
|
|
}, _callee4);
|
|
|
}));
|
|
|
return _moveMyGitFile.apply(this, arguments);
|
|
|
}
|
|
|
function getMyFileContent(_x5) {
|
|
|
return _getMyFileContent.apply(this, arguments);
|
|
|
}
|
|
|
function _getMyFileContent() {
|
|
|
_getMyFileContent = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(params) {
|
|
|
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
|
while (1) switch (_context5.prev = _context5.next) {
|
|
|
case 0:
|
|
|
return _context5.abrupt("return", Fetch("/api/tasks/".concat(params.id, "/rep_content.json"), {
|
|
|
method: 'get',
|
|
|
params: params
|
|
|
}));
|
|
|
case 1:
|
|
|
case "end":
|
|
|
return _context5.stop();
|
|
|
}
|
|
|
}, _callee5);
|
|
|
}));
|
|
|
return _getMyFileContent.apply(this, arguments);
|
|
|
}
|
|
|
;// CONCATENATED MODULE: ./src/pages/Innovation/Tasks/data-sets/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var _excluded = ["userDetail", "user", "globalSetting", "loading", "dispatch", "onClose", "shixun"];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var NavType = /*#__PURE__*/function (NavType) {
|
|
|
NavType["Classrooms"] = "classrooms";
|
|
|
NavType["Shixuns"] = "shixuns";
|
|
|
NavType["Paths"] = "paths";
|
|
|
NavType["Projects"] = "projects";
|
|
|
NavType["Videos"] = "videos";
|
|
|
NavType["Topics"] = "topics";
|
|
|
NavType["Teach"] = "teach-group";
|
|
|
return NavType;
|
|
|
}(NavType || {});
|
|
|
var Banner = function Banner(_ref) {
|
|
|
var userDetail = _ref.userDetail,
|
|
|
user = _ref.user,
|
|
|
globalSetting = _ref.globalSetting,
|
|
|
loading = _ref.loading,
|
|
|
dispatch = _ref.dispatch,
|
|
|
onClose = _ref.onClose,
|
|
|
shixun = _ref.shixun,
|
|
|
props = objectWithoutProperties_default()(_ref, _excluded);
|
|
|
var params = (0,_umi_production_exports.useParams)();
|
|
|
var _useState = (0,react.useState)([]),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
dataList = _useState2[0],
|
|
|
setDataList = _useState2[1];
|
|
|
var _useState3 = (0,react.useState)(""),
|
|
|
_useState4 = slicedToArray_default()(_useState3, 2),
|
|
|
folderName = _useState4[0],
|
|
|
setFolderName = _useState4[1];
|
|
|
var _useState5 = (0,react.useState)(0),
|
|
|
_useState6 = slicedToArray_default()(_useState5, 2),
|
|
|
count = _useState6[0],
|
|
|
setCount = _useState6[1];
|
|
|
var _useState7 = (0,react.useState)(objectSpread2_default()({
|
|
|
page: 1,
|
|
|
limit: 20
|
|
|
}, params)),
|
|
|
_useState8 = slicedToArray_default()(_useState7, 2),
|
|
|
query = _useState8[0],
|
|
|
setQuery = _useState8[1];
|
|
|
var visible = (0,react.useCallback)(function () {
|
|
|
return props.visible;
|
|
|
}, [props.visible]);
|
|
|
(0,react.useEffect)(function () {
|
|
|
query.page = 1;
|
|
|
getSetData();
|
|
|
}, [props.visible]);
|
|
|
var getSetData = /*#__PURE__*/function () {
|
|
|
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
|
|
|
var res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
|
|
|
while (1) switch (_context.prev = _context.next) {
|
|
|
case 0:
|
|
|
_context.next = 2;
|
|
|
return fetchDataList(params.taskId);
|
|
|
case 2:
|
|
|
res = _context.sent;
|
|
|
if (res) {
|
|
|
setDataList(toConsumableArray_default()(res.data_sets));
|
|
|
setCount(res.data_sets_count);
|
|
|
setFolderName(res.folder_name);
|
|
|
}
|
|
|
case 4:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
}));
|
|
|
return function getSetData() {
|
|
|
return _ref2.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
style: {
|
|
|
height: "calc(100vh - 51px)",
|
|
|
padding: "20px 15px"
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: "c-grey-999 font14 ml5 mb5",
|
|
|
children: "\u6570\u636E\u96C6"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("dl", {
|
|
|
className: data_setsmodules.list,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
|
|
|
title: folderName,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("dt", {
|
|
|
className: "c-white",
|
|
|
children: folderName
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("dd", {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(lib.CopyToClipboard, {
|
|
|
text: folderName,
|
|
|
onCopy: function onCopy() {
|
|
|
return message/* default.success */.ZP.success('复制成功');
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "".concat(data_setsmodules.copy, " current"),
|
|
|
children: "\u70B9\u51FB\u590D\u5236"
|
|
|
})
|
|
|
})
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: "c-grey-999 font14 ml5 mb5",
|
|
|
children: "\u6587\u4EF6\u8DEF\u5F84"
|
|
|
}), dataList === null || dataList === void 0 ? void 0 : dataList.map(function (item, key) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("dl", {
|
|
|
className: data_setsmodules.list,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
|
|
|
title: item.filename,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("dt", {
|
|
|
className: "c-white",
|
|
|
children: item.filename
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("dd", {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(lib.CopyToClipboard, {
|
|
|
text: item.file_path,
|
|
|
onCopy: function onCopy() {
|
|
|
return message/* default.success */.ZP.success('复制成功');
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "".concat(data_setsmodules.copy, " current"),
|
|
|
children: "\u70B9\u51FB\u590D\u5236"
|
|
|
})
|
|
|
})
|
|
|
})]
|
|
|
});
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: "tc",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(pagination/* default */.Z, {
|
|
|
onChange: function onChange(page) {
|
|
|
query.page = page;
|
|
|
getSetData();
|
|
|
},
|
|
|
className: data_setsmodules.page,
|
|
|
size: "small",
|
|
|
total: count,
|
|
|
pageSize: query.limit,
|
|
|
hideOnSinglePage: true
|
|
|
})
|
|
|
})]
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var data_sets = ((0,_umi_production_exports.connect)(function (_ref3) {
|
|
|
var user = _ref3.user,
|
|
|
userDetail = _ref3.userDetail,
|
|
|
loading = _ref3.loading,
|
|
|
shixunsDetail = _ref3.shixunsDetail,
|
|
|
globalSetting = _ref3.globalSetting;
|
|
|
return {
|
|
|
user: user,
|
|
|
userDetail: userDetail,
|
|
|
shixunsDetail: shixunsDetail,
|
|
|
globalSetting: globalSetting,
|
|
|
loading: loading.models.index
|
|
|
};
|
|
|
})(Banner));
|
|
|
// EXTERNAL MODULE: ./src/components/mediator.js
|
|
|
var mediator = __webpack_require__(91562);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Innovation/Tasks/header/tool.png
|
|
|
var tool_namespaceObject = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAgCAYAAAB6kdqOAAABZ0lEQVRYR+2YrU7FQBBGzzwEPAMSi+M6MARDggNJgiIkWLiSBIFCkyCuQECCQFIcEstb8AYf2ZvmhpbuT9ttUpJWdma+OZ3O7k5rRC5Jh8ARsBPzjdhvgXczew75WSyJpCdgP+aXaP8ws63OQJK2gbdSYJ6Y1Od2WRpmZlb4nIIVqgEFhUKwbXTGByRpDzgBdnu+kr7hD8CLSboGLvqqZYp/dEDK1LR9mZZNXwEys6u+ql3iJbm8E5C3eFOFYn2VrUKS1oADYL1M+gW8mtl3DOK3PQuQpE1gAWzUkn8CZ6Hzqg6bC+gcuPFU4s7MTlOrlAvITQFuGijMbOaSS/pzLwXKB+QdCQKiXqAUkJqP06rs1B00liFNFeqqVQEaXYXmbc6ypn7J3UNtgUa3ysa1D5XLfDw7dedl1BCYZWOcgHJWIKb1f15Z7EkGtq+G/NXEP3DCFPl79xnkTln3u+U4JWJAH/czo/gBVkc5pun3NGoAAAAASUVORK5CYII=";
|
|
|
;// CONCATENATED MODULE: ./src/pages/Innovation/Tasks/header/data.png
|
|
|
var data_namespaceObject = "data:image/png;base64,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";
|
|
|
// EXTERNAL MODULE: ./src/utils/fullscreen.ts
|
|
|
var fullscreen = __webpack_require__(15994);
|
|
|
// EXTERNAL MODULE: ./src/components/Exercise/recordScreen.tsx + 3 modules
|
|
|
var recordScreen = __webpack_require__(78806);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Innovation/Tasks/header/index.jsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// import { Timer } from '../code-repository/ssh-action-bar';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var Countdown = statistic/* default.Countdown */.Z.Countdown;
|
|
|
function TipContent() {
|
|
|
return /*#__PURE__*/_jsx("p", {
|
|
|
children: "\u684C\u9762\u7CFB\u7EDF\u5C06\u6062\u590D\u5230\u521D\u59CB\u72B6\u6001\uFF0C\u60A8\u5728\u7CFB\u7EDF\u4E2D\u521B\u5EFA\u7684\u6570\u636E\u53EF\u80FD\u4F1A\u4E22\u5931\u3002\u8BF7\u786E\u4FDD\u60A8\u7684\u6570\u636E\u5DF2\u4FDD\u5B58\uFF08\u5982\uFF1A\u7248\u672C\u5E93\u4EE3\u7801\u5DF2\u63A8\u9001\u5230\u670D\u52A1\u5668\uFF09\u3002\u662F\u5426\u786E\u8BA4\u91CD\u7F6E\uFF1F"
|
|
|
});
|
|
|
}
|
|
|
/* harmony default export */ var header = (function (_ref) {
|
|
|
var mirror_description = _ref.mirror_description,
|
|
|
difficulty = _ref.difficulty,
|
|
|
git_url = _ref.git_url,
|
|
|
vnc_url = _ref.vnc_url,
|
|
|
window_vnc_url = _ref.window_vnc_url,
|
|
|
linux_vnc = _ref.linux_vnc,
|
|
|
isNotice = _ref.isNotice,
|
|
|
user = _ref.user,
|
|
|
game = _ref.game,
|
|
|
_ref$shixun = _ref.shixun,
|
|
|
shixun = _ref$shixun === void 0 ? {} : _ref$shixun,
|
|
|
_ref$taskData = _ref.taskData,
|
|
|
taskData = _ref$taskData === void 0 ? {} : _ref$taskData,
|
|
|
resetVncLoading = _ref.resetVncLoading,
|
|
|
onUpdateCostTime = _ref.onUpdateCostTime,
|
|
|
lastedGetTaskInfoTime = _ref.lastedGetTaskInfoTime,
|
|
|
onShowNotice = _ref.onShowNotice,
|
|
|
onResetGitCode = _ref.onResetGitCode,
|
|
|
onResetVnc = _ref.onResetVnc,
|
|
|
onBack = _ref.onBack,
|
|
|
onAddVncTime = _ref.onAddVncTime,
|
|
|
onUpdateCode = _ref.onUpdateCode,
|
|
|
unity_3d_routes = _ref.unity_3d_routes,
|
|
|
remaining_time = _ref.remaining_time,
|
|
|
st = _ref.st;
|
|
|
var _useSearchParams = (0,_umi_production_exports.useSearchParams)(),
|
|
|
_useSearchParams2 = slicedToArray_default()(_useSearchParams, 1),
|
|
|
searchParams = _useSearchParams2[0];
|
|
|
var name = shixun.name,
|
|
|
identifier = shixun.identifier,
|
|
|
task_pass = shixun.task_pass,
|
|
|
test_set_permission = shixun.test_set_permission;
|
|
|
// const { remaining_time, status } = taskData;
|
|
|
// const { user_url, image_url, grade = 0 } = user;
|
|
|
var _useState = (0,react.useState)(false),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
isToolBar = _useState2[0],
|
|
|
setIsToolBar = _useState2[1];
|
|
|
var _useState3 = (0,react.useState)(false),
|
|
|
_useState4 = slicedToArray_default()(_useState3, 2),
|
|
|
isDataBar = _useState4[0],
|
|
|
setIsDataBar = _useState4[1];
|
|
|
var _useState5 = (0,react.useState)({}),
|
|
|
_useState6 = slicedToArray_default()(_useState5, 2),
|
|
|
exerciseData = _useState6[0],
|
|
|
setExerciseData = _useState6[1];
|
|
|
var _useState7 = (0,react.useState)(false),
|
|
|
_useState8 = slicedToArray_default()(_useState7, 2),
|
|
|
showSave = _useState8[0],
|
|
|
setShowSave = _useState8[1];
|
|
|
var _useState9 = (0,react.useState)(null),
|
|
|
_useState10 = slicedToArray_default()(_useState9, 2),
|
|
|
countDownTime = _useState10[0],
|
|
|
setCountDownTime = _useState10[1];
|
|
|
var _useState11 = (0,react.useState)(1800),
|
|
|
_useState12 = slicedToArray_default()(_useState11, 2),
|
|
|
vncTime = _useState12[0],
|
|
|
setVncTime = _useState12[1];
|
|
|
var _useState13 = (0,react.useState)(false),
|
|
|
_useState14 = slicedToArray_default()(_useState13, 2),
|
|
|
dataSetsVisiable = _useState14[0],
|
|
|
setdataSetsVisiable = _useState14[1];
|
|
|
var _useState15 = (0,react.useState)(false),
|
|
|
_useState16 = slicedToArray_default()(_useState15, 2),
|
|
|
isshowmodal = _useState16[0],
|
|
|
setisshowmodal = _useState16[1];
|
|
|
var query = (0,_umi_production_exports.useLocation)().query;
|
|
|
var params = (0,_umi_production_exports.useParams)();
|
|
|
var _useState17 = (0,react.useState)(false),
|
|
|
_useState18 = slicedToArray_default()(_useState17, 2),
|
|
|
isloading = _useState18[0],
|
|
|
setisloading = _useState18[1];
|
|
|
var _Form$useForm = es_form/* default.useForm */.Z.useForm(),
|
|
|
_Form$useForm2 = slicedToArray_default()(_Form$useForm, 1),
|
|
|
form = _Form$useForm2[0];
|
|
|
var timers = (0,react.useMemo)(function () {
|
|
|
return Date.now() + remaining_time;
|
|
|
}, [remaining_time]);
|
|
|
(0,react.useEffect)(function () {
|
|
|
if (!showSave) {
|
|
|
setTimeout(function () {
|
|
|
setShowSave(true);
|
|
|
}, 1000 * 60);
|
|
|
}
|
|
|
}, [showSave]);
|
|
|
(0,react.useEffect)(function () {
|
|
|
mediator/* default.subscribe */.Z.subscribe('update-windows-time', function (data) {
|
|
|
setVncTime(parseInt(remaining_time / 1000));
|
|
|
});
|
|
|
setVncTime(remaining_time / 1000);
|
|
|
}, []);
|
|
|
(0,react.useEffect)(function () {
|
|
|
var _exerciseData$exercis;
|
|
|
if (searchParams.get("type") === 'exercises' && exerciseData !== null && exerciseData !== void 0 && (_exerciseData$exercis = exerciseData.exercise) !== null && _exerciseData$exercis !== void 0 && _exerciseData$exercis.screen_open) {
|
|
|
recordScreen/* fullchange.forEach */.U.forEach(function (item, index) {
|
|
|
document.addEventListener(item, backExercise, false);
|
|
|
document.addEventListener('blur', backExercise, false);
|
|
|
});
|
|
|
window.focus();
|
|
|
window.onblur = function () {
|
|
|
if ((0,fullscreen/* IsFull */.vp)()) {
|
|
|
backExercise();
|
|
|
(0,fullscreen/* exitFull */.BU)();
|
|
|
}
|
|
|
};
|
|
|
}
|
|
|
return function () {
|
|
|
recordScreen/* fullchange.forEach */.U.forEach(function (item, index) {
|
|
|
document.removeEventListener(item, backExercise, false);
|
|
|
});
|
|
|
};
|
|
|
}, [exerciseData]);
|
|
|
var handleToggleDatasets = function handleToggleDatasets() {
|
|
|
setdataSetsVisiable(!dataSetsVisiable);
|
|
|
};
|
|
|
var backExercise = function backExercise(type) {
|
|
|
window.parent.postMessage('backExercise', '*');
|
|
|
if (type !== 'back') (0,fullscreen/* exitFull */.BU)();
|
|
|
// window.top.location.href = `/classrooms/${searchParams.get("coursesId")}/exercise/${searchParams.get("exercisesId")}/users/${searchParams.get("login")}`;
|
|
|
};
|
|
|
|
|
|
function triggerToolBar() {
|
|
|
setIsToolBar(!isToolBar);
|
|
|
}
|
|
|
function onHideToolBar() {
|
|
|
setIsToolBar(false);
|
|
|
setIsDataBar(false);
|
|
|
}
|
|
|
function toShixun() {
|
|
|
// onBack();
|
|
|
(0,_umi_production_exports.getDvaApp)()._store.dispatch({
|
|
|
type: 'globalSetting/headerFooterToggle',
|
|
|
payload: true
|
|
|
});
|
|
|
_umi_production_exports.history.replace("/innovation/project/detail/".concat(params.taskId));
|
|
|
}
|
|
|
function onReset() {
|
|
|
if (resetVncLoading) {
|
|
|
return;
|
|
|
}
|
|
|
onResetVnc();
|
|
|
}
|
|
|
function onCancelShixun() {
|
|
|
es_modal/* default.confirm */.Z.confirm({
|
|
|
title: '退出',
|
|
|
icon: /*#__PURE__*/(0,jsx_runtime.jsx)(ExclamationCircleOutlined/* default */.Z, {}),
|
|
|
content: '您确定要退出制作镜像吗?',
|
|
|
centered: true,
|
|
|
okText: '确定',
|
|
|
cancelText: '取消',
|
|
|
onOk: toShixun
|
|
|
});
|
|
|
}
|
|
|
function onVncAction(name) {
|
|
|
onHideToolBar();
|
|
|
if (name === 'reset-task') {
|
|
|
if (!resetVncLoading) {
|
|
|
es_modal/* default.confirm */.Z.confirm({
|
|
|
title: '重置环境',
|
|
|
icon: /*#__PURE__*/(0,jsx_runtime.jsx)(ExclamationCircleOutlined/* default */.Z, {}),
|
|
|
content: '是否确定重置环境?',
|
|
|
centered: true,
|
|
|
okText: '确定',
|
|
|
cancelText: '取消',
|
|
|
onOk: function onOk() {
|
|
|
onReset();
|
|
|
setShowSave(false);
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
if (name === 'reset-code') {
|
|
|
if (!resetVncLoading) {
|
|
|
es_modal/* default.confirm */.Z.confirm({
|
|
|
title: '恢复初始代码',
|
|
|
icon: /*#__PURE__*/(0,jsx_runtime.jsx)(ExclamationCircleOutlined/* default */.Z, {}),
|
|
|
content: '您在本文件中修改的内容将丢失,是否确定重新加载初始代码?',
|
|
|
centered: true,
|
|
|
okText: '确定',
|
|
|
cancelText: '取消',
|
|
|
onOk: onResetGitCode
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
if (name === 'full-screen') {
|
|
|
if ((0,fullscreen/* IsFull */.vp)()) {
|
|
|
(0,fullscreen/* exitFull */.BU)();
|
|
|
} else {
|
|
|
var _document, _document$getElementB;
|
|
|
(0,fullscreen/* requestFullScreen */.Dj)((_document = document) === null || _document === void 0 ? void 0 : (_document$getElementB = _document.getElementById) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.call(_document, 'task-right-panel'));
|
|
|
}
|
|
|
}
|
|
|
if (name === 'show-clipboard-box') {
|
|
|
mediator/* default.publish */.Z.publish('show-clipboard-box');
|
|
|
}
|
|
|
}
|
|
|
var vncSettingOption = {
|
|
|
task_pass: task_pass,
|
|
|
test_set_permission: test_set_permission,
|
|
|
mirror_description: mirror_description,
|
|
|
difficulty: difficulty,
|
|
|
resetVncLoading: resetVncLoading,
|
|
|
git_url: git_url,
|
|
|
onVncAction: onVncAction,
|
|
|
window_vnc_url: window_vnc_url,
|
|
|
linux_vnc: linux_vnc,
|
|
|
vnc_url: vnc_url,
|
|
|
shixun: shixun,
|
|
|
unity_3d_routes: unity_3d_routes
|
|
|
};
|
|
|
var cutTime = (0,react.useCallback)(function () {
|
|
|
if (!vncTime) {
|
|
|
return null;
|
|
|
}
|
|
|
console.log('VncTimer:', vncTime);
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(VncTimer, {
|
|
|
defaultTime: vncTime,
|
|
|
onAddVncTime: onAddVncTime,
|
|
|
onReset: onReset,
|
|
|
toShixun: toShixun,
|
|
|
title: vnc_url ? '' : ''
|
|
|
});
|
|
|
}, [vncTime]);
|
|
|
(0,react.useEffect)(function () {
|
|
|
if (isshowmodal) {
|
|
|
form.setFieldsValue({
|
|
|
name: '',
|
|
|
version: '',
|
|
|
description: ''
|
|
|
});
|
|
|
}
|
|
|
}, [isshowmodal]);
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: "task-header-container",
|
|
|
children: [searchParams.get("type") !== 'exercises' && /*#__PURE__*/(0,jsx_runtime.jsx)(jsx_runtime.Fragment, {
|
|
|
children: taskData.name
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("h2", {
|
|
|
className: "shixun-info",
|
|
|
children: name
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(jsx_runtime.Fragment, {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: "flex-container",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
|
|
|
children: [window_vnc_url && /*#__PURE__*/(0,jsx_runtime.jsx)(_umi_production_exports.Link, {
|
|
|
onClick: function onClick(e) {
|
|
|
e.preventDefault();
|
|
|
mediator/* default.publish */.Z.publish('send-ctrl-alt-delete');
|
|
|
},
|
|
|
className: "c-grey-c mr20",
|
|
|
children: "\u53D1\u9001CTRL+ALT+DELETE"
|
|
|
}), cutTime()]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-shijian1"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(Countdown, {
|
|
|
valueStyle: {
|
|
|
color: 'white',
|
|
|
fontSize: '12px'
|
|
|
},
|
|
|
style: {
|
|
|
marginRight: 20,
|
|
|
marginLeft: 5
|
|
|
},
|
|
|
value: timers
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
|
|
|
className: "btn-vnc",
|
|
|
title: "\u5DE5\u5177\u680F",
|
|
|
onClick: triggerToolBar,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
|
|
|
alt: "tool",
|
|
|
src: tool_namespaceObject,
|
|
|
width: 16
|
|
|
}), "\u5DE5\u5177\u680F"]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
|
|
|
className: "btn-vnc",
|
|
|
title: "\u6570\u636E\u96C6",
|
|
|
onClick: function onClick() {
|
|
|
return setIsDataBar(true);
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
|
|
|
alt: "tool",
|
|
|
src: data_namespaceObject,
|
|
|
width: 18
|
|
|
}), "\u6570\u636E\u96C6"]
|
|
|
})]
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
|
type: "primary",
|
|
|
disabled: !showSave,
|
|
|
className: "save-innovation",
|
|
|
onClick: /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
|
|
|
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
|
|
|
while (1) switch (_context.prev = _context.next) {
|
|
|
case 0:
|
|
|
setisshowmodal(true);
|
|
|
// const res = await saveEnv(params.taskId);
|
|
|
// if (res?.status == 200) {
|
|
|
// message.info('保存成功');
|
|
|
// }
|
|
|
case 1:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
})),
|
|
|
children: "\u4FDD\u5B58\u955C\u50CF"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
|
|
|
className: "btn-out",
|
|
|
onClick: onCancelShixun,
|
|
|
title: "\u9000\u51FA\u5B9E\u8BAD",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-kaiguan"
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(drawer/* default */.Z, {
|
|
|
rootClassName: "setting-drawer",
|
|
|
title: null,
|
|
|
placement: "right",
|
|
|
closable: false,
|
|
|
open: isToolBar,
|
|
|
onClose: onHideToolBar,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(vnc_setting2, objectSpread2_default()(objectSpread2_default()({}, vncSettingOption), {}, {
|
|
|
taskData: taskData
|
|
|
}))
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(drawer/* default */.Z, {
|
|
|
rootClassName: "setting-drawer",
|
|
|
title: null,
|
|
|
placement: "right",
|
|
|
closable: false,
|
|
|
open: isDataBar,
|
|
|
onClose: onHideToolBar,
|
|
|
style: {
|
|
|
height: '100%'
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(data_sets, {})
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_modal/* default */.Z, {
|
|
|
title: '保存镜像',
|
|
|
open: isshowmodal,
|
|
|
okButtonProps: {
|
|
|
loading: isloading
|
|
|
},
|
|
|
onCancel: function onCancel() {
|
|
|
setisshowmodal(false);
|
|
|
},
|
|
|
onOk: function onOk() {
|
|
|
form.submit();
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
|
style: {
|
|
|
color: '#6B758B'
|
|
|
},
|
|
|
children: "\u628A\u5F53\u524D\u7684\u73AF\u5883\u5B58\u4E3A\u4E00\u4E2A\u65B0\u7684\u955C\u50CF\u3002\u786E\u5B9A\u4FDD\u5B58\u540E\uFF0C\u5728\u6211\u7684\u955C\u50CF\u53EF\u4EE5\u770B\u5230\u8BE5\u955C\u50CF\u7684\u4FDD\u5B58\u72B6\u6001\u3002"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(es_form/* default */.Z, {
|
|
|
labelCol: {
|
|
|
span: 4
|
|
|
},
|
|
|
wrapperCol: {
|
|
|
span: 20
|
|
|
},
|
|
|
form: form,
|
|
|
onFinish: /*#__PURE__*/function () {
|
|
|
var _ref3 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3(value) {
|
|
|
var res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee3$(_context3) {
|
|
|
while (1) switch (_context3.prev = _context3.next) {
|
|
|
case 0:
|
|
|
setisloading(true);
|
|
|
_context3.next = 3;
|
|
|
return saveEnv(params.taskId, value);
|
|
|
case 3:
|
|
|
res = _context3.sent;
|
|
|
if ((res === null || res === void 0 ? void 0 : res.status) == 0) {
|
|
|
message/* default.info */.ZP.info('保存成功');
|
|
|
setisshowmodal(false);
|
|
|
}
|
|
|
if ((res === null || res === void 0 ? void 0 : res.status) === -5) {
|
|
|
es_modal/* default.confirm */.Z.confirm({
|
|
|
title: '覆盖镜像提示',
|
|
|
content: '系统检测到你的【镜像列表】存在同名且同版本号的镜像, 您确定要覆盖原来的镜像?',
|
|
|
okText: '确认',
|
|
|
cancelText: '取消',
|
|
|
onOk: function () {
|
|
|
var _onOk = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2() {
|
|
|
var res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
|
|
|
while (1) switch (_context2.prev = _context2.next) {
|
|
|
case 0:
|
|
|
_context2.next = 2;
|
|
|
return saveEnv(params.taskId, objectSpread2_default()({
|
|
|
is_cover: true
|
|
|
}, value));
|
|
|
case 2:
|
|
|
res = _context2.sent;
|
|
|
if ((res === null || res === void 0 ? void 0 : res.status) == 0) {
|
|
|
message/* default.info */.ZP.info('覆盖成功');
|
|
|
setisshowmodal(false);
|
|
|
}
|
|
|
case 4:
|
|
|
case "end":
|
|
|
return _context2.stop();
|
|
|
}
|
|
|
}, _callee2);
|
|
|
}));
|
|
|
function onOk() {
|
|
|
return _onOk.apply(this, arguments);
|
|
|
}
|
|
|
return onOk;
|
|
|
}()
|
|
|
});
|
|
|
}
|
|
|
setisloading(false);
|
|
|
case 7:
|
|
|
case "end":
|
|
|
return _context3.stop();
|
|
|
}
|
|
|
}, _callee3);
|
|
|
}));
|
|
|
return function (_x) {
|
|
|
return _ref3.apply(this, arguments);
|
|
|
};
|
|
|
}(),
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default.Item */.Z.Item, {
|
|
|
label: "\u955C\u50CF\u540D\u79F0",
|
|
|
name: "name",
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请输入镜像名称'
|
|
|
}, {
|
|
|
pattern: /^[a-z0-9_]+$/,
|
|
|
message: '只允许输入数字或小写字母'
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
|
|
|
type: "text",
|
|
|
maxLength: 60
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default.Item */.Z.Item, {
|
|
|
label: " \u7248\u672C\u53F7",
|
|
|
name: "version",
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请输入版本号'
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input_number/* default */.Z, {
|
|
|
style: {
|
|
|
width: '100%'
|
|
|
}
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default.Item */.Z.Item, {
|
|
|
label: "\u955C\u50CF\u63CF\u8FF0",
|
|
|
name: "description",
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请输入镜像描述'
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default.TextArea */.Z.TextArea, {})
|
|
|
})]
|
|
|
})]
|
|
|
})
|
|
|
})]
|
|
|
});
|
|
|
});
|
|
|
var FiveMinute = 300;
|
|
|
function VncTimer(_ref4) {
|
|
|
var onAddVncTime = _ref4.onAddVncTime,
|
|
|
onReset = _ref4.onReset,
|
|
|
toShixun = _ref4.toShixun,
|
|
|
_ref4$title = _ref4.title,
|
|
|
title = _ref4$title === void 0 ? '' : _ref4$title,
|
|
|
defaultTime = _ref4.defaultTime;
|
|
|
var _useState19 = (0,react.useState)(defaultTime),
|
|
|
_useState20 = slicedToArray_default()(_useState19, 2),
|
|
|
time = _useState20[0],
|
|
|
setTime = _useState20[1];
|
|
|
var _useState21 = (0,react.useState)(false),
|
|
|
_useState22 = slicedToArray_default()(_useState21, 2),
|
|
|
isPlusTime = _useState22[0],
|
|
|
setIsPlusTime = _useState22[1];
|
|
|
(0,useInterval/* default */.Z)(function () {
|
|
|
setTime(time - 1);
|
|
|
}, time > 0 ? 1000 : null);
|
|
|
(0,react.useEffect)(function () {
|
|
|
if (time === FiveMinute) {
|
|
|
setIsPlusTime(true);
|
|
|
}
|
|
|
}, [time]);
|
|
|
(0,react.useEffect)(function () {
|
|
|
if (defaultTime < FiveMinute) {
|
|
|
setIsPlusTime(true);
|
|
|
}
|
|
|
setTime(defaultTime);
|
|
|
}, [defaultTime]);
|
|
|
function onCancel() {
|
|
|
if (time !== 0) {
|
|
|
setIsPlusTime(false);
|
|
|
} else {
|
|
|
toShixun();
|
|
|
}
|
|
|
}
|
|
|
function onAddTime() {
|
|
|
return _onAddTime.apply(this, arguments);
|
|
|
}
|
|
|
function _onAddTime() {
|
|
|
_onAddTime = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee4() {
|
|
|
var res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee4$(_context4) {
|
|
|
while (1) switch (_context4.prev = _context4.next) {
|
|
|
case 0:
|
|
|
setIsPlusTime(false);
|
|
|
if (!(time > 0)) {
|
|
|
_context4.next = 8;
|
|
|
break;
|
|
|
}
|
|
|
_context4.next = 4;
|
|
|
return onAddVncTime();
|
|
|
case 4:
|
|
|
res = _context4.sent;
|
|
|
setTime((res === null || res === void 0 ? void 0 : res.remaining_time) / 1000);
|
|
|
_context4.next = 10;
|
|
|
break;
|
|
|
case 8:
|
|
|
setTime(defaultTime);
|
|
|
onReset();
|
|
|
case 10:
|
|
|
case "end":
|
|
|
return _context4.stop();
|
|
|
}
|
|
|
}, _callee4);
|
|
|
}));
|
|
|
return _onAddTime.apply(this, arguments);
|
|
|
}
|
|
|
function callback() {
|
|
|
if (time < FiveMinute) {
|
|
|
setIsPlusTime(true);
|
|
|
}
|
|
|
}
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(react.Fragment, {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_modal/* default */.Z, {
|
|
|
title: [/*#__PURE__*/(0,jsx_runtime.jsx)(ExclamationCircleOutlined/* default */.Z, {
|
|
|
className: "modalIconYellow"
|
|
|
}), time !== 0 ? '实验环境延时提醒' : '实验环境重置提醒'],
|
|
|
closable: false,
|
|
|
centered: true,
|
|
|
open: isPlusTime,
|
|
|
onOk: onAddTime,
|
|
|
onCancel: onCancel,
|
|
|
okText: time !== 0 ? '立即延长' : '重置',
|
|
|
cancelText: time !== 0 ? '不需要' : '退出',
|
|
|
children: time !== 0 ? "\u5F53\u524D\u5B9E\u9A8C\u73AF\u5883\u5C06\u4E8E ".concat(Math.round(time / 60), " \u5206\u949F\u540E\u5173\u95ED\uFF0C\u9700\u8981\u5EF6\u957F\u4F7F\u7528\u65F6\u95F4\u5417\uFF1F") : '由于长时间没有使用,资源已经被回收。如有需要,可以重置实验环境。'
|
|
|
})
|
|
|
})
|
|
|
});
|
|
|
}
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/tree/index.js + 35 modules
|
|
|
var tree = __webpack_require__(282);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Innovation/Tasks/util.js
|
|
|
|
|
|
function isCompileOk(rs) {
|
|
|
var flag = true;
|
|
|
if (rs.length > 0) {
|
|
|
for (var i = 0; i < rs.length; i++) {
|
|
|
if (rs[i].compile_success == 0 || !rs[i].compile_success) {
|
|
|
flag = false;
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
} else {
|
|
|
flag = false;
|
|
|
}
|
|
|
return flag;
|
|
|
}
|
|
|
function getTreeData(data) {
|
|
|
var parentKey = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
|
var result = [];
|
|
|
for (var i = 0; i < data.length; i++) {
|
|
|
var item = data[i];
|
|
|
var key = parentKey ? "".concat(parentKey, "/").concat(item.name) : "".concat(item.name);
|
|
|
result.push({
|
|
|
title: item.name,
|
|
|
isLeaf: item.type === 'tree' ? false : true,
|
|
|
key: key
|
|
|
});
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
function processTreeData(repos, key, newData) {
|
|
|
for (var i = 0; i < repos.length; i++) {
|
|
|
var item = repos[i];
|
|
|
if (item.key === key) {
|
|
|
item.children = newData;
|
|
|
break;
|
|
|
}
|
|
|
if (item.children) {
|
|
|
processTreeData(item.children, key, newData);
|
|
|
}
|
|
|
}
|
|
|
return repos;
|
|
|
}
|
|
|
function debounce(func, wait, immediate) {
|
|
|
var timeout;
|
|
|
return function () {
|
|
|
var context = this,
|
|
|
args = arguments;
|
|
|
var later = function later() {
|
|
|
timeout = null;
|
|
|
if (!immediate) func.apply(context, args);
|
|
|
};
|
|
|
var callNow = immediate && !timeout;
|
|
|
clearTimeout(timeout);
|
|
|
timeout = setTimeout(later, wait);
|
|
|
if (callNow) func.apply(context, args);
|
|
|
};
|
|
|
}
|
|
|
var isProd = true;
|
|
|
var apiPref = env/* default.API_SERVER */.Z.API_SERVER;
|
|
|
// export const isProd =
|
|
|
// window.location.href.indexOf('test-') > 0 ||
|
|
|
// window.location.href.indexOf('localhost') > 0
|
|
|
// ? false
|
|
|
// : true;
|
|
|
|
|
|
// export const apiPref = isProd
|
|
|
// ? 'https://www.educoder.net'
|
|
|
// : 'https://test-newweb.educoder.net';
|
|
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/createForOfIteratorHelper.js
|
|
|
var createForOfIteratorHelper = __webpack_require__(74704);
|
|
|
var createForOfIteratorHelper_default = /*#__PURE__*/__webpack_require__.n(createForOfIteratorHelper);
|
|
|
// EXTERNAL MODULE: ./node_modules/js-base64/base64.js
|
|
|
var base64 = __webpack_require__(19575);
|
|
|
// EXTERNAL MODULE: ./node_modules/xterm/lib/xterm.js
|
|
|
var xterm = __webpack_require__(12320);
|
|
|
// EXTERNAL MODULE: ./node_modules/xterm/css/xterm.css
|
|
|
var css_xterm = __webpack_require__(89629);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Innovation/Tasks/xterm-panel/index.less?modules
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
/* harmony default export */ var xterm_panelmodules = ({"xterm-panel-wrp":"xterm-panel-wrp___hg9up","xterm-panel":"xterm-panel___QKpsc"});
|
|
|
// EXTERNAL MODULE: ./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js
|
|
|
var ResizeObserver_es = __webpack_require__(91033);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Innovation/Tasks/xterm-panel/index.jsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function getColsAndRows(width, height, term) {
|
|
|
var w = term._core._renderService.dimensions.actualCellWidth || 9.5;
|
|
|
var h = term._core._renderService.dimensions.actualCellHeight || 18;
|
|
|
var rows = Math.floor(height / h);
|
|
|
var cols = Math.floor(width / w);
|
|
|
return [cols, rows];
|
|
|
}
|
|
|
function onLayout(term, el) {
|
|
|
var ro = new ResizeObserver_es/* default */.Z(function (entries) {
|
|
|
console.log('entries:', entries);
|
|
|
var _iterator = createForOfIteratorHelper_default()(entries),
|
|
|
_step;
|
|
|
try {
|
|
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
|
var entry = _step.value;
|
|
|
if (entry.target.offsetHeight > 0 || entry.target.offsetWidth > 0) {
|
|
|
var _getColsAndRows = getColsAndRows(entry.target.offsetWidth, entry.target.offsetHeight, term),
|
|
|
_getColsAndRows2 = slicedToArray_default()(_getColsAndRows, 2),
|
|
|
cols = _getColsAndRows2[0],
|
|
|
rows = _getColsAndRows2[1];
|
|
|
console.log('cols, rows', cols, rows);
|
|
|
mediator/* default.publish */.Z.publish('ssh-xterm-resize', {
|
|
|
columns: cols,
|
|
|
rows: rows,
|
|
|
width: entry.target.offsetWidth,
|
|
|
height: entry.target.offsetHeight
|
|
|
});
|
|
|
term.resize(cols, rows);
|
|
|
var data1 = base64.Base64.decode('IA==');
|
|
|
var data = base64.Base64.decode('CBtbSw==');
|
|
|
term.write(data1);
|
|
|
term.write(data);
|
|
|
}
|
|
|
}
|
|
|
} catch (err) {
|
|
|
_iterator.e(err);
|
|
|
} finally {
|
|
|
_iterator.f();
|
|
|
}
|
|
|
});
|
|
|
ro.observe(el);
|
|
|
return ro;
|
|
|
}
|
|
|
var TimeTicket = 30000;
|
|
|
|
|
|
//建立 websockt 来交互
|
|
|
//根据容器大小计算行数和列数并做到自适应
|
|
|
//socket 与 term 需要分开初始化 因为socket 可能重置连接
|
|
|
//mediator 监听消息,如果和id匹配,则建立连接,重置,或关闭连接
|
|
|
|
|
|
/* harmony default export */ var xterm_panel = (function (_ref) {
|
|
|
var sshConfigData = _ref.sshConfigData,
|
|
|
sid = _ref.sid;
|
|
|
var _useState = (0,react.useState)(null),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
term = _useState2[0],
|
|
|
setTerm = _useState2[1];
|
|
|
var ws_url = sshConfigData.ws_url,
|
|
|
password = sshConfigData.password,
|
|
|
port = sshConfigData.port;
|
|
|
var el = (0,react.useRef)();
|
|
|
var socket = (0,react.useRef)();
|
|
|
var isFirstConnected = (0,react.useRef)(false);
|
|
|
|
|
|
//term init
|
|
|
(0,react.useEffect)(function () {
|
|
|
if (el.current && ws_url) {
|
|
|
var _term = new xterm.Terminal({
|
|
|
fontSize: 16,
|
|
|
rendererType: 'dom'
|
|
|
});
|
|
|
console.log('el.current:', el.current);
|
|
|
_term.open(el.current);
|
|
|
_term.onData(function (data) {
|
|
|
console.log('data:', data);
|
|
|
if (socket.current) {
|
|
|
if (socket.current.readyState === 1) {
|
|
|
socket.current.send(JSON.stringify({
|
|
|
tp: 'client',
|
|
|
data: data
|
|
|
}));
|
|
|
mediator/* default.publish */.Z.publish('on-operating-ssh'); //有操作则自动延时
|
|
|
} else {
|
|
|
//断开连接后重连
|
|
|
// socket.current = null
|
|
|
// mediator.publish('create-socket', sid)
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
_term.write('Connecting...');
|
|
|
setTerm(_term);
|
|
|
var ro = onLayout(_term, el.current);
|
|
|
return function () {
|
|
|
_term === null || _term === void 0 ? void 0 : _term.dispose();
|
|
|
ro === null || ro === void 0 ? void 0 : ro.unobserve(el.current);
|
|
|
};
|
|
|
}
|
|
|
}, [ws_url, el.current]);
|
|
|
(0,react.useEffect)(function () {
|
|
|
if (term && ws_url) {
|
|
|
var createSocket = function createSocket() {
|
|
|
var socketInstance = new WebSocket(ws_url);
|
|
|
console.log('socketInstance:', ws_url);
|
|
|
socket.current = socketInstance;
|
|
|
socketInstance.onopen = function () {
|
|
|
var container = term.element.parentElement;
|
|
|
if (container) {
|
|
|
var width = container.offsetWidth;
|
|
|
var height = container.offsetHeight;
|
|
|
console.log('init', {
|
|
|
tp: 'init',
|
|
|
data: objectSpread2_default()(objectSpread2_default()({}, sshConfigData), {}, {
|
|
|
secret: password,
|
|
|
width: width,
|
|
|
height: height,
|
|
|
rows: term.rows,
|
|
|
columns: term.cols
|
|
|
})
|
|
|
});
|
|
|
socketInstance.send(JSON.stringify({
|
|
|
tp: 'init',
|
|
|
data: objectSpread2_default()(objectSpread2_default()({}, sshConfigData), {}, {
|
|
|
secret: password,
|
|
|
width: width,
|
|
|
height: height,
|
|
|
rows: term.rows,
|
|
|
columns: term.cols
|
|
|
})
|
|
|
}));
|
|
|
}
|
|
|
term.focus();
|
|
|
};
|
|
|
socketInstance.onerror = function (error) {
|
|
|
console.log('------in socket error----', error, socketInstance, ws_url);
|
|
|
//连接报错后,重新请求资源
|
|
|
// mediator.publish('on-recreate-socket')
|
|
|
};
|
|
|
|
|
|
socketInstance.onmessage = function (event) {
|
|
|
if (!isFirstConnected.current) {
|
|
|
term.write('\r');
|
|
|
// term.focus()
|
|
|
setTimeout(function () {
|
|
|
// term.clear();
|
|
|
}, 1000);
|
|
|
}
|
|
|
isFirstConnected.current = true;
|
|
|
console.log('event:', event);
|
|
|
var data = base64.Base64.decode(event.data.toString());
|
|
|
var w = term._core._renderService.dimensions.actualCellWidth || 9.5;
|
|
|
console.log('data:', data, w, term);
|
|
|
term.write(data);
|
|
|
};
|
|
|
socketInstance.onclose = function (evt) {
|
|
|
if (tid) {
|
|
|
clearInterval(tid);
|
|
|
}
|
|
|
term.write('\r\nconnection closed');
|
|
|
};
|
|
|
};
|
|
|
var tid = setInterval(function () {
|
|
|
if (socket.current) {
|
|
|
socket.current.send(JSON.stringify({
|
|
|
tp: 'h'
|
|
|
}));
|
|
|
}
|
|
|
}, TimeTicket);
|
|
|
var unSubCreate = mediator/* default.subscribe */.Z.subscribe('create-socket', function (id) {
|
|
|
if (sid == id) {
|
|
|
if (socket.current && socket.current.readyState === 1) {
|
|
|
term.focus();
|
|
|
} else {
|
|
|
createSocket();
|
|
|
}
|
|
|
term.focus();
|
|
|
}
|
|
|
});
|
|
|
var unSubClose = mediator/* default.subscribe */.Z.subscribe('close-socket', function (id) {
|
|
|
if (sid === id) {
|
|
|
if (socket.current) {
|
|
|
socket.current.close();
|
|
|
isFirstConnected.current = false;
|
|
|
term.clear();
|
|
|
}
|
|
|
socket.current = null;
|
|
|
}
|
|
|
});
|
|
|
var unSubResize = mediator/* default.subscribe */.Z.subscribe('ssh-xterm-resize', function (option) {
|
|
|
if (socket.current && socket.current.readyState === 1) {
|
|
|
socket.current.send(JSON.stringify({
|
|
|
tp: 'resize',
|
|
|
data: objectSpread2_default()({}, option)
|
|
|
}));
|
|
|
}
|
|
|
});
|
|
|
var unSubAddTime = mediator/* default.subscribe */.Z.subscribe('ssh-add-connect-time', function () {
|
|
|
if (socket.current && socket.current.readyState === 1) {
|
|
|
socket.current.send(JSON.stringify({
|
|
|
tp: 'overtime'
|
|
|
}));
|
|
|
}
|
|
|
});
|
|
|
return function () {
|
|
|
unSubClose();
|
|
|
unSubCreate();
|
|
|
unSubResize();
|
|
|
unSubAddTime();
|
|
|
if (socket.current) {
|
|
|
socket.current.close();
|
|
|
isFirstConnected.current = false;
|
|
|
}
|
|
|
};
|
|
|
}
|
|
|
}, [term, ws_url, port]);
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: xterm_panelmodules["xterm-panel-wrp"],
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
ref: el,
|
|
|
className: xterm_panelmodules["xterm-panel"],
|
|
|
children: !ws_url ? /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
|
style: {
|
|
|
color: '#fff'
|
|
|
},
|
|
|
children: "\u6B63\u5728\u8FDE\u63A5\u547D\u4EE4\u884C\u670D\u52A1..."
|
|
|
}) : null
|
|
|
})
|
|
|
});
|
|
|
});
|
|
|
;// CONCATENATED MODULE: ./src/pages/Innovation/Tasks/vnc-view/index.less
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/progress/index.js + 11 modules
|
|
|
var progress = __webpack_require__(69814);
|
|
|
// EXTERNAL MODULE: ./node_modules/@novnc/novnc/lib/rfb.js
|
|
|
var lib_rfb = __webpack_require__(2176);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Innovation/Tasks/vnc-view/clipboard-box/index.less
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
|
|
|
;// CONCATENATED MODULE: ./src/pages/Innovation/Tasks/vnc-view/clipboard-box/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var TextArea = input/* default.TextArea */.Z.TextArea;
|
|
|
/* harmony default export */ var clipboard_box = (function (_ref) {
|
|
|
var onCancel = _ref.onCancel,
|
|
|
onSave = _ref.onSave,
|
|
|
content = _ref.content;
|
|
|
var _useState = (0,react.useState)(content),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
value = _useState2[0],
|
|
|
setValue = _useState2[1];
|
|
|
function onChangeValue(e) {
|
|
|
setValue(e.target.value);
|
|
|
}
|
|
|
function onSaveContent() {
|
|
|
onSave(value);
|
|
|
}
|
|
|
(0,react.useEffect)(function () {
|
|
|
setValue(content);
|
|
|
}, [content]);
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: "clipboard-box",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("h3", {
|
|
|
children: "\u5B9E\u9A8C\u73AF\u5883\u526A\u5207\u677F\uFF1A"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(TextArea, {
|
|
|
value: value,
|
|
|
onChange: onChangeValue,
|
|
|
className: "clipboard"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
|
|
|
children: [" ", /*#__PURE__*/(0,jsx_runtime.jsx)("b", {
|
|
|
children: " 1.\u4ECE\u5916\u90E8\u590D\u5236\u5185\u5BB9\u5230\u5B9E\u9A8C\u73AF\u5883\u5185\uFF1A "
|
|
|
}), " \u7C98\u8D34\u5185\u5BB9\u5230\u4E0A\u9762\u6587\u672C\u6846\uFF0C\u70B9\u51FB\u4FDD\u5B58\uFF0C\u7136\u540E\u5728\u5B9E\u9A8C\u73AF\u5883\u4E2D\u8FDB\u884C\u7C98\u8D34\u3002 "]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
|
|
|
children: [" ", /*#__PURE__*/(0,jsx_runtime.jsx)("b", {
|
|
|
children: " 2.\u83B7\u53D6\u5B9E\u9A8C\u73AF\u5883\u4E2D\u7684\u5185\u5BB9\uFF1A "
|
|
|
}), " \u8BF7\u5148\u5728\u73AF\u5883\u4E2D\u590D\u5236\u5185\u5BB9\uFF0C\u590D\u5236\u52A8\u4F5C\u5B8C\u6210\u540E\u5185\u5BB9\u4F1A\u663E\u793A\u5728\u4E0A\u9762\u6587\u672C\u6846\uFF0C\u7136\u540E\u5728\u4E0A\u9762\u6587\u672C\u6846\u4E2D\u518D\u6B21\u590D\u5236\u3002 "]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: "btn-action-container",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
|
type: "ghost",
|
|
|
onClick: onCancel,
|
|
|
style: {
|
|
|
marginRight: 10
|
|
|
},
|
|
|
children: "\u53D6\u6D88"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
|
type: "primary",
|
|
|
onClick: onSaveContent,
|
|
|
children: "\u4FDD\u5B58"
|
|
|
})]
|
|
|
})]
|
|
|
});
|
|
|
});
|
|
|
// EXTERNAL MODULE: ./node_modules/@ant-design/icons/es/icons/LoadingOutlined.js + 1 modules
|
|
|
var LoadingOutlined = __webpack_require__(50888);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Innovation/Tasks/vnc-view/vnc-panel/index.less?modules
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
/* harmony default export */ var vnc_panelmodules = ({"selectImage":"selectImage___t63KU","container":"container___WChhl"});
|
|
|
// EXTERNAL MODULE: ./node_modules/@umijs/plugins/node_modules/dayjs/dayjs.min.js
|
|
|
var dayjs_min = __webpack_require__(94699);
|
|
|
var dayjs_min_default = /*#__PURE__*/__webpack_require__.n(dayjs_min);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Innovation/Tasks/vnc-view/vnc-panel/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var antIcon = /*#__PURE__*/(0,jsx_runtime.jsx)(LoadingOutlined/* default */.Z, {
|
|
|
style: {
|
|
|
fontSize: 24
|
|
|
},
|
|
|
spin: true
|
|
|
});
|
|
|
function unicodeUnEscape(str) {
|
|
|
return str.replace(/\\u([\dA-Za-z]{4})/g, function (_, m1) {
|
|
|
return String.fromCharCode(parseInt("0x" + m1));
|
|
|
});
|
|
|
}
|
|
|
function getJsonFromUrl(url) {
|
|
|
if (!url) url = window.location.search;
|
|
|
var query = url.substr(1);
|
|
|
var result = {};
|
|
|
query.split('&').forEach(function (part) {
|
|
|
var item = part.split('=');
|
|
|
result[item[0]] = decodeURIComponent(item[1]);
|
|
|
});
|
|
|
return result;
|
|
|
}
|
|
|
var initialState = {
|
|
|
loading: true,
|
|
|
isLarge: false,
|
|
|
showClipBoardBox: false,
|
|
|
transferContent: '',
|
|
|
mes: '实验环境准备中'
|
|
|
};
|
|
|
var Types = /*#__PURE__*/function (Types) {
|
|
|
Types[Types["SET_LOADING"] = 0] = "SET_LOADING";
|
|
|
Types[Types["SET_IS_LARGE"] = 1] = "SET_IS_LARGE";
|
|
|
Types[Types["SET_MES"] = 2] = "SET_MES";
|
|
|
Types[Types["SET_STATE"] = 3] = "SET_STATE";
|
|
|
Types[Types["SHOW_CLIPBOARD_BOX"] = 4] = "SHOW_CLIPBOARD_BOX";
|
|
|
Types[Types["SET_TRANSFER_CONTENT"] = 5] = "SET_TRANSFER_CONTENT";
|
|
|
Types[Types["UPDATE_ALL"] = 6] = "UPDATE_ALL";
|
|
|
return Types;
|
|
|
}(Types || {});
|
|
|
function reducer(state, action) {
|
|
|
switch (action.type) {
|
|
|
case Types.SET_LOADING:
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
|
|
|
loading: action.payload
|
|
|
});
|
|
|
case Types.SET_IS_LARGE:
|
|
|
return objectSpread2_default()({}, objectSpread2_default()(objectSpread2_default()({}, state), {}, {
|
|
|
isLarge: action.payload
|
|
|
}));
|
|
|
case Types.SET_MES:
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
|
|
|
mes: action.payload
|
|
|
});
|
|
|
case Types.SET_STATE:
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, state), action.payload);
|
|
|
case Types.SET_TRANSFER_CONTENT:
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
|
|
|
transferContent: action.payload
|
|
|
});
|
|
|
case Types.SHOW_CLIPBOARD_BOX:
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
|
|
|
showClipBoardBox: action.payload
|
|
|
});
|
|
|
case Types.UPDATE_ALL:
|
|
|
return objectSpread2_default()({
|
|
|
loading: state.loading
|
|
|
}, action.payload);
|
|
|
default:
|
|
|
throw new Error();
|
|
|
}
|
|
|
}
|
|
|
/* harmony default export */ var vnc_panel = (function (_ref) {
|
|
|
var _taskData$shixun_virt5;
|
|
|
var vnc_url = _ref.vnc_url,
|
|
|
window_vnc_url = _ref.window_vnc_url,
|
|
|
linux_vnc = _ref.linux_vnc,
|
|
|
virtual_machine = _ref.virtual_machine,
|
|
|
taskId = _ref.taskId,
|
|
|
taskData = _ref.taskData;
|
|
|
var el = (0,react.useRef)();
|
|
|
var guacaRef = (0,react.useRef)();
|
|
|
var rfbRef = (0,react.useRef)();
|
|
|
var iframeRef = (0,react.useRef)();
|
|
|
var _useState = (0,react.useState)(),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
imageId = _useState2[0],
|
|
|
setImageId = _useState2[1];
|
|
|
var _useState3 = (0,react.useState)(false),
|
|
|
_useState4 = slicedToArray_default()(_useState3, 2),
|
|
|
showImage = _useState4[0],
|
|
|
setShowImage = _useState4[1];
|
|
|
var _useReducer = (0,react.useReducer)(reducer, initialState),
|
|
|
_useReducer2 = slicedToArray_default()(_useReducer, 2),
|
|
|
state = _useReducer2[0],
|
|
|
dispatch = _useReducer2[1];
|
|
|
var _useState5 = (0,react.useState)(0),
|
|
|
_useState6 = slicedToArray_default()(_useState5, 2),
|
|
|
linkNum = _useState6[0],
|
|
|
setLinkNum = _useState6[1];
|
|
|
var mes = state.mes,
|
|
|
loading = state.loading,
|
|
|
showClipBoardBox = state.showClipBoardBox,
|
|
|
isLarge = state.isLarge,
|
|
|
transferContent = state.transferContent;
|
|
|
var _useState7 = (0,react.useState)(0),
|
|
|
_useState8 = slicedToArray_default()(_useState7, 2),
|
|
|
percent = _useState8[0],
|
|
|
setPercent = _useState8[1];
|
|
|
var timeout = (0,react.useRef)();
|
|
|
var params = (0,_umi_production_exports.useParams)();
|
|
|
var paramsd = params;
|
|
|
(0,react.useEffect)(function () {
|
|
|
window.addEventListener("visibilitychange", handleFocus);
|
|
|
return function () {
|
|
|
var _guacaRef$current, _guacaRef$current$dis;
|
|
|
(_guacaRef$current = guacaRef.current) === null || _guacaRef$current === void 0 ? void 0 : (_guacaRef$current$dis = _guacaRef$current.disconnect) === null || _guacaRef$current$dis === void 0 ? void 0 : _guacaRef$current$dis.call(_guacaRef$current);
|
|
|
window.removeEventListener("visibilitychange", handleFocus);
|
|
|
};
|
|
|
}, []);
|
|
|
(0,react.useEffect)(function () {
|
|
|
window.sessionStorage.imageId = imageId;
|
|
|
return function () {
|
|
|
window.sessionStorage.removeItem("imageId");
|
|
|
};
|
|
|
}, [imageId]);
|
|
|
var fullChange = function fullChange() {
|
|
|
var _taskData$shixun, _rfbRef$current;
|
|
|
// setIsFull(IsFull())
|
|
|
if ((taskData === null || taskData === void 0 ? void 0 : (_taskData$shixun = taskData.shixun) === null || _taskData$shixun === void 0 ? void 0 : _taskData$shixun.windows_connection_mode) === "rdp") {
|
|
|
setTimeout(function () {
|
|
|
doResize();
|
|
|
}, 1500);
|
|
|
} else if ((rfbRef === null || rfbRef === void 0 ? void 0 : (_rfbRef$current = rfbRef.current) === null || _rfbRef$current === void 0 ? void 0 : _rfbRef$current.resizeSession) !== undefined) {
|
|
|
if ((0,fullscreen/* IsFull */.vp)()) {
|
|
|
rfbRef.current.resizeSession = true;
|
|
|
} else {
|
|
|
setTimeout(function () {
|
|
|
rfbRef.current.resizeSession = false;
|
|
|
}, 900);
|
|
|
}
|
|
|
}
|
|
|
};
|
|
|
(0,react.useEffect)(function () {
|
|
|
window.addEventListener("visibilitychange", handleFocus);
|
|
|
document.addEventListener((0,fullscreen/* fullscreenChange */.gH)(), fullChange);
|
|
|
return function () {
|
|
|
document.removeEventListener((0,fullscreen/* fullscreenChange */.gH)(), fullChange);
|
|
|
window.removeEventListener("visibilitychange", handleFocus);
|
|
|
};
|
|
|
}, []);
|
|
|
var handleFocus = function handleFocus(e) {
|
|
|
if (document.visibilityState === 'visible') {
|
|
|
var time = sessionStorage.vncPageLeaveTime;
|
|
|
if (dayjs_min_default()(new Date()).diff(dayjs_min_default()(time), "minutes") > 2) setLinkNum(new Date().getTime());
|
|
|
sessionStorage.removeItem("vncPageLeaveTime");
|
|
|
} else {
|
|
|
sessionStorage.vncPageLeaveTime = new Date();
|
|
|
}
|
|
|
};
|
|
|
function onCancelClipboardBox() {
|
|
|
dispatch({
|
|
|
type: Types.SHOW_CLIPBOARD_BOX,
|
|
|
payload: false
|
|
|
});
|
|
|
}
|
|
|
function onResizeSet() {
|
|
|
dispatch({
|
|
|
type: Types.SET_IS_LARGE,
|
|
|
payload: !isLarge
|
|
|
});
|
|
|
}
|
|
|
function onLayout(rfb) {
|
|
|
var ro;
|
|
|
if (el.current) {
|
|
|
ro = new ResizeObserver_es/* default */.Z(function (entries) {
|
|
|
var _iterator = createForOfIteratorHelper_default()(entries),
|
|
|
_step;
|
|
|
try {
|
|
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
|
var _taskData$shixun2;
|
|
|
var entry = _step.value;
|
|
|
if ((taskData === null || taskData === void 0 ? void 0 : (_taskData$shixun2 = taskData.shixun) === null || _taskData$shixun2 === void 0 ? void 0 : _taskData$shixun2.windows_connection_mode) === "rdp") {
|
|
|
doResize();
|
|
|
}
|
|
|
if (entry.target.offsetHeight > 0 || entry.target.offsetWidth > 0) {
|
|
|
var _rfb$_eventHandlers;
|
|
|
rfb === null || rfb === void 0 ? void 0 : (_rfb$_eventHandlers = rfb._eventHandlers) === null || _rfb$_eventHandlers === void 0 ? void 0 : _rfb$_eventHandlers.windowResize();
|
|
|
}
|
|
|
}
|
|
|
} catch (err) {
|
|
|
_iterator.e(err);
|
|
|
} finally {
|
|
|
_iterator.f();
|
|
|
}
|
|
|
});
|
|
|
ro.observe(el.current);
|
|
|
}
|
|
|
return ro;
|
|
|
}
|
|
|
var getWindowVnc = /*#__PURE__*/function () {
|
|
|
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3() {
|
|
|
var _getJsonFromUrl, _getJsonFromUrl2;
|
|
|
var urlParams, res, _res$data;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee3$(_context3) {
|
|
|
while (1) switch (_context3.prev = _context3.next) {
|
|
|
case 0:
|
|
|
urlParams = (_getJsonFromUrl = getJsonFromUrl()) !== null && _getJsonFromUrl !== void 0 && _getJsonFromUrl.homework_common_id ? {
|
|
|
homework_common_id: (_getJsonFromUrl2 = getJsonFromUrl()) === null || _getJsonFromUrl2 === void 0 ? void 0 : _getJsonFromUrl2.homework_common_id
|
|
|
} : {};
|
|
|
_context3.next = 3;
|
|
|
return (0,fetch/* default */.ZP)("/api/tasks/".concat(params.taskId || taskId, "/get_vnc_link.json"), {
|
|
|
method: "post",
|
|
|
body: objectSpread2_default()(objectSpread2_default()(objectSpread2_default()({}, params), urlParams), {}, {
|
|
|
template_id: imageId
|
|
|
})
|
|
|
});
|
|
|
case 3:
|
|
|
res = _context3.sent;
|
|
|
if (!((res === null || res === void 0 ? void 0 : res.status) === -3)) {
|
|
|
_context3.next = 6;
|
|
|
break;
|
|
|
}
|
|
|
return _context3.abrupt("return", new Promise( /*#__PURE__*/function () {
|
|
|
var _ref3 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2(resolve, reject) {
|
|
|
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
|
|
|
while (1) switch (_context2.prev = _context2.next) {
|
|
|
case 0:
|
|
|
es_modal/* default.confirm */.Z.confirm({
|
|
|
content: "检测到您已经开启了其他实验环境,请先关闭环境后,再连接",
|
|
|
okText: "立即关闭",
|
|
|
cancelText: "稍后关闭",
|
|
|
onOk: function () {
|
|
|
var _onOk = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
|
|
|
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
|
|
|
while (1) switch (_context.prev = _context.next) {
|
|
|
case 0:
|
|
|
clearTimeout(timeout.current);
|
|
|
setPercent(0);
|
|
|
_context.next = 4;
|
|
|
return closeWindowsVnc(params.taskId, res === null || res === void 0 ? void 0 : res.message);
|
|
|
case 4:
|
|
|
// resolve(await getWindowVnc());
|
|
|
setLinkNum(linkNum + 1);
|
|
|
return _context.abrupt("return");
|
|
|
case 6:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
}));
|
|
|
function onOk() {
|
|
|
return _onOk.apply(this, arguments);
|
|
|
}
|
|
|
return onOk;
|
|
|
}()
|
|
|
});
|
|
|
case 1:
|
|
|
case "end":
|
|
|
return _context2.stop();
|
|
|
}
|
|
|
}, _callee2);
|
|
|
}));
|
|
|
return function (_x, _x2) {
|
|
|
return _ref3.apply(this, arguments);
|
|
|
};
|
|
|
}()));
|
|
|
case 6:
|
|
|
if (!((res === null || res === void 0 ? void 0 : res.status) === -1)) {
|
|
|
_context3.next = 8;
|
|
|
break;
|
|
|
}
|
|
|
throw new String(res === null || res === void 0 ? void 0 : res.message);
|
|
|
case 8:
|
|
|
if (virtual_machine) {
|
|
|
(0,util/* setCookie */.d8)("PVEAuthCookie", res === null || res === void 0 ? void 0 : (_res$data = res.data) === null || _res$data === void 0 ? void 0 : _res$data.cookies_value, 1);
|
|
|
(0,util/* setCookie */.d8)("PVELangCookie", "zh_CN", 1);
|
|
|
}
|
|
|
mediator/* default.publish */.Z.publish('update-windows-time', res === null || res === void 0 ? void 0 : res.data);
|
|
|
return _context3.abrupt("return", res);
|
|
|
case 11:
|
|
|
case "end":
|
|
|
return _context3.stop();
|
|
|
}
|
|
|
}, _callee3);
|
|
|
}));
|
|
|
return function getWindowVnc() {
|
|
|
return _ref2.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
(0,react.useEffect)(function () {
|
|
|
var rfb;
|
|
|
var ro;
|
|
|
function onDisconnect(e) {
|
|
|
if (window_vnc_url) {
|
|
|
message/* default.warning */.ZP.warning('由于长时间未操作,连接失效,正在重新连接Windows VNC服务');
|
|
|
dispatch({
|
|
|
type: Types.SET_LOADING,
|
|
|
payload: true
|
|
|
});
|
|
|
setLinkNum(linkNum + 1);
|
|
|
}
|
|
|
}
|
|
|
mediator/* default.subscribe */.Z.subscribe('reset-linux-windows-loading', function () {
|
|
|
dispatch({
|
|
|
type: Types.SET_LOADING,
|
|
|
payload: true
|
|
|
});
|
|
|
});
|
|
|
mediator/* default.subscribe */.Z.subscribe('reset-linux-windos-vnc', function () {
|
|
|
setLinkNum(linkNum + 1);
|
|
|
});
|
|
|
function onConnect() {
|
|
|
setPercent(100);
|
|
|
clearTimeout(timeout.current);
|
|
|
setTimeout(function () {
|
|
|
var _rfb, _rfb$_eventHandlers2;
|
|
|
(_rfb = rfb) === null || _rfb === void 0 ? void 0 : (_rfb$_eventHandlers2 = _rfb._eventHandlers) === null || _rfb$_eventHandlers2 === void 0 ? void 0 : _rfb$_eventHandlers2.windowResize();
|
|
|
// doResize()
|
|
|
// rfbRef.current.resizeSession = false;
|
|
|
dispatch({
|
|
|
type: Types.SET_LOADING,
|
|
|
payload: false
|
|
|
});
|
|
|
}, 1300);
|
|
|
mediator/* default.subscribe */.Z.subscribe('send-ctrl-alt-delete', function () {
|
|
|
var _rfb2;
|
|
|
(_rfb2 = rfb) === null || _rfb2 === void 0 ? void 0 : _rfb2.sendCtrlAltDel();
|
|
|
});
|
|
|
}
|
|
|
function onClipboardReceive(e) {
|
|
|
var rs = unicodeUnEscape(e.detail.text);
|
|
|
dispatch({
|
|
|
type: Types.SET_TRANSFER_CONTENT,
|
|
|
payload: rs
|
|
|
});
|
|
|
}
|
|
|
if ((window_vnc_url || vnc_url || linux_vnc || virtual_machine && imageId) && el.current) {
|
|
|
var _taskData$shixun3;
|
|
|
clearTimeout(timeout.current);
|
|
|
if ((taskData === null || taskData === void 0 ? void 0 : (_taskData$shixun3 = taskData.shixun) === null || _taskData$shixun3 === void 0 ? void 0 : _taskData$shixun3.windows_connection_mode) === "rdp") {
|
|
|
doResize();
|
|
|
}
|
|
|
new Promise( /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee4() {
|
|
|
var params, socketUrl, password, urlParser, protocol, searchParams, host;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee4$(_context4) {
|
|
|
while (1) switch (_context4.prev = _context4.next) {
|
|
|
case 0:
|
|
|
params = getJsonFromUrl();
|
|
|
socketUrl = '';
|
|
|
// let res = await getWindowVnc()
|
|
|
// if (linux_vnc || virtual_machine) {
|
|
|
// iframeRef.current.src = res?.data?.vnc_url + '&time=' + Date.now();
|
|
|
// dispatch({
|
|
|
// type: Types.SET_STATE,
|
|
|
// payload: {
|
|
|
// loading: false,
|
|
|
// mes: '实验环境重置中'
|
|
|
// }
|
|
|
// })
|
|
|
// return;
|
|
|
// } else if (window_vnc_url) {
|
|
|
// password = 'Edu123';
|
|
|
// socketUrl = decodeURIComponent(res?.data?.vnc_url)
|
|
|
// } else {
|
|
|
urlParser = new URL(decodeURIComponent(taskData === null || taskData === void 0 ? void 0 : taskData.vnc_url)); //no IE11 support
|
|
|
protocol = urlParser.protocol, searchParams = urlParser.searchParams, host = urlParser.host;
|
|
|
password = searchParams.get('password');
|
|
|
socketUrl = "".concat(protocol === 'https:' ? 'wss' : 'ws', "://").concat(host, "/").concat(params.path || 'websockify');
|
|
|
// }
|
|
|
|
|
|
// if (taskData?.shixun?.windows_connection_mode === "rdp") {
|
|
|
// onLayout()
|
|
|
// iframeRef.current.style.cssText = iframeRef.current.style.cssText + "width:1920px;height:1080px;position:initial"
|
|
|
// iframeRef.current.src = `/rdp.html?tpiId=${taskData?.myshixun?.id}`
|
|
|
|
|
|
// // guacaRef.current = new Guacamole.Client(new Guacamole.WebSocketTunnel(`wss://pre-webssh.educoder.net/tunnel?tpiID=${taskData?.myshixun?.id}&width=500&height=400&`));
|
|
|
// // // guacaRef.current = new Guacamole.Client(new Guacamole.WebSocketTunnel(`wss://pre-webssh.educoder.net/tunnel?tpiID=4232620&width=1920&height=1080&`));
|
|
|
// // guacaRef.current.onerror = function (error:any) {
|
|
|
// // console.log("onerror",error);
|
|
|
// // };
|
|
|
// // el.current.appendChild(guacaRef.current.getDisplay().getElement());
|
|
|
// // guacaRef.current.connect();
|
|
|
// dispatch({
|
|
|
// type: Types.SET_LOADING,
|
|
|
// payload: false
|
|
|
// })
|
|
|
// return;
|
|
|
// }
|
|
|
|
|
|
rfb = new lib_rfb/* default */.Z(el.current, socketUrl, {
|
|
|
credentials: {
|
|
|
password: password
|
|
|
},
|
|
|
wsProtocols: ['binary'],
|
|
|
resize: "scale",
|
|
|
show_dot: true
|
|
|
});
|
|
|
ro = onLayout(rfb);
|
|
|
rfb.viewOnly = params.view_only || false;
|
|
|
if (window_vnc_url) {
|
|
|
rfb.scaleViewport = true;
|
|
|
} else {
|
|
|
rfb.scaleViewport = params.scale || false;
|
|
|
}
|
|
|
rfb.scaleViewport = true;
|
|
|
rfb.showDotCursor = true;
|
|
|
rfb.resizeSession = true;
|
|
|
rfbRef.current = rfb;
|
|
|
rfb.addEventListener('disconnect', onDisconnect);
|
|
|
rfb.addEventListener('connect', onConnect);
|
|
|
rfb.addEventListener('clipboard', onClipboardReceive);
|
|
|
case 17:
|
|
|
case "end":
|
|
|
return _context4.stop();
|
|
|
}
|
|
|
}, _callee4);
|
|
|
})));
|
|
|
var unsub = mediator/* default.subscribe */.Z.subscribe('vnc-reseting', function () {
|
|
|
setPercent(0);
|
|
|
dispatch({
|
|
|
type: Types.SET_STATE,
|
|
|
payload: {
|
|
|
loading: true,
|
|
|
mes: '实验环境重置中'
|
|
|
}
|
|
|
});
|
|
|
});
|
|
|
var unSub2 = mediator/* default.subscribe */.Z.subscribe('vnc-enlarge', function (data) {
|
|
|
// if (data) {
|
|
|
// state.isLarge = !state.isLarge;
|
|
|
// }else{
|
|
|
// state.isLarge = true;
|
|
|
// }
|
|
|
// dispatch({
|
|
|
// type: Types.SET_IS_LARGE,
|
|
|
// payload:state.isLarge
|
|
|
// })
|
|
|
});
|
|
|
var unSub3 = mediator/* default.subscribe */.Z.subscribe('show-clipboard-box', function () {
|
|
|
dispatch({
|
|
|
type: Types.SHOW_CLIPBOARD_BOX,
|
|
|
payload: true
|
|
|
});
|
|
|
});
|
|
|
setPercent(0);
|
|
|
return function () {
|
|
|
var _rfb3, _rfb4, _rfb5, _ro;
|
|
|
(_rfb3 = rfb) === null || _rfb3 === void 0 ? void 0 : _rfb3.removeEventListener('disconnect', onDisconnect);
|
|
|
(_rfb4 = rfb) === null || _rfb4 === void 0 ? void 0 : _rfb4.removeEventListener('connect', onConnect);
|
|
|
(_rfb5 = rfb) === null || _rfb5 === void 0 ? void 0 : _rfb5.removeEventListener('clipboard', onClipboardReceive);
|
|
|
unsub();
|
|
|
unSub2();
|
|
|
unSub3();
|
|
|
(_ro = ro) === null || _ro === void 0 ? void 0 : _ro.unobserve(el.current);
|
|
|
};
|
|
|
}
|
|
|
}, [vnc_url, window_vnc_url, linux_vnc, linkNum, imageId]);
|
|
|
(0,react.useEffect)(function () {
|
|
|
var _taskData$shixun_virt, _taskData$shixun_virt4;
|
|
|
if (virtual_machine && (taskData === null || taskData === void 0 ? void 0 : (_taskData$shixun_virt = taskData.shixun_virtual_templates) === null || _taskData$shixun_virt === void 0 ? void 0 : _taskData$shixun_virt.length) === 1) {
|
|
|
var _taskData$shixun_virt2, _taskData$shixun_virt3;
|
|
|
setImageId(taskData === null || taskData === void 0 ? void 0 : (_taskData$shixun_virt2 = taskData.shixun_virtual_templates) === null || _taskData$shixun_virt2 === void 0 ? void 0 : (_taskData$shixun_virt3 = _taskData$shixun_virt2[0]) === null || _taskData$shixun_virt3 === void 0 ? void 0 : _taskData$shixun_virt3.template_id);
|
|
|
} else if (virtual_machine && (taskData === null || taskData === void 0 ? void 0 : (_taskData$shixun_virt4 = taskData.shixun_virtual_templates) === null || _taskData$shixun_virt4 === void 0 ? void 0 : _taskData$shixun_virt4.length) > 1) {
|
|
|
setShowImage(true);
|
|
|
}
|
|
|
}, [virtual_machine]);
|
|
|
function clipboardSend(content) {
|
|
|
var _rfbRef$current2;
|
|
|
(_rfbRef$current2 = rfbRef.current) === null || _rfbRef$current2 === void 0 ? void 0 : _rfbRef$current2.clipboardPasteFrom(content);
|
|
|
dispatch({
|
|
|
type: Types.SET_TRANSFER_CONTENT,
|
|
|
payload: content
|
|
|
});
|
|
|
message/* default.success */.ZP.success('保存成功!你可以在实验环境中粘贴该内容');
|
|
|
onCancelClipboardBox();
|
|
|
}
|
|
|
function doResize() {
|
|
|
// function doResize(event, ui) {
|
|
|
var scale, origin;
|
|
|
scale = Math.min(document.getElementById("task-right-panel").clientWidth / 1920, document.getElementById("task-right-panel").clientHeight / 1260);
|
|
|
iframeRef.current.parentElement.className = "wh1080p";
|
|
|
iframeRef.current.parentElement.style.cssText = "transform:scale(".concat(scale, ");transform-origin:center center");
|
|
|
el.current.style.cssText = "translate(-50%, -50%) " + "scale(" + scale + ")";
|
|
|
}
|
|
|
(0,react.useEffect)(function () {
|
|
|
if (percent == 0) {
|
|
|
clearTimeout(timeout.current);
|
|
|
increase();
|
|
|
}
|
|
|
}, [percent]);
|
|
|
var increase = function increase() {
|
|
|
if (percent > 99) {
|
|
|
percent = 99;
|
|
|
} else {
|
|
|
percent = percent + 1;
|
|
|
timeout.current = setTimeout(function () {
|
|
|
increase();
|
|
|
}, 1500);
|
|
|
}
|
|
|
if (percent < 100) setPercent(percent);
|
|
|
};
|
|
|
var showIframe = (0,react.useMemo)(function () {
|
|
|
var _taskData$shixun4;
|
|
|
if (loading) {
|
|
|
return 'none';
|
|
|
}
|
|
|
if (linux_vnc || virtual_machine || window_vnc_url && (taskData === null || taskData === void 0 ? void 0 : (_taskData$shixun4 = taskData.shixun) === null || _taskData$shixun4 === void 0 ? void 0 : _taskData$shixun4.windows_connection_mode) === "rdp") {
|
|
|
return 'block';
|
|
|
} else {
|
|
|
return 'none';
|
|
|
}
|
|
|
}, [linux_vnc, loading, virtual_machine, window_vnc_url]);
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)(react.Fragment, {
|
|
|
children: [showImage && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: vnc_panelmodules.selectImage,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("section", {
|
|
|
className: vnc_panelmodules.container,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("h1", {
|
|
|
children: "\u9009\u62E9\u89D2\u8272"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("aside", {
|
|
|
children: taskData === null || taskData === void 0 ? void 0 : (_taskData$shixun_virt5 = taskData.shixun_virtual_templates) === null || _taskData$shixun_virt5 === void 0 ? void 0 : _taskData$shixun_virt5.map(function (item, key) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
align: "middle",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
flex: "1",
|
|
|
children: item.template_name
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
|
type: "primary",
|
|
|
onClick: function onClick() {
|
|
|
setImageId(item.template_id);
|
|
|
setShowImage(false);
|
|
|
},
|
|
|
children: "\u5F00\u59CB\u5B9E\u9A8C"
|
|
|
})
|
|
|
})]
|
|
|
}, key);
|
|
|
})
|
|
|
})]
|
|
|
})
|
|
|
}), isLarge && /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
|
|
|
className: "btn-vnc-resize",
|
|
|
onClick: onResizeSet,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-tuichuquanping"
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
style: {
|
|
|
width: "100%",
|
|
|
height: "calc(100% - 50px)",
|
|
|
overflow: "hidden",
|
|
|
position: "absolute",
|
|
|
display: showIframe === "block" ? "flex" : "none",
|
|
|
alignItems: "center",
|
|
|
justifyContent: "center",
|
|
|
zIndex: 6
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("iframe", {
|
|
|
style: {
|
|
|
position: isLarge ? "fixed" : "absolute",
|
|
|
left: 0,
|
|
|
top: isLarge ? 54 : 40,
|
|
|
width: "100%",
|
|
|
height: "calc(100% - ".concat(isLarge ? "100px" : "45px", ")")
|
|
|
},
|
|
|
frameBorder: "0",
|
|
|
ref: iframeRef,
|
|
|
allowFullScreen: true
|
|
|
})
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
style: {
|
|
|
position: isLarge ? "fixed" : "absolute",
|
|
|
left: 0,
|
|
|
top: 0,
|
|
|
zIndex: 5,
|
|
|
width: "100%",
|
|
|
height: "calc(100% - ".concat(isLarge ? "100px" : "0", ")")
|
|
|
},
|
|
|
className: "".concat(window_vnc_url ? "vnc-panel-wrapper-windows" : "vnc-panel-wrapper", " ").concat(isLarge ? 'full-screen' : ''),
|
|
|
children: [loading ? /*#__PURE__*/(0,jsx_runtime.jsx)(Spinner/* default */.Z, {
|
|
|
message: mes,
|
|
|
style: {
|
|
|
color: '#0152d9'
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: "tc",
|
|
|
style: {
|
|
|
width: 500,
|
|
|
margin: "0 auto",
|
|
|
color: "#FFF"
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(progress/* default */.Z, {
|
|
|
percent: percent,
|
|
|
format: function format(p) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
className: "c-white",
|
|
|
children: [p, "%"]
|
|
|
});
|
|
|
}
|
|
|
})
|
|
|
})
|
|
|
}) : null, /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
ref: el,
|
|
|
className: "vnc-panel ".concat(loading ? "hidden zIndexf1" : "animated fadeIn")
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_modal/* default */.Z, {
|
|
|
title: "\u590D\u5236\u7C98\u8D34",
|
|
|
centered: true,
|
|
|
maskClosable: false,
|
|
|
open: showClipBoardBox,
|
|
|
onCancel: onCancelClipboardBox,
|
|
|
footer: null,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(clipboard_box, {
|
|
|
onCancel: onCancelClipboardBox,
|
|
|
onSave: clipboardSend,
|
|
|
content: transferContent
|
|
|
})
|
|
|
})
|
|
|
})]
|
|
|
});
|
|
|
});
|
|
|
;// CONCATENATED MODULE: ./src/pages/Innovation/Tasks/vnc-view/index.jsx
|
|
|
|
|
|
|
|
|
|
|
|
// import FooterBar from '../footer-bar';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* harmony default export */ var vnc_view = (function (_ref) {
|
|
|
var taskData = _ref.taskData,
|
|
|
evaluateLoading = _ref.evaluateLoading,
|
|
|
evaluateMessage = _ref.evaluateMessage,
|
|
|
language = _ref.language,
|
|
|
onEval = _ref.onEval;
|
|
|
var vnc_url = taskData.vnc_url,
|
|
|
shixun = taskData.shixun,
|
|
|
test_sets = taskData.test_sets,
|
|
|
test_sets_count = taskData.test_sets_count,
|
|
|
sets_error_count = taskData.sets_error_count,
|
|
|
last_compile_output = taskData.last_compile_output,
|
|
|
game = taskData.game,
|
|
|
allowed_unlock = taskData.allowed_unlock,
|
|
|
user = taskData.user;
|
|
|
var _useState = (0,react.useState)(false),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
isLarge = _useState2[0],
|
|
|
setIsLarge = _useState2[1];
|
|
|
var _useState3 = (0,react.useState)(false),
|
|
|
_useState4 = slicedToArray_default()(_useState3, 2),
|
|
|
isPop = _useState4[0],
|
|
|
setIsPop = _useState4[1];
|
|
|
function onPop() {
|
|
|
setIsPop(!isPop);
|
|
|
}
|
|
|
console.log('vnc_url:', vnc_url);
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)(react.Fragment, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(vnc_panel, {
|
|
|
vnc_url: vnc_url,
|
|
|
window_vnc_url: taskData.windows_vnc,
|
|
|
virtual_machine: taskData === null || taskData === void 0 ? void 0 : taskData.virtual_machine,
|
|
|
linux_vnc: taskData.linux_vnc,
|
|
|
taskData: taskData
|
|
|
}), isPop ? /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: "vnc-mask"
|
|
|
}) : null, /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: "vnc-test-list ".concat(isLarge ? 'large' : isPop ? 'pop' : ''),
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: "vnc-test-list-body",
|
|
|
children: !isLarge ? /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "arrow-container",
|
|
|
onClick: onPop,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont ".concat(isPop ? 'icon-xiajiantou' : 'icon-shangjiantou', " ")
|
|
|
})
|
|
|
}) : null
|
|
|
})
|
|
|
})]
|
|
|
});
|
|
|
});
|
|
|
;// CONCATENATED MODULE: ./src/pages/Innovation/Tasks/Jupyter/index.less?modules
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
/* harmony default export */ var Jupytermodules = ({"bg":"bg___xjZP4","header":"header___S_AU0","dragingMask":"dragingMask___MuMgB","content":"content___sS5Wc","leftContainer":"leftContainer___pbkhe","tabNav":"tabNav___QTkA2","mdContent":"mdContent___p39IM","resizeBar":"resizeBar___UvVzB","has-unity-3d":"has-unity-3d___EQEWx","btn-resize":"btn-resize___XVPBl","rightCotainer":"rightCotainer___Z2h3Y","user":"user___du0m1","titleWrap":"titleWrap___dDrU9","title":"title___Id58q","endTimeWrap":"endTimeWrap___O3i6z","colorGray":"colorGray___SHbxz","main":"main___t6BMk","loadFail":"loadFail___ubRWw","reload":"reload___m8wjw","failIcon":"failIcon___q_CjJ","failWrap":"failWrap___EEJNl","failReload":"failReload___SiyZT","dataSetButton":"dataSetButton___H1Oqu","dataSetText":"dataSetText___p9NRw","dataSetOpen":"dataSetOpen___bT5j8","mymove":"mymove___qtayT","footer":"footer___rdX6y","start":"start___s0r2G","liWarp":"liWarp___N3c6S","li":"li___mKv9C"});
|
|
|
;// CONCATENATED MODULE: ./src/pages/Innovation/Tasks/Jupyter/reducer.ts
|
|
|
|
|
|
var reducer_reducer = function reducer(state, action) {
|
|
|
switch (action.type) {
|
|
|
case 'MOVE_X':
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
|
|
|
moveX: action.payload
|
|
|
});
|
|
|
case 'SET_DRAGMODULE':
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
|
|
|
showDragModule: action.payload
|
|
|
});
|
|
|
case 'TRIGGER_RIGHT_PANEL_MASK':
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
|
|
|
showDragMask: action.payload
|
|
|
});
|
|
|
}
|
|
|
};
|
|
|
;// CONCATENATED MODULE: ./src/pages/Innovation/Tasks/Jupyter/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var Jupyter_excluded = ["globalSetting", "loading", "taskData", "dispatch"];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var Jupyter_Countdown = statistic/* default.Countdown */.Z.Countdown;
|
|
|
var Status = /*#__PURE__*/function (Status) {
|
|
|
Status[Status["LoadFail"] = 1] = "LoadFail";
|
|
|
Status[Status["ReLoad"] = 2] = "ReLoad";
|
|
|
Status[Status["Success"] = 3] = "Success";
|
|
|
return Status;
|
|
|
}(Status || {});
|
|
|
/**
|
|
|
*
|
|
|
*/
|
|
|
var Jupyter_initialState = {
|
|
|
moveX: '40%',
|
|
|
showDragModule: false,
|
|
|
showDragMask: false
|
|
|
};
|
|
|
var TaskJupyterPage = function TaskJupyterPage(_ref) {
|
|
|
var globalSetting = _ref.globalSetting,
|
|
|
loading = _ref.loading,
|
|
|
taskData = _ref.taskData,
|
|
|
dispatch = _ref.dispatch,
|
|
|
props = objectWithoutProperties_default()(_ref, Jupyter_excluded);
|
|
|
var params = (0,_umi_production_exports.useParams)();
|
|
|
var token = (0,react.useRef)();
|
|
|
var _useState = (0,react.useState)(true),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
spinning = _useState2[0],
|
|
|
setSpinning = _useState2[1];
|
|
|
var _useState3 = (0,react.useState)(false),
|
|
|
_useState4 = slicedToArray_default()(_useState3, 2),
|
|
|
btnLoading = _useState4[0],
|
|
|
setBtnLoading = _useState4[1];
|
|
|
var _useState5 = (0,react.useState)(0),
|
|
|
_useState6 = slicedToArray_default()(_useState5, 2),
|
|
|
btnTime = _useState6[0],
|
|
|
setBtnTime = _useState6[1];
|
|
|
var _useState7 = (0,react.useState)(0),
|
|
|
_useState8 = slicedToArray_default()(_useState7, 2),
|
|
|
active = _useState8[0],
|
|
|
setActive = _useState8[1];
|
|
|
var _useState9 = (0,react.useState)(true),
|
|
|
_useState10 = slicedToArray_default()(_useState9, 2),
|
|
|
urlSign = _useState10[0],
|
|
|
setUrlSign = _useState10[1];
|
|
|
var _useState11 = (0,react.useState)(false),
|
|
|
_useState12 = slicedToArray_default()(_useState11, 2),
|
|
|
caseVisible = _useState12[0],
|
|
|
setCaseVisible = _useState12[1];
|
|
|
var jupyterMessageFlag = (0,react.useRef)(true);
|
|
|
var _useState13 = (0,react.useState)({}),
|
|
|
_useState14 = slicedToArray_default()(_useState13, 2),
|
|
|
jupyterData = _useState14[0],
|
|
|
setJupyterData = _useState14[1];
|
|
|
var _useState15 = (0,react.useState)({}),
|
|
|
_useState16 = slicedToArray_default()(_useState15, 2),
|
|
|
gamesData = _useState16[0],
|
|
|
setGamesData = _useState16[1];
|
|
|
var _useState17 = (0,react.useState)(),
|
|
|
_useState18 = slicedToArray_default()(_useState17, 2),
|
|
|
url = _useState18[0],
|
|
|
setUrl = _useState18[1];
|
|
|
var port = (0,react.useRef)();
|
|
|
var _useState19 = (0,react.useState)(Status.Success),
|
|
|
_useState20 = slicedToArray_default()(_useState19, 2),
|
|
|
status = _useState20[0],
|
|
|
setStatus = _useState20[1];
|
|
|
var _useState21 = (0,react.useState)(),
|
|
|
_useState22 = slicedToArray_default()(_useState21, 2),
|
|
|
time = _useState22[0],
|
|
|
setTime = _useState22[1];
|
|
|
var _useState23 = (0,react.useState)(),
|
|
|
_useState24 = slicedToArray_default()(_useState23, 2),
|
|
|
endTime = _useState24[0],
|
|
|
setEndTime = _useState24[1];
|
|
|
var _useState25 = (0,react.useState)(false),
|
|
|
_useState26 = slicedToArray_default()(_useState25, 2),
|
|
|
isOpenDrawer = _useState26[0],
|
|
|
setIsOpenDrawer = _useState26[1];
|
|
|
var _useState27 = (0,react.useState)(''),
|
|
|
_useState28 = slicedToArray_default()(_useState27, 2),
|
|
|
codeMessage = _useState28[0],
|
|
|
setCodeMessage = _useState28[1];
|
|
|
var timer = (0,react.useRef)(null);
|
|
|
var saveJupyterData = (0,react.useRef)({});
|
|
|
var clickEvaluating = (0,react.useRef)(false);
|
|
|
var _useReducer = (0,react.useReducer)(reducer_reducer, Jupyter_initialState),
|
|
|
_useReducer2 = slicedToArray_default()(_useReducer, 2),
|
|
|
state = _useReducer2[0],
|
|
|
redcuerDispatch = _useReducer2[1];
|
|
|
|
|
|
// const noDragging = useMemo(() => {
|
|
|
// return (
|
|
|
// (unity_3d_routes && !with_code_file) || challenge?.thiry_party || vnc_url
|
|
|
// );
|
|
|
// }, [vnc_url, with_code_file, unity_3d_routes]);
|
|
|
|
|
|
(0,react.useEffect)(function () {
|
|
|
window.addEventListener('message', handleJupyterMessage);
|
|
|
return function () {
|
|
|
window.removeEventListener('message', handleJupyterMessage);
|
|
|
};
|
|
|
}, []);
|
|
|
var handleJupyterMessage = function handleJupyterMessage(e) {
|
|
|
if ((e === null || e === void 0 ? void 0 : e.data) === 'jupytermessage' && jupyterMessageFlag.current) {
|
|
|
jupyterMessageFlag.current = false;
|
|
|
handleSaveWithTPI();
|
|
|
if (!clickEvaluating.current) {
|
|
|
setTimeout(function () {
|
|
|
return jupyterMessageFlag.current = true;
|
|
|
}, 500);
|
|
|
}
|
|
|
// setTimeout(() => jupyterMessageFlag.current = true, 500)
|
|
|
}
|
|
|
};
|
|
|
|
|
|
var handleSaveWithTPI = /*#__PURE__*/function () {
|
|
|
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
|
|
|
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
|
|
|
while (1) switch (_context.prev = _context.next) {
|
|
|
case 0:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
}));
|
|
|
return function handleSaveWithTPI() {
|
|
|
return _ref2.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
var handleGetJupyterData = /*#__PURE__*/function () {
|
|
|
var _ref3 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2() {
|
|
|
var res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
|
|
|
while (1) switch (_context2.prev = _context2.next) {
|
|
|
case 0:
|
|
|
_context2.next = 2;
|
|
|
return (0,task/* getJupyterData */.dU)({
|
|
|
identifier: params.identifier
|
|
|
});
|
|
|
case 2:
|
|
|
res = _context2.sent;
|
|
|
if (res) {
|
|
|
setJupyterData(res);
|
|
|
saveJupyterData.current = objectSpread2_default()({}, res);
|
|
|
setGamesData(objectSpread2_default()(objectSpread2_default()({}, gamesData), {}, {
|
|
|
test_sets: (res === null || res === void 0 ? void 0 : res.test_sets) || []
|
|
|
}));
|
|
|
redcuerDispatch({
|
|
|
type: 'SET_DRAGMODULE',
|
|
|
payload: res.jupyter_show_description
|
|
|
});
|
|
|
}
|
|
|
case 4:
|
|
|
case "end":
|
|
|
return _context2.stop();
|
|
|
}
|
|
|
}, _callee2);
|
|
|
}));
|
|
|
return function handleGetJupyterData() {
|
|
|
return _ref3.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
var handleGetJupyterTPIUrl = /*#__PURE__*/function () {
|
|
|
var _ref4 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3() {
|
|
|
var res, _parseUrl, _res$url, _res$url$, _res$url2;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee3$(_context3) {
|
|
|
while (1) switch (_context3.prev = _context3.next) {
|
|
|
case 0:
|
|
|
_context3.next = 2;
|
|
|
return (0,task/* getInfoWithTPI */.rV)({
|
|
|
identifier: params.identifier
|
|
|
});
|
|
|
case 2:
|
|
|
res = _context3.sent;
|
|
|
setSpinning(false);
|
|
|
if (!(res !== null && res !== void 0 && res.url)) {
|
|
|
_context3.next = 14;
|
|
|
break;
|
|
|
}
|
|
|
setUrl(res.url);
|
|
|
token.current = (_parseUrl = (0,util/* parseUrl */.en)(res === null || res === void 0 ? void 0 : (_res$url = res.url) === null || _res$url === void 0 ? void 0 : (_res$url$ = _res$url[0]) === null || _res$url$ === void 0 ? void 0 : _res$url$["url"])) === null || _parseUrl === void 0 ? void 0 : _parseUrl.token;
|
|
|
port.current = res.port;
|
|
|
if (!(((_res$url2 = res.url) === null || _res$url2 === void 0 ? void 0 : _res$url2.length) > 1)) {
|
|
|
_context3.next = 10;
|
|
|
break;
|
|
|
}
|
|
|
return _context3.abrupt("return");
|
|
|
case 10:
|
|
|
setUrlSign(false);
|
|
|
handleGetTPITimeInfo();
|
|
|
setStatus(Status.Success);
|
|
|
return _context3.abrupt("return");
|
|
|
case 14:
|
|
|
if (res.status === -1) {
|
|
|
setStatus(Status.LoadFail);
|
|
|
setUrlSign(false);
|
|
|
} else {
|
|
|
setStatus(Status.ReLoad);
|
|
|
}
|
|
|
case 15:
|
|
|
case "end":
|
|
|
return _context3.stop();
|
|
|
}
|
|
|
}, _callee3);
|
|
|
}));
|
|
|
return function handleGetJupyterTPIUrl() {
|
|
|
return _ref4.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
var handleUrlClick = function handleUrlClick(num) {
|
|
|
setUrlSign(false);
|
|
|
setActive(num);
|
|
|
handleGetTPITimeInfo();
|
|
|
setStatus(Status.Success);
|
|
|
};
|
|
|
var handleGetTPITimeInfo = /*#__PURE__*/function () {
|
|
|
var _ref5 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee4() {
|
|
|
var res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee4$(_context4) {
|
|
|
while (1) switch (_context4.prev = _context4.next) {
|
|
|
case 0:
|
|
|
_context4.next = 2;
|
|
|
return (0,task/* getTimeInfoWithTPI */.x4)({
|
|
|
identifier: params.identifier
|
|
|
});
|
|
|
case 2:
|
|
|
res = _context4.sent;
|
|
|
if (!((res === null || res === void 0 ? void 0 : res.status) !== 0)) {
|
|
|
_context4.next = 5;
|
|
|
break;
|
|
|
}
|
|
|
return _context4.abrupt("return");
|
|
|
case 5:
|
|
|
if (res !== null && res !== void 0 && res.useSeconds) {
|
|
|
_context4.next = 8;
|
|
|
break;
|
|
|
}
|
|
|
handleResetEnvModal();
|
|
|
return _context4.abrupt("return");
|
|
|
case 8:
|
|
|
if (res !== null && res !== void 0 && res.remainingSeconds) {
|
|
|
setTime(Date.now() + res.remainingSeconds * 1000);
|
|
|
setEndTime(res.remainingSeconds - 300 <= 0 ? Date.now() + 1000 : Date.now() + (res.remainingSeconds - 300) * 1000);
|
|
|
}
|
|
|
case 9:
|
|
|
case "end":
|
|
|
return _context4.stop();
|
|
|
}
|
|
|
}, _callee4);
|
|
|
}));
|
|
|
return function handleGetTPITimeInfo() {
|
|
|
return _ref5.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
var handleResetEnvModal = function handleResetEnvModal() {
|
|
|
postMessageToIframe(true);
|
|
|
setSpinning(true);
|
|
|
es_modal/* default.confirm */.Z.confirm({
|
|
|
centered: true,
|
|
|
title: '重置环境',
|
|
|
content: ' 是否确定重置环境?',
|
|
|
okText: '确定',
|
|
|
cancelText: '取消',
|
|
|
onOk: function onOk() {
|
|
|
handleResetEnv();
|
|
|
},
|
|
|
onCancel: function onCancel() {
|
|
|
postMessageToIframe(false);
|
|
|
setSpinning(false);
|
|
|
}
|
|
|
});
|
|
|
};
|
|
|
var handleResetEnv = /*#__PURE__*/function () {
|
|
|
var _ref6 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee5() {
|
|
|
var res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee5$(_context5) {
|
|
|
while (1) switch (_context5.prev = _context5.next) {
|
|
|
case 0:
|
|
|
_context5.next = 2;
|
|
|
return (0,task/* resetWithTPI */.m_)({
|
|
|
identifier: params.identifier
|
|
|
});
|
|
|
case 2:
|
|
|
res = _context5.sent;
|
|
|
if (!((res === null || res === void 0 ? void 0 : res.status) !== 0)) {
|
|
|
_context5.next = 5;
|
|
|
break;
|
|
|
}
|
|
|
return _context5.abrupt("return");
|
|
|
case 5:
|
|
|
message/* default.success */.ZP.success('重置成功!');
|
|
|
setSpinning(false);
|
|
|
setTimeout(function () {
|
|
|
return window.location.reload();
|
|
|
}, 300);
|
|
|
case 8:
|
|
|
case "end":
|
|
|
return _context5.stop();
|
|
|
}
|
|
|
}, _callee5);
|
|
|
}));
|
|
|
return function handleResetEnv() {
|
|
|
return _ref6.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
var handleEndTimeFinish = function handleEndTimeFinish() {
|
|
|
es_modal/* default.destroyAll */.Z.destroyAll();
|
|
|
es_modal/* default.confirm */.Z.confirm({
|
|
|
centered: true,
|
|
|
title: '服务中断提醒',
|
|
|
content: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: "tc font14",
|
|
|
children: ["jupyter\u5C06\u4E8E", /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(Jupyter_Countdown, {
|
|
|
value: time,
|
|
|
format: "HH:mm:ss",
|
|
|
onFinish: handleTimeFinish
|
|
|
})
|
|
|
}), "\u65F6\u95F4\u540E\u670D\u52A1\u4E2D\u65AD\uFF0C\u662F\u5426\u9700\u8981\u5EF6\u957F\u4F7F\u7528\u65F6\u95F4\uFF1F"]
|
|
|
}),
|
|
|
okText: '立即延长',
|
|
|
cancelText: '不需要',
|
|
|
onOk: function () {
|
|
|
var _onOk = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee6() {
|
|
|
var res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee6$(_context6) {
|
|
|
while (1) switch (_context6.prev = _context6.next) {
|
|
|
case 0:
|
|
|
_context6.next = 2;
|
|
|
return (0,task/* activeWithTPI */.rB)({
|
|
|
identifier: params.identifier
|
|
|
});
|
|
|
case 2:
|
|
|
res = _context6.sent;
|
|
|
if (!(res.status === 0)) {
|
|
|
_context6.next = 7;
|
|
|
break;
|
|
|
}
|
|
|
_context6.next = 6;
|
|
|
return handleGetTPITimeInfo();
|
|
|
case 6:
|
|
|
message/* default.success */.ZP.success('延长成功!');
|
|
|
case 7:
|
|
|
case "end":
|
|
|
return _context6.stop();
|
|
|
}
|
|
|
}, _callee6);
|
|
|
}));
|
|
|
function onOk() {
|
|
|
return _onOk.apply(this, arguments);
|
|
|
}
|
|
|
return onOk;
|
|
|
}()
|
|
|
});
|
|
|
};
|
|
|
var handleTimeFinish = function handleTimeFinish() {
|
|
|
es_modal/* default.destroyAll */.Z.destroyAll();
|
|
|
es_modal/* default.confirm */.Z.confirm({
|
|
|
centered: true,
|
|
|
title: '倒计时截止',
|
|
|
content: /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
|
className: "tc font14",
|
|
|
children: "\u670D\u52A1\u5DF2\u4E2D\u65AD\uFF0C\u662F\u5426\u786E\u8BA4\u91CD\u7F6E\u5B9E\u9A8C\u73AF\u5883\uFF1F"
|
|
|
}),
|
|
|
okText: '确定',
|
|
|
cancelText: '取消',
|
|
|
onOk: function onOk() {
|
|
|
handleResetEnv();
|
|
|
}
|
|
|
});
|
|
|
};
|
|
|
var postMessageToIframe = function postMessageToIframe(stopParent) {
|
|
|
var iframe = document.getElementById('taskJupyterIframe');
|
|
|
if (!iframe) {
|
|
|
return;
|
|
|
}
|
|
|
if (stopParent) {
|
|
|
iframe.contentWindow.postMessage('stopParent', '*');
|
|
|
} else {
|
|
|
iframe.contentWindow.postMessage('clonsParent', '*');
|
|
|
}
|
|
|
};
|
|
|
var handleResetTPI = function handleResetTPI() {
|
|
|
setSpinning(true);
|
|
|
postMessageToIframe(true);
|
|
|
tipReset({
|
|
|
title: '重置实训',
|
|
|
content: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: "tc font14",
|
|
|
children: ["\u4F60\u5728\u672C\u6587\u4EF6\u4E2D\u4FEE\u6539\u7684\u5185\u5BB9\u5C06\u4E22\u5931,", /*#__PURE__*/(0,jsx_runtime.jsx)("br", {}), "\u662F\u5426\u786E\u5B9A\u91CD\u65B0\u52A0\u8F7D\u521D\u59CB\u4EE3\u7801\uFF1F"]
|
|
|
})
|
|
|
});
|
|
|
};
|
|
|
var evaluating = function evaluating() {
|
|
|
var iframe = document.getElementById('taskJupyterIframe');
|
|
|
if (!iframe) {
|
|
|
return;
|
|
|
}
|
|
|
//底下触发保存事件 Ctrl+S
|
|
|
iframe.contentWindow.postMessage('saveCode', '*');
|
|
|
clickEvaluating.current = true;
|
|
|
setBtnLoading(true);
|
|
|
setCaseVisible(true);
|
|
|
// handleSaveWithTPI()
|
|
|
};
|
|
|
|
|
|
var tipReset = function tipReset(obj) {
|
|
|
es_modal/* default.confirm */.Z.confirm({
|
|
|
centered: true,
|
|
|
title: obj.title,
|
|
|
content: obj.content,
|
|
|
okText: '确定',
|
|
|
cancelText: '取消',
|
|
|
onOk: function () {
|
|
|
var _onOk2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee7() {
|
|
|
var res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee7$(_context7) {
|
|
|
while (1) switch (_context7.prev = _context7.next) {
|
|
|
case 0:
|
|
|
_context7.next = 2;
|
|
|
return (0,task/* syncCode */.fi)({
|
|
|
identifier: params.identifier
|
|
|
});
|
|
|
case 2:
|
|
|
res = _context7.sent;
|
|
|
if (!(res.status !== 0)) {
|
|
|
_context7.next = 5;
|
|
|
break;
|
|
|
}
|
|
|
return _context7.abrupt("return");
|
|
|
case 5:
|
|
|
message/* default.success */.ZP.success('操作成功');
|
|
|
setSpinning(false);
|
|
|
setTimeout(function () {
|
|
|
return window.location.reload();
|
|
|
}, 300);
|
|
|
case 8:
|
|
|
case "end":
|
|
|
return _context7.stop();
|
|
|
}
|
|
|
}, _callee7);
|
|
|
}));
|
|
|
function onOk() {
|
|
|
return _onOk2.apply(this, arguments);
|
|
|
}
|
|
|
return onOk;
|
|
|
}(),
|
|
|
onCancel: function onCancel() {
|
|
|
postMessageToIframe(false);
|
|
|
setSpinning(false);
|
|
|
}
|
|
|
});
|
|
|
};
|
|
|
(0,react.useEffect)(function () {
|
|
|
function onMove(e) {
|
|
|
redcuerDispatch({
|
|
|
type: 'MOVE_X',
|
|
|
payload: e.pageX
|
|
|
});
|
|
|
}
|
|
|
function onMouseUp() {
|
|
|
redcuerDispatch({
|
|
|
type: 'TRIGGER_RIGHT_PANEL_MASK',
|
|
|
payload: false
|
|
|
});
|
|
|
document.onselectstart = null;
|
|
|
}
|
|
|
if (state.showDragMask) {
|
|
|
document.addEventListener('mousemove', onMove);
|
|
|
document.addEventListener('mouseup', onMouseUp);
|
|
|
}
|
|
|
return function () {
|
|
|
document.removeEventListener('mousemove', onMove);
|
|
|
document.removeEventListener('mouseup', onMouseUp);
|
|
|
};
|
|
|
}, [state.showDragMask]);
|
|
|
var leftPanelWidth = typeof state.moveX === 'number' && state.moveX !== 0.01 ? "".concat(state.moveX, "px") : '40%';
|
|
|
var rightPanelWidth = "calc(100% - 4px - ".concat(leftPanelWidth, ")");
|
|
|
|
|
|
/**
|
|
|
*
|
|
|
*/
|
|
|
var onResizeStart = function onResizeStart(status) {
|
|
|
redcuerDispatch({
|
|
|
type: 'TRIGGER_RIGHT_PANEL_MASK',
|
|
|
payload: status
|
|
|
});
|
|
|
};
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)("section", {
|
|
|
className: Jupytermodules.bg,
|
|
|
style: {
|
|
|
userSelect: state.showDragMask ? 'none' : 'unset'
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("section", {
|
|
|
className: Jupytermodules.content,
|
|
|
style: {
|
|
|
height: jupyterData !== null && jupyterData !== void 0 && jupyterData.open_evaluate ? 'calc(100vh - 130px)' : 'calc(100vh - 60px)'
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("section", {
|
|
|
className: Jupytermodules.rightCotainer,
|
|
|
style: {
|
|
|
width: rightPanelWidth
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("main", {
|
|
|
className: Jupytermodules.main,
|
|
|
style: {
|
|
|
height: '100%'
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(react.Fragment, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: "".concat(Jupytermodules.dataSetButton, " ").concat(isOpenDrawer ? Jupytermodules.dataSetOpen : ''),
|
|
|
onClick: function onClick() {
|
|
|
return setIsOpenDrawer(!isOpenDrawer);
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: Jupytermodules.dataSetText,
|
|
|
children: "\u6570\u636E\u96C6"
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("iframe", {
|
|
|
frameBorder: 0,
|
|
|
id: "taskJupyterIframe",
|
|
|
width: "100%",
|
|
|
height: "100%",
|
|
|
allow: "geolocation; microphone; camera; midi; encrypted-media;",
|
|
|
src: taskData === null || taskData === void 0 ? void 0 : taskData.url
|
|
|
})]
|
|
|
})
|
|
|
})
|
|
|
})
|
|
|
})
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var Jupyter = ((0,_umi_production_exports.connect)(function (_ref7) {
|
|
|
var loading = _ref7.loading,
|
|
|
globalSetting = _ref7.globalSetting;
|
|
|
return {
|
|
|
globalSetting: globalSetting,
|
|
|
loading: loading
|
|
|
};
|
|
|
})(TaskJupyterPage));
|
|
|
;// CONCATENATED MODULE: ./src/pages/Innovation/Tasks/resize-enlarge.png
|
|
|
var resize_enlarge_namespaceObject = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAACgCAYAAAB+HS7YAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjczMUZFNjhCMDE3NzExRUJCOEU5RDg5RTZBOTI5QTU3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjczMUZFNjhDMDE3NzExRUJCOEU5RDg5RTZBOTI5QTU3Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NzMxRkU2ODkwMTc3MTFFQkI4RTlEODlFNkE5MjlBNTciIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NzMxRkU2OEEwMTc3MTFFQkI4RTlEODlFNkE5MjlBNTciLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7zBaLcAAACAElEQVR42uzdzyvDcRzH8ffsZiVc/IjbkOTuShN/gXIgYi5y2AlpFBL/AAdLiXBgBwfUxplmyU2tRK4sTey0+H6+RbKD7Gtfb/V817t963t59Nnn9f58+7aap6LO/yq6KmN13OoJq1MehcD3erS6rUT0VrnVC5qBpgLagWXagQIQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAABUCD6Lbkr5L2W2uv9bS3LR4vd6iAb/9BaaBfa7K+oa8+0exEwmOheT5+UXnV9zd2SEHeztSU12ldw+2tjRLbH/X/lQbktqaansluwLtelPs85XKZmRFggN9eseMSbVJ9+Js2HHCizoHRwb7ZWN12V5VtYPaacJdOUmcJNy1o67QhLt6FheScNcfFkyqmxr9eoGHsWMZD8/qBCYvLmV4NCS5XE4f8PrmVnoHRySbzeoLyf1DWnr6huxPdWPGrJhZObOC6ga12Wtmz5m9p/Kom5yZt1Or8mFhbWNLIuubOh+3fjrrXAUWMutcAxY661wBOpl1RQc6nXVFBf7GrHMEPEskP65PE+d5901anc46R68+/rp4/QYQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAP8dMKMdGNcMNH9eMaUR+GR11Oo2q6/eBBgA/5+hicfO9/sAAAAASUVORK5CYII=";
|
|
|
;// CONCATENATED MODULE: ./src/pages/Innovation/Tasks/resize-small.png
|
|
|
var resize_small_namespaceObject = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAACgCAYAAAB+HS7YAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjc0MDQ0OTA3MDE3NzExRUJCNjY1QzBDMDY3NUI5QTQ3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjc0MDQ0OTA4MDE3NzExRUJCNjY1QzBDMDY3NUI5QTQ3Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NzQwNDQ5MDUwMTc3MTFFQkI2NjVDMEMwNjc1QjlBNDciIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NzQwNDQ5MDYwMTc3MTFFQkI2NjVDMEMwNjc1QjlBNDciLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4CEd39AAACAklEQVR42uzYvyuFURjA8Yf7TpSw+BHbvSTZrXTFX6AMRLiLySSE8ismg8FAIsKAwcCA/eqSbEqJrEgMd7pxzi3iUgbn8KTvU0/37b7Lp/Oe5+k5JygoC4uJiMkpk1GTeaIoApOVJuMm80VhZJuc1Ip7BUZFcWRr23NfAQUgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQL8FWAoFJLpseFP/+9ur8v9zUU67fN3kVVQFn52jcvNzZH52RlpaqiXwvLIh3cW9j4y32dG4BpXUlwkG0vzUlNdpe8TW9T+zqYznFNgY7ROdrc2pLSkWF+RdLe3yurCXHrvuY7gp5U6MTIgsY42b20mcFGpPiPQUKlO96CPSnUG9FWpToA+K9UJsLIinK5atcNC39Co7O0f6gWmUinp6umVk9MzveNWMpmUlo6YXF5d650Hb+/upbm1M/2rdmC1K2hX0q6o2ona7kW7J+3eVDvy26ruHxnXfSZZWF6VxZU13Ycmnz3SCdBnj3Q28vvqkU4PTT56pPODu+se6eVmwWWP9Hb1YavaVndmxBPHb89HiZO/ufpQWyQAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECPD/AB+1Aw+0AwdNPmgGnpusNblt8kkb8EWAAQAq85VNhqprywAAAABJRU5ErkJggg==";
|
|
|
// EXTERNAL MODULE: ./src/pages/Innovation/Detail/components/DataSetPane/index.tsx
|
|
|
var DataSetPane = __webpack_require__(1310);
|
|
|
// EXTERNAL MODULE: ./src/pages/Innovation/Tasks/Collaborate/index.tsx + 4 modules
|
|
|
var Collaborate = __webpack_require__(94214);
|
|
|
// EXTERNAL MODULE: ./src/service/innovation.ts
|
|
|
var innovation = __webpack_require__(33265);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Innovation/Tasks/constant.js
|
|
|
var FETCH_TASK_START = 'FETCH_TASK_START';
|
|
|
var FETCH_TASK_FAILURE = 'FETCH_TASK_FAILURE';
|
|
|
var FETCH_TASK_SUCCESS = 'FETCH_TASK_SUCCESS';
|
|
|
var UPDATE_TASK_DATA = 'UPDATE_TASK_DATA';
|
|
|
var HIDE_EVALUATE_RESULT = 'HIDE_EVALUATE_RESULT';
|
|
|
var SHOW_EVALUATE_RESULT = 'SHOW_EVALUATE_RESULT';
|
|
|
var UPDATE_TIMESTRAP = 'UPDATE_TIMESTRAP';
|
|
|
var MOVE_X = 'MOVE_X';
|
|
|
var MOVE_Y = 'MOVE_Y';
|
|
|
var TRIGGER_RIGHT_PANEL_MASK = 'TRIGGER_RIGHT_PANEL_MASK ';
|
|
|
|
|
|
//left_panel_action
|
|
|
var SET_ACTIVE_INDEX = 'SET_ACTIVE_INDEX';
|
|
|
var GET_TASK_LIST = 'GET_TASK_LIST';
|
|
|
var SHOW_TASK_LIST = 'SHOW_TASK_LIST';
|
|
|
var HIDE_TASK_LIST = 'HIDE_TASK_LIST';
|
|
|
var SET_TASK_STAR = 'SET_TASK_STAR';
|
|
|
var TRIGGER_ENLARGE_UNITY3D = 'TRIGGER_ENLARGE_UNITY3D ';
|
|
|
var TRIGGER_TAB_FIXED = 'TRIGGER_TAB_FIXED ';
|
|
|
|
|
|
//discuss action
|
|
|
var GET_DISCUSSES = 'GET_DISCUSSES';
|
|
|
var SHOW_DISCUSSES_LOADING = 'SHOW_DISCUSSES_LOADING';
|
|
|
var TOP_OR_DOWN_DISCUSS = 'TOP_OR_DOWN_DISCUSS';
|
|
|
var PLUS_DISCUSS = 'PLUS_DISCUSS';
|
|
|
var SET_ACTION_TYPE = 'SET_ACTION_TYPE';
|
|
|
var SHOW_REWARD_DIALOG = 'SHOW_REWARD_DIALOG';
|
|
|
var CANCEL_REWARD_DIALOG = 'CANCEL_REWARD_DIALOG';
|
|
|
var SET_REWARD = 'SET_REWARD';
|
|
|
var ACTIVE_DISCUSS_INDEX = 'ACTIVE_DISCUSS_INDEX';
|
|
|
var CREATE_DISCUSS = 'CREATE_DISCUSS';
|
|
|
var DISABLE_DISCUSS = 'DISABLE_DISCUSS';
|
|
|
|
|
|
//answer_panel_action
|
|
|
var SHOW_ANSWER_LOADING = 'SHOW_ANSWER_LOADING';
|
|
|
var FETCH_ANSWER_INFO = 'FETCH_ANSWER_INFO';
|
|
|
var HIDE_TIP_MODAL = 'HIGH_TIP_MODAL';
|
|
|
var SHOW_TIP_MODAL = 'SHOW_TIP_MODAL';
|
|
|
var SELECT_UNLOCK_ANSWER = 'SELECT_UNLOCK_ANSWER';
|
|
|
|
|
|
//choose_repository_action
|
|
|
var SET_CHOOSE_ANSWERS = 'SET_CHOOSE_ANSWERS';
|
|
|
var EVAL_CHOOSE_START = 'EVAL_CHOOSE_START';
|
|
|
var EVAL_CHOOSE_END = 'EVAL_CHOOSE_END';
|
|
|
|
|
|
//code_repository_action
|
|
|
var SHOW_REP_LOADING = 'SHOW_REP_loading';
|
|
|
var FETCH_REP_CONTENT = 'FETCH_REP_CONTENT';
|
|
|
var EDIT_REP_CODE = 'EDIT_REP_CONTENT';
|
|
|
var SET_REP_PATH = 'SET_REP_PATH';
|
|
|
var SHOW_EVALUATE_LOADING = 'SHOW_EVALUATE_LOADING';
|
|
|
var HIDE_EVALUATE_LOADING = 'HIDE_EVALUATE_LOADING';
|
|
|
var SET_EVALUATE_MESSAGE = 'SET_EVALUATE_MESSAGE';
|
|
|
var SET_SHOW_DIR = 'SET_SHOW_DIR';
|
|
|
var SET_EDITOR_SETTING = 'SET_EDITOR_SETTING';
|
|
|
var SET_EDITOR_THEME = 'SET_EDITOR_THEME';
|
|
|
var SET_EDITOR_FONTSIZE = 'SET_EDITOR_FONTSIZE';
|
|
|
var SET_REPOS = 'SET_REPOS';
|
|
|
var SHOW_PATH_LIST = 'SHOW_PATH_LIST';
|
|
|
var HIDE_PATH_LIST = 'HIDE_PATH_LIST';
|
|
|
var HIDE_PICTURE_VIEW = 'HIDE_PICTURE_VIEW';
|
|
|
var SHOW_PICTURE_VIEW = 'SHOW_PICTURE_VIEW';
|
|
|
var SHOW_NOTICE = 'SHOW_NOTICE';
|
|
|
var HIDE_NOTICE = 'HIDE_NOTICE';
|
|
|
var SET_TAB_INDEX = 'SET_TAB_INDEX';
|
|
|
var SET_SSH_TABS = 'SET_SSH_TABS';
|
|
|
var SET_SSH_CONFIGDATA = 'SET_SSH_CONFIGDATA';
|
|
|
var SET_SSH_CONFIGDATAARR = 'SET_SSH_CONFIGDATAARR';
|
|
|
var SET_VNC_LOADING = 'SET_VNC_LOADING ';
|
|
|
var ON_TAB_TO_SPACE = 'ON_TAB_TO_SPACE ';
|
|
|
;// CONCATENATED MODULE: ./src/pages/Innovation/Tasks/index.jsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var Tasks_excluded = ["match", "history"],
|
|
|
_excluded2 = ["gold", "experience", "next_game", "next_shixun", "subject_done"];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// import EvaluateResult from './evaluate-result';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var DirectoryTree = tree/* default.DirectoryTree */.Z.DirectoryTree;
|
|
|
var BADSUFS = (/* unused pure expression or super */ null && (['jpg', 'png', 'gif', 'jpeg', 'jar', 'doc', 'pdf', 'xsl', 'ppt', 'mp3', 'mp4']));
|
|
|
var Tasks_initialState = {
|
|
|
moveX: '40%',
|
|
|
moveY: 0,
|
|
|
loading: true,
|
|
|
isError: false,
|
|
|
taskData: {
|
|
|
game: {}
|
|
|
},
|
|
|
evalData: null,
|
|
|
lastedGetTaskInfoTime: 0,
|
|
|
codeRepData: {
|
|
|
content: '',
|
|
|
language: 'c',
|
|
|
currentPath: '',
|
|
|
paths: [],
|
|
|
lastedUpdateTime: 0,
|
|
|
loading: false
|
|
|
},
|
|
|
showEvalResult: false,
|
|
|
showPictureView: false,
|
|
|
isPictureView: false,
|
|
|
showDragMask: false,
|
|
|
webDisplayUrl: '',
|
|
|
evaluateLoading: false,
|
|
|
resetVncLoading: false,
|
|
|
evaluateMessage: '',
|
|
|
showNotice: false,
|
|
|
timestamp: '',
|
|
|
showDocuments: false,
|
|
|
repos: null
|
|
|
};
|
|
|
function Tasks_reducer(state, action) {
|
|
|
switch (action.type) {
|
|
|
case MOVE_X:
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
|
|
|
moveX: action.payload
|
|
|
});
|
|
|
case MOVE_Y:
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
|
|
|
moveY: action.payload
|
|
|
});
|
|
|
case SHOW_REP_LOADING:
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
|
|
|
codeRepData: action.payload
|
|
|
});
|
|
|
case FETCH_REP_CONTENT:
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
|
|
|
codeRepData: action.payload
|
|
|
});
|
|
|
case EDIT_REP_CODE:
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
|
|
|
codeRepData: objectSpread2_default()(objectSpread2_default()({}, state.codeRepData), action.payload)
|
|
|
});
|
|
|
case SHOW_EVALUATE_RESULT:
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
|
|
|
evaluateLoading: false,
|
|
|
showEvalResult: true
|
|
|
});
|
|
|
case UPDATE_TIMESTRAP:
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
|
|
|
timestamp: action.payload
|
|
|
});
|
|
|
case HIDE_EVALUATE_RESULT:
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
|
|
|
showEvalResult: false
|
|
|
});
|
|
|
case FETCH_TASK_START:
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
|
|
|
loading: true
|
|
|
});
|
|
|
case UPDATE_TASK_DATA:
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, state), action.payload);
|
|
|
case TRIGGER_RIGHT_PANEL_MASK:
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
|
|
|
showDragMask: action.payload
|
|
|
});
|
|
|
case FETCH_TASK_FAILURE:
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
|
|
|
loading: false,
|
|
|
isError: true
|
|
|
});
|
|
|
case FETCH_TASK_SUCCESS:
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, state), action.payload);
|
|
|
case SHOW_EVALUATE_LOADING:
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
|
|
|
evaluateLoading: true
|
|
|
});
|
|
|
case HIDE_EVALUATE_LOADING:
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
|
|
|
evaluateLoading: false
|
|
|
});
|
|
|
case SET_EVALUATE_MESSAGE:
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
|
|
|
evaluateMessage: action.payload
|
|
|
});
|
|
|
case SET_SHOW_DIR:
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
|
|
|
showDocuments: action.payload
|
|
|
});
|
|
|
case SET_REPOS:
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, state), action.payload);
|
|
|
case SHOW_NOTICE:
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
|
|
|
showNotice: true
|
|
|
});
|
|
|
case HIDE_NOTICE:
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
|
|
|
showNotice: false
|
|
|
});
|
|
|
case HIDE_PICTURE_VIEW:
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
|
|
|
showPictureView: false
|
|
|
});
|
|
|
case SHOW_PICTURE_VIEW:
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
|
|
|
showPictureView: true
|
|
|
});
|
|
|
case SET_VNC_LOADING:
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
|
|
|
resetVncLoading: action.payload
|
|
|
});
|
|
|
default:
|
|
|
throw new Error();
|
|
|
}
|
|
|
}
|
|
|
//切换关卡或者用户关闭页面时需要保存用户计时与代码
|
|
|
//评测时,刷新测试集,用户金币与关卡任务信息
|
|
|
//react 缺少keep-alive 机制,所以文件目录树也需要放在顶层,在code-repository 中管理,会因为react的组件卸载导致状态丢失。
|
|
|
|
|
|
/* harmony default export */ var Tasks = (function (_ref) {
|
|
|
var _leftPanelOption;
|
|
|
var match = _ref.match,
|
|
|
history = _ref.history,
|
|
|
props = objectWithoutProperties_default()(_ref, Tasks_excluded);
|
|
|
console.log('props:', props);
|
|
|
var _params = (0,_umi_production_exports.useParams)();
|
|
|
var _useSearchParams = (0,_umi_production_exports.useSearchParams)(),
|
|
|
_useSearchParams2 = slicedToArray_default()(_useSearchParams, 1),
|
|
|
searchParams = _useSearchParams2[0];
|
|
|
var query = (0,_umi_production_exports.useLocation)().query;
|
|
|
var _useReducer = (0,react.useReducer)(Tasks_reducer, Tasks_initialState),
|
|
|
_useReducer2 = slicedToArray_default()(_useReducer, 2),
|
|
|
state = _useReducer2[0],
|
|
|
dispatch = _useReducer2[1];
|
|
|
var _useState = (0,react.useState)(1),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
showTab = _useState2[0],
|
|
|
setShowTab = _useState2[1];
|
|
|
var _useState3 = (0,react.useState)(_params.taskId),
|
|
|
_useState4 = slicedToArray_default()(_useState3, 2),
|
|
|
taskId = _useState4[0],
|
|
|
setTaskId = _useState4[1];
|
|
|
var resizeXFlag = (0,react.useRef)();
|
|
|
var resizeYFlag = (0,react.useRef)();
|
|
|
var fullscreenOrExit = (0,react.useRef)();
|
|
|
var _useState5 = (0,react.useState)(),
|
|
|
_useState6 = slicedToArray_default()(_useState5, 2),
|
|
|
datas = _useState6[0],
|
|
|
setdatas = _useState6[1];
|
|
|
var location = (0,_umi_production_exports.useLocation)();
|
|
|
(0,react.useEffect)(function () {
|
|
|
console.log('_params:', _params);
|
|
|
setTaskId(_params.taskId);
|
|
|
(0,_umi_production_exports.getDvaApp)()._store.dispatch({
|
|
|
type: 'globalSetting/headerFooterToggle',
|
|
|
payload: false
|
|
|
});
|
|
|
}, [_params]);
|
|
|
var moveX = state.moveX,
|
|
|
taskData = state.taskData,
|
|
|
moveY = state.moveY,
|
|
|
evalData = state.evalData,
|
|
|
showEvalResult = state.showEvalResult,
|
|
|
codeRepData = state.codeRepData,
|
|
|
loading = state.loading,
|
|
|
evaluateLoading = state.evaluateLoading,
|
|
|
evaluateMessage = state.evaluateMessage,
|
|
|
showDocuments = state.showDocuments,
|
|
|
repos = state.repos,
|
|
|
showPictureView = state.showPictureView,
|
|
|
showNotice = state.showNotice,
|
|
|
webDisplayUrl = state.webDisplayUrl,
|
|
|
isPictureView = state.isPictureView,
|
|
|
resetVncLoading = state.resetVncLoading,
|
|
|
timestamp = state.timestamp,
|
|
|
lastedGetTaskInfoTime = state.lastedGetTaskInfoTime,
|
|
|
showDragMask = state.showDragMask;
|
|
|
var st = taskData.st,
|
|
|
challenge = taskData.challenge,
|
|
|
shixun = taskData.shixun,
|
|
|
is_teacher = taskData.is_teacher,
|
|
|
game = taskData.game,
|
|
|
has_answer = taskData.has_answer,
|
|
|
vnc_url = taskData.vnc_url,
|
|
|
git_url = taskData.git_url,
|
|
|
user = taskData.user,
|
|
|
myshixun = taskData.myshixun,
|
|
|
discusses_count = taskData.discusses_count,
|
|
|
user_praise = taskData.user_praise,
|
|
|
praise_count = taskData.praise_count,
|
|
|
tpm_cases_modified = taskData.tpm_cases_modified,
|
|
|
tpm_modified = taskData.tpm_modified,
|
|
|
tpm_script_modified = taskData.tpm_script_modified,
|
|
|
mirror_name = taskData.mirror_name,
|
|
|
mirror_description = taskData.mirror_description,
|
|
|
tomcat_url = taskData.tomcat_url,
|
|
|
unity_3d_routes = taskData.unity_3d_routes,
|
|
|
with_code_file = taskData.with_code_file,
|
|
|
unity_3d_result = taskData.unity_3d_result,
|
|
|
next_game = taskData.next_game,
|
|
|
prev_game = taskData.prev_game;
|
|
|
var currentPath = codeRepData.currentPath,
|
|
|
paths = codeRepData.paths,
|
|
|
content = codeRepData.content,
|
|
|
language = codeRepData.language,
|
|
|
lastedUpdateTime = codeRepData.lastedUpdateTime;
|
|
|
var isUpdateScript = (tpm_modified || tpm_script_modified) && st === 0;
|
|
|
var isNotice = (tpm_cases_modified || isUpdateScript) && myshixun.system_tip === true;
|
|
|
var isHtml = (mirror_name || []).indexOf('Html') !== -1;
|
|
|
var isEditPath = (0,react.useMemo)(function () {
|
|
|
if (currentPath && paths) {
|
|
|
return paths.indexOf(currentPath) >= 0;
|
|
|
}
|
|
|
return false;
|
|
|
}, [currentPath, paths]);
|
|
|
var noDragging = (0,react.useMemo)(function () {
|
|
|
return unity_3d_routes && !with_code_file || (challenge === null || challenge === void 0 ? void 0 : challenge.thiry_party) || vnc_url;
|
|
|
}, [vnc_url, with_code_file, unity_3d_routes]);
|
|
|
(0,react.useEffect)(function () {
|
|
|
if (unity_3d_routes && with_code_file) {
|
|
|
dispatch({
|
|
|
type: SHOW_EVALUATE_LOADING
|
|
|
});
|
|
|
var unsub = mediator/* default.subscribe */.Z.subscribe('unity3d-load-end', function () {
|
|
|
dispatch({
|
|
|
type: HIDE_EVALUATE_LOADING
|
|
|
});
|
|
|
});
|
|
|
return unsub;
|
|
|
}
|
|
|
}, [taskId, unity_3d_routes, challenge === null || challenge === void 0 ? void 0 : challenge.thiry_party, with_code_file, dispatch]);
|
|
|
(0,react.useEffect)(function () {
|
|
|
getdata();
|
|
|
}, []);
|
|
|
function getdata() {
|
|
|
return _getdata.apply(this, arguments);
|
|
|
}
|
|
|
function _getdata() {
|
|
|
_getdata = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee5() {
|
|
|
var res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee5$(_context5) {
|
|
|
while (1) switch (_context5.prev = _context5.next) {
|
|
|
case 0:
|
|
|
_context5.next = 2;
|
|
|
return (0,fetch/* default */.ZP)("/api/sci/projects/".concat(taskId, ".json"), {
|
|
|
method: 'get'
|
|
|
});
|
|
|
case 2:
|
|
|
res = _context5.sent;
|
|
|
setdatas(res);
|
|
|
case 4:
|
|
|
case "end":
|
|
|
return _context5.stop();
|
|
|
}
|
|
|
}, _callee5);
|
|
|
}));
|
|
|
return _getdata.apply(this, arguments);
|
|
|
}
|
|
|
function init(_x) {
|
|
|
return _init.apply(this, arguments);
|
|
|
}
|
|
|
function _init() {
|
|
|
_init = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee6(didCancel) {
|
|
|
var response, status, payload;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee6$(_context6) {
|
|
|
while (1) switch (_context6.prev = _context6.next) {
|
|
|
case 0:
|
|
|
_context6.prev = 0;
|
|
|
_context6.next = 3;
|
|
|
return (0,innovation/* startEnvironment */.ie)(taskId);
|
|
|
case 3:
|
|
|
response = _context6.sent;
|
|
|
status = response.status;
|
|
|
if (!(status === 401)) {
|
|
|
_context6.next = 10;
|
|
|
break;
|
|
|
}
|
|
|
history.replace('/user/login', {
|
|
|
from: location.pathname
|
|
|
});
|
|
|
return _context6.abrupt("return");
|
|
|
case 10:
|
|
|
if (!(status === -3)) {
|
|
|
_context6.next = 14;
|
|
|
break;
|
|
|
}
|
|
|
(0,util/* bindPhone */.eF)({
|
|
|
onCancel: function onCancel() {
|
|
|
window.location.href = '/';
|
|
|
}
|
|
|
});
|
|
|
_context6.next = 25;
|
|
|
break;
|
|
|
case 14:
|
|
|
if (!(status === 403)) {
|
|
|
_context6.next = 18;
|
|
|
break;
|
|
|
}
|
|
|
history.replace('/403');
|
|
|
_context6.next = 25;
|
|
|
break;
|
|
|
case 18:
|
|
|
if (!(status === 404)) {
|
|
|
_context6.next = 23;
|
|
|
break;
|
|
|
}
|
|
|
history.replace('/404');
|
|
|
return _context6.abrupt("return");
|
|
|
case 23:
|
|
|
payload = {
|
|
|
loading: false,
|
|
|
isError: false,
|
|
|
taskData: response
|
|
|
};
|
|
|
if (!didCancel) {
|
|
|
dispatch({
|
|
|
type: FETCH_TASK_SUCCESS,
|
|
|
payload: payload
|
|
|
});
|
|
|
}
|
|
|
case 25:
|
|
|
if (response.mirror_type === 'webssh') {
|
|
|
setTimeout(function () {
|
|
|
mediator/* default.publish */.Z.publish('create-socket', 1);
|
|
|
}, 1000);
|
|
|
}
|
|
|
_context6.next = 32;
|
|
|
break;
|
|
|
case 28:
|
|
|
_context6.prev = 28;
|
|
|
_context6.t0 = _context6["catch"](0);
|
|
|
console.log(_context6.t0);
|
|
|
if (!didCancel) {
|
|
|
dispatch({
|
|
|
type: FETCH_TASK_FAILURE
|
|
|
});
|
|
|
}
|
|
|
case 32:
|
|
|
case "end":
|
|
|
return _context6.stop();
|
|
|
}
|
|
|
}, _callee6, null, [[0, 28]]);
|
|
|
}));
|
|
|
return _init.apply(this, arguments);
|
|
|
}
|
|
|
(0,react.useEffect)(function () {
|
|
|
var didCancel = false;
|
|
|
init(didCancel);
|
|
|
return function () {
|
|
|
didCancel = true;
|
|
|
};
|
|
|
}, [dispatch, taskId]);
|
|
|
(0,react.useEffect)(function () {
|
|
|
var didCancel = false;
|
|
|
function init() {
|
|
|
return _init2.apply(this, arguments);
|
|
|
}
|
|
|
function _init2() {
|
|
|
_init2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
|
|
|
var data, _content, _content2, _data$content, _data$content2, _data$content3;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
|
|
|
while (1) switch (_context.prev = _context.next) {
|
|
|
case 0:
|
|
|
dispatch({
|
|
|
type: SHOW_REP_LOADING,
|
|
|
payload: objectSpread2_default()(objectSpread2_default()({}, codeRepData), {}, {
|
|
|
loading: true
|
|
|
})
|
|
|
});
|
|
|
if (!(unity_3d_routes && !with_code_file || challenge !== null && challenge !== void 0 && challenge.thiry_party)) {
|
|
|
_context.next = 3;
|
|
|
break;
|
|
|
}
|
|
|
return _context.abrupt("return");
|
|
|
case 3:
|
|
|
_context.next = 5;
|
|
|
return fetchCode(taskId, {
|
|
|
path: currentPath
|
|
|
});
|
|
|
case 5:
|
|
|
data = _context.sent;
|
|
|
if (!didCancel) {
|
|
|
if (data.status === 0) {
|
|
|
message/* default.info */.ZP.info(data.message);
|
|
|
dispatch({
|
|
|
type: FETCH_REP_CONTENT,
|
|
|
payload: objectSpread2_default()(objectSpread2_default()({}, codeRepData), {}, {
|
|
|
loading: false
|
|
|
})
|
|
|
});
|
|
|
} else {
|
|
|
try {
|
|
|
// if (!!data?.content?.content?.length) {
|
|
|
if ((data === null || data === void 0 ? void 0 : data.file_type) === 'txt') {
|
|
|
_content = ((_content2 = _content) === null || _content2 === void 0 ? void 0 : _content2.length) === 0 ? _content : window.decodeURIComponent(escape(window.atob(data === null || data === void 0 ? void 0 : (_data$content = data.content) === null || _data$content === void 0 ? void 0 : _data$content.content)));
|
|
|
} else {
|
|
|
_content = data === null || data === void 0 ? void 0 : (_data$content2 = data.content) === null || _data$content2 === void 0 ? void 0 : _data$content2.content;
|
|
|
}
|
|
|
// }
|
|
|
} catch (e) {
|
|
|
_content = window.atob(data === null || data === void 0 ? void 0 : (_data$content3 = data.content) === null || _data$content3 === void 0 ? void 0 : _data$content3.content);
|
|
|
message/* default.warning */.ZP.warning('请确认文件字符集编码是否为UTF-8');
|
|
|
console.log('err:', e);
|
|
|
}
|
|
|
dispatch({
|
|
|
type: FETCH_REP_CONTENT,
|
|
|
payload: objectSpread2_default()(objectSpread2_default()({}, codeRepData), {}, {
|
|
|
content: _content,
|
|
|
language: data.language,
|
|
|
file_type: data.file_type,
|
|
|
filename: data.filename,
|
|
|
lastedUpdateTime: 0,
|
|
|
loading: false
|
|
|
})
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
case 7:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
}));
|
|
|
return _init2.apply(this, arguments);
|
|
|
}
|
|
|
if (st === 0 && currentPath && shixun.hide_code !== 1) {
|
|
|
// if (vnc_url || taskData?.windows_vnc) {
|
|
|
// return;
|
|
|
// }
|
|
|
init();
|
|
|
return function () {
|
|
|
didCancel = true;
|
|
|
};
|
|
|
}
|
|
|
}, [st, currentPath, lastedGetTaskInfoTime, timestamp]);
|
|
|
var onUpdateCode = /*#__PURE__*/function () {
|
|
|
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2() {
|
|
|
var evaluate,
|
|
|
response,
|
|
|
_args2 = arguments;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
|
|
|
while (1) switch (_context2.prev = _context2.next) {
|
|
|
case 0:
|
|
|
evaluate = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : 0;
|
|
|
console.log('lastedUpdateTime:', isEditPath, evaluate);
|
|
|
if (!(
|
|
|
// shixun?.hide_code !== 1 &&
|
|
|
st === 0 && lastedUpdateTime > 0 && isEditPath || evaluate)) {
|
|
|
_context2.next = 8;
|
|
|
break;
|
|
|
}
|
|
|
_context2.next = 5;
|
|
|
return updateCode(myshixun.identifier, {
|
|
|
path: currentPath,
|
|
|
evaluate: evaluate,
|
|
|
content: content,
|
|
|
game_id: game.id
|
|
|
});
|
|
|
case 5:
|
|
|
response = _context2.sent;
|
|
|
dispatch({
|
|
|
type: EDIT_REP_CODE,
|
|
|
payload: {
|
|
|
lastedUpdateTime: 0
|
|
|
}
|
|
|
});
|
|
|
return _context2.abrupt("return", response);
|
|
|
case 8:
|
|
|
return _context2.abrupt("return", true);
|
|
|
case 9:
|
|
|
case "end":
|
|
|
return _context2.stop();
|
|
|
}
|
|
|
}, _callee2);
|
|
|
}));
|
|
|
return function onUpdateCode() {
|
|
|
return _ref2.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
|
|
|
// useEffect(() => {
|
|
|
// onUpdateCode();
|
|
|
// }, [st, lastedUpdateTime, currentPath, content, game?.id, isEditPath])
|
|
|
|
|
|
//保存上下文
|
|
|
var onSaveContent = (0,react.useCallback)(function () {
|
|
|
// if (game) {
|
|
|
// if (game.status !== 2) {
|
|
|
// mediator.publish('update-cost-time');
|
|
|
// }
|
|
|
// }
|
|
|
// try {
|
|
|
// if (myshixun?.identifier) {
|
|
|
// let bodys = {
|
|
|
// path: currentPath,
|
|
|
// evaluate: 0,
|
|
|
// content,
|
|
|
// game_id: game.id,
|
|
|
// };
|
|
|
// let headers = {
|
|
|
// type: 'application/json',
|
|
|
// };
|
|
|
// let blob = new Blob([JSON.stringify(bodys)], headers);
|
|
|
// window.navigator.sendBeacon(
|
|
|
// `${ENV.API_SERVER}/api/myshixuns/${myshixun?.identifier}/update_file.json`,
|
|
|
// blob,
|
|
|
// );
|
|
|
// }
|
|
|
// } catch (e) {}
|
|
|
// onUpdateCode();
|
|
|
}, [onUpdateCode]);
|
|
|
|
|
|
//解锁测试集
|
|
|
(0,react.useEffect)(function () {
|
|
|
var unSub = mediator/* default.subscribe */.Z.subscribe('unlock-test-case', function () {
|
|
|
var _Modal$confirm;
|
|
|
es_modal/* default.confirm */.Z.confirm((_Modal$confirm = {
|
|
|
centered: true,
|
|
|
okText: '确定',
|
|
|
cancelText: '取消',
|
|
|
title: '提示',
|
|
|
content: /*#__PURE__*/(0,jsx_runtime.jsx)(UnLockTestTip, {
|
|
|
score: challenge.score,
|
|
|
is_teacher: is_teacher
|
|
|
})
|
|
|
}, defineProperty_default()(_Modal$confirm, "centered", true), defineProperty_default()(_Modal$confirm, "onOk", onUnlockTestCase), _Modal$confirm));
|
|
|
});
|
|
|
return unSub;
|
|
|
}, [onUnlockTestCase, challenge, is_teacher]);
|
|
|
var onUnlockTestCase = (0,react.useCallback)( /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3() {
|
|
|
var response, test_sets, message, status, grade;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee3$(_context3) {
|
|
|
while (1) switch (_context3.prev = _context3.next) {
|
|
|
case 0:
|
|
|
_context3.next = 2;
|
|
|
return unlockTestCase(game.identifier);
|
|
|
case 2:
|
|
|
response = _context3.sent;
|
|
|
test_sets = response.test_sets, message = response.message, status = response.status;
|
|
|
if (!(status === -1)) {
|
|
|
_context3.next = 7;
|
|
|
break;
|
|
|
}
|
|
|
message.info(message);
|
|
|
return _context3.abrupt("return");
|
|
|
case 7:
|
|
|
grade = taskData['user'].grade;
|
|
|
taskData['user'].grade = grade - challenge.score * 2;
|
|
|
taskData['test_sets'] = test_sets;
|
|
|
taskData['game']['test_sets_view'] = true;
|
|
|
dispatch({
|
|
|
type: UPDATE_TASK_DATA,
|
|
|
payload: {
|
|
|
taskData: taskData
|
|
|
}
|
|
|
});
|
|
|
case 12:
|
|
|
case "end":
|
|
|
return _context3.stop();
|
|
|
}
|
|
|
}, _callee3);
|
|
|
})), [game, challenge, dispatch]);
|
|
|
(0,react.useEffect)(function () {
|
|
|
if (!noDragging || vnc_url) {
|
|
|
var onMove = function onMove(e) {
|
|
|
if (resizeXFlag.current) {
|
|
|
dispatch({
|
|
|
type: MOVE_X,
|
|
|
payload: e.pageX
|
|
|
});
|
|
|
}
|
|
|
if (resizeYFlag.current) {
|
|
|
dispatch({
|
|
|
type: MOVE_Y,
|
|
|
payload: e.pageY
|
|
|
});
|
|
|
}
|
|
|
};
|
|
|
var onMouseUp = function onMouseUp() {
|
|
|
resizeXFlag.current = false;
|
|
|
resizeYFlag.current = false;
|
|
|
dispatch({
|
|
|
type: TRIGGER_RIGHT_PANEL_MASK,
|
|
|
payload: false
|
|
|
});
|
|
|
document.onselectstart = null;
|
|
|
};
|
|
|
document.addEventListener('mousemove', onMove);
|
|
|
document.addEventListener('mouseup', onMouseUp);
|
|
|
return function () {
|
|
|
document.removeEventListener('mousemove', onMove);
|
|
|
document.removeEventListener('mouseup', onMouseUp);
|
|
|
};
|
|
|
}
|
|
|
}, [resizeYFlag.current, resizeXFlag.current, noDragging, dispatch]);
|
|
|
function minuxUserGrade(value) {
|
|
|
var grade = taskData['user'].grade;
|
|
|
taskData['user'].grade = grade - value;
|
|
|
dispatch({
|
|
|
type: UPDATE_TASK_DATA,
|
|
|
payload: {
|
|
|
taskData: taskData
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
fullscreenOrExit.current = function () {
|
|
|
state.moveX = state.moveX !== 0.01 ? 0.01 : '40%';
|
|
|
dispatch({
|
|
|
type: MOVE_X,
|
|
|
payload: state.moveX
|
|
|
});
|
|
|
};
|
|
|
function onResizeStart() {
|
|
|
if (noDragging) {
|
|
|
fullscreenOrExit.current();
|
|
|
} else {
|
|
|
document.onselectstart = function () {
|
|
|
return false;
|
|
|
};
|
|
|
resizeXFlag.current = true;
|
|
|
dispatch({
|
|
|
type: TRIGGER_RIGHT_PANEL_MASK,
|
|
|
payload: true
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
function onResizeYStart() {
|
|
|
document.onselectstart = function () {
|
|
|
return false;
|
|
|
};
|
|
|
resizeYFlag.current = true;
|
|
|
if (taskData !== null && taskData !== void 0 && taskData.vnc_url || taskData !== null && taskData !== void 0 && taskData.windows_vnc || taskData !== null && taskData !== void 0 && taskData.linux_vnc || taskData !== null && taskData !== void 0 && taskData.virtual_machine || (shixun === null || shixun === void 0 ? void 0 : shixun.hide_code) === 2) {
|
|
|
dispatch({
|
|
|
type: TRIGGER_RIGHT_PANEL_MASK,
|
|
|
payload: true
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
function onResizeSetContainer(value) {
|
|
|
if (value === 0.01) {
|
|
|
dispatch({
|
|
|
type: MOVE_Y,
|
|
|
payload: 0
|
|
|
});
|
|
|
} else {
|
|
|
dispatch({
|
|
|
type: MOVE_Y,
|
|
|
payload: 0.01
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
function onResizeCodeArea(value) {
|
|
|
if (value === 0) {
|
|
|
dispatch({
|
|
|
type: MOVE_Y,
|
|
|
payload: '100%'
|
|
|
});
|
|
|
} else {
|
|
|
dispatch({
|
|
|
type: MOVE_Y,
|
|
|
payload: 0
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
(0,react.useEffect)(function () {
|
|
|
var unSub = mediator/* default.subscribe */.Z.subscribe('vnc-enlarge', function () {
|
|
|
fullscreenOrExit.current();
|
|
|
});
|
|
|
return unSub;
|
|
|
}, []);
|
|
|
function onFinishDisplayHtml() {
|
|
|
onUpdateCode();
|
|
|
}
|
|
|
function onResetCode() {
|
|
|
return _onResetCode.apply(this, arguments);
|
|
|
}
|
|
|
function _onResetCode() {
|
|
|
_onResetCode = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee7() {
|
|
|
var response, content, language;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee7$(_context7) {
|
|
|
while (1) switch (_context7.prev = _context7.next) {
|
|
|
case 0:
|
|
|
_context7.next = 2;
|
|
|
return restoreCode(taskId, {
|
|
|
path: currentPath
|
|
|
});
|
|
|
case 2:
|
|
|
response = _context7.sent;
|
|
|
content = response.content, language = response.language;
|
|
|
dispatch({
|
|
|
type: FETCH_REP_CONTENT,
|
|
|
payload: objectSpread2_default()(objectSpread2_default()({}, codeRepData), {}, {
|
|
|
content: content,
|
|
|
language: language,
|
|
|
lastedUpdateTime: 0,
|
|
|
loading: false
|
|
|
})
|
|
|
});
|
|
|
case 5:
|
|
|
case "end":
|
|
|
return _context7.stop();
|
|
|
}
|
|
|
}, _callee7);
|
|
|
}));
|
|
|
return _onResetCode.apply(this, arguments);
|
|
|
}
|
|
|
function onResetGitCode() {
|
|
|
return _onResetGitCode.apply(this, arguments);
|
|
|
}
|
|
|
function _onResetGitCode() {
|
|
|
_onResetGitCode = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee8() {
|
|
|
var _taskData$myshixun;
|
|
|
var response;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee8$(_context8) {
|
|
|
while (1) switch (_context8.prev = _context8.next) {
|
|
|
case 0:
|
|
|
_context8.next = 2;
|
|
|
return resetGitCode(taskData === null || taskData === void 0 ? void 0 : (_taskData$myshixun = taskData.myshixun) === null || _taskData$myshixun === void 0 ? void 0 : _taskData$myshixun.identifier, {});
|
|
|
case 2:
|
|
|
response = _context8.sent;
|
|
|
init();
|
|
|
return _context8.abrupt("return", response);
|
|
|
case 5:
|
|
|
case "end":
|
|
|
return _context8.stop();
|
|
|
}
|
|
|
}, _callee8);
|
|
|
}));
|
|
|
return _onResetGitCode.apply(this, arguments);
|
|
|
}
|
|
|
function onResetPassedCode() {
|
|
|
return _onResetPassedCode.apply(this, arguments);
|
|
|
}
|
|
|
function _onResetPassedCode() {
|
|
|
_onResetPassedCode = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee9() {
|
|
|
var response, content, language;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee9$(_context9) {
|
|
|
while (1) switch (_context9.prev = _context9.next) {
|
|
|
case 0:
|
|
|
_context9.next = 2;
|
|
|
return resetPassedCode(taskId, {
|
|
|
path: currentPath
|
|
|
});
|
|
|
case 2:
|
|
|
response = _context9.sent;
|
|
|
content = response.content, language = response.language;
|
|
|
dispatch({
|
|
|
type: FETCH_REP_CONTENT,
|
|
|
payload: objectSpread2_default()(objectSpread2_default()({}, codeRepData), {}, {
|
|
|
content: content,
|
|
|
language: language,
|
|
|
lastedUpdateTime: 0,
|
|
|
loading: false
|
|
|
})
|
|
|
});
|
|
|
case 5:
|
|
|
case "end":
|
|
|
return _context9.stop();
|
|
|
}
|
|
|
}, _callee9);
|
|
|
}));
|
|
|
return _onResetPassedCode.apply(this, arguments);
|
|
|
}
|
|
|
(0,react.useEffect)(function () {
|
|
|
if (st === 0 && challenge && challenge.path) {
|
|
|
var _paths = challenge.path.split(';').filter(function (item) {
|
|
|
return !!item;
|
|
|
});
|
|
|
dispatch({
|
|
|
type: EDIT_REP_CODE,
|
|
|
payload: {
|
|
|
currentPath: _paths[0],
|
|
|
paths: _paths
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
}, [challenge, st]);
|
|
|
(0,react.useEffect)(function () {
|
|
|
if (shixun) {
|
|
|
(0,util/* setDocumentTitle */.Dk)(shixun.name || '实践项目名称-未填写');
|
|
|
}
|
|
|
}, [shixun]);
|
|
|
function onPlusOrCancelPraise() {
|
|
|
return _onPlusOrCancelPraise.apply(this, arguments);
|
|
|
}
|
|
|
function _onPlusOrCancelPraise() {
|
|
|
_onPlusOrCancelPraise = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee10() {
|
|
|
var response, praise_count, praise;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee10$(_context10) {
|
|
|
while (1) switch (_context10.prev = _context10.next) {
|
|
|
case 0:
|
|
|
_context10.next = 2;
|
|
|
return plusOrCancelPraise(taskId);
|
|
|
case 2:
|
|
|
response = _context10.sent;
|
|
|
praise_count = response.praise_count, praise = response.praise;
|
|
|
taskData.praise_count = praise_count;
|
|
|
taskData['user_praise'] = praise;
|
|
|
dispatch({
|
|
|
type: UPDATE_TASK_DATA,
|
|
|
payload: {
|
|
|
taskData: taskData
|
|
|
}
|
|
|
});
|
|
|
case 7:
|
|
|
case "end":
|
|
|
return _context10.stop();
|
|
|
}
|
|
|
}, _callee10);
|
|
|
}));
|
|
|
return _onPlusOrCancelPraise.apply(this, arguments);
|
|
|
}
|
|
|
var onUpdateCostTime = (0,react.useCallback)(function (time) {
|
|
|
function init(_x2) {
|
|
|
return _init3.apply(this, arguments);
|
|
|
}
|
|
|
function _init3() {
|
|
|
_init3 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee4(time) {
|
|
|
return regeneratorRuntime_default()().wrap(function _callee4$(_context4) {
|
|
|
while (1) switch (_context4.prev = _context4.next) {
|
|
|
case 0:
|
|
|
try {
|
|
|
window.navigator.sendBeacon("".concat(env/* default.API_SERVER */.Z.API_SERVER, "/api/tasks/").concat(taskId, "/cost_time.json?time=").concat(time), JSON.stringify({
|
|
|
time: time
|
|
|
}));
|
|
|
} catch (e) {}
|
|
|
// await updateCostTime(taskId, { time });
|
|
|
case 1:
|
|
|
case "end":
|
|
|
return _context4.stop();
|
|
|
}
|
|
|
}, _callee4);
|
|
|
}));
|
|
|
return _init3.apply(this, arguments);
|
|
|
}
|
|
|
init(time);
|
|
|
}, [taskId]);
|
|
|
function onSaveTaskStar(_x3) {
|
|
|
return _onSaveTaskStar.apply(this, arguments);
|
|
|
}
|
|
|
function _onSaveTaskStar() {
|
|
|
_onSaveTaskStar = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee11(value) {
|
|
|
return regeneratorRuntime_default()().wrap(function _callee11$(_context11) {
|
|
|
while (1) switch (_context11.prev = _context11.next) {
|
|
|
case 0:
|
|
|
_context11.next = 2;
|
|
|
return saveTaskStar(taskId, shixun.id, value);
|
|
|
case 2:
|
|
|
taskData['game']['star'] = value;
|
|
|
dispatch({
|
|
|
type: UPDATE_TASK_DATA,
|
|
|
payload: {
|
|
|
taskData: taskData
|
|
|
}
|
|
|
});
|
|
|
case 4:
|
|
|
case "end":
|
|
|
return _context11.stop();
|
|
|
}
|
|
|
}, _callee11);
|
|
|
}));
|
|
|
return _onSaveTaskStar.apply(this, arguments);
|
|
|
}
|
|
|
function onShowDir() {
|
|
|
return _onShowDir.apply(this, arguments);
|
|
|
}
|
|
|
function _onShowDir() {
|
|
|
_onShowDir = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee12() {
|
|
|
var response, trees;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee12$(_context12) {
|
|
|
while (1) switch (_context12.prev = _context12.next) {
|
|
|
case 0:
|
|
|
if (repos) {
|
|
|
_context12.next = 8;
|
|
|
break;
|
|
|
}
|
|
|
_context12.next = 3;
|
|
|
return fetchRepos(myshixun.identifier);
|
|
|
case 3:
|
|
|
response = _context12.sent;
|
|
|
trees = response.trees;
|
|
|
dispatch({
|
|
|
type: SET_REPOS,
|
|
|
payload: {
|
|
|
showDocuments: true,
|
|
|
repos: getTreeData(trees)
|
|
|
}
|
|
|
});
|
|
|
_context12.next = 9;
|
|
|
break;
|
|
|
case 8:
|
|
|
dispatch({
|
|
|
type: SET_SHOW_DIR,
|
|
|
payload: true
|
|
|
});
|
|
|
case 9:
|
|
|
case "end":
|
|
|
return _context12.stop();
|
|
|
}
|
|
|
}, _callee12);
|
|
|
}));
|
|
|
return _onShowDir.apply(this, arguments);
|
|
|
}
|
|
|
function onLoadTreeData(_x4) {
|
|
|
return _onLoadTreeData.apply(this, arguments);
|
|
|
}
|
|
|
function _onLoadTreeData() {
|
|
|
_onLoadTreeData = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee14(node) {
|
|
|
var _node$props, children, eventKey;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee14$(_context14) {
|
|
|
while (1) switch (_context14.prev = _context14.next) {
|
|
|
case 0:
|
|
|
_node$props = node.props, children = _node$props.children, eventKey = _node$props.eventKey;
|
|
|
return _context14.abrupt("return", new Promise( /*#__PURE__*/function () {
|
|
|
var _ref4 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee13(resolve) {
|
|
|
var response, trees, newRepos;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee13$(_context13) {
|
|
|
while (1) switch (_context13.prev = _context13.next) {
|
|
|
case 0:
|
|
|
if (children && children.length > 0) {
|
|
|
resolve();
|
|
|
}
|
|
|
_context13.next = 3;
|
|
|
return fetchRepos(myshixun.identifier, {
|
|
|
path: eventKey
|
|
|
});
|
|
|
case 3:
|
|
|
response = _context13.sent;
|
|
|
trees = response.trees;
|
|
|
newRepos = processTreeData(repos, eventKey, getTreeData(trees, eventKey));
|
|
|
dispatch({
|
|
|
type: SET_REPOS,
|
|
|
payload: {
|
|
|
repos: toConsumableArray_default()(newRepos)
|
|
|
}
|
|
|
});
|
|
|
resolve();
|
|
|
case 8:
|
|
|
case "end":
|
|
|
return _context13.stop();
|
|
|
}
|
|
|
}, _callee13);
|
|
|
}));
|
|
|
return function (_x9) {
|
|
|
return _ref4.apply(this, arguments);
|
|
|
};
|
|
|
}()));
|
|
|
case 2:
|
|
|
case "end":
|
|
|
return _context14.stop();
|
|
|
}
|
|
|
}, _callee14);
|
|
|
}));
|
|
|
return _onLoadTreeData.apply(this, arguments);
|
|
|
}
|
|
|
function onHideDocuments() {
|
|
|
dispatch({
|
|
|
type: SET_SHOW_DIR,
|
|
|
payload: false
|
|
|
});
|
|
|
}
|
|
|
function onEvalChoose(value) {
|
|
|
var gold = value.gold,
|
|
|
experience = value.experience,
|
|
|
next_game = value.next_game,
|
|
|
next_shixun = value.next_shixun,
|
|
|
subject_done = value.subject_done,
|
|
|
rest = objectWithoutProperties_default()(value, _excluded2);
|
|
|
var isOk = rest.challenge_chooses_count === rest.choose_correct_num;
|
|
|
var new_test_cases = {
|
|
|
had_submmit: true,
|
|
|
test_sets: rest.test_sets,
|
|
|
challenge_chooses_count: rest.challenge_chooses_count,
|
|
|
choose_correct_num: rest.choose_correct_num
|
|
|
};
|
|
|
taskData['choose_test_cases'] = new_test_cases;
|
|
|
if (isOk) {
|
|
|
taskData['game'].status = 2;
|
|
|
taskData['next_game'] = next_game;
|
|
|
taskData['user']['grade'] += gold;
|
|
|
}
|
|
|
if (isOk && game.status !== 2) {
|
|
|
mediator/* default.publish */.Z.publish('update-cost-time');
|
|
|
}
|
|
|
dispatch({
|
|
|
type: UPDATE_TASK_DATA,
|
|
|
payload: {
|
|
|
taskData: taskData,
|
|
|
evalData: {
|
|
|
gold: gold,
|
|
|
experience: experience,
|
|
|
next_game: next_game,
|
|
|
next_shixun: next_shixun,
|
|
|
subject_done: subject_done
|
|
|
// had_done,
|
|
|
},
|
|
|
|
|
|
showEvalResult: isOk
|
|
|
}
|
|
|
});
|
|
|
//*评测完成后有10秒倒计时
|
|
|
mediator/* default.publish */.Z.publish('eval-code-finish');
|
|
|
}
|
|
|
function onEvalCode() {
|
|
|
return _onEvalCode.apply(this, arguments);
|
|
|
}
|
|
|
function _onEvalCode() {
|
|
|
_onEvalCode = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee16() {
|
|
|
var response, resubmit, sec_key, content_modified, params, _taskData$challenge, rs, getGameStatus, count, intervalTime, time_out;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee16$(_context16) {
|
|
|
while (1) switch (_context16.prev = _context16.next) {
|
|
|
case 0:
|
|
|
_context16.prev = 0;
|
|
|
dispatch({
|
|
|
type: SHOW_EVALUATE_LOADING
|
|
|
});
|
|
|
_context16.next = 4;
|
|
|
return onUpdateCode(1);
|
|
|
case 4:
|
|
|
response = _context16.sent;
|
|
|
resubmit = response.resubmit, sec_key = response.sec_key, content_modified = response.content_modified;
|
|
|
if (!(response.status && response.status < 0)) {
|
|
|
_context16.next = 10;
|
|
|
break;
|
|
|
}
|
|
|
// message.warning(response?.message,'message-key');
|
|
|
mediator/* default.publish */.Z.publish('eval-code-finish');
|
|
|
dispatch({
|
|
|
type: UPDATE_TASK_DATA,
|
|
|
payload: {
|
|
|
evaluateLoading: false
|
|
|
}
|
|
|
});
|
|
|
return _context16.abrupt("return");
|
|
|
case 10:
|
|
|
params = {
|
|
|
sec_key: sec_key,
|
|
|
resubmit: resubmit,
|
|
|
first: 1,
|
|
|
content_modified: content_modified
|
|
|
}; // 只有试卷考试才需要下面参数
|
|
|
if (query.type === 'exercises') {
|
|
|
params.extras = {
|
|
|
exercise_id: query.exercisesId,
|
|
|
//试卷id
|
|
|
question_id: query.questionId,
|
|
|
// 题目id
|
|
|
challenge_id: (_taskData$challenge = taskData.challenge) === null || _taskData$challenge === void 0 ? void 0 : _taskData$challenge.id,
|
|
|
// 关卡id
|
|
|
subject_id: query.subject_id || ''
|
|
|
};
|
|
|
}
|
|
|
_context16.next = 14;
|
|
|
return codeGameBuild(taskId, params);
|
|
|
case 14:
|
|
|
rs = _context16.sent;
|
|
|
if (!(rs.status === -1 && query.type === 'exercises')) {
|
|
|
_context16.next = 18;
|
|
|
break;
|
|
|
}
|
|
|
window.parent.location.href = "/classrooms/".concat(searchParams.get("coursesId"), "/exercise/").concat(searchParams.get("exercisesId"), "/detail");
|
|
|
return _context16.abrupt("return");
|
|
|
case 18:
|
|
|
if (rs.status === 1) {
|
|
|
getGameStatus = /*#__PURE__*/function () {
|
|
|
var _ref5 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee15(intervalTime, finalTime, count) {
|
|
|
var _taskData$challenge2;
|
|
|
var excuteTime, source, ds, status, running_code_message, port, web_route, playUrl, isWeb, isOk, isPicture, isShowEvalResult, payload;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee15$(_context15) {
|
|
|
while (1) switch (_context15.prev = _context15.next) {
|
|
|
case 0:
|
|
|
excuteTime = count++ * intervalTime;
|
|
|
if (excuteTime / 1000 > finalTime) {
|
|
|
time_out = true;
|
|
|
}
|
|
|
_context15.next = 4;
|
|
|
return getCodeGameStatus(taskId, {
|
|
|
resubmit: resubmit,
|
|
|
time_out: time_out,
|
|
|
port: rs.port,
|
|
|
sec_key: sec_key,
|
|
|
challenge_id: taskData === null || taskData === void 0 ? void 0 : (_taskData$challenge2 = taskData.challenge) === null || _taskData$challenge2 === void 0 ? void 0 : _taskData$challenge2.id,
|
|
|
subject_id: query.subject_id || ''
|
|
|
});
|
|
|
case 4:
|
|
|
source = _context15.sent;
|
|
|
ds = source;
|
|
|
status = ds.status, running_code_message = ds.running_code_message, port = ds.port, web_route = ds.web_route;
|
|
|
dispatch({
|
|
|
type: SET_EVALUATE_MESSAGE,
|
|
|
payload: running_code_message
|
|
|
});
|
|
|
if (+status > -1 || excuteTime / 1000 > finalTime) {
|
|
|
//第一次通关
|
|
|
if (game.status !== 2 && status === 2) {
|
|
|
taskData['game'].status = 2;
|
|
|
taskData['user']['grade'] += ds.gold;
|
|
|
mediator/* default.publish */.Z.publish('update-cost-time');
|
|
|
}
|
|
|
taskData['test_sets'] = ds.test_sets || [];
|
|
|
taskData['last_compile_output'] = ds.last_compile_output;
|
|
|
taskData['test_sets_count'] = ds.test_sets_count;
|
|
|
taskData['sets_error_count'] = ds.sets_error_count;
|
|
|
taskData['record_consume_time'] = ds.record_consume_time;
|
|
|
taskData['next_game'] = ds.next_game;
|
|
|
taskData['prev_game'] = ds.prev_game;
|
|
|
playUrl = '';
|
|
|
isWeb = mirror_name.indexOf('Web') !== -1 || mirror_name.indexOf('JFinal') !== -1;
|
|
|
if (isWeb && port != -1 && web_route) {
|
|
|
playUrl = "".concat(tomcat_url, ":").concat(port, "/").concat(web_route);
|
|
|
}
|
|
|
isOk = isCompileOk(ds.test_sets);
|
|
|
isPicture = ds.picture > 0 && isOk;
|
|
|
isShowEvalResult = status === 2 && !time_out;
|
|
|
if (time_out) {
|
|
|
message/* default.info */.ZP.info('本次评测超时');
|
|
|
} else {
|
|
|
if (!isShowEvalResult) {
|
|
|
message/* default.info */.ZP.info('评测未通过,详情参见“测试结果”');
|
|
|
}
|
|
|
}
|
|
|
payload = {
|
|
|
taskData: taskData,
|
|
|
evalData: {
|
|
|
gold: ds.gold,
|
|
|
experience: ds.experience,
|
|
|
next_game: ds.next_game,
|
|
|
next_shixun: ds.next_shixun
|
|
|
// had_done: ds.had_done,
|
|
|
},
|
|
|
|
|
|
evaluateLoading: false,
|
|
|
evaluateMessage: '',
|
|
|
webDisplayUrl: playUrl,
|
|
|
showPictureView: unity_3d_routes || challenge !== null && challenge !== void 0 && challenge.thiry_party ? false : isPicture,
|
|
|
isPictureView: isPicture
|
|
|
};
|
|
|
if (unity_3d_routes && with_code_file || challenge !== null && challenge !== void 0 && challenge.thiry_party) {
|
|
|
//* 新需求
|
|
|
mediator/* default.publish */.Z.publish('evaluate-unity3d-result', {
|
|
|
state: 'user',
|
|
|
data: {
|
|
|
user: user
|
|
|
}
|
|
|
});
|
|
|
mediator/* default.publish */.Z.publish('evaluate-unity3d-finish');
|
|
|
//*评测结果由unity3d给出, 在评测时需要格外等待unity3d给出的消息
|
|
|
if (unity_3d_result) {
|
|
|
mediator/* default.publish */.Z.publish('evaluate-unity3d-result', ds.unity_3d_result);
|
|
|
} else {
|
|
|
if (isOk) {
|
|
|
mediator/* default.publish */.Z.publish('evaluate-unity3d-result', ds.unity_3d_result);
|
|
|
}
|
|
|
}
|
|
|
} else {
|
|
|
payload['showEvalResult'] = isShowEvalResult;
|
|
|
}
|
|
|
dispatch({
|
|
|
type: UPDATE_TASK_DATA,
|
|
|
payload: payload
|
|
|
});
|
|
|
//*评测完成后有10秒倒计时
|
|
|
mediator/* default.publish */.Z.publish('eval-code-finish');
|
|
|
} else {
|
|
|
setTimeout(function () {
|
|
|
getGameStatus(intervalTime, challenge.exec_time + 11, count++);
|
|
|
}, intervalTime);
|
|
|
}
|
|
|
case 9:
|
|
|
case "end":
|
|
|
return _context15.stop();
|
|
|
}
|
|
|
}, _callee15);
|
|
|
}));
|
|
|
return function getGameStatus(_x10, _x11, _x12) {
|
|
|
return _ref5.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
count = 1;
|
|
|
intervalTime = 1000;
|
|
|
time_out = false;
|
|
|
getGameStatus(intervalTime, challenge.exec_time + 11, count++);
|
|
|
//* 前端检查评测结果的总时间为关卡设置的评测时长限制 +10s+1s(时间差)
|
|
|
// let timerId = setInterval(() => {
|
|
|
// getGameStatus(
|
|
|
// intervalTime,
|
|
|
// challenge.exec_time + 11,
|
|
|
// count++,
|
|
|
// timerId,
|
|
|
// );
|
|
|
// }, intervalTime);
|
|
|
}
|
|
|
return _context16.abrupt("return", res);
|
|
|
case 22:
|
|
|
_context16.prev = 22;
|
|
|
_context16.t0 = _context16["catch"](0);
|
|
|
console.log('-------eval code', _context16.t0);
|
|
|
case 25:
|
|
|
case "end":
|
|
|
return _context16.stop();
|
|
|
}
|
|
|
}, _callee16, null, [[0, 22]]);
|
|
|
}));
|
|
|
return _onEvalCode.apply(this, arguments);
|
|
|
}
|
|
|
function onEditRepCode(value) {
|
|
|
dispatch({
|
|
|
type: EDIT_REP_CODE,
|
|
|
payload: {
|
|
|
content: value,
|
|
|
lastedUpdateTime: new Date().getTime()
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
function onCloseResult() {
|
|
|
dispatch({
|
|
|
type: HIDE_EVALUATE_RESULT
|
|
|
});
|
|
|
}
|
|
|
function onHidePictureView() {
|
|
|
dispatch({
|
|
|
type: HIDE_PICTURE_VIEW
|
|
|
});
|
|
|
}
|
|
|
function onShowPictureView() {
|
|
|
dispatch({
|
|
|
type: SHOW_PICTURE_VIEW
|
|
|
});
|
|
|
}
|
|
|
function onShowNotice() {
|
|
|
dispatch({
|
|
|
type: SHOW_NOTICE
|
|
|
});
|
|
|
}
|
|
|
function onSelectRepo(_x5, _x6) {
|
|
|
return _onSelectRepo.apply(this, arguments);
|
|
|
}
|
|
|
function _onSelectRepo() {
|
|
|
_onSelectRepo = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee17(selectedKeys, event) {
|
|
|
var node, path, suf;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee17$(_context17) {
|
|
|
while (1) switch (_context17.prev = _context17.next) {
|
|
|
case 0:
|
|
|
node = event.node;
|
|
|
if (!node.isLeaf) {
|
|
|
_context17.next = 7;
|
|
|
break;
|
|
|
}
|
|
|
path = selectedKeys[0];
|
|
|
suf = path.split('.').pop().toLowerCase(); // if (BADSUFS.indexOf(suf) >= 0) {
|
|
|
// message.info(`不支持加载${suf}类型的文件。`);
|
|
|
// return;
|
|
|
// } else {
|
|
|
_context17.next = 6;
|
|
|
return onUpdateCode();
|
|
|
case 6:
|
|
|
dispatch({
|
|
|
type: EDIT_REP_CODE,
|
|
|
payload: {
|
|
|
currentPath: path
|
|
|
}
|
|
|
});
|
|
|
// }
|
|
|
case 7:
|
|
|
case "end":
|
|
|
return _context17.stop();
|
|
|
}
|
|
|
}, _callee17);
|
|
|
}));
|
|
|
return _onSelectRepo.apply(this, arguments);
|
|
|
}
|
|
|
function onChangePath(_x7) {
|
|
|
return _onChangePath.apply(this, arguments);
|
|
|
}
|
|
|
function _onChangePath() {
|
|
|
_onChangePath = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee18(value) {
|
|
|
return regeneratorRuntime_default()().wrap(function _callee18$(_context18) {
|
|
|
while (1) switch (_context18.prev = _context18.next) {
|
|
|
case 0:
|
|
|
_context18.next = 2;
|
|
|
return onUpdateCode();
|
|
|
case 2:
|
|
|
dispatch({
|
|
|
type: EDIT_REP_CODE,
|
|
|
payload: {
|
|
|
currentPath: value
|
|
|
}
|
|
|
});
|
|
|
case 3:
|
|
|
case "end":
|
|
|
return _context18.stop();
|
|
|
}
|
|
|
}, _callee18);
|
|
|
}));
|
|
|
return _onChangePath.apply(this, arguments);
|
|
|
}
|
|
|
function onNextCallback() {
|
|
|
taskData['myshixun'].system_tip = true;
|
|
|
dispatch({
|
|
|
type: UPDATE_TASK_DATA,
|
|
|
payload: {
|
|
|
taskData: taskData,
|
|
|
showNotice: false
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
function onUpdateCallback(newPath, timestamp) {
|
|
|
taskData['challenge'].path = newPath;
|
|
|
taskData['myshixun'].system_tip = false;
|
|
|
dispatch({
|
|
|
type: UPDATE_TASK_DATA,
|
|
|
payload: {
|
|
|
taskData: objectSpread2_default()(objectSpread2_default()({}, taskData), {}, {
|
|
|
tpm_cases_modified: false,
|
|
|
tpm_modified: false,
|
|
|
tpm_script_modified: false
|
|
|
}),
|
|
|
showNotice: false,
|
|
|
timestamp: timestamp
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
function onUpdateFailure() {
|
|
|
dispatch({
|
|
|
type: HIDE_NOTICE
|
|
|
});
|
|
|
}
|
|
|
function onResetVnc() {
|
|
|
return _onResetVnc.apply(this, arguments);
|
|
|
}
|
|
|
function _onResetVnc() {
|
|
|
_onResetVnc = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee19() {
|
|
|
var response, new_vnc_url;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee19$(_context19) {
|
|
|
while (1) switch (_context19.prev = _context19.next) {
|
|
|
case 0:
|
|
|
_context19.prev = 0;
|
|
|
dispatch({
|
|
|
type: SET_VNC_LOADING,
|
|
|
payload: true
|
|
|
});
|
|
|
mediator/* default.publish */.Z.publish('vnc-reseting');
|
|
|
_context19.next = 5;
|
|
|
return resetVnc(_params.taskId);
|
|
|
case 5:
|
|
|
response = _context19.sent;
|
|
|
new_vnc_url = response.vnc_url;
|
|
|
taskData['vnc_url'] = new_vnc_url + '×tamp=' + new Date().getTime();
|
|
|
mediator/* default.publish */.Z.publish('vnc-reseting-done', response);
|
|
|
dispatch({
|
|
|
type: UPDATE_TASK_DATA,
|
|
|
payload: {
|
|
|
taskData: taskData,
|
|
|
resetVncLoading: false
|
|
|
}
|
|
|
});
|
|
|
_context19.next = 15;
|
|
|
break;
|
|
|
case 12:
|
|
|
_context19.prev = 12;
|
|
|
_context19.t0 = _context19["catch"](0);
|
|
|
console.log(_context19.t0);
|
|
|
case 15:
|
|
|
case "end":
|
|
|
return _context19.stop();
|
|
|
}
|
|
|
}, _callee19, null, [[0, 12]]);
|
|
|
}));
|
|
|
return _onResetVnc.apply(this, arguments);
|
|
|
}
|
|
|
function onGetUnity3dMessage(_x8) {
|
|
|
return _onGetUnity3dMessage.apply(this, arguments);
|
|
|
} //代码评测后回调
|
|
|
function _onGetUnity3dMessage() {
|
|
|
_onGetUnity3dMessage = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee20(mes) {
|
|
|
var GameState, Data, challenge, response, status, data;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee20$(_context20) {
|
|
|
while (1) switch (_context20.prev = _context20.next) {
|
|
|
case 0:
|
|
|
GameState = mes.GameState, Data = mes.Data, challenge = mes.challenge;
|
|
|
console.log('match:', match);
|
|
|
if (!(challenge === 'info')) {
|
|
|
_context20.next = 6;
|
|
|
break;
|
|
|
}
|
|
|
mediator/* default.publish */.Z.publish('evaluate-unity3d-result', {
|
|
|
state: '3d_callback',
|
|
|
data: {
|
|
|
challenge_info: objectSpread2_default()({}, taskData.challenge)
|
|
|
}
|
|
|
});
|
|
|
//taskData.challenge
|
|
|
_context20.next = 16;
|
|
|
break;
|
|
|
case 6:
|
|
|
if (!(GameState === 'Success')) {
|
|
|
_context20.next = 16;
|
|
|
break;
|
|
|
}
|
|
|
if (!(unity_3d_result || !with_code_file)) {
|
|
|
_context20.next = 15;
|
|
|
break;
|
|
|
}
|
|
|
_context20.next = 10;
|
|
|
return setUnity3dStatus(taskId, base64.Base64.encode(taskId + new Date().getTime()), Data);
|
|
|
case 10:
|
|
|
response = _context20.sent;
|
|
|
status = response.status, data = response.data;
|
|
|
if (status == 0) {
|
|
|
if (game.status !== 2) {
|
|
|
taskData['game'].status = 2;
|
|
|
taskData['user']['grade'] += data.gold;
|
|
|
mediator/* default.publish */.Z.publish('update-cost-time');
|
|
|
}
|
|
|
//* 新需求,无代码评测通关需要发送用户和通关时间信息
|
|
|
mediator/* default.publish */.Z.publish('evaluate-unity3d-result', {
|
|
|
state: 'userAndtime',
|
|
|
data: {
|
|
|
user: user,
|
|
|
open_time: data.open_time,
|
|
|
end_time: data.end_time
|
|
|
}
|
|
|
});
|
|
|
dispatch({
|
|
|
type: UPDATE_TASK_DATA,
|
|
|
payload: {
|
|
|
taskData: taskData,
|
|
|
evalData: {
|
|
|
gold: data.gold,
|
|
|
experience: data.experience,
|
|
|
next_game: data.next_game
|
|
|
// had_done: data.had_done,
|
|
|
},
|
|
|
|
|
|
evaluateLoading: false,
|
|
|
showEvalResult: true
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
_context20.next = 16;
|
|
|
break;
|
|
|
case 15:
|
|
|
dispatch({
|
|
|
type: SHOW_EVALUATE_RESULT
|
|
|
});
|
|
|
case 16:
|
|
|
case "end":
|
|
|
return _context20.stop();
|
|
|
}
|
|
|
}, _callee20);
|
|
|
}));
|
|
|
return _onGetUnity3dMessage.apply(this, arguments);
|
|
|
}
|
|
|
function onEvaluateCallback() {}
|
|
|
function onAddVncTime() {
|
|
|
return _onAddVncTime.apply(this, arguments);
|
|
|
}
|
|
|
function _onAddVncTime() {
|
|
|
_onAddVncTime = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee21() {
|
|
|
var _res, _res$data, _res3;
|
|
|
var res, _res2;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee21$(_context21) {
|
|
|
while (1) switch (_context21.prev = _context21.next) {
|
|
|
case 0:
|
|
|
_context21.next = 2;
|
|
|
return addVncTime(taskId);
|
|
|
case 2:
|
|
|
res = _context21.sent;
|
|
|
// }
|
|
|
if ((_res = res) !== null && _res !== void 0 && (_res$data = _res.data) !== null && _res$data !== void 0 && _res$data.remaining_time) {
|
|
|
mediator/* default.publish */.Z.publish('update-windows-time', (_res2 = res) === null || _res2 === void 0 ? void 0 : _res2.data);
|
|
|
}
|
|
|
return _context21.abrupt("return", (_res3 = res) === null || _res3 === void 0 ? void 0 : _res3.data);
|
|
|
case 5:
|
|
|
case "end":
|
|
|
return _context21.stop();
|
|
|
}
|
|
|
}, _callee21);
|
|
|
}));
|
|
|
return _onAddVncTime.apply(this, arguments);
|
|
|
}
|
|
|
var leftPanelWidth = '80px';
|
|
|
var rightPanelWidth = "calc(100vw - 4px - ".concat(leftPanelWidth, ")");
|
|
|
var leftPanelOption = (_leftPanelOption = {
|
|
|
game: game,
|
|
|
taskId: taskId,
|
|
|
user_praise: user_praise,
|
|
|
praise_count: praise_count,
|
|
|
st: st,
|
|
|
challenge: challenge,
|
|
|
rank_name: taskData.rank_name,
|
|
|
shixun: shixun,
|
|
|
is_teacher: is_teacher,
|
|
|
has_answer: has_answer,
|
|
|
unity_3d_routes: unity_3d_routes,
|
|
|
with_code_file: with_code_file,
|
|
|
onEvaluateCallback: onEvaluateCallback,
|
|
|
onGetUnity3dMessage: onGetUnity3dMessage
|
|
|
}, defineProperty_default()(_leftPanelOption, "taskId", taskId), defineProperty_default()(_leftPanelOption, "myshixun", myshixun), defineProperty_default()(_leftPanelOption, "user", user), defineProperty_default()(_leftPanelOption, "discusses_count", discusses_count), defineProperty_default()(_leftPanelOption, "onPlusOrCancelPraise", onPlusOrCancelPraise), defineProperty_default()(_leftPanelOption, "minuxUserGrade", minuxUserGrade), defineProperty_default()(_leftPanelOption, "taskData", taskData), _leftPanelOption);
|
|
|
var noticeOption = {
|
|
|
showNotice: showNotice || (tpm_cases_modified || isUpdateScript) && myshixun.system_tip === false,
|
|
|
tpm_cases_modified: tpm_cases_modified,
|
|
|
tpm_modified: tpm_modified,
|
|
|
tpm_script_modified: tpm_script_modified,
|
|
|
st: st,
|
|
|
taskId: taskId,
|
|
|
myshixunId: (myshixun || {}).id,
|
|
|
onNextCallback: onNextCallback,
|
|
|
onUpdateCallback: onUpdateCallback,
|
|
|
onUpdateFailure: onUpdateFailure
|
|
|
};
|
|
|
var evaluateResultOption = objectSpread2_default()(objectSpread2_default()({}, evalData), {}, {
|
|
|
isPictureView: isPictureView,
|
|
|
history: history,
|
|
|
webDisplayUrl: webDisplayUrl,
|
|
|
onShowPictureView: onShowPictureView,
|
|
|
star: game && game.star,
|
|
|
onStarChange: onSaveTaskStar,
|
|
|
onCloseResult: onCloseResult
|
|
|
});
|
|
|
var repositoryOption = {
|
|
|
lastedGetTaskInfoTime: lastedGetTaskInfoTime,
|
|
|
isEditPath: isEditPath,
|
|
|
taskData: taskData,
|
|
|
codeRepData: codeRepData,
|
|
|
moveY: moveY,
|
|
|
evaluateMessage: evaluateMessage,
|
|
|
evaluateLoading: evaluateLoading,
|
|
|
isNotice: isNotice,
|
|
|
isHtml: isHtml,
|
|
|
onChangePath: onChangePath,
|
|
|
onResizeSetContainer: onResizeSetContainer,
|
|
|
onEditRepCode: onEditRepCode,
|
|
|
onUpdateCode: onUpdateCode,
|
|
|
onResizeYStart: onResizeYStart,
|
|
|
onShowDir: onShowDir,
|
|
|
onResetCode: onResetCode,
|
|
|
onResetGitCode: onResetGitCode,
|
|
|
onResizeCodeArea: onResizeCodeArea,
|
|
|
onResetPassedCode: onResetPassedCode,
|
|
|
onFinishDisplayHtml: onFinishDisplayHtml,
|
|
|
onShowNotice: onShowNotice
|
|
|
};
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(react.Fragment, {
|
|
|
children: !loading ? /*#__PURE__*/(0,jsx_runtime.jsxs)(react.Fragment, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: "task-wrapper",
|
|
|
children: [showDragMask && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: "draging-mask"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(header, {
|
|
|
difficulty: challenge === null || challenge === void 0 ? void 0 : challenge.difficulty,
|
|
|
mirror_description: mirror_description,
|
|
|
history: history,
|
|
|
git_url: git_url,
|
|
|
shixun: shixun,
|
|
|
taskData: taskData,
|
|
|
lastedGetTaskInfoTime: lastedGetTaskInfoTime,
|
|
|
onAddVncTime: onAddVncTime,
|
|
|
taskId: taskId,
|
|
|
isNotice: isNotice,
|
|
|
resetVncLoading: resetVncLoading,
|
|
|
onResetVnc: onResetVnc,
|
|
|
onResetGitCode: onResetGitCode,
|
|
|
vnc_url: vnc_url,
|
|
|
linux_vnc: taskData === null || taskData === void 0 ? void 0 : taskData.linux_vnc,
|
|
|
window_vnc_url: (taskData === null || taskData === void 0 ? void 0 : taskData.windows_vnc) || (taskData === null || taskData === void 0 ? void 0 : taskData.virtual_machine),
|
|
|
remaining_time: taskData === null || taskData === void 0 ? void 0 : taskData.remaining_time,
|
|
|
onShowNotice: onShowNotice,
|
|
|
game: game,
|
|
|
user: user,
|
|
|
st: st,
|
|
|
onUpdateCode: onUpdateCode,
|
|
|
onUpdateCostTime: onUpdateCostTime,
|
|
|
unity_3d_routes: unity_3d_routes && !with_code_file || (challenge === null || challenge === void 0 ? void 0 : challenge.thiry_party)
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: "tasks-body2",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("section", {
|
|
|
className: "left-panel",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("ul", {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("li", {
|
|
|
onClick: function onClick() {
|
|
|
return setShowTab(1);
|
|
|
},
|
|
|
className: showTab == 1 ? 'on' : '',
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "iconfont icon-huanjing"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
children: "\u73AF\u5883"
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("li", {
|
|
|
onClick: function onClick() {
|
|
|
return setShowTab(2);
|
|
|
},
|
|
|
className: showTab == 2 ? 'on' : '',
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "iconfont icon-shujuwajue"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
children: "\u6570\u636E\u96C6"
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("li", {
|
|
|
onClick: function onClick() {
|
|
|
return setShowTab(3);
|
|
|
},
|
|
|
className: showTab == 3 ? 'on' : '',
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "iconfont icon-a-chengyuan1"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
children: "\u5408\u4F5C\u8005"
|
|
|
})]
|
|
|
})]
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("section", {
|
|
|
id: "task-right-panel",
|
|
|
className: "right-panel ".concat(vnc_url || taskData !== null && taskData !== void 0 && taskData.windows_vnc || taskData !== null && taskData !== void 0 && taskData.linux_vnc || taskData !== null && taskData !== void 0 && taskData.virtual_machine ? 'vnc' : ''),
|
|
|
style: {
|
|
|
width: rightPanelWidth,
|
|
|
minWidth: '500px'
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
style: {
|
|
|
height: '100%'
|
|
|
// , overflow: 'auto'
|
|
|
},
|
|
|
|
|
|
className: showTab === 1 ? '' : 'hide',
|
|
|
children: [taskData.mirror_type === 'webssh' && /*#__PURE__*/(0,jsx_runtime.jsx)(xterm_panel, {
|
|
|
sshConfigData: taskData || {},
|
|
|
sid: 1
|
|
|
}), taskData.mirror_type === 'graph' && /*#__PURE__*/(0,jsx_runtime.jsx)(vnc_view, {
|
|
|
taskData: taskData,
|
|
|
evaluateMessage: evaluateMessage,
|
|
|
language: language,
|
|
|
evaluateLoading: evaluateLoading,
|
|
|
onEval: props.onEvalCode
|
|
|
}), (taskData.mirror_type === 'jupyterlab' || taskData.mirror_type === 'jupyternotebook') && /*#__PURE__*/(0,jsx_runtime.jsx)(Jupyter, {
|
|
|
taskData: taskData,
|
|
|
evaluateMessage: evaluateMessage,
|
|
|
language: language,
|
|
|
evaluateLoading: evaluateLoading,
|
|
|
onEval: props.onEvalCode
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: showTab === 2 ? 'data_env_lists' : 'hide',
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: "data_header",
|
|
|
children: ["\u6570\u636E\u96C6 \uFF08", datas === null || datas === void 0 ? void 0 : datas.data_count, "\uFF09"]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
style: {
|
|
|
padding: 20
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(DataSetPane/* default */.Z, {
|
|
|
detail: datas
|
|
|
})
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: showTab === 3 ? 'data_env_lists' : 'hide',
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(Collaborate/* default */.Z, {})
|
|
|
})
|
|
|
})]
|
|
|
})]
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(drawer/* default */.Z, {
|
|
|
rootClassName: "setting-drawer",
|
|
|
title: null,
|
|
|
placement: "right",
|
|
|
width: 400,
|
|
|
closable: false,
|
|
|
open: showDocuments,
|
|
|
onClose: onHideDocuments,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(DirectoryTree, {
|
|
|
className: "dir-tree",
|
|
|
selectedKeys: ["".concat(currentPath)],
|
|
|
treeData: repos,
|
|
|
onSelect: onSelectRepo,
|
|
|
loadData: onLoadTreeData
|
|
|
})
|
|
|
})
|
|
|
})]
|
|
|
}) : /*#__PURE__*/(0,jsx_runtime.jsx)(Spinner/* default */.Z, {
|
|
|
message: "\u52AA\u529B\u8BF7\u6C42\u6570\u636E\u4E2D..",
|
|
|
className: "tpi-spin"
|
|
|
})
|
|
|
});
|
|
|
});
|
|
|
function UnLockTestTip(_ref6) {
|
|
|
var is_teacher = _ref6.is_teacher,
|
|
|
score = _ref6.score;
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(react.Fragment, {
|
|
|
children: is_teacher ? /*#__PURE__*/(0,jsx_runtime.jsxs)(react.Fragment, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
children: "\u5DF2\u7ECF\u8FC7\u804C\u4E1A\u8BA4\u8BC1\u7684\u6559\u5E08\u53EF\u4EE5\u514D\u91D1\u5E01\u67E5\u770B\u9690\u85CF\u6D4B\u8BD5\u96C6\u3002"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
children: "\u89E3\u9501\u672C\u5173\u6240\u6709\u6D4B\u8BD5\u96C6\u9700\u8981\u6263\u9664".concat(score * 2, "\u91D1\u5E01\uFF0C\u786E\u5B9A\u8981\u89E3\u9501\u5417\uFF1F")
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
|
|
|
href: "/account/certification",
|
|
|
"class": "to-certification-link",
|
|
|
target: "_blank",
|
|
|
children: "\u7ACB\u5373\u8BA4\u8BC1"
|
|
|
})]
|
|
|
}) : /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
children: "\u89E3\u9501\u672C\u5173\u6240\u6709\u6D4B\u8BD5\u96C6\u9700\u8981\u6263\u9664".concat(score * 2, "\u91D1\u5E01\uFF0C\u786E\u5B9A\u8981\u89E3\u9501\u5417\uFF1F")
|
|
|
})
|
|
|
});
|
|
|
}
|
|
|
function ResizeIcon(_ref7) {
|
|
|
var noDragging = _ref7.noDragging,
|
|
|
moveX = _ref7.moveX,
|
|
|
vnc_url = _ref7.vnc_url;
|
|
|
return /*#__PURE__*/_jsx(Fragment, {
|
|
|
children: noDragging ? /*#__PURE__*/_jsx("a", {
|
|
|
className: "trapezoid ".concat(moveX === 0.01 ? 'enlarge' : ''),
|
|
|
children: /*#__PURE__*/_jsx("img", {
|
|
|
src: moveX === 0.01 ? resizeEnlargeUrl : resizeSmallUrl,
|
|
|
alt: "resize-icon",
|
|
|
width: 20
|
|
|
})
|
|
|
}) : /*#__PURE__*/_jsx("a", {
|
|
|
className: "btn-resize",
|
|
|
draggable: false,
|
|
|
children: /*#__PURE__*/_jsx("svg", {
|
|
|
width: "16",
|
|
|
height: "13",
|
|
|
viewBox: "0 0 16 13",
|
|
|
draggable: false,
|
|
|
children: /*#__PURE__*/_jsx("path", {
|
|
|
draggable: false,
|
|
|
d: "M12.245 7.53H5.647v1.882h6.598v2.823L16 8.471l-3.755-3.765V7.53zM10.353 4.706H3.755v2.823L0 3.765 3.755 0v2.824h6.598v1.882z"
|
|
|
})
|
|
|
})
|
|
|
})
|
|
|
});
|
|
|
}
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 39507:
|
|
|
/*!**************************************************!*\
|
|
|
!*** ./src/pages/MoopCases/FormPanel/service.ts ***!
|
|
|
\**************************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
"use strict";
|
|
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
|
/* harmony export */ "$J": function() { return /* binding */ getMoopCase; },
|
|
|
/* harmony export */ "JZ": function() { return /* binding */ removeAttachment; },
|
|
|
/* harmony export */ "bN": function() { return /* binding */ updateMoopCase; },
|
|
|
/* harmony export */ "jP": function() { return /* binding */ addMoopCase; },
|
|
|
/* harmony export */ "rO": function() { return /* binding */ getLibraryTags; }
|
|
|
/* harmony export */ });
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/regeneratorRuntime.js */ 17061);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0__);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/asyncToGenerator.js */ 17156);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_1__);
|
|
|
/* harmony import */ var _utils_fetch__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/utils/fetch */ 84519);
|
|
|
|
|
|
|
|
|
|
|
|
function getMoopCase(id) {
|
|
|
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_2__/* .get */ .U2)("libraries/".concat(id, ".json"));
|
|
|
}
|
|
|
function getLibraryTags() {
|
|
|
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_2__/* .get */ .U2)('library_tags.json');
|
|
|
}
|
|
|
function removeAttachment(_x) {
|
|
|
return _removeAttachment.apply(this, arguments);
|
|
|
}
|
|
|
function _removeAttachment() {
|
|
|
_removeAttachment = _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_1___default()( /*#__PURE__*/_root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0___default()().mark(function _callee(id) {
|
|
|
var response;
|
|
|
return _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0___default()().wrap(function _callee$(_context) {
|
|
|
while (1) switch (_context.prev = _context.next) {
|
|
|
case 0:
|
|
|
_context.next = 2;
|
|
|
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_2__/* .del */ .IV)("attachments/".concat(id, ".json"));
|
|
|
case 2:
|
|
|
response = _context.sent;
|
|
|
return _context.abrupt("return", response.status === 0);
|
|
|
case 4:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
}));
|
|
|
return _removeAttachment.apply(this, arguments);
|
|
|
}
|
|
|
function addMoopCase(params) {
|
|
|
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_2__/* .post */ .v_)("libraries.json", params);
|
|
|
}
|
|
|
function updateMoopCase(id, params) {
|
|
|
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_2__/* .put */ .gz)("libraries/".concat(id, ".json"), params);
|
|
|
}
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 33265:
|
|
|
/*!***********************************!*\
|
|
|
!*** ./src/service/innovation.ts ***!
|
|
|
\***********************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
"use strict";
|
|
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
|
/* harmony export */ "$L": function() { return /* binding */ createProject; },
|
|
|
/* harmony export */ "M3": function() { return /* binding */ forkProject; },
|
|
|
/* harmony export */ "NV": function() { return /* binding */ editProject; },
|
|
|
/* harmony export */ "T": function() { return /* binding */ getProjectDetail; },
|
|
|
/* harmony export */ "V1": function() { return /* binding */ getMirrorRepos; },
|
|
|
/* harmony export */ "ie": function() { return /* binding */ startEnvironment; },
|
|
|
/* harmony export */ "ln": function() { return /* binding */ getDataSetList; },
|
|
|
/* harmony export */ "pV": function() { return /* binding */ getProjectDataSet; },
|
|
|
/* harmony export */ "th": function() { return /* binding */ deleteProject; }
|
|
|
/* harmony export */ });
|
|
|
/* unused harmony exports getProjectList, removeDataSets */
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/regeneratorRuntime.js */ 17061);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0__);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/asyncToGenerator.js */ 17156);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_1__);
|
|
|
/* harmony import */ var _utils_fetch__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/utils/fetch */ 84519);
|
|
|
|
|
|
|
|
|
|
|
|
//创建项目与编辑项目
|
|
|
|
|
|
function createProject(_x) {
|
|
|
return _createProject.apply(this, arguments);
|
|
|
}
|
|
|
function _createProject() {
|
|
|
_createProject = _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_1___default()( /*#__PURE__*/_root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0___default()().mark(function _callee(params) {
|
|
|
return _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0___default()().wrap(function _callee$(_context) {
|
|
|
while (1) switch (_context.prev = _context.next) {
|
|
|
case 0:
|
|
|
return _context.abrupt("return", (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .ZP)('/api/sci/projects.json', {
|
|
|
method: 'post',
|
|
|
body: params
|
|
|
}));
|
|
|
case 1:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
}));
|
|
|
return _createProject.apply(this, arguments);
|
|
|
}
|
|
|
function editProject(_x2, _x3) {
|
|
|
return _editProject.apply(this, arguments);
|
|
|
}
|
|
|
function _editProject() {
|
|
|
_editProject = _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_1___default()( /*#__PURE__*/_root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0___default()().mark(function _callee2(params, id) {
|
|
|
return _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0___default()().wrap(function _callee2$(_context2) {
|
|
|
while (1) switch (_context2.prev = _context2.next) {
|
|
|
case 0:
|
|
|
return _context2.abrupt("return", (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .ZP)("/api/sci/projects/".concat(id, ".json"), {
|
|
|
method: 'put',
|
|
|
body: params
|
|
|
}));
|
|
|
case 1:
|
|
|
case "end":
|
|
|
return _context2.stop();
|
|
|
}
|
|
|
}, _callee2);
|
|
|
}));
|
|
|
return _editProject.apply(this, arguments);
|
|
|
}
|
|
|
function getMirrorRepos(_x4) {
|
|
|
return _getMirrorRepos.apply(this, arguments);
|
|
|
}
|
|
|
|
|
|
//获取项目列表
|
|
|
function _getMirrorRepos() {
|
|
|
_getMirrorRepos = _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_1___default()( /*#__PURE__*/_root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0___default()().mark(function _callee3(params) {
|
|
|
return _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0___default()().wrap(function _callee3$(_context3) {
|
|
|
while (1) switch (_context3.prev = _context3.next) {
|
|
|
case 0:
|
|
|
return _context3.abrupt("return", (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .ZP)('/api/sci/projects/sci_mirror_repositories.json', {
|
|
|
method: 'get',
|
|
|
params: params
|
|
|
}));
|
|
|
case 1:
|
|
|
case "end":
|
|
|
return _context3.stop();
|
|
|
}
|
|
|
}, _callee3);
|
|
|
}));
|
|
|
return _getMirrorRepos.apply(this, arguments);
|
|
|
}
|
|
|
function getProjectList(_x5) {
|
|
|
return _getProjectList.apply(this, arguments);
|
|
|
}
|
|
|
function _getProjectList() {
|
|
|
_getProjectList = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(params) {
|
|
|
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
|
while (1) switch (_context4.prev = _context4.next) {
|
|
|
case 0:
|
|
|
return _context4.abrupt("return", Fetch('/api/sci/projects.json', {
|
|
|
method: 'get',
|
|
|
params: params
|
|
|
}));
|
|
|
case 1:
|
|
|
case "end":
|
|
|
return _context4.stop();
|
|
|
}
|
|
|
}, _callee4);
|
|
|
}));
|
|
|
return _getProjectList.apply(this, arguments);
|
|
|
}
|
|
|
function deleteProject(_x6, _x7) {
|
|
|
return _deleteProject.apply(this, arguments);
|
|
|
}
|
|
|
function _deleteProject() {
|
|
|
_deleteProject = _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_1___default()( /*#__PURE__*/_root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0___default()().mark(function _callee5(id, params) {
|
|
|
return _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0___default()().wrap(function _callee5$(_context5) {
|
|
|
while (1) switch (_context5.prev = _context5.next) {
|
|
|
case 0:
|
|
|
return _context5.abrupt("return", (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .ZP)("/api/sci/projects/".concat(id, ".json"), {
|
|
|
method: 'delete',
|
|
|
body: params
|
|
|
}));
|
|
|
case 1:
|
|
|
case "end":
|
|
|
return _context5.stop();
|
|
|
}
|
|
|
}, _callee5);
|
|
|
}));
|
|
|
return _deleteProject.apply(this, arguments);
|
|
|
}
|
|
|
function getProjectDetail(_x8) {
|
|
|
return _getProjectDetail.apply(this, arguments);
|
|
|
}
|
|
|
function _getProjectDetail() {
|
|
|
_getProjectDetail = _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_1___default()( /*#__PURE__*/_root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0___default()().mark(function _callee6(id) {
|
|
|
return _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0___default()().wrap(function _callee6$(_context6) {
|
|
|
while (1) switch (_context6.prev = _context6.next) {
|
|
|
case 0:
|
|
|
return _context6.abrupt("return", (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .ZP)("/api/sci/projects/".concat(id, ".json"), {
|
|
|
method: 'get'
|
|
|
}));
|
|
|
case 1:
|
|
|
case "end":
|
|
|
return _context6.stop();
|
|
|
}
|
|
|
}, _callee6);
|
|
|
}));
|
|
|
return _getProjectDetail.apply(this, arguments);
|
|
|
}
|
|
|
function getDataSetList(_x9) {
|
|
|
return _getDataSetList.apply(this, arguments);
|
|
|
}
|
|
|
function _getDataSetList() {
|
|
|
_getDataSetList = _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_1___default()( /*#__PURE__*/_root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0___default()().mark(function _callee7(params) {
|
|
|
return _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0___default()().wrap(function _callee7$(_context7) {
|
|
|
while (1) switch (_context7.prev = _context7.next) {
|
|
|
case 0:
|
|
|
return _context7.abrupt("return", (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .ZP)('/api/sci/projects/data_sets.json', {
|
|
|
method: 'get',
|
|
|
params: params
|
|
|
}));
|
|
|
case 1:
|
|
|
case "end":
|
|
|
return _context7.stop();
|
|
|
}
|
|
|
}, _callee7);
|
|
|
}));
|
|
|
return _getDataSetList.apply(this, arguments);
|
|
|
}
|
|
|
function removeDataSets(_x10) {
|
|
|
return _removeDataSets.apply(this, arguments);
|
|
|
}
|
|
|
function _removeDataSets() {
|
|
|
_removeDataSets = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee8(id) {
|
|
|
return _regeneratorRuntime().wrap(function _callee8$(_context8) {
|
|
|
while (1) switch (_context8.prev = _context8.next) {
|
|
|
case 0:
|
|
|
return _context8.abrupt("return", Fetch("/api/sci/projects/".concat(id, "/remove_data_sets.json"), {
|
|
|
method: 'get'
|
|
|
}));
|
|
|
case 1:
|
|
|
case "end":
|
|
|
return _context8.stop();
|
|
|
}
|
|
|
}, _callee8);
|
|
|
}));
|
|
|
return _removeDataSets.apply(this, arguments);
|
|
|
}
|
|
|
function startEnvironment(_x11) {
|
|
|
return _startEnvironment.apply(this, arguments);
|
|
|
}
|
|
|
function _startEnvironment() {
|
|
|
_startEnvironment = _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_1___default()( /*#__PURE__*/_root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0___default()().mark(function _callee9(id) {
|
|
|
return _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0___default()().wrap(function _callee9$(_context9) {
|
|
|
while (1) switch (_context9.prev = _context9.next) {
|
|
|
case 0:
|
|
|
return _context9.abrupt("return", (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .ZP)("/api/sci/projects/".concat(id, "/start_environment.json"), {
|
|
|
method: 'post'
|
|
|
}));
|
|
|
case 1:
|
|
|
case "end":
|
|
|
return _context9.stop();
|
|
|
}
|
|
|
}, _callee9);
|
|
|
}));
|
|
|
return _startEnvironment.apply(this, arguments);
|
|
|
}
|
|
|
function forkProject(_x12, _x13) {
|
|
|
return _forkProject.apply(this, arguments);
|
|
|
}
|
|
|
function _forkProject() {
|
|
|
_forkProject = _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_1___default()( /*#__PURE__*/_root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0___default()().mark(function _callee10(id, params) {
|
|
|
return _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0___default()().wrap(function _callee10$(_context10) {
|
|
|
while (1) switch (_context10.prev = _context10.next) {
|
|
|
case 0:
|
|
|
return _context10.abrupt("return", (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .ZP)("/api/sci/projects/".concat(id, "/fork_sci_project.json"), {
|
|
|
method: 'post',
|
|
|
body: params
|
|
|
}));
|
|
|
case 1:
|
|
|
case "end":
|
|
|
return _context10.stop();
|
|
|
}
|
|
|
}, _callee10);
|
|
|
}));
|
|
|
return _forkProject.apply(this, arguments);
|
|
|
}
|
|
|
function getProjectDataSet(_x14, _x15) {
|
|
|
return _getProjectDataSet.apply(this, arguments);
|
|
|
}
|
|
|
function _getProjectDataSet() {
|
|
|
_getProjectDataSet = _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_1___default()( /*#__PURE__*/_root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0___default()().mark(function _callee11(id, params) {
|
|
|
return _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0___default()().wrap(function _callee11$(_context11) {
|
|
|
while (1) switch (_context11.prev = _context11.next) {
|
|
|
case 0:
|
|
|
return _context11.abrupt("return", (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .ZP)("/api/sci/projects/".concat(id, "/get_data_sets.json"), {
|
|
|
method: 'get',
|
|
|
params: params
|
|
|
}));
|
|
|
case 1:
|
|
|
case "end":
|
|
|
return _context11.stop();
|
|
|
}
|
|
|
}, _callee11);
|
|
|
}));
|
|
|
return _getProjectDataSet.apply(this, arguments);
|
|
|
}
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 48632:
|
|
|
/*!*****************************!*\
|
|
|
!*** ./src/service/task.ts ***!
|
|
|
\*****************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
"use strict";
|
|
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
|
/* harmony export */ "Jd": function() { return /* binding */ rebootEsc; },
|
|
|
/* harmony export */ "a$": function() { return /* binding */ getDataSets; },
|
|
|
/* harmony export */ "dU": function() { return /* binding */ getJupyterData; },
|
|
|
/* harmony export */ "fi": function() { return /* binding */ syncCode; },
|
|
|
/* harmony export */ "m_": function() { return /* binding */ resetWithTPI; },
|
|
|
/* harmony export */ "rB": function() { return /* binding */ activeWithTPI; },
|
|
|
/* harmony export */ "rV": function() { return /* binding */ getInfoWithTPI; },
|
|
|
/* harmony export */ "x4": function() { return /* binding */ getTimeInfoWithTPI; },
|
|
|
/* harmony export */ "zE": function() { return /* binding */ saveWithTPI; }
|
|
|
/* harmony export */ });
|
|
|
/* unused harmony export getLatexFileTree */
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/objectSpread2.js */ 42122);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/regeneratorRuntime.js */ 17061);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1__);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/asyncToGenerator.js */ 17156);
|
|
|
/* harmony import */ var _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2__);
|
|
|
/* harmony import */ var _utils_fetch__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/utils/fetch */ 84519);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function saveWithTPI(_x) {
|
|
|
return _saveWithTPI.apply(this, arguments);
|
|
|
}
|
|
|
function _saveWithTPI() {
|
|
|
_saveWithTPI = _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().mark(function _callee(params) {
|
|
|
return _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().wrap(function _callee$(_context) {
|
|
|
while (1) switch (_context.prev = _context.next) {
|
|
|
case 0:
|
|
|
return _context.abrupt("return", (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .ZP)("/api/jupyters/save_with_tpi.json", {
|
|
|
method: 'Get',
|
|
|
params: params
|
|
|
}));
|
|
|
case 1:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
}));
|
|
|
return _saveWithTPI.apply(this, arguments);
|
|
|
}
|
|
|
function getJupyterData(_x2) {
|
|
|
return _getJupyterData.apply(this, arguments);
|
|
|
}
|
|
|
function _getJupyterData() {
|
|
|
_getJupyterData = _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().mark(function _callee2(params) {
|
|
|
return _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().wrap(function _callee2$(_context2) {
|
|
|
while (1) switch (_context2.prev = _context2.next) {
|
|
|
case 0:
|
|
|
return _context2.abrupt("return", (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .ZP)("/api/tasks/".concat(params.identifier, "/jupyter.json"), {
|
|
|
method: 'Get',
|
|
|
params: params
|
|
|
}));
|
|
|
case 1:
|
|
|
case "end":
|
|
|
return _context2.stop();
|
|
|
}
|
|
|
}, _callee2);
|
|
|
}));
|
|
|
return _getJupyterData.apply(this, arguments);
|
|
|
}
|
|
|
function getInfoWithTPI(_x3) {
|
|
|
return _getInfoWithTPI.apply(this, arguments);
|
|
|
}
|
|
|
function _getInfoWithTPI() {
|
|
|
_getInfoWithTPI = _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().mark(function _callee3(params) {
|
|
|
return _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().wrap(function _callee3$(_context3) {
|
|
|
while (1) switch (_context3.prev = _context3.next) {
|
|
|
case 0:
|
|
|
return _context3.abrupt("return", (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .ZP)("/api/myshixuns/".concat(params.identifier, "/start.json"), {
|
|
|
method: 'Get',
|
|
|
params: params
|
|
|
}));
|
|
|
case 1:
|
|
|
case "end":
|
|
|
return _context3.stop();
|
|
|
}
|
|
|
}, _callee3);
|
|
|
}));
|
|
|
return _getInfoWithTPI.apply(this, arguments);
|
|
|
}
|
|
|
function getTimeInfoWithTPI(_x4) {
|
|
|
return _getTimeInfoWithTPI.apply(this, arguments);
|
|
|
}
|
|
|
function _getTimeInfoWithTPI() {
|
|
|
_getTimeInfoWithTPI = _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().mark(function _callee4(params) {
|
|
|
return _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().wrap(function _callee4$(_context4) {
|
|
|
while (1) switch (_context4.prev = _context4.next) {
|
|
|
case 0:
|
|
|
return _context4.abrupt("return", (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .ZP)("/api/jupyters/timeinfo_with_tpi.json", {
|
|
|
method: 'Get',
|
|
|
params: params
|
|
|
}));
|
|
|
case 1:
|
|
|
case "end":
|
|
|
return _context4.stop();
|
|
|
}
|
|
|
}, _callee4);
|
|
|
}));
|
|
|
return _getTimeInfoWithTPI.apply(this, arguments);
|
|
|
}
|
|
|
function resetWithTPI(_x5) {
|
|
|
return _resetWithTPI.apply(this, arguments);
|
|
|
}
|
|
|
function _resetWithTPI() {
|
|
|
_resetWithTPI = _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().mark(function _callee5(params) {
|
|
|
return _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().wrap(function _callee5$(_context5) {
|
|
|
while (1) switch (_context5.prev = _context5.next) {
|
|
|
case 0:
|
|
|
return _context5.abrupt("return", (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .ZP)("/api/myshixuns/".concat(params.identifier, "/reset_pod.json"), {
|
|
|
method: 'Get'
|
|
|
// params
|
|
|
}));
|
|
|
case 1:
|
|
|
case "end":
|
|
|
return _context5.stop();
|
|
|
}
|
|
|
}, _callee5);
|
|
|
}));
|
|
|
return _resetWithTPI.apply(this, arguments);
|
|
|
}
|
|
|
function activeWithTPI(_x6, _x7) {
|
|
|
return _activeWithTPI.apply(this, arguments);
|
|
|
}
|
|
|
function _activeWithTPI() {
|
|
|
_activeWithTPI = _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().mark(function _callee6(id, params) {
|
|
|
return _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().wrap(function _callee6$(_context6) {
|
|
|
while (1) switch (_context6.prev = _context6.next) {
|
|
|
case 0:
|
|
|
return _context6.abrupt("return", (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .ZP)("/api/myshixuns/".concat(id, "/active_pod.json"), {
|
|
|
method: 'Get',
|
|
|
params: params
|
|
|
}));
|
|
|
case 1:
|
|
|
case "end":
|
|
|
return _context6.stop();
|
|
|
}
|
|
|
}, _callee6);
|
|
|
}));
|
|
|
return _activeWithTPI.apply(this, arguments);
|
|
|
}
|
|
|
function syncCode(_x8) {
|
|
|
return _syncCode.apply(this, arguments);
|
|
|
}
|
|
|
function _syncCode() {
|
|
|
_syncCode = _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().mark(function _callee7(params) {
|
|
|
var p;
|
|
|
return _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().wrap(function _callee7$(_context7) {
|
|
|
while (1) switch (_context7.prev = _context7.next) {
|
|
|
case 0:
|
|
|
p = _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()({}, params);
|
|
|
delete p.identifier;
|
|
|
return _context7.abrupt("return", (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .ZP)("/api/myshixuns/".concat(params.identifier, "/sync_code.json"), {
|
|
|
method: 'Post',
|
|
|
body: p
|
|
|
}));
|
|
|
case 3:
|
|
|
case "end":
|
|
|
return _context7.stop();
|
|
|
}
|
|
|
}, _callee7);
|
|
|
}));
|
|
|
return _syncCode.apply(this, arguments);
|
|
|
}
|
|
|
function getDataSets(_x9) {
|
|
|
return _getDataSets.apply(this, arguments);
|
|
|
}
|
|
|
|
|
|
// 重启window 云主机
|
|
|
function _getDataSets() {
|
|
|
_getDataSets = _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().mark(function _callee8(params) {
|
|
|
return _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().wrap(function _callee8$(_context8) {
|
|
|
while (1) switch (_context8.prev = _context8.next) {
|
|
|
case 0:
|
|
|
return _context8.abrupt("return", (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .ZP)("/api/shixuns/".concat(params.identifier, "/get_data_sets.json"), {
|
|
|
method: 'Get',
|
|
|
params: params
|
|
|
}));
|
|
|
case 1:
|
|
|
case "end":
|
|
|
return _context8.stop();
|
|
|
}
|
|
|
}, _callee8);
|
|
|
}));
|
|
|
return _getDataSets.apply(this, arguments);
|
|
|
}
|
|
|
function rebootEsc(_x10) {
|
|
|
return _rebootEsc.apply(this, arguments);
|
|
|
}
|
|
|
function _rebootEsc() {
|
|
|
_rebootEsc = _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().mark(function _callee9(params) {
|
|
|
return _root_workspace_ppte5yg23_local_v9_node_modules_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().wrap(function _callee9$(_context9) {
|
|
|
while (1) switch (_context9.prev = _context9.next) {
|
|
|
case 0:
|
|
|
return _context9.abrupt("return", (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .ZP)("/api/tasks/".concat(params.identifier, "/reboot_esc.json"), {
|
|
|
method: 'post',
|
|
|
body: params
|
|
|
}));
|
|
|
case 1:
|
|
|
case "end":
|
|
|
return _context9.stop();
|
|
|
}
|
|
|
}, _callee9);
|
|
|
}));
|
|
|
return _rebootEsc.apply(this, arguments);
|
|
|
}
|
|
|
function getLatexFileTree(_x11) {
|
|
|
return _getLatexFileTree.apply(this, arguments);
|
|
|
}
|
|
|
function _getLatexFileTree() {
|
|
|
_getLatexFileTree = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee10(params) {
|
|
|
return _regeneratorRuntime().wrap(function _callee10$(_context10) {
|
|
|
while (1) switch (_context10.prev = _context10.next) {
|
|
|
case 0:
|
|
|
return _context10.abrupt("return", Fetch("/api/tasks/".concat(params.taskId, "/get_latex_file_tree.json"), {
|
|
|
method: 'Get',
|
|
|
params: params
|
|
|
}));
|
|
|
case 1:
|
|
|
case "end":
|
|
|
return _context10.stop();
|
|
|
}
|
|
|
}, _callee10);
|
|
|
}));
|
|
|
return _getLatexFileTree.apply(this, arguments);
|
|
|
}
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 39132:
|
|
|
/*!************************************************************!*\
|
|
|
!*** ./src/components/ui-customization/reset.less?modules ***!
|
|
|
\************************************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__) {
|
|
|
|
|
|
"use strict";
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
/* harmony default export */ __webpack_exports__["Z"] = ({"flex_box_center":"flex_box_center___vG4eV","flex_space_between":"flex_space_between___qVVxe","flex_box_vertical_center":"flex_box_vertical_center___P8Z8s","flex_box_center_end":"flex_box_center_end___VMme3","flex_box_column":"flex_box_column___VMHwm","dropdownmenus":"dropdownmenus___oVzoj","popupClassNames":"popupClassNames___OcZq7","selectdown":"selectdown___mmcA8"});
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 12867:
|
|
|
/*!****************************************************!*\
|
|
|
!*** ./src/components/tpi-code-setting/index.less ***!
|
|
|
\****************************************************/
|
|
|
/***/ (function() {
|
|
|
|
|
|
"use strict";
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 20640:
|
|
|
/*!*************************************************!*\
|
|
|
!*** ./node_modules/copy-to-clipboard/index.js ***!
|
|
|
\*************************************************/
|
|
|
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
|
|
|
|
"use strict";
|
|
|
|
|
|
|
|
|
var deselectCurrent = __webpack_require__(/*! toggle-selection */ 11742);
|
|
|
|
|
|
var clipboardToIE11Formatting = {
|
|
|
"text/plain": "Text",
|
|
|
"text/html": "Url",
|
|
|
"default": "Text"
|
|
|
}
|
|
|
|
|
|
var defaultMessage = "Copy to clipboard: #{key}, Enter";
|
|
|
|
|
|
function format(message) {
|
|
|
var copyKey = (/mac os x/i.test(navigator.userAgent) ? "⌘" : "Ctrl") + "+C";
|
|
|
return message.replace(/#{\s*key\s*}/g, copyKey);
|
|
|
}
|
|
|
|
|
|
function copy(text, options) {
|
|
|
var debug,
|
|
|
message,
|
|
|
reselectPrevious,
|
|
|
range,
|
|
|
selection,
|
|
|
mark,
|
|
|
success = false;
|
|
|
if (!options) {
|
|
|
options = {};
|
|
|
}
|
|
|
debug = options.debug || false;
|
|
|
try {
|
|
|
reselectPrevious = deselectCurrent();
|
|
|
|
|
|
range = document.createRange();
|
|
|
selection = document.getSelection();
|
|
|
|
|
|
mark = document.createElement("span");
|
|
|
mark.textContent = text;
|
|
|
// avoid screen readers from reading out loud the text
|
|
|
mark.ariaHidden = "true"
|
|
|
// reset user styles for span element
|
|
|
mark.style.all = "unset";
|
|
|
// prevents scrolling to the end of the page
|
|
|
mark.style.position = "fixed";
|
|
|
mark.style.top = 0;
|
|
|
mark.style.clip = "rect(0, 0, 0, 0)";
|
|
|
// used to preserve spaces and line breaks
|
|
|
mark.style.whiteSpace = "pre";
|
|
|
// do not inherit user-select (it may be `none`)
|
|
|
mark.style.webkitUserSelect = "text";
|
|
|
mark.style.MozUserSelect = "text";
|
|
|
mark.style.msUserSelect = "text";
|
|
|
mark.style.userSelect = "text";
|
|
|
mark.addEventListener("copy", function(e) {
|
|
|
e.stopPropagation();
|
|
|
if (options.format) {
|
|
|
e.preventDefault();
|
|
|
if (typeof e.clipboardData === "undefined") { // IE 11
|
|
|
debug && console.warn("unable to use e.clipboardData");
|
|
|
debug && console.warn("trying IE specific stuff");
|
|
|
window.clipboardData.clearData();
|
|
|
var format = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting["default"]
|
|
|
window.clipboardData.setData(format, text);
|
|
|
} else { // all other browsers
|
|
|
e.clipboardData.clearData();
|
|
|
e.clipboardData.setData(options.format, text);
|
|
|
}
|
|
|
}
|
|
|
if (options.onCopy) {
|
|
|
e.preventDefault();
|
|
|
options.onCopy(e.clipboardData);
|
|
|
}
|
|
|
});
|
|
|
|
|
|
document.body.appendChild(mark);
|
|
|
|
|
|
range.selectNodeContents(mark);
|
|
|
selection.addRange(range);
|
|
|
|
|
|
var successful = document.execCommand("copy");
|
|
|
if (!successful) {
|
|
|
throw new Error("copy command was unsuccessful");
|
|
|
}
|
|
|
success = true;
|
|
|
} catch (err) {
|
|
|
debug && console.error("unable to copy using execCommand: ", err);
|
|
|
debug && console.warn("trying IE specific stuff");
|
|
|
try {
|
|
|
window.clipboardData.setData(options.format || "text", text);
|
|
|
options.onCopy && options.onCopy(window.clipboardData);
|
|
|
success = true;
|
|
|
} catch (err) {
|
|
|
debug && console.error("unable to copy using clipboardData: ", err);
|
|
|
debug && console.error("falling back to prompt");
|
|
|
message = format("message" in options ? options.message : defaultMessage);
|
|
|
window.prompt(message, text);
|
|
|
}
|
|
|
} finally {
|
|
|
if (selection) {
|
|
|
if (typeof selection.removeRange == "function") {
|
|
|
selection.removeRange(range);
|
|
|
} else {
|
|
|
selection.removeAllRanges();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if (mark) {
|
|
|
document.body.removeChild(mark);
|
|
|
}
|
|
|
reselectPrevious();
|
|
|
}
|
|
|
|
|
|
return success;
|
|
|
}
|
|
|
|
|
|
module.exports = copy;
|
|
|
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 11742:
|
|
|
/*!************************************************!*\
|
|
|
!*** ./node_modules/toggle-selection/index.js ***!
|
|
|
\************************************************/
|
|
|
/***/ (function(module) {
|
|
|
|
|
|
|
|
|
module.exports = function () {
|
|
|
var selection = document.getSelection();
|
|
|
if (!selection.rangeCount) {
|
|
|
return function () {};
|
|
|
}
|
|
|
var active = document.activeElement;
|
|
|
|
|
|
var ranges = [];
|
|
|
for (var i = 0; i < selection.rangeCount; i++) {
|
|
|
ranges.push(selection.getRangeAt(i));
|
|
|
}
|
|
|
|
|
|
switch (active.tagName.toUpperCase()) { // .toUpperCase handles XHTML
|
|
|
case 'INPUT':
|
|
|
case 'TEXTAREA':
|
|
|
active.blur();
|
|
|
break;
|
|
|
|
|
|
default:
|
|
|
active = null;
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
selection.removeAllRanges();
|
|
|
return function () {
|
|
|
selection.type === 'Caret' &&
|
|
|
selection.removeAllRanges();
|
|
|
|
|
|
if (!selection.rangeCount) {
|
|
|
ranges.forEach(function(range) {
|
|
|
selection.addRange(range);
|
|
|
});
|
|
|
}
|
|
|
|
|
|
active &&
|
|
|
active.focus();
|
|
|
};
|
|
|
};
|
|
|
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 96908:
|
|
|
/*!**************************************************************************!*\
|
|
|
!*** ./src/components/ui-customization/Cards/ShixunList/img/Jupyter.png ***!
|
|
|
\**************************************************************************/
|
|
|
/***/ (function(module) {
|
|
|
|
|
|
"use strict";
|
|
|
module.exports = "data:image/png;base64,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";
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 57177:
|
|
|
/*!*****************************************************************************!*\
|
|
|
!*** ./src/components/ui-customization/Cards/ShixunList/img/JupyterLab.png ***!
|
|
|
\*****************************************************************************/
|
|
|
/***/ (function(module) {
|
|
|
|
|
|
"use strict";
|
|
|
module.exports = "data:image/png;base64,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";
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 81378:
|
|
|
/*!************************************************************************!*\
|
|
|
!*** ./src/components/ui-customization/Cards/ShixunList/img/unity.png ***!
|
|
|
\************************************************************************/
|
|
|
/***/ (function(module) {
|
|
|
|
|
|
"use strict";
|
|
|
module.exports = "data:image/png;base64,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";
|
|
|
|
|
|
/***/ })
|
|
|
|
|
|
}]); |