|
|
"use strict";
|
|
|
(self["webpackChunk"] = self["webpackChunk"] || []).push([[39332],{
|
|
|
|
|
|
/***/ 50662:
|
|
|
/*!********************************************************************************************************!*\
|
|
|
!*** ./node_modules/_@ant-design_icons@5.3.5@@ant-design/icons/es/icons/UploadOutlined.js + 1 modules ***!
|
|
|
\********************************************************************************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
|
|
|
// EXPORTS
|
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
|
Z: function() { return /* binding */ icons_UploadOutlined; }
|
|
|
});
|
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.24.1@@babel/runtime/helpers/esm/extends.js
|
|
|
var esm_extends = __webpack_require__(66820);
|
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
|
|
|
var _react_17_0_2_react = __webpack_require__(59301);
|
|
|
;// CONCATENATED MODULE: ./node_modules/_@ant-design_icons-svg@4.4.2@@ant-design/icons-svg/es/asn/UploadOutlined.js
|
|
|
// This icon file is generated automatically.
|
|
|
var UploadOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M400 317.7h73.9V656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V317.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 163a8 8 0 00-12.6 0l-112 141.7c-4.1 5.3-.4 13 6.3 13zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z" } }] }, "name": "upload", "theme": "outlined" };
|
|
|
/* harmony default export */ var asn_UploadOutlined = (UploadOutlined);
|
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.3.5@@ant-design/icons/es/components/AntdIcon.js + 3 modules
|
|
|
var AntdIcon = __webpack_require__(13814);
|
|
|
;// CONCATENATED MODULE: ./node_modules/_@ant-design_icons@5.3.5@@ant-design/icons/es/icons/UploadOutlined.js
|
|
|
|
|
|
// GENERATE BY ./scripts/generate.ts
|
|
|
// DON NOT EDIT IT MANUALLY
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var UploadOutlined_UploadOutlined = function UploadOutlined(props, ref) {
|
|
|
return /*#__PURE__*/_react_17_0_2_react.createElement(AntdIcon/* default */.Z, (0,esm_extends/* default */.Z)({}, props, {
|
|
|
ref: ref,
|
|
|
icon: asn_UploadOutlined
|
|
|
}));
|
|
|
};
|
|
|
var RefIcon = /*#__PURE__*/_react_17_0_2_react.forwardRef(UploadOutlined_UploadOutlined);
|
|
|
if (false) {}
|
|
|
/* harmony default export */ var icons_UploadOutlined = (RefIcon);
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 27636:
|
|
|
/*!**********************************************************!*\
|
|
|
!*** ./src/components/CoverUpload/index.tsx + 1 modules ***!
|
|
|
\**********************************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
|
|
|
// EXPORTS
|
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
|
Z: function() { return /* binding */ components_CoverUpload; }
|
|
|
});
|
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/slicedToArray.js
|
|
|
var slicedToArray = __webpack_require__(79800);
|
|
|
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
|
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
|
|
|
var _react_17_0_2_react = __webpack_require__(59301);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/button/index.js
|
|
|
var es_button = __webpack_require__(3113);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/message/index.js + 4 modules
|
|
|
var message = __webpack_require__(8591);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/upload/index.js + 24 modules
|
|
|
var upload = __webpack_require__(33556);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.3.5@@ant-design/icons/es/icons/UploadOutlined.js + 1 modules
|
|
|
var UploadOutlined = __webpack_require__(50662);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.3.5@@ant-design/icons/es/icons/CloseCircleFilled.js + 1 modules
|
|
|
var CloseCircleFilled = __webpack_require__(6787);
|
|
|
// EXTERNAL MODULE: ./src/utils/env.ts + 1 modules
|
|
|
var env = __webpack_require__(2367);
|
|
|
;// CONCATENATED MODULE: ./src/components/CoverUpload/index.less?modules
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
/* harmony default export */ var CoverUploadmodules = ({"img":"img___BgL9D"});
|
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js
|
|
|
var jsx_runtime = __webpack_require__(37712);
|
|
|
;// CONCATENATED MODULE: ./src/components/CoverUpload/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var CoverUpload = function CoverUpload(_ref) {
|
|
|
var value = _ref.value,
|
|
|
onChange = _ref.onChange,
|
|
|
getFileProgress = _ref.getFileProgress;
|
|
|
var _useState = (0,_react_17_0_2_react.useState)(false),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
imgLoading = _useState2[0],
|
|
|
setImgLoading = _useState2[1];
|
|
|
var uploadButton = /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
|
loading: imgLoading,
|
|
|
icon: /*#__PURE__*/(0,jsx_runtime.jsx)(UploadOutlined/* default */.Z, {}),
|
|
|
children: "\u9009\u62E9\u4E0A\u4F20\u6587\u4EF6"
|
|
|
});
|
|
|
var renderImg = function renderImg() {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: CoverUploadmodules.img,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
|
|
|
src: env/* default */.Z.API_SERVER + "/api/attachments/" + value,
|
|
|
alt: "avatar",
|
|
|
style: {
|
|
|
width: 288
|
|
|
}
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(CloseCircleFilled/* default */.Z, {
|
|
|
onClick: function onClick() {
|
|
|
return onChange('');
|
|
|
},
|
|
|
style: {
|
|
|
fontSize: '16px',
|
|
|
color: 'red'
|
|
|
}
|
|
|
})
|
|
|
})]
|
|
|
});
|
|
|
};
|
|
|
var handleChange = function handleChange(info) {
|
|
|
if (getFileProgress) {
|
|
|
getFileProgress(info);
|
|
|
}
|
|
|
if (info.file.status === 'uploading') {
|
|
|
setImgLoading(true);
|
|
|
return;
|
|
|
}
|
|
|
if (info.file.status === 'done') {
|
|
|
var _info$file, _info$file3;
|
|
|
setImgLoading(false);
|
|
|
if (info.file.status === 'done' && ((_info$file = info.file) === null || _info$file === void 0 || (_info$file = _info$file.response) === null || _info$file === void 0 ? void 0 : _info$file.status) === -1) {
|
|
|
var _info$file2;
|
|
|
message/* default */.ZP.error((_info$file2 = info.file) === null || _info$file2 === void 0 || (_info$file2 = _info$file2.response) === null || _info$file2 === void 0 ? void 0 : _info$file2.message);
|
|
|
// onChange()
|
|
|
return;
|
|
|
}
|
|
|
onChange(info === null || info === void 0 || (_info$file3 = info.file) === null || _info$file3 === void 0 || (_info$file3 = _info$file3.response) === null || _info$file3 === void 0 ? void 0 : _info$file3.id);
|
|
|
}
|
|
|
};
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(_react_17_0_2_react.Fragment, {
|
|
|
children: value ? renderImg() : /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(upload/* default */.Z, {
|
|
|
withCredentials: true,
|
|
|
name: "file",
|
|
|
showUploadList: false,
|
|
|
action: "".concat(env/* default */.Z.API_SERVER, "/api/attachments.json"),
|
|
|
onChange: handleChange,
|
|
|
accept: "image/*",
|
|
|
children: uploadButton
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: "mt20 c-light-black",
|
|
|
children: "\u8BF4\u660E\uFF1A\u652F\u6301\u4E0A\u4F20jpg/png\u7B49\u683C\u5F0F\u6587\u4EF6\uFF0C\u6587\u4EF6\u5927\u5C0F\u4E0D\u80FD\u8D85\u8FC72M,\u5EFA\u8BAE\u4F7F\u7528288*158\u50CF\u7D20\uFF1B"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: "c-light-black",
|
|
|
children: "\u5982\u4E0D\u4E0A\u4F20\uFF0C\u9ED8\u8BA4\u4F7F\u7528\u7CFB\u7EDF\u56FE\u7247\u3002"
|
|
|
})]
|
|
|
})
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var components_CoverUpload = (CoverUpload);
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 25348:
|
|
|
/*!*****************************************************************!*\
|
|
|
!*** ./src/pages/Classrooms/Lists/Video/index.tsx + 12 modules ***!
|
|
|
\*****************************************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
// ESM COMPAT FLAG
|
|
|
__webpack_require__.r(__webpack_exports__);
|
|
|
|
|
|
// EXPORTS
|
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
|
"default": function() { return /* binding */ Video; }
|
|
|
});
|
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/regeneratorRuntime.js
|
|
|
var regeneratorRuntime = __webpack_require__(7557);
|
|
|
var regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(regeneratorRuntime);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/asyncToGenerator.js
|
|
|
var asyncToGenerator = __webpack_require__(41498);
|
|
|
var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/objectSpread2.js
|
|
|
var objectSpread2 = __webpack_require__(82242);
|
|
|
var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/slicedToArray.js
|
|
|
var slicedToArray = __webpack_require__(79800);
|
|
|
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/objectWithoutProperties.js
|
|
|
var objectWithoutProperties = __webpack_require__(39647);
|
|
|
var objectWithoutProperties_default = /*#__PURE__*/__webpack_require__.n(objectWithoutProperties);
|
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
|
|
|
var _react_17_0_2_react = __webpack_require__(59301);
|
|
|
// EXTERNAL MODULE: ./src/.umi-production/exports.ts + 15 modules
|
|
|
var _umi_production_exports = __webpack_require__(58011);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/menu/index.js + 11 modules
|
|
|
var menu = __webpack_require__(20834);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/layout/index.js
|
|
|
var layout = __webpack_require__(44000);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/modal/index.js + 16 modules
|
|
|
var modal = __webpack_require__(43418);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/row/index.js
|
|
|
var row = __webpack_require__(95237);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/tooltip/index.js + 3 modules
|
|
|
var tooltip = __webpack_require__(6848);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/spin/index.js + 1 modules
|
|
|
var spin = __webpack_require__(71418);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/pagination/index.js + 10 modules
|
|
|
var pagination = __webpack_require__(66786);
|
|
|
// EXTERNAL MODULE: ./src/utils/authority.ts
|
|
|
var authority = __webpack_require__(77971);
|
|
|
// EXTERNAL MODULE: ./src/components/NoData/index.tsx
|
|
|
var NoData = __webpack_require__(56971);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/message/index.js + 4 modules
|
|
|
var message = __webpack_require__(8591);
|
|
|
// EXTERNAL MODULE: ./src/utils/fetch.ts
|
|
|
var fetch = __webpack_require__(56648);
|
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js
|
|
|
var jsx_runtime = __webpack_require__(37712);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Video/components/DelTasks.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var DelShixun = function DelShixun(_ref) {
|
|
|
var classroomList = _ref.classroomList,
|
|
|
dispatch = _ref.dispatch,
|
|
|
cb = _ref.cb;
|
|
|
var params = (0,_umi_production_exports.useParams)();
|
|
|
params['id'] = params['coursesId'];
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, {
|
|
|
centered: true,
|
|
|
title: "\u63D0\u793A",
|
|
|
open: classroomList.actionTabs.key === '删除' ? true : false,
|
|
|
okText: "\u786E\u5B9A",
|
|
|
cancelText: "\u53D6\u6D88",
|
|
|
onOk: /*#__PURE__*/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,fetch/* default */.ZP)("/api/courses/".concat(params.id, "/delete_course_video.json"), {
|
|
|
method: 'delete',
|
|
|
body: {
|
|
|
video_id: classroomList.actionTabs.data.link ? classroomList.actionTabs.data.id : classroomList.actionTabs.data.course_video_id,
|
|
|
is_link: classroomList.actionTabs.data.link ? true : ''
|
|
|
}
|
|
|
});
|
|
|
case 2:
|
|
|
res = _context.sent;
|
|
|
if (res.status === 0) {
|
|
|
message/* default */.ZP.success('删除成功');
|
|
|
dispatch({
|
|
|
type: 'classroomList/setActionTabs',
|
|
|
payload: {}
|
|
|
});
|
|
|
dispatch({
|
|
|
type: 'classroomList/setUpdateData',
|
|
|
payload: Math.random()
|
|
|
});
|
|
|
dispatch({
|
|
|
type: 'classroomList/getClassroomLeftMenus',
|
|
|
payload: {
|
|
|
id: params.coursesId
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
case 4:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
})),
|
|
|
onCancel: function onCancel() {
|
|
|
dispatch({
|
|
|
type: 'classroomList/setActionTabs',
|
|
|
payload: {}
|
|
|
});
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
|
children: "\u662F\u5426\u786E\u8BA4\u5220\u9664\uFF1F"
|
|
|
})
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var DelTasks = ((0,_umi_production_exports.connect)(function (_ref3) {
|
|
|
var classroomList = _ref3.classroomList;
|
|
|
return {
|
|
|
classroomList: classroomList
|
|
|
};
|
|
|
})(DelShixun));
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/defineProperty.js
|
|
|
var defineProperty = __webpack_require__(85573);
|
|
|
var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/tree-select/index.js + 17 modules
|
|
|
var tree_select = __webpack_require__(98228);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/form/index.js + 19 modules
|
|
|
var es_form = __webpack_require__(78241);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/button/index.js
|
|
|
var es_button = __webpack_require__(3113);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/input/index.js + 5 modules
|
|
|
var input = __webpack_require__(62680);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/upload/index.js + 24 modules
|
|
|
var upload = __webpack_require__(33556);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.3.5@@ant-design/icons/es/icons/UploadOutlined.js + 1 modules
|
|
|
var UploadOutlined = __webpack_require__(50662);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.3.5@@ant-design/icons/es/icons/CloseCircleFilled.js + 1 modules
|
|
|
var CloseCircleFilled = __webpack_require__(6787);
|
|
|
// EXTERNAL MODULE: ./src/utils/env.ts + 1 modules
|
|
|
var env = __webpack_require__(2367);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Video/index.less?modules
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
/* harmony default export */ var Videomodules = ({"flex_box_center":"flex_box_center___ZHxNf","flex_space_between":"flex_space_between___SMaaw","flex_box_vertical_center":"flex_box_vertical_center___xMq2f","flex_box_center_end":"flex_box_center_end___qU72x","flex_box_column":"flex_box_column___ik6jh","bg":"bg___x4BYS","menu":"menu___YqpjW","desc":"desc___n62tO","otherLink":"otherLink___jkav5","card":"card___BlTD5","img":"img___AYe38","analysisText":"analysisText___JsHI_","analysisTips":"analysisTips___VNhTg"});
|
|
|
// EXTERNAL MODULE: ./src/utils/util.tsx
|
|
|
var util = __webpack_require__(73400);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Video/components/AddLink.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var TreeNode = tree_select/* default.TreeNode */.Z.TreeNode;
|
|
|
var EditAttendance = function EditAttendance(_ref) {
|
|
|
var _classroomList$action6, _classroomList$action7;
|
|
|
var classroomList = _ref.classroomList,
|
|
|
loading = _ref.loading,
|
|
|
user = _ref.user,
|
|
|
dispatch = _ref.dispatch;
|
|
|
var params = (0,_umi_production_exports.useParams)();
|
|
|
params['id'] = params['coursesId'];
|
|
|
var detailAttendancesDetail = classroomList.detailAttendancesDetail,
|
|
|
actionTabs = classroomList.actionTabs;
|
|
|
var _Form$useForm = es_form/* default */.Z.useForm(),
|
|
|
_Form$useForm2 = slicedToArray_default()(_Form$useForm, 1),
|
|
|
form = _Form$useForm2[0];
|
|
|
var _useState = (0,_react_17_0_2_react.useState)(''),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
attachment_id = _useState2[0],
|
|
|
setImageUrl = _useState2[1];
|
|
|
var _useState3 = (0,_react_17_0_2_react.useState)(false),
|
|
|
_useState4 = slicedToArray_default()(_useState3, 2),
|
|
|
imgLoading = _useState4[0],
|
|
|
setImgLoading = _useState4[1];
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
var _classroomList$action, _classroomList$action2;
|
|
|
if (((_classroomList$action = classroomList.actionTabs) === null || _classroomList$action === void 0 ? void 0 : _classroomList$action.key) === '增加外链' && (_classroomList$action2 = classroomList.actionTabs) !== null && _classroomList$action2 !== void 0 && _classroomList$action2.data) {
|
|
|
var _classroomList$action3, _classroomList$action4, _classroomList$action5;
|
|
|
form.setFieldsValue({
|
|
|
name: (_classroomList$action3 = classroomList.actionTabs) === null || _classroomList$action3 === void 0 || (_classroomList$action3 = _classroomList$action3.data) === null || _classroomList$action3 === void 0 ? void 0 : _classroomList$action3.title,
|
|
|
link: (_classroomList$action4 = classroomList.actionTabs) === null || _classroomList$action4 === void 0 || (_classroomList$action4 = _classroomList$action4.data) === null || _classroomList$action4 === void 0 ? void 0 : _classroomList$action4.link
|
|
|
});
|
|
|
setImageUrl((_classroomList$action5 = classroomList.actionTabs) === null || _classroomList$action5 === void 0 || (_classroomList$action5 = _classroomList$action5.data) === null || _classroomList$action5 === void 0 ? void 0 : _classroomList$action5.attachment_id);
|
|
|
}
|
|
|
}, [(_classroomList$action6 = classroomList.actionTabs) === null || _classroomList$action6 === void 0 ? void 0 : _classroomList$action6.key]);
|
|
|
var uploadButton = /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
|
loading: imgLoading,
|
|
|
icon: /*#__PURE__*/(0,jsx_runtime.jsx)(UploadOutlined/* default */.Z, {}),
|
|
|
children: "\u9009\u62E9\u4E0A\u4F20\u6587\u4EF6"
|
|
|
});
|
|
|
var renderImg = function renderImg() {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: Videomodules.img,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
|
|
|
src: env/* default */.Z.API_SERVER + "/api/attachments/" + attachment_id,
|
|
|
alt: "avatar",
|
|
|
style: {
|
|
|
width: 288
|
|
|
}
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(CloseCircleFilled/* default */.Z, {
|
|
|
onClick: function onClick() {
|
|
|
return setImageUrl('');
|
|
|
},
|
|
|
style: {
|
|
|
fontSize: '16px',
|
|
|
color: 'red'
|
|
|
}
|
|
|
})
|
|
|
})]
|
|
|
});
|
|
|
};
|
|
|
var handleChange = function handleChange(info) {
|
|
|
if (info.file.status === 'uploading') {
|
|
|
setImgLoading(true);
|
|
|
return;
|
|
|
}
|
|
|
if (info.file.status === 'done') {
|
|
|
var _info$file;
|
|
|
setImgLoading(false);
|
|
|
setImageUrl(info === null || info === void 0 || (_info$file = info.file) === null || _info$file === void 0 || (_info$file = _info$file.response) === null || _info$file === void 0 ? void 0 : _info$file.id);
|
|
|
}
|
|
|
};
|
|
|
var cancel = function cancel() {
|
|
|
form.resetFields();
|
|
|
dispatch({
|
|
|
type: 'classroomList/setActionTabs',
|
|
|
payload: {}
|
|
|
});
|
|
|
setImageUrl('');
|
|
|
setImgLoading(false);
|
|
|
};
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, {
|
|
|
centered: true,
|
|
|
title: (_classroomList$action7 = classroomList.actionTabs) !== null && _classroomList$action7 !== void 0 && _classroomList$action7.data ? '编辑外链视频' : "增加外链",
|
|
|
open: classroomList.actionTabs.key === '增加外链' ? true : false,
|
|
|
okText: "\u786E\u5B9A",
|
|
|
cancelText: "\u53D6\u6D88",
|
|
|
width: 640,
|
|
|
okButtonProps: {
|
|
|
loading: imgLoading
|
|
|
},
|
|
|
bodyStyle: {
|
|
|
minHeight: 200
|
|
|
},
|
|
|
onOk: /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
|
|
|
var _classroomList$action8;
|
|
|
var formValue, res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
|
|
|
while (1) switch (_context.prev = _context.next) {
|
|
|
case 0:
|
|
|
_context.t0 = (objectSpread2_default());
|
|
|
_context.t1 = {};
|
|
|
_context.next = 4;
|
|
|
return form.validateFields();
|
|
|
case 4:
|
|
|
_context.t2 = _context.sent;
|
|
|
formValue = (0, _context.t0)(_context.t1, _context.t2);
|
|
|
setImgLoading(true);
|
|
|
if ((_classroomList$action8 = classroomList.actionTabs) !== null && _classroomList$action8 !== void 0 && _classroomList$action8.data) {
|
|
|
_context.next = 13;
|
|
|
break;
|
|
|
}
|
|
|
_context.next = 10;
|
|
|
return (0,fetch/* default */.ZP)("/api/courses/".concat(params.id, "/course_videos.json"), {
|
|
|
method: 'post',
|
|
|
body: objectSpread2_default()(objectSpread2_default()({}, formValue), {}, {
|
|
|
category_id: params.categoryId === '0' ? '' : params.categoryId,
|
|
|
attachment_id: attachment_id
|
|
|
})
|
|
|
});
|
|
|
case 10:
|
|
|
_context.t3 = _context.sent;
|
|
|
_context.next = 16;
|
|
|
break;
|
|
|
case 13:
|
|
|
_context.next = 15;
|
|
|
return (0,fetch/* default */.ZP)("/api/course_videos/".concat(actionTabs.data.id, ".json"), {
|
|
|
method: 'put',
|
|
|
body: objectSpread2_default()(objectSpread2_default()({}, formValue), {}, {
|
|
|
title: formValue.name,
|
|
|
new_attachment_id: attachment_id
|
|
|
})
|
|
|
});
|
|
|
case 15:
|
|
|
_context.t3 = _context.sent;
|
|
|
case 16:
|
|
|
res = _context.t3;
|
|
|
if (!(res.status === 0)) {
|
|
|
_context.next = 23;
|
|
|
break;
|
|
|
}
|
|
|
(0,util/* trackEvent */.L9)(['教学课堂', '视频', '增加外链']);
|
|
|
message/* default */.ZP.success('修改成功');
|
|
|
dispatch({
|
|
|
type: 'classroomList/setUpdateData',
|
|
|
payload: Math.random()
|
|
|
});
|
|
|
cancel();
|
|
|
return _context.abrupt("return");
|
|
|
case 23:
|
|
|
setImgLoading(false);
|
|
|
case 24:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
})),
|
|
|
onCancel: function onCancel() {
|
|
|
cancel();
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(es_form/* default */.Z, {
|
|
|
form: form,
|
|
|
initialValues: defineProperty_default()(defineProperty_default()({}, 'name', ''), 'link', ''),
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
label: "\u89C6\u9891\u6807\u9898",
|
|
|
name: "name",
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请输入!'
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
|
|
|
maxLength: 60
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
label: "\u89C6\u9891\u94FE\u63A5",
|
|
|
name: "link",
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请输入!'
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
// name="file"
|
|
|
label: "\u4E0A\u4F20\u5C01\u9762\u56FE:",
|
|
|
children: attachment_id ? renderImg() : /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(upload/* default */.Z, {
|
|
|
withCredentials: true,
|
|
|
name: "file",
|
|
|
showUploadList: false,
|
|
|
action: "".concat(env/* default */.Z.API_SERVER, "/api/attachments.json"),
|
|
|
onChange: handleChange,
|
|
|
accept: "image/*",
|
|
|
children: uploadButton
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: "mt20 c-light-black",
|
|
|
children: "\u8BF4\u660E\uFF1A\u652F\u6301\u4E0A\u4F20jpg/png\u7B49\u683C\u5F0F\u6587\u4EF6\uFF0C\u6587\u4EF6\u5927\u5C0F\u4E0D\u80FD\u8D85\u8FC72M,\u5EFA\u8BAE\u4F7F\u7528288*158\u50CF\u7D20\uFF1B"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: "c-light-black",
|
|
|
children: "\u5982\u4E0D\u4E0A\u4F20\uFF0C\u9ED8\u8BA4\u4F7F\u7528\u7CFB\u7EDF\u56FE\u7247\u3002"
|
|
|
})]
|
|
|
})
|
|
|
})]
|
|
|
})
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var AddLink = ((0,_umi_production_exports.connect)(function (_ref4) {
|
|
|
var classroomList = _ref4.classroomList,
|
|
|
user = _ref4.user,
|
|
|
loading = _ref4.loading;
|
|
|
return {
|
|
|
classroomList: classroomList,
|
|
|
user: user,
|
|
|
loading: loading
|
|
|
};
|
|
|
})(EditAttendance));
|
|
|
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Video/components/Edit.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var Edit_TreeNode = tree_select/* default.TreeNode */.Z.TreeNode;
|
|
|
var Edit_EditAttendance = function EditAttendance(_ref) {
|
|
|
var classroomList = _ref.classroomList,
|
|
|
loading = _ref.loading,
|
|
|
dispatch = _ref.dispatch;
|
|
|
var params = (0,_umi_production_exports.useParams)();
|
|
|
params['id'] = params['coursesId'];
|
|
|
var detailAttendancesDetail = classroomList.detailAttendancesDetail,
|
|
|
actionTabs = classroomList.actionTabs;
|
|
|
var _Form$useForm = es_form/* default */.Z.useForm(),
|
|
|
_Form$useForm2 = slicedToArray_default()(_Form$useForm, 1),
|
|
|
form = _Form$useForm2[0];
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, {
|
|
|
centered: true,
|
|
|
title: "\u89C6\u9891\u6807\u9898\u7F16\u8F91",
|
|
|
open: classroomList.actionTabs.key === '编辑' ? true : false,
|
|
|
okText: "\u786E\u5B9A",
|
|
|
cancelText: "\u53D6\u6D88",
|
|
|
bodyStyle: {
|
|
|
minHeight: 200
|
|
|
},
|
|
|
onOk: /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
|
|
|
var formValue, res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
|
|
|
while (1) switch (_context.prev = _context.next) {
|
|
|
case 0:
|
|
|
_context.t0 = (objectSpread2_default());
|
|
|
_context.t1 = {};
|
|
|
_context.next = 4;
|
|
|
return form.validateFields();
|
|
|
case 4:
|
|
|
_context.t2 = _context.sent;
|
|
|
formValue = (0, _context.t0)(_context.t1, _context.t2);
|
|
|
_context.next = 8;
|
|
|
return (0,fetch/* default */.ZP)("/api/course_videos/".concat(actionTabs.data.id, ".json"), {
|
|
|
method: 'put',
|
|
|
body: objectSpread2_default()({}, formValue)
|
|
|
});
|
|
|
case 8:
|
|
|
res = _context.sent;
|
|
|
if (res.status === 0) {
|
|
|
message/* default */.ZP.success('修改成功');
|
|
|
dispatch({
|
|
|
type: 'classroomList/setActionTabs',
|
|
|
payload: {}
|
|
|
});
|
|
|
}
|
|
|
case 10:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
})),
|
|
|
onCancel: function onCancel() {
|
|
|
dispatch({
|
|
|
type: 'classroomList/setActionTabs',
|
|
|
payload: {}
|
|
|
});
|
|
|
},
|
|
|
children: actionTabs.data && /*#__PURE__*/(0,jsx_runtime.jsxs)(es_form/* default */.Z, {
|
|
|
form: form,
|
|
|
initialValues: defineProperty_default()(defineProperty_default()({}, 'name', actionTabs.data.title), 'link', actionTabs.data.link),
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
label: "\u89C6\u9891\u6807\u9898",
|
|
|
name: "name",
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请输入!'
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
|
|
|
maxLength: 60
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
label: "\u89C6\u9891\u94FE\u63A5",
|
|
|
name: "link",
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请输入!'
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {})
|
|
|
})]
|
|
|
})
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var Edit = ((0,_umi_production_exports.connect)(function (_ref4) {
|
|
|
var classroomList = _ref4.classroomList,
|
|
|
loading = _ref4.loading;
|
|
|
return {
|
|
|
classroomList: classroomList,
|
|
|
loading: loading
|
|
|
};
|
|
|
})(Edit_EditAttendance));
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/radio/index.js + 5 modules
|
|
|
var es_radio = __webpack_require__(5112);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/table/index.js + 85 modules
|
|
|
var table = __webpack_require__(90508);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/checkbox/index.js + 3 modules
|
|
|
var es_checkbox = __webpack_require__(24905);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/progress/index.js + 13 modules
|
|
|
var progress = __webpack_require__(93948);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/switch/index.js + 2 modules
|
|
|
var es_switch = __webpack_require__(78673);
|
|
|
// EXTERNAL MODULE: ./src/components/CoverUpload/index.tsx + 1 modules
|
|
|
var CoverUpload = __webpack_require__(27636);
|
|
|
// EXTERNAL MODULE: ./src/utils/aliyunUpload.ts
|
|
|
var aliyunUpload = __webpack_require__(19473);
|
|
|
// EXTERNAL MODULE: ./src/service/user.ts
|
|
|
var service_user = __webpack_require__(35048);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Video/components/VideoEdit.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var VideoEdit_TreeNode = tree_select/* default.TreeNode */.Z.TreeNode;
|
|
|
var VideoEdit_EditAttendance = function EditAttendance(_ref) {
|
|
|
var _video$file$name;
|
|
|
var classroomList = _ref.classroomList,
|
|
|
user = _ref.user,
|
|
|
loading = _ref.loading,
|
|
|
dispatch = _ref.dispatch;
|
|
|
var params = (0,_umi_production_exports.useParams)();
|
|
|
params['id'] = params['coursesId'];
|
|
|
var detailAttendancesDetail = classroomList.detailAttendancesDetail,
|
|
|
actionTabs = classroomList.actionTabs;
|
|
|
var _Form$useForm = es_form/* default */.Z.useForm(),
|
|
|
_Form$useForm2 = slicedToArray_default()(_Form$useForm, 1),
|
|
|
form = _Form$useForm2[0];
|
|
|
var _useState = (0,_react_17_0_2_react.useState)(false),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
imgLoading = _useState2[0],
|
|
|
setImgLoading = _useState2[1];
|
|
|
var _useState3 = (0,_react_17_0_2_react.useState)(false),
|
|
|
_useState4 = slicedToArray_default()(_useState3, 2),
|
|
|
btnLoading = _useState4[0],
|
|
|
setBtnLoading = _useState4[1];
|
|
|
var _useState5 = (0,_react_17_0_2_react.useState)([]),
|
|
|
_useState6 = slicedToArray_default()(_useState5, 2),
|
|
|
tabsList = _useState6[0],
|
|
|
setTabsList = _useState6[1];
|
|
|
var _useState7 = (0,_react_17_0_2_react.useState)(),
|
|
|
_useState8 = slicedToArray_default()(_useState7, 2),
|
|
|
video = _useState8[0],
|
|
|
setVideo = _useState8[1];
|
|
|
var files = (0,_react_17_0_2_react.useRef)();
|
|
|
var uploader = (0,_react_17_0_2_react.useRef)();
|
|
|
var fileTypes = ["avi", "flv", "f4v", "m4v", "mov", "mp4", "rmvb", "swf", "webm", "wmv"];
|
|
|
var uploadNameSizeSeperator = ' ';
|
|
|
var _useState9 = (0,_react_17_0_2_react.useState)(null),
|
|
|
_useState10 = slicedToArray_default()(_useState9, 2),
|
|
|
videoId = _useState10[0],
|
|
|
setvideoId = _useState10[1];
|
|
|
var _useState11 = (0,_react_17_0_2_react.useState)(null),
|
|
|
_useState12 = slicedToArray_default()(_useState11, 2),
|
|
|
nowVideoId = _useState12[0],
|
|
|
setNowVideoId = _useState12[1];
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
var _actionTabs$data, _actionTabs$data2, _actionTabs$data3;
|
|
|
if (classroomList.actionTabs.key === '编辑视频') form.setFieldsValue({
|
|
|
title: actionTabs.data.title,
|
|
|
attachment_id: actionTabs === null || actionTabs === void 0 || (_actionTabs$data = actionTabs.data) === null || _actionTabs$data === void 0 ? void 0 : _actionTabs$data.attachment_id,
|
|
|
allow_skip: actionTabs === null || actionTabs === void 0 || (_actionTabs$data2 = actionTabs.data) === null || _actionTabs$data2 === void 0 ? void 0 : _actionTabs$data2.allow_skip,
|
|
|
action_analysis: actionTabs === null || actionTabs === void 0 || (_actionTabs$data3 = actionTabs.data) === null || _actionTabs$data3 === void 0 ? void 0 : _actionTabs$data3.action_analysis
|
|
|
});
|
|
|
!!asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
|
|
|
var _actionTabs$data4;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
|
|
|
while (1) switch (_context.prev = _context.next) {
|
|
|
case 0:
|
|
|
if ((_actionTabs$data4 = actionTabs.data) !== null && _actionTabs$data4 !== void 0 && _actionTabs$data4.course_video_id) {
|
|
|
getTabsList();
|
|
|
}
|
|
|
case 1:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
}))();
|
|
|
}, [classroomList.actionTabs.key]);
|
|
|
var getTabsList = /*#__PURE__*/function () {
|
|
|
var _ref3 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2() {
|
|
|
var _actionTabs$params, _actionTabs$data5;
|
|
|
var res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
|
|
|
while (1) switch (_context2.prev = _context2.next) {
|
|
|
case 0:
|
|
|
_context2.next = 2;
|
|
|
return (0,fetch/* default */.ZP)("/api/courses/".concat((_actionTabs$params = actionTabs.params) === null || _actionTabs$params === void 0 ? void 0 : _actionTabs$params.coursesId, "/course_videos/video_history?course_video_id=").concat((_actionTabs$data5 = actionTabs.data) === null || _actionTabs$data5 === void 0 ? void 0 : _actionTabs$data5.course_video_id), {
|
|
|
method: "get"
|
|
|
});
|
|
|
case 2:
|
|
|
res = _context2.sent;
|
|
|
setTabsList(res.data);
|
|
|
res.data.forEach(function (item) {
|
|
|
if (item.checked) {
|
|
|
setvideoId(item.id);
|
|
|
setNowVideoId(item.id);
|
|
|
}
|
|
|
});
|
|
|
case 5:
|
|
|
case "end":
|
|
|
return _context2.stop();
|
|
|
}
|
|
|
}, _callee2);
|
|
|
}));
|
|
|
return function getTabsList() {
|
|
|
return _ref3.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
var columns = [{
|
|
|
title: "",
|
|
|
dataIndex: 'checked',
|
|
|
align: 'center',
|
|
|
// render: (text: boolean, record: any, index: number) =><Checkbox checked={text} onChange={()=>handleChange(record)} />
|
|
|
render: function render(text, record, index) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default.Group */.ZP.Group, {
|
|
|
onChange: function onChange() {
|
|
|
return handleChange(record);
|
|
|
},
|
|
|
value: nowVideoId,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default */.ZP, {
|
|
|
value: record.id
|
|
|
})
|
|
|
});
|
|
|
}
|
|
|
}, {
|
|
|
title: "视频名称",
|
|
|
width: 300,
|
|
|
dataIndex: 'title'
|
|
|
}, {
|
|
|
title: "版本号",
|
|
|
dataIndex: 'version'
|
|
|
}, {
|
|
|
title: "操作",
|
|
|
render: function render(text, record, index) {
|
|
|
return record.id != videoId && /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
|
type: "link",
|
|
|
danger: true,
|
|
|
onClick: function onClick() {
|
|
|
return handleDeleteVideo(record);
|
|
|
},
|
|
|
children: "\u5220\u9664"
|
|
|
});
|
|
|
}
|
|
|
}];
|
|
|
var handleDeleteVideo = /*#__PURE__*/function () {
|
|
|
var _ref4 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3(record) {
|
|
|
var _actionTabs$params2;
|
|
|
var res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee3$(_context3) {
|
|
|
while (1) switch (_context3.prev = _context3.next) {
|
|
|
case 0:
|
|
|
if (!(tabsList.length == 1)) {
|
|
|
_context3.next = 2;
|
|
|
break;
|
|
|
}
|
|
|
return _context3.abrupt("return");
|
|
|
case 2:
|
|
|
_context3.next = 4;
|
|
|
return (0,fetch/* default */.ZP)("/api/courses/".concat((_actionTabs$params2 = actionTabs.params) === null || _actionTabs$params2 === void 0 ? void 0 : _actionTabs$params2.coursesId, "/delete_course_video.json"), {
|
|
|
method: 'delete',
|
|
|
body: {
|
|
|
video_id: record.id,
|
|
|
is_link: classroomList.actionTabs.data.link ? true : ''
|
|
|
}
|
|
|
});
|
|
|
case 4:
|
|
|
res = _context3.sent;
|
|
|
if (res.message == "success") getTabsList();
|
|
|
case 6:
|
|
|
case "end":
|
|
|
return _context3.stop();
|
|
|
}
|
|
|
}, _callee3);
|
|
|
}));
|
|
|
return function handleDeleteVideo(_x) {
|
|
|
return _ref4.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
var handleChange = function handleChange(record) {
|
|
|
setTabsList(tabsList.map(function (item) {
|
|
|
if (item.id == record.id) {
|
|
|
item.checked = true;
|
|
|
setNowVideoId(record.id);
|
|
|
} else item.checked = false;
|
|
|
return item;
|
|
|
}));
|
|
|
};
|
|
|
var handleUpload = function handleUpload(e) {
|
|
|
var _user$userInfo;
|
|
|
var file = e.target.files[0];
|
|
|
if (!file) return;
|
|
|
var fileSize = file.size / 1024 / 1024 / 1024;
|
|
|
var fileType = file.name.split(".").slice(-1)[0].toLowerCase();
|
|
|
if (fileSize > 1) {
|
|
|
message/* default */.ZP.error("".concat(file.name, " \u6587\u4EF6\u65E0\u6CD5\u4E0A\u4F20\u3002\u8D85\u8FC7\u6587\u4EF6\u5927\u5C0F\u9650\u5236(1G)"));
|
|
|
return;
|
|
|
}
|
|
|
if (fileTypes.indexOf(fileType) == -1) {
|
|
|
message/* default */.ZP.error("".concat(file.name, " \u6587\u4EF6\u65E0\u6CD5\u4E0A\u4F20,\u5F53\u524D\u4EC5\u9650\u652F\u6301").concat(fileTypes.join(", "), "\u6587\u4EF6"));
|
|
|
return;
|
|
|
}
|
|
|
var userData = '{"Vod":{}}';
|
|
|
if (uploader.current) {
|
|
|
uploader.current.addFile(file, null, null, null, userData);
|
|
|
return;
|
|
|
}
|
|
|
var videoInfo = {};
|
|
|
(0,aliyunUpload/* getUploader */.o)((_user$userInfo = user.userInfo) === null || _user$userInfo === void 0 ? void 0 : _user$userInfo.login, '', {
|
|
|
create: !uploader,
|
|
|
onUploadProgress: function onUploadProgress(uploadInfo, totalSize, progress) {
|
|
|
videoInfo = objectSpread2_default()(objectSpread2_default()({}, uploadInfo), {}, {
|
|
|
loaded: Math.ceil(progress * 100)
|
|
|
});
|
|
|
setVideo(videoInfo);
|
|
|
},
|
|
|
onUploadFailed: function onUploadFailed(uploadInfo) {
|
|
|
message/* default */.ZP.info('视频云服务出现异常,请重新上传。');
|
|
|
},
|
|
|
onUploadEnd: function onUploadEnd(uploadInfo) {},
|
|
|
onUploadSucceed: function onUploadSucceed(uploadInfo) {},
|
|
|
onUploadError: function onUploadError(uploadInfo) {},
|
|
|
gotUploader: function () {
|
|
|
var _gotUploader = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee4(_uploader) {
|
|
|
return regeneratorRuntime_default()().wrap(function _callee4$(_context4) {
|
|
|
while (1) switch (_context4.prev = _context4.next) {
|
|
|
case 0:
|
|
|
_uploader.addFile(file, null, null, null, userData);
|
|
|
uploader.current = _uploader;
|
|
|
case 2:
|
|
|
case "end":
|
|
|
return _context4.stop();
|
|
|
}
|
|
|
}, _callee4);
|
|
|
}));
|
|
|
function gotUploader(_x2) {
|
|
|
return _gotUploader.apply(this, arguments);
|
|
|
}
|
|
|
return gotUploader;
|
|
|
}()
|
|
|
});
|
|
|
};
|
|
|
var analysisValue = es_form/* default */.Z.useWatch('action_analysis', form);
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, {
|
|
|
centered: true,
|
|
|
title: "\u89C6\u9891\u7F16\u8F91",
|
|
|
open: classroomList.actionTabs.key === '编辑视频' ? true : false,
|
|
|
okText: "\u786E\u5B9A",
|
|
|
cancelText: "\u53D6\u6D88",
|
|
|
width: 660,
|
|
|
destroyOnClose: true,
|
|
|
okButtonProps: {
|
|
|
disabled: imgLoading
|
|
|
},
|
|
|
confirmLoading: btnLoading,
|
|
|
onOk: /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee5() {
|
|
|
var _actionTabs$data8;
|
|
|
var formValue, body, _user$userInfo2, _actionTabs$data6, _actionTabs$data7, res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee5$(_context5) {
|
|
|
while (1) switch (_context5.prev = _context5.next) {
|
|
|
case 0:
|
|
|
if (!(video && video.loaded != 100)) {
|
|
|
_context5.next = 3;
|
|
|
break;
|
|
|
}
|
|
|
message/* default */.ZP.warning("视频上传中请稍等!");
|
|
|
return _context5.abrupt("return");
|
|
|
case 3:
|
|
|
_context5.t0 = (objectSpread2_default());
|
|
|
_context5.t1 = {};
|
|
|
_context5.next = 7;
|
|
|
return form.validateFields();
|
|
|
case 7:
|
|
|
_context5.t2 = _context5.sent;
|
|
|
formValue = (0, _context5.t0)(_context5.t1, _context5.t2);
|
|
|
body = objectSpread2_default()({}, formValue);
|
|
|
setBtnLoading(true);
|
|
|
if (!video) {
|
|
|
_context5.next = 16;
|
|
|
break;
|
|
|
}
|
|
|
_context5.next = 14;
|
|
|
return (0,service_user/* batchPublish */.dt)({
|
|
|
username: (_user$userInfo2 = user.userInfo) === null || _user$userInfo2 === void 0 ? void 0 : _user$userInfo2.login,
|
|
|
videos: [{
|
|
|
video_id: video.videoId,
|
|
|
title: form.getFieldValue("title"),
|
|
|
filename: video.file.name,
|
|
|
attachment_id: form.getFieldValue("attachment_id"),
|
|
|
course_id: params === null || params === void 0 ? void 0 : params.coursesId,
|
|
|
category_id: actionTabs === null || actionTabs === void 0 || (_actionTabs$data6 = actionTabs.data) === null || _actionTabs$data6 === void 0 ? void 0 : _actionTabs$data6.course_second_category_id,
|
|
|
course_video_id: (_actionTabs$data7 = actionTabs.data) === null || _actionTabs$data7 === void 0 ? void 0 : _actionTabs$data7.course_video_id
|
|
|
}]
|
|
|
});
|
|
|
case 14:
|
|
|
_context5.next = 17;
|
|
|
break;
|
|
|
case 16:
|
|
|
tabsList.forEach(function (item) {
|
|
|
if (item.checked) body["set_id"] = item.id;
|
|
|
});
|
|
|
case 17:
|
|
|
_context5.next = 19;
|
|
|
return (0,fetch/* default */.ZP)("/api/course_videos/".concat(actionTabs === null || actionTabs === void 0 || (_actionTabs$data8 = actionTabs.data) === null || _actionTabs$data8 === void 0 ? void 0 : _actionTabs$data8.course_video_id, "/change_cover.json"), {
|
|
|
method: 'put',
|
|
|
body: body
|
|
|
});
|
|
|
case 19:
|
|
|
res = _context5.sent;
|
|
|
if (res) {
|
|
|
message/* default */.ZP.success('修改成功');
|
|
|
dispatch({
|
|
|
type: 'classroomList/setActionTabs',
|
|
|
payload: {}
|
|
|
});
|
|
|
dispatch({
|
|
|
type: 'classroomList/setUpdateData',
|
|
|
payload: Math.random()
|
|
|
});
|
|
|
}
|
|
|
setVideo(void 0);
|
|
|
setBtnLoading(false);
|
|
|
case 23:
|
|
|
case "end":
|
|
|
return _context5.stop();
|
|
|
}
|
|
|
}, _callee5);
|
|
|
})),
|
|
|
onCancel: function onCancel() {
|
|
|
dispatch({
|
|
|
type: 'classroomList/setActionTabs',
|
|
|
payload: {}
|
|
|
});
|
|
|
setVideo(void 0);
|
|
|
if (uploader.current) {
|
|
|
var _uploader$current, _uploader$current$del;
|
|
|
(_uploader$current = uploader.current) === null || _uploader$current === void 0 || (_uploader$current$del = _uploader$current.deleteFile) === null || _uploader$current$del === void 0 || _uploader$current$del.call(_uploader$current, uploader.current._curIndex);
|
|
|
}
|
|
|
},
|
|
|
children: actionTabs.data && /*#__PURE__*/(0,jsx_runtime.jsxs)(es_form/* default */.Z, {
|
|
|
form: form,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
label: "\u89C6\u9891\u6807\u9898",
|
|
|
name: "title",
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请输入!'
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
|
|
|
maxLength: 60
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
name: "attachment_id",
|
|
|
label: "\u4E0A\u4F20\u5C01\u9762\u56FE:",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(CoverUpload/* default */.Z, {
|
|
|
getFileProgress: function getFileProgress(info) {
|
|
|
if (info.file.status === 'uploading') {
|
|
|
setImgLoading(true);
|
|
|
return;
|
|
|
}
|
|
|
if (info.file.status === 'done') {
|
|
|
setImgLoading(false);
|
|
|
}
|
|
|
}
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(table/* default */.Z, {
|
|
|
pagination: false,
|
|
|
columns: columns,
|
|
|
dataSource: tabsList
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
name: "allow_skip",
|
|
|
label: "\u64AD\u653E\u8BBE\u7F6E",
|
|
|
valuePropName: "checked",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_checkbox/* default */.Z, {
|
|
|
children: "\u5141\u8BB8\u5FEB\u8FDB\u64AD\u653E"
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(es_form/* default */.Z.Item, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
|
|
|
disabled: video,
|
|
|
type: "primary",
|
|
|
style: {
|
|
|
marginBottom: "10px"
|
|
|
},
|
|
|
ghost: true,
|
|
|
onClick: function onClick() {
|
|
|
return files.current.click();
|
|
|
},
|
|
|
children: "\u66F4\u65B0\u7248\u672C"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("input", {
|
|
|
ref: files,
|
|
|
type: "file",
|
|
|
id: "fileUpload",
|
|
|
style: {
|
|
|
display: "none"
|
|
|
},
|
|
|
onChange: handleUpload,
|
|
|
accept: ".mkv, .flv, .f4v, .rmvb, .swf, video/mp4,video/x-m4v,video/flv,video/f4v,video/rmvb,video/swf,video/*"
|
|
|
}), video && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
style: {
|
|
|
fontSize: "8px",
|
|
|
color: "#333",
|
|
|
display: 'flex',
|
|
|
alignItems: "center"
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "icon-lianjie2 iconfont",
|
|
|
style: {
|
|
|
marginRight: "10px",
|
|
|
color: "#52c41a",
|
|
|
fontSize: "8px"
|
|
|
}
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
children: ((_video$file$name = video.file.name) === null || _video$file$name === void 0 ? void 0 : _video$file$name.indexOf(uploadNameSizeSeperator)) === -1 ? "".concat(video.file.name).concat(uploadNameSizeSeperator).concat((0,util/* bytesToSize */.RD)(video.file.size)) : video.file.name
|
|
|
}), video.loaded == 100 && /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
style: {
|
|
|
marginLeft: "auto",
|
|
|
cursor: "pointer"
|
|
|
},
|
|
|
className: "icon-shanchu iconfont",
|
|
|
onClick: function onClick() {
|
|
|
setVideo(void 0);
|
|
|
files.current.value = "";
|
|
|
}
|
|
|
})]
|
|
|
}), video.loaded != 100 && /*#__PURE__*/(0,jsx_runtime.jsx)(progress/* default */.Z, {
|
|
|
size: "small",
|
|
|
percent: video.loaded,
|
|
|
status: video.loaded == 100 ? "normal" : 'active'
|
|
|
})]
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(es_form/* default */.Z.Item, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
|
className: "c-light-black",
|
|
|
children: "\u4E0A\u4F20\u8BF4\u660E\uFF1A\u76EE\u524D\u4E0D\u652F\u6301\u65AD\u70B9\u7EED\u4F20\uFF0C\u5355\u4E2A\u89C6\u9891\u6587\u4EF6\u6700\u5927\u9650\u52361G\uFF0C\u89C6\u9891\u6587\u4EF6\u4E0A\u4F20\u89C4\u683C\uFF1Aavi\u3001flv\u3001f4v\u3001m4v\u3001mov\u3001mp4\u3001rmvb\u3001swf\u3001webm\u3001wmv"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
|
|
|
className: "c-light-black",
|
|
|
children: "\u6E29\u99A8\u63D0\u793A\uFF1A\u4E3A\u4E86\u66F4\u597D\u7684\u64AD\u653E\u4F53\u9A8C\uFF0C\u5EFA\u8BAE\u60A8\u4F18\u5148\u4E0A\u4F20MP4\u683C\u5F0F\u3002\u5982\u679C\u60A8\u662F\u81EA\u5DF1\u5F55\u5236\u89C6\u9891\uFF0C\u5EFA\u8BAE\u60A8\u4FDD\u5B58\u7684\u65F6\u5019\u5C06\u89C6\u9891\u7F16\u7801\u8BBE\u7F6E\u4E3AAVC(H264)"
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
align: "middle",
|
|
|
style: {
|
|
|
marginBottom: 12
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
children: "\u5B66\u4E60\u884C\u4E3A\u5206\u6790\uFF1A"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
name: "action_analysis",
|
|
|
valuePropName: "checked",
|
|
|
noStyle: true,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_switch/* default */.Z, {})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
className: Videomodules.analysisText,
|
|
|
children: [analysisValue ? '已开启' : '未开启', " "]
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: Videomodules.analysisTips,
|
|
|
children: "\u5728\u5B66\u751F\u89C2\u770B\u89C6\u9891\u65F6\uFF0C\u4F7F\u7528\u7535\u8111\u6444\u50CF\u5934\u968F\u673A\u6293\u62CD\u7167\u7247\u7528\u4E8E\u5B66\u4E60\u884C\u4E3A\u5206\u6790\uFF0C\u5B66\u4E60\u884C\u4E3A\u5206\u6790\u7ED3\u679C\u53EF\u5728\u89C6\u9891\u7EDF\u8BA1\u4E2D\uFF0C\u8FDB\u5165\u5B66\u751F\u8BE6\u60C5\u8FDB\u884C\u67E5\u770B"
|
|
|
})]
|
|
|
})
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var VideoEdit = ((0,_umi_production_exports.connect)(function (_ref6) {
|
|
|
var classroomList = _ref6.classroomList,
|
|
|
loading = _ref6.loading,
|
|
|
user = _ref6.user;
|
|
|
return {
|
|
|
classroomList: classroomList,
|
|
|
loading: loading,
|
|
|
user: user
|
|
|
};
|
|
|
})(VideoEdit_EditAttendance));
|
|
|
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Video/components/VideoLinkEdit.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var VideoLinkEdit_TreeNode = tree_select/* default.TreeNode */.Z.TreeNode;
|
|
|
var VideoLinkEdit_EditAttendance = function EditAttendance(_ref) {
|
|
|
var _actionTabs$data, _actionTabs$data2;
|
|
|
var classroomList = _ref.classroomList,
|
|
|
user = _ref.user,
|
|
|
loading = _ref.loading,
|
|
|
dispatch = _ref.dispatch;
|
|
|
var params = (0,_umi_production_exports.useParams)();
|
|
|
params['id'] = params['coursesId'];
|
|
|
var detailAttendancesDetail = classroomList.detailAttendancesDetail,
|
|
|
actionTabs = classroomList.actionTabs;
|
|
|
var _Form$useForm = es_form/* default */.Z.useForm(),
|
|
|
_Form$useForm2 = slicedToArray_default()(_Form$useForm, 1),
|
|
|
form = _Form$useForm2[0];
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
if (classroomList.actionTabs.key === '编辑视频') form.setFieldsValue({
|
|
|
title: actionTabs.data.title
|
|
|
});
|
|
|
}, [classroomList.actionTabs.key]);
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, {
|
|
|
centered: true,
|
|
|
title: "\u89C6\u9891\u6807\u9898\u7F16\u8F91",
|
|
|
open: classroomList.actionTabs.key === '编辑外链' ? true : false,
|
|
|
okText: "\u786E\u5B9A",
|
|
|
cancelText: "\u53D6\u6D88",
|
|
|
destroyOnClose: true,
|
|
|
onOk: /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
|
|
|
var formValue, res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
|
|
|
while (1) switch (_context.prev = _context.next) {
|
|
|
case 0:
|
|
|
_context.t0 = (objectSpread2_default());
|
|
|
_context.t1 = {};
|
|
|
_context.next = 4;
|
|
|
return form.validateFields();
|
|
|
case 4:
|
|
|
_context.t2 = _context.sent;
|
|
|
formValue = (0, _context.t0)(_context.t1, _context.t2);
|
|
|
_context.next = 8;
|
|
|
return (0,fetch/* default */.ZP)("/api/course_videos/".concat(actionTabs.data.id, ".json"), {
|
|
|
method: 'put',
|
|
|
body: objectSpread2_default()({}, formValue)
|
|
|
});
|
|
|
case 8:
|
|
|
res = _context.sent;
|
|
|
if (res) {
|
|
|
message/* default */.ZP.success('修改成功');
|
|
|
dispatch({
|
|
|
type: 'classroomList/setActionTabs',
|
|
|
payload: {}
|
|
|
});
|
|
|
dispatch({
|
|
|
type: 'classroomList/setUpdateData',
|
|
|
payload: Math.random()
|
|
|
});
|
|
|
}
|
|
|
case 10:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
})),
|
|
|
onCancel: function onCancel() {
|
|
|
dispatch({
|
|
|
type: 'classroomList/setActionTabs',
|
|
|
payload: {}
|
|
|
});
|
|
|
},
|
|
|
children: actionTabs.data && /*#__PURE__*/(0,jsx_runtime.jsxs)(es_form/* default */.Z, {
|
|
|
form: form,
|
|
|
initialValues: {
|
|
|
name: actionTabs === null || actionTabs === void 0 || (_actionTabs$data = actionTabs.data) === null || _actionTabs$data === void 0 ? void 0 : _actionTabs$data.title,
|
|
|
link: actionTabs === null || actionTabs === void 0 || (_actionTabs$data2 = actionTabs.data) === null || _actionTabs$data2 === void 0 ? void 0 : _actionTabs$data2.link
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
label: "\u89C6\u9891\u6807\u9898",
|
|
|
name: "name",
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请输入!'
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
|
|
|
maxLength: 60
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
label: "\u89C6\u9891\u94FE\u63A5",
|
|
|
name: "link",
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请输入!'
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
|
|
|
maxLength: 60
|
|
|
})
|
|
|
})]
|
|
|
})
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var VideoLinkEdit = ((0,_umi_production_exports.connect)(function (_ref3) {
|
|
|
var classroomList = _ref3.classroomList,
|
|
|
loading = _ref3.loading,
|
|
|
user = _ref3.user;
|
|
|
return {
|
|
|
classroomList: classroomList,
|
|
|
loading: loading,
|
|
|
user: user
|
|
|
};
|
|
|
})(VideoLinkEdit_EditAttendance));
|
|
|
// EXTERNAL MODULE: ./src/pages/Classrooms/Lists/components/TabMenu/index.tsx + 1 modules
|
|
|
var TabMenu = __webpack_require__(299);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Video/components/MoveCatalog.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var MoveCatalog_TreeNode = tree_select/* default.TreeNode */.Z.TreeNode;
|
|
|
var MoveCatalog_EditAttendance = function EditAttendance(_ref) {
|
|
|
var _detailLeftMenus$cour;
|
|
|
var classroomList = _ref.classroomList,
|
|
|
loading = _ref.loading,
|
|
|
dispatch = _ref.dispatch;
|
|
|
var params = (0,_umi_production_exports.useParams)();
|
|
|
params['id'] = params['coursesId'];
|
|
|
var detailLeftMenus = classroomList.detailLeftMenus,
|
|
|
actionTabs = classroomList.actionTabs;
|
|
|
var _Form$useForm = es_form/* default */.Z.useForm(),
|
|
|
_Form$useForm2 = slicedToArray_default()(_Form$useForm, 1),
|
|
|
form = _Form$useForm2[0];
|
|
|
var Radios = function Radios(Values) {
|
|
|
var _Values$filter;
|
|
|
return Values === null || Values === void 0 || (_Values$filter = Values.filter(function (r) {
|
|
|
return r.category_name !== '未分配目录';
|
|
|
})) === null || _Values$filter === void 0 ? void 0 : _Values$filter.map(function (v, index) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default */.ZP, {
|
|
|
style: {
|
|
|
display: 'block'
|
|
|
},
|
|
|
value: v.category_id,
|
|
|
children: v.category_name
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
style: {
|
|
|
marginLeft: 20
|
|
|
},
|
|
|
children: Radios((v === null || v === void 0 ? void 0 : v.third_category) || [])
|
|
|
})]
|
|
|
});
|
|
|
});
|
|
|
};
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, {
|
|
|
centered: true,
|
|
|
title: "\u79FB\u52A8\u5230",
|
|
|
open: classroomList.actionTabs.key === '移动目录' ? true : false,
|
|
|
okText: "\u786E\u5B9A",
|
|
|
cancelText: "\u53D6\u6D88",
|
|
|
width: 400,
|
|
|
bodyStyle: {
|
|
|
minHeight: 200
|
|
|
},
|
|
|
onOk: function onOk() {
|
|
|
return form.submit();
|
|
|
},
|
|
|
onCancel: function onCancel() {
|
|
|
dispatch({
|
|
|
type: 'classroomList/setActionTabs',
|
|
|
payload: {}
|
|
|
});
|
|
|
},
|
|
|
children: detailLeftMenus.course_modules && /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z, {
|
|
|
form: form,
|
|
|
initialValues: {
|
|
|
// ['link']: actionTabs.data.link,
|
|
|
},
|
|
|
onFinish: ( /*#__PURE__*/function () {
|
|
|
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee(Values) {
|
|
|
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/courses/".concat(params.id, "/move_to_category.json"), {
|
|
|
method: 'post',
|
|
|
body: objectSpread2_default()(objectSpread2_default()({}, Values), {}, {
|
|
|
video_ids: actionTabs.data.id
|
|
|
})
|
|
|
});
|
|
|
case 2:
|
|
|
res = _context.sent;
|
|
|
if (res.status === 0) {
|
|
|
message/* default */.ZP.success('操作成功');
|
|
|
dispatch({
|
|
|
type: 'classroomList/setActionTabs',
|
|
|
payload: {}
|
|
|
});
|
|
|
dispatch({
|
|
|
type: 'classroomList/setUpdateData',
|
|
|
payload: Math.random()
|
|
|
});
|
|
|
dispatch({
|
|
|
type: 'classroomList/getClassroomLeftMenus',
|
|
|
payload: {
|
|
|
id: params === null || params === void 0 ? void 0 : params.id
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
case 4:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
}));
|
|
|
return function (_x) {
|
|
|
return _ref2.apply(this, arguments);
|
|
|
};
|
|
|
}()),
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
label: "",
|
|
|
name: "new_category_id",
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请输入!'
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default.Group */.ZP.Group, {
|
|
|
children: Radios(detailLeftMenus === null || detailLeftMenus === void 0 || (_detailLeftMenus$cour = detailLeftMenus.course_modules) === null || _detailLeftMenus$cour === void 0 ? void 0 : _detailLeftMenus$cour.filter(function (v) {
|
|
|
return v.type === "video";
|
|
|
})[0]['second_category'])
|
|
|
})
|
|
|
})
|
|
|
})
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var MoveCatalog = ((0,_umi_production_exports.connect)(function (_ref3) {
|
|
|
var classroomList = _ref3.classroomList,
|
|
|
loading = _ref3.loading;
|
|
|
return {
|
|
|
classroomList: classroomList,
|
|
|
loading: loading
|
|
|
};
|
|
|
})(MoveCatalog_EditAttendance));
|
|
|
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Video/components/AddCategory.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var AddCategory_TreeNode = tree_select/* default.TreeNode */.Z.TreeNode;
|
|
|
var AddCategory_EditAttendance = function EditAttendance(_ref) {
|
|
|
var classroomList = _ref.classroomList,
|
|
|
loading = _ref.loading,
|
|
|
dispatch = _ref.dispatch;
|
|
|
var params = (0,_umi_production_exports.useParams)();
|
|
|
params['id'] = params['coursesId'];
|
|
|
var detailLeftMenus = classroomList.detailLeftMenus,
|
|
|
actionTabs = classroomList.actionTabs;
|
|
|
var videoData = detailLeftMenus.course_modules && detailLeftMenus.course_modules.filter(function (v) {
|
|
|
return v.type === 'video';
|
|
|
});
|
|
|
var _Form$useForm = es_form/* default */.Z.useForm(),
|
|
|
_Form$useForm2 = slicedToArray_default()(_Form$useForm, 1),
|
|
|
form = _Form$useForm2[0];
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, {
|
|
|
centered: true,
|
|
|
title: "\u65B0\u5EFA\u5B50\u76EE\u5F55",
|
|
|
open: classroomList.actionTabs.key === '新建子目录' ? true : false,
|
|
|
okText: "\u786E\u5B9A",
|
|
|
cancelText: "\u53D6\u6D88",
|
|
|
bodyStyle: {
|
|
|
minHeight: 130
|
|
|
},
|
|
|
onOk: /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
|
|
|
var formValue, res;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
|
|
|
while (1) switch (_context.prev = _context.next) {
|
|
|
case 0:
|
|
|
;
|
|
|
_context.t0 = (objectSpread2_default());
|
|
|
_context.t1 = {};
|
|
|
_context.next = 5;
|
|
|
return form.validateFields();
|
|
|
case 5:
|
|
|
_context.t2 = _context.sent;
|
|
|
formValue = (0, _context.t0)(_context.t1, _context.t2);
|
|
|
_context.next = 9;
|
|
|
return (0,fetch/* default */.ZP)("/api/course_modules/".concat(videoData[0].id, "/add_second_category.json"), {
|
|
|
method: 'post',
|
|
|
body: objectSpread2_default()({}, formValue)
|
|
|
});
|
|
|
case 9:
|
|
|
res = _context.sent;
|
|
|
if (res.status === 0) {
|
|
|
message/* default */.ZP.success('修改成功');
|
|
|
dispatch({
|
|
|
type: 'classroomList/setActionTabs',
|
|
|
payload: {}
|
|
|
});
|
|
|
dispatch({
|
|
|
type: 'classroomList/setUpdateData',
|
|
|
payload: Math.random()
|
|
|
});
|
|
|
}
|
|
|
case 11:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
})),
|
|
|
onCancel: function onCancel() {
|
|
|
dispatch({
|
|
|
type: 'classroomList/setActionTabs',
|
|
|
payload: {}
|
|
|
});
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z, {
|
|
|
form: form,
|
|
|
initialValues: defineProperty_default()(defineProperty_default()({}, 'name', ''), 'link', ''),
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
label: "\u5B50\u76EE\u5F55\u540D\u79F0",
|
|
|
name: "name",
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请输入!'
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
|
|
|
maxLength: 60
|
|
|
})
|
|
|
})
|
|
|
})
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var AddCategory = ((0,_umi_production_exports.connect)(function (_ref4) {
|
|
|
var classroomList = _ref4.classroomList,
|
|
|
loading = _ref4.loading;
|
|
|
return {
|
|
|
classroomList: classroomList,
|
|
|
loading: loading
|
|
|
};
|
|
|
})(AddCategory_EditAttendance));
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/card/index.js + 4 modules
|
|
|
var card = __webpack_require__(18889);
|
|
|
// EXTERNAL MODULE: ./src/assets/images/video/default.png
|
|
|
var video_default = __webpack_require__(55988);
|
|
|
// EXTERNAL MODULE: ./src/assets/images/video/play.png
|
|
|
var play = __webpack_require__(36193);
|
|
|
// EXTERNAL MODULE: ./node_modules/_react-copy-to-clipboard@5.0.2@react-copy-to-clipboard/lib/index.js
|
|
|
var lib = __webpack_require__(56102);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Video/Items/index.less?modules
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
/* harmony default export */ var Itemsmodules = ({"flex_box_center":"flex_box_center___pyP1D","flex_space_between":"flex_space_between___I466c","flex_box_vertical_center":"flex_box_vertical_center___jio7d","flex_box_center_end":"flex_box_center_end___dwYOB","flex_box_column":"flex_box_column___OglHp","wrap":"wrap___CB76m","mask":"mask___OFMeI","playIconWrap":"playIconWrap___qgHXl","playIcon":"playIcon___bV87f","linkWrap":"linkWrap___T2hZF","link":"link___cwP_L","imgWrap":"imgWrap___V2WRr","cardBottom":"cardBottom___lpKQb","bottomTitle":"bottomTitle___L4GzG","timeWrap":"timeWrap___okx_C","time":"time___IoUOF","bottomActionWrap":"bottomActionWrap___PdPWh","peopleWrap":"peopleWrap____eq2u","actionIcon":"actionIcon___TDO4d"});
|
|
|
// EXTERNAL MODULE: ./node_modules/_js-base64@2.6.4@js-base64/base64.js
|
|
|
var base64 = __webpack_require__(24334);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Video/Items/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var DEFAULT_VIDEO_WIDTH_IN_MD = "90%"; // 400
|
|
|
var DEFAULT_VIDEO_HEIGHT_IN_MD = "55%"; // 400
|
|
|
|
|
|
var Items = function Items(_ref) {
|
|
|
var _detailLeftMenus$cour, _classroomList$detail;
|
|
|
var data = _ref.data,
|
|
|
isReview = _ref.isReview,
|
|
|
dispatch = _ref.dispatch,
|
|
|
userid = _ref.userid,
|
|
|
classroomList = _ref.classroomList;
|
|
|
var _useState = (0,_react_17_0_2_react.useState)(objectSpread2_default()({}, (0,_umi_production_exports.useParams)())),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
params = _useState2[0],
|
|
|
setParams = _useState2[1];
|
|
|
var detailLeftMenus = classroomList.detailLeftMenus;
|
|
|
var SecondCategory = detailLeftMenus === null || detailLeftMenus === void 0 || (_detailLeftMenus$cour = detailLeftMenus.course_modules) === null || _detailLeftMenus$cour === void 0 || (_detailLeftMenus$cour = _detailLeftMenus$cour.filter(function (item) {
|
|
|
return item.type === "video";
|
|
|
})[0].second_category) === null || _detailLeftMenus$cour === void 0 ? void 0 : _detailLeftMenus$cour.length;
|
|
|
params['id'] = params['coursesId'];
|
|
|
if (params['categoryId'] != 0) params['category_id'] = params['categoryId'];
|
|
|
var toStudentVideo = /*#__PURE__*/function () {
|
|
|
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee(item) {
|
|
|
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
|
|
|
while (1) switch (_context.prev = _context.next) {
|
|
|
case 0:
|
|
|
if (!item.link) {
|
|
|
_context.next = 2;
|
|
|
break;
|
|
|
}
|
|
|
return _context.abrupt("return");
|
|
|
case 2:
|
|
|
(0,util/* openNewWindow */.xg)("/classrooms/".concat(params === null || params === void 0 ? void 0 : params.coursesId, "/video_info?new_video_id=").concat(item === null || item === void 0 ? void 0 : item.course_video_id));
|
|
|
case 3:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
}));
|
|
|
return function toStudentVideo(_x) {
|
|
|
return _ref2.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
var getCopyText = function getCopyText(file_url, cover_url) {
|
|
|
var url = base64.Base64.decode(file_url);
|
|
|
if (file_url) {
|
|
|
return "<video src=\"".concat(url, "\" controls=\"true\" controlslist=\"nodownload\" width=\"").concat(DEFAULT_VIDEO_WIDTH_IN_MD, "\" height=\"").concat(DEFAULT_VIDEO_HEIGHT_IN_MD, "\" poster=\"").concat(cover_url, "\">\u60A8\u7684\u6D4F\u89C8\u5668\u4E0D\u652F\u6301 video \u6807\u7B7E\u3002</video>");
|
|
|
}
|
|
|
};
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)(jsx_runtime.Fragment, {
|
|
|
children: classroomList === null || classroomList === void 0 || (_classroomList$detail = classroomList.detailVideoList) === null || _classroomList$detail === void 0 || (_classroomList$detail = _classroomList$detail.videos) === null || _classroomList$detail === void 0 ? void 0 : _classroomList$detail.map(function (item, key) {
|
|
|
var _item$cover_url;
|
|
|
var imgUrl = item !== null && item !== void 0 && item.cover_url ? item !== null && item !== void 0 && (_item$cover_url = item.cover_url) !== null && _item$cover_url !== void 0 && _item$cover_url.includes('https') ? item.cover_url : env/* default */.Z.API_SERVER + item.cover_url : video_default;
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
|
|
|
className: Itemsmodules.wrap,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(card/* default */.Z, {
|
|
|
className: "animated fadeIn ".concat(Itemsmodules.cardWrap),
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(spin/* default */.Z, {
|
|
|
tip: "\u6B63\u5728\u8F6C\u7801\uFF0C\u8BF7\u7A0D\u7B49...",
|
|
|
spinning: !item.transcoded && !item.link,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
className: Itemsmodules.imgWrap,
|
|
|
onClick: function onClick() {
|
|
|
!isReview && toStudentVideo(item);
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
|
|
|
src: imgUrl
|
|
|
}), item.link && /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
|
|
|
className: Itemsmodules.linkWrap,
|
|
|
href: item.link,
|
|
|
onClick: /*#__PURE__*/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,fetch/* default */.ZP)("/api/watch_video_histories/click_link_histories.json", {
|
|
|
method: 'post',
|
|
|
body: {
|
|
|
video_link_id: item.id,
|
|
|
device: 'pc'
|
|
|
}
|
|
|
});
|
|
|
case 2:
|
|
|
res = _context2.sent;
|
|
|
case 3:
|
|
|
case "end":
|
|
|
return _context2.stop();
|
|
|
}
|
|
|
}, _callee2);
|
|
|
})),
|
|
|
target: "_blank",
|
|
|
title: item.title,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: Itemsmodules.link,
|
|
|
children: "\u5916\u94FE"
|
|
|
})
|
|
|
}), !isReview && /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: Itemsmodules.mask
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: Itemsmodules.playIconWrap,
|
|
|
children: !item.link && /*#__PURE__*/(0,jsx_runtime.jsx)("img", {
|
|
|
className: Itemsmodules.playIcon,
|
|
|
src: play
|
|
|
})
|
|
|
})]
|
|
|
})]
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: Itemsmodules.cardBottom,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: Itemsmodules.bottomTitle,
|
|
|
children: item.title
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: Itemsmodules.timeWrap,
|
|
|
children: (item.total_time || parseInt(item.total_time) > 0) && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: Itemsmodules.time,
|
|
|
children: "\u7D2F\u8BA1\u5B66\u4E60\u65F6\u957F\uFF1A".concat((0,util/* toTimeFormat */.li)(parseInt(item.total_time)))
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: Itemsmodules.bottomActionWrap,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: Itemsmodules.peopleWrap,
|
|
|
children: !!item.people_num && /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
|
|
|
title: "\u89C2\u770B\u4EBA\u6570",
|
|
|
placement: "top",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "icon-dianjiliang iconfont font12",
|
|
|
children: item.people_num
|
|
|
})
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
children: [(userid === item.user_id || !isReview && SecondCategory > 0 && (0,authority/* isAdminOrCreator */.aN)()) && /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
|
|
|
title: "\u79FB\u52A8",
|
|
|
placement: "top",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "".concat(Itemsmodules.actionIcon, " icon-yidong iconfont"),
|
|
|
onClick: function onClick() {
|
|
|
dispatch({
|
|
|
type: 'classroomList/setActionTabs',
|
|
|
payload: {
|
|
|
key: '移动目录',
|
|
|
params: params,
|
|
|
data: item
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
style: {
|
|
|
marginTop: '1px',
|
|
|
display: 'inline-block'
|
|
|
}
|
|
|
})
|
|
|
}), (0,authority/* isAdminOrTeacher */.G5)() && !isReview && !item.link ? /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
|
|
|
title: "\u7EDF\u8BA1",
|
|
|
placement: "top",
|
|
|
children: (0,authority/* isAdminOrTeacher */.G5)() ? /*#__PURE__*/(0,jsx_runtime.jsxs)(_umi_production_exports.Link, {
|
|
|
to: "/classrooms/".concat(params.coursesId, "/video/").concat((data === null || data === void 0 ? void 0 : data.category_id) || (data === null || data === void 0 ? void 0 : data.course_module_id), "/statistics/").concat(item.course_video_id, "?title=").concat(item.title),
|
|
|
children: [" ", /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "icon-tongji1 iconfont ".concat(Itemsmodules.actionIcon),
|
|
|
style: {
|
|
|
marginTop: '1px',
|
|
|
display: 'inline-block'
|
|
|
}
|
|
|
})]
|
|
|
}) : null
|
|
|
}) : null, (0,authority/* isStudent */.dE)() && !isReview && !item.link ? /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
|
|
|
title: "\u7EDF\u8BA1",
|
|
|
placement: "top",
|
|
|
children: (0,authority/* isStudent */.dE)() ? /*#__PURE__*/(0,jsx_runtime.jsx)(_umi_production_exports.Link, {
|
|
|
className: "font16",
|
|
|
to: "/classrooms/".concat(params.coursesId, "/video/").concat((data === null || data === void 0 ? void 0 : data.category_id) || (data === null || data === void 0 ? void 0 : data.course_module_id), "/studentstatistics"),
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "icon-tongji1 iconfont ".concat(Itemsmodules.actionIcon),
|
|
|
style: {
|
|
|
marginTop: '1px',
|
|
|
display: 'inline-block'
|
|
|
}
|
|
|
})
|
|
|
}) : null
|
|
|
}) : null, (userid === item.user_id || (0,authority/* isAdminOrCreator */.aN)()) && /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
|
|
|
title: "\u7F16\u8F91",
|
|
|
placement: "top",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "".concat(Itemsmodules.actionIcon, " icon-bianji1 iconfont"),
|
|
|
onClick: function onClick() {
|
|
|
dispatch({
|
|
|
type: 'classroomList/setActionTabs',
|
|
|
payload: {
|
|
|
key: item.link ? '增加外链' : '编辑视频',
|
|
|
params: params,
|
|
|
data: item //data有无数据判断是增加还是编辑外链视频
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
style: {
|
|
|
marginTop: '1px',
|
|
|
display: 'inline-block'
|
|
|
}
|
|
|
})
|
|
|
}), !isReview && !item.link && /*#__PURE__*/(0,jsx_runtime.jsx)(lib.CopyToClipboard, {
|
|
|
text: getCopyText(item.play_url || item.file_url, item.cover_url),
|
|
|
onCopy: function onCopy() {
|
|
|
return message/* default */.ZP.success('复制成功');
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
|
|
|
title: "\u590D\u5236\u94FE\u63A5",
|
|
|
placement: "top",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "".concat(Itemsmodules.actionIcon, " icon-fuzhi iconfont")
|
|
|
})
|
|
|
})
|
|
|
}), (userid === item.user_id || (0,authority/* isAdminOrCreatorOrOperation */.Rb)()) && /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
|
|
|
title: "\u5220\u9664",
|
|
|
placement: "top",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "".concat(Itemsmodules.actionIcon, " icon-shanchu iconfont"),
|
|
|
onClick: function onClick() {
|
|
|
dispatch({
|
|
|
type: 'classroomList/setActionTabs',
|
|
|
payload: {
|
|
|
key: '删除',
|
|
|
params: params,
|
|
|
data: item
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
style: {
|
|
|
marginTop: '1px',
|
|
|
display: 'inline-block'
|
|
|
}
|
|
|
})
|
|
|
})]
|
|
|
})]
|
|
|
})]
|
|
|
})]
|
|
|
})
|
|
|
}, item.id);
|
|
|
})
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var Video_Items = ((0,_umi_production_exports.connect)(function (_ref4) {
|
|
|
var classroomList = _ref4.classroomList;
|
|
|
return {
|
|
|
classroomList: classroomList
|
|
|
};
|
|
|
})(Items));
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/toConsumableArray.js
|
|
|
var toConsumableArray = __webpack_require__(37205);
|
|
|
var toConsumableArray_default = /*#__PURE__*/__webpack_require__.n(toConsumableArray);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Video/HtmlDrag/index.less?modules
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
/* harmony default export */ var HtmlDragmodules = ({"root":"root___egCyx","title":"title___CK8yp"});
|
|
|
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Video/HtmlDrag/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var HtmlDrag = function HtmlDrag(_ref) {
|
|
|
var _ref$dataSource = _ref.dataSource,
|
|
|
dataSource = _ref$dataSource === void 0 ? [] : _ref$dataSource,
|
|
|
count = _ref.count,
|
|
|
dispatch = _ref.dispatch;
|
|
|
var params = (0,_umi_production_exports.useParams)();
|
|
|
var _useState = (0,_react_17_0_2_react.useState)([]),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
data = _useState2[0],
|
|
|
setData = _useState2[1];
|
|
|
var dragged = (0,_react_17_0_2_react.useRef)(null);
|
|
|
var target = (0,_react_17_0_2_react.useRef)(null);
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
if (!!dataSource) {
|
|
|
setData(toConsumableArray_default()(dataSource));
|
|
|
}
|
|
|
}, [dataSource]);
|
|
|
|
|
|
/**
|
|
|
* @function 数组重排序
|
|
|
*
|
|
|
*/
|
|
|
var handleData = function handleData() {
|
|
|
dragged.current.style.opacity = '1';
|
|
|
dragged.current.style.transform = 'scale(1)';
|
|
|
var from = dragged.current.dataset.id; // 拖动元素id
|
|
|
var to = target.current.dataset.id; // 放置目标id
|
|
|
if (from !== to) {
|
|
|
var newData = toConsumableArray_default()(data);
|
|
|
// 删除原位置拖动元素;指定位置插入拖动元素
|
|
|
newData.splice(to, 0, newData.splice(from, 1)[0]);
|
|
|
setData(newData);
|
|
|
dragged.current = target.current; // 改变dragged,便于
|
|
|
onSortEdit(data[from], Number(to) + 1);
|
|
|
}
|
|
|
};
|
|
|
|
|
|
/**
|
|
|
* @function 规定当元素被拖动时,会发生什么
|
|
|
* */
|
|
|
var onDragStart = function onDragStart(e) {
|
|
|
dragged.current = e.target;
|
|
|
};
|
|
|
|
|
|
/**
|
|
|
* @function 元素被拖动到一个有效目标时触发的事件;第一个触发
|
|
|
* @description 元素被拖动到一个有效目标时,以下数据依次触发 dragenter,dragover,drop
|
|
|
* */
|
|
|
var onDragEnter = function onDragEnter(e) {
|
|
|
e.preventDefault(); // 阻止默认事件
|
|
|
if (e.target.tagName !== 'LI') {
|
|
|
return;
|
|
|
}
|
|
|
target.current = e.target;
|
|
|
target.current.style.opacity = '0.2';
|
|
|
target.current.style.transform = 'scale(1.1)';
|
|
|
handleData();
|
|
|
};
|
|
|
|
|
|
/**
|
|
|
* @function 元素被拖动到一个有效目标时触发的事件;第二个触发
|
|
|
* @description
|
|
|
* 默认地,无法将数据/元素放置到其他元素中。如果需要设置允许放置,
|
|
|
* 我们必须阻止对元素的默认处理方式。
|
|
|
* 这要通过调用 ondragover 事件的 event.preventDefault() 方法
|
|
|
* */
|
|
|
var onDragOver = function onDragOver(e) {
|
|
|
e.preventDefault();
|
|
|
};
|
|
|
|
|
|
/**
|
|
|
* @function 元素被拖动到一个有效目标时触发的事件;第三个(最后)触发
|
|
|
* @description 元素被拖动到一个有效目标时,以下数据依次触发 dragenter,dragover,drop
|
|
|
* */
|
|
|
var onDrop = function onDrop(e) {
|
|
|
e.preventDefault();
|
|
|
dragged.current.style.opacity = '1';
|
|
|
dragged.current.style.transform = 'scale(1)';
|
|
|
};
|
|
|
var onSortEdit = /*#__PURE__*/function () {
|
|
|
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee(item, position) {
|
|
|
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/courses/".concat(params === null || params === void 0 ? void 0 : params.coursesId, "/sort_video.json"), {
|
|
|
method: 'put',
|
|
|
body: {
|
|
|
course_id: params.coursesId,
|
|
|
video_id: (item === null || item === void 0 ? void 0 : item.course_video_id) || (item === null || item === void 0 ? void 0 : item.id),
|
|
|
position: Number(position)
|
|
|
}
|
|
|
});
|
|
|
case 2:
|
|
|
res = _context.sent;
|
|
|
return _context.abrupt("return", res);
|
|
|
case 4:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
}));
|
|
|
return function onSortEdit(_x, _x2) {
|
|
|
return _ref2.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
var listItems = data.map(function (item, index) {
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("li", {
|
|
|
"data-id": index,
|
|
|
style: {
|
|
|
background: item.bgColor
|
|
|
},
|
|
|
draggable: "true",
|
|
|
onDragStart: onDragStart,
|
|
|
onDragOver: onDragOver,
|
|
|
onDrop: onDrop,
|
|
|
onDragEnter: onDragEnter,
|
|
|
"data-item": JSON.stringify(item),
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
|
|
|
src: (item === null || item === void 0 ? void 0 : item.cover_url) || video_default
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
title: item.title,
|
|
|
className: HtmlDragmodules.title,
|
|
|
children: item.title
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
|
|
|
className: "ml10 mb10",
|
|
|
children: ["\u7D2F\u8BA1\u5B66\u4E60\u65F6\u95F4", (0,util/* toTimeFormat */.li)(parseInt(item.total_time))]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
|
|
|
className: "ml10 mb10",
|
|
|
style: {
|
|
|
width: 100
|
|
|
},
|
|
|
placeholder: index + 1,
|
|
|
onBlur: ( /*#__PURE__*/function () {
|
|
|
var _ref3 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2(e) {
|
|
|
var reg, result;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
|
|
|
while (1) switch (_context2.prev = _context2.next) {
|
|
|
case 0:
|
|
|
if (e.target.value) {
|
|
|
_context2.next = 2;
|
|
|
break;
|
|
|
}
|
|
|
return _context2.abrupt("return");
|
|
|
case 2:
|
|
|
reg = /^([1-9][0-9]*)$/;
|
|
|
if (reg.test(e.target.value)) {
|
|
|
_context2.next = 6;
|
|
|
break;
|
|
|
}
|
|
|
message/* default */.ZP.info('请输入大于0的正整数');
|
|
|
return _context2.abrupt("return");
|
|
|
case 6:
|
|
|
if (!(parseInt(e.target.value) > count)) {
|
|
|
_context2.next = 9;
|
|
|
break;
|
|
|
}
|
|
|
message/* default */.ZP.info('数字不能大于总数量');
|
|
|
return _context2.abrupt("return");
|
|
|
case 9:
|
|
|
_context2.next = 11;
|
|
|
return onSortEdit(item, e.target.value);
|
|
|
case 11:
|
|
|
result = _context2.sent;
|
|
|
if ((result === null || result === void 0 ? void 0 : result.status) === 0) {
|
|
|
dispatch({
|
|
|
type: 'classroomList/setUpdateData',
|
|
|
payload: Math.random()
|
|
|
});
|
|
|
}
|
|
|
case 13:
|
|
|
case "end":
|
|
|
return _context2.stop();
|
|
|
}
|
|
|
}, _callee2);
|
|
|
}));
|
|
|
return function (_x3) {
|
|
|
return _ref3.apply(this, arguments);
|
|
|
};
|
|
|
}())
|
|
|
})]
|
|
|
}, index);
|
|
|
});
|
|
|
console.log(data, 2222);
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsx)("aside", {
|
|
|
className: HtmlDragmodules.root,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("ul", {
|
|
|
className: "contain",
|
|
|
children: listItems
|
|
|
})
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var Video_HtmlDrag = (HtmlDrag);
|
|
|
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/Video/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var _excluded = ["classroomList", "globalSetting", "loading", "user", "dispatch"];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var SubMenu = menu/* default */.Z.SubMenu;
|
|
|
var Content = layout/* default */.Z.Content,
|
|
|
Sider = layout/* default */.Z.Sider;
|
|
|
var ShixunsListPage = function ShixunsListPage(_ref) {
|
|
|
var _detailVideoList$vide, _classroomList$detail;
|
|
|
var classroomList = _ref.classroomList,
|
|
|
globalSetting = _ref.globalSetting,
|
|
|
loading = _ref.loading,
|
|
|
user = _ref.user,
|
|
|
dispatch = _ref.dispatch,
|
|
|
props = objectWithoutProperties_default()(_ref, _excluded);
|
|
|
var param = (0,_umi_production_exports.useParams)();
|
|
|
var _useState = (0,_react_17_0_2_react.useState)({
|
|
|
page: 1,
|
|
|
limit: 15
|
|
|
}),
|
|
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
|
params = _useState2[0],
|
|
|
setParams = _useState2[1];
|
|
|
var detailVideoList = classroomList.detailVideoList,
|
|
|
updateData = classroomList.updateData;
|
|
|
var _useState3 = (0,_react_17_0_2_react.useState)({}),
|
|
|
_useState4 = slicedToArray_default()(_useState3, 2),
|
|
|
selectArrs = _useState4[0],
|
|
|
setSelectArrs = _useState4[1];
|
|
|
params['id'] = param['coursesId'];
|
|
|
//排序or正常显示
|
|
|
var _useState5 = (0,_react_17_0_2_react.useState)(true),
|
|
|
_useState6 = slicedToArray_default()(_useState5, 2),
|
|
|
isSort = _useState6[0],
|
|
|
setIsSort = _useState6[1];
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
if (updateData) {
|
|
|
dispatch({
|
|
|
type: 'classroomList/getVideoList',
|
|
|
payload: objectSpread2_default()({}, params)
|
|
|
});
|
|
|
}
|
|
|
}, [updateData]);
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
if (param['categoryId'] != 0) params['category_id'] = param['categoryId'];
|
|
|
setTimeout(function () {
|
|
|
dispatch({
|
|
|
type: 'classroomList/setUpdateData',
|
|
|
payload: Math.random()
|
|
|
});
|
|
|
}, 200);
|
|
|
return function () {
|
|
|
// dispatch({
|
|
|
// type: 'classroomList/setUpdateData',
|
|
|
// payload: '',
|
|
|
// });
|
|
|
};
|
|
|
}, [location.pathname]);
|
|
|
var onShowSizeChange = function onShowSizeChange(current, pageSize) {
|
|
|
params.page = current;
|
|
|
setParams(objectSpread2_default()({}, params));
|
|
|
dispatch({
|
|
|
type: 'classroomList/getVideoList',
|
|
|
payload: objectSpread2_default()({}, params)
|
|
|
});
|
|
|
};
|
|
|
var onMenuSelect = function onMenuSelect(v) {
|
|
|
if (v.key === 'all') {
|
|
|
_umi_production_exports.history.push("/classrooms/".concat(params.id, "/video"));
|
|
|
} else {
|
|
|
_umi_production_exports.history.push("/classrooms/".concat(params.id, "/live_video"));
|
|
|
}
|
|
|
};
|
|
|
var Menus = [{
|
|
|
name: '视频',
|
|
|
id: 'all',
|
|
|
total: detailVideoList === null || detailVideoList === void 0 ? void 0 : detailVideoList.videos_count
|
|
|
}, {
|
|
|
name: '直播',
|
|
|
id: 1,
|
|
|
total: detailVideoList === null || detailVideoList === void 0 ? void 0 : detailVideoList.lives_count
|
|
|
}];
|
|
|
var pollsStatus = {
|
|
|
1: '未发布',
|
|
|
2: '提交中',
|
|
|
3: '已截止',
|
|
|
4: '已结束'
|
|
|
};
|
|
|
var handleDelete = function handleDelete(id) {
|
|
|
modal/* default */.Z.confirm({
|
|
|
title: '提示',
|
|
|
centered: true,
|
|
|
content: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: Videomodules.modal,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
children: "\u8BE5\u89C6\u9891\u5C06\u88AB\u5220\u9664\uFF0C\u4E0D\u53EF\u6062\u590D"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
children: "\u662F\u5426\u786E\u8BA4\u5220\u9664?"
|
|
|
})]
|
|
|
}),
|
|
|
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:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
}));
|
|
|
function onOk() {
|
|
|
return _onOk.apply(this, arguments);
|
|
|
}
|
|
|
return onOk;
|
|
|
}()
|
|
|
});
|
|
|
};
|
|
|
var handleLogWatchHistory = function handleLogWatchHistory(query) {
|
|
|
return dispatch({
|
|
|
type: 'userDetail/logWatchHistory',
|
|
|
payload: query
|
|
|
});
|
|
|
};
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("section", {
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(TabMenu/* default */.Z, {
|
|
|
isLoading: false,
|
|
|
tabDataSource: Menus,
|
|
|
isAdmin: (0,authority/* isAdmin */.GJ)(),
|
|
|
onTabMenuClick: onMenuSelect,
|
|
|
defaultSelectedKeys: ['all'],
|
|
|
showControlButton: isSort && (0,authority/* isAdminOrTeacher */.G5)(),
|
|
|
buttonText: "\u4E0A\u4F20\u89C6\u9891",
|
|
|
buttonIcon: "icon-shangchuan3 font18",
|
|
|
extraNode: (0,authority/* isAdmin */.GJ)() && /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
|
|
|
align: "middle",
|
|
|
className: "mr20",
|
|
|
children: [isSort && (0,authority/* isAdmin */.GJ)() && /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
className: "c-blue font16 mr20 current",
|
|
|
onClick: function onClick(e) {
|
|
|
dispatch({
|
|
|
type: 'classroomList/setActionTabs',
|
|
|
payload: {
|
|
|
key: '新建子目录',
|
|
|
params: params
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
|
|
|
title: "\u65B0\u5EFA\u5B50\u76EE\u5F55",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-xinjianmulu1 font14"
|
|
|
})
|
|
|
})
|
|
|
}), isSort && (0,authority/* isAdmin */.GJ)() && /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
onClick: function onClick() {
|
|
|
return _umi_production_exports.history.push("/classrooms/".concat(param.coursesId, "/video/").concat((detailVideoList === null || detailVideoList === void 0 ? void 0 : detailVideoList.category_id) || (detailVideoList === null || detailVideoList === void 0 ? void 0 : detailVideoList.course_module_id), "/statistics"));
|
|
|
},
|
|
|
className: "font14 mr20 c-blue font14 current",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-tongji4 font14 mr5"
|
|
|
}), "\u7EDF\u8BA1\u603B\u89C8"]
|
|
|
}), isSort && (0,authority/* isStudent */.dE)() && /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
onClick: function onClick() {
|
|
|
return _umi_production_exports.history.push("/classrooms/".concat(param.coursesId, "/video/").concat((detailVideoList === null || detailVideoList === void 0 ? void 0 : detailVideoList.category_id) || (detailVideoList === null || detailVideoList === void 0 ? void 0 : detailVideoList.course_module_id), "/studentstatistics"));
|
|
|
},
|
|
|
className: "font14 mr20 c-blue font14 current",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-tongji4 font14 mr5"
|
|
|
}), "\u7EDF\u8BA1\u603B\u89C8"]
|
|
|
}), isSort && (0,authority/* isAdmin */.GJ)() && /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
className: "c-blue font14 mr20 current",
|
|
|
onClick: function onClick(e) {
|
|
|
e.preventDefault();
|
|
|
dispatch({
|
|
|
type: 'classroomList/setActionTabs',
|
|
|
payload: {
|
|
|
key: '增加外链',
|
|
|
params: params
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-lianjie2 font14 mr5"
|
|
|
}), "\u589E\u52A0\u5916\u94FE"]
|
|
|
}), ((0,authority/* isAdminOrTeacher */.G5)() || (0,authority/* isAssistant */.Rm)()) && /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
|
|
|
style: {
|
|
|
display: 'flex',
|
|
|
alignItems: 'center'
|
|
|
},
|
|
|
className: "c-blue font14 current",
|
|
|
onClick: function onClick() {
|
|
|
setIsSort(!isSort);
|
|
|
if (!isSort) {
|
|
|
dispatch({
|
|
|
type: 'classroomList/setUpdateData',
|
|
|
payload: Math.random()
|
|
|
});
|
|
|
}
|
|
|
},
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
|
|
|
className: "iconfont icon-tiaozhengpaixu2 mr5"
|
|
|
}), isSort ? '调整排序' : '结束排序']
|
|
|
})]
|
|
|
}),
|
|
|
onButtonClick: function onButtonClick() {
|
|
|
_umi_production_exports.history.push(param.categoryId ? "/classrooms/".concat(param.coursesId, "/video/").concat(user.userInfo.login, "/upload?categoryId=").concat(param.categoryId) : "/classrooms/".concat(param.coursesId, "/video/").concat(user.userInfo.login, "/upload"));
|
|
|
}
|
|
|
}), (detailVideoList === null || detailVideoList === void 0 ? void 0 : detailVideoList.videos_count) === 0 && /*#__PURE__*/(0,jsx_runtime.jsx)(NoData/* default */.Z, {}), !!(detailVideoList !== null && detailVideoList !== void 0 && (_detailVideoList$vide = detailVideoList.videos) !== null && _detailVideoList$vide !== void 0 && _detailVideoList$vide.length) && /*#__PURE__*/(0,jsx_runtime.jsx)(spin/* default */.Z, {
|
|
|
spinning: loading['classroomList/getVideoList'],
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
className: Videomodules.card,
|
|
|
children: [!!isSort && /*#__PURE__*/(0,jsx_runtime.jsx)(Video_Items, {
|
|
|
dispatch: dispatch,
|
|
|
data: objectSpread2_default()({}, detailVideoList),
|
|
|
userid: user.userInfo.user_id,
|
|
|
isReview: params.category === 'pending',
|
|
|
onDelete: handleDelete,
|
|
|
logWatchHistory: handleLogWatchHistory
|
|
|
}), !isSort && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
style: {
|
|
|
height: 20
|
|
|
}
|
|
|
}), !isSort && /*#__PURE__*/(0,jsx_runtime.jsx)(Video_HtmlDrag, {
|
|
|
dataSource: detailVideoList === null || detailVideoList === void 0 ? void 0 : detailVideoList.videos,
|
|
|
count: classroomList === null || classroomList === void 0 || (_classroomList$detail = classroomList.detailVideoList) === null || _classroomList$detail === void 0 ? void 0 : _classroomList$detail.videos_count,
|
|
|
dispatch: dispatch
|
|
|
})]
|
|
|
})
|
|
|
}), isSort && /*#__PURE__*/(0,jsx_runtime.jsx)("aside", {
|
|
|
className: "tc mb50 mt30",
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(pagination/* default */.Z, {
|
|
|
hideOnSinglePage: true,
|
|
|
showSizeChanger: false,
|
|
|
onChange: onShowSizeChange,
|
|
|
defaultCurrent: 1,
|
|
|
pageSize: 15,
|
|
|
current: params.page || 1,
|
|
|
total: detailVideoList === null || detailVideoList === void 0 ? void 0 : detailVideoList.videos_count
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(DelTasks, {}), /*#__PURE__*/(0,jsx_runtime.jsx)(Edit, {
|
|
|
data: selectArrs
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(VideoEdit, {}), /*#__PURE__*/(0,jsx_runtime.jsx)(MoveCatalog, {}), /*#__PURE__*/(0,jsx_runtime.jsx)(AddLink, {}), /*#__PURE__*/(0,jsx_runtime.jsx)(AddCategory, {}), /*#__PURE__*/(0,jsx_runtime.jsx)(VideoLinkEdit, {})]
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var Video = ((0,_umi_production_exports.connect)(function (_ref2) {
|
|
|
var classroomList = _ref2.classroomList,
|
|
|
loading = _ref2.loading,
|
|
|
user = _ref2.user,
|
|
|
globalSetting = _ref2.globalSetting;
|
|
|
return {
|
|
|
user: user,
|
|
|
classroomList: classroomList,
|
|
|
globalSetting: globalSetting,
|
|
|
loading: loading.effects
|
|
|
};
|
|
|
})(ShixunsListPage));
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 19473:
|
|
|
/*!***********************************!*\
|
|
|
!*** ./src/utils/aliyunUpload.ts ***!
|
|
|
\***********************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
|
/* harmony export */ o: function() { return /* binding */ getUploader; }
|
|
|
/* harmony export */ });
|
|
|
/* harmony import */ var _utils_fetch__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/utils/fetch */ 56648);
|
|
|
/* harmony import */ var aliyun_vod_upload_ll__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! aliyun-vod-upload-ll */ 93125);
|
|
|
/* harmony import */ var aliyun_vod_upload_ll__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(aliyun_vod_upload_ll__WEBPACK_IMPORTED_MODULE_1__);
|
|
|
|
|
|
|
|
|
var login = '';
|
|
|
var uploader;
|
|
|
var virtual_classroom_id = '';
|
|
|
function createUploader(options) {
|
|
|
doCreateUploader(options);
|
|
|
}
|
|
|
function doCreateUploader(options) {
|
|
|
uploader = new (aliyun_vod_upload_ll__WEBPACK_IMPORTED_MODULE_1___default().Vod)({
|
|
|
timeout: 60000,
|
|
|
partSize: 1048576,
|
|
|
parallel: 5,
|
|
|
retryCount: 3,
|
|
|
retryDuration: 2,
|
|
|
region: 'ap-southeast-1',
|
|
|
userId: 1829848226361863,
|
|
|
enableUploadProgress: false,
|
|
|
addFileSuccess: function addFileSuccess(uploadInfo) {
|
|
|
console.log("addFileSuccess: " + uploadInfo.file.name);
|
|
|
options.addFileSuccess && options.addFileSuccess(uploadInfo);
|
|
|
uploader.startUpload();
|
|
|
},
|
|
|
// 开始上传
|
|
|
onUploadstarted: function onUploadstarted(uploadInfo) {
|
|
|
var fileName = uploadInfo.file.name;
|
|
|
if (!uploadInfo.videoId) {
|
|
|
var createUrl = "/api/users/".concat(login, "/video_auths.json");
|
|
|
var _random = ''; // Math.random().toString().substring(3, 6)+'-'
|
|
|
(0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .ZP)(createUrl, {
|
|
|
method: 'Post',
|
|
|
body: {
|
|
|
title: _random + fileName,
|
|
|
file_name: _random + fileName,
|
|
|
virtual_classroom_id: virtual_classroom_id
|
|
|
}
|
|
|
}).then(function (response) {
|
|
|
if (response) {
|
|
|
var data = response.data;
|
|
|
var uploadAuth = data.UploadAuth;
|
|
|
var uploadAddress = data.UploadAddress;
|
|
|
var videoId = data.VideoId;
|
|
|
uploader.setUploadAuthAndAddress(uploadInfo, uploadAuth, uploadAddress, videoId);
|
|
|
}
|
|
|
})["catch"](function (error) {
|
|
|
uploader.deleteFile(uploader._curIndex);
|
|
|
uploader.nextUpload();
|
|
|
console.log(error);
|
|
|
});
|
|
|
console.log('文件开始上传...');
|
|
|
} else {
|
|
|
// 如果videoId有值,根据videoId刷新上传凭证
|
|
|
var refreshUrl = "/api/users/".concat(login, "/video_auths.json");
|
|
|
(0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .ZP)(refreshUrl, {
|
|
|
method: 'put',
|
|
|
body: {
|
|
|
video_id: uploadInfo.videoId,
|
|
|
title: fileName,
|
|
|
file_name: fileName,
|
|
|
virtual_classroom_id: virtual_classroom_id
|
|
|
}
|
|
|
}).then(function (response) {
|
|
|
if (response.status == -1) {
|
|
|
options.onUploadError && options.onUploadError(uploadInfo);
|
|
|
return;
|
|
|
}
|
|
|
var data = response.data;
|
|
|
var uploadAuth = data.UploadAuth;
|
|
|
var uploadAddress = data.UploadAddress;
|
|
|
var videoId = data.VideoId;
|
|
|
uploader.setUploadAuthAndAddress(uploadInfo, uploadAuth, uploadAddress);
|
|
|
})["catch"](function (error) {
|
|
|
uploader.deleteFile(uploader._curIndex);
|
|
|
uploader.nextUpload();
|
|
|
console.log(error);
|
|
|
});
|
|
|
}
|
|
|
},
|
|
|
// 文件上传成功
|
|
|
onUploadSucceed: function onUploadSucceed(uploadInfo) {
|
|
|
options.onUploadSucceed && options.onUploadSucceed(uploadInfo);
|
|
|
console.log('文件上传成功!');
|
|
|
},
|
|
|
// 文件上传失败
|
|
|
onUploadFailed: function onUploadFailed(uploadInfo, code, message) {
|
|
|
options.onUploadFailed && options.onUploadFailed(uploadInfo);
|
|
|
console.log('文件上传失败!');
|
|
|
},
|
|
|
// 取消文件上传
|
|
|
onUploadCanceled: function onUploadCanceled(uploadInfo, code, message) {
|
|
|
console.log('文件上传已暂停!');
|
|
|
},
|
|
|
// 文件上传进度,单位:字节, 可以在这个函数中拿到上传进度并显示在页面上
|
|
|
onUploadProgress: function onUploadProgress(uploadInfo, totalSize, progress) {
|
|
|
options.onUploadProgress && options.onUploadProgress(uploadInfo, totalSize, progress);
|
|
|
var progressPercent = Math.ceil(progress * 100);
|
|
|
console.log('文件上传中...');
|
|
|
},
|
|
|
// 上传凭证超时
|
|
|
onUploadTokenExpired: function onUploadTokenExpired(uploadInfo) {
|
|
|
console.log('文件上传超时!');
|
|
|
var refreshUrl = "/api/users/".concat(login, "/video_auths.json");
|
|
|
(0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .ZP)(refreshUrl, {
|
|
|
method: 'put',
|
|
|
body: {
|
|
|
video_id: uploadInfo.videoId
|
|
|
}
|
|
|
}).then(function (response) {
|
|
|
var data = response.data;
|
|
|
var uploadAuth = data.UploadAuth;
|
|
|
uploader.resumeUploadWithAuth(uploadAuth);
|
|
|
})["catch"](function (error) {
|
|
|
console.log(error);
|
|
|
});
|
|
|
},
|
|
|
// 全部文件上传结束
|
|
|
onUploadEnd: function onUploadEnd(uploadInfo) {
|
|
|
options.onUploadEnd && options.onUploadEnd(uploadInfo);
|
|
|
console.log("onUploadEnd: uploaded all the files");
|
|
|
}
|
|
|
});
|
|
|
if (options.gotUploader) {
|
|
|
options.gotUploader(uploader);
|
|
|
}
|
|
|
}
|
|
|
function getUploader(_login, _virtual_classroom_id, options) {
|
|
|
_login && (login = _login);
|
|
|
_virtual_classroom_id && (virtual_classroom_id = _virtual_classroom_id);
|
|
|
// if (!uploader || options.create == true) {
|
|
|
createUploader(options);
|
|
|
// }
|
|
|
}
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 44000:
|
|
|
/*!**********************************************************!*\
|
|
|
!*** ./node_modules/_antd@5.9.0@antd/es/layout/index.js ***!
|
|
|
\**********************************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
/* harmony import */ var _layout__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./layout */ 84966);
|
|
|
/* harmony import */ var _Sider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Sider */ 44678);
|
|
|
"use client";
|
|
|
|
|
|
|
|
|
|
|
|
const Layout = _layout__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .ZP;
|
|
|
Layout.Header = _layout__WEBPACK_IMPORTED_MODULE_0__/* .Header */ .h4;
|
|
|
Layout.Footer = _layout__WEBPACK_IMPORTED_MODULE_0__/* .Footer */ .$_;
|
|
|
Layout.Content = _layout__WEBPACK_IMPORTED_MODULE_0__/* .Content */ .VY;
|
|
|
Layout.Sider = _Sider__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z;
|
|
|
/* harmony default export */ __webpack_exports__.Z = (Layout);
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 78673:
|
|
|
/*!**********************************************************************!*\
|
|
|
!*** ./node_modules/_antd@5.9.0@antd/es/switch/index.js + 2 modules ***!
|
|
|
\**********************************************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
|
|
|
// EXPORTS
|
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
|
Z: function() { return /* binding */ es_switch; }
|
|
|
});
|
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.3.5@@ant-design/icons/es/icons/LoadingOutlined.js + 1 modules
|
|
|
var LoadingOutlined = __webpack_require__(36242);
|
|
|
// EXTERNAL MODULE: ./node_modules/_classnames@2.5.1@classnames/index.js
|
|
|
var _classnames_2_5_1_classnames = __webpack_require__(92310);
|
|
|
var _classnames_2_5_1_classnames_default = /*#__PURE__*/__webpack_require__.n(_classnames_2_5_1_classnames);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.24.1@@babel/runtime/helpers/esm/extends.js
|
|
|
var esm_extends = __webpack_require__(66820);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.24.1@@babel/runtime/helpers/esm/defineProperty.js
|
|
|
var defineProperty = __webpack_require__(80999);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.24.1@@babel/runtime/helpers/esm/slicedToArray.js + 1 modules
|
|
|
var slicedToArray = __webpack_require__(38440);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.24.1@@babel/runtime/helpers/esm/objectWithoutProperties.js
|
|
|
var objectWithoutProperties = __webpack_require__(17313);
|
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
|
|
|
var _react_17_0_2_react = __webpack_require__(59301);
|
|
|
// EXTERNAL MODULE: ./node_modules/_rc-util@5.39.1@rc-util/es/hooks/useMergedState.js
|
|
|
var useMergedState = __webpack_require__(290);
|
|
|
// EXTERNAL MODULE: ./node_modules/_rc-util@5.39.1@rc-util/es/KeyCode.js
|
|
|
var KeyCode = __webpack_require__(81331);
|
|
|
;// CONCATENATED MODULE: ./node_modules/_rc-switch@4.1.0@rc-switch/es/index.js
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var _excluded = ["prefixCls", "className", "checked", "defaultChecked", "disabled", "loadingIcon", "checkedChildren", "unCheckedChildren", "onClick", "onChange", "onKeyDown"];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var Switch = /*#__PURE__*/_react_17_0_2_react.forwardRef(function (_ref, ref) {
|
|
|
var _classNames;
|
|
|
var _ref$prefixCls = _ref.prefixCls,
|
|
|
prefixCls = _ref$prefixCls === void 0 ? 'rc-switch' : _ref$prefixCls,
|
|
|
className = _ref.className,
|
|
|
checked = _ref.checked,
|
|
|
defaultChecked = _ref.defaultChecked,
|
|
|
disabled = _ref.disabled,
|
|
|
loadingIcon = _ref.loadingIcon,
|
|
|
checkedChildren = _ref.checkedChildren,
|
|
|
unCheckedChildren = _ref.unCheckedChildren,
|
|
|
onClick = _ref.onClick,
|
|
|
onChange = _ref.onChange,
|
|
|
onKeyDown = _ref.onKeyDown,
|
|
|
restProps = (0,objectWithoutProperties/* default */.Z)(_ref, _excluded);
|
|
|
var _useMergedState = (0,useMergedState/* default */.Z)(false, {
|
|
|
value: checked,
|
|
|
defaultValue: defaultChecked
|
|
|
}),
|
|
|
_useMergedState2 = (0,slicedToArray/* default */.Z)(_useMergedState, 2),
|
|
|
innerChecked = _useMergedState2[0],
|
|
|
setInnerChecked = _useMergedState2[1];
|
|
|
function triggerChange(newChecked, event) {
|
|
|
var mergedChecked = innerChecked;
|
|
|
if (!disabled) {
|
|
|
mergedChecked = newChecked;
|
|
|
setInnerChecked(mergedChecked);
|
|
|
onChange === null || onChange === void 0 ? void 0 : onChange(mergedChecked, event);
|
|
|
}
|
|
|
return mergedChecked;
|
|
|
}
|
|
|
function onInternalKeyDown(e) {
|
|
|
if (e.which === KeyCode/* default */.Z.LEFT) {
|
|
|
triggerChange(false, e);
|
|
|
} else if (e.which === KeyCode/* default */.Z.RIGHT) {
|
|
|
triggerChange(true, e);
|
|
|
}
|
|
|
onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(e);
|
|
|
}
|
|
|
function onInternalClick(e) {
|
|
|
var ret = triggerChange(!innerChecked, e);
|
|
|
// [Legacy] trigger onClick with value
|
|
|
onClick === null || onClick === void 0 ? void 0 : onClick(ret, e);
|
|
|
}
|
|
|
var switchClassName = _classnames_2_5_1_classnames_default()(prefixCls, className, (_classNames = {}, (0,defineProperty/* default */.Z)(_classNames, "".concat(prefixCls, "-checked"), innerChecked), (0,defineProperty/* default */.Z)(_classNames, "".concat(prefixCls, "-disabled"), disabled), _classNames));
|
|
|
return /*#__PURE__*/_react_17_0_2_react.createElement("button", (0,esm_extends/* default */.Z)({}, restProps, {
|
|
|
type: "button",
|
|
|
role: "switch",
|
|
|
"aria-checked": innerChecked,
|
|
|
disabled: disabled,
|
|
|
className: switchClassName,
|
|
|
ref: ref,
|
|
|
onKeyDown: onInternalKeyDown,
|
|
|
onClick: onInternalClick
|
|
|
}), loadingIcon, /*#__PURE__*/_react_17_0_2_react.createElement("span", {
|
|
|
className: "".concat(prefixCls, "-inner")
|
|
|
}, /*#__PURE__*/_react_17_0_2_react.createElement("span", {
|
|
|
className: "".concat(prefixCls, "-inner-checked")
|
|
|
}, checkedChildren), /*#__PURE__*/_react_17_0_2_react.createElement("span", {
|
|
|
className: "".concat(prefixCls, "-inner-unchecked")
|
|
|
}, unCheckedChildren)));
|
|
|
});
|
|
|
Switch.displayName = 'Switch';
|
|
|
/* harmony default export */ var es = (Switch);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/_util/wave/index.js + 4 modules
|
|
|
var wave = __webpack_require__(14088);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/config-provider/context.js
|
|
|
var context = __webpack_require__(36355);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/config-provider/DisabledContext.js
|
|
|
var DisabledContext = __webpack_require__(1684);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/config-provider/hooks/useSize.js
|
|
|
var useSize = __webpack_require__(19716);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@ctrl_tinycolor@3.6.1@@ctrl/tinycolor/dist/module/index.js
|
|
|
var dist_module = __webpack_require__(64993);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/style/index.js
|
|
|
var style = __webpack_require__(87832);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/theme/util/genComponentStyleHook.js
|
|
|
var genComponentStyleHook = __webpack_require__(83116);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/theme/util/statistic.js
|
|
|
var statistic = __webpack_require__(37613);
|
|
|
;// CONCATENATED MODULE: ./node_modules/_antd@5.9.0@antd/es/switch/style/index.js
|
|
|
|
|
|
|
|
|
|
|
|
const genSwitchSmallStyle = token => {
|
|
|
const {
|
|
|
componentCls,
|
|
|
trackHeightSM,
|
|
|
trackPadding,
|
|
|
trackMinWidthSM,
|
|
|
innerMinMarginSM,
|
|
|
innerMaxMarginSM,
|
|
|
handleSizeSM
|
|
|
} = token;
|
|
|
const switchInnerCls = `${componentCls}-inner`;
|
|
|
return {
|
|
|
[componentCls]: {
|
|
|
[`&${componentCls}-small`]: {
|
|
|
minWidth: trackMinWidthSM,
|
|
|
height: trackHeightSM,
|
|
|
lineHeight: `${trackHeightSM}px`,
|
|
|
[`${componentCls}-inner`]: {
|
|
|
paddingInlineStart: innerMaxMarginSM,
|
|
|
paddingInlineEnd: innerMinMarginSM,
|
|
|
[`${switchInnerCls}-checked`]: {
|
|
|
marginInlineStart: `calc(-100% + ${handleSizeSM + trackPadding * 2}px - ${innerMaxMarginSM * 2}px)`,
|
|
|
marginInlineEnd: `calc(100% - ${handleSizeSM + trackPadding * 2}px + ${innerMaxMarginSM * 2}px)`
|
|
|
},
|
|
|
[`${switchInnerCls}-unchecked`]: {
|
|
|
marginTop: -trackHeightSM,
|
|
|
marginInlineStart: 0,
|
|
|
marginInlineEnd: 0
|
|
|
}
|
|
|
},
|
|
|
[`${componentCls}-handle`]: {
|
|
|
width: handleSizeSM,
|
|
|
height: handleSizeSM
|
|
|
},
|
|
|
[`${componentCls}-loading-icon`]: {
|
|
|
top: (handleSizeSM - token.switchLoadingIconSize) / 2,
|
|
|
fontSize: token.switchLoadingIconSize
|
|
|
},
|
|
|
[`&${componentCls}-checked`]: {
|
|
|
[`${componentCls}-inner`]: {
|
|
|
paddingInlineStart: innerMinMarginSM,
|
|
|
paddingInlineEnd: innerMaxMarginSM,
|
|
|
[`${switchInnerCls}-checked`]: {
|
|
|
marginInlineStart: 0,
|
|
|
marginInlineEnd: 0
|
|
|
},
|
|
|
[`${switchInnerCls}-unchecked`]: {
|
|
|
marginInlineStart: `calc(100% - ${handleSizeSM + trackPadding * 2}px + ${innerMaxMarginSM * 2}px)`,
|
|
|
marginInlineEnd: `calc(-100% + ${handleSizeSM + trackPadding * 2}px - ${innerMaxMarginSM * 2}px)`
|
|
|
}
|
|
|
},
|
|
|
[`${componentCls}-handle`]: {
|
|
|
insetInlineStart: `calc(100% - ${handleSizeSM + trackPadding}px)`
|
|
|
}
|
|
|
},
|
|
|
[`&:not(${componentCls}-disabled):active`]: {
|
|
|
[`&:not(${componentCls}-checked) ${switchInnerCls}`]: {
|
|
|
[`${switchInnerCls}-unchecked`]: {
|
|
|
marginInlineStart: token.marginXXS / 2,
|
|
|
marginInlineEnd: -token.marginXXS / 2
|
|
|
}
|
|
|
},
|
|
|
[`&${componentCls}-checked ${switchInnerCls}`]: {
|
|
|
[`${switchInnerCls}-checked`]: {
|
|
|
marginInlineStart: -token.marginXXS / 2,
|
|
|
marginInlineEnd: token.marginXXS / 2
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
};
|
|
|
};
|
|
|
const genSwitchLoadingStyle = token => {
|
|
|
const {
|
|
|
componentCls,
|
|
|
handleSize
|
|
|
} = token;
|
|
|
return {
|
|
|
[componentCls]: {
|
|
|
[`${componentCls}-loading-icon${token.iconCls}`]: {
|
|
|
position: 'relative',
|
|
|
top: (handleSize - token.fontSize) / 2,
|
|
|
color: token.switchLoadingIconColor,
|
|
|
verticalAlign: 'top'
|
|
|
},
|
|
|
[`&${componentCls}-checked ${componentCls}-loading-icon`]: {
|
|
|
color: token.switchColor
|
|
|
}
|
|
|
}
|
|
|
};
|
|
|
};
|
|
|
const genSwitchHandleStyle = token => {
|
|
|
const {
|
|
|
componentCls,
|
|
|
motion,
|
|
|
trackPadding,
|
|
|
handleBg,
|
|
|
handleShadow,
|
|
|
handleSize
|
|
|
} = token;
|
|
|
const switchHandleCls = `${componentCls}-handle`;
|
|
|
return {
|
|
|
[componentCls]: {
|
|
|
[switchHandleCls]: {
|
|
|
position: 'absolute',
|
|
|
top: trackPadding,
|
|
|
insetInlineStart: trackPadding,
|
|
|
width: handleSize,
|
|
|
height: handleSize,
|
|
|
transition: `all ${token.switchDuration} ease-in-out`,
|
|
|
'&::before': {
|
|
|
position: 'absolute',
|
|
|
top: 0,
|
|
|
insetInlineEnd: 0,
|
|
|
bottom: 0,
|
|
|
insetInlineStart: 0,
|
|
|
backgroundColor: handleBg,
|
|
|
borderRadius: handleSize / 2,
|
|
|
boxShadow: handleShadow,
|
|
|
transition: `all ${token.switchDuration} ease-in-out`,
|
|
|
content: '""'
|
|
|
}
|
|
|
},
|
|
|
[`&${componentCls}-checked ${switchHandleCls}`]: {
|
|
|
insetInlineStart: `calc(100% - ${handleSize + trackPadding}px)`
|
|
|
},
|
|
|
[`&:not(${componentCls}-disabled):active`]: motion ? {
|
|
|
[`${switchHandleCls}::before`]: {
|
|
|
insetInlineEnd: token.switchHandleActiveInset,
|
|
|
insetInlineStart: 0
|
|
|
},
|
|
|
[`&${componentCls}-checked ${switchHandleCls}::before`]: {
|
|
|
insetInlineEnd: 0,
|
|
|
insetInlineStart: token.switchHandleActiveInset
|
|
|
}
|
|
|
} : /* istanbul ignore next */
|
|
|
{}
|
|
|
}
|
|
|
};
|
|
|
};
|
|
|
const genSwitchInnerStyle = token => {
|
|
|
const {
|
|
|
componentCls,
|
|
|
trackHeight,
|
|
|
trackPadding,
|
|
|
innerMinMargin,
|
|
|
innerMaxMargin,
|
|
|
handleSize
|
|
|
} = token;
|
|
|
const switchInnerCls = `${componentCls}-inner`;
|
|
|
return {
|
|
|
[componentCls]: {
|
|
|
[switchInnerCls]: {
|
|
|
display: 'block',
|
|
|
overflow: 'hidden',
|
|
|
borderRadius: 100,
|
|
|
height: '100%',
|
|
|
paddingInlineStart: innerMaxMargin,
|
|
|
paddingInlineEnd: innerMinMargin,
|
|
|
transition: `padding-inline-start ${token.switchDuration} ease-in-out, padding-inline-end ${token.switchDuration} ease-in-out`,
|
|
|
[`${switchInnerCls}-checked, ${switchInnerCls}-unchecked`]: {
|
|
|
display: 'block',
|
|
|
color: token.colorTextLightSolid,
|
|
|
fontSize: token.fontSizeSM,
|
|
|
transition: `margin-inline-start ${token.switchDuration} ease-in-out, margin-inline-end ${token.switchDuration} ease-in-out`,
|
|
|
pointerEvents: 'none'
|
|
|
},
|
|
|
[`${switchInnerCls}-checked`]: {
|
|
|
marginInlineStart: `calc(-100% + ${handleSize + trackPadding * 2}px - ${innerMaxMargin * 2}px)`,
|
|
|
marginInlineEnd: `calc(100% - ${handleSize + trackPadding * 2}px + ${innerMaxMargin * 2}px)`
|
|
|
},
|
|
|
[`${switchInnerCls}-unchecked`]: {
|
|
|
marginTop: -trackHeight,
|
|
|
marginInlineStart: 0,
|
|
|
marginInlineEnd: 0
|
|
|
}
|
|
|
},
|
|
|
[`&${componentCls}-checked ${switchInnerCls}`]: {
|
|
|
paddingInlineStart: innerMinMargin,
|
|
|
paddingInlineEnd: innerMaxMargin,
|
|
|
[`${switchInnerCls}-checked`]: {
|
|
|
marginInlineStart: 0,
|
|
|
marginInlineEnd: 0
|
|
|
},
|
|
|
[`${switchInnerCls}-unchecked`]: {
|
|
|
marginInlineStart: `calc(100% - ${handleSize + trackPadding * 2}px + ${innerMaxMargin * 2}px)`,
|
|
|
marginInlineEnd: `calc(-100% + ${handleSize + trackPadding * 2}px - ${innerMaxMargin * 2}px)`
|
|
|
}
|
|
|
},
|
|
|
[`&:not(${componentCls}-disabled):active`]: {
|
|
|
[`&:not(${componentCls}-checked) ${switchInnerCls}`]: {
|
|
|
[`${switchInnerCls}-unchecked`]: {
|
|
|
marginInlineStart: trackPadding * 2,
|
|
|
marginInlineEnd: -trackPadding * 2
|
|
|
}
|
|
|
},
|
|
|
[`&${componentCls}-checked ${switchInnerCls}`]: {
|
|
|
[`${switchInnerCls}-checked`]: {
|
|
|
marginInlineStart: -trackPadding * 2,
|
|
|
marginInlineEnd: trackPadding * 2
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
};
|
|
|
};
|
|
|
const genSwitchStyle = token => {
|
|
|
const {
|
|
|
componentCls,
|
|
|
trackHeight,
|
|
|
trackMinWidth
|
|
|
} = token;
|
|
|
return {
|
|
|
[componentCls]: Object.assign(Object.assign(Object.assign(Object.assign({}, (0,style/* resetComponent */.Wf)(token)), {
|
|
|
position: 'relative',
|
|
|
display: 'inline-block',
|
|
|
boxSizing: 'border-box',
|
|
|
minWidth: trackMinWidth,
|
|
|
height: trackHeight,
|
|
|
lineHeight: `${trackHeight}px`,
|
|
|
verticalAlign: 'middle',
|
|
|
background: token.colorTextQuaternary,
|
|
|
border: '0',
|
|
|
borderRadius: 100,
|
|
|
cursor: 'pointer',
|
|
|
transition: `all ${token.motionDurationMid}`,
|
|
|
userSelect: 'none',
|
|
|
[`&:hover:not(${componentCls}-disabled)`]: {
|
|
|
background: token.colorTextTertiary
|
|
|
}
|
|
|
}), (0,style/* genFocusStyle */.Qy)(token)), {
|
|
|
[`&${componentCls}-checked`]: {
|
|
|
background: token.switchColor,
|
|
|
[`&:hover:not(${componentCls}-disabled)`]: {
|
|
|
background: token.colorPrimaryHover
|
|
|
}
|
|
|
},
|
|
|
[`&${componentCls}-loading, &${componentCls}-disabled`]: {
|
|
|
cursor: 'not-allowed',
|
|
|
opacity: token.switchDisabledOpacity,
|
|
|
'*': {
|
|
|
boxShadow: 'none',
|
|
|
cursor: 'not-allowed'
|
|
|
}
|
|
|
},
|
|
|
// rtl style
|
|
|
[`&${componentCls}-rtl`]: {
|
|
|
direction: 'rtl'
|
|
|
}
|
|
|
})
|
|
|
};
|
|
|
};
|
|
|
// ============================== Export ==============================
|
|
|
/* harmony default export */ var switch_style = ((0,genComponentStyleHook/* default */.Z)('Switch', token => {
|
|
|
const switchToken = (0,statistic/* merge */.TS)(token, {
|
|
|
switchDuration: token.motionDurationMid,
|
|
|
switchColor: token.colorPrimary,
|
|
|
switchDisabledOpacity: token.opacityLoading,
|
|
|
switchLoadingIconSize: token.fontSizeIcon * 0.75,
|
|
|
switchLoadingIconColor: `rgba(0, 0, 0, ${token.opacityLoading})`,
|
|
|
switchHandleActiveInset: '-30%'
|
|
|
});
|
|
|
return [genSwitchStyle(switchToken),
|
|
|
// inner style
|
|
|
genSwitchInnerStyle(switchToken),
|
|
|
// handle style
|
|
|
genSwitchHandleStyle(switchToken),
|
|
|
// loading style
|
|
|
genSwitchLoadingStyle(switchToken),
|
|
|
// small style
|
|
|
genSwitchSmallStyle(switchToken)];
|
|
|
}, token => {
|
|
|
const {
|
|
|
fontSize,
|
|
|
lineHeight,
|
|
|
controlHeight,
|
|
|
colorWhite
|
|
|
} = token;
|
|
|
const height = fontSize * lineHeight;
|
|
|
const heightSM = controlHeight / 2;
|
|
|
const padding = 2; // Fixed value
|
|
|
const handleSize = height - padding * 2;
|
|
|
const handleSizeSM = heightSM - padding * 2;
|
|
|
return {
|
|
|
trackHeight: height,
|
|
|
trackHeightSM: heightSM,
|
|
|
trackMinWidth: handleSize * 2 + padding * 4,
|
|
|
trackMinWidthSM: handleSizeSM * 2 + padding * 2,
|
|
|
trackPadding: padding,
|
|
|
handleBg: colorWhite,
|
|
|
handleSize,
|
|
|
handleSizeSM,
|
|
|
handleShadow: `0 2px 4px 0 ${new dist_module/* TinyColor */.C('#00230b').setAlpha(0.2).toRgbString()}`,
|
|
|
innerMinMargin: handleSize / 2,
|
|
|
innerMaxMargin: handleSize + padding + padding * 2,
|
|
|
innerMinMarginSM: handleSizeSM / 2,
|
|
|
innerMaxMarginSM: handleSizeSM + padding + padding * 2
|
|
|
};
|
|
|
}));
|
|
|
;// CONCATENATED MODULE: ./node_modules/_antd@5.9.0@antd/es/switch/index.js
|
|
|
"use client";
|
|
|
|
|
|
var __rest = undefined && undefined.__rest || function (s, e) {
|
|
|
var t = {};
|
|
|
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
|
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
|
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
|
}
|
|
|
return t;
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const switch_Switch = /*#__PURE__*/_react_17_0_2_react.forwardRef((props, ref) => {
|
|
|
const {
|
|
|
prefixCls: customizePrefixCls,
|
|
|
size: customizeSize,
|
|
|
disabled: customDisabled,
|
|
|
loading,
|
|
|
className,
|
|
|
rootClassName,
|
|
|
style
|
|
|
} = props,
|
|
|
restProps = __rest(props, ["prefixCls", "size", "disabled", "loading", "className", "rootClassName", "style"]);
|
|
|
false ? 0 : void 0;
|
|
|
const {
|
|
|
getPrefixCls,
|
|
|
direction,
|
|
|
switch: SWITCH
|
|
|
} = _react_17_0_2_react.useContext(context/* ConfigContext */.E_);
|
|
|
// ===================== Disabled =====================
|
|
|
const disabled = _react_17_0_2_react.useContext(DisabledContext/* default */.Z);
|
|
|
const mergedDisabled = (customDisabled !== null && customDisabled !== void 0 ? customDisabled : disabled) || loading;
|
|
|
const prefixCls = getPrefixCls('switch', customizePrefixCls);
|
|
|
const loadingIcon = /*#__PURE__*/_react_17_0_2_react.createElement("div", {
|
|
|
className: `${prefixCls}-handle`
|
|
|
}, loading && /*#__PURE__*/_react_17_0_2_react.createElement(LoadingOutlined/* default */.Z, {
|
|
|
className: `${prefixCls}-loading-icon`
|
|
|
}));
|
|
|
// Style
|
|
|
const [wrapSSR, hashId] = switch_style(prefixCls);
|
|
|
const mergedSize = (0,useSize/* default */.Z)(customizeSize);
|
|
|
const classes = _classnames_2_5_1_classnames_default()(SWITCH === null || SWITCH === void 0 ? void 0 : SWITCH.className, {
|
|
|
[`${prefixCls}-small`]: mergedSize === 'small',
|
|
|
[`${prefixCls}-loading`]: loading,
|
|
|
[`${prefixCls}-rtl`]: direction === 'rtl'
|
|
|
}, className, rootClassName, hashId);
|
|
|
const mergedStyle = Object.assign(Object.assign({}, SWITCH === null || SWITCH === void 0 ? void 0 : SWITCH.style), style);
|
|
|
return wrapSSR( /*#__PURE__*/_react_17_0_2_react.createElement(wave/* default */.Z, {
|
|
|
component: "Switch"
|
|
|
}, /*#__PURE__*/_react_17_0_2_react.createElement(es, Object.assign({}, restProps, {
|
|
|
prefixCls: prefixCls,
|
|
|
className: classes,
|
|
|
style: mergedStyle,
|
|
|
disabled: mergedDisabled,
|
|
|
ref: ref,
|
|
|
loadingIcon: loadingIcon
|
|
|
}))));
|
|
|
});
|
|
|
switch_Switch.__ANT_SWITCH = true;
|
|
|
if (false) {}
|
|
|
/* harmony default export */ var es_switch = (switch_Switch);
|
|
|
|
|
|
/***/ })
|
|
|
|
|
|
}]); |