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...

4607 lines
208 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],{
/***/ 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);
/***/ }),
/***/ 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"
})
})]
})
})]
});
}));
/***/ }),
/***/ 25127:
/*!*****************************************************************!*\
!*** ./src/pages/Classrooms/Lists/Video/index.tsx + 12 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);
// EXTERNAL MODULE: ./src/assets/images/video/default.png
var video_default = __webpack_require__(55988);
// EXTERNAL MODULE: ./src/assets/images/video/play.png
var play = __webpack_require__(36193);
// EXTERNAL MODULE: ./node_modules/react-copy-to-clipboard/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 : video_default;
return /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
className: Itemsmodules.wrap,
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(card/* default */.Z, {
className: "animated fadeIn ".concat(Itemsmodules.cardWrap),
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(spin/* default */.Z, {
tip: "\u6B63\u5728\u8F6C\u7801\uFF0C\u8BF7\u7A0D\u7B49...",
spinning: !item.transcoded && !item.link,
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
className: Itemsmodules.imgWrap,
onClick: function onClick() {
!isReview && 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) || video_default
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
title: item.title,
className: HtmlDragmodules.title,
children: item.title
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
className: "ml10 mb10",
children: ["\u7D2F\u8BA1\u5B66\u4E60\u65F6\u95F4", (0,util/* toTimeFormat */.li)(parseInt(item.total_time))]
}), /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
className: "ml10 mb10",
style: {
width: 100
},
placeholder: index + 1,
onBlur: /*#__PURE__*/function () {
var _ref3 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2(e) {
var reg, result;
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
if (e.target.value) {
_context2.next = 2;
break;
}
return _context2.abrupt("return");
case 2:
reg = /^([1-9][0-9]*)$/;
if (reg.test(e.target.value)) {
_context2.next = 6;
break;
}
message/* default.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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";
/***/ })
}]);