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

4782 lines
307 KiB

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

(self["webpackChunk"] = self["webpackChunk"] || []).push([[39332,9188,4977,8423],{
/***/ 88484:
/*!*******************************************************************************!*\
!*** ./node_modules/@ant-design/icons/es/icons/UploadOutlined.js + 1 modules ***!
\*******************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
"Z": function() { return /* binding */ icons_UploadOutlined; }
});
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
var esm_extends = __webpack_require__(87462);
// EXTERNAL MODULE: ./node_modules/react/index.js
var react = __webpack_require__(67294);
;// CONCATENATED MODULE: ./node_modules/@ant-design/icons-svg/es/asn/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/es/components/AntdIcon.js + 8 modules
var AntdIcon = __webpack_require__(74643);
;// CONCATENATED MODULE: ./node_modules/@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.createElement(AntdIcon/* default */.Z, (0,esm_extends/* default */.Z)({}, props, {
ref: ref,
icon: asn_UploadOutlined
}));
};
if (false) {}
/* harmony default export */ var icons_UploadOutlined = (/*#__PURE__*/react.forwardRef(UploadOutlined_UploadOutlined));
/***/ }),
/***/ 93899:
/*!**********************************************************!*\
!*** ./src/components/CoverUpload/index.tsx + 1 modules ***!
\**********************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
"Z": function() { return /* binding */ components_CoverUpload; }
});
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/slicedToArray.js
var slicedToArray = __webpack_require__(27424);
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
// EXTERNAL MODULE: ./node_modules/react/index.js
var react = __webpack_require__(67294);
// EXTERNAL MODULE: ./node_modules/antd/es/button/index.js
var es_button = __webpack_require__(71577);
// EXTERNAL MODULE: ./node_modules/antd/es/message/index.js + 4 modules
var message = __webpack_require__(2453);
// EXTERNAL MODULE: ./node_modules/antd/es/upload/index.js + 24 modules
var upload = __webpack_require__(31365);
// EXTERNAL MODULE: ./node_modules/@ant-design/icons/es/icons/UploadOutlined.js + 1 modules
var UploadOutlined = __webpack_require__(88484);
// EXTERNAL MODULE: ./node_modules/@ant-design/icons/es/icons/CloseCircleFilled.js + 1 modules
var CloseCircleFilled = __webpack_require__(4340);
// EXTERNAL MODULE: ./src/utils/env.ts + 1 modules
var env = __webpack_require__(59758);
;// 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/jsx-runtime.js
var jsx_runtime = __webpack_require__(85893);
;// 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.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.API_SERVER */.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$file$response, _info$file3, _info$file3$response;
setImgLoading(false);
if (info.file.status === 'done' && ((_info$file = info.file) === null || _info$file === void 0 ? void 0 : (_info$file$response = _info$file.response) === null || _info$file$response === void 0 ? void 0 : _info$file$response.status) === -1) {
var _info$file2, _info$file2$response;
message/* default.error */.ZP.error((_info$file2 = info.file) === null || _info$file2 === void 0 ? void 0 : (_info$file2$response = _info$file2.response) === null || _info$file2$response === void 0 ? void 0 : _info$file2$response.message);
// onChange()
return;
}
onChange(info === null || info === void 0 ? void 0 : (_info$file3 = info.file) === null || _info$file3 === void 0 ? void 0 : (_info$file3$response = _info$file3.response) === null || _info$file3$response === void 0 ? void 0 : _info$file3$response.id);
}
};
return /*#__PURE__*/(0,jsx_runtime.jsx)(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.API_SERVER */.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);
/***/ }),
/***/ 82982:
/*!*****************************************!*\
!*** ./src/components/NoData/index.tsx ***!
\*****************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/objectSpread2.js */ 42122);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ 67294);
/* harmony import */ var _assets_images_icons_nodata_png__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/assets/images/icons/nodata.png */ 4977);
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! antd */ 71577);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react/jsx-runtime */ 85893);
var noData = function noData(_ref) {
var img = _ref.img,
_ref$buttonProps = _ref.buttonProps,
buttonProps = _ref$buttonProps === void 0 ? {} : _ref$buttonProps,
_ref$styles = _ref.styles,
styles = _ref$styles === void 0 ? {} : _ref$styles,
customText = _ref.customText,
ButtonText = _ref.ButtonText,
ButtonClick = _ref.ButtonClick,
Buttonclass = _ref.Buttonclass,
ButtonTwo = _ref.ButtonTwo,
imgStyles = _ref.imgStyles,
_ref$loading = _ref.loading,
loading = _ref$loading === void 0 ? false : _ref$loading;
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("section", {
className: "tc animated fadeIn",
style: _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()({}, {
color: '#999',
margin: '100px auto',
visibility: loading ? 'hidden' : 'visible'
}), styles),
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("img", {
src: img || _assets_images_icons_nodata_png__WEBPACK_IMPORTED_MODULE_2__,
style: _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()({}, imgStyles)
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("p", {
className: "mt20 font14",
children: customText || '暂时还没有相关数据哦!'
}), ButtonText && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(antd__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .ZP, _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()({
className: Buttonclass,
onClick: ButtonClick
}, buttonProps), {}, {
children: ButtonText
})), ButtonTwo && ButtonTwo]
});
};
/* harmony default export */ __webpack_exports__["Z"] = (noData);
/***/ }),
/***/ 41262:
/*!**********************************************************!*\
!*** ./src/components/Video/Modal/index.tsx + 1 modules ***!
\**********************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
"K": function() { return /* binding */ VideoModal; }
});
// EXTERNAL MODULE: ./node_modules/react/index.js
var react = __webpack_require__(67294);
// EXTERNAL MODULE: ./node_modules/antd/es/modal/index.js + 39 modules
var modal = __webpack_require__(72423);
// EXTERNAL MODULE: ./src/components/Video/Play/index.jsx + 1 modules
var Play = __webpack_require__(8423);
;// CONCATENATED MODULE: ./src/components/Video/Modal/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var Modalmodules = ({"modal":"modal___LGwws","closeIcon":"closeIcon___vsUXI","wrap":"wrap___tDzbl","input":"input___aikQk"});
// EXTERNAL MODULE: ./node_modules/js-base64/base64.js
var base64 = __webpack_require__(19575);
// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(85893);
;// CONCATENATED MODULE: ./src/components/Video/Modal/index.tsx
var VideoModal = function VideoModal(_ref) {
var visible = _ref.visible,
width = _ref.width,
videoId = _ref.videoId,
file_url = _ref.file_url,
course_id = _ref.course_id,
copyUrl = _ref.copyUrl,
_ref$toLog = _ref.toLog,
toLog = _ref$toLog === void 0 ? true : _ref$toLog,
_ref$logWatchHistory = _ref.logWatchHistory,
logWatchHistory = _ref$logWatchHistory === void 0 ? function () {} : _ref$logWatchHistory,
allow_skip = _ref.allow_skip,
_ref$onClose = _ref.onClose,
onClose = _ref$onClose === void 0 ? function () {} : _ref$onClose;
return /*#__PURE__*/(0,jsx_runtime.jsxs)(modal/* default */.Z, {
centered: true,
keyboard: false,
closable: false,
destroyOnClose: true,
open: visible,
title: null,
footer: null,
width: width,
className: Modalmodules.modal,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "".concat(Modalmodules.closeIcon, " iconfont icon-guanbi10"),
onClick: onClose
}), visible && /*#__PURE__*/(0,jsx_runtime.jsx)(Play/* default */.Z, {
allow_skip: allow_skip,
courseId: course_id,
src: file_url !== null && file_url !== void 0 && file_url.startsWith("http") ? file_url : base64.Base64.decode(file_url),
videoId: videoId,
toLog: toLog,
logWatchHistory: logWatchHistory
})]
});
};
/***/ }),
/***/ 8423:
/*!*********************************************************!*\
!*** ./src/components/Video/Play/index.jsx + 1 modules ***!
\*********************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
"Z": function() { return /* binding */ Play; }
});
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/slicedToArray.js
var slicedToArray = __webpack_require__(27424);
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/regeneratorRuntime.js
var regeneratorRuntime = __webpack_require__(17061);
var regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(regeneratorRuntime);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/asyncToGenerator.js
var asyncToGenerator = __webpack_require__(17156);
var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
// EXTERNAL MODULE: ./node_modules/react/index.js
var react = __webpack_require__(67294);
// EXTERNAL MODULE: ./node_modules/antd/es/message/index.js + 4 modules
var message = __webpack_require__(2453);
// EXTERNAL MODULE: ./node_modules/antd/es/dropdown/index.js + 1 modules
var dropdown = __webpack_require__(85418);
// EXTERNAL MODULE: ./node_modules/flv.js/src/flv.js + 38 modules
var flv = __webpack_require__(99160);
// EXTERNAL MODULE: ./node_modules/hls.js/dist/hls.js
var dist_hls = __webpack_require__(67631);
var hls_default = /*#__PURE__*/__webpack_require__.n(dist_hls);
// EXTERNAL MODULE: ./src/utils/authority.ts
var authority = __webpack_require__(7);
// EXTERNAL MODULE: ./node_modules/react-copy-to-clipboard/lib/index.js
var lib = __webpack_require__(74855);
// EXTERNAL MODULE: ./src/utils/fullscreen.ts
var fullscreen = __webpack_require__(15994);
;// CONCATENATED MODULE: ./src/components/Video/Play/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var Playmodules = ({"watermark":"watermark___hNYlv","videovideo":"videovideo___ovOkV","animate__loop":"animate__loop___mvL6s","upDown":"upDown___SlgHv","container":"container___g1WYG","video-container":"video-container___XPkWR","video-controls":"video-controls___to0Zq","hide":"hide___NA3DV","video-progress":"video-progress___gqHsd","seek":"seek___iZHBm","seek-tooltip":"seek-tooltip___uWyXx","bottom-controls":"bottom-controls___uoIBm","left-controls":"left-controls___mBEx4","right-controls":"right-controls___e9L6r","rateOverlay":"rateOverlay___HHBWe","controlText":"controlText___M_BWR","volume-controls":"volume-controls___fa3mE","fullscreen-button":"fullscreen-button___ur0es","fullscreen-button1":"fullscreen-button1___rfaXm","pip-button":"pip-button___GFO8W","playback-animation":"playback-animation___ndURq","volume":"volume___OTmpP","hidden":"hidden___o7GkT"});
// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(85893);
;// CONCATENATED MODULE: ./src/components/Video/Play/index.jsx
function formatTime(timeInSeconds) {
if (isNaN(timeInSeconds)) {
return {
minutes: '00',
seconds: '00'
};
}
var result = new Date(timeInSeconds * 1000).toISOString().substr(11, 8);
return {
hour: result.substr(0, 2),
minutes: result.substr(3, 2),
seconds: result.substr(6, 2)
};
}
Object.defineProperty(HTMLMediaElement.prototype, 'playing', {
get: function get() {
return !!(this.currentTime > 0 && !this.paused && !this.ended && this.readyState > 2);
}
});
function compareNumbers(a, b) {
return a - b;
}
function getTotalEffectTime(pos) {
pos.sort(compareNumbers);
var sum = 0;
for (var i = 0; i < pos.length - 1; i++) {
var v = Math.abs(pos[i + 1] - pos[i]);
if (v < 21) {
sum += v;
}
}
return sum;
}
var regex = /(android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini)/i;
//接口文档 https://www.showdoc.cc/educoder?page_id=4029884447803706
/* harmony default export */ var Play = (/*#__PURE__*/(0,react.forwardRef)(function (_ref, ref) {
var _src, _src2, _src2$split;
var allow_skip = _ref.allow_skip,
src = _ref.src,
toLog = _ref.toLog,
videoId = _ref.videoId,
logWatchHistory = _ref.logWatchHistory,
_ref$courseId = _ref.courseId,
courseId = _ref$courseId === void 0 ? null : _ref$courseId,
startTime = _ref.startTime,
_ref$handlePause = _ref.handlePause,
handlePause = _ref$handlePause === void 0 ? function () {} : _ref$handlePause,
_ref$handlePlay = _ref.handlePlay,
handlePlay = _ref$handlePlay === void 0 ? function () {} : _ref$handlePlay,
_ref$handlePlayEnded = _ref.handlePlayEnded,
handlePlayEnded = _ref$handlePlayEnded === void 0 ? function () {} : _ref$handlePlayEnded;
src = (_src = src) === null || _src === void 0 ? void 0 : _src.replace('http://', 'https://');
var suf = (_src2 = src) === null || _src2 === void 0 ? void 0 : (_src2$split = _src2.split('.')) === null || _src2$split === void 0 ? void 0 : _src2$split.pop();
var isFlv = suf === 'flv';
var el = (0,react.useRef)();
var watermarkRef = (0,react.useRef)();
var warpEl = (0,react.useRef)();
var pauseIcon = (0,react.useRef)();
var playIcon = (0,react.useRef)();
var seekEl = (0,react.useRef)();
var progressBarEl = (0,react.useRef)();
var durationEl = (0,react.useRef)();
var timeElapsedEl = (0,react.useRef)();
var seekTooltipEl = (0,react.useRef)();
var noMuteVolEl = (0,react.useRef)();
var highVolEl = (0,react.useRef)();
var lowVolEl = (0,react.useRef)();
var volumeEl = (0,react.useRef)();
var deviceMatch = navigator.userAgent.toLowerCase().match(regex);
var device = deviceMatch ? deviceMatch[0] : 'pc';
var firstOnPlayFlag = (0,react.useRef)(false);
var user = (0,authority/* userInfo */.eY)();
var totalDuration = 0;
var sumTimePlayed = 0;
var lastUpdatedTime = 0;
var logId = null;
var initLog = false;
var timeTick = 20; //记录频率 默认20s
var logCount = 1;
var isLoging = false;
var isSeeking = false;
var pos = []; //播放时间点集
(0,react.useImperativeHandle)(ref, function () {
return {
getLastUpdatedTime: function getLastUpdatedTime() {
return el.current.currentTime;
},
getDuration: function getDuration() {
return el.current.duration;
}
};
});
message/* default.config */.ZP.config({
maxCount: 1,
getContainer: function getContainer() {
return warpEl.current;
}
});
var log = (0,react.useCallback)(function (callback) {
var isEnd = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
var params = {
point: el.current.currentTime
};
if (logId) {
params['log_id'] = logId;
params['watch_duration'] = getTotalEffectTime(pos); //当前观看视频时长,拖放进度条,重复的视频片段观看时,不会把重复的时长累积进来,最大时长是视频的总时长
params['total_duration'] = sumTimePlayed; //累计观看视频时长,拖放进度条,重复的视频片段观看时,重复观看时长要累积进来
} else {
if (courseId) {
params['video_id'] = parseInt(videoId, 10);
params['course_id'] = courseId;
} else {
params['video_id'] = videoId;
}
params['duration'] = totalDuration;
params['device'] = device;
}
if (isEnd) {
params['ed'] = '1';
}
function getLogId() {
return _getLogId.apply(this, arguments);
}
function _getLogId() {
_getLogId = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
var id;
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
isLoging = true;
_context.next = 3;
return logWatchHistory(params);
case 3:
id = _context.sent;
logId = id;
isLoging = false;
if (callback) {
callback();
}
case 7:
case "end":
return _context.stop();
}
}, _callee);
}));
return _getLogId.apply(this, arguments);
}
getLogId();
}, [videoId, courseId]);
(0,react.useEffect)(function () {
var _src3;
if (el.current) {
pauseIcon.current.style.display = 'none';
playIcon.current.style.display = 'block';
}
message/* default.destroy */.ZP.destroy();
var player = null;
if (flv/* default.isSupported */.Z.isSupported && isFlv && src && ((_src3 = src) === null || _src3 === void 0 ? void 0 : _src3.indexOf('.m3u8')) < 0) {
player = flv/* default.createPlayer */.Z.createPlayer({
type: 'flv',
volume: 0.8,
cors: true,
url: src,
muted: false
});
if (el.current) {
player.attachMediaElement(el.current);
player.load();
}
} else {
el.current.setAttribute('src', src);
}
updateVolumeIcon();
return function () {
if (player) {
player.unload();
player.pause();
player.destroy();
player = null;
}
};
}, [el, isFlv, src]);
function playIconStatus() {
if (el.current.paused) {
pauseIcon.current.style.display = 'none';
playIcon.current.style.display = 'block';
} else {
pauseIcon.current.style.display = 'block';
playIcon.current.style.display = 'none';
}
}
function updateVolumeIcon() {
noMuteVolEl.current.style.display = 'none';
lowVolEl.current.style.display = 'none';
highVolEl.current.style.display = 'none';
if (el.current.muted || el.current.volume === 0) {
noMuteVolEl.current.style.display = 'block';
} else if (el.current.volume > 0 && el.current.volume <= 0.5) {
lowVolEl.current.style.display = 'block';
} else {
highVolEl.current.style.display = 'block';
}
}
(0,react.useEffect)(function () {
var playButton = document.getElementById('play');
var playbackIcons = document.querySelectorAll('.playback-icons use');
function onPlay() {
handlePlay();
if (startTime && !firstOnPlayFlag.current) {
el.current.currentTime = startTime;
}
firstOnPlayFlag.current = true;
pos.push(el.current.currentTime);
if (!initLog) {
initLog = true;
if (toLog) {
log();
}
}
}
//循环播放, 累计时长不能清空
function onEnded() {
return _onEnded.apply(this, arguments);
}
function _onEnded() {
_onEnded = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2() {
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
playIconStatus();
pos.push(el.current.currentTime);
if (toLog) {
log(function () {
logId = null;
lastUpdatedTime = 0;
initLog = false;
isLoging = false;
isSeeking = false;
pos = []; //有效时长重新累计,算新的一遍
sumTimePlayed = 0;
logCount = 1;
}, true);
}
case 3:
case "end":
return _context2.stop();
}
}, _callee2);
}));
return _onEnded.apply(this, arguments);
}
function updateProgress() {
// seekEl.current.value = Math.floor(el.current.currentTime);
// progressBarEl.current.value = Math.floor(el.current.currentTime);
seekEl.current.value = Math.round(el.current.currentTime);
progressBarEl.current.value = Math.round(el.current.currentTime);
}
function updateTimeElapsed() {
var time = formatTime(Math.round(el.current.currentTime));
timeElapsedEl.current.innerText = "".concat(time.hour > 0 ? time.hour + ':' : '').concat(time.minutes, ":").concat(time.seconds);
timeElapsedEl.current.setAttribute('datetime', "".concat(time.hour > 0 ? ' ' + time.hour + ' ' : '').concat(time.minutes, "m ").concat(time.seconds, "s"));
}
function initializeVideo() {
var videoDuration = Math.round(el.current.duration);
seekEl.current.setAttribute('max', videoDuration);
progressBarEl.current.setAttribute('max', videoDuration);
var time = formatTime(videoDuration);
durationEl.current.innerText = "".concat(time.hour > 0 ? time.hour + ':' : '').concat(time.minutes, ":").concat(time.seconds);
durationEl.current.setAttribute('datetime', "".concat(time.hour > 0 ? ' ' + time.hour + ' ' : '').concat(time.minutes, "m ").concat(time.seconds, "s"));
}
function onTimeupdate() {
var videoDuration = Math.round(el.current.duration);
seekEl.current.setAttribute('max', videoDuration);
progressBarEl.current.setAttribute('max', videoDuration);
var time = formatTime(videoDuration);
durationEl.current.innerText = "".concat(time.hour > 0 ? time.hour + ':' : '').concat(time.minutes, ":").concat(time.seconds);
durationEl.current.setAttribute('datetime', "".concat(time.hour > 0 ? ' ' + time.hour + ' ' : '').concat(time.minutes, "m ").concat(time.seconds, "s"));
updateProgress();
updateTimeElapsed();
var _watermarkRef$current = watermarkRef.current.getBoundingClientRect(),
width = _watermarkRef$current.width,
height = _watermarkRef$current.height,
x = _watermarkRef$current.x,
y = _watermarkRef$current.y;
if (x < 0 || y < 0 || !width) {
// el.current.src = '';
// el.current.pause();
// message.warning({
// content: '当前操作非法,已禁止观看视频',
// key: 'watermarkRef',
// });
return;
}
if (!isSeeking) {
var newTime = el.current.currentTime;
var timeDiff = newTime - lastUpdatedTime;
//currenttime update before Seeking & Seeked fired
if (Math.abs(timeDiff) < 10) {
sumTimePlayed += Math.abs(timeDiff);
lastUpdatedTime = newTime;
if (!isLoging) {
if (sumTimePlayed - logCount * timeTick >= 0) {
logCount++;
pos.push(lastUpdatedTime);
if (toLog) {
log();
}
}
}
} else {
lastUpdatedTime = newTime;
if (toLog) {
log();
}
}
}
}
function onSeeking() {
isSeeking = true;
}
function onSeeked() {
if (el.current.playing) {
pos.push(el.current.currentTime, lastUpdatedTime);
}
lastUpdatedTime = el.current.currentTime;
isSeeking = false;
}
function onCanPlay() {
totalDuration = el.current.duration;
if (totalDuration <= 20) {
timeTick = totalDuration / 3;
}
el.current.addEventListener('play', onPlay);
}
function onFullscreenchange(e) {
e.preventDefault();
if ((0,fullscreen/* IsFull */.vp)()) {
el.current.style.width = '100%';
el.current.style.height = '100%';
} else {
el.current.style.cssText = '';
}
}
function onPause() {
handlePause();
}
function skipAhead(event) {
if (!allow_skip) {
message/* default.warning */.ZP.warning('该视频禁止快进/后退播放');
return;
}
var skipTo = event.target.dataset.seek ? event.target.dataset.seek : event.target.value;
el.current.currentTime = skipTo;
progressBarEl.current.value = skipTo;
seekEl.current.value = skipTo;
}
function updateSeekTooltip(event) {
var skipTo = Math.round(event.offsetX / event.target.clientWidth * parseInt(event.target.getAttribute('max'), 10));
seekEl.current.setAttribute('data-seek', skipTo);
var t = formatTime(skipTo);
seekTooltipEl.current.textContent = "".concat(t.hour > 0 ? t.hour + ':' : '').concat(t.minutes, ":").concat(t.seconds);
var rect = el.current.getBoundingClientRect();
seekTooltipEl.current.style.left = "".concat(event.pageX - rect.left, "px");
}
function handleKeyDown(e) {
switch (e.code) {
case 'Space':
e.preventDefault(); //除了需求相关的按键外其余的按键需要保留默认行为所以preventDefault写在switch里面
togglePlay();
break;
case 'ArrowRight':
e.preventDefault();
if (!allow_skip) {
message/* default.warning */.ZP.warning('该视频禁止快进/后退播放');
break;
}
if (el.current.currentTime >= el.current.duration) {
break;
}
el.current.currentTime = parseInt(el.current.currentTime) + 5;
updateProgress();
break;
case 'ArrowLeft':
e.preventDefault();
if (!allow_skip) {
message/* default.warning */.ZP.warning('该视频禁止快进/后退播放');
break;
}
if (el.current.currentTime === 0) {
break;
}
el.current.currentTime = parseInt(el.current.currentTime) - 5;
updateProgress();
break;
case 'ArrowUp':
e.preventDefault();
if (el.current.volume < 1) {
el.current.volume = (parseInt(el.current.volume * 10) + 1) / 10;
}
break;
case 'ArrowDown':
e.preventDefault();
if (el.current.volume > 0) {
el.current.volume = (parseInt(el.current.volume * 10) - 1) / 10;
}
break;
}
}
warpEl.current.addEventListener((0,fullscreen/* fullscreenChange */.gH)(), onFullscreenchange);
el.current.addEventListener('canplay', onCanPlay);
el.current.addEventListener('ended', onEnded);
el.current.addEventListener('seeking', onSeeking);
el.current.addEventListener('seeked', onSeeked);
el.current.addEventListener('loadedmetadata', initializeVideo);
seekEl.current.addEventListener('mousemove', updateSeekTooltip);
seekEl.current.addEventListener('input', skipAhead);
el.current.addEventListener('timeupdate', onTimeupdate);
el.current.addEventListener('pause', onPause);
el.current.addEventListener('volumechange', updateVolumeIcon);
document.addEventListener('keydown', handleKeyDown);
return function () {
var _el$current, _el$current2, _el$current3, _el$current4, _el$current5, _seekEl$current, _seekEl$current2, _el$current6, _el$current7, _el$current8, _el$current9, _el$current10;
(_el$current = el.current) === null || _el$current === void 0 ? void 0 : _el$current.removeEventListener('canplay', onCanPlay);
(_el$current2 = el.current) === null || _el$current2 === void 0 ? void 0 : _el$current2.removeEventListener('play', onPlay);
(_el$current3 = el.current) === null || _el$current3 === void 0 ? void 0 : _el$current3.removeEventListener('ended', onEnded);
(_el$current4 = el.current) === null || _el$current4 === void 0 ? void 0 : _el$current4.removeEventListener('seeking', onSeeking);
(_el$current5 = el.current) === null || _el$current5 === void 0 ? void 0 : _el$current5.removeEventListener('seeked', onSeeked);
(_seekEl$current = seekEl.current) === null || _seekEl$current === void 0 ? void 0 : _seekEl$current.removeEventListener('mousemove', updateSeekTooltip);
(_seekEl$current2 = seekEl.current) === null || _seekEl$current2 === void 0 ? void 0 : _seekEl$current2.removeEventListener('input', skipAhead);
(_el$current6 = el.current) === null || _el$current6 === void 0 ? void 0 : _el$current6.removeEventListener('timeupdate', onTimeupdate);
(_el$current7 = el.current) === null || _el$current7 === void 0 ? void 0 : _el$current7.removeEventListener('pause', onPause);
(_el$current8 = el.current) === null || _el$current8 === void 0 ? void 0 : _el$current8.removeEventListener('loadedmetadata', initializeVideo);
(_el$current9 = el.current) === null || _el$current9 === void 0 ? void 0 : _el$current9.removeEventListener('volumechange', updateVolumeIcon);
document.removeEventListener('keydown', handleKeyDown);
if ((_el$current10 = el.current) !== null && _el$current10 !== void 0 && _el$current10.playing) {
pos.push(lastUpdatedTime, el.current.currentTime);
if (toLog) {
log();
}
}
};
}, [el, src]);
(0,react.useEffect)(function () {
var _src4;
el.current.onended = function () {
handlePlayEnded(el);
};
el.current.oncontextmenu = function () {
return false;
};
if (((_src4 = src) === null || _src4 === void 0 ? void 0 : _src4.indexOf('.m3u8')) > -1) {
if (el.current.canPlayType('application/vnd.apple.mpegurl')) {
el.current.src = src;
} else if (hls_default().isSupported()) {
var hls = new (hls_default())();
hls.loadSource(src);
hls.attachMedia(el.current);
}
}
}, [src]);
var _useState = (0,react.useState)(1.0),
_useState2 = slicedToArray_default()(_useState, 2),
videoSpeed = _useState2[0],
setVideoSpeed = _useState2[1];
var togglePlay = function togglePlay() {
if (el.current.paused || el.current.ended) {
el.current.play();
} else {
el.current.pause();
}
playIconStatus();
};
function toggleMute() {
el.current.muted = !el.current.muted;
if (el.current.muted) {
volumeEl.current.setAttribute('data-volume', volume.value);
volumeEl.current.value = 0;
} else {
volumeEl.current.value = volumeEl.current.dataset.volume;
}
}
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
style: {
position: 'relative'
},
ref: warpEl,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
ref: watermarkRef,
className: "".concat(Playmodules.watermark, " animated_alternate animate__animated_10s animate__infinite animate__stepstart ").concat(Playmodules.animate__loop),
children: user ? user.login : ' '
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: Playmodules.container,
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Playmodules["video-container"],
id: "video-container",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: Playmodules["playback-animation"],
id: "playback-animation",
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("svg", {
className: Playmodules["playback-icons"],
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("use", {
className: "hidden",
href: "#play-icon"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("use", {
href: "#pause"
})]
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("video", {
className: Playmodules.video,
id: "video",
preload: "auto",
disablePictureInPicture: true,
ref: el,
autoPlay: false
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "".concat(Playmodules["video-controls"], " "),
id: "video-controls",
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Playmodules["bottom-controls"],
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Playmodules["left-controls"],
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("button", {
"data-title": "\u64AD\u653E/\u6682\u505C",
id: "play",
onClick: togglePlay,
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("svg", {
className: Playmodules["playback-icons"],
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("use", {
ref: playIcon,
href: "#play-icon"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("use", {
ref: pauseIcon,
style: {
display: 'none'
},
href: "#pause"
})]
})
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Playmodules.time,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("time", {
id: "time-elapsed",
ref: timeElapsedEl,
children: "00:00"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: " / "
}), /*#__PURE__*/(0,jsx_runtime.jsx)("time", {
id: "duration",
ref: durationEl,
children: "00:00"
})]
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Playmodules["right-controls"],
children: [allow_skip && /*#__PURE__*/(0,jsx_runtime.jsx)(dropdown/* default */.Z, {
placement: "top",
overlayClassName: Playmodules.rateOverlay,
getPopupContainer: function getPopupContainer(trigger) {
return trigger.parentNode;
},
menu: {
items: [{
key: '1',
label: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
onClick: function onClick() {
setVideoSpeed(1);
el.current.playbackRate = 1;
},
children: "1.0x"
})
}, {
key: '2',
label: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
onClick: function onClick() {
setVideoSpeed(1.5);
el.current.playbackRate = 1.5;
},
children: "1.5x"
})
}, {
key: '3',
label: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
onClick: function onClick() {
setVideoSpeed(2);
el.current.playbackRate = 2;
},
children: "2.0x"
})
}]
},
children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "".concat(Playmodules.controlText, " mr5"),
children: "\u500D\u901F"
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(lib.CopyToClipboard, {
text: src,
onCopy: function onCopy() {
return message/* default.success */.ZP.success('复制成功');
},
children: /*#__PURE__*/(0,jsx_runtime.jsx)("button", {
"data-title": '复制链接',
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "icon-lianjie2 iconfont",
style: {
fontSize: '12px',
color: 'white'
}
})
})
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Playmodules["volume-controls"],
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("button", {
"data-title": "\u5F00\u542F/\u5173\u95ED\u58F0\u97F3",
className: Playmodules["volume-button"],
id: "volume-button",
onClick: toggleMute,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
ref: noMuteVolEl,
className: "icon-a-bianzu8 iconfont",
style: {
fontSize: '14px',
color: 'white'
}
}), /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
ref: lowVolEl,
className: "icon-shengyinkaibeifen iconfont",
style: {
fontSize: '14px',
color: 'white'
}
}), /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
ref: highVolEl,
className: "icon-shengyinkai iconfont",
style: {
fontSize: '14px',
color: 'white'
}
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("input", {
className: Playmodules.volume,
id: "volume",
value: "1",
"data-mute": "0.5",
type: "range",
max: "1",
min: "0",
step: "0.01",
ref: volumeEl,
style: {
display: 'none'
},
onClick: updateVolumeIcon
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("button", {
"data-title": "\u5168\u5C4F/\u9000\u51FA\u5168\u5C4F",
className: Playmodules["fullscreen-button"],
onClick: function onClick() {
if ((0,fullscreen/* IsFull */.vp)()) {
(0,fullscreen/* exitFull */.BU)();
} else {
(0,fullscreen/* requestFullScreen */.Dj)(warpEl.current);
}
},
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "icon-fangda1 iconfont",
style: {
fontSize: '12px',
color: 'white'
}
})
})]
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Playmodules["video-progress"],
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("progress", {
ref: progressBarEl,
value: "0",
min: "0"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("input", {
className: Playmodules.seek,
ref: seekEl,
value: "0",
min: "0",
type: "range",
step: "1"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: Playmodules["seek-tooltip"],
ref: seekTooltipEl,
id: "seek-tooltip",
children: "00:00"
})]
})]
})]
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("svg", {
style: {
display: 'none'
},
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("defs", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("symbol", {
id: "pause",
viewBox: "0 0 24 24",
children: /*#__PURE__*/(0,jsx_runtime.jsx)("path", {
d: "M14.016 5.016h3.984v13.969h-3.984v-13.969zM6 18.984v-13.969h3.984v13.969h-3.984z"
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("symbol", {
id: "play-icon",
viewBox: "0 0 24 24",
children: /*#__PURE__*/(0,jsx_runtime.jsx)("path", {
d: "M8.016 5.016l10.969 6.984-10.969 6.984v-13.969z"
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("symbol", {
id: "volume-high",
viewBox: "0 0 24 24",
children: /*#__PURE__*/(0,jsx_runtime.jsx)("path", {
d: "M14.016 3.234q3.047 0.656 5.016 3.117t1.969 5.648-1.969 5.648-5.016 3.117v-2.063q2.203-0.656 3.586-2.484t1.383-4.219-1.383-4.219-3.586-2.484v-2.063zM16.5 12q0 2.813-2.484 4.031v-8.063q1.031 0.516 1.758 1.688t0.727 2.344zM3 9h3.984l5.016-5.016v16.031l-5.016-5.016h-3.984v-6z"
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("symbol", {
id: "volume-low",
viewBox: "0 0 24 24",
children: /*#__PURE__*/(0,jsx_runtime.jsx)("path", {
d: "M5.016 9h3.984l5.016-5.016v16.031l-5.016-5.016h-3.984v-6zM18.516 12q0 2.766-2.531 4.031v-8.063q1.031 0.516 1.781 1.711t0.75 2.32z"
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("symbol", {
id: "volume-mute",
viewBox: "0 0 24 24",
children: /*#__PURE__*/(0,jsx_runtime.jsx)("path", {
d: "M12 3.984v4.219l-2.109-2.109zM4.266 3l16.734 16.734-1.266 1.266-2.063-2.063q-1.547 1.313-3.656 1.828v-2.063q1.172-0.328 2.25-1.172l-4.266-4.266v6.75l-5.016-5.016h-3.984v-6h4.734l-4.734-4.734zM18.984 12q0-2.391-1.383-4.219t-3.586-2.484v-2.063q3.047 0.656 5.016 3.117t1.969 5.648q0 2.203-1.031 4.172l-1.5-1.547q0.516-1.266 0.516-2.625zM16.5 12q0 0.422-0.047 0.609l-2.438-2.438v-2.203q1.031 0.516 1.758 1.688t0.727 2.344z"
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("symbol", {
id: "fullscreen",
viewBox: "0 0 24 24",
children: /*#__PURE__*/(0,jsx_runtime.jsx)("path", {
d: "M14.016 5.016h4.969v4.969h-1.969v-3h-3v-1.969zM17.016 17.016v-3h1.969v4.969h-4.969v-1.969h3zM5.016 9.984v-4.969h4.969v1.969h-3v3h-1.969zM6.984 14.016v3h3v1.969h-4.969v-4.969h1.969z"
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("symbol", {
id: "fullscreen-exit",
viewBox: "0 0 24 24",
children: /*#__PURE__*/(0,jsx_runtime.jsx)("path", {
d: "M15.984 8.016h3v1.969h-4.969v-4.969h1.969v3zM14.016 18.984v-4.969h4.969v1.969h-3v3h-1.969zM8.016 8.016v-3h1.969v4.969h-4.969v-1.969h3zM5.016 15.984v-1.969h4.969v4.969h-1.969v-3h-3z"
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("symbol", {
id: "pip",
viewBox: "0 0 24 24",
children: /*#__PURE__*/(0,jsx_runtime.jsx)("path", {
d: "M21 19.031v-14.063h-18v14.063h18zM23.016 18.984q0 0.797-0.609 1.406t-1.406 0.609h-18q-0.797 0-1.406-0.609t-0.609-1.406v-14.016q0-0.797 0.609-1.383t1.406-0.586h18q0.797 0 1.406 0.586t0.609 1.383v14.016zM18.984 11.016v6h-7.969v-6h7.969z"
})
})]
})
})]
});
}));
/***/ }),
/***/ 84940:
/*!*****************************************************************!*\
!*** ./src/pages/Classrooms/Lists/Video/index.tsx + 13 modules ***!
\*****************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
"default": function() { return /* binding */ Video; }
});
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/regeneratorRuntime.js
var regeneratorRuntime = __webpack_require__(17061);
var regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(regeneratorRuntime);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/asyncToGenerator.js
var asyncToGenerator = __webpack_require__(17156);
var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/objectSpread2.js
var objectSpread2 = __webpack_require__(42122);
var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/slicedToArray.js
var slicedToArray = __webpack_require__(27424);
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/objectWithoutProperties.js
var objectWithoutProperties = __webpack_require__(70215);
var objectWithoutProperties_default = /*#__PURE__*/__webpack_require__.n(objectWithoutProperties);
// EXTERNAL MODULE: ./node_modules/react/index.js
var react = __webpack_require__(67294);
// EXTERNAL MODULE: ./src/.umi-production/exports.ts + 8 modules
var _umi_production_exports = __webpack_require__(89214);
// EXTERNAL MODULE: ./node_modules/antd/es/menu/index.js + 11 modules
var menu = __webpack_require__(68508);
// EXTERNAL MODULE: ./node_modules/antd/es/layout/index.js
var layout = __webpack_require__(97183);
// EXTERNAL MODULE: ./node_modules/antd/es/modal/index.js + 39 modules
var modal = __webpack_require__(72423);
// EXTERNAL MODULE: ./node_modules/antd/es/row/index.js
var row = __webpack_require__(71230);
// EXTERNAL MODULE: ./node_modules/antd/es/tooltip/index.js + 3 modules
var tooltip = __webpack_require__(83062);
// EXTERNAL MODULE: ./node_modules/antd/es/spin/index.js + 1 modules
var spin = __webpack_require__(57953);
// EXTERNAL MODULE: ./node_modules/antd/es/pagination/index.js + 11 modules
var pagination = __webpack_require__(83338);
// EXTERNAL MODULE: ./src/utils/authority.ts
var authority = __webpack_require__(7);
// EXTERNAL MODULE: ./src/components/NoData/index.tsx
var NoData = __webpack_require__(82982);
// EXTERNAL MODULE: ./node_modules/antd/es/message/index.js + 4 modules
var message = __webpack_require__(2453);
// EXTERNAL MODULE: ./src/utils/fetch.ts
var fetch = __webpack_require__(84519);
// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(85893);
;// 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.success */.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/helpers/defineProperty.js
var defineProperty = __webpack_require__(38416);
var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty);
// EXTERNAL MODULE: ./node_modules/antd/es/tree-select/index.js + 67 modules
var tree_select = __webpack_require__(42167);
// EXTERNAL MODULE: ./node_modules/antd/es/form/index.js + 17 modules
var es_form = __webpack_require__(25159);
// EXTERNAL MODULE: ./node_modules/antd/es/button/index.js
var es_button = __webpack_require__(71577);
// EXTERNAL MODULE: ./node_modules/antd/es/input/index.js + 5 modules
var input = __webpack_require__(79531);
// EXTERNAL MODULE: ./node_modules/antd/es/upload/index.js + 24 modules
var upload = __webpack_require__(31365);
// EXTERNAL MODULE: ./node_modules/@ant-design/icons/es/icons/UploadOutlined.js + 1 modules
var UploadOutlined = __webpack_require__(88484);
// EXTERNAL MODULE: ./node_modules/@ant-design/icons/es/icons/CloseCircleFilled.js + 1 modules
var CloseCircleFilled = __webpack_require__(4340);
// EXTERNAL MODULE: ./src/utils/env.ts + 1 modules
var env = __webpack_require__(59758);
;// 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"});
// EXTERNAL MODULE: ./src/utils/util.tsx
var util = __webpack_require__(29427);
;// 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$action9, _classroomList$action10, _ref3;
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.useForm */.Z.useForm(),
_Form$useForm2 = slicedToArray_default()(_Form$useForm, 1),
form = _Form$useForm2[0];
var _useState = (0,react.useState)(''),
_useState2 = slicedToArray_default()(_useState, 2),
attachment_id = _useState2[0],
setImageUrl = _useState2[1];
var _useState3 = (0,react.useState)(false),
_useState4 = slicedToArray_default()(_useState3, 2),
imgLoading = _useState4[0],
setImgLoading = _useState4[1];
(0,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, _classroomList$action6, _classroomList$action7, _classroomList$action8;
form.setFieldsValue({
name: (_classroomList$action3 = classroomList.actionTabs) === null || _classroomList$action3 === void 0 ? void 0 : (_classroomList$action4 = _classroomList$action3.data) === null || _classroomList$action4 === void 0 ? void 0 : _classroomList$action4.title,
link: (_classroomList$action5 = classroomList.actionTabs) === null || _classroomList$action5 === void 0 ? void 0 : (_classroomList$action6 = _classroomList$action5.data) === null || _classroomList$action6 === void 0 ? void 0 : _classroomList$action6.link
});
setImageUrl((_classroomList$action7 = classroomList.actionTabs) === null || _classroomList$action7 === void 0 ? void 0 : (_classroomList$action8 = _classroomList$action7.data) === null || _classroomList$action8 === void 0 ? void 0 : _classroomList$action8.attachment_id);
}
}, [(_classroomList$action9 = classroomList.actionTabs) === null || _classroomList$action9 === void 0 ? void 0 : _classroomList$action9.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.API_SERVER */.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, _info$file$response;
setImgLoading(false);
setImageUrl(info === null || info === void 0 ? void 0 : (_info$file = info.file) === null || _info$file === void 0 ? void 0 : (_info$file$response = _info$file.response) === null || _info$file$response === void 0 ? void 0 : _info$file$response.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$action10 = classroomList.actionTabs) !== null && _classroomList$action10 !== void 0 && _classroomList$action10.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$action11;
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$action11 = classroomList.actionTabs) !== null && _classroomList$action11 !== void 0 && _classroomList$action11.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.success */.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: (_ref3 = {}, defineProperty_default()(_ref3, 'name', ''), defineProperty_default()(_ref3, 'link', ''), _ref3),
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default.Item */.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.Item */.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.Item */.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.API_SERVER */.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 _ref3;
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.useForm */.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.success */.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: (_ref3 = {}, defineProperty_default()(_ref3, 'name', actionTabs.data.title), defineProperty_default()(_ref3, 'link', actionTabs.data.link), _ref3),
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default.Item */.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.Item */.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/es/radio/index.js + 5 modules
var es_radio = __webpack_require__(78045);
// EXTERNAL MODULE: ./node_modules/antd/es/table/index.js + 90 modules
var table = __webpack_require__(63889);
// EXTERNAL MODULE: ./node_modules/antd/es/checkbox/index.js + 3 modules
var es_checkbox = __webpack_require__(84567);
// EXTERNAL MODULE: ./node_modules/antd/es/progress/index.js + 11 modules
var progress = __webpack_require__(69814);
// EXTERNAL MODULE: ./src/components/CoverUpload/index.tsx + 1 modules
var CoverUpload = __webpack_require__(93899);
// EXTERNAL MODULE: ./src/utils/aliyunUpload.ts
var aliyunUpload = __webpack_require__(77320);
// EXTERNAL MODULE: ./src/service/user.ts
var service_user = __webpack_require__(58839);
;// 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.useForm */.Z.useForm(),
_Form$useForm2 = slicedToArray_default()(_Form$useForm, 1),
form = _Form$useForm2[0];
var _useState = (0,react.useState)(false),
_useState2 = slicedToArray_default()(_useState, 2),
imgLoading = _useState2[0],
setImgLoading = _useState2[1];
var _useState3 = (0,react.useState)([]),
_useState4 = slicedToArray_default()(_useState3, 2),
tabsList = _useState4[0],
setTabsList = _useState4[1];
var _useState5 = (0,react.useState)(),
_useState6 = slicedToArray_default()(_useState5, 2),
video = _useState6[0],
setVideo = _useState6[1];
var files = (0,react.useRef)();
var uploader = (0,react.useRef)();
var fileTypes = ["avi", "flv", "f4v", "m4v", "mov", "mp4", "rmvb", "swf", "webm", "wmv"];
var uploadNameSizeSeperator = '  ';
var _useState7 = (0,react.useState)(null),
_useState8 = slicedToArray_default()(_useState7, 2),
videoId = _useState8[0],
setvideoId = _useState8[1];
var _useState9 = (0,react.useState)(null),
_useState10 = slicedToArray_default()(_useState9, 2),
nowVideoId = _useState10[0],
setNowVideoId = _useState10[1];
(0,react.useEffect)(function () {
var _actionTabs$data, _actionTabs$data2;
if (classroomList.actionTabs.key === '编辑视频') form.setFieldsValue({
title: actionTabs.data.title,
attachment_id: actionTabs === null || actionTabs === void 0 ? void 0 : (_actionTabs$data = actionTabs.data) === null || _actionTabs$data === void 0 ? void 0 : _actionTabs$data.attachment_id,
allow_skip: actionTabs === null || actionTabs === void 0 ? void 0 : (_actionTabs$data2 = actionTabs.data) === null || _actionTabs$data2 === void 0 ? void 0 : _actionTabs$data2.allow_skip
});
!!asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
var _actionTabs$data3;
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
if ((_actionTabs$data3 = actionTabs.data) !== null && _actionTabs$data3 !== void 0 && _actionTabs$data3.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$data4;
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$data4 = actionTabs.data) === null || _actionTabs$data4 === void 0 ? void 0 : _actionTabs$data4.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.error */.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.error */.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.info */.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;
}()
});
};
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: 640,
destroyOnClose: true,
confirmLoading: imgLoading,
onOk: /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee5() {
var _actionTabs$data6;
var formValue, body, _user$userInfo2, _actionTabs$data5, 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.warning */.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);
if (!video) {
_context5.next = 15;
break;
}
_context5.next = 13;
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.coursesId,
category_id: '',
course_video_id: (_actionTabs$data5 = actionTabs.data) === null || _actionTabs$data5 === void 0 ? void 0 : _actionTabs$data5.course_video_id
}]
});
case 13:
_context5.next = 16;
break;
case 15:
tabsList.forEach(function (item) {
if (item.checked) body["set_id"] = item.id;
});
case 16:
_context5.next = 18;
return (0,fetch/* default */.ZP)("/api/course_videos/".concat(actionTabs === null || actionTabs === void 0 ? void 0 : (_actionTabs$data6 = actionTabs.data) === null || _actionTabs$data6 === void 0 ? void 0 : _actionTabs$data6.course_video_id, "/change_cover.json"), {
method: 'put',
body: body
});
case 18:
res = _context5.sent;
if (res) {
message/* default.success */.ZP.success('修改成功');
dispatch({
type: 'classroomList/setActionTabs',
payload: {}
});
dispatch({
type: 'classroomList/setUpdateData',
payload: Math.random()
});
}
setVideo(void 0);
case 21:
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 ? void 0 : (_uploader$current$del = _uploader$current.deleteFile) === null || _uploader$current$del === void 0 ? 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.Item */.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.Item */.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.Item */.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.Item */.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.Item */.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.Item */.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)"
})]
})]
})
});
};
/* 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.useForm */.Z.useForm(),
_Form$useForm2 = slicedToArray_default()(_Form$useForm, 1),
form = _Form$useForm2[0];
(0,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.success */.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 ? void 0 : (_actionTabs$data = actionTabs.data) === null || _actionTabs$data === void 0 ? void 0 : _actionTabs$data.title,
link: actionTabs === null || actionTabs === void 0 ? 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.Item */.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.Item */.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__(15582);
;// 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 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.useForm */.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: "\u79FB\u52A8\u5230",
open: classroomList.actionTabs.key === '移动目录' ? true : false,
okText: "\u786E\u5B9A",
cancelText: "\u53D6\u6D88",
width: 400,
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/courses/".concat(params.id, "/move_to_category.json"), {
method: 'post',
body: {
new_category_id: formValue.new_category_id,
video_ids: actionTabs.data.id
}
});
case 8:
res = _context.sent;
if (res.status === 0) {
message/* default.success */.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 10:
case "end":
return _context.stop();
}
}, _callee);
})),
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,
},
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default.Item */.Z.Item, {
label: "",
name: "new_category_id",
rules: [{
required: true,
message: '请输入!'
}],
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default.Group */.ZP.Group, {
children: detailLeftMenus === null || detailLeftMenus === void 0 ? void 0 : detailLeftMenus.course_modules.filter(function (v) {
return v.type === "video";
})[0]['second_category'].filter(function (r) {
return r.category_name !== '未分配目录';
}).map(function (v, k) {
return /*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default */.ZP, {
style: {
display: 'block'
},
value: v.category_id,
children: v.category_name
});
})
})
})
})
});
};
/* 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 _ref3;
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.useForm */.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.success */.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: (_ref3 = {}, defineProperty_default()(_ref3, 'name', ''), defineProperty_default()(_ref3, 'link', ''), _ref3),
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default.Item */.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/es/card/index.js + 4 modules
var card = __webpack_require__(4393);
;// CONCATENATED MODULE: ./src/assets/images/video/default.png
var default_namespaceObject = "data:image/png;base64,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";
// EXTERNAL MODULE: ./src/assets/images/video/play.png
var play = __webpack_require__(36193);
// EXTERNAL MODULE: ./node_modules/react-copy-to-clipboard/lib/index.js
var lib = __webpack_require__(74855);
;// 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: ./src/components/Video/Modal/index.tsx + 1 modules
var Modal = __webpack_require__(41262);
// EXTERNAL MODULE: ./node_modules/js-base64/base64.js
var base64 = __webpack_require__(19575);
;// 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, _detailLeftMenus$cour2, _classroomList$detail, _classroomList$detail2;
var data = _ref.data,
isReview = _ref.isReview,
dispatch = _ref.dispatch,
userid = _ref.userid,
classroomList = _ref.classroomList,
_ref$onDelete = _ref.onDelete,
onDelete = _ref$onDelete === void 0 ? function () {} : _ref$onDelete,
_ref$logWatchHistory = _ref.logWatchHistory,
logWatchHistory = _ref$logWatchHistory === void 0 ? function () {} : _ref$logWatchHistory;
var _useState = (0,react.useState)(),
_useState2 = slicedToArray_default()(_useState, 2),
visible = _useState2[0],
setVisible = _useState2[1];
var _useState3 = (0,react.useState)({}),
_useState4 = slicedToArray_default()(_useState3, 2),
currentVideo = _useState4[0],
setCurrentVideo = _useState4[1];
var _useState5 = (0,react.useState)(objectSpread2_default()({}, (0,_umi_production_exports.useParams)())),
_useState6 = slicedToArray_default()(_useState5, 2),
params = _useState6[0],
setParams = _useState6[1];
var detailLeftMenus = classroomList.detailLeftMenus;
var SecondCategory = detailLeftMenus === null || detailLeftMenus === void 0 ? void 0 : (_detailLeftMenus$cour = detailLeftMenus.course_modules) === null || _detailLeftMenus$cour === void 0 ? void 0 : (_detailLeftMenus$cour2 = _detailLeftMenus$cour.filter(function (item) {
return item.type === "video";
})[0].second_category) === null || _detailLeftMenus$cour2 === void 0 ? void 0 : _detailLeftMenus$cour2.length;
params['id'] = params['coursesId'];
if (params['categoryId'] != 0) params['category_id'] = params['categoryId'];
var handleVideoClick = function handleVideoClick(item) {
if (item.link) {
return;
}
setVisible(true);
setCurrentVideo({
videoId: item.id,
course_id: params['coursesId'],
file_url: item.play_url || item.file_url,
copyUrl: getCopyText(item.play_url || item.file_url, item.cover_url),
allow_skip: item.allow_skip,
logWatchHistory: logWatchHistory
});
};
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.jsxs)(jsx_runtime.Fragment, {
children: [classroomList === null || classroomList === void 0 ? void 0 : (_classroomList$detail = classroomList.detailVideoList) === null || _classroomList$detail === void 0 ? void 0 : (_classroomList$detail2 = _classroomList$detail.videos) === null || _classroomList$detail2 === void 0 ? void 0 : _classroomList$detail2.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.API_SERVER */.Z.API_SERVER + item.cover_url : default_namespaceObject;
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 && handleVideoClick(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 _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/watch_video_histories/click_link_histories.json", {
method: 'post',
body: {
video_link_id: item.id,
device: 'pc'
}
});
case 2:
res = _context.sent;
case 3:
case "end":
return _context.stop();
}
}, _callee);
})),
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.success */.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);
}), /*#__PURE__*/(0,jsx_runtime.jsx)(Modal/* VideoModal */.K, objectSpread2_default()(objectSpread2_default()({}, currentVideo), {}, {
visible: visible,
width: 800,
onClose: function onClose() {
setVisible(false);
setCurrentVideo({});
}
}))]
});
};
/* harmony default export */ var Video_Items = ((0,_umi_production_exports.connect)(function (_ref3) {
var classroomList = _ref3.classroomList;
return {
classroomList: classroomList
};
})(Items));
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/toConsumableArray.js
var toConsumableArray = __webpack_require__(861);
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.useState)([]),
_useState2 = slicedToArray_default()(_useState, 2),
data = _useState2[0],
setData = _useState2[1];
var dragged = (0,react.useRef)(null);
var target = (0,react.useRef)(null);
(0,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 元素被拖动到一个有效目标时,以下数据依次触发 dragenterdragoverdrop
* */
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 元素被拖动到一个有效目标时,以下数据依次触发 dragenterdragoverdrop
* */
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) || default_namespaceObject
}), /*#__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.info */.ZP.info('请输入大于0的正整数');
return _context2.abrupt("return");
case 6:
if (!(parseInt(e.target.value) > count)) {
_context2.next = 9;
break;
}
message/* default.info */.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.SubMenu */.Z.SubMenu;
var Content = layout/* default.Content */.Z.Content,
Sider = layout/* default.Sider */.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.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.useState)({}),
_useState4 = slicedToArray_default()(_useState3, 2),
selectArrs = _useState4[0],
setSelectArrs = _useState4[1];
params['id'] = param['coursesId'];
//排序or正常显示
var _useState5 = (0,react.useState)(true),
_useState6 = slicedToArray_default()(_useState5, 2),
isSort = _useState6[0],
setIsSort = _useState6[1];
(0,react.useEffect)(function () {
if (updateData) {
dispatch({
type: 'classroomList/getVideoList',
payload: objectSpread2_default()({}, params)
});
}
}, [updateData]);
(0,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.confirm */.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 ? 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));
/***/ }),
/***/ 15582:
/*!*****************************************************************************!*\
!*** ./src/pages/Classrooms/Lists/components/TabMenu/index.tsx + 1 modules ***!
\*****************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
"Z": function() { return /* binding */ components_TabMenu; }
});
// EXTERNAL MODULE: ./node_modules/react/index.js
var react = __webpack_require__(67294);
// EXTERNAL MODULE: ./node_modules/antd/es/row/index.js
var row = __webpack_require__(71230);
// EXTERNAL MODULE: ./node_modules/antd/es/col/index.js
var col = __webpack_require__(15746);
// EXTERNAL MODULE: ./node_modules/antd/es/menu/index.js + 11 modules
var menu = __webpack_require__(68508);
// EXTERNAL MODULE: ./node_modules/antd/es/dropdown/index.js + 1 modules
var dropdown = __webpack_require__(85418);
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/components/TabMenu/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var TabMenumodules = ({"tabMenuContainer":"tabMenuContainer___uf5IP","control":"control___GheLs","iconH":"iconH___Wzw_r","selectBtn":"selectBtn___mfEnI"});
// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(85893);
;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/components/TabMenu/index.tsx
var TabMenu = function TabMenu(_ref) {
var isLoading = _ref.isLoading,
addText = _ref.addText,
tabDataSource = _ref.tabDataSource,
isAdmin = _ref.isAdmin,
defaultSelectedKeys = _ref.defaultSelectedKeys,
onTabMenuClick = _ref.onTabMenuClick,
getDropdownMenu = _ref.getDropdownMenu,
showControlButton = _ref.showControlButton,
buttonText = _ref.buttonText,
_ref$buttonIcon = _ref.buttonIcon,
buttonIcon = _ref$buttonIcon === void 0 ? 'icon-tianjiadaohang' : _ref$buttonIcon,
extraNode = _ref.extraNode,
_ref$onButtonClick = _ref.onButtonClick,
onButtonClick = _ref$onButtonClick === void 0 ? function () {} : _ref$onButtonClick;
return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: TabMenumodules.tabMenuContainer,
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
flex: "1",
children: /*#__PURE__*/(0,jsx_runtime.jsx)(menu/* default */.Z, {
onSelect: function onSelect(v) {
return !isLoading ? onTabMenuClick(v) : {};
},
mode: "horizontal",
selectedKeys: defaultSelectedKeys,
children: tabDataSource.map(function (item) {
return /*#__PURE__*/(0,jsx_runtime.jsxs)(menu/* default.Item */.Z.Item, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "c-grey-666",
children: item.name
}), item.total !== undefined && isAdmin && /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "c-grey-999 ml20",
children: item.total || 0
})]
}, typeof item.index === 'number' ? item.index : item.id);
})
})
}), isAdmin && /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
className: "mr20",
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: TabMenumodules.control,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: TabMenumodules.extra,
children: extraNode
}), showControlButton && /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
onClick: onButtonClick,
style: {
cursor: 'pointer'
},
className: TabMenumodules.selectBtn,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont ".concat(buttonIcon)
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: buttonText
})]
}), !!getDropdownMenu && /*#__PURE__*/(0,jsx_runtime.jsx)(dropdown/* default */.Z, {
className: "ml10",
dropdownRender: getDropdownMenu,
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
className: TabMenumodules.selectBtn,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-tianjiadaohang"
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: addText ? addText : '创建试卷'
})]
})
})]
})
})]
})
});
};
/* harmony default export */ var components_TabMenu = (TabMenu);
/***/ }),
/***/ 77320:
/*!***********************************!*\
!*** ./src/utils/aliyunUpload.ts ***!
\***********************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
/* 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 */ 84519);
/* harmony import */ var aliyun_vod_upload_ll__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! aliyun-vod-upload-ll */ 69548);
/* 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);
// }
}
/***/ }),
/***/ 15994:
/*!*********************************!*\
!*** ./src/utils/fullscreen.ts ***!
\*********************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "BU": function() { return /* binding */ exitFull; },
/* harmony export */ "Dj": function() { return /* binding */ requestFullScreen; },
/* harmony export */ "gH": function() { return /* binding */ fullscreenChange; },
/* harmony export */ "vp": function() { return /* binding */ IsFull; }
/* harmony export */ });
function requestFullScreen(element) {
try {
if (element.mozRequestFullScreen) {
element.mozRequestFullScreen();
} else if (element.webkitRequestFullScreen) {
element.webkitRequestFullScreen();
}
} catch (e) {
console.log(e, ":e");
}
}
function exitFull() {
if (window.top.document.webkitExitFullscreen) {
window.top.document.webkitExitFullscreen();
} else if (document.exitFullscreen) {
window.top.document.exitFullscreen();
} else if (document.msExitFullscreen) {
window.top.document.msExitFullscreen();
} else if (document.mozCancelFullScreen) {
window.top.document.mozCancelFullScreen();
}
}
// esliint disabled
var fullscreenChange = function fullscreenChange() {
//['fullscreenchange','msfullscreenchange','webkitfullscreenchange', 'mozfullscreenchange']
if (document.webkitExitFullscreen) {
// document.webkitExitFullscreen()
return 'webkitfullscreenchange';
} else if (document.exitFullscreen) {
// document.exitFullscreen()
return 'fullscreenchange';
} else if (document.msExitFullscreen) {
// document.msExitFullscreen()
return 'msfullscreenchange';
} else if (document.mozCancelFullScreen) {
// document.mozCancelFullScreen()
return 'mozfullscreenchange';
}
};
//判断是否全屏
function IsFull() {
var fullscreenElement = window.top.document.fullscreenElement || window.top.document.mozFullscreenElement || window.top.document.webkitFullscreenElement;
var fullscreenEnabled = document.fullscreenEnabled || document.mozFullscreenEnabled || document.webkitFullscreenEnabled;
console.log("fullscreenElement", fullscreenElement);
if (fullscreenElement == null) {
return false;
} else {
return true;
}
}
// document.addEventListener("mozfullscreenchange", function (event) {
// console.log("mozfullscreenchange ", event);
// if (IsFull()) {
// console.log('进入全屏')
// $("#closescreen").show();
// $("#openscreen").hide();
// } else {
// console.log('退出全屏')
// $("#closescreen").hide();
// $("#openscreen").show();
// }
// });
// document.addEventListener("webkitfullscreenchange", function (event) {
// console.log("webkitfullscreenchange", event);
// if (IsFull()) {
// console.log('进入全屏')
// $("#closescreen").show();
// $("#openscreen").hide();
// } else {
// console.log('退出全屏')
// $("#closescreen").hide();
// $("#openscreen").show();
// }
// });
// document.addEventListener("msfullscreenchange", function (event) {
// console.log("msfullscreenchange", event);
// if (IsFull()) {
// console.log('进入全屏')
// $("#closescreen").show();
// $("#openscreen").hide();
// } else {
// console.log('退出全屏')
// $("#closescreen").hide();
// $("#openscreen").show();
// }
// });
/***/ }),
/***/ 4393:
/*!********************************************************!*\
!*** ./node_modules/antd/es/card/index.js + 4 modules ***!
\********************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
"Z": function() { return /* binding */ card; }
});
// EXTERNAL MODULE: ./node_modules/classnames/index.js
var classnames = __webpack_require__(94184);
var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
// EXTERNAL MODULE: ./node_modules/antd/node_modules/rc-util/es/omit.js
var omit = __webpack_require__(10366);
// EXTERNAL MODULE: ./node_modules/react/index.js
var react = __webpack_require__(67294);
// EXTERNAL MODULE: ./node_modules/antd/es/config-provider/context.js
var context = __webpack_require__(53124);
// EXTERNAL MODULE: ./node_modules/antd/es/config-provider/hooks/useSize.js
var useSize = __webpack_require__(98675);
// EXTERNAL MODULE: ./node_modules/antd/es/skeleton/index.js + 12 modules
var skeleton = __webpack_require__(21687);
// EXTERNAL MODULE: ./node_modules/antd/es/tabs/index.js + 28 modules
var es_tabs = __webpack_require__(34755);
;// CONCATENATED MODULE: ./node_modules/antd/es/card/Grid.js
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 Grid = _a => {
var {
prefixCls,
className,
hoverable = true
} = _a,
props = __rest(_a, ["prefixCls", "className", "hoverable"]);
const {
getPrefixCls
} = react.useContext(context/* ConfigContext */.E_);
const prefix = getPrefixCls('card', prefixCls);
const classString = classnames_default()(`${prefix}-grid`, className, {
[`${prefix}-grid-hoverable`]: hoverable
});
return /*#__PURE__*/react.createElement("div", Object.assign({}, props, {
className: classString
}));
};
/* harmony default export */ var card_Grid = (Grid);
// EXTERNAL MODULE: ./node_modules/antd/es/style/index.js
var style = __webpack_require__(14747);
// EXTERNAL MODULE: ./node_modules/antd/es/theme/util/genComponentStyleHook.js
var genComponentStyleHook = __webpack_require__(67968);
// EXTERNAL MODULE: ./node_modules/antd/es/theme/util/statistic.js
var statistic = __webpack_require__(45503);
;// CONCATENATED MODULE: ./node_modules/antd/es/card/style/index.js
// ============================== Styles ==============================
// ============================== Head ==============================
const genCardHeadStyle = token => {
const {
antCls,
componentCls,
headerHeight,
cardPaddingBase,
tabsMarginBottom
} = token;
return Object.assign(Object.assign({
display: 'flex',
justifyContent: 'center',
flexDirection: 'column',
minHeight: headerHeight,
marginBottom: -1,
padding: `0 ${cardPaddingBase}px`,
color: token.colorTextHeading,
fontWeight: token.fontWeightStrong,
fontSize: token.headerFontSize,
background: token.headerBg,
borderBottom: `${token.lineWidth}px ${token.lineType} ${token.colorBorderSecondary}`,
borderRadius: `${token.borderRadiusLG}px ${token.borderRadiusLG}px 0 0`
}, (0,style/* clearFix */.dF)()), {
'&-wrapper': {
width: '100%',
display: 'flex',
alignItems: 'center'
},
'&-title': Object.assign(Object.assign({
display: 'inline-block',
flex: 1
}, style/* textEllipsis */.vS), {
[`
> ${componentCls}-typography,
> ${componentCls}-typography-edit-content
`]: {
insetInlineStart: 0,
marginTop: 0,
marginBottom: 0
}
}),
[`${antCls}-tabs-top`]: {
clear: 'both',
marginBottom: tabsMarginBottom,
color: token.colorText,
fontWeight: 'normal',
fontSize: token.fontSize,
'&-bar': {
borderBottom: `${token.lineWidth}px ${token.lineType} ${token.colorBorderSecondary}`
}
}
});
};
// ============================== Grid ==============================
const genCardGridStyle = token => {
const {
cardPaddingBase,
colorBorderSecondary,
cardShadow,
lineWidth
} = token;
return {
width: '33.33%',
padding: cardPaddingBase,
border: 0,
borderRadius: 0,
boxShadow: `
${lineWidth}px 0 0 0 ${colorBorderSecondary},
0 ${lineWidth}px 0 0 ${colorBorderSecondary},
${lineWidth}px ${lineWidth}px 0 0 ${colorBorderSecondary},
${lineWidth}px 0 0 0 ${colorBorderSecondary} inset,
0 ${lineWidth}px 0 0 ${colorBorderSecondary} inset;
`,
transition: `all ${token.motionDurationMid}`,
'&-hoverable:hover': {
position: 'relative',
zIndex: 1,
boxShadow: cardShadow
}
};
};
// ============================== Actions ==============================
const genCardActionsStyle = token => {
const {
componentCls,
iconCls,
actionsLiMargin,
cardActionsIconSize,
colorBorderSecondary,
actionsBg
} = token;
return Object.assign(Object.assign({
margin: 0,
padding: 0,
listStyle: 'none',
background: actionsBg,
borderTop: `${token.lineWidth}px ${token.lineType} ${colorBorderSecondary}`,
display: 'flex',
borderRadius: `0 0 ${token.borderRadiusLG}px ${token.borderRadiusLG}px `
}, (0,style/* clearFix */.dF)()), {
'& > li': {
margin: actionsLiMargin,
color: token.colorTextDescription,
textAlign: 'center',
'> span': {
position: 'relative',
display: 'block',
minWidth: token.cardActionsIconSize * 2,
fontSize: token.fontSize,
lineHeight: token.lineHeight,
cursor: 'pointer',
'&:hover': {
color: token.colorPrimary,
transition: `color ${token.motionDurationMid}`
},
[`a:not(${componentCls}-btn), > ${iconCls}`]: {
display: 'inline-block',
width: '100%',
color: token.colorTextDescription,
lineHeight: `${token.fontSize * token.lineHeight}px`,
transition: `color ${token.motionDurationMid}`,
'&:hover': {
color: token.colorPrimary
}
},
[`> ${iconCls}`]: {
fontSize: cardActionsIconSize,
lineHeight: `${cardActionsIconSize * token.lineHeight}px`
}
},
'&:not(:last-child)': {
borderInlineEnd: `${token.lineWidth}px ${token.lineType} ${colorBorderSecondary}`
}
}
});
};
// ============================== Meta ==============================
const genCardMetaStyle = token => Object.assign(Object.assign({
margin: `-${token.marginXXS}px 0`,
display: 'flex'
}, (0,style/* clearFix */.dF)()), {
'&-avatar': {
paddingInlineEnd: token.padding
},
'&-detail': {
overflow: 'hidden',
flex: 1,
'> div:not(:last-child)': {
marginBottom: token.marginXS
}
},
'&-title': Object.assign({
color: token.colorTextHeading,
fontWeight: token.fontWeightStrong,
fontSize: token.fontSizeLG
}, style/* textEllipsis */.vS),
'&-description': {
color: token.colorTextDescription
}
});
// ============================== Inner ==============================
const genCardTypeInnerStyle = token => {
const {
componentCls,
cardPaddingBase,
colorFillAlter
} = token;
return {
[`${componentCls}-head`]: {
padding: `0 ${cardPaddingBase}px`,
background: colorFillAlter,
'&-title': {
fontSize: token.fontSize
}
},
[`${componentCls}-body`]: {
padding: `${token.padding}px ${cardPaddingBase}px`
}
};
};
// ============================== Loading ==============================
const genCardLoadingStyle = token => {
const {
componentCls
} = token;
return {
overflow: 'hidden',
[`${componentCls}-body`]: {
userSelect: 'none'
}
};
};
// ============================== Basic ==============================
const genCardStyle = token => {
const {
antCls,
componentCls,
cardShadow,
cardHeadPadding,
colorBorderSecondary,
boxShadowTertiary,
cardPaddingBase,
extraColor
} = token;
return {
[componentCls]: Object.assign(Object.assign({}, (0,style/* resetComponent */.Wf)(token)), {
position: 'relative',
background: token.colorBgContainer,
borderRadius: token.borderRadiusLG,
[`&:not(${componentCls}-bordered)`]: {
boxShadow: boxShadowTertiary
},
[`${componentCls}-head`]: genCardHeadStyle(token),
[`${componentCls}-extra`]: {
// https://stackoverflow.com/a/22429853/3040605
marginInlineStart: 'auto',
color: extraColor,
fontWeight: 'normal',
fontSize: token.fontSize
},
[`${componentCls}-body`]: Object.assign({
padding: cardPaddingBase,
borderRadius: ` 0 0 ${token.borderRadiusLG}px ${token.borderRadiusLG}px`
}, (0,style/* clearFix */.dF)()),
[`${componentCls}-grid`]: genCardGridStyle(token),
[`${componentCls}-cover`]: {
'> *': {
display: 'block',
width: '100%'
},
[`img, img + ${antCls}-image-mask`]: {
borderRadius: `${token.borderRadiusLG}px ${token.borderRadiusLG}px 0 0`
}
},
[`${componentCls}-actions`]: genCardActionsStyle(token),
[`${componentCls}-meta`]: genCardMetaStyle(token)
}),
[`${componentCls}-bordered`]: {
border: `${token.lineWidth}px ${token.lineType} ${colorBorderSecondary}`,
[`${componentCls}-cover`]: {
marginTop: -1,
marginInlineStart: -1,
marginInlineEnd: -1
}
},
[`${componentCls}-hoverable`]: {
cursor: 'pointer',
transition: `box-shadow ${token.motionDurationMid}, border-color ${token.motionDurationMid}`,
'&:hover': {
borderColor: 'transparent',
boxShadow: cardShadow
}
},
[`${componentCls}-contain-grid`]: {
[`${componentCls}-body`]: {
display: 'flex',
flexWrap: 'wrap'
},
[`&:not(${componentCls}-loading) ${componentCls}-body`]: {
marginBlockStart: -token.lineWidth,
marginInlineStart: -token.lineWidth,
padding: 0
}
},
[`${componentCls}-contain-tabs`]: {
[`> ${componentCls}-head`]: {
[`${componentCls}-head-title, ${componentCls}-extra`]: {
paddingTop: cardHeadPadding
}
}
},
[`${componentCls}-type-inner`]: genCardTypeInnerStyle(token),
[`${componentCls}-loading`]: genCardLoadingStyle(token),
[`${componentCls}-rtl`]: {
direction: 'rtl'
}
};
};
// ============================== Size ==============================
const genCardSizeStyle = token => {
const {
componentCls,
cardPaddingSM,
headerHeightSM,
headerFontSizeSM
} = token;
return {
[`${componentCls}-small`]: {
[`> ${componentCls}-head`]: {
minHeight: headerHeightSM,
padding: `0 ${cardPaddingSM}px`,
fontSize: headerFontSizeSM,
[`> ${componentCls}-head-wrapper`]: {
[`> ${componentCls}-extra`]: {
fontSize: token.fontSize
}
}
},
[`> ${componentCls}-body`]: {
padding: cardPaddingSM
}
},
[`${componentCls}-small${componentCls}-contain-tabs`]: {
[`> ${componentCls}-head`]: {
[`${componentCls}-head-title, ${componentCls}-extra`]: {
minHeight: headerHeightSM,
paddingTop: 0,
display: 'flex',
alignItems: 'center'
}
}
}
};
};
// ============================== Export ==============================
/* harmony default export */ var card_style = ((0,genComponentStyleHook/* default */.Z)('Card', token => {
const cardToken = (0,statistic/* merge */.TS)(token, {
cardShadow: token.boxShadowCard,
cardHeadPadding: token.padding,
cardPaddingBase: token.paddingLG,
cardActionsIconSize: token.fontSize,
cardPaddingSM: 12 // Fixed padding.
});
return [
// Style
genCardStyle(cardToken),
// Size
genCardSizeStyle(cardToken)];
}, token => ({
headerBg: 'transparent',
headerFontSize: token.fontSizeLG,
headerFontSizeSM: token.fontSize,
headerHeight: token.fontSizeLG * token.lineHeightLG + token.padding * 2,
headerHeightSM: token.fontSize * token.lineHeight + token.paddingXS * 2,
actionsBg: token.colorBgContainer,
actionsLiMargin: `${token.paddingSM}px 0`,
tabsMarginBottom: -token.padding - token.lineWidth,
extraColor: token.colorText
})));
;// CONCATENATED MODULE: ./node_modules/antd/es/card/Card.js
var Card_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;
};
function getAction(actions) {
return actions.map((action, index) =>
/*#__PURE__*/
// eslint-disable-next-line react/no-array-index-key
react.createElement("li", {
style: {
width: `${100 / actions.length}%`
},
key: `action-${index}`
}, /*#__PURE__*/react.createElement("span", null, action)));
}
const Card = /*#__PURE__*/react.forwardRef((props, ref) => {
const {
prefixCls: customizePrefixCls,
className,
rootClassName,
style,
extra,
headStyle = {},
bodyStyle = {},
title,
loading,
bordered = true,
size: customizeSize,
type,
cover,
actions,
tabList,
children,
activeTabKey,
defaultActiveTabKey,
tabBarExtraContent,
hoverable,
tabProps = {}
} = props,
others = Card_rest(props, ["prefixCls", "className", "rootClassName", "style", "extra", "headStyle", "bodyStyle", "title", "loading", "bordered", "size", "type", "cover", "actions", "tabList", "children", "activeTabKey", "defaultActiveTabKey", "tabBarExtraContent", "hoverable", "tabProps"]);
const {
getPrefixCls,
direction,
card
} = react.useContext(context/* ConfigContext */.E_);
const onTabChange = key => {
var _a;
(_a = props.onTabChange) === null || _a === void 0 ? void 0 : _a.call(props, key);
};
const isContainGrid = react.useMemo(() => {
let containGrid = false;
react.Children.forEach(children, element => {
if (element && element.type && element.type === card_Grid) {
containGrid = true;
}
});
return containGrid;
}, [children]);
const prefixCls = getPrefixCls('card', customizePrefixCls);
const [wrapSSR, hashId] = card_style(prefixCls);
const loadingBlock = /*#__PURE__*/react.createElement(skeleton/* default */.Z, {
loading: true,
active: true,
paragraph: {
rows: 4
},
title: false
}, children);
const hasActiveTabKey = activeTabKey !== undefined;
const extraProps = Object.assign(Object.assign({}, tabProps), {
[hasActiveTabKey ? 'activeKey' : 'defaultActiveKey']: hasActiveTabKey ? activeTabKey : defaultActiveTabKey,
tabBarExtraContent
});
let head;
const mergedSize = (0,useSize/* default */.Z)(customizeSize);
const tabSize = !mergedSize || mergedSize === 'default' ? 'large' : mergedSize;
const tabs = tabList ? /*#__PURE__*/react.createElement(es_tabs/* default */.Z, Object.assign({
size: tabSize
}, extraProps, {
className: `${prefixCls}-head-tabs`,
onChange: onTabChange,
items: tabList.map(_a => {
var {
tab
} = _a,
item = Card_rest(_a, ["tab"]);
return Object.assign({
label: tab
}, item);
})
})) : null;
if (title || extra || tabs) {
head = /*#__PURE__*/react.createElement("div", {
className: `${prefixCls}-head`,
style: headStyle
}, /*#__PURE__*/react.createElement("div", {
className: `${prefixCls}-head-wrapper`
}, title && /*#__PURE__*/react.createElement("div", {
className: `${prefixCls}-head-title`
}, title), extra && /*#__PURE__*/react.createElement("div", {
className: `${prefixCls}-extra`
}, extra)), tabs);
}
const coverDom = cover ? /*#__PURE__*/react.createElement("div", {
className: `${prefixCls}-cover`
}, cover) : null;
const body = /*#__PURE__*/react.createElement("div", {
className: `${prefixCls}-body`,
style: bodyStyle
}, loading ? loadingBlock : children);
const actionDom = actions && actions.length ? /*#__PURE__*/react.createElement("ul", {
className: `${prefixCls}-actions`
}, getAction(actions)) : null;
const divProps = (0,omit/* default */.Z)(others, ['onTabChange']);
const classString = classnames_default()(prefixCls, card === null || card === void 0 ? void 0 : card.className, {
[`${prefixCls}-loading`]: loading,
[`${prefixCls}-bordered`]: bordered,
[`${prefixCls}-hoverable`]: hoverable,
[`${prefixCls}-contain-grid`]: isContainGrid,
[`${prefixCls}-contain-tabs`]: tabList && tabList.length,
[`${prefixCls}-${mergedSize}`]: mergedSize,
[`${prefixCls}-type-${type}`]: !!type,
[`${prefixCls}-rtl`]: direction === 'rtl'
}, className, rootClassName, hashId);
const mergedStyle = Object.assign(Object.assign({}, card === null || card === void 0 ? void 0 : card.style), style);
return wrapSSR( /*#__PURE__*/react.createElement("div", Object.assign({
ref: ref
}, divProps, {
className: classString,
style: mergedStyle
}), head, coverDom, body, actionDom));
});
/* harmony default export */ var card_Card = (Card);
;// CONCATENATED MODULE: ./node_modules/antd/es/card/Meta.js
var Meta_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 Meta = props => {
const {
prefixCls: customizePrefixCls,
className,
avatar,
title,
description
} = props,
others = Meta_rest(props, ["prefixCls", "className", "avatar", "title", "description"]);
const {
getPrefixCls
} = react.useContext(context/* ConfigContext */.E_);
const prefixCls = getPrefixCls('card', customizePrefixCls);
const classString = classnames_default()(`${prefixCls}-meta`, className);
const avatarDom = avatar ? /*#__PURE__*/react.createElement("div", {
className: `${prefixCls}-meta-avatar`
}, avatar) : null;
const titleDom = title ? /*#__PURE__*/react.createElement("div", {
className: `${prefixCls}-meta-title`
}, title) : null;
const descriptionDom = description ? /*#__PURE__*/react.createElement("div", {
className: `${prefixCls}-meta-description`
}, description) : null;
const MetaDetail = titleDom || descriptionDom ? /*#__PURE__*/react.createElement("div", {
className: `${prefixCls}-meta-detail`
}, titleDom, descriptionDom) : null;
return /*#__PURE__*/react.createElement("div", Object.assign({}, others, {
className: classString
}), avatarDom, MetaDetail);
};
/* harmony default export */ var card_Meta = (Meta);
;// CONCATENATED MODULE: ./node_modules/antd/es/card/index.js
'use client';
const es_card_Card = card_Card;
es_card_Card.Grid = card_Grid;
es_card_Card.Meta = card_Meta;
if (false) {}
/* harmony default export */ var card = (es_card_Card);
/***/ }),
/***/ 97183:
/*!**********************************************!*\
!*** ./node_modules/antd/es/layout/index.js ***!
\**********************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var _layout__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./layout */ 84321);
/* harmony import */ var _Sider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Sider */ 7293);
'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);
/***/ }),
/***/ 20640:
/*!*************************************************!*\
!*** ./node_modules/copy-to-clipboard/index.js ***!
\*************************************************/
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
"use strict";
var deselectCurrent = __webpack_require__(/*! toggle-selection */ 11742);
var clipboardToIE11Formatting = {
"text/plain": "Text",
"text/html": "Url",
"default": "Text"
}
var defaultMessage = "Copy to clipboard: #{key}, Enter";
function format(message) {
var copyKey = (/mac os x/i.test(navigator.userAgent) ? "⌘" : "Ctrl") + "+C";
return message.replace(/#{\s*key\s*}/g, copyKey);
}
function copy(text, options) {
var debug,
message,
reselectPrevious,
range,
selection,
mark,
success = false;
if (!options) {
options = {};
}
debug = options.debug || false;
try {
reselectPrevious = deselectCurrent();
range = document.createRange();
selection = document.getSelection();
mark = document.createElement("span");
mark.textContent = text;
// avoid screen readers from reading out loud the text
mark.ariaHidden = "true"
// reset user styles for span element
mark.style.all = "unset";
// prevents scrolling to the end of the page
mark.style.position = "fixed";
mark.style.top = 0;
mark.style.clip = "rect(0, 0, 0, 0)";
// used to preserve spaces and line breaks
mark.style.whiteSpace = "pre";
// do not inherit user-select (it may be `none`)
mark.style.webkitUserSelect = "text";
mark.style.MozUserSelect = "text";
mark.style.msUserSelect = "text";
mark.style.userSelect = "text";
mark.addEventListener("copy", function(e) {
e.stopPropagation();
if (options.format) {
e.preventDefault();
if (typeof e.clipboardData === "undefined") { // IE 11
debug && console.warn("unable to use e.clipboardData");
debug && console.warn("trying IE specific stuff");
window.clipboardData.clearData();
var format = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting["default"]
window.clipboardData.setData(format, text);
} else { // all other browsers
e.clipboardData.clearData();
e.clipboardData.setData(options.format, text);
}
}
if (options.onCopy) {
e.preventDefault();
options.onCopy(e.clipboardData);
}
});
document.body.appendChild(mark);
range.selectNodeContents(mark);
selection.addRange(range);
var successful = document.execCommand("copy");
if (!successful) {
throw new Error("copy command was unsuccessful");
}
success = true;
} catch (err) {
debug && console.error("unable to copy using execCommand: ", err);
debug && console.warn("trying IE specific stuff");
try {
window.clipboardData.setData(options.format || "text", text);
options.onCopy && options.onCopy(window.clipboardData);
success = true;
} catch (err) {
debug && console.error("unable to copy using clipboardData: ", err);
debug && console.error("falling back to prompt");
message = format("message" in options ? options.message : defaultMessage);
window.prompt(message, text);
}
} finally {
if (selection) {
if (typeof selection.removeRange == "function") {
selection.removeRange(range);
} else {
selection.removeAllRanges();
}
}
if (mark) {
document.body.removeChild(mark);
}
reselectPrevious();
}
return success;
}
module.exports = copy;
/***/ }),
/***/ 19575:
/*!******************************************!*\
!*** ./node_modules/js-base64/base64.js ***!
\******************************************/
/***/ (function(module, exports, __webpack_require__) {
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*
* base64.js
*
* Licensed under the BSD 3-Clause License.
* http://opensource.org/licenses/BSD-3-Clause
*
* References:
* http://en.wikipedia.org/wiki/Base64
*/
;(function (global, factory) {
true
? module.exports = factory(global)
: 0
}((
typeof self !== 'undefined' ? self
: typeof window !== 'undefined' ? window
: typeof __webpack_require__.g !== 'undefined' ? __webpack_require__.g
: this
), function(global) {
'use strict';
// existing version for noConflict()
global = global || {};
var _Base64 = global.Base64;
var version = "2.6.4";
// constants
var b64chars
= 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
var b64tab = function(bin) {
var t = {};
for (var i = 0, l = bin.length; i < l; i++) t[bin.charAt(i)] = i;
return t;
}(b64chars);
var fromCharCode = String.fromCharCode;
// encoder stuff
var cb_utob = function(c) {
if (c.length < 2) {
var cc = c.charCodeAt(0);
return cc < 0x80 ? c
: cc < 0x800 ? (fromCharCode(0xc0 | (cc >>> 6))
+ fromCharCode(0x80 | (cc & 0x3f)))
: (fromCharCode(0xe0 | ((cc >>> 12) & 0x0f))
+ fromCharCode(0x80 | ((cc >>> 6) & 0x3f))
+ fromCharCode(0x80 | ( cc & 0x3f)));
} else {
var cc = 0x10000
+ (c.charCodeAt(0) - 0xD800) * 0x400
+ (c.charCodeAt(1) - 0xDC00);
return (fromCharCode(0xf0 | ((cc >>> 18) & 0x07))
+ fromCharCode(0x80 | ((cc >>> 12) & 0x3f))
+ fromCharCode(0x80 | ((cc >>> 6) & 0x3f))
+ fromCharCode(0x80 | ( cc & 0x3f)));
}
};
var re_utob = /[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g;
var utob = function(u) {
return u.replace(re_utob, cb_utob);
};
var cb_encode = function(ccc) {
var padlen = [0, 2, 1][ccc.length % 3],
ord = ccc.charCodeAt(0) << 16
| ((ccc.length > 1 ? ccc.charCodeAt(1) : 0) << 8)
| ((ccc.length > 2 ? ccc.charCodeAt(2) : 0)),
chars = [
b64chars.charAt( ord >>> 18),
b64chars.charAt((ord >>> 12) & 63),
padlen >= 2 ? '=' : b64chars.charAt((ord >>> 6) & 63),
padlen >= 1 ? '=' : b64chars.charAt(ord & 63)
];
return chars.join('');
};
var btoa = global.btoa && typeof global.btoa == 'function'
? function(b){ return global.btoa(b) } : function(b) {
if (b.match(/[^\x00-\xFF]/)) throw new RangeError(
'The string contains invalid characters.'
);
return b.replace(/[\s\S]{1,3}/g, cb_encode);
};
var _encode = function(u) {
return btoa(utob(String(u)));
};
var mkUriSafe = function (b64) {
return b64.replace(/[+\/]/g, function(m0) {
return m0 == '+' ? '-' : '_';
}).replace(/=/g, '');
};
var encode = function(u, urisafe) {
return urisafe ? mkUriSafe(_encode(u)) : _encode(u);
};
var encodeURI = function(u) { return encode(u, true) };
var fromUint8Array;
if (global.Uint8Array) fromUint8Array = function(a, urisafe) {
// return btoa(fromCharCode.apply(null, a));
var b64 = '';
for (var i = 0, l = a.length; i < l; i += 3) {
var a0 = a[i], a1 = a[i+1], a2 = a[i+2];
var ord = a0 << 16 | a1 << 8 | a2;
b64 += b64chars.charAt( ord >>> 18)
+ b64chars.charAt((ord >>> 12) & 63)
+ ( typeof a1 != 'undefined'
? b64chars.charAt((ord >>> 6) & 63) : '=')
+ ( typeof a2 != 'undefined'
? b64chars.charAt( ord & 63) : '=');
}
return urisafe ? mkUriSafe(b64) : b64;
};
// decoder stuff
var re_btou = /[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g;
var cb_btou = function(cccc) {
switch(cccc.length) {
case 4:
var cp = ((0x07 & cccc.charCodeAt(0)) << 18)
| ((0x3f & cccc.charCodeAt(1)) << 12)
| ((0x3f & cccc.charCodeAt(2)) << 6)
| (0x3f & cccc.charCodeAt(3)),
offset = cp - 0x10000;
return (fromCharCode((offset >>> 10) + 0xD800)
+ fromCharCode((offset & 0x3FF) + 0xDC00));
case 3:
return fromCharCode(
((0x0f & cccc.charCodeAt(0)) << 12)
| ((0x3f & cccc.charCodeAt(1)) << 6)
| (0x3f & cccc.charCodeAt(2))
);
default:
return fromCharCode(
((0x1f & cccc.charCodeAt(0)) << 6)
| (0x3f & cccc.charCodeAt(1))
);
}
};
var btou = function(b) {
return b.replace(re_btou, cb_btou);
};
var cb_decode = function(cccc) {
var len = cccc.length,
padlen = len % 4,
n = (len > 0 ? b64tab[cccc.charAt(0)] << 18 : 0)
| (len > 1 ? b64tab[cccc.charAt(1)] << 12 : 0)
| (len > 2 ? b64tab[cccc.charAt(2)] << 6 : 0)
| (len > 3 ? b64tab[cccc.charAt(3)] : 0),
chars = [
fromCharCode( n >>> 16),
fromCharCode((n >>> 8) & 0xff),
fromCharCode( n & 0xff)
];
chars.length -= [0, 0, 2, 1][padlen];
return chars.join('');
};
var _atob = global.atob && typeof global.atob == 'function'
? function(a){ return global.atob(a) } : function(a){
return a.replace(/\S{1,4}/g, cb_decode);
};
var atob = function(a) {
return _atob(String(a).replace(/[^A-Za-z0-9\+\/]/g, ''));
};
var _decode = function(a) { return btou(_atob(a)) };
var _fromURI = function(a) {
return String(a).replace(/[-_]/g, function(m0) {
return m0 == '-' ? '+' : '/'
}).replace(/[^A-Za-z0-9\+\/]/g, '');
};
var decode = function(a){
return _decode(_fromURI(a));
};
var toUint8Array;
if (global.Uint8Array) toUint8Array = function(a) {
return Uint8Array.from(atob(_fromURI(a)), function(c) {
return c.charCodeAt(0);
});
};
var noConflict = function() {
var Base64 = global.Base64;
global.Base64 = _Base64;
return Base64;
};
// export Base64
global.Base64 = {
VERSION: version,
atob: atob,
btoa: btoa,
fromBase64: decode,
toBase64: encode,
utob: utob,
encode: encode,
encodeURI: encodeURI,
btou: btou,
decode: decode,
noConflict: noConflict,
fromUint8Array: fromUint8Array,
toUint8Array: toUint8Array
};
// if ES5 is available, make Base64.extendString() available
if (typeof Object.defineProperty === 'function') {
var noEnum = function(v){
return {value:v,enumerable:false,writable:true,configurable:true};
};
global.Base64.extendString = function () {
Object.defineProperty(
String.prototype, 'fromBase64', noEnum(function () {
return decode(this)
}));
Object.defineProperty(
String.prototype, 'toBase64', noEnum(function (urisafe) {
return encode(this, urisafe)
}));
Object.defineProperty(
String.prototype, 'toBase64URI', noEnum(function () {
return encode(this, true)
}));
};
}
//
// export Base64 to the namespace
//
if (global['Meteor']) { // Meteor.js
Base64 = global.Base64;
}
// module.exports and AMD are mutually exclusive.
// module.exports has precedence.
if ( true && module.exports) {
module.exports.Base64 = global.Base64;
}
else if (true) {
// AMD. Register as an anonymous module.
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function(){ return global.Base64 }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
}
// that's it!
return {Base64: global.Base64}
}));
/***/ }),
/***/ 74300:
/*!***************************************************************!*\
!*** ./node_modules/react-copy-to-clipboard/lib/Component.js ***!
\***************************************************************/
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.CopyToClipboard = void 0;
var _react = _interopRequireDefault(__webpack_require__(/*! react */ 67294));
var _copyToClipboard = _interopRequireDefault(__webpack_require__(/*! copy-to-clipboard */ 20640));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
var CopyToClipboard =
/*#__PURE__*/
function (_React$PureComponent) {
_inherits(CopyToClipboard, _React$PureComponent);
function CopyToClipboard() {
var _getPrototypeOf2;
var _this;
_classCallCheck(this, CopyToClipboard);
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
_this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(CopyToClipboard)).call.apply(_getPrototypeOf2, [this].concat(args)));
_defineProperty(_assertThisInitialized(_this), "onClick", function (event) {
var _this$props = _this.props,
text = _this$props.text,
onCopy = _this$props.onCopy,
children = _this$props.children,
options = _this$props.options;
var elem = _react["default"].Children.only(children);
var result = (0, _copyToClipboard["default"])(text, options);
if (onCopy) {
onCopy(text, result);
} // Bypass onClick if it was present
if (elem && elem.props && typeof elem.props.onClick === 'function') {
elem.props.onClick(event);
}
});
return _this;
}
_createClass(CopyToClipboard, [{
key: "render",
value: function render() {
var _this$props2 = this.props,
_text = _this$props2.text,
_onCopy = _this$props2.onCopy,
_options = _this$props2.options,
children = _this$props2.children,
props = _objectWithoutProperties(_this$props2, ["text", "onCopy", "options", "children"]);
var elem = _react["default"].Children.only(children);
return _react["default"].cloneElement(elem, _objectSpread({}, props, {
onClick: this.onClick
}));
}
}]);
return CopyToClipboard;
}(_react["default"].PureComponent);
exports.CopyToClipboard = CopyToClipboard;
_defineProperty(CopyToClipboard, "defaultProps", {
onCopy: undefined,
options: undefined
});
/***/ }),
/***/ 74855:
/*!***********************************************************!*\
!*** ./node_modules/react-copy-to-clipboard/lib/index.js ***!
\***********************************************************/
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
"use strict";
var _require = __webpack_require__(/*! ./Component */ 74300),
CopyToClipboard = _require.CopyToClipboard;
CopyToClipboard.CopyToClipboard = CopyToClipboard;
module.exports = CopyToClipboard;
/***/ }),
/***/ 11742:
/*!************************************************!*\
!*** ./node_modules/toggle-selection/index.js ***!
\************************************************/
/***/ (function(module) {
module.exports = function () {
var selection = document.getSelection();
if (!selection.rangeCount) {
return function () {};
}
var active = document.activeElement;
var ranges = [];
for (var i = 0; i < selection.rangeCount; i++) {
ranges.push(selection.getRangeAt(i));
}
switch (active.tagName.toUpperCase()) { // .toUpperCase handles XHTML
case 'INPUT':
case 'TEXTAREA':
active.blur();
break;
default:
active = null;
break;
}
selection.removeAllRanges();
return function () {
selection.type === 'Caret' &&
selection.removeAllRanges();
if (!selection.rangeCount) {
ranges.forEach(function(range) {
selection.addRange(range);
});
}
active &&
active.focus();
};
};
/***/ }),
/***/ 4977:
/*!********************************************!*\
!*** ./src/assets/images/icons/nodata.png ***!
\********************************************/
/***/ (function(module) {
"use strict";
module.exports = "data:image/png;base64,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";
/***/ }),
/***/ 36193:
/*!******************************************!*\
!*** ./src/assets/images/video/play.png ***!
\******************************************/
/***/ (function(module) {
"use strict";
module.exports = "data:image/png;base64,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";
/***/ })
}]);