(self["webpackChunk"] = self["webpackChunk"] || []).push([[93665,4977,45277],{
/***/ 38415:
/*!*********************************************************!*\
!*** ./src/components/MathematicalGraphics/js/index.js ***!
\*********************************************************/
/***/ (function(module, exports, __webpack_require__) {
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;var _typeof = (__webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/typeof.js */ 31468)["default"]);
(function () {
if (typeof window.GGBApplet == "function") {
console.warn("deployggb.js was loaded twice");
return;
}
var isRenderGGBElementEnabled = false;
var scriptLoadStarted = false;
var html5AppletsToProcess = null;
var ggbHTML5LoadedCodebaseIsWebSimple = false;
var ggbHTML5LoadedCodebaseVersion = null;
var ggbHTML5LoadedScript = null;
var GGBApplet = function GGBApplet() {
"use strict";
var applet = {};
var ggbVersion = "5.0";
var parameters = {};
var views = null;
var html5NoWebSimple = false;
var html5NoWebSimpleParamExists = false;
var appletID = null;
var initComplete = false;
var html5OverwrittenCodebaseVersion = null;
var html5OverwrittenCodebase = null;
for (var i = 0; i < arguments.length; i++) {
var p = arguments[i];
if (p !== null) {
switch (_typeof(p)) {
case "number":
ggbVersion = p.toFixed(1);
break;
case "string":
if (p.match(new RegExp("^[0-9]\\.[0-9]+$"))) {
ggbVersion = p;
} else {
appletID = p;
}
break;
case "object":
if (typeof p.is3D !== "undefined") {
views = p;
} else {
parameters = p;
}
break;
case "boolean":
html5NoWebSimple = p;
html5NoWebSimpleParamExists = true;
break;
}
}
}
if (views === null) {
views = {
is3D: false,
AV: false,
SV: false,
CV: false,
EV2: false,
CP: false,
PC: false,
DA: false,
FI: false,
PV: false,
macro: false
};
if (parameters.material_id !== undefined && !html5NoWebSimpleParamExists) {
html5NoWebSimple = true;
}
}
if (appletID !== null && parameters.id === undefined) {
parameters.id = appletID;
}
var jnlpFilePath = "";
var html5Codebase = "";
var isHTML5Offline = false;
var loadedAppletType = null;
var html5CodebaseVersion = null;
var html5CodebaseScript = null;
var html5CodebaseIsWebSimple = false;
var previewImagePath = null;
var previewLoadingPath = null;
var previewPlayPath = null;
var fonts_css_url = null;
var jnlpBaseDir = null;
if (parameters.height !== undefined) {
parameters.height = Math.round(parameters.height);
}
if (parameters.width !== undefined) {
parameters.width = Math.round(parameters.width);
}
var parseVersion = function parseVersion(d) {
return parseFloat(d) > 4 ? parseFloat(d) : 5;
};
applet.setHTML5Codebase = function (codebase, offline) {
html5OverwrittenCodebase = codebase;
setHTML5CodebaseInternal(codebase, offline);
};
applet.setJavaCodebase = applet.setJavaCodebaseVersion = applet.isCompiledInstalled = applet.setPreCompiledScriptPath = applet.setPreCompiledResourcePath = function () {};
applet.setHTML5CodebaseVersion = function (version, offline) {
var numVersion = parseFloat(version);
if (numVersion !== NaN && numVersion < 5) {
console.log("The GeoGebra HTML5 codebase version " + numVersion + " is deprecated. Using version latest instead.");
return;
}
html5OverwrittenCodebaseVersion = version;
setDefaultHTML5CodebaseForVersion(version, offline);
};
applet.getHTML5CodebaseVersion = function () {
return html5CodebaseVersion;
};
applet.getParameters = function () {
return parameters;
};
applet.setFontsCSSURL = function (url) {
fonts_css_url = url;
};
applet.setGiacJSURL = function (url) {};
applet.setJNLPFile = function (newJnlpFilePath) {
jnlpFilePath = newJnlpFilePath;
};
applet.setJNLPBaseDir = function (baseDir) {};
applet.inject = function () {
function isOwnIFrame() {
return window.frameElement && window.frameElement.getAttribute("data-singleton");
}
var type = "auto";
var container_ID = parameters.id;
var container;
var noPreview = false;
for (var i = 0; i < arguments.length; i++) {
var p = arguments[i];
if (typeof p === "string") {
p = p.toLowerCase();
if (p.match(/^(prefer)?(java|html5|compiled|auto|screenshot)$/)) {
type = p;
} else {
container_ID = arguments[i];
}
} else if (typeof p === "boolean") {
noPreview = p;
} else if (p instanceof HTMLElement) {
container = p;
}
}
continueInject();
function continueInject() {
if (!initComplete) {
setTimeout(continueInject, 200);
return;
}
type = detectAppletType(type);
var appletElem = container || document.getElementById(container_ID);
if (!appletElem) {
console.log("possibly bug on ajax loading? ");
return;
}
applet.removeExistingApplet(appletElem, false);
if (parameters.width === undefined && appletElem.clientWidth) {
parameters.width = appletElem.clientWidth;
}
if (parameters.height === undefined && appletElem.clientHeight) {
parameters.height = appletElem.clientHeight;
}
if (!(parameters.width && parameters.height) && type === "html5") {
delete parameters.width;
delete parameters.height;
}
loadedAppletType = type;
if (type === "screenshot") {
injectScreenshot(appletElem, parameters);
} else {
var playButton = false;
if (parameters.hasOwnProperty("playButton") && parameters.playButton || parameters.hasOwnProperty("clickToLoad") && parameters.clickToLoad) {
playButton = true;
} else if (parameters.hasOwnProperty("playButtonAutoDecide") && parameters.playButtonAutoDecide) {
playButton = (!isInIframe() || isOwnIFrame()) && isMobileDevice();
}
if (playButton) {
loadedAppletType = "screenshot";
injectPlayButton(appletElem, parameters, noPreview, type);
} else {
injectHTML5Applet(appletElem, parameters, noPreview);
}
}
}
return;
};
function isInIframe() {
try {
return window.self !== window.top;
} catch (e) {
return true;
}
}
function isMobileDevice() {
if (parameters.hasOwnProperty("screenshotGenerator") && parameters.screenshotGenerator) {
return false;
}
return Math.max(screen.width, screen.height) < 800;
}
applet.getViews = function () {
return views;
};
applet.isJavaInstalled = function () {
return false;
};
var fetchParametersFromApi = function fetchParametersFromApi(successCallback) {
var onSuccess = function onSuccess(text) {
var jsonData = JSON.parse(text);
var isGeoGebra = function isGeoGebra(element) {
return element.type == "G" || element.type == "E";
};
var item = jsonData.elements ? jsonData.elements.filter(isGeoGebra)[0] : jsonData;
if (!item || !item.url) {
onError();
return;
}
parameters.fileName = item.url;
updateAppletSettings(item.settings || {});
views.is3D = true;
var imageDir = "https://www.geogebra.org/images/";
applet.setPreviewImage(previewImagePath || item.previewUrl, imageDir + "GeoGebra_loading.png", imageDir + "applet_play.png");
successCallback();
};
var onError = function onError() {
parameters.onError && parameters.onError();
log("Error: Fetching material (id " + parameters.material_id + ") failed.", parameters);
};
var host = location.host.match(/(www|stage|beta|groot|alpha).geogebra.(org|net)/) ? location.host : "www.geogebra.org";
var path = "/materials/" + parameters.material_id + "?scope=basic";
sendCorsRequest("https://" + host + "/api/proxy.php?path=" + encodeURIComponent(path), onSuccess, onError);
};
function updateAppletSettings(settings) {
var parameterNames = ["width", "height", "showToolBar", "showMenuBar", "showAlgebraInput", "allowStyleBar", "showResetIcon", "enableLabelDrags", "enableShiftDragZoom", "enableRightClick", "appName"];
["enableLabelDrags", "enableShiftDragZoom", "enableRightClick"].forEach(function (name) {
settings[name] = !!settings[name];
});
parameterNames.forEach(function (name) {
if (parameters[name] === undefined && settings[name] !== undefined) {
parameters[name] = settings[name];
}
});
if (parameters.showToolBarHelp === undefined) {
parameters.showToolBarHelp = parameters.showToolBar;
}
}
function sendCorsRequest(url, onSuccess, onError) {
var xhr = new XMLHttpRequest();
xhr.open("GET", url);
xhr.onload = function () {
onSuccess(xhr.responseText);
};
xhr.onerror = onError;
xhr.send();
}
applet.isHTML5Installed = function () {
return true;
};
applet.getLoadedAppletType = function () {
return loadedAppletType;
};
applet.setPreviewImage = function (previewFilePath, loadingFilePath, playFilePath) {
previewImagePath = previewFilePath;
previewLoadingPath = loadingFilePath;
previewPlayPath = playFilePath;
};
applet.removeExistingApplet = function (appletParent, showScreenshot) {
var i;
if (typeof appletParent === "string") {
appletParent = document.getElementById(appletParent);
}
loadedAppletType = null;
var removedID = null;
for (i = 0; i < appletParent.childNodes.length; i++) {
var currentChild = appletParent.childNodes[i];
var className = currentChild.className;
if (className === "applet_screenshot") {
if (showScreenshot) {
currentChild.style.display = "block";
loadedAppletType = "screenshot";
} else {
currentChild.style.display = "none";
}
} else if (className !== "applet_scaler prerender") {
appletParent.removeChild(currentChild);
removedID = className && className.indexOf("appletParameters") != -1 ? currentChild.id : null;
i--;
}
}
var appName = parameters.id !== undefined ? parameters.id : removedID;
var app = window[appName];
if (app && typeof app.getBase64 === "function") {
app.remove();
window[appName] = null;
}
};
applet.refreshHitPoints = function () {
if (parseVersion(ggbHTML5LoadedCodebaseVersion) >= 5) {
return true;
}
var app = applet.getAppletObject();
if (app) {
if (typeof app.recalculateEnvironments === "function") {
app.recalculateEnvironments();
return true;
}
}
return false;
};
applet.startAnimation = function () {
var app = applet.getAppletObject();
if (app) {
if (typeof app.startAnimation === "function") {
app.startAnimation();
return true;
}
}
return false;
};
applet.stopAnimation = function () {
var app = applet.getAppletObject();
if (app) {
if (typeof app.stopAnimation === "function") {
app.stopAnimation();
return true;
}
}
return false;
};
applet.getAppletObject = function () {
var appName = parameters.id !== undefined ? parameters.id : "ggbApplet";
return window[appName];
};
applet.resize = function () {};
var appendParam = function appendParam(applet, name, value) {
var param = document.createElement("param");
param.setAttribute("name", name);
param.setAttribute("value", value);
applet.appendChild(param);
};
var valBoolean = function valBoolean(value) {
return value && value !== "false";
};
var injectHTML5Applet = function injectHTML5Applet(appletElem, parameters, noPreview) {
if (parseVersion(html5CodebaseVersion) <= 4.2) {
noPreview = true;
}
var loadScript = !isRenderGGBElementEnabled && !scriptLoadStarted;
if (!isRenderGGBElementEnabled && !scriptLoadStarted || ggbHTML5LoadedCodebaseVersion !== html5CodebaseVersion || ggbHTML5LoadedCodebaseIsWebSimple && !html5CodebaseIsWebSimple) {
loadScript = true;
isRenderGGBElementEnabled = false;
scriptLoadStarted = false;
}
var article = document.createElement("div");
article.classList.add("appletParameters", "notranslate");
var oriWidth = parameters.width;
var oriHeight = parameters.height;
parameters.disableAutoScale = parameters.disableAutoScale === undefined ? GGBAppletUtils.isFlexibleWorksheetEditor() : parameters.disableAutoScale;
if (parameters.width !== undefined) {
if (parseVersion(html5CodebaseVersion) <= 4.4) {
if (valBoolean(parameters.showToolBar)) {
parameters.height -= 7;
}
if (valBoolean(parameters.showAlgebraInput)) {
parameters.height -= 37;
}
if (parameters.width < 605 && valBoolean(parameters.showToolBar)) {
parameters.width = 605;
oriWidth = 605;
}
} else {
var minWidth = 100;
if (valBoolean(parameters.showToolBar) || valBoolean(parameters.showMenuBar)) {
if (parameters.hasOwnProperty("customToolBar")) {
parameters.customToolbar = parameters.customToolBar;
}
minWidth = valBoolean(parameters.showMenuBar) ? 245 : 155;
}
if (oriWidth < minWidth) {
parameters.width = minWidth;
oriWidth = minWidth;
}
}
}
article.style.border = "none";
article.style.display = "inline-block";
for (var key in parameters) {
if (parameters.hasOwnProperty(key) && key !== "appletOnLoad") {
article.setAttribute("data-param-" + key, parameters[key]);
}
}
if (fonts_css_url) {
article.setAttribute("data-param-fontscssurl", fonts_css_url);
}
applet.resize = function () {
GGBAppletUtils.responsiveResize(appletElem, parameters);
};
window.addEventListener("resize", function (evt) {
applet.resize();
});
var oriAppletOnload = typeof parameters.appletOnLoad === "function" ? parameters.appletOnLoad : function () {};
if (!noPreview && parameters.width !== undefined) {
if (!parameters.hasOwnProperty("showSplash")) {
article.setAttribute("data-param-showSplash", "false");
}
var previewPositioner = appletElem.querySelector(".applet_scaler.prerender");
var preRendered = previewPositioner !== null;
if (!preRendered) {
var previewContainer = createScreenShotDiv(oriWidth, oriHeight, parameters.borderColor, false);
previewPositioner = document.createElement("div");
previewPositioner.className = "applet_scaler";
previewPositioner.style.position = "relative";
previewPositioner.style.display = "block";
previewPositioner.style.width = oriWidth + "px";
previewPositioner.style.height = oriHeight + "px";
} else {
var previewContainer = previewPositioner.querySelector(".ggb_preview");
}
if (window.GGBT_spinner) {
window.GGBT_spinner.attachSpinner(previewPositioner, "66%");
}
if (parseVersion(html5CodebaseVersion) >= 5) {
parameters.appletOnLoad = function (api) {
var preview = appletElem.querySelector(".ggb_preview");
if (preview) {
preview.parentNode.removeChild(preview);
}
if (window.GGBT_spinner) {
window.GGBT_spinner.removeSpinner(previewPositioner);
}
if (window.GGBT_wsf_view) {
$(window).trigger("resize");
}
oriAppletOnload(api);
};
if (!preRendered) {
previewPositioner.appendChild(previewContainer);
}
} else {
article.appendChild(previewContainer);
}
previewPositioner.appendChild(article);
if (!preRendered) {
appletElem.appendChild(previewPositioner);
}
setTimeout(function () {
applet.resize();
}, 1);
} else {
var appletScaler = document.createElement("div");
appletScaler.className = "applet_scaler";
appletScaler.style.position = "relative";
appletScaler.style.display = "block";
appletScaler.appendChild(article);
appletElem.appendChild(appletScaler);
parameters.appletOnLoad = function (api) {
applet.resize();
oriAppletOnload(api);
};
}
function renderGGBElementWithParams(article, parameters) {
if (parameters && typeof parameters.appletOnLoad === "function" && typeof renderGGBElement === "function") {
renderGGBElement(article, parameters.appletOnLoad);
} else {
renderGGBElement(article);
}
log("GeoGebra HTML5 applet injected and rendered with previously loaded codebase.", parameters);
}
function renderGGBElementOnTube(a, parameters) {
if (typeof renderGGBElement === "undefined") {
if (html5AppletsToProcess === null) {
html5AppletsToProcess = [];
}
html5AppletsToProcess.push({
article: a,
params: parameters
});
window.renderGGBElementReady = function () {
isRenderGGBElementEnabled = true;
if (html5AppletsToProcess !== null && html5AppletsToProcess.length) {
html5AppletsToProcess.forEach(function (obj) {
renderGGBElementWithParams(obj.article, obj.params);
});
html5AppletsToProcess = null;
}
};
if (parseVersion(html5CodebaseVersion) < 5) {
a.className += " geogebraweb";
}
} else {
renderGGBElementWithParams(a, parameters);
}
}
if (loadScript) {
scriptLoadStarted = true;
for (var i = 0; i < article.childNodes.length; i++) {
var tag = article.childNodes[i].tagName;
if (tag === "TABLE") {
article.removeChild(article.childNodes[i]);
i--;
}
}
if (ggbHTML5LoadedScript !== null) {
var el = document.querySelector('script[src="' + ggbHTML5LoadedScript + '"]');
if (el !== undefined && el !== null) {
el.parentNode.removeChild(el);
}
}
var script = document.createElement("script");
var scriptLoaded = function scriptLoaded() {
renderGGBElementOnTube(article, parameters);
};
script.src = html5Codebase + html5CodebaseScript;
ggbHTML5LoadedCodebaseIsWebSimple = html5CodebaseIsWebSimple;
ggbHTML5LoadedCodebaseVersion = html5CodebaseVersion;
ggbHTML5LoadedScript = script.src;
log("GeoGebra HTML5 codebase loaded: '" + html5Codebase + "'.", parameters);
if (!html5OverwrittenCodebase && (!html5OverwrittenCodebaseVersion || html5OverwrittenCodebaseVersion == "5.0")) {
if (html5CodebaseIsWebSimple) {
webSimple.succeeded = webSimple.succeeded || webSimple();
} else {
web3d.succeeded = web3d.succeeded || web3d();
}
scriptLoaded();
} else if (html5Codebase.requirejs) {
__webpack_require__.e(/*! AMD require */ 73644).then(function() { var __WEBPACK_AMD_REQUIRE_ARRAY__ = [__webpack_require__(/*! ./web3d */ 73644)]; (scriptLoaded).apply(null, __WEBPACK_AMD_REQUIRE_ARRAY__);}.bind(this))['catch'](__webpack_require__.oe);
} else {
script.onload = scriptLoaded;
appletElem.appendChild(script);
}
} else {
renderGGBElementOnTube(article, parameters);
}
parameters.height = oriHeight;
parameters.width = oriWidth;
};
var injectScreenshot = function injectScreenshot(appletElem, parameters, showPlayButton) {
var previewContainer = createScreenShotDiv(parameters.width, parameters.height, parameters.borderColor, showPlayButton);
var previewPositioner = document.createElement("div");
previewPositioner.style.position = "relative";
previewPositioner.style.display = "block";
previewPositioner.style.width = parameters.width + "px";
previewPositioner.style.height = parameters.height + "px";
previewPositioner.className = "applet_screenshot applet_scaler" + (showPlayButton ? " applet_screenshot_play" : "");
previewPositioner.appendChild(previewContainer);
var scale = GGBAppletUtils.getScale(parameters, appletElem, showPlayButton);
if (showPlayButton) {
appletElem.appendChild(getPlayButton());
if (!window.GGBT_wsf_view) {
appletElem.style.position = "relative";
}
} else if (window.GGBT_spinner) {
window.GGBT_spinner.attachSpinner(previewPositioner, "66%");
}
appletElem.appendChild(previewPositioner);
if (scale !== 1 && !isNaN(scale)) {
GGBAppletUtils.scaleElement(previewPositioner, scale);
previewPositioner.style.width = parameters.width + "px";
previewPositioner.style.height = parameters.height + "px";
previewPositioner.parentNode.style.width = parameters.width * scale + "px";
previewPositioner.parentNode.style.height = parameters.height * scale + "px";
}
applet.resize = function () {
resizeScreenshot(appletElem, previewContainer, previewPositioner, showPlayButton);
};
window.addEventListener("resize", function (evt) {
applet.resize();
});
applet.resize();
};
function resizeScreenshot(appletElem, previewContainer, previewPositioner, showPlayButton) {
if (!appletElem.contains(previewContainer)) {
return;
}
if (_typeof(window.GGBT_wsf_view) === "object" && window.GGBT_wsf_view.isFullscreen()) {
if (appletElem.id !== "fullscreencontent") {
return;
}
window.GGBT_wsf_view.setCloseBtnPosition(appletElem);
}
var scale = GGBAppletUtils.getScale(parameters, appletElem, showPlayButton);
if (previewPositioner.parentNode !== null) {
if (!isNaN(scale) && scale !== 1) {
GGBAppletUtils.scaleElement(previewPositioner, scale);
previewPositioner.parentNode.style.width = parameters.width * scale + "px";
previewPositioner.parentNode.style.height = parameters.height * scale + "px";
} else {
GGBAppletUtils.scaleElement(previewPositioner, 1);
previewPositioner.parentNode.style.width = parameters.width + "px";
previewPositioner.parentNode.style.height = parameters.height + "px";
}
}
if (_typeof(window.GGBT_wsf_view) === "object" && window.GGBT_wsf_view.isFullscreen()) {
GGBAppletUtils.positionCenter(appletElem);
}
if (_typeof(window.GGBT_ws_header_footer) === "object") {
window.GGBT_ws_header_footer.setWsScrollerHeight();
}
}
applet.onExitFullscreen = function (fullscreenContainer, appletElem) {
appletElem.appendChild(fullscreenContainer);
};
var injectPlayButton = function injectPlayButton(appletElem, parameters, noPreview, type) {
injectScreenshot(appletElem, parameters, true);
var play = function play() {
var elems = [];
for (i = 0; i < appletElem.childNodes.length; i++) {
elems.push(appletElem.childNodes[i]);
}
if (window.GGBT_wsf_view) {
var content = window.GGBT_wsf_view.renderFullScreen(appletElem, parameters.id);
var container = document.getElementById("fullscreencontainer");
var oldcontent = jQuery(appletElem).find(".fullscreencontent");
if (oldcontent.length > 0) {
content.remove();
oldcontent.attr("id", "fullscreencontent").show();
jQuery(container).append(oldcontent);
window.dispatchEvent(new Event("resize"));
} else {
injectHTML5Applet(content, parameters, false);
}
window.GGBT_wsf_view.launchFullScreen(container);
} else {
loadedAppletType = type;
injectHTML5Applet(appletElem, parameters, false);
}
if (!window.GGBT_wsf_view) {
for (i = 0; i < elems.length; i++) {
appletElem.removeChild(elems[i]);
}
}
};
var imgs = appletElem.getElementsByClassName("ggb_preview_play");
for (var i = 0; i < imgs.length; i++) {
imgs[i].addEventListener("click", play, false);
imgs[i].addEventListener("ontouchstart", play, false);
}
if (typeof window.ggbAppletPlayerOnload === "function") {
window.ggbAppletPlayerOnload(appletElem);
}
if (isMobileDevice() && window.GGBT_wsf_view) {
$(".wsf-element-fullscreen-button").remove();
}
};
var getPlayButton = function getPlayButton() {
var playButtonContainer = document.createElement("div");
playButtonContainer.className = "ggb_preview_play icon-applet-play";
if (!window.GGBT_wsf_view) {
var css = "" + ".icon-applet-play {" + " width: 100%;" + " height: 100%;box-sizing: border-box;position: absolute;z-index: 1001;cursor: pointer;border-width: 0px;" + " background-color: transparent;background-repeat: no-repeat;left: 0;top: 0;background-position: center center;" + ' background-image: url("https://www.geogebra.org/images/worksheet/icon-start-applet.png");' + "}" + ".icon-applet-play:hover {" + 'background-image: url("https://www.geogebra.org/images/worksheet/icon-start-applet-hover.png");' + "}";
var style = document.createElement("style");
if (style.styleSheet) {
style.styleSheet.cssText = css;
} else {
style.appendChild(document.createTextNode(css));
}
document.getElementsByTagName("head")[0].appendChild(style);
}
return playButtonContainer;
};
var createScreenShotDiv = function createScreenShotDiv(oriWidth, oriHeight, borderColor, showPlayButton) {
var previewContainer = document.createElement("div");
previewContainer.className = "ggb_preview";
previewContainer.style.position = "absolute";
previewContainer.style.zIndex = "90";
previewContainer.style.width = oriWidth - 2 + "px";
previewContainer.style.height = oriHeight - 2 + "px";
previewContainer.style.top = "0px";
previewContainer.style.left = "0px";
previewContainer.style.overflow = "hidden";
previewContainer.style.backgroundColor = "white";
var bc = "lightgrey";
if (borderColor !== undefined) {
if (borderColor === "none") {
bc = "transparent";
} else {
bc = borderColor;
}
}
previewContainer.style.border = "1px solid " + bc;
var preview = document.createElement("img");
preview.style.position = "relative";
preview.style.zIndex = "1000";
preview.style.top = "-1px";
preview.style.left = "-1px";
if (previewImagePath !== null) {
preview.setAttribute("src", previewImagePath);
}
preview.style.opacity = .7;
if (previewLoadingPath !== null) {
var previewOverlay;
var pWidth, pHeight;
if (!showPlayButton) {
previewOverlay = document.createElement("img");
previewOverlay.style.position = "absolute";
previewOverlay.style.zIndex = "1001";
previewOverlay.style.opacity = 1;
preview.style.opacity = .3;
pWidth = 360;
if (pWidth > oriWidth / 4 * 3) {
pWidth = oriWidth / 4 * 3;
}
pHeight = pWidth / 5.8;
previewOverlay.setAttribute("src", previewLoadingPath);
previewOverlay.setAttribute("width", pWidth);
previewOverlay.setAttribute("height", pHeight);
var pX = (oriWidth - pWidth) / 2;
var pY = (oriHeight - pHeight) / 2;
previewOverlay.style.left = pX + "px";
previewOverlay.style.top = pY + "px";
previewContainer.appendChild(previewOverlay);
}
}
previewContainer.appendChild(preview);
return previewContainer;
};
var detectAppletType = function detectAppletType(preferredType) {
preferredType = preferredType.toLowerCase();
if (preferredType === "html5" || preferredType === "screenshot") {
return preferredType;
}
return "html5";
};
var modules = ["web", "webSimple", "web3d", "tablet", "tablet3d", "phone"];
var setDefaultHTML5CodebaseForVersion = function setDefaultHTML5CodebaseForVersion(version, offline) {
html5CodebaseVersion = version;
if (offline) {
setHTML5CodebaseInternal(html5CodebaseVersion, true);
return;
}
var hasWebSimple = !html5NoWebSimple;
if (hasWebSimple) {
var v = parseVersion(html5CodebaseVersion);
if (!isNaN(v) && v < 4.4) {
hasWebSimple = false;
}
}
var protocol, codebase;
if (window.location.protocol.substr(0, 4) === "http") {
protocol = window.location.protocol;
} else {
protocol = "http:";
}
var index = html5CodebaseVersion.indexOf("//");
if (index > 0) {
codebase = html5CodebaseVersion;
} else if (index === 0) {
codebase = protocol + html5CodebaseVersion;
} else {
codebase = "https://www.geogebra.org/apps/5.2.814.0/";
}
for (var key in modules) {
if (html5CodebaseVersion.slice(modules[key].length * -1) === modules[key] || html5CodebaseVersion.slice((modules[key].length + 1) * -1) === modules[key] + "/") {
setHTML5CodebaseInternal(codebase, false);
return;
}
}
if (!GGBAppletUtils.isFlexibleWorksheetEditor() && hasWebSimple && !views.is3D && !views.AV && !views.SV && !views.CV && !views.EV2 && !views.CP && !views.PC && !views.DA && !views.FI && !views.PV && !valBoolean(parameters.showToolBar) && !valBoolean(parameters.showMenuBar) && !valBoolean(parameters.showAlgebraInput) && !valBoolean(parameters.enableRightClick) && (!parameters.appName || parameters.appName == "classic")) {
codebase += "webSimple/";
} else {
codebase += "web3d/";
}
setHTML5CodebaseInternal(codebase, false);
};
var setHTML5CodebaseInternal = function setHTML5CodebaseInternal(codebase, offline) {
if (codebase.requirejs) {
html5Codebase = codebase;
return;
}
if (codebase.slice(-1) !== "/") {
codebase += "/";
}
html5Codebase = codebase;
if (offline === null) {
offline = codebase.indexOf("http") === -1;
}
isHTML5Offline = offline;
html5CodebaseScript = "web.nocache.js";
html5CodebaseIsWebSimple = false;
var folders = html5Codebase.split("/");
if (folders.length > 1) {
if (!offline && folders[folders.length - 2] === "webSimple") {
html5CodebaseScript = "webSimple.nocache.js";
html5CodebaseIsWebSimple = true;
} else if (modules.indexOf(folders[folders.length - 2]) >= 0) {
html5CodebaseScript = folders[folders.length - 2] + ".nocache.js";
}
}
folders = codebase.split("/");
html5CodebaseVersion = folders[folders.length - 3];
if (html5CodebaseVersion.substr(0, 4) === "test") {
html5CodebaseVersion = html5CodebaseVersion.substr(4, 1) + "." + html5CodebaseVersion.substr(5, 1);
} else if (html5CodebaseVersion.substr(0, 3) === "war" || html5CodebaseVersion.substr(0, 4) === "beta") {
html5CodebaseVersion = "5.0";
}
var numVersion = parseFloat(html5CodebaseVersion);
if (numVersion !== NaN && numVersion < 5 && codebase.indexOf("geogebra.org") >= 0) {
console.log("The GeoGebra HTML5 codebase version " + numVersion + " is deprecated. Using version latest instead.");
setDefaultHTML5CodebaseForVersion("5.0", offline);
}
};
var log = function log(text, parameters) {
if (window.console && window.console.log) {
if (!parameters || typeof parameters.showLogging === "undefined" || parameters.showLogging && parameters.showLogging !== "false") {
console.log(text);
}
}
};
if (parameters.material_id !== undefined) {
fetchParametersFromApi(continueInit);
} else {
continueInit();
}
function continueInit() {
var html5Version = ggbVersion;
if (html5OverwrittenCodebaseVersion !== null) {
html5Version = html5OverwrittenCodebaseVersion;
} else {
if (parseFloat(html5Version) < 5) {
html5Version = "5.0";
}
}
setDefaultHTML5CodebaseForVersion(html5Version, false);
if (html5OverwrittenCodebase !== null) {
setHTML5CodebaseInternal(html5OverwrittenCodebase, isHTML5Offline);
}
initComplete = true;
}
return applet;
};
var GGBAppletUtils = function () {
"use strict";
function isFlexibleWorksheetEditor() {
return window.GGBT_wsf_edit !== undefined;
}
function scaleElement(el, scale) {
if (scale != 1) {
el.style.transformOrigin = "0% 0% 0px";
el.style.webkitTransformOrigin = "0% 0% 0px";
el.style.transform = "scale(" + scale + "," + scale + ")";
el.style.webkitTransform = "scale(" + scale + "," + scale + ")";
el.style.maxWidth = "initial";
if (el.querySelector(".ggb_preview") !== null) {
el.querySelector(".ggb_preview").style.maxWidth = "initial";
}
if (el.querySelectorAll(".ggb_preview img")[0] !== undefined) {
el.querySelectorAll(".ggb_preview img")[0].style.maxWidth = "initial";
}
if (el.querySelectorAll(".ggb_preview img")[1] !== undefined) {
el.querySelectorAll(".ggb_preview img")[1].style.maxWidth = "initial";
}
} else {
el.style.transform = "none";
el.style.webkitTransform = "none";
}
}
function getWidthHeight(appletElem, appletWidth, allowUpscale, autoHeight, noBorder, scaleContainerClass) {
var container = null;
if (scaleContainerClass != undefined && scaleContainerClass != "") {
var parent = appletElem.parentNode;
while (parent != null) {
if ((" " + parent.className + " ").indexOf(" " + scaleContainerClass + " ") > -1) {
container = parent;
break;
} else {
parent = parent.parentNode;
}
}
}
var myWidth = 0,
myHeight = 0,
windowWidth = 0,
border = 0,
borderRight = 0,
borderLeft = 0,
borderTop = 0;
if (container) {
myWidth = container.offsetWidth;
myHeight = Math.max(autoHeight ? container.offsetWidth : 0, container.offsetHeight);
} else {
if (window.innerWidth && document.documentElement.clientWidth) {
myWidth = Math.min(window.innerWidth, document.documentElement.clientWidth);
myHeight = Math.min(window.innerHeight, document.documentElement.clientHeight);
windowWidth = myWidth;
} else {
myWidth = window.innerWidth;
myHeight = window.innerHeight;
windowWidth = window.innerWidth;
}
if (appletElem) {
var rect = appletElem.getBoundingClientRect();
if (rect.left > 0) {
if (rect.left <= myWidth && (noBorder === undefined || !noBorder)) {
if (document.dir === "rtl") {
borderRight = myWidth - rect.width - rect.left;
borderLeft = windowWidth <= 480 ? 10 : 30;
} else {
borderLeft = rect.left;
borderRight = windowWidth <= 480 ? 10 : 30;
}
border = borderLeft + borderRight;
}
}
}
if (appletElem && _typeof(window.GGBT_wsf_view) === "object" && window.GGBT_wsf_view.isFullscreen()) {
var appletRect = appletElem.getBoundingClientRect();
if (window.GGBT_wsf_view.getCloseBtnPosition() === "closePositionRight") {
border = 40;
borderTop = 0;
} else if (window.GGBT_wsf_view.getCloseBtnPosition() === "closePositionTop") {
border = 0;
borderTop = 40;
}
}
}
if (appletElem) {
if ((allowUpscale === undefined || !allowUpscale) && appletWidth > 0 && appletWidth + border < myWidth) {
myWidth = appletWidth;
} else {
myWidth -= border;
}
if (_typeof(window.GGBT_wsf_view) === "object" && window.GGBT_wsf_view.isFullscreen() && (allowUpscale === undefined || !allowUpscale)) {
myHeight -= borderTop;
}
}
return {
width: myWidth,
height: myHeight
};
}
function calcScale(parameters, appletElem, allowUpscale, showPlayButton, scaleContainerClass) {
if (parameters.isScreenshoGenerator) {
return 1;
}
var ignoreHeight = showPlayButton !== undefined && showPlayButton;
var noScaleMargin = parameters.noScaleMargin != undefined && parameters.noScaleMargin;
var valBoolean = function valBoolean(value) {
return value && value !== "false";
};
var autoHeight = valBoolean(parameters.autoHeight);
var windowSize = getWidthHeight(appletElem, parameters.width, allowUpscale, autoHeight, ignoreHeight && window.GGBT_wsf_view || noScaleMargin, scaleContainerClass);
var windowWidth = parseInt(windowSize.width);
var appletWidth = parameters.width;
var appletHeight = parameters.height;
if (appletWidth === undefined) {
var article = appletElem.querySelector(".appletParameters");
if (article) {
appletWidth = article.offsetWidth;
appletHeight = article.offsetHeight;
}
}
var xscale = windowWidth / appletWidth;
var yscale = ignoreHeight ? 1 : windowSize.height / appletHeight;
if (allowUpscale !== undefined && !allowUpscale) {
xscale = Math.min(1, xscale);
yscale = Math.min(1, yscale);
}
return Math.min(xscale, yscale);
}
function getScale(parameters, appletElem, showPlayButton) {
var scale = 1,
autoScale,
allowUpscale = false;
if (parameters.hasOwnProperty("allowUpscale")) {
allowUpscale = parameters.allowUpscale;
}
if (parameters.hasOwnProperty("scale")) {
scale = parseFloat(parameters.scale);
if (isNaN(scale) || scale === null || scale === 0) {
scale = 1;
}
if (scale > 1) {
allowUpscale = true;
}
}
if (appletElem && _typeof(window.GGBT_wsf_view) === "object" && window.GGBT_wsf_view.isFullscreen()) {
allowUpscale = true;
}
if (!(parameters.hasOwnProperty("disableAutoScale") && parameters.disableAutoScale)) {
autoScale = calcScale(parameters, appletElem, allowUpscale, showPlayButton, parameters.scaleContainerClass);
} else {
return scale;
}
if (allowUpscale && (!parameters.hasOwnProperty("scale") || scale === 1)) {
return autoScale;
} else {
return Math.min(scale, autoScale);
}
}
function positionCenter(appletElem) {
var windowWidth = Math.min(window.innerWidth, document.documentElement.clientWidth);
var windowHeight = Math.min(window.innerHeight, document.documentElement.clientHeight);
var appletRect = appletElem.getBoundingClientRect();
var calcHorizontalBorder = (windowWidth - appletRect.width) / 2;
var calcVerticalBorder = (windowHeight - appletRect.height) / 2;
if (calcVerticalBorder < 0) {
calcVerticalBorder = 0;
}
appletElem.style.position = "relative";
if (window.GGBT_wsf_view.getCloseBtnPosition() === "closePositionRight") {
if (calcHorizontalBorder < 40) {
appletElem.style.left = "40px";
} else {
appletElem.style.left = calcHorizontalBorder + "px";
}
appletElem.style.top = calcVerticalBorder + "px";
} else if (window.GGBT_wsf_view.getCloseBtnPosition() === "closePositionTop") {
if (calcVerticalBorder < 40) {
appletElem.style.top = "40px";
} else {
appletElem.style.top = calcVerticalBorder + "px";
}
appletElem.style.left = calcHorizontalBorder + "px";
}
}
function responsiveResize(appletElem, parameters) {
var article = appletElem.querySelector(".appletParameters");
if (article) {
if (_typeof(window.GGBT_wsf_view) === "object" && window.GGBT_wsf_view.isFullscreen()) {
if (parameters.id !== article.getAttribute("data-param-id")) {
return;
}
window.GGBT_wsf_view.setCloseBtnPosition(appletElem);
}
if (article.parentElement && /fullscreen/.test(article.parentElement.className)) {
return;
}
var scale = getScale(parameters, appletElem);
if (isFlexibleWorksheetEditor()) {
article.setAttribute("data-param-scale", scale);
}
var scaleElem = null;
for (var i = 0; i < appletElem.childNodes.length; i++) {
if (appletElem.childNodes[i].className !== undefined && appletElem.childNodes[i].className.match(/^applet_scaler/)) {
scaleElem = appletElem.childNodes[i];
break;
}
}
if (scaleElem !== null && scaleElem.querySelector(".noscale") !== null) {
return;
}
var appName = parameters.id !== undefined ? parameters.id : "ggbApplet";
var app = window[appName];
if ((app == null || !app.recalculateEnvironments) && scaleElem !== null && !scaleElem.className.match(/fullscreen/)) {
scaleElem.parentNode.style.transform = "";
if (!isNaN(scale) && scale !== 1) {
scaleElem.parentNode.style.width = parameters.width * scale + "px";
scaleElem.parentNode.style.height = parameters.height * scale + "px";
scaleElement(scaleElem, scale);
} else {
scaleElement(scaleElem, 1);
scaleElem.parentNode.style.width = parameters.width + "px";
scaleElem.parentNode.style.height = parameters.height + "px";
}
}
if (_typeof(window.GGBT_wsf_view) === "object" && window.GGBT_wsf_view.isFullscreen()) {
positionCenter(appletElem);
}
if (window.GGBT_wsf_view && !window.GGBT_wsf_view.isFullscreen()) {
window.GGBT_wsf_general.adjustContentToResize($(article).parents(".content-added-content"));
}
}
}
return {
responsiveResize: responsiveResize,
isFlexibleWorksheetEditor: isFlexibleWorksheetEditor,
positionCenter: positionCenter,
getScale: getScale,
scaleElement: scaleElement
};
}();
if (true) {
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function () {
return GGBApplet;
}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
}
GGBAppletUtils.makeModule = function (name, permutation) {
function webModule() {
var H = "bootstrap",
I = "begin",
J = "gwt.codesvr." + name + "=",
K = "gwt.codesvr=",
L = name,
M = "startup",
N = "DUMMY",
O = 0,
P = 1,
Q = "iframe",
R = "position:absolute; width:0; height:0; border:none; left: -1000px;",
S = " top: -1000px;",
T = "Chrome",
U = "CSS1Compat",
V = "",
W = "",
X = "
",
Y = "undefined",
Z = "readystatechange",
$ = 10,
_ = "script",
ab = "javascript",
bb = "Failed to load ",
cb = "moduleStartup",
db = "scriptTagAdded",
eb = "moduleRequested",
fb = "meta",
gb = "name",
hb = name + "::",
ib = "::",
jb = "gwt:property",
kb = "content",
lb = "=",
mb = "gwt:onPropertyErrorFn",
nb = 'Bad handler "',
ob = '" for "gwt:onPropertyErrorFn"',
pb = "gwt:onLoadErrorFn",
qb = '" for "gwt:onLoadErrorFn"',
rb = "#",
sb = "?",
tb = "/",
ub = "img",
vb = "clear.cache.gif",
wb = "baseUrl",
xb = name + ".nocache.js",
yb = "base",
zb = "//",
Ab = "selectingPermutation",
Bb = name + ".devmode.js",
Cb = permutation,
Db = ":",
Eb = ".cache.js",
Fb = "loadExternalRefs",
Gb = "end";
var n = window;
var o = document;
q(H, I);
function p() {
var a = n.location.search;
return a.indexOf(J) != -1 || a.indexOf(K) != -1;
}
function q(a, b) {}
webModule.__sendStats = q;
webModule.__moduleName = L;
webModule.__errFn = null;
webModule.__moduleBase = N;
webModule.__softPermutationId = O;
webModule.__computePropValue = null;
webModule.__getPropMap = null;
webModule.__installRunAsyncCode = function () {};
webModule.__gwtStartLoadingFragment = function () {
return null;
};
webModule.__gwt_isKnownPropertyValue = function () {
return false;
};
webModule.__gwt_getMetaProperty = function () {
return null;
};
var r = null;
var s = n.__gwt_activeModules = n.__gwt_activeModules || {};
s[L] = {
moduleName: L
};
webModule.__moduleStartupDone = function (e) {
var f = s[L].bindings;
s[L].bindings = function () {
var a = f ? f() : {};
var b = e[webModule.__softPermutationId];
for (var c = O; c < b.length; c++) {
var d = b[c];
a[d[O]] = d[P];
}
return a;
};
};
var t;
function u() {
v();
return t;
}
function v() {
if (t) {
return;
}
var a = o.createElement(Q);
a.id = L;
a.style.cssText = R + S;
a.tabIndex = -1;
o.body.appendChild(a);
t = a.contentWindow.document;
if (navigator.userAgent.indexOf(T) == -1) {
t.open();
var b = document.compatMode == U ? V : W;
t.write(b + X);
t.close();
}
}
function w(f) {
function g(a) {
function b() {
if (_typeof(o.readyState) == Y) {
return _typeof(o.body) != Y && o.body != null;
}
return /loaded|complete/.test(o.readyState);
}
var c = b();
if (c) {
a();
return;
}
function d() {
if (!c) {
if (!b()) {
return;
}
c = true;
a();
if (o.removeEventListener) {
o.removeEventListener(Z, d, false);
}
if (e) {
clearInterval(e);
}
}
}
if (o.addEventListener) {
o.addEventListener(Z, d, false);
}
var e = setInterval(function () {
d();
}, $);
}
function h(a) {
var b = u();
var c = b.body;
var d = b.createElement(_);
d.language = ab;
d.crossOrigin = W;
d.src = a;
if (webModule.__errFn) {
d.onerror = function () {
webModule.__errFn(L, new Error(bb + a));
};
}
c.appendChild(d);
q(cb, db);
}
q(cb, eb);
g(function () {
h(f);
});
}
webModule.__startLoadingFragment = function (a) {
return C(a);
};
webModule.__installRunAsyncCode = function (a) {
var b = u();
var c = b.body;
var d = b.createElement(_);
d.language = ab;
d.text = a;
c.appendChild(d);
c.removeChild(d);
};
function A() {
var c = {};
var d;
var e;
var f = o.getElementsByTagName(fb);
for (var g = O, h = f.length; g < h; ++g) {
var i = f[g],
j = i.getAttribute(gb),
k;
if (j) {
j = j.replace(hb, W);
if (j.indexOf(ib) >= O) {
continue;
}
if (j == jb) {
k = i.getAttribute(kb);
if (k) {
var l,
m = k.indexOf(lb);
if (m >= O) {
j = k.substring(O, m);
l = k.substring(m + P);
} else {
j = k;
l = W;
}
c[j] = l;
}
} else if (j == mb) {
k = i.getAttribute(kb);
if (k) {
try {
d = eval(k);
} catch (a) {
alert(nb + k + ob);
}
}
} else if (j == pb) {
k = i.getAttribute(kb);
if (k) {
try {
e = eval(k);
} catch (a) {
alert(nb + k + qb);
}
}
}
}
}
__gwt_getMetaProperty = function __gwt_getMetaProperty(a) {
var b = c[a];
return b == null ? null : b;
};
r = d;
webModule.__errFn = e;
}
function B() {
function e(a) {
var b = a.lastIndexOf(rb);
if (b == -1) {
b = a.length;
}
var c = a.indexOf(sb);
if (c == -1) {
c = a.length;
}
var d = a.lastIndexOf(tb, Math.min(c, b));
return d >= O ? a.substring(O, d + P) : W;
}
function f(a) {
if (a.match(/^\w+:\/\//)) {} else {
var b = o.createElement(ub);
b.src = a + vb;
a = e(b.src);
}
return a;
}
function g() {
var a = __gwt_getMetaProperty(wb);
if (a != null) {
return a;
}
return W;
}
function h() {
var a = o.getElementsByTagName(_);
for (var b = O; b < a.length; ++b) {
if (a[b].src.indexOf(xb) != -1) {
return e(a[b].src);
}
}
return W;
}
function i() {
var a = o.getElementsByTagName(yb);
if (a.length > O) {
return a[a.length - P].href;
}
return W;
}
function j() {
var a = o.location;
return a.href == a.protocol + zb + a.host + a.pathname + a.search + a.hash;
}
var k = g();
if (k == W) {
k = h();
}
if (k == W) {
k = i();
}
if (k == W && j()) {
k = e(o.location.href);
}
k = f(k);
return k;
}
function C(a) {
if (a.match(/^\//)) {
return a;
}
if (a.match(/^[a-zA-Z]+:\/\//)) {
return a;
}
return webModule.__moduleBase + a;
}
function D() {
var f = [];
var g = O;
var h = [];
var i = [];
function j(a) {
var b = i[a](),
c = h[a];
if (b in c) {
return b;
}
var d = [];
for (var e in c) {
d[c[e]] = e;
}
if (r) {
r(a, d, b);
}
throw null;
}
__gwt_isKnownPropertyValue = function __gwt_isKnownPropertyValue(a, b) {
return b in h[a];
};
webModule.__getPropMap = function () {
var a = {};
for (var b in h) {
if (h.hasOwnProperty(b)) {
a[b] = j(b);
}
}
return a;
};
webModule.__computePropValue = j;
n.__gwt_activeModules[L].bindings = webModule.__getPropMap;
if (p()) {
return C(Bb);
}
var k;
try {
k = Cb;
var l = k.indexOf(Db);
if (l != -1) {
g = parseInt(k.substring(l + P), $);
k = k.substring(O, l);
}
} catch (a) {}
webModule.__softPermutationId = g;
return C(k + Eb);
}
function F() {
if (!n.__gwt_stylesLoaded) {
n.__gwt_stylesLoaded = {};
}
}
A();
webModule.__moduleBase = "/js/mathematicalGraphics/" + name + "/";
s[L].moduleBase = webModule.__moduleBase;
var G = D();
F();
w(G);
return true;
}
return webModule;
};
if (typeof window.web3d !== "function") {
window.web3d = GGBAppletUtils.makeModule("web3d", "A18F540516513B1292CA7CEF2F6AFC7E");
}
if (typeof window.webSimple !== "function") {
window.webSimple = GGBAppletUtils.makeModule("webSimple", "96B09BF1B436BF53F0DF54116700F16A");
}
window.GGBApplet = GGBApplet;
})();
/***/ }),
/***/ 49199:
/*!*************************************!*\
!*** ./src/pages/tasks/constant.js ***!
\*************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ $Y: function() { return /* binding */ SET_EDITOR_THEME; },
/* harmony export */ A0: function() { return /* binding */ HIDE_EVALUATE_LOADING; },
/* harmony export */ EP: function() { return /* binding */ HIDE_EVALUATE_RESULT; },
/* harmony export */ F_: function() { return /* binding */ MOVE_X; },
/* harmony export */ G9: function() { return /* binding */ UPDATE_TIMESTRAP; },
/* harmony export */ GB: function() { return /* binding */ FETCH_REP_CONTENT; },
/* harmony export */ GR: function() { return /* binding */ GET_DISCUSSES; },
/* harmony export */ GW: function() { return /* binding */ SET_SHOW_DIR; },
/* harmony export */ Hp: function() { return /* binding */ SHOW_TASK_LIST; },
/* harmony export */ Ir: function() { return /* binding */ FETCH_TASK_FAILURE; },
/* harmony export */ N$: function() { return /* binding */ EDIT_REP_CODE; },
/* harmony export */ NZ: function() { return /* binding */ HIDE_TIP_MODAL; },
/* harmony export */ Nv: function() { return /* binding */ HIDE_NOTICE; },
/* harmony export */ OA: function() { return /* binding */ HIDE_PICTURE_VIEW; },
/* harmony export */ OJ: function() { return /* binding */ SET_CHOOSE_ANSWERS; },
/* harmony export */ QF: function() { return /* binding */ ON_AUTO_FORMAT; },
/* harmony export */ RS: function() { return /* binding */ SHOW_REWARD_DIALOG; },
/* harmony export */ RY: function() { return /* binding */ SET_VNC_LOADING; },
/* harmony export */ Rj: function() { return /* binding */ SHOW_TIP_MODAL; },
/* harmony export */ SX: function() { return /* binding */ ACTIVE_DISCUSS_INDEX; },
/* harmony export */ Tp: function() { return /* binding */ SET_EDITOR_FONTSIZE; },
/* harmony export */ Ui: function() { return /* binding */ SHOW_EVALUATE_LOADING; },
/* harmony export */ V1: function() { return /* binding */ EVAL_CHOOSE_END; },
/* harmony export */ Vn: function() { return /* binding */ SET_REWARD; },
/* harmony export */ dL: function() { return /* binding */ SHOW_NOTICE; },
/* harmony export */ fo: function() { return /* binding */ DISABLE_DISCUSS; },
/* harmony export */ gK: function() { return /* binding */ TRIGGER_TAB_FIXED; },
/* harmony export */ hK: function() { return /* binding */ HIDE_TASK_LIST; },
/* harmony export */ i3: function() { return /* binding */ TRIGGER_RIGHT_PANEL_MASK; },
/* harmony export */ ib: function() { return /* binding */ SET_TASK_STAR; },
/* harmony export */ lS: function() { return /* binding */ TRIGGER_ENLARGE_UNITY3D; },
/* harmony export */ m5: function() { return /* binding */ SHOW_EVALUATE_RESULT; },
/* harmony export */ n4: function() { return /* binding */ FETCH_TASK_START; },
/* harmony export */ n_: function() { return /* binding */ SET_ACTIVE_INDEX; },
/* harmony export */ oP: function() { return /* binding */ SET_REPOS; },
/* harmony export */ p2: function() { return /* binding */ SET_EVALUATE_MESSAGE; },
/* harmony export */ pl: function() { return /* binding */ FETCH_ANSWER_INFO; },
/* harmony export */ rM: function() { return /* binding */ PLUS_DISCUSS; },
/* harmony export */ sM: function() { return /* binding */ GET_TASK_LIST; },
/* harmony export */ t2: function() { return /* binding */ CANCEL_REWARD_DIALOG; },
/* harmony export */ tD: function() { return /* binding */ SHOW_DISCUSSES_LOADING; },
/* harmony export */ u8: function() { return /* binding */ TOP_OR_DOWN_DISCUSS; },
/* harmony export */ um: function() { return /* binding */ ON_TAB_TO_SPACE; },
/* harmony export */ vm: function() { return /* binding */ SHOW_PICTURE_VIEW; },
/* harmony export */ wQ: function() { return /* binding */ MOVE_Y; },
/* harmony export */ wj: function() { return /* binding */ EVAL_CHOOSE_START; },
/* harmony export */ wt: function() { return /* binding */ SHOW_ANSWER_LOADING; },
/* harmony export */ yS: function() { return /* binding */ SET_ACTION_TYPE; },
/* harmony export */ yi: function() { return /* binding */ FETCH_TASK_SUCCESS; },
/* harmony export */ ym: function() { return /* binding */ SELECT_UNLOCK_ANSWER; },
/* harmony export */ z2: function() { return /* binding */ UPDATE_TASK_DATA; }
/* harmony export */ });
/* unused harmony exports CREATE_DISCUSS, SHOW_REP_LOADING, SET_REP_PATH, SET_EDITOR_SETTING, SHOW_PATH_LIST, HIDE_PATH_LIST, SET_TAB_INDEX, SET_SSH_TABS, SET_SSH_CONFIGDATA, SET_SSH_CONFIGDATAARR */
var FETCH_TASK_START = 'FETCH_TASK_START';
var FETCH_TASK_FAILURE = 'FETCH_TASK_FAILURE';
var FETCH_TASK_SUCCESS = 'FETCH_TASK_SUCCESS';
var UPDATE_TASK_DATA = 'UPDATE_TASK_DATA';
var HIDE_EVALUATE_RESULT = 'HIDE_EVALUATE_RESULT';
var SHOW_EVALUATE_RESULT = 'SHOW_EVALUATE_RESULT';
var UPDATE_TIMESTRAP = 'UPDATE_TIMESTRAP';
var MOVE_X = 'MOVE_X';
var MOVE_Y = 'MOVE_Y';
var TRIGGER_RIGHT_PANEL_MASK = 'TRIGGER_RIGHT_PANEL_MASK ';
//left_panel_action
var SET_ACTIVE_INDEX = 'SET_ACTIVE_INDEX';
var GET_TASK_LIST = 'GET_TASK_LIST';
var SHOW_TASK_LIST = 'SHOW_TASK_LIST';
var HIDE_TASK_LIST = 'HIDE_TASK_LIST';
var SET_TASK_STAR = 'SET_TASK_STAR';
var TRIGGER_ENLARGE_UNITY3D = 'TRIGGER_ENLARGE_UNITY3D ';
var TRIGGER_TAB_FIXED = 'TRIGGER_TAB_FIXED ';
//discuss action
var GET_DISCUSSES = 'GET_DISCUSSES';
var SHOW_DISCUSSES_LOADING = 'SHOW_DISCUSSES_LOADING';
var TOP_OR_DOWN_DISCUSS = 'TOP_OR_DOWN_DISCUSS';
var PLUS_DISCUSS = 'PLUS_DISCUSS';
var SET_ACTION_TYPE = 'SET_ACTION_TYPE';
var SHOW_REWARD_DIALOG = 'SHOW_REWARD_DIALOG';
var CANCEL_REWARD_DIALOG = 'CANCEL_REWARD_DIALOG';
var SET_REWARD = 'SET_REWARD';
var ACTIVE_DISCUSS_INDEX = 'ACTIVE_DISCUSS_INDEX';
var CREATE_DISCUSS = 'CREATE_DISCUSS';
var DISABLE_DISCUSS = 'DISABLE_DISCUSS';
//answer_panel_action
var SHOW_ANSWER_LOADING = 'SHOW_ANSWER_LOADING';
var FETCH_ANSWER_INFO = 'FETCH_ANSWER_INFO';
var HIDE_TIP_MODAL = 'HIGH_TIP_MODAL';
var SHOW_TIP_MODAL = 'SHOW_TIP_MODAL';
var SELECT_UNLOCK_ANSWER = 'SELECT_UNLOCK_ANSWER';
//choose_repository_action
var SET_CHOOSE_ANSWERS = 'SET_CHOOSE_ANSWERS';
var EVAL_CHOOSE_START = 'EVAL_CHOOSE_START';
var EVAL_CHOOSE_END = 'EVAL_CHOOSE_END';
//code_repository_action
var SHOW_REP_LOADING = 'SHOW_REP_loading';
var FETCH_REP_CONTENT = 'FETCH_REP_CONTENT';
var EDIT_REP_CODE = 'EDIT_REP_CONTENT';
var SET_REP_PATH = 'SET_REP_PATH';
var SHOW_EVALUATE_LOADING = 'SHOW_EVALUATE_LOADING';
var HIDE_EVALUATE_LOADING = 'HIDE_EVALUATE_LOADING';
var SET_EVALUATE_MESSAGE = 'SET_EVALUATE_MESSAGE';
var SET_SHOW_DIR = 'SET_SHOW_DIR';
var SET_EDITOR_SETTING = 'SET_EDITOR_SETTING';
var SET_EDITOR_THEME = 'SET_EDITOR_THEME';
var SET_EDITOR_FONTSIZE = 'SET_EDITOR_FONTSIZE';
var SET_REPOS = 'SET_REPOS';
var SHOW_PATH_LIST = 'SHOW_PATH_LIST';
var HIDE_PATH_LIST = 'HIDE_PATH_LIST';
var HIDE_PICTURE_VIEW = 'HIDE_PICTURE_VIEW';
var SHOW_PICTURE_VIEW = 'SHOW_PICTURE_VIEW';
var SHOW_NOTICE = 'SHOW_NOTICE';
var HIDE_NOTICE = 'HIDE_NOTICE';
var SET_TAB_INDEX = 'SET_TAB_INDEX';
var SET_SSH_TABS = 'SET_SSH_TABS';
var SET_SSH_CONFIGDATA = 'SET_SSH_CONFIGDATA';
var SET_SSH_CONFIGDATAARR = 'SET_SSH_CONFIGDATAARR';
var SET_VNC_LOADING = 'SET_VNC_LOADING ';
var ON_TAB_TO_SPACE = 'ON_TAB_TO_SPACE ';
var ON_AUTO_FORMAT = 'ON_AUTO_FORMAT ';
/***/ }),
/***/ 93939:
/*!*******************************************************!*\
!*** ./src/pages/tasks/left-panel/discuss/service.js ***!
\*******************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ KQ: function() { return /* binding */ submitDiscusses; },
/* harmony export */ KY: function() { return /* binding */ deleteDiscuss; },
/* harmony export */ OY: function() { return /* binding */ hiddenDiscuss; },
/* harmony export */ S8: function() { return /* binding */ rewardDiscuss; },
/* harmony export */ U_: function() { return /* binding */ aiReply; },
/* harmony export */ _Z: function() { return /* binding */ disableDiscuss; },
/* harmony export */ ae: function() { return /* binding */ plusDiscuss; },
/* harmony export */ o7: function() { return /* binding */ fetchDiscusses; },
/* harmony export */ rd: function() { return /* binding */ createDiscuss; },
/* harmony export */ wJ: function() { return /* binding */ topOrDownDiscuss; },
/* harmony export */ wg: function() { return /* binding */ replyDiscuss; }
/* harmony export */ });
/* harmony import */ var _utils_fetch__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/utils/fetch */ 14735);
function fetchDiscusses(shixunIdentifier) {
var page = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .get */ .U2)("/discusses.json", {
container_type: "Shixun",
container_identifier: shixunIdentifier,
page: page - 1
});
}
function topOrDownDiscuss(id, top) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .post */ .v_)("/discusses/".concat(id, "/top_or_down_discuss.json"), {
top: top
});
}
function disableDiscuss(id, is_disable) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .post */ .v_)("/discusses/".concat(id, "/disable_or_open_discuss.json"), {
is_disable: !!is_disable
});
}
function plusDiscuss(id, user_praise) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .post */ .v_)("/discusses/".concat(id, "/plus.json"), {
container_type: 'Discuss',
type: user_praise ? 1 : 0
});
}
function hiddenDiscuss(id, params) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .post */ .v_)("/discusses/".concat(id, "/hidden.json"), params);
}
function rewardDiscuss(id, params) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .post */ .v_)("/discusses/".concat(id, "/reward_code.json"), params);
}
function deleteDiscuss(id) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .ZP)("/api/discusses/".concat(id, ".json"), {
method: 'delete'
});
}
function replyDiscuss(id, content) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .post */ .v_)("/discusses/".concat(id, "/reply.json"), {
container_type: 'Shixun',
content: content
});
}
function createDiscuss(params) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .post */ .v_)("/discusses.json", params);
}
function aiReply(params) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .post */ .v_)("/discusses/ai_reply.json", params);
}
function submitDiscusses(id, content) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .post */ .v_)("/discusses/".concat(id, "/turing.json"), content);
}
/***/ }),
/***/ 78436:
/*!*********************************!*\
!*** ./src/pages/tasks/util.js ***!
\*********************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ Ax: function() { return /* binding */ processTreeData; },
/* harmony export */ Ds: function() { return /* binding */ debounce; },
/* harmony export */ KI: function() { return /* binding */ apiPref; },
/* harmony export */ SI: function() { return /* binding */ getTreeData; },
/* harmony export */ f1: function() { return /* binding */ isCompileOk; }
/* harmony export */ });
/* unused harmony export isProd */
/* harmony import */ var _utils_env__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/utils/env */ 33259);
function isCompileOk(rs) {
var flag = true;
if (rs.length > 0) {
for (var i = 0; i < rs.length; i++) {
if (rs[i].compile_success == 0 || !rs[i].compile_success) {
flag = false;
break;
}
}
} else {
flag = false;
}
return flag;
}
function getTreeData(data) {
var parentKey = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
var result = [];
for (var i = 0; i < data.length; i++) {
var item = data[i];
var key = parentKey ? "".concat(parentKey, "/").concat(item.name) : "".concat(item.name);
result.push({
title: item.name,
isLeaf: item.type === 'tree' ? false : true,
key: key
});
}
return result;
}
function processTreeData(repos, key, newData) {
for (var i = 0; i < repos.length; i++) {
var item = repos[i];
if (item.key === key) {
item.children = newData;
break;
}
if (item.children) {
processTreeData(item.children, key, newData);
}
}
return repos;
}
function debounce(func, wait, immediate) {
var timeout;
return function () {
var context = this,
args = arguments;
var later = function later() {
timeout = null;
if (!immediate) func.apply(context, args);
};
var callNow = immediate && !timeout;
clearTimeout(timeout);
timeout = setTimeout(later, wait);
if (callNow) func.apply(context, args);
};
}
var isProd = true;
var apiPref = _utils_env__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z.API_SERVER;
// export const isProd =
// window.location.href.indexOf('test-') > 0 ||
// window.location.href.indexOf('localhost') > 0
// ? false
// : true;
// export const apiPref = isProd
// ? 'https://www.educoder.net'
// : 'https://test-newweb.educoder.net';
/***/ }),
/***/ 44761:
/*!***********************************************************!*\
!*** ./src/components/CaptureVideo/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_CaptureVideo; }
});
// UNUSED EXPORTS: CaptureVideo
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/regeneratorRuntime.js
var regeneratorRuntime = __webpack_require__(7557);
var regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(regeneratorRuntime);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/asyncToGenerator.js
var asyncToGenerator = __webpack_require__(41498);
var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/slicedToArray.js
var slicedToArray = __webpack_require__(79800);
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
var _react_17_0_2_react = __webpack_require__(59301);
// EXTERNAL MODULE: ./src/.umi-production/exports.ts + 15 modules
var _umi_production_exports = __webpack_require__(8931);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/message/index.js + 4 modules
var message = __webpack_require__(8591);
// EXTERNAL MODULE: ./src/utils/fetch.ts
var fetch = __webpack_require__(14735);
// EXTERNAL MODULE: ./node_modules/_uuid@8.3.0@uuid/dist/esm-browser/v4.js + 4 modules
var v4 = __webpack_require__(1012);
// EXTERNAL MODULE: ./src/components/UploadFile/index.tsx
var UploadFile = __webpack_require__(37748);
// EXTERNAL MODULE: ./node_modules/_ali-oss@6.18.1@ali-oss/dist/aliyun-oss-sdk.js
var aliyun_oss_sdk = __webpack_require__(47257);
var aliyun_oss_sdk_default = /*#__PURE__*/__webpack_require__.n(aliyun_oss_sdk);
;// CONCATENATED MODULE: ./src/components/CaptureVideo/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var CaptureVideomodules = ({"flex_box_center":"flex_box_center___kVqBh","flex_space_between":"flex_space_between___FMnNq","flex_box_vertical_center":"flex_box_vertical_center___meESe","flex_box_center_end":"flex_box_center_end___KFpOb","flex_box_column":"flex_box_column___GHIK9","video":"video___nn_cD"});
// EXTERNAL MODULE: ./src/service/video.ts
var service_video = __webpack_require__(41212);
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js
var jsx_runtime = __webpack_require__(37712);
;// CONCATENATED MODULE: ./src/components/CaptureVideo/index.tsx
/**
* base64 to file
* @param dataurl base64 content
* @param filename set up a meaningful suffix, or you can set mime type in options
* @returns {File|*}
*/
var dataURLtoFile = function dataURLtoFile(dataurl, filename) {
var arr = dataurl.split(',');
var mime = arr[0].match(/:(.*?);/)[1];
var bstr = atob(arr[1]);
var n = bstr.length;
var u8arr = new Uint8Array(n);
while (n--) {
u8arr[n] = bstr.charCodeAt(n);
}
return new Blob([u8arr], {
type: mime
}); // if env support File, also can use this: return new File([u8arr], filename, { type: mime });
};
var CaptureVideo = /*#__PURE__*/(0,_react_17_0_2_react.forwardRef)(function (_ref, ref) {
var time = _ref.time,
number = _ref.number,
supportCamera = _ref.supportCamera,
take_photo = _ref.take_photo,
_ref$isExercise = _ref.isExercise,
isExercise = _ref$isExercise === void 0 ? true : _ref$isExercise,
update = _ref.update,
onUserMediaLoaded = _ref.onUserMediaLoaded;
var video = (0,_react_17_0_2_react.useRef)();
var canvas = (0,_react_17_0_2_react.useRef)();
var params = (0,_umi_production_exports.useParams)();
var _useState = (0,_react_17_0_2_react.useState)([]),
_useState2 = slicedToArray_default()(_useState, 2),
phoneStep = _useState2[0],
setPhoneStep = _useState2[1];
var _useState3 = (0,_react_17_0_2_react.useState)(0),
_useState4 = slicedToArray_default()(_useState3, 2),
status = _useState4[0],
setStatus = _useState4[1]; // 0准备中,1开启失败,2开启成功,3考试结束
var _useState5 = (0,_react_17_0_2_react.useState)(''),
_useState6 = slicedToArray_default()(_useState5, 2),
src = _useState6[0],
setSrc = _useState6[1];
var _useState7 = (0,_react_17_0_2_react.useState)(),
_useState8 = slicedToArray_default()(_useState7, 2),
interval = _useState8[0],
setInter = _useState8[1];
var _useState9 = (0,_react_17_0_2_react.useState)(0),
_useState10 = slicedToArray_default()(_useState9, 2),
isPause = _useState10[0],
setIsPause = _useState10[1]; //0未开始,1开始计时,2停止计时
var uploadImgFile = /*#__PURE__*/function () {
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee(title, imgUrl) {
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
return _context.abrupt("return", (0,fetch/* default */.ZP)('/api/attachments.json', {
method: 'POST',
body: {
file_type: 'base64',
original_filename: title,
file: imgUrl
}
}));
case 1:
case "end":
return _context.stop();
}
}, _callee);
}));
return function uploadImgFile(_x, _x2) {
return _ref2.apply(this, arguments);
};
}();
var takePhotoAndUpload = /*#__PURE__*/function () {
var _ref3 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2(base64Res) {
var timeStamp, res;
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
timeStamp = new Date().valueOf();
if (!base64Res) {
_context2.next = 8;
break;
}
_context2.next = 4;
return uploadImgFile("\u7167\u7247".concat(timeStamp), base64Res);
case 4:
res = _context2.sent;
if (res.status) {
_context2.next = 8;
break;
}
_context2.next = 8;
return (0,service_video/* savePhoto */.Ju)({
container_id: params.categoryId,
container_type: 'Exercise',
attachment_id: res === null || res === void 0 ? void 0 : res.id
});
case 8:
case "end":
return _context2.stop();
}
}, _callee2);
}));
return function takePhotoAndUpload(_x3) {
return _ref3.apply(this, arguments);
};
}();
(0,_react_17_0_2_react.useEffect)(function () {
checkMediaDevices();
return function () {
handleStop();
clearTimer();
};
}, []);
(0,_react_17_0_2_react.useEffect)(function () {
// clearTimer()
if (status === 2 && time && number > 0) {
calcPhoto();
setIsPause(1);
// photograph();
}
}, [time]);
(0,_react_17_0_2_react.useEffect)(function () {
if (isPause === 0) return;
if (isPause === 2) {
clearInterval(interval);
} else {
var n = 0;
var id = setInterval(function () {
if (phoneStep.includes(n)) {
handlePhoto();
}
n++;
}, 1000);
setInter(id);
}
return function () {
return clearInterval(interval);
};
}, [isPause]);
(0,_react_17_0_2_react.useImperativeHandle)(ref, function () {
return {
handlePhoto: handlePhoto,
handleTakePhoto: handleTakePhoto
};
});
var clearTimer = function clearTimer() {
setIsPause(2);
};
var calcPhoto = function calcPhoto() {
var step = time / number;
var arr = [];
function getRndInteger(min, max) {
return parseInt(Math.floor(Math.random() * (max - min + 1)) + min);
}
new Array(number).fill(0).map(function (item, key) {
if (take_photo) {
arr.push(getRndInteger(step * key, step * (key + 1)));
} else {
if (key == 0) {
arr.push(0);
} else {
arr.push(getRndInteger(step * key, step * (key + 1)));
}
}
});
phoneStep = arr;
setPhoneStep([].concat(arr));
console.log(arr);
};
var checkMediaDevices = function checkMediaDevices() {
if (navigator.mediaDevices === undefined) {
navigator.mediaDevices = {};
}
if (navigator.mediaDevices.getUserMedia === undefined) {
navigator.mediaDevices.getUserMedia = function (constraints) {
var getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia;
if (!getUserMedia) {
return Promise.reject(new Error('getUserMedia is not implemented in this browser'));
}
return new Promise(function (resolve, reject) {
getUserMedia.call(navigator, constraints, resolve, reject);
});
};
}
navigator.mediaDevices.getUserMedia({
video: {
width: 640,
height: 480
}
}).then(function (stream) {
streamRef.current = stream;
supportCamera && supportCamera(2);
setStatus(2);
if ("srcObject" in video.current) {
video.current.srcObject = stream;
} else {
video.current.src = window.URL.createObjectURL(stream);
}
video.current.onloadedmetadata = function (e) {
video.current.play();
if (onUserMediaLoaded) {
onUserMediaLoaded();
}
};
video.current.addEventListener('ended', function () {
//结束
console.log("播放结束");
clearTimer();
if (isExercise) {
//在考试时才需要这个提示
message/* default */.ZP.error({
content: "您已经关闭了摄像头,请在10秒钟内恢复摄像头,否则将推出考试",
duration: 10,
key: 9998
});
}
}, false);
})["catch"](function (err) {
setStatus(1);
supportCamera && supportCamera(1);
// 错误信息,以及用户未授权
if (err.message === "Permission denied" || err.name === 'NotAllowedError') {
message/* default */.ZP.error('您已拒绝了获取摄像头');
} else {
message/* default */.ZP.error('摄像头获取失败,或您已拒绝了获取摄像头');
}
console.log("errname: " + err.name);
console.log("err: " + err.message);
});
};
var handlePhoto = function handlePhoto() {
try {
canvas.current.width = video.current.videoWidth;
canvas.current.height = video.current.videoHeight;
var context = canvas.current.getContext('2d');
context.drawImage(video.current, 0, 0, canvas.current.width, canvas.current.height);
setSrc(canvas.current.toDataURL('image/png'));
takePhotoAndUpload(canvas.current.toDataURL('image/png'));
uploadFile(canvas.current.toDataURL('image/png'));
} catch (e) {}
};
var handleTakePhoto = function handleTakePhoto() {
try {
canvas.current.width = video.current.videoWidth;
canvas.current.height = video.current.videoHeight;
var context = canvas.current.getContext('2d');
context.drawImage(video.current, 0, 0, canvas.current.width, canvas.current.height);
return canvas.current.toDataURL('image/png');
} catch (e) {}
};
var streamRef = (0,_react_17_0_2_react.useRef)();
var handleStop = function handleStop() {
try {
var stream = streamRef.current;
var tracks = stream.getTracks();
tracks.forEach(function (track) {
track.stop();
});
video.current.srcObject = null;
} catch (e) {}
};
var uploadFile = /*#__PURE__*/function () {
var _ref4 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3(file) {
var _res$data, _res$data2, _res$data3, _res$data4, _res$data5, _res$data6, _res$data7;
var res, name, client, imgfile;
return regeneratorRuntime_default()().wrap(function _callee3$(_context3) {
while (1) switch (_context3.prev = _context3.next) {
case 0:
_context3.next = 2;
return (0,fetch/* default */.ZP)('/api/buckets/get_upload_token.json', {
method: "get"
});
case 2:
res = _context3.sent;
res.data = JSON.parse((0,UploadFile/* decrypt */.pe)(res.data));
name = (0,v4/* default */.Z)();
client = new (aliyun_oss_sdk_default())({
endpoint: res === null || res === void 0 || (_res$data = res.data) === null || _res$data === void 0 ? void 0 : _res$data.end_point,
region: res === null || res === void 0 || (_res$data2 = res.data) === null || _res$data2 === void 0 ? void 0 : _res$data2.region,
accessKeyId: res === null || res === void 0 || (_res$data3 = res.data) === null || _res$data3 === void 0 ? void 0 : _res$data3.access_key_id,
accessKeySecret: res === null || res === void 0 || (_res$data4 = res.data) === null || _res$data4 === void 0 ? void 0 : _res$data4.access_key_secret,
bucket: res === null || res === void 0 || (_res$data5 = res.data) === null || _res$data5 === void 0 ? void 0 : _res$data5.bucket,
stsToken: res === null || res === void 0 || (_res$data6 = res.data) === null || _res$data6 === void 0 ? void 0 : _res$data6.security_token
});
imgfile = dataURLtoFile(file, name);
client.multipartUpload("".concat(name, ".png"), imgfile, {
timeout: 10 * 1000,
partSize: 10485760,
callback: {
url: res === null || res === void 0 || (_res$data7 = res.data) === null || _res$data7 === void 0 ? void 0 : _res$data7.callback_url,
host: res === null || res === void 0 ? void 0 : res.data.bucket_host,
body: 'bucket=${bucket}&object=${object}&etag=${etag}&size=${size}&mimeType=${mimeType}&my_var=${x:my_var}&login=' + params.login + '&container_id=' + params.categoryId + '&container_type=Exercise'
}
}).then(function (result) {
console.log("result:", result);
})["catch"](function (err) {
console.log("err:", err);
});
case 8:
case "end":
return _context3.stop();
}
}, _callee3);
}));
return function uploadFile(_x4) {
return _ref4.apply(this, arguments);
};
}();
return /*#__PURE__*/(0,jsx_runtime.jsx)(jsx_runtime.Fragment, {
children: status !== 3 && /*#__PURE__*/(0,jsx_runtime.jsxs)("aside", {
className: CaptureVideomodules.video,
id: "screenshot",
children: [status === 0 && /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: "\u6B63\u5728\u5F00\u542F\u6444\u50CF\u5934..."
}), status === 1 && /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: "\u6444\u50CF\u5934\u5F00\u542F\u5931\u8D25"
}), status === 2 && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("video", {
width: "288",
ref: video,
autoPlay: true
}), /*#__PURE__*/(0,jsx_runtime.jsx)("canvas", {
style: {
display: "none"
},
ref: canvas
})]
})]
})
});
});
/* harmony default export */ var components_CaptureVideo = (CaptureVideo);
/***/ }),
/***/ 39239:
/*!********************************************************!*\
!*** ./src/components/DraggableCaptureVideo/index.tsx ***!
\********************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/objectSpread2.js */ 82242);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/regeneratorRuntime.js */ 7557);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/asyncToGenerator.js */ 41498);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/slicedToArray.js */ 79800);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ 59301);
/* harmony import */ var _service_video__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/service/video */ 41212);
/* harmony import */ var _utils_fetch__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/utils/fetch */ 14735);
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! antd */ 43418);
/* harmony import */ var react_draggable__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react-draggable */ 12911);
/* harmony import */ var react_draggable__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(react_draggable__WEBPACK_IMPORTED_MODULE_7__);
/* harmony import */ var _components_CaptureVideo_index__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/components/CaptureVideo/index */ 44761);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! react/jsx-runtime */ 37712);
var DraggableCaptureVideo = function DraggableCaptureVideo(_ref) {
var _ref$style = _ref.style,
style = _ref$style === void 0 ? {} : _ref$style,
_ref$data = _ref.data,
data = _ref$data === void 0 ? {} : _ref$data;
var captureRef = (0,react__WEBPACK_IMPORTED_MODULE_4__.useRef)();
var intervalIdRef = (0,react__WEBPACK_IMPORTED_MODULE_4__.useRef)();
var _useState = (0,react__WEBPACK_IMPORTED_MODULE_4__.useState)(false),
_useState2 = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_3___default()(_useState, 2),
captureVideoVisible = _useState2[0],
setCaptureVideoVisible = _useState2[1];
var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_4__.useState)(false),
_useState4 = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_3___default()(_useState3, 2),
disabled = _useState4[0],
setDisabled = _useState4[1];
var _useState5 = (0,react__WEBPACK_IMPORTED_MODULE_4__.useState)({
left: 0,
top: 0,
bottom: 0,
right: 0
}),
_useState6 = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_3___default()(_useState5, 2),
bounds = _useState6[0],
setBounds = _useState6[1];
var draggleRef = (0,react__WEBPACK_IMPORTED_MODULE_4__.useRef)(null);
(0,react__WEBPACK_IMPORTED_MODULE_4__.useEffect)(function () {
antd__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .Z.info({
title: '提示',
width: 642,
icon: null,
centered: true,
content: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)("div", {
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)("div", {
children: "\u5DF2\u7ECF\u5F00\u542F\u5B66\u4E60\u884C\u4E3A\u5206\u6790\uFF0C\u9700\u8981\u8C03\u7528\u4F60\u8BBE\u5907\u7684\u6444\u50CF\u5934\uFF0C\u8BF7\u5F00\u542F\u6D4F\u89C8\u5668\u6444\u50CF\u5934\u6743\u9650\u3002"
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)("a", {
target: "_blank",
href: "https://www.educoder.net/forums/36625",
children: "\u5982\u4F55\u5F00\u542F\u6D4F\u89C8\u5668\u6444\u50CF\u5934\u6743\u9650\uFF1F"
})]
}),
okText: '我知道了',
onOk: function onOk() {
setCaptureVideoVisible(true);
}
});
return function () {
clearInterval(intervalIdRef.current);
};
}, []);
var uploadFile = /*#__PURE__*/function () {
var _ref2 = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().mark(function _callee(title, imgUrl) {
return _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
return _context.abrupt("return", (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .ZP)('/api/attachments.json', {
method: 'POST',
body: {
file_type: 'base64',
original_filename: title,
file: imgUrl
}
}));
case 1:
case "end":
return _context.stop();
}
}, _callee);
}));
return function uploadFile(_x, _x2) {
return _ref2.apply(this, arguments);
};
}();
var takePhotoAndUpload = /*#__PURE__*/function () {
var _ref3 = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().mark(function _callee2() {
var _captureRef$current;
var base64Res, timeStamp, res;
return _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
base64Res = (_captureRef$current = captureRef.current) === null || _captureRef$current === void 0 ? void 0 : _captureRef$current.handleTakePhoto();
timeStamp = new Date().valueOf();
if (!base64Res) {
_context2.next = 9;
break;
}
_context2.next = 5;
return uploadFile("\u7167\u7247".concat(timeStamp), base64Res);
case 5:
res = _context2.sent;
if (res.status) {
_context2.next = 9;
break;
}
_context2.next = 9;
return (0,_service_video__WEBPACK_IMPORTED_MODULE_5__/* .savePhoto */ .Ju)(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()({
attachment_id: res === null || res === void 0 ? void 0 : res.id
}, data));
case 9:
case "end":
return _context2.stop();
}
}, _callee2);
}));
return function takePhotoAndUpload() {
return _ref3.apply(this, arguments);
};
}();
var _onStart = function onStart(_event, uiData) {
var _draggleRef$current;
var _window$document$docu = window.document.documentElement,
clientWidth = _window$document$docu.clientWidth,
clientHeight = _window$document$docu.clientHeight;
var targetRect = (_draggleRef$current = draggleRef.current) === null || _draggleRef$current === void 0 ? void 0 : _draggleRef$current.getBoundingClientRect();
setBounds({
left: -targetRect.left + uiData.x,
right: clientWidth - (targetRect.right - uiData.x),
top: -targetRect.top + uiData.y,
bottom: clientHeight - (targetRect.bottom - uiData.y)
});
};
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.Fragment, {
children: captureVideoVisible && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)((react_draggable__WEBPACK_IMPORTED_MODULE_7___default()), {
disabled: disabled,
bounds: bounds,
onStart: function onStart(event, uiData) {
return _onStart(event, uiData);
},
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)("div", {
ref: draggleRef,
style: _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()({
position: 'fixed',
left: 40,
top: 92,
zIndex: 101
}, style),
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)("div", {
onMouseOver: function onMouseOver() {
if (disabled) {
setDisabled(false);
}
},
onMouseOut: function onMouseOut() {
setDisabled(true);
},
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)("div", {
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(_components_CaptureVideo_index__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, {
ref: captureRef,
isExercise: false,
onUserMediaLoaded: function onUserMediaLoaded() {
takePhotoAndUpload(); //开启之后马上拍一次
intervalIdRef.current = window.setInterval( /*#__PURE__*/_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2___default()( /*#__PURE__*/_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().mark(function _callee3() {
return _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_1___default()().wrap(function _callee3$(_context3) {
while (1) switch (_context3.prev = _context3.next) {
case 0:
takePhotoAndUpload();
case 1:
case "end":
return _context3.stop();
}
}, _callee3);
})), 1000 * 120);
}
})
})
})
})
})
});
};
/* harmony default export */ __webpack_exports__.Z = (DraggableCaptureVideo);
/***/ }),
/***/ 57747:
/*!****************************************!*\
!*** ./src/components/Hooks/index.tsx ***!
\****************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ y: function() { return /* binding */ useDisableAction; }
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ 59301);
var useDisableAction = function useDisableAction(disable) {
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
if (disable) {
var handleKeyDown = function handleKeyDown(event) {
if (event.key === "F12") {
event.preventDefault();
// 执行你的自定义行为
console.log('F12被禁用');
}
};
var handleContextmenu = function handleContextmenu(event) {
event.preventDefault();
};
document.addEventListener("keydown", handleKeyDown);
document.addEventListener("contextmenu", handleContextmenu);
return function () {
document.removeEventListener("keydown", handleKeyDown);
document.removeEventListener("contextmenu", handleContextmenu);
};
}
}, [disable]);
};
/***/ }),
/***/ 8179:
/*!**************************************************************!*\
!*** ./src/components/ImageDimensions/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_ImageDimensions; }
});
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/regeneratorRuntime.js
var regeneratorRuntime = __webpack_require__(7557);
var regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(regeneratorRuntime);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/asyncToGenerator.js
var asyncToGenerator = __webpack_require__(41498);
var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/slicedToArray.js
var slicedToArray = __webpack_require__(79800);
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
var _react_17_0_2_react = __webpack_require__(59301);
;// CONCATENATED MODULE: ./src/components/ImageDimensions/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var ImageDimensionsmodules = ({"imageDimensions":"imageDimensions___a7crR","img":"img___Kroat","fullWidth":"fullWidth___c492T"});
// EXTERNAL MODULE: ./node_modules/_classnames@2.5.1@classnames/index.js
var _classnames_2_5_1_classnames = __webpack_require__(92310);
var _classnames_2_5_1_classnames_default = /*#__PURE__*/__webpack_require__.n(_classnames_2_5_1_classnames);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/spin/index.js + 1 modules
var spin = __webpack_require__(71418);
// EXTERNAL MODULE: ./node_modules/_markerjs3@2.29.1@markerjs3/markerjs2.esm.js
var markerjs2_esm = __webpack_require__(2859);
// EXTERNAL MODULE: ./src/utils/fetch.ts
var fetch = __webpack_require__(14735);
// EXTERNAL MODULE: ./src/utils/util.tsx
var util = __webpack_require__(63834);
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js
var jsx_runtime = __webpack_require__(37712);
;// CONCATENATED MODULE: ./src/components/ImageDimensions/index.tsx
var ImageDimensions = function ImageDimensions(_ref) {
var data = _ref.data,
className = _ref.className,
fullWidth = _ref.fullWidth,
_ref$style = _ref.style,
style = _ref$style === void 0 ? {} : _ref$style,
onClose = _ref.onClose,
onOk = _ref.onOk,
showFullTools = _ref.showFullTools,
noAssociationId = _ref.noAssociationId;
var imgRef = (0,_react_17_0_2_react.useRef)(null);
var markerArea = (0,_react_17_0_2_react.useRef)(null);
var _useState = (0,_react_17_0_2_react.useState)(false),
_useState2 = slicedToArray_default()(_useState, 2),
loading = _useState2[0],
setLoading = _useState2[1];
var _useState3 = (0,_react_17_0_2_react.useState)('正在加载中'),
_useState4 = slicedToArray_default()(_useState3, 2),
loadingText = _useState4[0],
setLoadingText = _useState4[1];
(0,_react_17_0_2_react.useEffect)(function () {
if (data !== null && data !== void 0 && data.visible) {
document.body.setAttribute('data-custom', 'y-hidden');
} else {
document.body.removeAttribute('data-custom');
}
if (data !== null && data !== void 0 && data.src) {
getImg();
}
}, [data === null || data === void 0 ? void 0 : data.visible]);
var getImg = /*#__PURE__*/function () {
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
var res;
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
setLoading(true);
setLoadingText('正在加载中');
_context.next = 4;
return (0,util/* toDataUrl */.ZJ)(data === null || data === void 0 ? void 0 : data.src);
case 4:
res = _context.sent;
imgRef.current.src = "";
imgRef.current.src = res;
imgRef.current.onload = function () {
initMarkerjs();
};
setLoading(false);
setLoadingText('');
case 10:
case "end":
return _context.stop();
}
}, _callee);
}));
return function getImg() {
return _ref2.apply(this, arguments);
};
}();
var onSave = /*#__PURE__*/function () {
var _ref3 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2(event) {
var res, result;
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
setLoading(true);
setLoadingText('正在保存中');
_context2.next = 4;
return (0,fetch/* default */.ZP)('/api/attachments.json', {
method: 'post',
body: {
file_type: 'base64',
original_filename: data.title,
file: event.dataUrl
}
});
case 4:
res = _context2.sent;
if (!(res !== null && res !== void 0 && res.id && !noAssociationId)) {
_context2.next = 12;
break;
}
_context2.next = 8;
return (0,fetch/* default */.ZP)("/api/attachments/".concat(data.id, "/add_subitem.json"), {
method: 'post',
body: {
subitem_id: res === null || res === void 0 ? void 0 : res.id,
settings: JSON.stringify(event.state)
}
});
case 8:
result = _context2.sent;
if (result.status === 0) {
onOk();
}
_context2.next = 13;
break;
case 12:
if (res !== null && res !== void 0 && res.id) {
onOk(res);
}
case 13:
setLoading(false);
setLoadingText('');
case 15:
case "end":
return _context2.stop();
}
}, _callee2);
}));
return function onSave(_x) {
return _ref3.apply(this, arguments);
};
}();
var dealDom = function dealDom() {
// 删除标签
// 找到href为"https://markerjs.com/"的a标签
var targetLink = document.querySelector('a[href="https://markerjs.com/"]');
if (targetLink && targetLink.parentNode) {
targetLink.parentNode.style.display = 'none';
}
// 设置title
var item = [{
name: '[data-action="select"]',
title: '选择'
}, {
name: '[data-action="delete"]',
title: '删除元素'
}, {
name: '[data-action="undo"]',
title: '撤销'
}, {
name: '[data-type-name="FrameMarker"]',
title: '矩形'
}, {
name: '[data-type-name="FreehandMarker"]',
title: '画线'
}, {
name: '[data-type-name="ArrowMarker"]',
title: '箭头'
}, {
name: '[data-type-name="TextMarker"]',
title: '文本'
}, {
name: '[data-type-name="EllipseMarker"]',
title: '椭圆'
}, {
name: '[data-type-name="HighlightMarker"]',
title: '方块'
}, {
name: '[data-type-name="CalloutMarker"]',
title: '注释'
}, {
name: '[data-action="render"]',
title: '保存'
}, {
name: '[data-action="close"]',
title: '退出'
}];
item.forEach(function (e) {
var targetElement = document.querySelector(e.name);
if (targetElement) {
targetElement.setAttribute('title', e.title);
}
});
};
var initMarkerjs = function initMarkerjs() {
markerArea.current = new markerjs2_esm/* MarkerArea */.hP(imgRef.current);
markerArea.current.addEventListener('render', onSave);
markerArea.current.addEventListener('beforeclose', onClose);
if (showFullTools) {
markerArea.current.availableMarkerTypes = markerArea.current.ALL_MARKER_TYPES;
markerArea.current.uiStyleSettings.redoButtonVisible = true;
markerArea.current.uiStyleSettings.notesButtonVisible = true;
markerArea.current.uiStyleSettings.zoomButtonVisible = true;
markerArea.current.uiStyleSettings.zoomOutButtonVisible = true;
markerArea.current.uiStyleSettings.clearButtonVisible = true;
}
window.markerArea = markerArea.current.uiStyleSettings;
markerArea.current.show();
if (data !== null && data !== void 0 && data.snapshotData) {
markerArea.current.restoreState(data.snapshotData);
}
setTimeout(function () {
dealDom();
}, 300);
};
return /*#__PURE__*/(0,jsx_runtime.jsx)(_react_17_0_2_react.Fragment, {
children: (data === null || data === void 0 ? void 0 : data.visible) && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: _classnames_2_5_1_classnames_default()(ImageDimensionsmodules.imageDimensions, className, fullWidth ? ImageDimensionsmodules.fullWidth : ""),
style: style,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(spin/* default */.Z, {
spinning: loading,
tip: loadingText,
style: {
position: 'absolute'
}
}), /*#__PURE__*/(0,jsx_runtime.jsx)("img", {
className: ImageDimensionsmodules.img,
ref: imgRef
// crossOrigin='anonymous'
// src={data?.src}
})]
})
});
};
/* harmony default export */ var components_ImageDimensions = (ImageDimensions);
/***/ }),
/***/ 84213:
/*!*********************************************************!*\
!*** ./src/components/TestResult/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_TestResult; }
});
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
var _react_17_0_2_react = __webpack_require__(59301);
;// CONCATENATED MODULE: ./src/components/TestResult/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var TestResultmodules = ({"flex_box_center":"flex_box_center___Gc4dd","flex_space_between":"flex_space_between___K2f1v","flex_box_vertical_center":"flex_box_vertical_center___pupRp","flex_box_center_end":"flex_box_center_end___UDLRC","flex_box_column":"flex_box_column___a5uDo","result":"result___gu5zt","title":"title___xrnx2","left":"left___IAxp9","leftNode":"leftNode___HL8fG","right":"right___ZXYmw","rightNode":"rightNode___jYL5_"});
// EXTERNAL MODULE: ./node_modules/_classnames@2.5.1@classnames/index.js
var _classnames_2_5_1_classnames = __webpack_require__(92310);
var _classnames_2_5_1_classnames_default = /*#__PURE__*/__webpack_require__.n(_classnames_2_5_1_classnames);
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js
var jsx_runtime = __webpack_require__(37712);
;// CONCATENATED MODULE: ./src/components/TestResult/index.tsx
var TestResult = function TestResult(_ref) {
var className = _ref.className,
_ref$style = _ref.style,
style = _ref$style === void 0 ? {} : _ref$style,
leftNode = _ref.leftNode,
_ref$leftTitle = _ref.leftTitle,
leftTitle = _ref$leftTitle === void 0 ? '自测输入' : _ref$leftTitle,
rightNode = _ref.rightNode,
_ref$rightTitle = _ref.rightTitle,
rightTitle = _ref$rightTitle === void 0 ? '运行结果' : _ref$rightTitle;
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: _classnames_2_5_1_classnames_default()(TestResultmodules.result, className),
style: style,
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: TestResultmodules.left,
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: TestResultmodules.title,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
style: {
color: '#08CF76'
},
className: "iconfont iconfont icon-zidingyiceshiyongli font14 mr5"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: leftTitle
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: TestResultmodules.leftNode,
children: leftNode
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: TestResultmodules.right,
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: TestResultmodules.title,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
style: {
color: '#00DFFF'
},
className: "iconfont iconfont icon-daimazhihangjieguo font14 mr5"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: rightTitle
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: TestResultmodules.rightNode,
children: rightNode
})]
})]
});
};
/* harmony default export */ var components_TestResult = (TestResult);
/***/ }),
/***/ 37748:
/*!*********************************************!*\
!*** ./src/components/UploadFile/index.tsx ***!
\*********************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ cT: function() { return /* binding */ uploadFile; },
/* harmony export */ pe: function() { return /* binding */ decrypt; }
/* harmony export */ });
/* unused harmony exports reNameFile, UploadFile */
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_toConsumableArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/toConsumableArray.js */ 37205);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_toConsumableArray_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_toConsumableArray_js__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/slicedToArray.js */ 79800);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/objectWithoutProperties.js */ 39647);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/objectSpread2.js */ 82242);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/regeneratorRuntime.js */ 7557);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_4__);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/asyncToGenerator.js */ 41498);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_5__);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react */ 59301);
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! antd */ 73598);
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! antd */ 8591);
/* harmony import */ var _utils_fetch__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/utils/fetch */ 14735);
/* harmony import */ var crypto_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! crypto-js */ 28209);
/* harmony import */ var crypto_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(crypto_js__WEBPACK_IMPORTED_MODULE_8__);
/* harmony import */ var uuid__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! uuid */ 1012);
/* harmony import */ var umi__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! umi */ 8931);
/* harmony import */ var ali_oss__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ali-oss */ 47257);
/* harmony import */ var ali_oss__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(ali_oss__WEBPACK_IMPORTED_MODULE_11__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! react/jsx-runtime */ 37712);
var _excluded = ["user", "cancelUpload"];
var Dragger = antd__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .Z.Dragger;
var decrypt = function decrypt(word) {
var ENC_KEY = "bf3c199c2470cb477d907b1e0917c17b";
var IV = "5183666c72eec9e4";
var key = crypto_js__WEBPACK_IMPORTED_MODULE_8___default().enc.Utf8.parse(ENC_KEY);
var iv = crypto_js__WEBPACK_IMPORTED_MODULE_8___default().enc.Utf8.parse(IV);
var decrypt = crypto_js__WEBPACK_IMPORTED_MODULE_8___default().AES.decrypt(word, key, {
iv: iv,
mode: (crypto_js__WEBPACK_IMPORTED_MODULE_8___default().mode).CBC
// padding: CryptoJS.pad.ZeroPadding
});
return decrypt.toString((crypto_js__WEBPACK_IMPORTED_MODULE_8___default().enc).Utf8);
};
var tempCheckpoint;
// 重命名
var reNameFile = /*#__PURE__*/(/* unused pure expression or super */ null && (function () {
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref) {
var _res$data, _res$data2, _res$data3, _res$data4, _res$data5, _res$data6;
var identifier, oldFilename, newFilename, res, client;
return _regeneratorRuntime().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
identifier = _ref.identifier, oldFilename = _ref.oldFilename, newFilename = _ref.newFilename;
_context.next = 3;
return Fetch('/api/buckets/get_upload_token_for_big_files.json', {
method: "get"
});
case 3:
res = _context.sent;
res.data = JSON.parse(decrypt(res.data));
client = new OSS({
endpoint: res === null || res === void 0 || (_res$data = res.data) === null || _res$data === void 0 ? void 0 : _res$data.end_point,
region: res === null || res === void 0 || (_res$data2 = res.data) === null || _res$data2 === void 0 ? void 0 : _res$data2.region,
accessKeyId: res === null || res === void 0 || (_res$data3 = res.data) === null || _res$data3 === void 0 ? void 0 : _res$data3.access_key_id,
accessKeySecret: res === null || res === void 0 || (_res$data4 = res.data) === null || _res$data4 === void 0 ? void 0 : _res$data4.access_key_secret,
bucket: res === null || res === void 0 || (_res$data5 = res.data) === null || _res$data5 === void 0 ? void 0 : _res$data5.bucket,
stsToken: res === null || res === void 0 || (_res$data6 = res.data) === null || _res$data6 === void 0 ? void 0 : _res$data6.security_token
});
return _context.abrupt("return", new Promise(function (resolve, reject) {
console.log(11111, "".concat(identifier, "/").concat(oldFilename), "".concat(identifier, "/").concat(newFilename), res.data);
client.copy("/".concat(identifier, "/").concat(oldFilename), "/".concat(identifier, "/").concat(newFilename)).then(function (r) {
console.log('拷贝成功', r);
// client
// .delete(`${identifier}/${oldFilename}`)
// .then(r => console.log(r))
// .catch(e => console.log(e));
})["catch"](function (e) {
console.log(e);
// debugger
});
}));
case 7:
case "end":
return _context.stop();
}
}, _callee);
}));
return function reNameFile(_x) {
return _ref2.apply(this, arguments);
};
}()));
var uploadFile = /*#__PURE__*/function () {
var _ref3 = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_5___default()( /*#__PURE__*/_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_4___default()().mark(function _callee2(file, obj, config) {
var _res$data7, _res$data8, _res$data9, _res$data10, _res$data11, _res$data12;
var res, namearrs, name, client;
return _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_4___default()().wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
obj.file_name = file.name;
_context2.next = 3;
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .ZP)('/api/buckets/get_upload_token.json', {
method: "get"
});
case 3:
res = _context2.sent;
console.log("decrypt(res.data):", decrypt(res.data));
res.data = JSON.parse(decrypt(res.data));
namearrs = file.name.split(".");
namearrs.pop();
name = obj.realFileName ? namearrs.join("") : (0,uuid__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .Z)(); // const name = file.name
client = new (ali_oss__WEBPACK_IMPORTED_MODULE_11___default())({
endpoint: res === null || res === void 0 || (_res$data7 = res.data) === null || _res$data7 === void 0 ? void 0 : _res$data7.end_point,
region: res === null || res === void 0 || (_res$data8 = res.data) === null || _res$data8 === void 0 ? void 0 : _res$data8.region,
accessKeyId: res === null || res === void 0 || (_res$data9 = res.data) === null || _res$data9 === void 0 ? void 0 : _res$data9.access_key_id,
accessKeySecret: res === null || res === void 0 || (_res$data10 = res.data) === null || _res$data10 === void 0 ? void 0 : _res$data10.access_key_secret,
bucket: res === null || res === void 0 || (_res$data11 = res.data) === null || _res$data11 === void 0 ? void 0 : _res$data11.bucket,
stsToken: res === null || res === void 0 || (_res$data12 = res.data) === null || _res$data12 === void 0 ? void 0 : _res$data12.security_token
});
return _context2.abrupt("return", new Promise(function (resolve, reject) {
var _res$data13;
client.multipartUpload("".concat(name), new Blob([file], {
type: file.type
}), _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3___default()(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3___default()({
timeout: 200 * 1000,
partSize: 102400
}, config), {}, {
callback: {
url: res === null || res === void 0 || (_res$data13 = res.data) === null || _res$data13 === void 0 ? void 0 : _res$data13.callback_url,
host: res === null || res === void 0 ? void 0 : res.data.bucket_host,
body: 'bucket=${bucket}&object=${object}&etag=${etag}&size=${size}&mimeType=${mimeType}&my_var=${x:my_var}&' + (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_7__/* .parseParams */ .rz)(obj)
// body: 'bucket=${bucket}&object=${object}&etag=${etag}&size=${size}&mimeType=${mimeType}&my_var=${x:my_var}&login=' + obj.login + '&container_id=' + obj.container_id + '&container_type='+obj.container_type,
}
})).then(function (result) {
var _result$data;
file.response = (_result$data = result.data) === null || _result$data === void 0 ? void 0 : _result$data.data;
resolve(result === null || result === void 0 ? void 0 : result.data);
})["catch"](function (err) {
reject(err);
console.log("err:", err);
});
}));
case 11:
case "end":
return _context2.stop();
}
}, _callee2);
}));
return function uploadFile(_x2, _x3, _x4) {
return _ref3.apply(this, arguments);
};
}();
var UploadFile = function UploadFile(_ref4) {
var user = _ref4.user,
cancelUpload = _ref4.cancelUpload,
props = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_2___default()(_ref4, _excluded);
var _useState = (0,react__WEBPACK_IMPORTED_MODULE_6__.useState)([]),
_useState2 = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_1___default()(_useState, 2),
fileList = _useState2[0],
setFileList = _useState2[1];
var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_6__.useState)(),
_useState4 = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_1___default()(_useState3, 2),
client = _useState4[0],
setClient = _useState4[1];
var _props = {
onRemove: function onRemove(e) {
setFileList(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_toConsumableArray_js__WEBPACK_IMPORTED_MODULE_0___default()(fileList.filter(function (item) {
return item.name !== e.name;
})));
props.onChange(fileList.filter(function (item) {
return item.name !== e.name;
}));
},
disabled: props.disabled,
multiple: true,
fileList: fileList === null || fileList === void 0 ? void 0 : fileList.map(function (item) {
return item.file;
}),
customRequest: function customRequest() {},
beforeUpload: function () {
var _beforeUpload = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_5___default()( /*#__PURE__*/_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_4___default()().mark(function _callee3(file) {
var fileSize;
return _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_4___default()().wrap(function _callee3$(_context3) {
while (1) switch (_context3.prev = _context3.next) {
case 0:
fileSize = props.maxSize || 1024 * 1024 * 1024 * 1;
if (!fileList.filter(function (item) {
return item.name === file.name;
}).length) {
_context3.next = 4;
break;
}
antd__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .ZP.info("".concat(file.name, "\u5DF2\u5B58\u5728\uFF0C\u8BF7\u91CD\u65B0\u9009\u62E9"));
return _context3.abrupt("return");
case 4:
if (!((file === null || file === void 0 ? void 0 : file.size) > fileSize)) {
_context3.next = 7;
break;
}
antd__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .ZP.info("\u6587\u4EF6\u8D85\u8FC7".concat(fileSize / 1024 / 1024 / 1024, "GB\uFF0C\u4E0D\u7B26\u5408\u4E0A\u4F20\u8981\u6C42"));
return _context3.abrupt("return", false);
case 7:
fileList.push({
name: file.name,
file: file
});
setFileList(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_toConsumableArray_js__WEBPACK_IMPORTED_MODULE_0___default()(fileList));
props.onChange(fileList);
return _context3.abrupt("return", false);
case 11:
case "end":
return _context3.stop();
}
}, _callee3);
}));
function beforeUpload(_x5) {
return _beforeUpload.apply(this, arguments);
}
return beforeUpload;
}()
};
var _uploadFiles = /*#__PURE__*/function () {
var _ref5 = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_5___default()( /*#__PURE__*/_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_4___default()().mark(function _callee4(file, obj) {
var _res$data14, _res$data15, _res$data16, _res$data17, _res$data18, _res$data19;
var name, res, namearrs, filename;
return _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_4___default()().wrap(function _callee4$(_context4) {
while (1) switch (_context4.prev = _context4.next) {
case 0:
obj.file_name = file.name;
name = file.name;
_context4.next = 4;
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .ZP)('/api/buckets/get_upload_token_for_big_files.json', {
method: "get"
});
case 4:
res = _context4.sent;
res.data = JSON.parse(decrypt(res.data));
if (!((res === null || res === void 0 ? void 0 : res.status) !== 0)) {
_context4.next = 12;
break;
}
fileList[fileList.findIndex(function (item) {
return item.name === name;
})]['status'] = 'error';
fileList[fileList.findIndex(function (item) {
return item.name === name;
})]['file']['status'] = 'error';
props.onChange(fileList);
antd__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .ZP.warning("上传失败,请重新尝试");
return _context4.abrupt("return");
case 12:
client = new (ali_oss__WEBPACK_IMPORTED_MODULE_11___default())({
endpoint: res === null || res === void 0 || (_res$data14 = res.data) === null || _res$data14 === void 0 ? void 0 : _res$data14.end_point,
region: res === null || res === void 0 || (_res$data15 = res.data) === null || _res$data15 === void 0 ? void 0 : _res$data15.region,
accessKeyId: res === null || res === void 0 || (_res$data16 = res.data) === null || _res$data16 === void 0 ? void 0 : _res$data16.access_key_id,
accessKeySecret: res === null || res === void 0 || (_res$data17 = res.data) === null || _res$data17 === void 0 ? void 0 : _res$data17.access_key_secret,
bucket: res === null || res === void 0 || (_res$data18 = res.data) === null || _res$data18 === void 0 ? void 0 : _res$data18.bucket,
stsToken: res === null || res === void 0 || (_res$data19 = res.data) === null || _res$data19 === void 0 ? void 0 : _res$data19.security_token
});
console.log(file, 'file');
setClient(client);
// const filename = uuidv4()
namearrs = file.name.split(".");
namearrs.pop();
filename = obj.realFileName ? namearrs.join(".") : (0,uuid__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .Z)();
return _context4.abrupt("return", new Promise(function (resolve, reject) {
try {
var _res$data20;
client.multipartUpload("".concat(props.identifier, "/").concat(filename).concat(name.indexOf(".") > -1 ? '.' + name.split(".").pop() : ""), new Blob([file.file], {
type: file.file.type
}), {
timeout: 3600 * 1000,
partSize: 1002400,
progress: function progress(p, checkpoint, res) {
try {
console.log("进度", p, checkpoint, res);
var index = fileList.findIndex(function (item) {
return item.name === name;
});
fileList[index]['file']['percent'] = p * 100;
// if (p === 1) {
// fileList[index]['status'] = 'done'
// fileList[index]['file']['status'] = 'done'
// props.onChange(fileList)
// }
fileList[index].tempCheckpoint = checkpoint;
setFileList(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_toConsumableArray_js__WEBPACK_IMPORTED_MODULE_0___default()(fileList));
} catch (e) {}
},
checkpoint: fileList[fileList.findIndex(function (item) {
return item.name === name;
})].tempCheckpoint,
callback: {
customValue: {
id: name + ''
},
url: res === null || res === void 0 || (_res$data20 = res.data) === null || _res$data20 === void 0 ? void 0 : _res$data20.callback_url,
host: res === null || res === void 0 ? void 0 : res.data.bucket_host,
body: 'bucket=${bucket}&object=${object}&etag=${etag}&size=${size}&mimeType=${mimeType}&my_var=${x:my_var}&' + (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_7__/* .parseParams */ .rz)(obj)
}
}).then(function (result) {
var _result$data2;
var index = fileList.findIndex(function (item) {
return item.name === name;
});
var status = 'done';
if (((_result$data2 = result.data) === null || _result$data2 === void 0 ? void 0 : _result$data2.status) === 0) {
var _result$data3;
file.response = (_result$data3 = result.data) === null || _result$data3 === void 0 ? void 0 : _result$data3.data;
var _index = fileList.findIndex(function (item) {
return item.name === name;
});
fileList[_index]['status'] = 'done';
fileList[_index]['file']['status'] = 'done';
} else {
var _result$data4;
antd__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .ZP.warning((_result$data4 = result.data) === null || _result$data4 === void 0 ? void 0 : _result$data4.message);
status = 'error';
}
fileList[index]['status'] = status;
fileList[index]['file']['status'] = status;
props.onChange(fileList);
resolve(result === null || result === void 0 ? void 0 : result.data);
})["catch"](function (err) {
fileList[fileList.findIndex(function (item) {
return item.name === name;
})]['status'] = 'error';
fileList[fileList.findIndex(function (item) {
return item.name === name;
})]['file']['status'] = 'error';
antd__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .ZP.warning("上传失败,请重新尝试");
setFileList(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_toConsumableArray_js__WEBPACK_IMPORTED_MODULE_0___default()(fileList));
props.onChange(fileList);
reject(err);
console.log("err:", err);
});
} catch (e) {
// debugger
}
}));
case 19:
case "end":
return _context4.stop();
}
}, _callee4);
}));
return function _uploadFiles(_x6, _x7) {
return _ref5.apply(this, arguments);
};
}();
(0,react__WEBPACK_IMPORTED_MODULE_6__.useEffect)(function () {
if (fileList.every(function (item) {
return item === 'done' || item === 'error';
})) {
props.onComplete(fileList);
}
}, [fileList]);
(0,react__WEBPACK_IMPORTED_MODULE_6__.useEffect)(function () {
if (cancelUpload) {
var _client;
(_client = client) === null || _client === void 0 || _client.cancel();
}
}, [cancelUpload]);
(0,react__WEBPACK_IMPORTED_MODULE_6__.useEffect)(function () {
if (props.uploading) fileList.map( /*#__PURE__*/function () {
var _ref6 = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_5___default()( /*#__PURE__*/_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_4___default()().mark(function _callee5(item) {
var _user$userInfo, res;
return _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_4___default()().wrap(function _callee5$(_context5) {
while (1) switch (_context5.prev = _context5.next) {
case 0:
if (!((!item.status || item.status === 'error') && !cancelUpload)) {
_context5.next = 6;
break;
}
item.status = 'uploading';
item.file.status = 'uploading';
_context5.next = 5;
return _uploadFiles(item, {
login: user === null || user === void 0 || (_user$userInfo = user.userInfo) === null || _user$userInfo === void 0 ? void 0 : _user$userInfo.login,
container_type: props.container_type,
container_id: props.container_id,
description: props.description,
realFileName: props.realFileName
});
case 5:
res = _context5.sent;
case 6:
case "end":
return _context5.stop();
}
}, _callee5);
}));
return function (_x8) {
return _ref6.apply(this, arguments);
};
}());
}, [props.uploading]);
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_12__.jsx)(Dragger, _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3___default()(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_3___default()({}, _props), {}, {
height: props.height,
className: props.className,
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_12__.jsx)("p", {
className: "ant-upload-hint",
children: props.text || '拖拽文件或者点击上传'
})
}));
};
/* harmony default export */ __webpack_exports__.ZP = ((0,umi__WEBPACK_IMPORTED_MODULE_9__.connect)(function (_ref7) {
var loading = _ref7.loading,
globalSetting = _ref7.globalSetting,
user = _ref7.user;
return {
globalSetting: globalSetting,
loading: loading.models.competitions,
user: user
};
})(UploadFile));
/***/ }),
/***/ 30352:
/*!************************************************************!*\
!*** ./src/components/image-preview/index.tsx + 1 modules ***!
\************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
Z: function() { return /* binding */ image_preview; }
});
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/slicedToArray.js
var slicedToArray = __webpack_require__(79800);
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
var _react_17_0_2_react = __webpack_require__(59301);
;// CONCATENATED MODULE: ./src/components/image-preview/index.less
// extracted by mini-css-extract-plugin
// EXTERNAL MODULE: ./src/components/mediator.js
var mediator = __webpack_require__(34834);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/image/index.js + 26 modules
var es_image = __webpack_require__(10211);
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js
var jsx_runtime = __webpack_require__(37712);
;// CONCATENATED MODULE: ./src/components/image-preview/index.tsx
/* harmony default export */ var image_preview = (function () {
var _useState = (0,_react_17_0_2_react.useState)(''),
_useState2 = slicedToArray_default()(_useState, 2),
url = _useState2[0],
setUrl = _useState2[1];
var _useState3 = (0,_react_17_0_2_react.useState)(0),
_useState4 = slicedToArray_default()(_useState3, 2),
deg = _useState4[0],
setDeg = _useState4[1];
var _useState5 = (0,_react_17_0_2_react.useState)(),
_useState6 = slicedToArray_default()(_useState5, 2),
width = _useState6[0],
setwidth = _useState6[1];
var _useState7 = (0,_react_17_0_2_react.useState)(),
_useState8 = slicedToArray_default()(_useState7, 2),
height = _useState8[0],
setheight = _useState8[1];
// const [movable, setmovable] = useState(false);
var _useState9 = (0,_react_17_0_2_react.useState)(false),
_useState10 = slicedToArray_default()(_useState9, 2),
down = _useState10[0],
setdown = _useState10[1];
var saveUrl = (0,_react_17_0_2_react.useRef)('');
(0,_react_17_0_2_react.useEffect)(function () {
var unSub = mediator/* default */.Z.subscribe('preview-image', function (value) {
setUrl(value);
// window.document.body
// document.body.style.height='100%'
console.log(imgref.current);
document.body.style.overflow = 'hidden';
});
return unSub;
}, []);
(0,_react_17_0_2_react.useEffect)(function () {
document.addEventListener('keydown', onViewEscClose);
return function () {
document.removeEventListener('keydown', onViewEscClose);
};
}, []);
(0,_react_17_0_2_react.useEffect)(function () {
saveUrl.current = url;
}, [url]);
function onViewEscClose(e) {
if (e.keyCode == 27 && saveUrl.current) {
onClose();
}
}
// https://data.educoder.net/api/attachments/1571649
function onClose() {
// document.body.style.height='100%'
document.body.style.overflow = 'auto';
setwidth(undefined);
setheight(undefined);
setDeg(0);
setUrl('');
}
function onRotate() {
setDeg(deg + 90);
}
function big() {
width = imgref.current.width * 1.1;
height = imgref.current.height * 1.1;
setheight(height);
setwidth(width);
}
function small() {
width = imgref.current.width / 1.1;
height = imgref.current.height / 1.1;
setheight(height);
setwidth(width);
}
var maskRef = (0,_react_17_0_2_react.useRef)();
var previewWrapperRef = (0,_react_17_0_2_react.useRef)();
var imgref = (0,_react_17_0_2_react.useRef)();
var handleMaskClick = function handleMaskClick(e) {
if (e.nativeEvent.target === maskRef.current || e.nativeEvent.target === previewWrapperRef.current) {
onClose();
}
};
return /*#__PURE__*/(0,jsx_runtime.jsx)(_react_17_0_2_react.Fragment, {
children: !url ? null : /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "preview-wrp-group",
ref: previewWrapperRef,
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_image/* default */.Z, {
className: "image-preview",
src: url,
style: {
display: 'none'
}
// ref={imgref}
,
preview: {
visible: true,
src: url,
movable: false,
onVisibleChange: function onVisibleChange(value) {
setUrl('');
}
},
alt: "\u9884\u89C8\u5927\u56FE"
})
})
})
});
});
/***/ }),
/***/ 46055:
/*!*************************************************************!*\
!*** ./src/components/markdown-editor/code-block/index.tsx ***!
\*************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ h: function() { return /* binding */ MyCodeMirror; }
/* harmony export */ });
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/objectSpread2.js */ 82242);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/slicedToArray.js */ 79800);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ 59301);
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! antd */ 57809);
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! antd */ 78241);
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! antd */ 3113);
/* harmony import */ var codemirror__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! codemirror */ 89780);
/* harmony import */ var codemirror__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(codemirror__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var codemirror_lib_codemirror_css__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! codemirror/lib/codemirror.css */ 98151);
/* harmony import */ var codemirror_theme_blackboard_css__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! codemirror/theme/blackboard.css */ 83463);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react/jsx-runtime */ 37712);
var Option = antd__WEBPACK_IMPORTED_MODULE_7__["default"].Option;
//https://github.com/codemirror/CodeMirror/issues/4838
var formItemLayout = {
labelCol: {
span: 4
},
wrapperCol: {
span: 20
}
};
var LanguageDesc = {
asp: ['ASP', 'vbscript'],
actionscript: ['ActionScript(3.0)/Flash/Flex', 'clike'],
bash: ['Bash/Bat', 'shell'],
css: ['CSS', 'css'],
c: ['C', 'clike'],
cpp: ['C++', 'clike'],
csharp: ['C#', 'clike'],
coffeescript: ['CoffeeScript', 'coffeescript'],
d: ['D', 'd'],
dart: ['Dart', 'dart'],
delphi: ['Delphi/Pascal', 'pascal'],
erlang: ['Erlang', 'erlang'],
go: ['Golang', 'go'],
groovy: ['Groovy', 'groovy'],
html: ['HTML', 'text/html'],
java: ['Java', 'clike'],
json: ['JSON', 'text/json'],
javascript: ['Javascript', 'javascript'],
lua: ['Lua', 'lua'],
less: ['LESS', 'css'],
markdown: ['Markdown', 'gfm'],
'objective-c': ['Objective-C', 'clike'],
php: ['PHP', 'php'],
perl: ['Perl', 'perl'],
python: ['Python', 'python'],
r: ['R', 'r'],
rst: ['reStructedText', 'rst'],
ruby: ['Ruby', 'ruby'],
sql: ['SQL', 'sql'],
sass: ['SASS/SCSS', 'sass'],
shell: ['Shell', 'shell'],
scala: ['Scala', 'clike'],
swift: ['Swift', 'clike'],
vb: ['VB/VBScript', 'vb'],
xml: ['XML', 'text/xml'],
yaml: ['YAML', 'yaml']
};
/* harmony default export */ __webpack_exports__.Z = (function (_ref) {
var callback = _ref.callback,
onCancel = _ref.onCancel;
var _useState = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)('python'),
_useState2 = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_1___default()(_useState, 2),
mode = _useState2[0],
setMode = _useState2[1];
function onSetMode(value) {
setMode(LanguageDesc[value][1]);
}
function onSubmit(values) {
callback(values);
}
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)(antd__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()(_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()({}, formItemLayout), {}, {
className: "code-block-panel",
initialValues: {
language: 'python',
content: ''
},
onFinish: onSubmit,
style: {
width: 500
},
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(antd__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z.Item, {
label: "\u4EE3\u7801\u8BED\u8A00",
name: "language",
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(antd__WEBPACK_IMPORTED_MODULE_7__["default"], {
getPopupContainer: function getPopupContainer(trigger) {
return trigger.parentNode;
},
onChange: onSetMode,
children: Object.keys(LanguageDesc).map(function (item) {
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(Option, {
value: item,
children: LanguageDesc[item][0]
}, item);
})
})
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(antd__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z.Item, {
label: "\u4EE3\u7801\u5185\u5BB9",
name: "content",
rules: [{
required: true,
message: '请输入代码内容'
}],
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(MyCodeMirror, {
mode: mode
})
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)("div", {
className: "flex-container flex-end",
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(antd__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .ZP, {
type: "primary",
htmlType: "submit",
style: {
marginRight: 10
},
children: "\u786E\u5B9A"
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(antd__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .ZP, {
type: "ghost",
onClick: onCancel,
children: "\u53D6\u6D88"
})]
})]
}));
});
function MyCodeMirror(_ref2) {
var value = _ref2.value,
onChange = _ref2.onChange,
mode = _ref2.mode,
_ref2$options = _ref2.options,
options = _ref2$options === void 0 ? {} : _ref2$options;
var el = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)();
var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(),
_useState4 = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_1___default()(_useState3, 2),
cm = _useState4[0],
setCm = _useState4[1];
(0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(function () {
if (cm) {
var onChangeHandler = function onChangeHandler(cm) {
var content = cm.getValue();
onChange && onChange(content);
};
cm.on('change', onChangeHandler);
return function () {
cm.off('change', onChangeHandler);
};
}
}, [cm, onChange]);
(0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(function () {
if (cm) {
cm.setOption('mode', mode);
}
}, [cm, mode]);
(0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(function () {
if (cm) {
if (value !== cm.getValue() || value === '') {
setTimeout(function () {
cm.setValue(value || '');
}, 300);
}
}
}, [cm, value]);
(0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(function () {
if (el.current && !cm) {
var instance = codemirror__WEBPACK_IMPORTED_MODULE_3___default().fromTextArea(el.current, _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0___default()({
mode: mode,
lineNumbers: true,
lineWrapping: true,
autoCloseBrackets: true,
tabSize: 4,
autofocus: true,
autoCloseTags: true,
matchBrackets: true,
styleActiveLine: true
}, options));
setCm(instance);
}
}, [el.current, cm]);
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("div", {
className: "my-codemirror-container",
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("textarea", {
ref: el
})
});
}
/***/ }),
/***/ 93521:
/*!***************************************************************!*\
!*** ./src/components/markdown-editor/index.tsx + 15 modules ***!
\***************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
Z: function() { return /* binding */ markdown_editor; }
});
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/createForOfIteratorHelper.js
var createForOfIteratorHelper = __webpack_require__(91232);
var createForOfIteratorHelper_default = /*#__PURE__*/__webpack_require__.n(createForOfIteratorHelper);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/slicedToArray.js
var slicedToArray = __webpack_require__(79800);
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/defineProperty.js
var defineProperty = __webpack_require__(85573);
var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty);
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
var _react_17_0_2_react = __webpack_require__(59301);
// EXTERNAL MODULE: ./node_modules/_codemirror@5.58.2@codemirror/lib/codemirror.js
var codemirror = __webpack_require__(89780);
var codemirror_default = /*#__PURE__*/__webpack_require__.n(codemirror);
// EXTERNAL MODULE: ./node_modules/_resize-observer-polyfill@1.5.1@resize-observer-polyfill/dist/ResizeObserver.es.js
var ResizeObserver_es = __webpack_require__(76374);
// EXTERNAL MODULE: ./node_modules/_codemirror@5.58.2@codemirror/lib/codemirror.css
var lib_codemirror = __webpack_require__(98151);
// EXTERNAL MODULE: ./node_modules/_codemirror@5.58.2@codemirror/addon/edit/closetag.js
var closetag = __webpack_require__(6313);
// EXTERNAL MODULE: ./node_modules/_codemirror@5.58.2@codemirror/addon/edit/closebrackets.js
var closebrackets = __webpack_require__(25717);
// EXTERNAL MODULE: ./node_modules/_codemirror@5.58.2@codemirror/addon/display/placeholder.js
var placeholder = __webpack_require__(99498);
// EXTERNAL MODULE: ./node_modules/_codemirror@5.58.2@codemirror/mode/markdown/markdown.js
var markdown = __webpack_require__(25419);
// EXTERNAL MODULE: ./node_modules/_codemirror@5.58.2@codemirror/mode/stex/stex.js
var stex = __webpack_require__(67549);
;// CONCATENATED MODULE: ./src/components/markdown-editor/index.less
// extracted by mini-css-extract-plugin
// EXTERNAL MODULE: ./src/components/RenderHtml/index.tsx
var RenderHtml = __webpack_require__(52961);
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js
var jsx_runtime = __webpack_require__(37712);
;// CONCATENATED MODULE: ./src/components/RenderHtml/stex.tsx
// const latexjs = require('latex-l.js/dist/latex.js');
// import "latex-l.js/dist/css/base.css"
/* harmony default export */ var RenderHtml_stex = (function (_ref) {
var _ref$value = _ref.value,
value = _ref$value === void 0 ? '' : _ref$value,
className = _ref.className,
showTextOnly = _ref.showTextOnly,
showLines = _ref.showLines,
_ref$style = _ref.style,
style = _ref$style === void 0 ? {} : _ref$style;
var html = (0,_react_17_0_2_react.useMemo)(function () {
// try {
// const latex = value || 'This is some text';
// let generator = new latexjs.default.HtmlGenerator({ hyphenate: true })
// let doc = latexjs.default.parse(latex, { generator: generator }).htmlDocument()
// return doc.body.innerHTML
// }catch(e){
// console.log("e:",e)
// return "错误的latex语法,请检查"
// }
return "";
}, [value]);
return /*#__PURE__*/(0,jsx_runtime.jsx)(jsx_runtime.Fragment, {
children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
dangerouslySetInnerHTML: {
__html: html
}
})
});
});
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/objectSpread2.js
var objectSpread2 = __webpack_require__(82242);
var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2);
;// CONCATENATED MODULE: ./src/components/markdown-editor/toolbar/index.less
// extracted by mini-css-extract-plugin
;// CONCATENATED MODULE: ./src/components/markdown-editor/css/iconfont.css
// extracted by mini-css-extract-plugin
;// CONCATENATED MODULE: ./src/components/markdown-editor/toolbar/index.tsx
var DEFAULTICONS = [{
title: '粗体',
icon: 'md-iconfont icon-bold',
actionName: 'bold'
}, {
title: '斜体',
icon: 'md-iconfont icon-italic',
actionName: 'italic'
}, '|', {
title: '无序列表',
icon: 'md-iconfont icon-unorder-list',
actionName: 'list-ul'
}, {
title: '有序列表',
icon: 'md-iconfont icon-order-list',
actionName: 'list-ol'
}, '|', {
title: '行内代码',
icon: 'md-iconfont icon-code',
actionName: 'code'
}, {
title: '代码块(多语言风格)',
icon: 'md-iconfont icon-file-code',
actionName: 'code-block'
}, {
title: '链接',
icon: 'md-iconfont icon-link',
actionName: 'link'
}, '|', {
title: '行内公式',
icon: 'md-iconfont icon-sum',
actionName: 'inline-latex'
}, {
title: '数学图像',
icon: 'iconfont icon-shuxuetuxiang2',
actionName: 'maths-latex'
}, {
title: '多行公式',
icon: 'iconfont icon-jisuan1',
actionName: 'latex'
}, '|', {
title: '添加图片',
icon: 'md-iconfont icon-picture',
actionName: 'upload-image'
}, {
title: '插入画图',
icon: 'iconfont icon-sheji',
actionName: 'draw-image'
}, {
title: '插入流程图',
icon: 'iconfont icon-liucheng',
actionName: 'add-flowchart'
}, {
title: '表格',
icon: 'md-iconfont icon-table',
actionName: 'add-table'
}, '|', {
title: '换行',
icon: 'md-iconfont icon-minus',
actionName: 'line-break'
}, {
title: '清空',
icon: 'md-iconfont icon-eraser',
actionName: 'eraser'
}];
function AButton(_ref) {
var onActionCallback = _ref.onActionCallback,
title = _ref.title,
icon = _ref.icon,
actionName = _ref.actionName,
_ref$className = _ref.className,
className = _ref$className === void 0 ? '' : _ref$className,
children = _ref.children;
function onAction() {
onActionCallback(actionName);
}
return /*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
title: title,
className: className,
onClick: onAction,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "".concat(icon)
}), children]
});
}
/* harmony default export */ var toolbar = (function (_ref2) {
var watch = _ref2.watch,
showNullButton = _ref2.showNullButton,
showNullProgramButton = _ref2.showNullProgramButton,
onActionCallback = _ref2.onActionCallback,
fullScreen = _ref2.fullScreen,
insertTemp = _ref2.insertTemp,
hidetoolBar = _ref2.hidetoolBar,
extraUse = _ref2.extraUse;
var icons = [].concat(DEFAULTICONS, [{
title: "".concat(watch ? '关闭实时预览' : '开启实时预览'),
icon: "".concat(watch ? 'md-iconfont icon-eye-slash' : 'md-iconfont icon-eye'),
actionName: 'trigger-watch'
}]);
return /*#__PURE__*/(0,jsx_runtime.jsxs)("ul", {
className: "markdown-toolbar-container",
children: [!hidetoolBar && icons.map(function (item, index) {
return /*#__PURE__*/(0,jsx_runtime.jsx)("li", {
children: item.actionName ? /*#__PURE__*/(0,jsx_runtime.jsx)(AButton, objectSpread2_default()(objectSpread2_default()({}, item), {}, {
onActionCallback: onActionCallback
})) : /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "v-line"
})
}, index);
}), showNullButton ? /*#__PURE__*/(0,jsx_runtime.jsx)("li", {
children: /*#__PURE__*/(0,jsx_runtime.jsx)(AButton, {
icon: "md-iconfont icon-edit insert-blank",
className: "btn-null",
title: "\u589E\u52A0\u586B\u7A7A",
actionName: "add-null-ch",
onActionCallback: onActionCallback,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "fill-tip",
children: "\u70B9\u51FB\u63D2\u5165\b\u586B\u7A7A\u9879"
})
})
}) : null, showNullProgramButton ? /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("li", {
children: /*#__PURE__*/(0,jsx_runtime.jsx)(AButton, {
icon: "md-iconfont icon-edit insert-blank",
className: "btn-null",
title: "\u589E\u52A0\u586B\u7A7A",
actionName: "add-signal",
onActionCallback: onActionCallback,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "fill-tip",
children: "\u6DFB\u52A0\u5355\u884C\u586B\u7A7A\u9879"
})
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("li", {
children: /*#__PURE__*/(0,jsx_runtime.jsx)(AButton, {
icon: "md-iconfont icon-uniE900 insert-blank",
className: "btn-null",
title: "\u589E\u52A0\u586B\u7A7A",
actionName: "add-multiple",
onActionCallback: onActionCallback,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "fill-tip",
children: "\u6DFB\u52A0\u591A\u884C\u586B\u7A7A\u9879"
})
})
})]
}) : null, insertTemp && /*#__PURE__*/(0,jsx_runtime.jsx)("li", {
children: /*#__PURE__*/(0,jsx_runtime.jsx)(AButton, {
icon: "md-iconfont icon-edit",
className: "btn-null",
title: "\u63D2\u5165\u6A21\u677F",
actionName: "inster-template-".concat(insertTemp),
onActionCallback: onActionCallback,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "fill-tip",
children: "\u63D2\u5165\u6A21\u677F"
})
})
}), extraUse && /*#__PURE__*/(0,jsx_runtime.jsx)("li", {
children: extraUse
}), /*#__PURE__*/(0,jsx_runtime.jsx)("li", {
className: "btn-full-screen",
children: /*#__PURE__*/(0,jsx_runtime.jsx)(AButton, {
icon: "".concat(fullScreen ? 'md-iconfont icon-shrink' : 'md-iconfont icon-enlarge'),
title: fullScreen ? '关闭全屏' : '开启全屏',
actionName: "trigger-full-screen",
onActionCallback: onActionCallback
})
})]
});
});
// EXTERNAL MODULE: ./src/components/modal.tsx
var modal = __webpack_require__(613);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/form/index.js + 19 modules
var es_form = __webpack_require__(78241);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/input/index.js + 5 modules
var input = __webpack_require__(20008);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/button/index.js
var es_button = __webpack_require__(3113);
;// CONCATENATED MODULE: ./src/components/markdown-editor/link/index.tsx
var formItemLayout = {
labelCol: {
span: 4
},
wrapperCol: {
span: 20
}
};
/* harmony default export */ var markdown_editor_link = (function (_ref) {
var callback = _ref.callback,
onCancel = _ref.onCancel;
function onSubmit(values) {
callback(values);
}
return /*#__PURE__*/(0,jsx_runtime.jsxs)(es_form/* default */.Z, objectSpread2_default()(objectSpread2_default()({}, formItemLayout), {}, {
initialValues: {
link: 'http://',
title: ''
},
className: "link-panel",
onFinish: onSubmit,
style: {
width: 500
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
label: "\u94FE\u63A5\u5730\u5740",
name: "link",
rules: [{
required: true,
message: '请输入链接地址'
}],
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
label: "\u94FE\u63A5\u6807\u9898",
name: "title",
rules: [{
required: true,
message: '请输入链接标题'
}],
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {})
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "flex-container flex-end",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
type: "primary",
htmlType: "submit",
style: {
marginRight: 10
},
children: "\u786E\u5B9A"
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
type: "ghost",
onClick: onCancel,
children: "\u53D6\u6D88"
})]
})]
}));
});
// EXTERNAL MODULE: ./src/components/markdown-editor/code-block/index.tsx
var code_block = __webpack_require__(46055);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/message/index.js + 4 modules
var message = __webpack_require__(8591);
;// CONCATENATED MODULE: ./src/components/markdown-editor/upload-image/index.less
// extracted by mini-css-extract-plugin
// EXTERNAL MODULE: ./src/pages/tasks/util.js
var util = __webpack_require__(78436);
;// CONCATENATED MODULE: ./src/components/markdown-editor/upload-image/index.tsx
var useForm = es_form/* default */.Z.useForm;
var style = {
width: 280,
marginRight: 10
};
var upload_image_formItemLayout = {
labelCol: {
span: 5
},
wrapperCol: {
span: 19
}
};
/* harmony default export */ var upload_image = (function (_ref) {
var callback = _ref.callback,
onCancel = _ref.onCancel;
var _useForm = useForm(),
_useForm2 = slicedToArray_default()(_useForm, 1),
form = _useForm2[0];
var currentFile = (0,_react_17_0_2_react.useRef)();
function onSubmit(values) {
callback(values, currentFile.current);
}
function onAddUrl(data, file) {
if (data.status === -1) {
message/* default */.ZP.error(data.message);
return;
}
form.setFieldsValue({
src: "/api/attachments/".concat(data.id),
type: file.type
});
}
function onFileChange(e) {
var file = e.target.files[0];
currentFile.current = file;
uploadImage(file, onAddUrl);
}
return /*#__PURE__*/(0,jsx_runtime.jsxs)(es_form/* default */.Z, objectSpread2_default()(objectSpread2_default()({
form: form
}, upload_image_formItemLayout), {}, {
className: "upload-image-panel",
onFinish: onSubmit,
style: {
width: 470,
overflow: "hidden"
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
label: "\u56FE\u7247\u5730\u5740",
required: true,
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "flex-container",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
noStyle: true,
name: "src",
rules: [{
required: true,
message: '请输入图片地址'
}],
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
style: style
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(UploadButton, {
onFileChange: onFileChange
})]
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
label: "\u56FE\u7247\u63CF\u8FF0",
name: "alt"
// rules={[{ required: true, message: '请输入图片描述' }]}
,
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
style: {
width: 264
}
})
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(es_form/* default */.Z.Item, {
style: {
textAlign: "right"
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
type: "primary",
htmlType: "submit",
style: {
marginRight: 10
},
children: "\u786E\u5B9A"
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
type: "default",
onClick: onCancel,
children: "\u53D6\u6D88"
})]
})]
}));
});
function UploadButton(_ref2) {
var onFileChange = _ref2.onFileChange;
return /*#__PURE__*/(0,jsx_runtime.jsxs)("label", {
className: "upload-button",
style: {
cursor: "pointer"
},
children: ["\u672C\u5730\u4E0A\u4F20", /*#__PURE__*/(0,jsx_runtime.jsx)("input", {
type: "file",
onChange: onFileChange
})]
});
}
function uploadImage(file, callback) {
if (!file) {
throw new String('没有文件');
return;
}
var formData = new FormData();
formData.append('editormd-image-file', file);
formData.append('file_param_name', 'editormd-image-file');
formData.append('byxhr', 'true');
var xhr = new window.XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener('load', function (response) {
callback(JSON.parse(response.target.responseText), file);
}, false);
xhr.addEventListener('error', function (error) {
console.error(error);
}, false);
xhr.open('POST', "".concat(util/* apiPref */.KI, "/api/attachments.json"));
xhr.send(formData);
}
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/row/index.js
var row = __webpack_require__(95237);
// EXTERNAL MODULE: ./src/components/ImageDimensions/index.tsx + 1 modules
var ImageDimensions = __webpack_require__(8179);
;// CONCATENATED MODULE: ./src/components/markdown-editor/draw-image/index.tsx
/* harmony default export */ var draw_image = (function (_ref) {
var callback = _ref.callback,
onCancel = _ref.onCancel;
var canvas = document.createElement('canvas');
var context = canvas.getContext('2d');
canvas.width = 1000;
canvas.height = 800;
context.fillStyle = '#ffffff';
context.fillRect(0, 0, canvas.width, canvas.height);
var base64Image = canvas.toDataURL('image/png');
return /*#__PURE__*/(0,jsx_runtime.jsx)(row/* default */.Z, {
style: {
height: "100vh"
},
children: /*#__PURE__*/(0,jsx_runtime.jsx)(ImageDimensions/* default */.Z, {
fullWidth: true,
noAssociationId: true,
showFullTools: true,
data: {
src: base64Image,
visible: true,
title: String(Date.now())
},
onOk: function onOk(data) {
callback({
src: data.url
});
},
onClose: onCancel
})
});
});
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/regeneratorRuntime.js
var regeneratorRuntime = __webpack_require__(7557);
var regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(regeneratorRuntime);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/asyncToGenerator.js
var asyncToGenerator = __webpack_require__(41498);
var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/toConsumableArray.js
var toConsumableArray = __webpack_require__(37205);
var toConsumableArray_default = /*#__PURE__*/__webpack_require__.n(toConsumableArray);
// EXTERNAL MODULE: ./node_modules/_gojs3@2.3.10@gojs3/release/go-module.js
var go_module = __webpack_require__(12378);
;// CONCATENATED MODULE: ./public/js/go/DrawCommandHandler.js
/*
* Copyright (C) 1998-2023 by Northwoods Software Corporation. All Rights Reserved.
*/
/*
* This is an extension and not part of the main GoJS library.
* Note that the API for this class may change with any version, even point releases.
* If you intend to use an extension in production, you should copy the code to your own source directory.
* Extensions can be found in the GoJS kit under the extensions or extensionsJSM folders.
* See the Extensions intro page (https://gojs.net/latest/intro/extensions.html) for more information.
*/
/**
* @constructor
* @extends CommandHandler
* @class
* This CommandHandler class allows the user to position selected Parts in a diagram
* relative to the first part selected, in addition to overriding the doKeyDown method
* of the CommandHandler for handling the arrow keys in additional manners.
*
* Typical usage:
*
* new go.Diagram("myDiagramDiv",
* {
* commandHandler: $(DrawCommandHandler),
* . . .
* }
* )
*
* or:
*
* myDiagram.commandHandler = new DrawCommandHandler();
*
*/
function DrawCommandHandler() {
go.CommandHandler.call(this);
this._arrowKeyBehavior = "move";
this._pasteOffset = new go.Point(10, 10);
this._lastPasteOffset = new go.Point(0, 0);
}
go.Diagram.inherit(DrawCommandHandler, go.CommandHandler);
/**
* This controls whether or not the user can invoke the {@link #alignLeft}, {@link #alignRight},
* {@link #alignTop}, {@link #alignBottom}, {@link #alignCenterX}, {@link #alignCenterY} commands.
* @this {DrawCommandHandler}
* @return {boolean}
* This returns true:
* if the diagram is not {@link Diagram#isReadOnly},
* if the model is not {@link Model#isReadOnly}, and
* if there are at least two selected {@link Part}s.
*/
DrawCommandHandler.prototype.canAlignSelection = function () {
var diagram = this.diagram;
if (diagram === null || diagram.isReadOnly || diagram.isModelReadOnly) return false;
if (diagram.selection.count < 2) return false;
return true;
};
/**
* Aligns selected parts along the left-most edge of the left-most part.
* @this {DrawCommandHandler}
*/
DrawCommandHandler.prototype.alignLeft = function () {
var diagram = this.diagram;
diagram.startTransaction("aligning left");
var minPosition = Infinity;
diagram.selection.each(function (current) {
if (current instanceof go.Link) return; // skips over go.Link
minPosition = Math.min(current.position.x, minPosition);
});
diagram.selection.each(function (current) {
if (current instanceof go.Link) return; // skips over go.Link
current.move(new go.Point(minPosition, current.position.y));
});
diagram.commitTransaction("aligning left");
};
/**
* Aligns selected parts at the right-most edge of the right-most part.
* @this {DrawCommandHandler}
*/
DrawCommandHandler.prototype.alignRight = function () {
var diagram = this.diagram;
diagram.startTransaction("aligning right");
var maxPosition = -Infinity;
diagram.selection.each(function (current) {
if (current instanceof go.Link) return; // skips over go.Link
var rightSideLoc = current.actualBounds.x + current.actualBounds.width;
maxPosition = Math.max(rightSideLoc, maxPosition);
});
diagram.selection.each(function (current) {
if (current instanceof go.Link) return; // skips over go.Link
current.move(new go.Point(maxPosition - current.actualBounds.width, current.position.y));
});
diagram.commitTransaction("aligning right");
};
/**
* Aligns selected parts at the top-most edge of the top-most part.
* @this {DrawCommandHandler}
*/
DrawCommandHandler.prototype.alignTop = function () {
var diagram = this.diagram;
diagram.startTransaction("alignTop");
var minPosition = Infinity;
diagram.selection.each(function (current) {
if (current instanceof go.Link) return; // skips over go.Link
minPosition = Math.min(current.position.y, minPosition);
});
diagram.selection.each(function (current) {
if (current instanceof go.Link) return; // skips over go.Link
current.move(new go.Point(current.position.x, minPosition));
});
diagram.commitTransaction("alignTop");
};
/**
* Aligns selected parts at the bottom-most edge of the bottom-most part.
* @this {DrawCommandHandler}
*/
DrawCommandHandler.prototype.alignBottom = function () {
var diagram = this.diagram;
diagram.startTransaction("aligning bottom");
var maxPosition = -Infinity;
diagram.selection.each(function (current) {
if (current instanceof go.Link) return; // skips over go.Link
var bottomSideLoc = current.actualBounds.y + current.actualBounds.height;
maxPosition = Math.max(bottomSideLoc, maxPosition);
});
diagram.selection.each(function (current) {
if (current instanceof go.Link) return; // skips over go.Link
current.move(new go.Point(current.actualBounds.x, maxPosition - current.actualBounds.height));
});
diagram.commitTransaction("aligning bottom");
};
/**
* Aligns selected parts at the x-value of the center point of the first selected part.
* @this {DrawCommandHandler}
*/
DrawCommandHandler.prototype.alignCenterX = function () {
var diagram = this.diagram;
var firstSelection = diagram.selection.first();
if (!firstSelection) return;
diagram.startTransaction("aligning Center X");
var centerX = firstSelection.actualBounds.x + firstSelection.actualBounds.width / 2;
diagram.selection.each(function (current) {
if (current instanceof go.Link) return; // skips over go.Link
current.move(new go.Point(centerX - current.actualBounds.width / 2, current.actualBounds.y));
});
diagram.commitTransaction("aligning Center X");
};
/**
* Aligns selected parts at the y-value of the center point of the first selected part.
* @this {DrawCommandHandler}
*/
DrawCommandHandler.prototype.alignCenterY = function () {
var diagram = this.diagram;
var firstSelection = diagram.selection.first();
if (!firstSelection) return;
diagram.startTransaction("aligning Center Y");
var centerY = firstSelection.actualBounds.y + firstSelection.actualBounds.height / 2;
diagram.selection.each(function (current) {
if (current instanceof go.Link) return; // skips over go.Link
current.move(new go.Point(current.actualBounds.x, centerY - current.actualBounds.height / 2));
});
diagram.commitTransaction("aligning Center Y");
};
/**
* Aligns selected parts top-to-bottom in order of the order selected.
* Distance between parts can be specified. Default distance is 0.
* @this {DrawCommandHandler}
* @param {number} distance
*/
DrawCommandHandler.prototype.alignColumn = function (distance) {
var diagram = this.diagram;
diagram.startTransaction("align Column");
if (distance === undefined) distance = 0; // for aligning edge to edge
distance = parseFloat(distance);
var selectedParts = new Array();
diagram.selection.each(function (current) {
if (current instanceof go.Link) return; // skips over go.Link
selectedParts.push(current);
});
for (var i = 0; i < selectedParts.length - 1; i++) {
var current = selectedParts[i];
// adds distance specified between parts
var curBottomSideLoc = current.actualBounds.y + current.actualBounds.height + distance;
var next = selectedParts[i + 1];
next.move(new go.Point(current.actualBounds.x, curBottomSideLoc));
}
diagram.commitTransaction("align Column");
};
/**
* Aligns selected parts left-to-right in order of the order selected.
* Distance between parts can be specified. Default distance is 0.
* @this {DrawCommandHandler}
* @param {number} distance
*/
DrawCommandHandler.prototype.alignRow = function (distance) {
if (distance === undefined) distance = 0; // for aligning edge to edge
distance = parseFloat(distance);
var diagram = this.diagram;
diagram.startTransaction("align Row");
var selectedParts = new Array();
diagram.selection.each(function (current) {
if (current instanceof go.Link) return; // skips over go.Link
selectedParts.push(current);
});
for (var i = 0; i < selectedParts.length - 1; i++) {
var current = selectedParts[i];
// adds distance specified between parts
var curRightSideLoc = current.actualBounds.x + current.actualBounds.width + distance;
var next = selectedParts[i + 1];
next.move(new go.Point(curRightSideLoc, current.actualBounds.y));
}
diagram.commitTransaction("align Row");
};
/**
* This controls whether or not the user can invoke the {@link #rotate} command.
* @this {DrawCommandHandler}
* @param {number=} angle the positive (clockwise) or negative (counter-clockwise) change in the rotation angle of each Part, in degrees.
* @return {boolean}
* This returns true:
* if the diagram is not {@link Diagram#isReadOnly},
* if the model is not {@link Model#isReadOnly}, and
* if there is at least one selected {@link Part}.
*/
DrawCommandHandler.prototype.canRotate = function (number) {
var diagram = this.diagram;
if (diagram === null || diagram.isReadOnly || diagram.isModelReadOnly) return false;
if (diagram.selection.count < 1) return false;
return true;
};
/**
* Change the angle of the parts connected with the given part. This is in the command handler
* so it can be easily accessed for the purpose of creating commands that change the rotation of a part.
* @this {DrawCommandHandler}
* @param {number=} angle the positive (clockwise) or negative (counter-clockwise) change in the rotation angle of each Part, in degrees.
*/
DrawCommandHandler.prototype.rotate = function (angle) {
if (angle === undefined) angle = 90;
var diagram = this.diagram;
diagram.startTransaction("rotate " + angle.toString());
var diagram = this.diagram;
diagram.selection.each(function (current) {
if (current instanceof go.Link || current instanceof go.Group) return; // skips over Links and Groups
current.angle += angle;
});
diagram.commitTransaction("rotate " + angle.toString());
};
/**
* Change the z-ordering of selected parts to pull them forward, in front of all other parts
* in their respective layers.
* All unselected parts in each layer with a selected Part with a non-numeric {@link Part#zOrder} will get a zOrder of zero.
* @this {DrawCommandHandler}
*/
DrawCommandHandler.prototype.pullToFront = function () {
var diagram = this.diagram;
diagram.startTransaction("pullToFront");
// find the affected Layers
var layers = new go.Map();
diagram.selection.each(function (part) {
layers.set(part.layer, 0);
});
// find the maximum zOrder in each Layer
layers.iteratorKeys.each(function (layer) {
var max = 0;
layer.parts.each(function (part) {
if (part.isSelected) return;
var z = part.zOrder;
if (isNaN(z)) {
part.zOrder = 0;
} else {
max = Math.max(max, z);
}
});
layers.set(layer, max);
});
// assign each selected Part.zOrder to the computed value for each Layer
diagram.selection.each(function (part) {
DrawCommandHandler._assignZOrder(part, layers.get(part.layer) + 1);
});
diagram.commitTransaction("pullToFront");
};
/**
* Change the z-ordering of selected parts to push them backward, behind of all other parts
* in their respective layers.
* All unselected parts in each layer with a selected Part with a non-numeric {@link Part#zOrder} will get a zOrder of zero.
* @this {DrawCommandHandler}
*/
DrawCommandHandler.prototype.pushToBack = function () {
var diagram = this.diagram;
diagram.startTransaction("pushToBack");
// find the affected Layers
var layers = new go.Map();
diagram.selection.each(function (part) {
layers.set(part.layer, 0);
});
// find the minimum zOrder in each Layer
layers.iteratorKeys.each(function (layer) {
var min = 0;
layer.parts.each(function (part) {
if (part.isSelected) return;
var z = part.zOrder;
if (isNaN(z)) {
part.zOrder = 0;
} else {
min = Math.min(min, z);
}
});
layers.set(layer, min);
});
// assign each selected Part.zOrder to the computed value for each Layer
diagram.selection.each(function (part) {
DrawCommandHandler._assignZOrder(part,
// make sure a group's nested nodes are also behind everything else
layers.get(part.layer) - 1 - DrawCommandHandler._findGroupDepth(part));
});
diagram.commitTransaction("pushToBack");
};
DrawCommandHandler._assignZOrder = function (part, z, root) {
if (root === undefined) root = part;
if (part.layer === root.layer) part.zOrder = z;
if (part instanceof go.Group) {
part.memberParts.each(function (m) {
DrawCommandHandler._assignZOrder(m, z + 1, root);
});
}
};
DrawCommandHandler._findGroupDepth = function (part) {
if (part instanceof go.Group) {
var d = 0;
part.memberParts.each(function (m) {
d = Math.max(d, DrawCommandHandler._findGroupDepth(m));
});
return d + 1;
} else {
return 0;
}
};
/**
* This implements custom behaviors for arrow key keyboard events.
* Set {@link #arrowKeyBehavior} to "select", "move" (the default), "scroll" (the standard behavior), or "none"
* to affect the behavior when the user types an arrow key.
* @this {DrawCommandHandler}*/
DrawCommandHandler.prototype.doKeyDown = function () {
var diagram = this.diagram;
if (diagram === null) return;
var e = diagram.lastInput;
// determines the function of the arrow keys
if (e.key === "Up" || e.key === "Down" || e.key === "Left" || e.key === "Right") {
var behavior = this.arrowKeyBehavior;
if (behavior === "none") {
// no-op
return;
} else if (behavior === "select") {
this._arrowKeySelect();
return;
} else if (behavior === "move") {
this._arrowKeyMove();
return;
} else if (behavior === "tree") {
this._arrowKeyTree();
return;
}
// otherwise drop through to get the default scrolling behavior
}
// otherwise still does all standard commands
go.CommandHandler.prototype.doKeyDown.call(this);
};
/**
* Collects in an Array all of the non-Link Parts currently in the Diagram.
* @this {DrawCommandHandler}
* @return {Array}
*/
DrawCommandHandler.prototype._getAllParts = function () {
var allParts = new Array();
this.diagram.nodes.each(function (node) {
allParts.push(node);
});
this.diagram.parts.each(function (part) {
allParts.push(part);
});
// note that this ignores Links
return allParts;
};
/**
* To be called when arrow keys should move the Diagram.selection.
* @this {DrawCommandHandler}
*/
DrawCommandHandler.prototype._arrowKeyMove = function () {
var diagram = this.diagram;
var e = diagram.lastInput;
// moves all selected parts in the specified direction
var vdistance = 0;
var hdistance = 0;
// if control is being held down, move pixel by pixel. Else, moves by grid cell size
if (e.control || e.meta) {
vdistance = 1;
hdistance = 1;
} else if (diagram.grid !== null) {
var cellsize = diagram.grid.gridCellSize;
hdistance = cellsize.width;
vdistance = cellsize.height;
}
diagram.startTransaction("arrowKeyMove");
diagram.selection.each(function (part) {
if (e.key === "Up") {
part.move(new go.Point(part.actualBounds.x, part.actualBounds.y - vdistance));
} else if (e.key === "Down") {
part.move(new go.Point(part.actualBounds.x, part.actualBounds.y + vdistance));
} else if (e.key === "Left") {
part.move(new go.Point(part.actualBounds.x - hdistance, part.actualBounds.y));
} else if (e.key === "Right") {
part.move(new go.Point(part.actualBounds.x + hdistance, part.actualBounds.y));
}
});
diagram.commitTransaction("arrowKeyMove");
};
/**
* To be called when arrow keys should change selection.
* @this {DrawCommandHandler}
*/
DrawCommandHandler.prototype._arrowKeySelect = function () {
var diagram = this.diagram;
var e = diagram.lastInput;
// with a part selected, arrow keys change the selection
// arrow keys + shift selects the additional part in the specified direction
// arrow keys + control toggles the selection of the additional part
var nextPart = null;
if (e.key === "Up") {
nextPart = this._findNearestPartTowards(270);
} else if (e.key === "Down") {
nextPart = this._findNearestPartTowards(90);
} else if (e.key === "Left") {
nextPart = this._findNearestPartTowards(180);
} else if (e.key === "Right") {
nextPart = this._findNearestPartTowards(0);
}
if (nextPart !== null) {
if (e.shift) {
nextPart.isSelected = true;
} else if (e.control || e.meta) {
nextPart.isSelected = !nextPart.isSelected;
} else {
diagram.select(nextPart);
}
}
};
/**
* Finds the nearest selectable Part in the specified direction, based on their center points.
* if it doesn't find anything, it just returns the current Part.
* @this {DrawCommandHandler}
* @param {number} dir the direction, in degrees
* @return {Part} the closest Part found in the given direction
*/
DrawCommandHandler.prototype._findNearestPartTowards = function (dir) {
var originalPart = this.diagram.selection.first();
if (originalPart === null) return null;
var originalPoint = originalPart.actualBounds.center;
var allParts = this._getAllParts();
var closestDistance = Infinity;
var closest = originalPart; // if no parts meet the criteria, the same part remains selected
for (var i = 0; i < allParts.length; i++) {
var nextPart = allParts[i];
if (nextPart === originalPart) continue; // skips over currently selected part
if (!nextPart.canSelect()) continue;
var nextPoint = nextPart.actualBounds.center;
var angle = originalPoint.directionPoint(nextPoint);
var anglediff = this._angleCloseness(angle, dir);
if (anglediff <= 45) {
// if this part's center is within the desired direction's sector,
var distance = originalPoint.distanceSquaredPoint(nextPoint);
distance *= 1 + Math.sin(anglediff * Math.PI / 180); // the more different from the intended angle, the further it is
if (distance < closestDistance) {
// and if it's closer than any other part,
closestDistance = distance; // remember it as a better choice
closest = nextPart;
}
}
}
return closest;
};
/**
* @this {DrawCommandHandler}
* @param {number} a
* @param {number} dir
* @return {number}
*/
DrawCommandHandler.prototype._angleCloseness = function (a, dir) {
return Math.min(Math.abs(dir - a), Math.min(Math.abs(dir + 360 - a), Math.abs(dir - 360 - a)));
};
/**
* To be called when arrow keys should change the selected node in a tree and expand or collapse subtrees.
* @this {DrawCommandHandler}
*/
DrawCommandHandler.prototype._arrowKeyTree = function () {
var diagram = this.diagram;
var selected = diagram.selection.first();
if (!(selected instanceof go.Node)) return;
var e = diagram.lastInput;
if (e.key === "Right") {
if (selected.isTreeLeaf) {
// no-op
} else if (!selected.isTreeExpanded) {
if (diagram.commandHandler.canExpandTree(selected)) {
diagram.commandHandler.expandTree(selected); // expands the tree
}
} else {
// already expanded -- select the first child node
var first = this._sortTreeChildrenByY(selected).first();
if (first !== null) diagram.select(first);
}
} else if (e.key === "Left") {
if (!selected.isTreeLeaf && selected.isTreeExpanded) {
if (diagram.commandHandler.canCollapseTree(selected)) {
diagram.commandHandler.collapseTree(selected); // collapses the tree
}
} else {
// either a leaf or is already collapsed -- select the parent node
var parent = selected.findTreeParentNode();
if (parent !== null) diagram.select(parent);
}
} else if (e.key === "Up") {
var parent = selected.findTreeParentNode();
if (parent !== null) {
var list = this._sortTreeChildrenByY(parent);
var idx = list.indexOf(selected);
if (idx > 0) {
// if there is a previous sibling
var prev = list.elt(idx - 1);
// keep looking at the last child until it's a leaf or collapsed
while (prev !== null && prev.isTreeExpanded && !prev.isTreeLeaf) {
var children = this._sortTreeChildrenByY(prev);
prev = children.last();
}
if (prev !== null) diagram.select(prev);
} else {
// no previous sibling -- select parent
diagram.select(parent);
}
}
} else if (e.key === "Down") {
// if at an expanded parent, select the first child
if (selected.isTreeExpanded && !selected.isTreeLeaf) {
var first = this._sortTreeChildrenByY(selected).first();
if (first !== null) diagram.select(first);
} else {
while (selected !== null) {
var parent = selected.findTreeParentNode();
if (parent === null) break;
var list = this._sortTreeChildrenByY(parent);
var idx = list.indexOf(selected);
if (idx < list.length - 1) {
// select next lower node
diagram.select(list.elt(idx + 1));
break;
} else {
// already at bottom of list of children
selected = parent;
}
}
}
}
// make sure the selection is now in the viewport, but not necessarily centered
var sel = diagram.selection.first();
if (sel !== null) diagram.scrollToRect(sel.actualBounds);
};
DrawCommandHandler.prototype._sortTreeChildrenByY = function (node) {
var list = new go.List().addAll(node.findTreeChildrenNodes());
list.sort(function (a, b) {
var aloc = a.location;
var bloc = b.location;
if (aloc.y < bloc.y) return -1;
if (aloc.y > bloc.y) return 1;
if (aloc.x < bloc.x) return -1;
if (aloc.x > bloc.x) return 1;
return 0;
});
return list;
};
/**
* Reset the last offset for pasting.
* @this {DrawCommandHandler}
* @param {Iterable.} coll a collection of {@link Part}s.
*/
DrawCommandHandler.prototype.copyToClipboard = function (coll) {
go.CommandHandler.prototype.copyToClipboard.call(this, coll);
this._lastPasteOffset.set(this.pasteOffset);
};
/**
* Paste from the clipboard with an offset incremented on each paste, and reset when copied.
* @this {DrawCommandHandler}
* @return {Set.} a collection of newly pasted {@link Part}s
*/
DrawCommandHandler.prototype.pasteFromClipboard = function () {
var coll = go.CommandHandler.prototype.pasteFromClipboard.call(this);
this.diagram.moveParts(coll, this._lastPasteOffset);
this._lastPasteOffset.add(this.pasteOffset);
return coll;
};
/**
* Gets or sets the arrow key behavior. Possible values are "move", "select", "scroll", and "tree".
* The default value is "move".
* @name DrawCommandHandler#arrowKeyBehavior
* @return {string}
*/
Object.defineProperty(DrawCommandHandler.prototype, "arrowKeyBehavior", {
get: function get() {
return this._arrowKeyBehavior;
},
set: function set(val) {
if (val !== "move" && val !== "select" && val !== "scroll" && val !== "tree" && val !== "none") {
throw new Error("DrawCommandHandler.arrowKeyBehavior must be either \"move\", \"select\", \"scroll\", \"tree\", or \"none\", not: " + val);
}
this._arrowKeyBehavior = val;
}
});
/**
* Gets or sets the offset at which each repeated pasteSelection() puts the new copied parts from the clipboard.
* The default value is (10,10).
* @name DrawCommandHandler#pasteOffset
* @return {Point}
*/
Object.defineProperty(DrawCommandHandler.prototype, "pasteOffset", {
get: function get() {
return this._pasteOffset;
},
set: function set(val) {
if (!(val instanceof go.Point)) throw new Error("DrawCommandHandler.pasteOffset must be a Point, not: " + val);
this._pasteOffset.set(val);
}
});
/* harmony default export */ var go_DrawCommandHandler = (DrawCommandHandler);
// EXTERNAL MODULE: ./public/js/go/Figures.js
var Figures = __webpack_require__(79006);
// EXTERNAL MODULE: ./node_modules/_gojs-react@1.1.2@gojs-react/lib/esm/gojsreact.js + 1 modules
var gojsreact = __webpack_require__(85160);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/modal/index.js + 16 modules
var es_modal = __webpack_require__(43418);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/col/index.js
var col = __webpack_require__(43604);
// EXTERNAL MODULE: ./src/utils/fetch.ts
var fetch = __webpack_require__(14735);
;// CONCATENATED MODULE: ./src/components/markdown-editor/flow-chart/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var flow_chartmodules = ({"myPaletteDiv":"myPaletteDiv___Xjz2I","maxH60":"maxH60___Pd4Re"});
;// CONCATENATED MODULE: ./src/components/markdown-editor/flow-chart/index.tsx
window.go = go_module;
function FlowChart(_ref) {
var onCancel = _ref.onCancel,
callback = _ref.callback;
var myDiagram = (0,_react_17_0_2_react.useRef)();
var myDiagramDivRef = (0,_react_17_0_2_react.useRef)();
var myPaletteDivRef = (0,_react_17_0_2_react.useRef)();
var hidedenContentRef = (0,_react_17_0_2_react.useRef)(false);
var modalRef = (0,_react_17_0_2_react.useRef)(false);
var _useState = (0,_react_17_0_2_react.useState)(0),
_useState2 = slicedToArray_default()(_useState, 2),
updateModal = _useState2[0],
setUpdateModal = _useState2[1];
function initDiagram() {
var $ = go_module.GraphObject.make;
var colors = {
red: "#ff3333",
blue: "#3358ff",
green: "#25ad23",
magenta: "#d533ff",
purple: "#7d33ff",
orange: "#ff6233",
brown: "#8e571e",
white: "#ffffff",
black: "#000000",
beige: "#fffcd5",
extralightblue: "#d5ebff",
extralightred: "#f2dfe0",
lightblue: "#a5d2fa",
lightgray: "#cccccc",
lightgreen: "#b3e6b3",
lightred: "#fcbbbd"
};
myDiagram.current = new go_module.Diagram(myDiagramDivRef.current, {
padding: 20,
// extra space when scrolled all the way
grid: $(go_module.Panel, "Grid",
// a simple 10x10 grid
$(go_module.Shape, "LineH", {
stroke: "lightgray",
strokeWidth: 0.5
}), $(go_module.Shape, "LineV", {
stroke: "lightgray",
strokeWidth: 0.5
})),
"draggingTool.isGridSnapEnabled": true,
handlesDragDropForTopLevelParts: true,
mouseDrop: function mouseDrop(e) {
var ok = e.diagram.commandHandler.addTopLevelParts(e.diagram.selection, true);
if (!ok) e.diagram.currentTool.doCancel();
},
commandHandler: $(go_DrawCommandHandler),
// support offset copy-and-paste
"clickCreatingTool.archetypeNodeData": {
text: "未命名",
fill: null,
stroke: null,
borderColor: "rgba(0,0,0,0)"
},
// create a new node by double-clicking in background
"PartCreated": function PartCreated(e) {
var node = e.subject; // the newly inserted Node -- now need to snap its location to the grid
node.location = node.location.copy().snapToGridPoint(e.diagram.grid.gridOrigin, e.diagram.grid.gridCellSize);
setTimeout(function () {
// and have the user start editing its text
e.diagram.commandHandler.editTextBlock();
}, 20);
},
"commandHandler.archetypeGroupData": {
isGroup: true,
text: "NEW GROUP"
},
"SelectionGrouped": function SelectionGrouped(e) {
var group = e.subject;
setTimeout(function () {
// and have the user start editing its text
e.diagram.commandHandler.editTextBlock();
});
},
"LinkRelinked": function LinkRelinked(e) {
// re-spread the connections of other links connected with both old and new nodes
var oldnode = e.parameter.part;
oldnode.invalidateConnectedLinks();
var link = e.subject;
if (e.diagram.toolManager.linkingTool.isForwards) {
link.toNode.invalidateConnectedLinks();
} else {
link.fromNode.invalidateConnectedLinks();
}
},
"undoManager.isEnabled": true
});
// Node template
myDiagram.current.nodeTemplate = $(go_module.Node, "Auto", {
locationSpot: go_module.Spot.Center,
locationObjectName: "SHAPE",
desiredSize: new go_module.Size(120, 60),
minSize: new go_module.Size(40, 40),
resizable: true,
resizeCellSize: new go_module.Size(10, 10),
rotatable: true
// rotateObjectName: "SHAPE", // rotate the Shape without rotating the label
},
// these Bindings are TwoWay because the DraggingTool and ResizingTool modify the target properties
new go_module.Binding("location", "loc", go_module.Point.parse).makeTwoWay(go_module.Point.stringify), new go_module.Binding("desiredSize", "size", go_module.Size.parse).makeTwoWay(go_module.Size.stringify), $(go_module.Shape, {
// the border
name: "SHAPE",
fill: colors.white,
cursor: "pointer",
portId: "",
fromLinkable: true,
toLinkable: true,
fromLinkableDuplicates: true,
toLinkableDuplicates: true,
fromSpot: go_module.Spot.AllSides,
toSpot: go_module.Spot.AllSides
}, new go_module.Binding("figure"), new go_module.Binding("fill"), new go_module.Binding("stroke", "borderColor"), new go_module.Binding("strokeWidth", "thickness"), new go_module.Binding("strokeDashArray", "dash")),
// this Shape prevents mouse events from reaching the middle of the port
$(go_module.Shape, {
width: 100,
height: 20,
strokeWidth: 0,
fill: "transparent"
}), $(go_module.TextBlock, {
margin: 1,
textAlign: "center",
overflow: go_module.TextBlock.OverflowEllipsis,
editable: true
},
// this Binding is TwoWay due to the user editing the text with the TextEditingTool
new go_module.Binding("text").makeTwoWay(), new go_module.Binding("stroke", "color")));
myDiagram.current.nodeTemplate.toolTip = $("ToolTip",
// show some detailed information
$(go_module.Panel, "Vertical", {
maxSize: new go_module.Size(200, NaN)
},
// limit width but not height
$(go_module.TextBlock, {
font: "bold 10pt sans-serif",
textAlign: "center"
}, new go_module.Binding("text")), $(go_module.TextBlock, {
font: "10pt sans-serif",
textAlign: "center"
}, new go_module.Binding("text", "details"))));
// Node selection adornment
// Include four large triangular buttons so that the user can easily make a copy
// of the node, move it to be in that direction relative to the original node,
// and add a link to the new node.
function makeArrowButton(spot, fig) {
var maker = function maker(e, shape) {
e.handled = true;
e.diagram.model.commit(function (m) {
var selnode = shape.part.adornedPart;
// create a new node in the direction of the spot
var p = new go_module.Point().setRectSpot(selnode.actualBounds, spot);
p.subtract(selnode.location);
p.scale(2, 2);
p.x += Math.sign(p.x) * 130;
p.y += Math.sign(p.y) * 130;
p.add(selnode.location);
p.snapToGridPoint(e.diagram.grid.gridOrigin, e.diagram.grid.gridCellSize);
// make the new node a copy of the selected node
var nodedata = m.copyNodeData(selnode.data);
// add to same group as selected node
m.setGroupKeyForNodeData(nodedata, m.getGroupKeyForNodeData(selnode.data));
m.addNodeData(nodedata); // add to model
// create a link from the selected node to the new node
var linkdata = {
from: selnode.key,
to: m.getKeyForNodeData(nodedata)
};
m.addLinkData(linkdata); // add to model
// move the new node to the computed location, select it, and start to edit it
var newnode = e.diagram.findNodeForData(nodedata);
newnode.location = p;
e.diagram.select(newnode);
setTimeout(function () {
e.diagram.commandHandler.editTextBlock();
}, 20);
});
};
return $(go_module.Shape, {
figure: fig,
alignment: spot,
alignmentFocus: spot.opposite(),
width: spot.equals(go_module.Spot.Top) || spot.equals(go_module.Spot.Bottom) ? 25 : 18,
height: spot.equals(go_module.Spot.Top) || spot.equals(go_module.Spot.Bottom) ? 18 : 25,
fill: "orange",
stroke: colors.white,
strokeWidth: 4,
mouseEnter: function mouseEnter(e, shape) {
return shape.fill = "dodgerblue";
},
mouseLeave: function mouseLeave(e, shape) {
return shape.fill = "orange";
},
isActionable: true,
// needed because it's in an Adornment
click: maker,
contextClick: maker
});
}
// create a button that brings up the context menu
function CMButton(options) {
return $(go_module.Shape, {
fill: "orange",
stroke: "rgba(0, 0, 0, 0)",
strokeWidth: 15,
background: "transparent",
geometryString: "F1 M0 0 b 0 360 -4 0 4 z M10 0 b 0 360 -4 0 4 z M20 0 b 0 360 -4 0 4",
// M10 0 A2 2 0 1 0 14 10 M20 0 A2 2 0 1 0 24 10,
isActionable: true,
cursor: "context-menu",
mouseEnter: function mouseEnter(e, shape) {
return shape.fill = "dodgerblue";
},
mouseLeave: function mouseLeave(e, shape) {
return shape.fill = "orange";
},
click: function click(e, shape) {
e.diagram.commandHandler.showContextMenu(shape.part.adornedPart);
}
}, options || {});
}
myDiagram.current.nodeTemplate.selectionAdornmentTemplate = $(go_module.Adornment, "Spot", $(go_module.Placeholder, {
padding: 10
}), makeArrowButton(go_module.Spot.Top, "TriangleUp"), makeArrowButton(go_module.Spot.Left, "TriangleLeft"), makeArrowButton(go_module.Spot.Right, "TriangleRight"), makeArrowButton(go_module.Spot.Bottom, "TriangleDown"), CMButton({
alignment: new go_module.Spot(0.75, 0)
}));
// Common context menu button definitions
// All buttons in context menu work on both click and contextClick,
// in case the user context-clicks on the button.
// All buttons modify the node data, not the Node, so the Bindings need not be TwoWay.
// A button-defining helper function that returns a click event handler.
// PROPNAME is the name of the data property that should be set to the given VALUE.
function ClickFunction(propname, value) {
return function (e, obj) {
e.handled = true; // don't let the click bubble up
e.diagram.model.commit(function (m) {
m.set(obj.part.adornedPart.data, propname, value);
});
};
}
// Create a context menu button for setting a data property with a color value.
function ColorButton(color, propname) {
if (!propname) propname = "color";
return $(go_module.Shape, {
width: 16,
height: 16,
stroke: "lightgray",
fill: color,
margin: 1,
background: "transparent",
mouseEnter: function mouseEnter(e, shape) {
return shape.stroke = "dodgerblue";
},
mouseLeave: function mouseLeave(e, shape) {
return shape.stroke = "lightgray";
},
click: ClickFunction(propname, color),
contextClick: ClickFunction(propname, color)
});
}
function LightFillButtons() {
// used by multiple context menus
return [$("ContextMenuButton", $(go_module.Panel, "Horizontal", ColorButton(colors.white, "fill"), ColorButton(colors.beige, "fill"), ColorButton(colors.extralightblue, "fill"), ColorButton(colors.extralightred, "fill"))), $("ContextMenuButton", $(go_module.Panel, "Horizontal", ColorButton(colors.lightgray, "fill"), ColorButton(colors.lightgreen, "fill"), ColorButton(colors.lightblue, "fill"), ColorButton(colors.lightred, "fill")))];
}
function DarkColorButtons() {
// used by multiple context menus
return [$("ContextMenuButton", $(go_module.Panel, "Horizontal", ColorButton(colors.black), ColorButton(colors.green), ColorButton(colors.blue), ColorButton(colors.red))), $("ContextMenuButton", $(go_module.Panel, "Horizontal", ColorButton(colors.white), ColorButton(colors.magenta), ColorButton(colors.purple), ColorButton(colors.orange)))];
}
// Create a context menu button for setting a data property with a stroke width value.
function ThicknessButton(sw, propname) {
if (!propname) propname = "thickness";
return $(go_module.Shape, "LineH", {
width: 16,
height: 16,
strokeWidth: sw,
margin: 1,
background: "transparent",
mouseEnter: function mouseEnter(e, shape) {
return shape.background = "dodgerblue";
},
mouseLeave: function mouseLeave(e, shape) {
return shape.background = "transparent";
},
click: ClickFunction(propname, sw),
contextClick: ClickFunction(propname, sw)
});
}
// Create a context menu button for setting a data property with a stroke dash Array value.
function DashButton(dash, propname) {
if (!propname) propname = "dash";
return $(go_module.Shape, "LineH", {
width: 24,
height: 16,
strokeWidth: 2,
strokeDashArray: dash,
margin: 1,
background: "transparent",
mouseEnter: function mouseEnter(e, shape) {
return shape.background = "dodgerblue";
},
mouseLeave: function mouseLeave(e, shape) {
return shape.background = "transparent";
},
click: ClickFunction(propname, dash),
contextClick: ClickFunction(propname, dash)
});
}
function StrokeOptionsButtons() {
// used by multiple context menus
return [$("ContextMenuButton", $(go_module.Panel, "Horizontal", ThicknessButton(1), ThicknessButton(2), ThicknessButton(3), ThicknessButton(4))), $("ContextMenuButton", $(go_module.Panel, "Horizontal", DashButton(null), DashButton([2, 4]), DashButton([4, 4])))];
}
// Node context menu
function FigureButton(fig, propname) {
if (!propname) propname = "figure";
return $(go_module.Shape, {
width: 32,
height: 32,
scale: 0.5,
fill: "lightgray",
figure: fig,
margin: 1,
background: "transparent",
mouseEnter: function mouseEnter(e, shape) {
return shape.fill = "dodgerblue";
},
mouseLeave: function mouseLeave(e, shape) {
return shape.fill = "lightgray";
},
click: ClickFunction(propname, fig),
contextClick: ClickFunction(propname, fig)
});
}
myDiagram.current.nodeTemplate.contextMenu = $("ContextMenu",
// $("ContextMenuButton",
// $(go.TextBlock, 'Move Up', {
// // Associate the custom command to move the node up
// click: (e, obj) => {
// const node = obj.part.adornedPart;
// myDiagram.current.commandHandler['MoveNodeUp'].execute(myDiagram.current);
// }
// })
// ),
// $("ContextMenuButton",
// $(go.TextBlock, 'Move Up', {
// // Associate the custom command to move the node up
// click: (e, obj) => {
// const node = obj.part.adornedPart;
// myDiagram.current.commandHandler['moveNodeUpCommand'].execute(myDiagram.current);
// }
// })
// ),
$("ContextMenuButton", $(go_module.Panel, "Horizontal", FigureButton("Rectangle"), FigureButton("RoundedRectangle"), FigureButton("Ellipse"), FigureButton("Diamond"))), $("ContextMenuButton", $(go_module.Panel, "Horizontal", FigureButton("Parallelogram2"), FigureButton("ManualOperation"), FigureButton("Procedure"), FigureButton("Cylinder1"))), $("ContextMenuButton", $(go_module.Panel, "Horizontal", FigureButton("Terminator"), FigureButton("CreateRequest"), FigureButton("Document"), FigureButton("TriangleDown"))), LightFillButtons(), DarkColorButtons(), StrokeOptionsButtons());
// Group template
myDiagram.current.groupTemplate = $(go_module.Group, "Spot", {
layerName: "Background",
ungroupable: true,
locationSpot: go_module.Spot.Center,
selectionObjectName: "BODY",
computesBoundsAfterDrag: true,
// allow dragging out of a Group that uses a Placeholder
handlesDragDropForMembers: true,
// don't need to define handlers on Nodes and Links
mouseDrop: function mouseDrop(e, grp) {
// add dropped nodes as members of the group
var ok = grp.addMembers(grp.diagram.selection, true);
if (!ok) grp.diagram.currentTool.doCancel();
},
avoidable: false
}, new go_module.Binding("location", "loc", go_module.Point.parse).makeTwoWay(go_module.Point.stringify), $(go_module.Panel, "Auto", {
name: "BODY"
}, $(go_module.Shape, {
parameter1: 10,
fill: colors.white,
strokeWidth: 2,
cursor: "pointer",
fromLinkable: true,
toLinkable: true,
fromLinkableDuplicates: true,
toLinkableDuplicates: true,
fromSpot: go_module.Spot.AllSides,
toSpot: go_module.Spot.AllSides
}, new go_module.Binding("fill"), new go_module.Binding("stroke", "color"), new go_module.Binding("strokeWidth", "thickness"), new go_module.Binding("strokeDashArray", "dash")), $(go_module.Placeholder, {
background: "transparent",
margin: 20
})), $(go_module.TextBlock, {
alignment: go_module.Spot.Top,
alignmentFocus: go_module.Spot.Bottom,
font: "bold 12pt sans-serif",
editable: true
}, new go_module.Binding("text"), new go_module.Binding("stroke", "color")));
myDiagram.current.groupTemplate.selectionAdornmentTemplate = $(go_module.Adornment, "Spot", $(go_module.Panel, "Auto", $(go_module.Shape, {
fill: null,
stroke: "dodgerblue",
strokeWidth: 3
}), $(go_module.Placeholder, {
margin: 1.5
})), CMButton({
alignment: go_module.Spot.TopRight,
alignmentFocus: go_module.Spot.BottomRight
}));
// 右键
myDiagram.current.groupTemplate.contextMenu = $("ContextMenu", LightFillButtons(), DarkColorButtons(), StrokeOptionsButtons());
// Link template
myDiagram.current.linkTemplate = $(go_module.Link, {
layerName: "Foreground",
routing: go_module.Link.AvoidsNodes,
corner: 10,
fromShortLength: 10,
toShortLength: 15,
// assume arrowhead at "to" end, need to avoid bad appearance when path is thick
relinkableFrom: true,
relinkableTo: true,
reshapable: true,
resegmentable: true
}, new go_module.Binding("fromSpot", "fromSpot", go_module.Spot.parse), new go_module.Binding("toSpot", "toSpot", go_module.Spot.parse), new go_module.Binding("fromShortLength", "dir", function (dir) {
return dir >= 1 ? 10 : 0;
}), new go_module.Binding("toShortLength", "dir", function (dir) {
return dir >= 1 ? 10 : 0;
}), new go_module.Binding("points").makeTwoWay(),
// TwoWay due to user reshaping with LinkReshapingTool
$(go_module.Shape, {
strokeWidth: 2
}, new go_module.Binding("stroke", "color"), new go_module.Binding("strokeWidth", "thickness"), new go_module.Binding("strokeDashArray", "dash")), $(go_module.Shape,
// custom arrowheads to create the lifted effect
{
segmentIndex: 0,
segmentOffset: new go_module.Point(15, 0),
segmentOrientation: go_module.Link.OrientAlong,
alignmentFocus: go_module.Spot.Right,
figure: "circle",
width: 10,
strokeWidth: 0
}, new go_module.Binding("fill", "color"), new go_module.Binding("visible", "dir", function (dir) {
return dir === 1;
})), $(go_module.Shape, {
segmentIndex: -1,
segmentOffset: new go_module.Point(-10, 6),
segmentOrientation: go_module.Link.OrientPlus90,
alignmentFocus: go_module.Spot.Right,
figure: "triangle",
width: 12,
height: 12,
strokeWidth: 0
}, new go_module.Binding("fill", "color"), new go_module.Binding("visible", "dir", function (dir) {
return dir >= 1;
}), new go_module.Binding("width", "thickness", function (t) {
return 7 + 3 * t;
}),
// custom arrowhead must scale with the size of the while
new go_module.Binding("height", "thickness", function (t) {
return 7 + 3 * t;
}),
// while remaining centered on line
new go_module.Binding("segmentOffset", "thickness", function (t) {
return new go_module.Point(-15, 4 + 1.5 * t);
})), $(go_module.Shape, {
segmentIndex: 0,
segmentOffset: new go_module.Point(15, -6),
segmentOrientation: go_module.Link.OrientMinus90,
alignmentFocus: go_module.Spot.Right,
figure: "triangle",
width: 12,
height: 12,
strokeWidth: 0
}, new go_module.Binding("fill", "color"), new go_module.Binding("visible", "dir", function (dir) {
return dir === 2;
}), new go_module.Binding("width", "thickness", function (t) {
return 7 + 3 * t;
}), new go_module.Binding("height", "thickness", function (t) {
return 7 + 3 * t;
}), new go_module.Binding("segmentOffset", "thickness", function (t) {
return new go_module.Point(-15, 4 + 1.5 * t);
})), $(go_module.TextBlock, {
alignmentFocus: new go_module.Spot(0, 1, -4, 0),
editable: true
}, new go_module.Binding("text").makeTwoWay(),
// TwoWay due to user editing with TextEditingTool
new go_module.Binding("stroke", "color")));
myDiagram.current.linkTemplate.selectionAdornmentTemplate = $(go_module.Adornment,
// use a special selection Adornment that does not obscure the link path itself
$(go_module.Shape, {
// this uses a pathPattern with a gap in it, in order to avoid drawing on top of the link path Shape
isPanelMain: true,
stroke: "transparent",
strokeWidth: 6,
pathPattern: makeAdornmentPathPattern(2) // == thickness or strokeWidth
}, new go_module.Binding("pathPattern", "thickness", makeAdornmentPathPattern)), CMButton({
alignmentFocus: new go_module.Spot(0, 0, -6, -4)
}));
function makeAdornmentPathPattern(w) {
return $(go_module.Shape, {
stroke: "dodgerblue",
strokeWidth: 2,
strokeCap: "square",
geometryString: "M0 0 M4 2 H3 M4 " + (w + 4).toString() + " H3"
});
}
// Link context menu
// All buttons in context menu work on both click and contextClick,
// in case the user context-clicks on the button.
// All buttons modify the link data, not the Link, so the Bindings need not be TwoWay.
function ArrowButton(num) {
var geo = "M0 0 M8 16 M0 8 L16 8 M12 11 L16 8 L12 5";
if (num === 0) {
geo = "M0 0 M16 16 M0 8 L16 8";
} else if (num === 2) {
geo = "M0 0 M16 16 M0 8 L16 8 M12 11 L16 8 L12 5 M4 11 L0 8 L4 5";
}
return $(go_module.Shape, {
geometryString: geo,
margin: 2,
background: "transparent",
mouseEnter: function mouseEnter(e, shape) {
return shape.background = "dodgerblue";
},
mouseLeave: function mouseLeave(e, shape) {
return shape.background = "transparent";
},
click: ClickFunction("dir", num),
contextClick: ClickFunction("dir", num)
});
}
function AllSidesButton(to) {
var setter = function setter(e, shape) {
e.handled = true;
e.diagram.model.commit(function (m) {
var link = shape.part.adornedPart;
m.set(link.data, to ? "toSpot" : "fromSpot", go_module.Spot.stringify(go_module.Spot.AllSides));
// re-spread the connections of other links connected with the node
(to ? link.toNode : link.fromNode).invalidateConnectedLinks();
});
};
return $(go_module.Shape, {
width: 12,
height: 12,
fill: "transparent",
mouseEnter: function mouseEnter(e, shape) {
return shape.background = "dodgerblue";
},
mouseLeave: function mouseLeave(e, shape) {
return shape.background = "transparent";
},
click: setter,
contextClick: setter
});
}
function SpotButton(spot, to) {
var ang = 0;
var side = go_module.Spot.RightSide;
if (spot.equals(go_module.Spot.Top)) {
ang = 270;
side = go_module.Spot.TopSide;
} else if (spot.equals(go_module.Spot.Left)) {
ang = 180;
side = go_module.Spot.LeftSide;
} else if (spot.equals(go_module.Spot.Bottom)) {
ang = 90;
side = go_module.Spot.BottomSide;
}
if (!to) ang -= 180;
var setter = function setter(e, shape) {
e.handled = true;
e.diagram.model.commit(function (m) {
var link = shape.part.adornedPart;
m.set(link.data, to ? "toSpot" : "fromSpot", go_module.Spot.stringify(side));
// re-spread the connections of other links connected with the node
(to ? link.toNode : link.fromNode).invalidateConnectedLinks();
});
};
return $(go_module.Shape, {
alignment: spot,
alignmentFocus: spot.opposite(),
geometryString: "M0 0 M12 12 M12 6 L1 6 L4 4 M1 6 L4 8",
angle: ang,
background: "transparent",
mouseEnter: function mouseEnter(e, shape) {
return shape.background = "dodgerblue";
},
mouseLeave: function mouseLeave(e, shape) {
return shape.background = "transparent";
},
click: setter,
contextClick: setter
});
}
myDiagram.current.linkTemplate.contextMenu = $("ContextMenu", DarkColorButtons(), StrokeOptionsButtons(), $("ContextMenuButton", $(go_module.Panel, "Horizontal", ArrowButton(0), ArrowButton(1), ArrowButton(2))), $("ContextMenuButton", $(go_module.Panel, "Horizontal", $(go_module.Panel, "Spot", AllSidesButton(false), SpotButton(go_module.Spot.Top, false), SpotButton(go_module.Spot.Left, false), SpotButton(go_module.Spot.Right, false), SpotButton(go_module.Spot.Bottom, false)), $(go_module.Panel, "Spot", {
margin: new go_module.Margin(0, 0, 0, 2)
}, AllSidesButton(true), SpotButton(go_module.Spot.Top, true), SpotButton(go_module.Spot.Left, true), SpotButton(go_module.Spot.Right, true), SpotButton(go_module.Spot.Bottom, true)))));
var initData = "{ \"class\": \"GraphLinksModel\",\n \"nodeDataArray\": [\n{\"text\":\"Find Problem\",\"key\":-9,\"loc\":\"-20 -140\",\"color\":\"#3358ff\",\"fill\":\"white\",\"figure\":\"Procedure\",\"thickness\":3},\n{\"text\":\"What do we want?\",\"key\":-10,\"loc\":\"-65 -324.305\",\"group\":-16,\"figure\":\"Ellipse\",\"fill\":\"white\"},\n{\"text\":\"What do our users want?\",\"key\":-11,\"loc\":\"105 -334.305\",\"group\":-20,\"figure\":\"Ellipse\",\"fill\":\"#ffffff\",\"color\":\"black\"},\n{\"text\":\"Meetings\",\"key\":-12,\"loc\":\"-65 -444.305\",\"group\":-16,\"figure\":\"TriangleDown\",\"fill\":\"#ffffff\"},\n{\"text\":\"Reviews\",\"key\":-13,\"loc\":\"105 -454.305\",\"group\":-20,\"figure\":\"TriangleDown\",\"fill\":\"#ffffff\",\"color\":\"black\"},\n{\"text\":\"Can we solve it?\",\"key\":-14,\"loc\":\"190 -140\",\"color\":\"#7d33ff\",\"fill\":\"#ffffff\",\"figure\":\"Diamond\",\"size\":\"140 80\",\"thickness\":3},\n{\"isGroup\":true,\"text\":\"Internal\",\"key\":-16,\"loc\":\"-65 -384.305\",\"fill\":\"#d5ebff\",\"dash\":null,\"thickness\":1,\"group\":-22},\n{\"isGroup\":true,\"text\":\"External\",\"key\":-20,\"loc\":\"105 -394.305\",\"fill\":\"#d5ebff\",\"dash\":null,\"thickness\":1,\"group\":-22},\n{\"isGroup\":true,\"text\":\"Sources\",\"key\":-22,\"loc\":\"20 -400\",\"fill\":\"#a5d2fa\",\"dash\":[4,4],\"color\":\"#3358ff\"}\n],\n \"linkDataArray\": [\n{\"from\":-12,\"to\":-10,\"points\":[-65,-414.305,-65,-404.305,-65,-384.305,-65,-384.305,-65,-364.305,-65,-354.305],\"dash\":null,\"dir\":1},\n{\"from\":-13,\"to\":-11,\"points\":[105,-424.305,105,-414.305,105,-394.305,105,-394.305,105,-374.305,105,-364.305],\"dash\":null,\"color\":\"#000000\",\"dir\":1},\n{\"from\":-10,\"to\":-9,\"points\":[-65,-294.305,-65,-284.305,-65,-232.1525,-40,-232.1525,-40,-180,-40,-170],\"dir\":2,\"dash\":[4,4]},\n{\"from\":-11,\"to\":-9,\"points\":[105,-304.305,105,-294.305,105,-237.1525,0,-237.1525,0,-180,0,-170],\"dash\":[4,4],\"dir\":2},\n{\"from\":-9,\"to\":-14,\"points\":[40,-150,58,-150,80,-150,80,-153.33333333333331,102,-153.33333333333331,120,-153.33333333333331],\"dir\":1,\"color\":\"#3358ff\"},\n{\"from\":-14,\"to\":-9,\"points\":[190,-100,190,-90,-20,-90,-20,-95,-20,-100,-20,-110],\"fromSpot\":\"BottomSide\",\"toSpot\":\"BottomSide\",\"text\":\"No\",\"color\":\"#ff3333\",\"thickness\":2,\"dir\":1},\n{\"from\":-9,\"to\":-14,\"points\":[40,-130,58,-130,80,-130,80,-126.66666666666666,102,-126.66666666666666,120,-126.66666666666666]}\n]}";
// myDiagram.current.model = go.Model.fromJson(initData);
// start
var builtIn = ["Rectangle", "Square", "RoundedRectangle", "Border", "Ellipse", "Circle", "TriangleRight", "TriangleDown", "TriangleLeft", "TriangleUp", "Triangle", "Diamond", "LineH", "LineV", "None", "BarH", "BarV", "MinusLine", "PlusLine", "XLine", "LineRight", "LineDown", "LineLeft", "LineUp"];
function isBuiltIn(shapeName) {
console.log("shapeName:", shapeName);
return builtIn.indexOf(shapeName) >= 0;
}
var myPalette = new go_module.Palette(myPaletteDivRef.current,
// must name or refer to the DIV HTML element
{
maxSelectionCount: 1,
// nodeTemplateMap: myDiagram.current.nodeTemplateMap, // share the templates used by myDiagram.current
linkTemplate:
// simplify the link template, just in this Palette
$(go_module.Link, {
// because the GridLayout.alignment is Location and the nodes have locationSpot == Spot.Center,
// to line up the Link in the same manner we have to pretend the Link has the same location spot
locationSpot: go_module.Spot.Center,
selectionAdornmentTemplate: $(go_module.Adornment, "Link", {
locationSpot: go_module.Spot.Center
}, $(go_module.Shape, {
isPanelMain: true,
fill: null,
stroke: "deepskyblue",
strokeWidth: 0
}), $(go_module.Shape,
// the arrowhead
{
toArrow: "Standard",
stroke: null
}))
}, {
routing: go_module.Link.AvoidsNodes,
curve: go_module.Link.JumpOver,
corner: 5,
toShortLength: 4
}, new go_module.Binding("points"), $(go_module.Shape,
// the link path shape
{
isPanelMain: true,
strokeWidth: 2
}), $(go_module.Shape,
// the arrowhead
{
toArrow: "Standard",
stroke: null
})),
model: new go_module.GraphLinksModel([
// specify the contents of the Palette
{
text: "未命名",
"size": "100 100",
fill: null,
stroke: "#000"
}].concat(toConsumableArray_default()(go_module.Shape.getFigureGenerators().toArray().map(function (item) {
return {
text: "未命名",
"size": "100 100",
figure: item.key,
fill: "white",
stroke: "#666",
borderColor: "#000"
};
})))) // [
// // the Palette also has a disconnected Link, which the user can drag-and-drop
// { points: new go.List(/*go.Point*/).addAll([new go.Point(0, 0), new go.Point(30, 0), new go.Point(30, 40), new go.Point(60, 40)]) }
// ]
});
// $("ContextMenuButton",
// $(go.Panel, "Horizontal",
// FigureButton("Rectangle"), FigureButton("RoundedRectangle"), FigureButton("Ellipse"), FigureButton("Diamond")
// )
// ),
// $("ContextMenuButton",
// $(go.Panel, "Horizontal",
// FigureButton("Parallelogram2"), FigureButton("ManualOperation"), FigureButton("Procedure"), FigureButton("Cylinder1")
// )
// ),
// $("ContextMenuButton",
// $(go.Panel, "Horizontal",
// FigureButton("Terminator"), FigureButton("CreateRequest"), FigureButton("Document"), FigureButton("TriangleDown")
// )
// ),
myPalette.nodeTemplate = $(go_module.Node, "Auto", {
locationSpot: go_module.Spot.Center
}, new go_module.Binding("location", "location", go_module.Point.parse).makeTwoWay(go_module.Point.stringify), $(go_module.Shape, "Circle", {
fill: "white",
stroke: "gray",
strokeWidth: 2,
width: 20,
height: 20,
portId: "",
fromLinkable: true,
toLinkable: true,
fromLinkableDuplicates: true,
toLinkableDuplicates: true,
fromLinkableSelfNode: true,
toLinkableSelfNode: true
}, new go_module.Binding("stroke").makeTwoWay(), new go_module.Binding("fill").makeTwoWay(), new go_module.Binding("figure")), $(go_module.TextBlock, {
margin: new go_module.Margin(5, 5, 3, 5),
font: "10pt sans-serif",
minSize: new go_module.Size(16, 16),
maxSize: new go_module.Size(10, NaN),
textAlign: "center",
editable: true
}, new go_module.Binding("key").makeTwoWay()));
// end
setTimeout(function () {
myDiagram.current.grid = $(go_module.Panel, "Grid", $(go_module.Shape, "LineH", {
stroke: "lightgray",
strokeWidth: 0.5
}), $(go_module.Shape, "LineV", {
stroke: "lightgray",
strokeWidth: 0.5
}));
myDiagram.current.grid.visible = true; // 隐藏网格
myDiagram.current.grid.gridCellStroke = "darkgray"; // 设置网格线的颜色
myDiagram.current.grid.gridCellStrokeWidth = 1; // 设置网格线的粗细
}, 300);
window.myDiagrams = myDiagram.current;
return myDiagram.current;
}
var save = /*#__PURE__*/function () {
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
var imgs, res;
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
// console.log(JSON.stringify(myDiagram.current.model.toJson()))
imgs = myDiagram.current.makeImage();
_context.next = 3;
return (0,fetch/* default */.ZP)('/api/attachments.json', {
method: 'post',
body: {
file_type: 'base64',
original_filename: Date.now(),
file: imgs.src
}
});
case 3:
res = _context.sent;
callback({
src: res.url
});
case 5:
case "end":
return _context.stop();
}
}, _callee);
}));
return function save() {
return _ref2.apply(this, arguments);
};
}();
(0,_react_17_0_2_react.useEffect)(function () {
setUpdateModal(updateModal + 1);
}, []);
return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
ref: modalRef,
className: hidedenContentRef.current ? "".concat(flow_chartmodules.maxH60, " body-overflow-initial") : "body-overflow-initial",
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_modal/* default */.Z, {
width: 1200,
icon: null,
footer: null,
closable: true,
visible: !!updateModal,
destroyOnClose: true,
maskClosable: false,
getContainer: modalRef.current,
rootClassName: "zIndex-9999",
title: /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
flex: 1,
children: "\u63D2\u5165\u6D41\u7A0B\u56FE"
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
onClick: function onClick() {
hidedenContentRef.current = !hidedenContentRef.current;
setUpdateModal(updateModal + 1);
},
children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "current c-blue mr30",
style: {
fontWeight: 400
},
children: "\u5C55\u5F00/\u6536\u8D77"
})
})]
}),
onCancel: onCancel,
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
style: {
width: "100%",
height: "80vh",
overflow: "hidden",
position: "relative"
},
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
style: {
display: "flex",
height: "100%"
},
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
style: {
width: "300px",
height: "100%"
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
style: {
background: "#fff",
position: "relative",
zIndex: 12,
fontSize: 16,
color: "#3061d0"
},
children: "\u56FE\u5F62\u5E93"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
style: {
height: "calc(100% - 50px)"
},
className: flow_chartmodules.myPaletteDiv,
ref: myPaletteDivRef
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
style: {
flex: 1,
position: "relative"
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(gojsreact/* ReactDiagram */.FI, {
initDiagram: initDiagram,
divClassName: "diagram-component",
style: {
height: "80vh"
}
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
ref: myDiagramDivRef
})]
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "tr",
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
size: "large",
onClick: save,
style: {
position: "absolute",
right: 0,
bottom: 0,
zIndex: 8
},
type: "primary",
children: "\u4FDD\u5B58\u5230\u7F16\u8F91\u5668"
})
})]
})
})
});
}
/* harmony default export */ var flow_chart = (FlowChart);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/radio/index.js + 5 modules
var es_radio = __webpack_require__(5112);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/input-number/index.js + 14 modules
var input_number = __webpack_require__(96971);
;// CONCATENATED MODULE: ./src/components/markdown-editor/add-table-panel/index.tsx
var RadioGroup = es_radio/* default.Group */.ZP.Group;
var add_table_panel_style = {
margin: '0 8px'
};
/* harmony default export */ var add_table_panel = (function (_ref) {
var callback = _ref.callback,
onCancel = _ref.onCancel;
function onSubmit(values) {
callback(values);
}
return /*#__PURE__*/(0,jsx_runtime.jsxs)(es_form/* default */.Z, {
className: "add-table-panel",
initialValues: {
row: 3,
col: 2,
align: 'default'
},
onFinish: onSubmit,
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "flex-container",
style: {
alignItems: "baseline"
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
style: add_table_panel_style,
children: "\u5355\u5143\u683C\u6570\uFF1A"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
style: add_table_panel_style,
children: "\u884C\u6570"
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
name: "row",
rules: [{
required: true,
message: '请输入行数'
}],
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input_number/* default */.Z, {})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
style: add_table_panel_style,
children: "\u5217\u6570"
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
name: "col",
rules: [{
required: true,
message: '请输入列数'
}],
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input_number/* default */.Z, {})
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "flex-container",
style: {
marginTop: 12,
alignItems: "baseline"
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
style: add_table_panel_style,
children: "\u5BF9\u9F50\u65B9\u5F0F\uFF1A"
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
name: "align",
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(RadioGroup, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default */.ZP, {
value: "default",
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "fa fa-align-justify"
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default */.ZP, {
value: "left",
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "fa fa-align-left"
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default */.ZP, {
value: "center",
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "fa fa-align-center"
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default */.ZP, {
value: "right",
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "fa fa-align-right"
})
})]
})
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "flex-container flex-end",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
type: "primary",
htmlType: "submit",
style: {
marginRight: 10
},
children: "\u786E\u5B9A"
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
type: "ghost",
onClick: onCancel,
children: "\u53D6\u6D88"
})]
})]
});
});
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/switch/index.js + 2 modules
var es_switch = __webpack_require__(78673);
// EXTERNAL MODULE: ./src/components/MathematicalGraphics/js/index.js
var js = __webpack_require__(38415);
var js_default = /*#__PURE__*/__webpack_require__.n(js);
;// CONCATENATED MODULE: ./src/components/MathematicalGraphics/index.tsx
var MathematicalGraphics_FlowChart = /*#__PURE__*/(0,_react_17_0_2_react.forwardRef)(function (_ref, ref) {
var use3d = _ref.use3d,
width = _ref.width,
height = _ref.height,
callback = _ref.callback,
showSaveButton = _ref.showSaveButton;
var ggbAppletRef = (0,_react_17_0_2_react.useRef)();
var appletRef = (0,_react_17_0_2_react.useRef)();
var _useState = (0,_react_17_0_2_react.useState)(false),
_useState2 = slicedToArray_default()(_useState, 2),
is3D = _useState2[0],
setIs3d = _useState2[1];
var parameters = (0,_react_17_0_2_react.useRef)({
"id": ggbAppletRef,
"appName": "graphing",
"width": width || 1000,
"height": height || 600,
"showToolBar": true,
"showMenuBar": true,
"allowStyleBar": true,
"showAlgebraInput": true,
"enableLabelDrags": false,
"enableShiftDragZoom": true,
"showToolBarHelp": false,
"errorDialogsActive": true,
"showTutorialLink": true,
"showLogging": true,
"useBrowserForJS": false
});
(0,_react_17_0_2_react.useEffect)(function () {
appletRef.current = new (js_default())(parameters.current, true);
window.onload = function () {
appletRef.current.inject('applet_container');
};
}, []);
var getImgData = function getImgData() {
var str = window.ggbApplet.getPNGBase64(1, true, 72);
callback && callback(str);
return str;
};
(0,_react_17_0_2_react.useEffect)(function () {
parameters.current.appName = is3D ? "3D" : "graphing";
appletRef.current.inject('applet_container');
}, [is3D]);
(0,_react_17_0_2_react.useEffect)(function () {
setIs3d(use3d);
}, [use3d]);
(0,_react_17_0_2_react.useImperativeHandle)(ref, function () {
return {
getImgData: getImgData
};
});
return /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
style: {
width: "100%",
height: "100%"
},
id: "applet_container",
ref: ggbAppletRef
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
align: "middle",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
flex: 1,
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_switch/* default */.Z, {
size: "default",
checkedChildren: "\u5173\u95ED3D\u56FE\u50CF",
unCheckedChildren: "\u5F00\u542F3D\u56FE\u50CF",
checked: is3D,
onChange: function onChange(e) {
return setIs3d(e);
}
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
size: "large",
onClick: getImgData,
style: {
zIndex: 8,
marginTop: 10
},
type: "primary",
children: "\u4FDD\u5B58\u5230\u7F16\u8F91\u5668"
})
})]
})]
});
});
/* harmony default export */ var MathematicalGraphics = (MathematicalGraphics_FlowChart);
// EXTERNAL MODULE: ./src/components/MathsLatexKeybords/keybords.tsx
var keybords = __webpack_require__(59277);
// EXTERNAL MODULE: ./src/utils/env.ts + 1 modules
var env = __webpack_require__(33259);
;// CONCATENATED MODULE: ./src/components/markdown-editor/constant.ts
var LINK = 'link';
var UPLOAD_IMAGE = 'upload-image';
var ADD_FLOWCHART = 'add-flowchart';
var DRAW_IMAGE = 'draw-image';
var FLOW_CHART = 'add-flowchart';
var CODE_BLOCK = 'code-block';
var ADD_TABLE = 'add-table';
var HRLINE = '------------';
var ALIGNSIGN = {
"default": HRLINE,
left: ":".concat(HRLINE),
center: ":".concat(HRLINE, ":"),
right: "".concat(HRLINE, ":")
};
// EXTERNAL MODULE: ./src/components/useInterval.tsx
var useInterval = __webpack_require__(59587);
;// CONCATENATED MODULE: ./src/components/markdown-editor/index.tsx
function noop() {}
var pending = 0;
var StorageTimeTicket = 10000;
var NULL_CH = '▁';
var ADD_MULTI = '@▁▁@';
var ADD_SINGLE = '@▁@';
var TEMP1 = '\n**模板标题**\n模板正文内容,可输入文本内容和粘贴图片等操作'; //课程须知模板
var officeSix = ["pptm", "pptx", "ppt", "pot", "pps", "ppa", "potx", "ppsx", "ppam", "pptm", "potm", "ppsm", "doc", "docx", "dot", "dotx", "docm", "dotm", "xls", "xlsx", "csv", "xlt", "xla", "xltx", "xlsm", "xltm", "xlam", "xlsb"];
function processSize(size) {
return !/^\d+$/.test(size) ? size : "".concat(size, "px");
}
var isMac = navigator.platform.toUpperCase().indexOf('MAC') >= 0;
var key = isMac ? 'Cmd' : 'Ctrl';
var DEFAULTKEYMAP = defineProperty_default()(defineProperty_default()({}, key + '-B', 'bold'), key + '-I', 'italic');
var TitleDesc = defineProperty_default()(defineProperty_default()(defineProperty_default()(defineProperty_default()(defineProperty_default()(defineProperty_default()(defineProperty_default()(defineProperty_default()({}, LINK, '添加链接'), CODE_BLOCK, '添加代码块'), UPLOAD_IMAGE, '添加图片'), DRAW_IMAGE, '添加画图'), ADD_FLOWCHART, '插入流程图'), ADD_TABLE, '添加表格'), 'maths-latex', "数学图像"), 'inline-latex', "LATEX公式");
//https://codemirror.net/demo
//The height can be set through CSS (by giving the .CodeMirror class a height property), or by calling the cm's setSize method.
/* harmony default export */ var markdown_editor = (function (_ref) {
var _ref$defaultValue = _ref.defaultValue,
defaultValue = _ref$defaultValue === void 0 ? '' : _ref$defaultValue,
onChange = _ref.onChange,
_ref$width = _ref.width,
width = _ref$width === void 0 ? '100%' : _ref$width,
_ref$height = _ref.height,
height = _ref$height === void 0 ? 400 : _ref$height,
_ref$miniToolbar = _ref.miniToolbar,
miniToolbar = _ref$miniToolbar === void 0 ? false : _ref$miniToolbar,
_ref$isFocus = _ref.isFocus,
isFocus = _ref$isFocus === void 0 ? false : _ref$isFocus,
watch = _ref.watch,
insertTemp = _ref.insertTemp,
_ref$mode = _ref.mode,
mode = _ref$mode === void 0 ? "markdown" : _ref$mode,
_ref$id = _ref.id,
id = _ref$id === void 0 ? 'markdown-editor-id' : _ref$id,
_ref$showResizeBar = _ref.showResizeBar,
showResizeBar = _ref$showResizeBar === void 0 ? false : _ref$showResizeBar,
_ref$noStorage = _ref.noStorage,
noStorage = _ref$noStorage === void 0 ? false : _ref$noStorage,
_ref$showNullButton = _ref.showNullButton,
showNullButton = _ref$showNullButton === void 0 ? false : _ref$showNullButton,
_ref$showNullProgramB = _ref.showNullProgramButton,
showNullProgramButton = _ref$showNullProgramB === void 0 ? false : _ref$showNullProgramB,
_ref$hidetoolBar = _ref.hidetoolBar,
hidetoolBar = _ref$hidetoolBar === void 0 ? false : _ref$hidetoolBar,
_ref$fullScreen = _ref.fullScreen,
fullScreen = _ref$fullScreen === void 0 ? false : _ref$fullScreen,
onBlur = _ref.onBlur,
onCMBeforeChange = _ref.onCMBeforeChange,
onFullScreen = _ref.onFullScreen,
_ref$className = _ref.className,
className = _ref$className === void 0 ? '' : _ref$className,
_ref$disablePaste = _ref.disablePaste,
disablePaste = _ref$disablePaste === void 0 ? false : _ref$disablePaste,
_ref$disabled = _ref.disabled,
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
_ref$disabledFill = _ref.disabledFill,
disabledFill = _ref$disabledFill === void 0 ? false : _ref$disabledFill,
_ref$placeholder = _ref.placeholder,
placeholder = _ref$placeholder === void 0 ? '' : _ref$placeholder,
_ref$values = _ref.values,
values = _ref$values === void 0 ? '' : _ref$values,
extraUse = _ref.extraUse;
var _useState = (0,_react_17_0_2_react.useState)(null),
_useState2 = slicedToArray_default()(_useState, 2),
cm = _useState2[0],
setCm = _useState2[1];
var _useState3 = (0,_react_17_0_2_react.useState)(defaultValue),
_useState4 = slicedToArray_default()(_useState3, 2),
value = _useState4[0],
setValue = _useState4[1];
var _useState5 = (0,_react_17_0_2_react.useState)(watch),
_useState6 = slicedToArray_default()(_useState5, 2),
preview = _useState6[0],
setPreview = _useState6[1];
var _useState7 = (0,_react_17_0_2_react.useState)(fullScreen),
_useState8 = slicedToArray_default()(_useState7, 2),
isFull = _useState8[0],
setIsFull = _useState8[1];
var _useState9 = (0,_react_17_0_2_react.useState)(''),
_useState10 = slicedToArray_default()(_useState9, 2),
action = _useState10[0],
setAction = _useState10[1];
var _useState11 = (0,_react_17_0_2_react.useState)(0),
_useState12 = slicedToArray_default()(_useState11, 2),
lastedUpdateTime = _useState12[0],
setLastedUpdateTime = _useState12[1];
var _useState13 = (0,_react_17_0_2_react.useState)(height),
_useState14 = slicedToArray_default()(_useState13, 2),
h = _useState14[0],
setH = _useState14[1];
var _useState15 = (0,_react_17_0_2_react.useState)(false),
_useState16 = slicedToArray_default()(_useState15, 2),
tip = _useState16[0],
setTip = _useState16[1];
var cmEl = (0,_react_17_0_2_react.useRef)();
var containerEl = (0,_react_17_0_2_react.useRef)();
var resizeBarEl = (0,_react_17_0_2_react.useRef)();
var previewEl = (0,_react_17_0_2_react.useRef)();
// useEffect(() => {
// setValue(defaultValue)
// cm?.setValue(defaultValue)
// },[])
(0,_react_17_0_2_react.useEffect)(function () {
var scrollTop = window.scrollY || window.pageYOffset;
setValue(values);
cm === null || cm === void 0 || cm.setValue(values);
window.scrollTo(0, scrollTop);
}, [values]);
(0,_react_17_0_2_react.useEffect)(function () {
onFullScreen === null || onFullScreen === void 0 || onFullScreen(isFull);
}, [isFull]);
(0,_react_17_0_2_react.useEffect)(function () {
if (cmEl.current) {
var onPaste = function onPaste(_, e) {
if (disablePaste) {
e.preventDefault();
return;
}
var clipboardData = e.clipboardData;
if (clipboardData) {
var types = clipboardData.types.toString();
var items = clipboardData.items;
if (types === 'Files' || clipboardData.types.indexOf("Files") > -1) {
e.preventDefault();
if (mode == "stex") return;
try {
var _items$;
var item = items[1];
if (((_items$ = items[0]) === null || _items$ === void 0 ? void 0 : _items$.kind) === 'file') {
item = items[0];
}
var file = item.getAsFile();
var fileSix = file.name.split(".").pop();
// console.log("item:", item, file, item?.type?.match(/^video\//i))
uploadImage(file, function (data) {
if (data.id) {
var _file$type, _file$type2, _file$type3;
if ((file === null || file === void 0 || (_file$type = file.type) === null || _file$type === void 0 ? void 0 : _file$type.indexOf("image")) > -1) {
instance.replaceSelection(".concat(data.content_type, ")"));
} else if ((file === null || file === void 0 || (_file$type2 = file.type) === null || _file$type2 === void 0 ? void 0 : _file$type2.indexOf("video")) > -1) {
instance.replaceSelection(""));
} else if ((file === null || file === void 0 || (_file$type3 = file.type) === null || _file$type3 === void 0 ? void 0 : _file$type3.indexOf("pdf")) > -1) {
instance.replaceSelection("").concat(file.name, ""));
} else if (officeSix.includes(fileSix)) {
instance.replaceSelection("").concat(file.name, ""));
} else {
instance.replaceSelection("[".concat(file.name, "](").concat(env/* default */.Z.API_SERVER, "/api/attachments/").concat(data.id, "?type=").concat(data.content_type, ")"));
}
} else {
if ((data === null || data === void 0 ? void 0 : data.status) === 401) document.location.href = '/user/login';
}
});
} catch (e) {
message/* default */.ZP.warning("请使用chrome浏览器粘贴");
}
return true;
} else {
//toMarkdown ?
// let html = clipboardData.getData('text/html')
return true;
}
}
return true;
};
var instance = codemirror_default().fromTextArea(cmEl.current, {
mode: mode,
// inputStyle: 'contenteditable',
lineNumbers: miniToolbar ? false : true,
lineWrapping: true,
value: defaultValue,
autoCloseTags: true,
autoCloseBrackets: true
});
instance.on("keyup", function (cm, event) {
if (event.keyCode === 8) {
if (cm.getValue() == "") {
instance.setOption("placeholder", placeholder);
} else {
instance.setOption("placeholder", null);
}
}
});
instance.on("keydown", function (cm, event) {
if (event.keyCode === 8) {
var pos = deleteAtSymbol(cm);
if (pos) {
event.preventDefault();
}
}
});
isFocus && instance.focus();
instance.on('paste', onPaste);
if (disabled) {
instance.on("beforeChange", function (instances, change) {
if (change.origin === "paste" || change.origin === "+input") {
change.cancel();
}
});
}
setCm(instance);
return function () {
instance.off('paste', onPaste);
};
}
}, []);
var resizeEditorBodyHeight = (0,_react_17_0_2_react.useCallback)(function () {
if (containerEl.current) {
try {
// let toolH = containerEl.current.getElementsByClassName('markdown-toolbar-container')[0].offsetHeight
// let mdBody = containerEl.current.getElementsByClassName('markdown-editor-body')[0]
// if (!isFull) {
// mdBody.style.height = `${h - toolH}px`
// } else {
// mdBody.style.height = `calc(100vh - ${toolH}px)`
// }
} catch (error) {
console.log(error, '---- to set md editor body height');
}
}
}, [h, containerEl, isFull]);
(0,_react_17_0_2_react.useEffect)(function () {
function onLayout() {
var ro = new ResizeObserver_es/* default */.Z(function (entries) {
var _iterator = createForOfIteratorHelper_default()(entries),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var entry = _step.value;
if (entry.target.offsetHeight > 0 || entry.target.offsetWidth > 0) {
resizeEditorBodyHeight();
cm.setSize('100%', '100%');
cm.refresh();
}
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
});
ro.observe(cmEl.current.parentElement);
return ro;
}
if (cm) {
var ro = onLayout();
return function () {
var _cmEl$current, _cmEl$current2;
if ((_cmEl$current = cmEl.current) !== null && _cmEl$current !== void 0 && _cmEl$current.parentElement) ro.unobserve((_cmEl$current2 = cmEl.current) === null || _cmEl$current2 === void 0 ? void 0 : _cmEl$current2.parentElement);
};
}
}, [cm, resizeEditorBodyHeight]);
//keymap
(0,_react_17_0_2_react.useEffect)(function () {
if (cm) {
var keymap = [];
var _loop = function _loop() {
var _Object$entries$_i = slicedToArray_default()(_Object$entries[_i], 2),
k = _Object$entries$_i[0],
value = _Object$entries$_i[1];
var map = defineProperty_default()({}, k, function () {
onActionCallback(value);
});
keymap.push(map);
cm.addKeyMap(map);
};
for (var _i = 0, _Object$entries = Object.entries(DEFAULTKEYMAP); _i < _Object$entries.length; _i++) {
_loop();
}
return function () {
for (var _i2 = 0, _keymap = keymap; _i2 < _keymap.length; _i2++) {
var m = _keymap[_i2];
cm.removeKeyMap(m);
}
};
}
}, [cm]);
(0,_react_17_0_2_react.useEffect)(function () {
if (fullScreen !== isFull) {
setIsFull(fullScreen);
}
}, [fullScreen]);
(0,useInterval/* default */.Z)(function () {
if (!noStorage && lastedUpdateTime > 0) {
var currentTime = new Date().getTime();
var lastedValue = window.sessionStorage.getItem(id);
if (currentTime >= lastedUpdateTime + StorageTimeTicket && (!lastedValue || lastedValue !== value)) {
window.sessionStorage.setItem(id, value);
setTip(true);
}
}
}, StorageTimeTicket);
(0,_react_17_0_2_react.useEffect)(function () {
setPreview(watch);
}, [cm, watch]);
(0,_react_17_0_2_react.useEffect)(function () {
if (cm) {
isFocus && cm.focus();
}
}, [cm, isFocus]);
(0,_react_17_0_2_react.useEffect)(function () {
if (preview && cm) {
var syncScroll = function syncScroll(e) {
var target = e.target;
if (previewEl.current) {
var ratio = target.scrollTop / target.scrollHeight;
previewEl.current.scrollTop = previewEl.current.scrollHeight * ratio;
}
};
var scrollEl = cm.getScrollerElement();
scrollEl.addEventListener('scroll', syncScroll);
return function () {
scrollEl.removeEventListener('scroll', syncScroll);
};
}
}, [cm, preview]);
(0,_react_17_0_2_react.useEffect)(function () {
if (cm && onCMBeforeChange) {
var onChangeHandler = function onChangeHandler(cm, change) {
onCMBeforeChange(cm, change);
};
cm.on('beforeChange', onChangeHandler);
return function () {
cm.off('beforeChange', onChangeHandler);
};
}
}, [cm, onCMBeforeChange]);
(0,_react_17_0_2_react.useEffect)(function () {
if (cm && onBlur) {
var onBlurHandler = function onBlurHandler() {
onBlur(cm.getValue());
};
cm.on('blur', onBlurHandler);
return function () {
cm.off('blur', onBlurHandler);
};
}
}, [cm, onBlur]);
function deleteAtSymbol(cm, change) {
var doc = cm.getDoc();
var cursor = doc.getCursor();
var line = doc.getLine(cursor.line);
var ch = line.charAt(cursor.ch - 1);
var p1 = line.lastIndexOf("@▁@", cursor.ch);
var p2 = line.lastIndexOf("@▁▁@", cursor.ch);
var posStart = p1 > p2 ? p1 : p2;
var n = p1 > p2 ? 3 : 4;
if (ADD_MULTI.indexOf(ch) === -1) return null;
console.log("change1:", change, cm, line, cursor, posStart, p1, p2, ch);
if (posStart >= 0 && cursor.ch - posStart < 5) {
var posEnd = posStart + n;
doc.replaceRange("", {
line: cursor.line,
ch: posStart
}, {
line: cursor.line,
ch: posEnd
});
return {
line: cursor.line,
ch: posEnd
};
}
return null;
}
(0,_react_17_0_2_react.useEffect)(function () {
if (cm) {
var onChangeHandler = function onChangeHandler(cm, change) {
var content = cm.getValue();
setValue(content);
setLastedUpdateTime(new Date().getTime());
cm.getScrollerElement().dispatchEvent(new CustomEvent('scroll'));
if (onChange) {
if (showNullProgramButton) {
onChange(content, formatProgramFill(content));
} else {
onChange(content);
}
}
};
cm.on('change', onChangeHandler);
return function () {
cm.off('change', onChangeHandler);
};
}
}, [cm, onChange]);
(0,_react_17_0_2_react.useEffect)(function () {
if (cm) {
// isFocus && cm.focus()
if (defaultValue === null || defaultValue === undefined) {
cm.setValue('');
setValue('');
} else {
var scrollTop = window.scrollY || window.pageYOffset;
if (defaultValue !== cm.getValue()) {
cm.setValue(defaultValue);
setValue(defaultValue);
cm.setCursor(disabled ? 1 : cm.lineCount(), 0);
window.scrollTo(0, scrollTop);
}
}
}
}, [cm, defaultValue]);
var onActionCallback = (0,_react_17_0_2_react.useCallback)(function (actionName) {
var cursor = cm.getCursor();
var selection = cm.getSelection();
var selectionText = selection.split('\n');
switch (actionName) {
case 'bold':
cm.replaceSelection('**' + selection + '**');
if (selection === '') {
cm.setCursor(cursor.line, cursor.ch + 2);
}
return cm.focus();
case 'italic':
cm.replaceSelection('*' + selection + '*');
if (selection === '') {
cm.setCursor(cursor.line, cursor.ch + 1);
}
return cm.focus();
case 'code':
cm.replaceSelection('`' + selection + '`');
if (selection === '') {
cm.setCursor(cursor.line, cursor.ch + 1);
}
return cm.focus();
case 'inline-latex':
setAction("inline-latex");
// cm.replaceSelection('`$$' + selection + '$$`')
// if (selection === '') {
// cm.setCursor(cursor.line, cursor.ch + 3)
// }
return cm.focus();
case 'latex':
cm.replaceSelection("```latex\n" + selection + "\n```");
cm.setCursor(cursor.line + 1, selection.length + 1);
return cm.focus();
case 'line-break':
cm.replaceSelection('
\n');
return cm.focus();
case 'list-ul':
if (selection === '') {
cm.replaceSelection('- ' + selection);
} else {
cm.replaceSelection(selectionText.map(function (item) {
return item === '' ? '' : "- ".concat(item);
}).join('\n'));
}
return cm.focus();
case 'list-ol':
if (selection === '') {
cm.replaceSelection('1. ' + selection);
} else {
cm.replaceSelection(selectionText.map(function (item, index) {
return item === '' ? '' : "".concat(index + 1, ". ").concat(item);
}).join('\n'));
}
return cm.focus();
case 'add-null-ch':
if (selection === '') {
cm.setCursor(cursor.line, cursor.ch);
}
cm.replaceSelection(NULL_CH);
return cm.focus();
case 'add-signal':
if (selection === '') {
cm.setCursor(cursor.line, cursor.ch);
}
cm.replaceSelection(ADD_SINGLE);
return cm.focus();
case 'add-multiple':
if (selection === '') {
cm.setCursor(cursor.line, cursor.ch);
}
cm.replaceSelection(ADD_MULTI);
return cm.focus();
case 'inster-template-1':
if (selection === '') {
cm.setCursor(cursor.line, cursor.ch);
}
cm.replaceSelection(TEMP1);
return cm.focus();
case 'eraser':
cm.setValue('');
return cm.focus();
case 'trigger-watch':
setPreview(!preview);
return cm.focus();
case 'trigger-full-screen':
setIsFull(!isFull);
return cm.focus();
case LINK:
setAction(LINK);
return;
case CODE_BLOCK:
setAction(CODE_BLOCK);
return;
case UPLOAD_IMAGE:
setAction(UPLOAD_IMAGE);
return;
case DRAW_IMAGE:
setAction(DRAW_IMAGE);
return;
case "maths-latex":
setAction("maths-latex");
return;
case ADD_FLOWCHART:
setAction(ADD_FLOWCHART);
return;
case ADD_TABLE:
setAction(ADD_TABLE);
return;
default:
throw new Error();
}
}, [cm, preview, isFull]);
var ExecutePluginAction = (0,_react_17_0_2_react.useCallback)(function (values, currentFile) {
var _file$name, _file$name$pop, _file$type4, _file$type5, _file$type6;
setAction('');
switch (action) {
case LINK:
var title = values.title,
link = values.link;
cm.replaceSelection("[".concat(title, "](").concat(link, ")"));
return cm.focus();
case CODE_BLOCK:
var language = values.language,
content = values.content;
cm.replaceSelection(['```' + language, content, '```'].join('\n'));
return cm.focus();
case "maths-latex":
var binaryString = atob(values);
var uint8Array = new Uint8Array(binaryString.length);
for (var i = 0; i < binaryString.length; i++) {
uint8Array[i] = binaryString.charCodeAt(i);
}
var files = new Blob([uint8Array], {
type: "image/png"
});
uploadImage(files, function (data) {
if (data.id) {
cm.replaceSelection(".concat(data.content_type, ")"));
} else {
if ((data === null || data === void 0 ? void 0 : data.status) === 401) document.location.href = '/user/login';
}
});
break;
case "inline-latex":
cm.replaceSelection("`$$" + values + "$$`");
break;
case UPLOAD_IMAGE:
case DRAW_IMAGE:
case FLOW_CHART:
var src = values.src,
alt = values.alt;
var file = currentFile;
var fileSix = file === null || file === void 0 || (_file$name = file.name) === null || _file$name === void 0 || (_file$name = _file$name.split(".")) === null || _file$name === void 0 || (_file$name$pop = _file$name.pop) === null || _file$name$pop === void 0 ? void 0 : _file$name$pop.call(_file$name);
if ((file === null || file === void 0 || (_file$type4 = file.type) === null || _file$type4 === void 0 ? void 0 : _file$type4.indexOf("image")) > -1 || !(file !== null && file !== void 0 && file.type)) {
if (alt) {
cm.replaceSelection(".concat(src, " \"").concat(alt, "\" )"));
} else {
cm.replaceSelection(""));
}
} else if ((file === null || file === void 0 || (_file$type5 = file.type) === null || _file$type5 === void 0 ? void 0 : _file$type5.indexOf("video")) > -1) {
cm.replaceSelection(""));
} else if ((file === null || file === void 0 || (_file$type6 = file.type) === null || _file$type6 === void 0 ? void 0 : _file$type6.indexOf("pdf")) > -1) {
cm.replaceSelection("").concat(file.name, ""));
} else if (officeSix.includes(fileSix)) {
cm.replaceSelection("").concat(file.name, ""));
} else {
cm.replaceSelection("[".concat(file.name, "](").concat(env/* default */.Z.API_SERVER).concat(src, ")"));
}
return cm.focus();
case ADD_TABLE:
var row = values.row,
col = values.col,
align = values.align;
var table = '\n';
for (var r = 0; r < row; r++) {
var rows = [];
var heads = [];
for (var c = 0; c < col; c++) {
if (r === 1) {
heads.push(ALIGNSIGN[align]);
}
rows.push(' ');
}
if (r === 1) {
table += "| ".concat(heads.join(' | '), " |\n");
}
table += "| ".concat(rows.join(col === 1 ? '' : ' | '), " |\n");
}
cm.replaceSelection(table + '\n');
return cm.focus();
default:
throw new Error();
}
}, [cm, action]);
var PluginEl = (0,_react_17_0_2_react.useMemo)(function () {
switch (action) {
case LINK:
return /*#__PURE__*/(0,jsx_runtime.jsx)(markdown_editor_link, {
callback: ExecutePluginAction,
onCancel: onCancel
});
case CODE_BLOCK:
return /*#__PURE__*/(0,jsx_runtime.jsx)(code_block/* default */.Z, {
callback: ExecutePluginAction,
onCancel: onCancel
});
case UPLOAD_IMAGE:
return /*#__PURE__*/(0,jsx_runtime.jsx)(upload_image, {
callback: ExecutePluginAction,
onCancel: onCancel
});
case ADD_FLOWCHART:
return /*#__PURE__*/(0,jsx_runtime.jsx)(flow_chart, {
callback: ExecutePluginAction,
onCancel: onCancel
})
//
;
case ADD_TABLE:
return /*#__PURE__*/(0,jsx_runtime.jsx)(add_table_panel, {
callback: ExecutePluginAction,
onCancel: onCancel
});
case "maths-latex":
return /*#__PURE__*/(0,jsx_runtime.jsx)(MathematicalGraphics, {
showSaveButton: true,
callback: ExecutePluginAction
});
case "inline-latex":
return /*#__PURE__*/(0,jsx_runtime.jsx)(keybords/* default */.Z, {
showSaveButton: true,
callback: ExecutePluginAction
});
default:
return null;
}
}, [action]);
function onCancel() {
setAction('');
}
(0,_react_17_0_2_react.useEffect)(function () {
if (resizeBarEl.current) {
var onMouseDown = function onMouseDown(e) {
dragging = true;
startY = e.pageY;
};
var onMouseUp = function onMouseUp() {
dragging = false;
};
var onMouseMove = function onMouseMove(e) {
if (dragging) {
var delta = e.pageY - startY;
if (delta < 0) {
delta = 0;
}
if (delta > 300) {
delta = 300;
}
var resizeH = height + delta + 'px';
setH(resizeH);
}
};
var resizeBar = resizeBarEl.current;
var dragging = false;
var startY = 0;
resizeBar.addEventListener('mousedown', onMouseDown);
document.addEventListener('mousemove', onMouseMove);
document.addEventListener('mouseup', onMouseUp);
return function () {
resizeBar.removeEventListener('mousedown', onMouseDown);
document.removeEventListener('mousemove', onMouseMove);
document.removeEventListener('mouseup', onMouseUp);
};
}
}, [cm, resizeBarEl]);
(0,_react_17_0_2_react.useEffect)(function () {
setH(height);
}, [height]);
var fixedWidth = processSize(width);
var fixedHeight = processSize(h);
var style = {
width: fixedWidth,
height: fixedHeight
};
var saveTime = (0,_react_17_0_2_react.useMemo)(function () {
if (lastedUpdateTime) {
var d = new Date(lastedUpdateTime);
var _h = d.getHours();
var m = d.getMinutes();
var s = d.getSeconds();
_h = _h < 10 ? '0' + _h : _h;
m = m < 10 ? '0' + m : m;
s = s < 10 ? '0' + s : s;
return "".concat(_h, ":").concat(m, ":").concat(s);
}
return 0;
}, [lastedUpdateTime]);
var formatProgramFill = function formatProgramFill(str) {
var arr = [];
if (showNullProgramButton) {
var num = -1;
str = str.replace(/(@▁▁@|@▁@)/g, function (a, b, c) {
arr.push({
multiLine: !(a === ADD_SINGLE)
});
});
}
return arr;
};
function onCancelStorage() {
window.sessionStorage.removeItem(id);
setTip(false);
setLastedUpdateTime(0);
}
function onReset() {
setTip(false);
setLastedUpdateTime(0);
cm.setValue(window.sessionStorage.getItem(id));
}
return /*#__PURE__*/(0,jsx_runtime.jsxs)(_react_17_0_2_react.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "markdown-editor-wrapper",
ref: containerEl,
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "markdown-editor-container ".concat(className, " ").concat(preview ? 'on-preview' : '', " ").concat(miniToolbar ? 'mini' : '', " ").concat(isFull ? 'full-screen' : ''),
style: style,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(toolbar, {
insertTemp: insertTemp,
watch: preview,
fullScreen: isFull,
showNullButton: showNullButton,
showNullProgramButton: showNullProgramButton,
onActionCallback: onActionCallback,
hidetoolBar: hidetoolBar,
extraUse: extraUse
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "markdown-editor-body",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "codemirror-container",
children: /*#__PURE__*/(0,jsx_runtime.jsx)("textarea", {
ref: cmEl,
placeholder: placeholder
})
}), preview ? /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
ref: previewEl,
className: "preview-container",
children: [mode === "stex" && /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml_stex, {
value: value
}), mode !== "stex" && /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
disabledFill: disabledFill,
showProgramFill: showNullProgramButton,
value: value
})]
}) : null]
})]
})
}), showResizeBar ? /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
ref: resizeBarEl,
className: "editor-resize"
}) : null, action === DRAW_IMAGE && /*#__PURE__*/(0,jsx_runtime.jsx)(draw_image, {
callback: ExecutePluginAction,
onCancel: onCancel
}), action === ADD_FLOWCHART && /*#__PURE__*/(0,jsx_runtime.jsx)(flow_chart, {
callback: ExecutePluginAction,
onCancel: onCancel
}), /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, {
children: TitleDesc[action] && action !== DRAW_IMAGE && action !== ADD_FLOWCHART ? /*#__PURE__*/(0,jsx_runtime.jsx)(es_modal/* default */.Z, {
centered: true,
title: TitleDesc[action],
open: true,
onCancel: onCancel,
footer: null,
destroyOnClose: true,
width: action === ADD_FLOWCHART ? "1200px" : null,
height: action === ADD_FLOWCHART ? "80vh" : null,
className: "markdown-popup-form",
children: PluginEl
}) : null
})]
});
});
/***/ }),
/***/ 97081:
/*!*********************************************************!*\
!*** ./src/components/tpi-code-setting/CodeSetting.tsx ***!
\*********************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.less */ 82520);
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! antd */ 57809);
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! antd */ 78673);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react/jsx-runtime */ 37712);
var Option = antd__WEBPACK_IMPORTED_MODULE_2__["default"].Option;
/* harmony default export */ __webpack_exports__.Z = (function (_ref) {
var isTheoretical = _ref.isTheoretical,
onFontSizeChange = _ref.onFontSizeChange,
cmFontSize = _ref.cmFontSize,
cmCodeMode = _ref.cmCodeMode,
autoFormat = _ref.autoFormat,
onCodeModeChange = _ref.onCodeModeChange,
onTabToSpace = _ref.onTabToSpace,
onAutoFormat = _ref.onAutoFormat,
formatDocument = _ref.formatDocument,
_ref$className = _ref.className,
className = _ref$className === void 0 ? '' : _ref$className,
tabToSpace = _ref.tabToSpace,
children = _ref.children,
code_editor = _ref.code_editor,
challenge = _ref.challenge;
var difficultyDesc = {
1: '简单',
2: '中等',
3: '困难'
};
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)("div", {
className: "tpi-code-setting ".concat(className),
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)("h3", {
children: "\u4EE3\u7801\u683C\u5F0F"
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)("section", {
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)("div", {
className: "file-item",
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)("b", {
children: "\u663E\u793A\u6A21\u5F0F"
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(antd__WEBPACK_IMPORTED_MODULE_2__["default"], {
bordered: false,
size: "small",
value: cmCodeMode,
onChange: onCodeModeChange,
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(Option, {
value: 'vs',
children: "\u767D\u8272\u80CC\u666F"
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(Option, {
value: 'vs-dark',
children: "\u9ED1\u8272\u80CC\u666F"
})]
})]
}), !isTheoretical && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.Fragment, {
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)("div", {
className: "file-item",
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)("b", {
children: "\u5B57\u4F53\u5927\u5C0F"
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(antd__WEBPACK_IMPORTED_MODULE_2__["default"], {
bordered: false,
size: "small",
value: cmFontSize,
onChange: onFontSizeChange,
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(Option, {
value: 12,
children: "12px"
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(Option, {
value: 14,
children: "14px"
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(Option, {
value: 16,
children: "16px"
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(Option, {
value: 18,
children: "18px"
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(Option, {
value: 20,
children: "20px"
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(Option, {
value: 22,
children: "22px"
})]
})]
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)("div", {
className: "file-item",
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)("b", {
children: "Tab\u8F6C\u6362"
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(antd__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
checked: tabToSpace,
onChange: onTabToSpace
})]
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)("div", {
className: "file-item",
onClick: formatDocument,
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)("b", {
style: {
cursor: "pointer"
},
children: "\u683C\u5F0F\u5316\u4EE3\u7801"
})
})]
})]
}), !isTheoretical && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.Fragment, {
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)("h3", {
children: "\u5FEB\u6377\u952E"
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)("section", {
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)("div", {
className: "file-item",
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)("b", {
children: "\u4FDD\u5B58\u4EE3\u7801"
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)("span", {
children: "Ctrl + S"
})]
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)("div", {
className: "file-item",
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)("b", {
children: "\u5524\u51FA\u5FEB\u6377\u952E\u5217\u8868"
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)("span", {
children: "F1 / Alt + F1"
})]
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)("div", {
className: "file-item",
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)("b", {
children: "\u5DE6\u53F3\u7F29\u8FDB"
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)("span", {
children: "Ctrl + ]/["
})]
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)("div", {
className: "file-item",
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)("b", {
children: "\u8DF3\u5230\u5339\u914D\u7684\u62EC\u53F7"
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)("span", {
children: "Ctrl + Shift + \\"
})]
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)("div", {
className: "file-item",
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)("b", {
children: "\u8F6C\u5230\u884C\u9996"
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)("span", {
children: "Home"
})]
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)("div", {
className: "file-item",
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)("b", {
children: "\u8F6C\u5230\u884C\u5C3E"
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)("span", {
children: "End"
})]
})]
}), children]
}), !isTheoretical && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.Fragment, {
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)("h3", {
children: "\u5FEB\u6377\u952E"
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)("section", {
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)("div", {
className: "file-item",
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)("b", {
children: "\u5B9E\u8BAD\u96BE\u6613\u5EA6"
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)("span", {
children: difficultyDesc[challenge === null || challenge === void 0 ? void 0 : challenge.difficulty]
})]
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)("div", {
className: "file-item",
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)("b", {
children: "\u5B9E\u9A8C\u73AF\u5883"
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)("span", {
children: code_editor === null || code_editor === void 0 ? void 0 : code_editor.name
})]
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)("div", {
className: "file-item",
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)("b", {
children: "\u5B9E\u9A8C\u5BB9\u5668\u7F51\u7EDC"
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)("span", {
children: code_editor !== null && code_editor !== void 0 && code_editor.close_internet ? '关闭外网' : '开启外网'
})]
})]
})]
})]
});
});
/***/ }),
/***/ 45277:
/*!****************************************************************!*\
!*** ./src/components/ui-customization/index.tsx + 34 modules ***!
\****************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
jL: function() { return /* reexport */ ui_customization_Banner; },
w9: function() { return /* reexport */ Cards_ClassroomList; },
QD: function() { return /* reexport */ ui_customization_ConfirmAndCancel; },
cQ: function() { return /* reexport */ Cards_CourseList; },
op: function() { return /* reexport */ ui_customization_CustomButton; },
O5: function() { return /* reexport */ ui_customization_CustomCountdown; },
_b: function() { return /* reexport */ CustomCrumbs; },
t7: function() { return /* reexport */ ui_customization_CustomInput; },
Gi: function() { return /* reexport */ CustomTable; },
YG: function() { return /* reexport */ CustomTabs; },
qp: function() { return /* reexport */ ui_customization_CustomTags; },
vr: function() { return /* reexport */ ui_customization_FixedBottom; },
qE: function() { return /* reexport */ HeadBack; },
Je: function() { return /* reexport */ QuickPager; },
wb: function() { return /* reexport */ Cards_ShixunList; },
cq: function() { return /* reexport */ ui_customization_SuperiorSort; },
tp: function() { return /* reexport */ ui_customization_SuperiorTabs; }
});
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
var _react_17_0_2_react = __webpack_require__(59301);
;// CONCATENATED MODULE: ./src/components/ui-customization/Banner/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var Bannermodules = ({"flex_box_center":"flex_box_center___NeSU8","flex_space_between":"flex_space_between___ImTGl","flex_box_vertical_center":"flex_box_vertical_center___BtRd9","flex_box_center_end":"flex_box_center_end___qcLe3","flex_box_column":"flex_box_column___Ze_3q","banner":"banner___PoUBO","content":"content___XoDjy","btns":"btns___Pb35j"});
;// CONCATENATED MODULE: ./src/components/ui-customization/Banner/robot.png
var robot_namespaceObject = "data:image/png;base64,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";
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js
var jsx_runtime = __webpack_require__(37712);
;// CONCATENATED MODULE: ./src/components/ui-customization/Banner/index.tsx
var Banner = function Banner(_ref) {
var _ref$dataSource = _ref.dataSource,
dataSource = _ref$dataSource === void 0 ? [] : _ref$dataSource,
img = _ref.img,
_ref$imgWidth = _ref.imgWidth,
imgWidth = _ref$imgWidth === void 0 ? 346 : _ref$imgWidth,
title = _ref.title,
sunTitle = _ref.sunTitle,
bannerExtraContent = _ref.bannerExtraContent;
return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: Bannermodules.banner,
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Bannermodules.content,
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("aside", {
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("b", {
children: title
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: sunTitle
})]
}), dataSource.length > 0 && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: Bannermodules.btns,
children: dataSource.map(function (e, i) {
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
onClick: e.click,
children: [e.name, e.sign ? /*#__PURE__*/(0,jsx_runtime.jsx)("img", {
src: robot_namespaceObject,
width: 39
}) : null]
}, i);
})
}), bannerExtraContent]
}), img && /*#__PURE__*/(0,jsx_runtime.jsx)("img", {
style: {
marginTop: 33,
marginRight: 38
},
src: img,
width: imgWidth
})]
})
});
};
/* harmony default export */ var ui_customization_Banner = (Banner);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/slicedToArray.js
var slicedToArray = __webpack_require__(79800);
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
;// CONCATENATED MODULE: ./src/components/ui-customization/CustomTags/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var CustomTagsmodules = ({"flex_box_center":"flex_box_center___hG6RI","flex_space_between":"flex_space_between___ss3Fh","flex_box_vertical_center":"flex_box_vertical_center___K80p9","flex_box_center_end":"flex_box_center_end___qmXX3","flex_box_column":"flex_box_column___GFV8F","row":"row___aXJjm","title":"title___HUKL0","tagsWrap":"tagsWrap___XB2W3","action":"action___VdHb1","bar":"bar___t1kKC","tag":"tag___V7Eft","name":"name___Hk1Ip","num":"num___xQpcH","active":"active___XryTX","tagsBorderWrap":"tagsBorderWrap___OMxjs"});
// EXTERNAL MODULE: ./node_modules/_classnames@2.5.1@classnames/index.js
var _classnames_2_5_1_classnames = __webpack_require__(92310);
var _classnames_2_5_1_classnames_default = /*#__PURE__*/__webpack_require__.n(_classnames_2_5_1_classnames);
// EXTERNAL MODULE: ./node_modules/_lodash@4.17.21@lodash/lodash.js
var lodash = __webpack_require__(89392);
;// CONCATENATED MODULE: ./src/components/ui-customization/CustomTags/index.tsx
var CustomTags = function CustomTags(_ref) {
var _ref$dataSource = _ref.dataSource,
dataSource = _ref$dataSource === void 0 ? [] : _ref$dataSource,
value = _ref.value,
onChange = _ref.onChange,
onTitleChange = _ref.onTitleChange,
className = _ref.className,
title = _ref.title,
_ref$titleWidth = _ref.titleWidth,
titleWidth = _ref$titleWidth === void 0 ? 41 : _ref$titleWidth,
_ref$style = _ref.style,
style = _ref$style === void 0 ? {} : _ref$style,
_ref$fontColor = _ref.fontColor,
fontColor = _ref$fontColor === void 0 ? '#6A7283' : _ref$fontColor,
showCount = _ref.showCount;
var _useState = (0,_react_17_0_2_react.useState)(0),
_useState2 = slicedToArray_default()(_useState, 2),
show = _useState2[0],
setShow = _useState2[1];
var _useState3 = (0,_react_17_0_2_react.useState)(false),
_useState4 = slicedToArray_default()(_useState3, 2),
showBorder = _useState4[0],
setShowBorder = _useState4[1];
var tagsRef = (0,_react_17_0_2_react.useRef)(null);
var scrollRef = (0,_react_17_0_2_react.useRef)(null);
(0,_react_17_0_2_react.useEffect)(function () {
if (dataSource.length !== 0) {
var _tagsRef$current;
if ((tagsRef === null || tagsRef === void 0 || (_tagsRef$current = tagsRef.current) === null || _tagsRef$current === void 0 ? void 0 : _tagsRef$current.clientHeight) > 97) {
setShow(1);
} else {
setShow(0);
}
}
if (dataSource.length === 0) {
setShow(0);
}
setShowBorder(false);
}, [dataSource]);
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: _classnames_2_5_1_classnames_default()(CustomTagsmodules.row, className),
style: style,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
onClick: (0,lodash.throttle)(function () {
return onTitleChange === null || onTitleChange === void 0 ? void 0 : onTitleChange();
}, 2000),
style: {
width: titleWidth,
marginTop: showBorder ? 12 : 4
},
className: "".concat(CustomTagsmodules.title, " ").concat(onTitleChange ? "current" : ""),
children: title
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: showBorder ? "".concat(CustomTagsmodules.tagsWrap, " ").concat(CustomTagsmodules.tagsBorderWrap) : CustomTagsmodules.tagsWrap,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: CustomTagsmodules.bar,
ref: scrollRef,
style: show > 0 ? {
height: show === 1 ? 97 : 'auto',
overflow: show === 1 ? 'hidden' : 'auto',
paddingRight: 55
} : {
paddingRight: 0
},
children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: CustomTagsmodules.tag,
ref: tagsRef,
children: dataSource === null || dataSource === void 0 ? void 0 : dataSource.map(function (e) {
return /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
onClick: function onClick() {
return onChange(e.id);
},
style: {
color: fontColor
},
className: value === e.id ? CustomTagsmodules.active : '',
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
title: e.name,
className: CustomTagsmodules.name,
children: e.name
}), !!showCount && /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: CustomTagsmodules.num,
children: e.count
})]
}, e.id);
})
})
}), !!show && /*#__PURE__*/(0,jsx_runtime.jsx)(_react_17_0_2_react.Fragment, {
children: show === 1 ? /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
onClick: function onClick() {
var _tagsRef$current2;
setShow(2);
if ((tagsRef === null || tagsRef === void 0 || (_tagsRef$current2 = tagsRef.current) === null || _tagsRef$current2 === void 0 ? void 0 : _tagsRef$current2.clientHeight) > 245) {
setShowBorder(true);
} else {
setShowBorder(false);
}
},
className: CustomTagsmodules.action,
children: ["\u5C55\u5F00", /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
style: {
transform: 'translateY(1px) scale(0.6)'
},
className: "iconfont icon-zhankai4"
})]
}) : /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
onClick: function onClick() {
scrollRef.current.scrollTop = 0;
setShow(1);
setShowBorder(false);
},
className: CustomTagsmodules.action,
children: ["\u6536\u8D77", /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
style: {
transform: 'translateY(0px) scale(0.6)'
},
className: "iconfont icon-shouqi3"
})]
})
})]
})]
});
};
/* harmony default export */ var ui_customization_CustomTags = (CustomTags);
;// CONCATENATED MODULE: ./src/components/ui-customization/SuperiorTabs/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var SuperiorTabsmodules = ({"flex_box_center":"flex_box_center___aK2n3","flex_space_between":"flex_space_between___HX0Oh","flex_box_vertical_center":"flex_box_vertical_center___LJOJr","flex_box_center_end":"flex_box_center_end___SCakF","flex_box_column":"flex_box_column___AYv4m","tabs":"tabs___GTqPV","active":"active___F26E8"});
;// CONCATENATED MODULE: ./src/components/ui-customization/SuperiorTabs/index.tsx
var SuperiorTabs = function SuperiorTabs(_ref) {
var _ref$dataSource = _ref.dataSource,
dataSource = _ref$dataSource === void 0 ? [] : _ref$dataSource,
value = _ref.value,
onChange = _ref.onChange,
className = _ref.className,
_ref$style = _ref.style,
style = _ref$style === void 0 ? {} : _ref$style;
return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
style: style,
className: _classnames_2_5_1_classnames_default()(SuperiorTabsmodules.tabs, className),
children: dataSource.map(function (e) {
return /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
onClick: function onClick() {
return onChange(e.id);
},
className: value === e.id ? SuperiorTabsmodules.active : '',
children: e.name
}, e.id);
})
});
};
/* harmony default export */ var ui_customization_SuperiorTabs = (SuperiorTabs);
;// CONCATENATED MODULE: ./src/components/ui-customization/CustomInput/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var CustomInputmodules = ({"flex_box_center":"flex_box_center___yX6Oa","flex_space_between":"flex_space_between___t7oqF","flex_box_vertical_center":"flex_box_vertical_center___dEIHy","flex_box_center_end":"flex_box_center_end___taQDF","flex_box_column":"flex_box_column___xY_Lr","input":"input___PW2zI","dropdown":"dropdown___vSy8B","menu":"menu___NiyBu","text":"text___Grueu","b1":"b1___ZKryM","b2":"b2___aKyGa"});
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/input/index.js + 5 modules
var input = __webpack_require__(20008);
;// CONCATENATED MODULE: ./src/components/ui-customization/CustomInput/index.tsx
var CustomInput = function CustomInput(_ref) {
var _dataSource$find;
var _ref$dataSource = _ref.dataSource,
dataSource = _ref$dataSource === void 0 ? [] : _ref$dataSource,
_ref$value = _ref.value,
value = _ref$value === void 0 ? '' : _ref$value,
onChange = _ref.onChange,
_ref$onInputChange = _ref.onInputChange,
onInputChange = _ref$onInputChange === void 0 ? function () {} : _ref$onInputChange,
className = _ref.className,
_ref$style = _ref.style,
style = _ref$style === void 0 ? {} : _ref$style,
placeholder = _ref.placeholder,
_ref$allowClear = _ref.allowClear,
allowClear = _ref$allowClear === void 0 ? false : _ref$allowClear;
var _useState = (0,_react_17_0_2_react.useState)(''),
_useState2 = slicedToArray_default()(_useState, 2),
dropValue = _useState2[0],
setDropValue = _useState2[1];
var _useState3 = (0,_react_17_0_2_react.useState)(''),
_useState4 = slicedToArray_default()(_useState3, 2),
inputValue = _useState4[0],
setInputValue = _useState4[1];
(0,_react_17_0_2_react.useEffect)(function () {
var _JSON$stringify;
var newValue = value;
if ((_JSON$stringify = JSON.stringify(value)) !== null && _JSON$stringify !== void 0 && _JSON$stringify.includes('{')) {
setDropValue(value.id);
newValue = value.value || '';
}
try {
setInputValue(decodeURIComponent(newValue || ""));
} catch (error) {
setInputValue(decodeURIComponent(newValue || ""));
}
}, [value]);
var handleChange = function handleChange() {
onChange(encodeURIComponent(inputValue), dropValue || null);
};
var handleDropValue = function handleDropValue(id) {
if (id === dropValue) return;
setDropValue(id);
onChange(encodeURIComponent(inputValue), id);
};
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: _classnames_2_5_1_classnames_default()(CustomInputmodules.input, className),
style: style,
children: [!!dataSource.length && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: CustomInputmodules.dropdown,
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: CustomInputmodules.text,
children: [(_dataSource$find = dataSource.find(function (e) {
return e.id === dropValue;
})) === null || _dataSource$find === void 0 ? void 0 : _dataSource$find.name, /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-zhankai4"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("b", {
className: CustomInputmodules.b1
}), /*#__PURE__*/(0,jsx_runtime.jsx)("b", {
className: CustomInputmodules.b2
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: CustomInputmodules.menu,
children: dataSource.map(function (e, i) {
return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
onClick: function onClick() {
return handleDropValue(e.id);
},
children: e.name
}, i);
})
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
onPressEnter: handleChange,
value: inputValue,
onChange: function onChange(e) {
setInputValue(e.target.value);
onInputChange(encodeURIComponent(e.target.value), dropValue || null);
},
bordered: false,
placeholder: placeholder
}), /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
onClick: handleChange,
className: "iconfont icon-sousuo9 font14 pl10 current"
})]
});
};
/* harmony default export */ var ui_customization_CustomInput = (CustomInput);
;// CONCATENATED MODULE: ./src/components/ui-customization/QuickPager/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var QuickPagermodules = ({"flex_box_center":"flex_box_center___tol8o","flex_space_between":"flex_space_between___Z235C","flex_box_vertical_center":"flex_box_vertical_center___Wq1sZ","flex_box_center_end":"flex_box_center_end___LLxom","flex_box_column":"flex_box_column___DbMSN","quickPager":"quickPager___GM30J","disabled":"disabled___Ozc8I"});
;// CONCATENATED MODULE: ./src/components/ui-customization/QuickPager/index.tsx
var QuickPager_SuperiorTabs = function SuperiorTabs(_ref) {
var value = _ref.value,
onChange = _ref.onChange,
className = _ref.className,
total = _ref.total,
pageSize = _ref.pageSize,
_ref$style = _ref.style,
style = _ref$style === void 0 ? {} : _ref$style;
var prevPageDisabled = value < 2;
var nextPageDisabled = value >= Math.ceil(total / pageSize);
if (total <= pageSize) {
return /*#__PURE__*/(0,jsx_runtime.jsx)(jsx_runtime.Fragment, {});
}
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: _classnames_2_5_1_classnames_default()(QuickPagermodules.quickPager, className),
style: style,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
onClick: function onClick() {
if (!prevPageDisabled) {
onChange(value - 1, 'prev');
}
},
className: prevPageDisabled ? QuickPagermodules.disabled : '',
children: "\u4E0A\u4E00\u9875"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
onClick: function onClick() {
if (!nextPageDisabled) {
onChange(value + 1, 'next');
}
},
className: nextPageDisabled ? QuickPagermodules.disabled : '',
children: "\u4E0B\u4E00\u9875"
})]
});
};
/* harmony default export */ var QuickPager = (QuickPager_SuperiorTabs);
;// CONCATENATED MODULE: ./src/components/ui-customization/Cards/ShixunList/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var ShixunListmodules = ({"flex_box_center":"flex_box_center___FO7TP","flex_space_between":"flex_space_between___LotYx","flex_box_vertical_center":"flex_box_vertical_center___bWdaw","flex_box_center_end":"flex_box_center_end___mVJ1o","flex_box_column":"flex_box_column___M83Mm","list":"list___oOsiS","wrap":"wrap___G6T7F","lockWrap":"lockWrap___Rl79E","li":"li___oZZ7l","cover":"cover___b2bYW","img":"img___IQX7w","sign":"sign___HkT6C","name":"name___SsJx8","e":"e___TMqq0","tags":"tags___bcjyo","rate":"rate___YACg7"});
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/spin/index.js + 1 modules
var spin = __webpack_require__(71418);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/tooltip/index.js + 3 modules
var tooltip = __webpack_require__(6848);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/rate/index.js + 8 modules
var rate = __webpack_require__(9204);
// EXTERNAL MODULE: ./src/utils/env.ts + 1 modules
var env = __webpack_require__(33259);
// EXTERNAL MODULE: ./src/utils/util.tsx
var util = __webpack_require__(63834);
// EXTERNAL MODULE: ./src/components/ui-customization/Cards/ShixunList/img/Jupyter.png
var Jupyter = __webpack_require__(96908);
// EXTERNAL MODULE: ./src/components/ui-customization/Cards/ShixunList/img/JupyterLab.png
var JupyterLab = __webpack_require__(57177);
// EXTERNAL MODULE: ./src/components/ui-customization/Cards/ShixunList/img/unity.png
var unity = __webpack_require__(81378);
// EXTERNAL MODULE: ./src/components/NoData/index.tsx
var NoData = __webpack_require__(77068);
;// CONCATENATED MODULE: ./src/components/ui-customization/Cards/ShixunList/index.tsx
var ShixunList = function ShixunList(_ref) {
var className = _ref.className,
_ref$dataSource = _ref.dataSource,
dataSource = _ref$dataSource === void 0 ? [] : _ref$dataSource,
_ref$col = _ref.col,
col = _ref$col === void 0 ? 4 : _ref$col,
right = _ref.right,
_ref$bottom = _ref.bottom,
bottom = _ref$bottom === void 0 ? 23 : _ref$bottom,
_ref$precision = _ref.precision,
precision = _ref$precision === void 0 ? 0 : _ref$precision,
_ref$wrapWidth = _ref.wrapWidth,
wrapWidth = _ref$wrapWidth === void 0 ? 1200 : _ref$wrapWidth,
trackEventItems = _ref.trackEventItems,
loading = _ref.loading;
var width = Math.floor((wrapWidth - (col - 1) * right) / col);
return /*#__PURE__*/(0,jsx_runtime.jsx)(spin/* default */.Z, {
spinning: loading,
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: _classnames_2_5_1_classnames_default()(ShixunListmodules.list, className),
children: [!!dataSource.length && dataSource.map(function (item, index) {
var name = item.name,
id = item.id,
identifier = item.identifier,
power = item.power,
cover_image_id = item.cover_image_id,
pic = item.pic;
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: ShixunListmodules.wrap,
style: {
width: width,
marginRight: (1 + index) % col === 0 ? 0 : right + precision,
marginBottom: bottom
},
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
target: "_blank",
href: "/shixuns/".concat(identifier, "/challenges"),
className: ShixunListmodules.li,
onClick: function onClick(e) {
e.preventDefault();
if (trackEventItems) {
(0,util/* trackEvent */.L9)([trackEventItems]);
}
power && (0,util/* openNewWindow */.xg)("/shixuns/".concat(identifier, "/challenges"));
},
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: ShixunListmodules.img,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
className: ShixunListmodules.cover,
src: "".concat(pic)
}), item.is_jupyter && /*#__PURE__*/(0,jsx_runtime.jsx)("img", {
className: ShixunListmodules.sign,
src: Jupyter
}), item.is_jupyter_lab && /*#__PURE__*/(0,jsx_runtime.jsx)("img", {
className: ShixunListmodules.sign,
src: JupyterLab
}), item.is_unity_3d && /*#__PURE__*/(0,jsx_runtime.jsx)("img", {
className: ShixunListmodules.sign,
src: unity
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: ShixunListmodules.name,
children: /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
title: name || '实践项目名称-未填写',
children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: ShixunListmodules.e,
children: name || '实践项目名称-未填写'
})
})
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: ShixunListmodules.tags,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
placement: "bottom",
title: "\u5173\u5361\u6570",
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-shixunguanqia font14 mr2"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: item.challenges_count
})]
})
}), !!item.myshixuns_count && /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
placement: "bottom",
title: "\u5B66\u4E60\u4EBA\u6570",
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-chengyuan font14 mr2"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: item.myshixuns_count
})]
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
placement: "bottom",
title: "\u96BE\u5EA6\u7B49\u7EA7",
children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: item.level
})
})
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: ShixunListmodules.rate,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(rate/* default */.Z, {
allowHalf: true,
disabled: true,
defaultValue: item.score_info
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
children: ["\xA0", item.score_info ? "".concat(item.score_info, "\u5206") : '5分']
})]
})]
})]
}), !power && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: ShixunListmodules.lockWrap,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
src: "".concat(env/* default */.Z.IMG_SERVER, "/images/educoder/icon/lockclose.svg")
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "mt15 font16 c-white",
children: "\u5B9A\u5411\u5F00\u653E\u5185\u5BB9\uFF0C\u9700\u8981\u6388\u6743"
})]
})]
}, id);
}), !dataSource.length && /*#__PURE__*/(0,jsx_runtime.jsx)(NoData/* default */.Z, {})]
})
});
};
/* harmony default export */ var Cards_ShixunList = (ShixunList);
;// CONCATENATED MODULE: ./src/components/ui-customization/Cards/CourseList/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var CourseListmodules = ({"flex_box_center":"flex_box_center___AQ53o","flex_space_between":"flex_space_between___i2aIa","flex_box_vertical_center":"flex_box_vertical_center___sPEKB","flex_box_center_end":"flex_box_center_end___GhSSH","flex_box_column":"flex_box_column___R9_Hb","list":"list___jb2Ay","wrap":"wrap___VsQDr","lockWrap":"lockWrap___g1k1T","li":"li___IxCLC","cover":"cover___Mu8wr","img":"img___IpFLA","bq":"bq___Bil0T","sign":"sign___DXJ4d","name":"name___l7FoJ","e":"e___pXQUG","unit":"unit___wCIFR","tags":"tags___w_Mil","tag1":"tag1___dxm7r","tag2":"tag2___llZkf"});
;// CONCATENATED MODULE: ./src/components/ui-customization/Cards/CourseList/index.tsx
var CourseList = function CourseList(_ref) {
var className = _ref.className,
_ref$dataSource = _ref.dataSource,
dataSource = _ref$dataSource === void 0 ? [] : _ref$dataSource,
_ref$col = _ref.col,
col = _ref$col === void 0 ? 4 : _ref$col,
right = _ref.right,
_ref$bottom = _ref.bottom,
bottom = _ref$bottom === void 0 ? 23 : _ref$bottom,
_ref$precision = _ref.precision,
precision = _ref$precision === void 0 ? 0 : _ref$precision,
_ref$wrapWidth = _ref.wrapWidth,
wrapWidth = _ref$wrapWidth === void 0 ? 1200 : _ref$wrapWidth,
trackEventItems = _ref.trackEventItems,
loading = _ref.loading;
var width = Math.floor((wrapWidth - (col - 1) * right) / col);
var imgs = [{
name: '推荐自学',
ptimg: '/images/tjzx.png',
swimg: '/images/sw_tjzx.png'
}, {
name: '101计划',
ptimg: '/images/jh.png',
swimg: '/images/sw_jh.png'
}, {
name: '国家一流',
ptimg: '/images/gjyl.png',
swimg: '/images/sw_gjyl.png'
}, {
name: '省级一流',
ptimg: '/images/sjyl.png',
swimg: '/images/sw_sjyl.png'
}, {
name: '精品课程',
ptimg: '/images/jpkc.png',
swimg: '/images/sw_jpkc.png'
}, {
name: '军队一流',
ptimg: '/images/jdyl.png',
swimg: '/images/sw_jdyl.png'
}];
return /*#__PURE__*/(0,jsx_runtime.jsx)(spin/* default */.Z, {
spinning: loading,
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: _classnames_2_5_1_classnames_default()(CourseListmodules.list, className),
children: [!!(dataSource !== null && dataSource !== void 0 && dataSource.length) && (dataSource === null || dataSource === void 0 ? void 0 : dataSource.map(function (item, index) {
var _item$subject_tags;
var name = item.name,
id = item.id,
identifier = item.identifier,
featured = item.featured,
school_name = item.school_name,
image_url = item.image_url,
excellent = item.excellent,
is_plan = item.is_plan;
return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: CourseListmodules.wrap,
style: {
width: width,
marginRight: (1 + index) % col === 0 ? 0 : right + precision,
marginBottom: bottom
},
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
target: "_blank",
href: "/paths/".concat(identifier),
className: CourseListmodules.li,
onClick: function onClick(e) {
e.preventDefault();
if (trackEventItems) {
(0,util/* trackEvent */.L9)([trackEventItems]);
}
(0,util/* openNewWindow */.xg)("/paths/".concat(identifier));
},
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: CourseListmodules.img,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
className: CourseListmodules.cover,
src: "".concat(image_url)
}), item === null || item === void 0 || (_item$subject_tags = item.subject_tags) === null || _item$subject_tags === void 0 ? void 0 : _item$subject_tags.map(function (i, k) {
var _imgs$find2;
if (k === 0) {
var _imgs$find;
var _img = (_imgs$find = imgs.find(function (e) {
return e.name == i;
})) === null || _imgs$find === void 0 ? void 0 : _imgs$find.swimg;
return /*#__PURE__*/(0,jsx_runtime.jsx)("img", {
className: CourseListmodules.sign,
src: _img,
style: {
left: '-4px'
}
});
}
var img = (_imgs$find2 = imgs.find(function (e) {
return e.name == i;
})) === null || _imgs$find2 === void 0 ? void 0 : _imgs$find2.ptimg;
return /*#__PURE__*/(0,jsx_runtime.jsx)("img", {
className: CourseListmodules.sign,
src: img,
style: {
left: "".concat(48 + 52 * (k - 1) + 2 * k, "px")
}
});
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
style: {
position: 'absolute',
top: '150px',
left: '4px'
},
children: (item === null || item === void 0 ? void 0 : item.excellent) && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: CourseListmodules.bq,
children: "\u5F00\u653E\u8BFE\u7A0B"
})
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: CourseListmodules.name,
children: /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
title: name,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: CourseListmodules.e,
children: name
})
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
title: "\u53D1\u5E03\u5355\u4F4D\uFF1A".concat(school_name),
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: CourseListmodules.unit,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-danwei1 font14 mr3"
}), school_name]
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: CourseListmodules.tags,
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
placement: "bottom",
title: "\u7AE0\u8282\u6570",
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-zhangjie1 font14 mr3"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: item.stages_count
})]
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
placement: "bottom",
title: "\u5B66\u4E60\u4EBA\u6570",
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-chengyuan font14 mr3"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: item.members_count
})]
})
})]
})
})]
})
}, id);
})), !dataSource.length && /*#__PURE__*/(0,jsx_runtime.jsx)(NoData/* default */.Z, {})]
})
});
};
/* harmony default export */ var Cards_CourseList = (CourseList);
;// CONCATENATED MODULE: ./src/components/ui-customization/Cards/ClassroomList/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var ClassroomListmodules = ({"flex_box_center":"flex_box_center___eMcr7","flex_space_between":"flex_space_between___HcNca","flex_box_vertical_center":"flex_box_vertical_center___ZnvVN","flex_box_center_end":"flex_box_center_end___fdgDf","flex_box_column":"flex_box_column___SEKvd","list":"list___L1hmU","wrap":"wrap___pKgcW","lockWrap":"lockWrap___SMhkK","top":"top___udHSB","sign":"sign___uwRpq","name":"name___Fpf90","img":"img___AMLhL","text":"text___KiTb7","btns":"btns___i6IuZ","bottom":"bottom____k2sh"});
;// CONCATENATED MODULE: ./src/components/ui-customization/Cards/ClassroomList/img/privately.png
var privately_namespaceObject = "data:image/png;base64,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";
;// CONCATENATED MODULE: ./src/components/ui-customization/Cards/ClassroomList/index.tsx
var ClassroomList = function ClassroomList(_ref) {
var className = _ref.className,
_ref$dataSource = _ref.dataSource,
dataSource = _ref$dataSource === void 0 ? [] : _ref$dataSource,
_ref$col = _ref.col,
col = _ref$col === void 0 ? 4 : _ref$col,
right = _ref.right,
_ref$bottom = _ref.bottom,
bottom = _ref$bottom === void 0 ? 23 : _ref$bottom,
_ref$precision = _ref.precision,
precision = _ref$precision === void 0 ? 0 : _ref$precision,
_ref$wrapWidth = _ref.wrapWidth,
wrapWidth = _ref$wrapWidth === void 0 ? 1200 : _ref$wrapWidth,
trackEventItems = _ref.trackEventItems,
loading = _ref.loading;
var width = Math.floor((wrapWidth - (col - 1) * right) / col);
return /*#__PURE__*/(0,jsx_runtime.jsx)(spin/* default */.Z, {
spinning: loading,
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: _classnames_2_5_1_classnames_default()(ClassroomListmodules.list, className),
children: [!!dataSource.length && dataSource.map(function (item, index) {
var subject_identifier = item.subject_identifier,
id = item.id,
identifier = item.identifier,
power = item.power;
var is_public = item.is_public != 0 && item.is_public;
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: ClassroomListmodules.wrap,
style: {
width: width,
marginRight: (1 + index) % col === 0 ? 0 : right + precision,
marginBottom: bottom
},
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
className: ClassroomListmodules.li,
onClick: function onClick(e) {
e.preventDefault();
if (trackEventItems) {
(0,util/* trackEvent */.L9)([trackEventItems]);
}
(0,util/* openNewWindow */.xg)(item.first_category_url);
},
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: ClassroomListmodules.top,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
title: item.name,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: ClassroomListmodules.name,
children: item.name
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("img", {
className: ClassroomListmodules.img,
src: true ? env/* default */.Z.IMG_SERVER + '/images/' + item.avatar_url : 0
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: ClassroomListmodules.text,
title: item.creator,
children: item.creator
}), subject_identifier && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: ClassroomListmodules.btns,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
children: "\u5F00\u653E\u8BFE\u7A0B"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("aside", {
children: "\u5F00\u653E\u8BFE\u5802"
})]
}), is_public && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: ClassroomListmodules.sign,
children: "\u516C\u5F00"
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: ClassroomListmodules.bottom,
children: [item.visits > 0 && /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
title: "\u8BBF\u95EE\u91CF",
placement: "bottom",
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-liulanyan"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: item.visits
})]
})
}), item.course_members_count > 0 && /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
title: "\u6210\u5458",
placement: "bottom",
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-chengyuan"
}), item.course_members_count]
})
}), item.tasks_count > 0 && /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
title: "\u4F5C\u4E1A",
placement: "bottom",
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-zuoye"
}), item.tasks_count]
})
}), item.is_end ? /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
style: {
color: '#6B758B'
},
children: "\u5DF2\u7ED3\u675F"
}) : /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
style: {
color: '#00B187'
},
children: "\u8FDB\u884C\u4E2D"
})]
})]
}), !item.is_accessible && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: ClassroomListmodules.lockWrap,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
src: "".concat(env/* default */.Z.IMG_SERVER, "/images/educoder/icon/lockclose.svg")
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "mt15 font16 c-white",
children: "\u975E\u8BFE\u5802\u6210\u5458\u4E0D\u53EF\u8FDB\u5165"
})]
})]
}, id);
}), !dataSource.length && /*#__PURE__*/(0,jsx_runtime.jsx)(NoData/* default */.Z, {})]
})
});
};
/* harmony default export */ var Cards_ClassroomList = (ClassroomList);
;// CONCATENATED MODULE: ./src/components/ui-customization/CustomTabs/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var CustomTabsmodules = ({"flex_box_center":"flex_box_center___d27mZ","flex_space_between":"flex_space_between___qfRU9","flex_box_vertical_center":"flex_box_vertical_center___fCRld","flex_box_center_end":"flex_box_center_end___ORMV8","flex_box_column":"flex_box_column___PNKtZ","tabs":"tabs___alpa7","tabsWrap":"tabsWrap___aCQjw","tab":"tab___MKLr4","active":"active___nl_4v"});
// EXTERNAL MODULE: ./src/.umi-production/exports.ts + 15 modules
var _umi_production_exports = __webpack_require__(8931);
;// CONCATENATED MODULE: ./src/components/ui-customization/CustomTabs/index.tsx
var FixedBottom = function FixedBottom(_ref) {
var _ref$dataSource = _ref.dataSource,
dataSource = _ref$dataSource === void 0 ? [] : _ref$dataSource,
value = _ref.value,
onChange = _ref.onChange,
className = _ref.className,
_ref$style = _ref.style,
style = _ref$style === void 0 ? {} : _ref$style,
tabBarExtraContent = _ref.tabBarExtraContent;
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: _classnames_2_5_1_classnames_default()(CustomTabsmodules.tabs, className),
style: style,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: CustomTabsmodules.tabsWrap,
children: dataSource.map(function (item, index) {
return /*#__PURE__*/(0,jsx_runtime.jsxs)("aside", {
className: CustomTabsmodules.tab,
onClick: function onClick() {
onChange(item.id);
if (item.link) {
_umi_production_exports.history.push(item.link);
} //教学课堂->学生列表,教师列表,助教权限样式优化
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: value === item.id ? CustomTabsmodules.active : '',
children: item.name
}), (item === null || item === void 0 ? void 0 : item.resetCount) == undefined && (item === null || item === void 0 ? void 0 : item.total) !== undefined && /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
children: ["\uFF08", item === null || item === void 0 ? void 0 : item.total, "\uFF09"]
}), (item === null || item === void 0 ? void 0 : item.resetCount) !== undefined && (item === null || item === void 0 ? void 0 : item.total) !== undefined && /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
title: (item === null || item === void 0 ? void 0 : item.tip) != undefined ? item === null || item === void 0 ? void 0 : item.tip : '',
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
style: {
color: "#9096A3"
},
children: ["\uFF08", /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
style: {
color: "#000"
},
children: item === null || item === void 0 ? void 0 : item.resetCount
}), "/", /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: item === null || item === void 0 ? void 0 : item.total
}), "\uFF09"]
})
})]
}, index);
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: CustomTabsmodules.tabBar,
children: tabBarExtraContent
})]
});
};
/* harmony default export */ var CustomTabs = (FixedBottom);
;// CONCATENATED MODULE: ./src/components/ui-customization/CustomTable/index.tsx
var CustomCountdown = function CustomCountdown(_ref) {
var className = _ref.className,
_ref$style = _ref.style,
style = _ref$style === void 0 ? {} : _ref$style,
children = _ref.children;
return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: _classnames_2_5_1_classnames_default()(className),
style: style,
children: children
});
};
/* harmony default export */ var CustomTable = (CustomCountdown);
;// CONCATENATED MODULE: ./src/components/ui-customization/SuperiorSort/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var SuperiorSortmodules = ({"flex_box_center":"flex_box_center___e6HxQ","flex_space_between":"flex_space_between___RnXYe","flex_box_vertical_center":"flex_box_vertical_center___lVxPk","flex_box_center_end":"flex_box_center_end___bu8yv","flex_box_column":"flex_box_column___JczGj","orderWrap":"orderWrap___ZfyGX","orderIconWrap":"orderIconWrap___XTB_O","orderAsc":"orderAsc___KWHmA","orderDesc":"orderDesc___rHdbB","active":"active___a7eSP","cursorPointer":"cursorPointer___gs9kL","orderTextWrap":"orderTextWrap___teAKn"});
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/dropdown/index.js + 1 modules
var dropdown = __webpack_require__(38854);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/menu/index.js + 11 modules
var menu = __webpack_require__(20834);
;// CONCATENATED MODULE: ./src/components/ui-customization/SuperiorSort/index.tsx
var dropItem = [{
id: 'updated_at',
name: '最新动态'
}, {
id: 'created_at',
name: '最新创建'
}, {
id: 'name',
name: '名称排序'
}];
var SuperiorSort = function SuperiorSort(_ref) {
var _dataSource$find;
var sortValue = _ref.sortValue,
dropValue = _ref.dropValue,
className = _ref.className,
onSort = _ref.onSort,
onDrop = _ref.onDrop,
_ref$dataSource = _ref.dataSource,
dataSource = _ref$dataSource === void 0 ? dropItem : _ref$dataSource;
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: _classnames_2_5_1_classnames_default()(SuperiorSortmodules.orderWrap, className),
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(dropdown/* default */.Z, {
dropdownRender: function dropdownRender() {
return /*#__PURE__*/(0,jsx_runtime.jsx)(menu/* default */.Z, {
children: dataSource.map(function (e, i) {
return /*#__PURE__*/(0,jsx_runtime.jsx)(menu/* default */.Z.Item, {
onClick: function onClick() {
return onDrop(e.id);
},
children: e.name
}, i);
})
});
},
children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: SuperiorSortmodules.orderTextWrap,
children: (_dataSource$find = dataSource.find(function (e) {
return dropValue === e.id;
})) === null || _dataSource$find === void 0 ? void 0 : _dataSource$find.name
})
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
className: SuperiorSortmodules.orderIconWrap,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: SuperiorSortmodules.orderAsc,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: sortValue === 'asc' ? "iconfont icon-sanjiaoxing-up font12 ".concat(SuperiorSortmodules.cursorPointer, " ").concat(SuperiorSortmodules.active) : "iconfont icon-sanjiaoxing-up font12 ".concat(SuperiorSortmodules.cursorPointer),
onClick: function onClick() {
return onSort(sortValue === 'asc' ? 'desc' : 'asc');
}
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: SuperiorSortmodules.orderDesc,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: sortValue === 'desc' ? "iconfont icon-sanjiaoxing-down font12 ".concat(SuperiorSortmodules.cursorPointer, " ").concat(SuperiorSortmodules.active) : "iconfont icon-sanjiaoxing-down font12 ".concat(SuperiorSortmodules.cursorPointer),
onClick: function onClick() {
return onSort(sortValue === 'asc' ? 'desc' : 'asc');
}
})
})]
})]
});
};
/* harmony default export */ var ui_customization_SuperiorSort = (SuperiorSort);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/objectSpread2.js
var objectSpread2 = __webpack_require__(82242);
var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/regeneratorRuntime.js
var regeneratorRuntime = __webpack_require__(7557);
var regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(regeneratorRuntime);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/asyncToGenerator.js
var asyncToGenerator = __webpack_require__(41498);
var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/objectWithoutProperties.js
var objectWithoutProperties = __webpack_require__(39647);
var objectWithoutProperties_default = /*#__PURE__*/__webpack_require__.n(objectWithoutProperties);
;// CONCATENATED MODULE: ./src/components/ui-customization/CustomButton/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var CustomButtonmodules = ({"flex_box_center":"flex_box_center___LCi0B","flex_space_between":"flex_space_between___hzONe","flex_box_vertical_center":"flex_box_vertical_center___ZyQRE","flex_box_center_end":"flex_box_center_end___XKM74","flex_box_column":"flex_box_column___p8LCU","btn":"btn___In02G","mediacy-round":"mediacy-round___uveEv","mediacy-default":"mediacy-default___dDxsd","default":"default___K791v"});
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/button/index.js
var es_button = __webpack_require__(3113);
;// CONCATENATED MODULE: ./src/components/ui-customization/CustomButton/index.tsx
var _excluded = ["className", "style", "children", "loading", "openLoading", "onClick", "size", "shape"];
var CustomButton = function CustomButton(_ref) {
var className = _ref.className,
style = _ref.style,
children = _ref.children,
_ref$loading = _ref.loading,
loading = _ref$loading === void 0 ? false : _ref$loading,
openLoading = _ref.openLoading,
_ref$onClick = _ref.onClick,
onClick = _ref$onClick === void 0 ? function () {} : _ref$onClick,
_ref$size = _ref.size,
size = _ref$size === void 0 ? 'middle' : _ref$size,
_ref$shape = _ref.shape,
shape = _ref$shape === void 0 ? 'round' : _ref$shape,
props = objectWithoutProperties_default()(_ref, _excluded);
var _useState = (0,_react_17_0_2_react.useState)(false),
_useState2 = slicedToArray_default()(_useState, 2),
btnLoading = _useState2[0],
setBtnLoading = _useState2[1];
return /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, objectSpread2_default()(objectSpread2_default()({
onClick: (0,lodash.throttle)( /*#__PURE__*/function () {
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee(e) {
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
openLoading && setBtnLoading(true);
_context.prev = 1;
_context.next = 4;
return onClick(e);
case 4:
_context.next = 9;
break;
case 6:
_context.prev = 6;
_context.t0 = _context["catch"](1);
console.log("error", _context.t0);
case 9:
openLoading && setBtnLoading(false);
case 10:
case "end":
return _context.stop();
}
}, _callee, null, [[1, 6]]);
}));
return function (_x) {
return _ref2.apply(this, arguments);
};
}(), 2000, {
leading: true,
trailing: false
}),
className: _classnames_2_5_1_classnames_default()(CustomButtonmodules.btn, CustomButtonmodules["".concat(size, "-").concat(shape)], className),
style: style,
size: size,
shape: shape,
loading: btnLoading || loading
}, props), {}, {
children: children
}));
};
/* harmony default export */ var ui_customization_CustomButton = (CustomButton);
;// CONCATENATED MODULE: ./src/components/ui-customization/HeadBack/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var HeadBackmodules = ({"flex_box_center":"flex_box_center___TB7bQ","flex_space_between":"flex_space_between___oBlTb","flex_box_vertical_center":"flex_box_vertical_center___b5XbB","flex_box_center_end":"flex_box_center_end___CNhe7","flex_box_column":"flex_box_column___yHXKW","head":"head___ghH72","node":"node___mjPEy"});
;// CONCATENATED MODULE: ./src/components/ui-customization/HeadBack/index.tsx
var HeadBack_CustomButton = function CustomButton(_ref) {
var className = _ref.className,
style = _ref.style,
_ref$children = _ref.children,
children = _ref$children === void 0 ? null : _ref$children,
onClick = _ref.onClick,
title = _ref.title;
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: _classnames_2_5_1_classnames_default()(HeadBackmodules.head, className),
style: style,
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
className: "primary-hover",
onClick: onClick,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-fanhui2 font12"
}), "\u8FD4\u56DE"]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("b", {
title: title,
children: title
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: HeadBackmodules.node,
children: children
})]
});
};
/* harmony default export */ var HeadBack = (HeadBack_CustomButton);
;// CONCATENATED MODULE: ./src/components/ui-customization/ConfirmAndCancel/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var ConfirmAndCancelmodules = ({"flex_box_center":"flex_box_center___AlHuF","flex_space_between":"flex_space_between___vN2LW","flex_box_vertical_center":"flex_box_vertical_center___Ac7D2","flex_box_center_end":"flex_box_center_end___y38I7","flex_box_column":"flex_box_column___iQE6P","btns":"btns___sNgTb","confirm":"confirm___Ozirl","cancel":"cancel___aiq1I"});
;// CONCATENATED MODULE: ./src/components/ui-customization/ConfirmAndCancel/index.tsx
var ConfirmAndCancel = function ConfirmAndCancel(_ref) {
var _ref$confirmShow = _ref.confirmShow,
confirmShow = _ref$confirmShow === void 0 ? true : _ref$confirmShow,
confirmTitle = _ref.confirmTitle,
confirmClick = _ref.confirmClick,
_ref$cancelShow = _ref.cancelShow,
cancelShow = _ref$cancelShow === void 0 ? true : _ref$cancelShow,
cancelTitle = _ref.cancelTitle,
cancelClick = _ref.cancelClick,
className = _ref.className,
style = _ref.style,
_ref$confirmLoading = _ref.confirmLoading,
confirmLoading = _ref$confirmLoading === void 0 ? false : _ref$confirmLoading;
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: _classnames_2_5_1_classnames_default()(ConfirmAndCancelmodules.btns, className),
style: style,
children: [confirmShow && /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
loading: confirmLoading,
onClick: confirmClick,
type: "primary",
className: ConfirmAndCancelmodules.confirm,
children: confirmTitle
}), cancelShow && /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
onClick: cancelClick,
className: ConfirmAndCancelmodules.cancel,
children: cancelTitle
})]
});
};
/* harmony default export */ var ui_customization_ConfirmAndCancel = (ConfirmAndCancel);
;// CONCATENATED MODULE: ./src/components/ui-customization/FixedBottom/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var FixedBottommodules = ({"flex_box_center":"flex_box_center___jkpdr","flex_space_between":"flex_space_between___OtsL8","flex_box_vertical_center":"flex_box_vertical_center___rbcb_","flex_box_center_end":"flex_box_center_end___zBR21","flex_box_column":"flex_box_column___nS_eP","fixedBottom":"fixedBottom___oJl7m","wrap":"wrap___A3Oq1","center":"center____VL1y"});
;// CONCATENATED MODULE: ./src/components/ui-customization/FixedBottom/index.tsx
var FixedBottom_CustomTabs = function CustomTabs(_ref) {
var className = _ref.className,
_ref$style = _ref.style,
style = _ref$style === void 0 ? {} : _ref$style,
LeftContent = _ref.LeftContent,
children = _ref.children,
RightContent = _ref.RightContent;
return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: _classnames_2_5_1_classnames_default()(FixedBottommodules.fixedBottom, className),
style: style,
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: FixedBottommodules.wrap,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: FixedBottommodules.left,
children: LeftContent
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: FixedBottommodules.center,
children: children
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: FixedBottommodules.right,
children: RightContent
})]
})
});
};
/* harmony default export */ var ui_customization_FixedBottom = (FixedBottom_CustomTabs);
;// CONCATENATED MODULE: ./src/components/ui-customization/CustomCrumbs/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var CustomCrumbsmodules = ({"flex_box_center":"flex_box_center___tY8Yn","flex_space_between":"flex_space_between___vHdYA","flex_box_vertical_center":"flex_box_vertical_center___pa61F","flex_box_center_end":"flex_box_center_end___HyDXt","flex_box_column":"flex_box_column___UjZek","crumbs":"crumbs___V41Oe","hover":"hover___bEIVd"});
;// CONCATENATED MODULE: ./src/components/ui-customization/CustomCrumbs/index.tsx
var CustomCrumbs_CustomTabs = function CustomTabs(_ref) {
var className = _ref.className,
_ref$style = _ref.style,
style = _ref$style === void 0 ? {} : _ref$style,
_ref$dataSource = _ref.dataSource,
dataSource = _ref$dataSource === void 0 ? [] : _ref$dataSource;
return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: _classnames_2_5_1_classnames_default()(CustomCrumbsmodules.crumbs, className),
style: style,
children: dataSource.map(function (e, i) {
if (i < dataSource.length - 1) {
return /*#__PURE__*/(0,jsx_runtime.jsxs)(_react_17_0_2_react.Fragment, {
children: [e.path ? /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: CustomCrumbsmodules.hover,
onClick: function onClick() {
return _umi_production_exports.history.push(e.path);
},
children: e.name
}) : /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: e.name
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
children: ["\xA0", '>', "\xA0"]
})]
}, i);
}
return /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
style: {
color: '#5F6368'
},
children: e.name
}, i);
})
});
};
/* harmony default export */ var CustomCrumbs = (CustomCrumbs_CustomTabs);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/statistic/index.js + 5 modules
var statistic = __webpack_require__(31797);
;// CONCATENATED MODULE: ./src/components/ui-customization/CustomCountdown/index.tsx
var CustomCountdown_excluded = ["onChange"];
var Countdown = statistic/* default */.Z.Countdown;
// value输入是antd的Countdown
// onChange自带的是毫秒,不好做判断,现在被更改了,输出是秒
var CustomCountdown_CustomCountdown = function CustomCountdown(_ref) {
var onChange = _ref.onChange,
props = objectWithoutProperties_default()(_ref, CustomCountdown_excluded);
var _useState = (0,_react_17_0_2_react.useState)(null),
_useState2 = slicedToArray_default()(_useState, 2),
time = _useState2[0],
setTime = _useState2[1];
(0,_react_17_0_2_react.useEffect)(function () {
if (typeof time === 'number' && time >= 0) {
onChange(time);
}
}, [time]);
var onTimeChange = function onTimeChange(c) {
var currentTime = Math.floor(c / 1000);
setTime(currentTime);
};
return /*#__PURE__*/(0,jsx_runtime.jsx)(Countdown, objectSpread2_default()(objectSpread2_default()({}, props), {}, {
onChange: onTimeChange
}));
};
/* harmony default export */ var ui_customization_CustomCountdown = (CustomCountdown_CustomCountdown);
;// CONCATENATED MODULE: ./src/components/ui-customization/index.tsx
/***/ }),
/***/ 2775:
/*!******************************************************************************!*\
!*** ./src/pages/tasks/code-repository/HorizontalTabs/index.tsx + 1 modules ***!
\******************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
Z: function() { return /* binding */ code_repository_HorizontalTabs; }
});
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/objectSpread2.js
var objectSpread2 = __webpack_require__(82242);
var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/createForOfIteratorHelper.js
var createForOfIteratorHelper = __webpack_require__(91232);
var createForOfIteratorHelper_default = /*#__PURE__*/__webpack_require__.n(createForOfIteratorHelper);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/slicedToArray.js
var slicedToArray = __webpack_require__(79800);
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
var _react_17_0_2_react = __webpack_require__(59301);
;// CONCATENATED MODULE: ./src/pages/tasks/code-repository/HorizontalTabs/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var HorizontalTabsmodules = ({"scrollbar":"scrollbar___lLOKh","scrollbarContent":"scrollbarContent___J5uQ6","scrollbarTrack":"scrollbarTrack___ptQqt","scrollbarThumb":"scrollbarThumb___GFuZv","item":"item___MSfbI","icon":"icon___AXhP9","dot":"dot___BA766","active":"active___Rkf93","pathActive":"pathActive___l4hB4","paths":"paths___gzBRM"});
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/modal/index.js + 16 modules
var modal = __webpack_require__(43418);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/dropdown/index.js + 1 modules
var dropdown = __webpack_require__(38854);
// EXTERNAL MODULE: ./node_modules/_lodash@4.17.21@lodash/lodash.js
var lodash = __webpack_require__(89392);
// EXTERNAL MODULE: ./src/components/mediator.js
var mediator = __webpack_require__(34834);
// EXTERNAL MODULE: ./node_modules/_resize-observer-polyfill@1.5.1@resize-observer-polyfill/dist/ResizeObserver.es.js
var ResizeObserver_es = __webpack_require__(76374);
// EXTERNAL MODULE: ./src/utils/util.tsx
var util = __webpack_require__(63834);
// EXTERNAL MODULE: ./src/.umi-production/exports.ts + 15 modules
var _umi_production_exports = __webpack_require__(8931);
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js
var jsx_runtime = __webpack_require__(37712);
;// CONCATENATED MODULE: ./src/pages/tasks/code-repository/HorizontalTabs/index.tsx
var HorizontalTabs = function HorizontalTabs(_ref) {
var _ref$initTabs = _ref.initTabs,
initTabs = _ref$initTabs === void 0 ? [] : _ref$initTabs,
_ref$tabs = _ref.tabs,
tabs = _ref$tabs === void 0 ? [] : _ref$tabs,
setTabs = _ref.setTabs,
value = _ref.value,
onChange = _ref.onChange,
_ref$codeUpdate = _ref.codeUpdate,
codeUpdate = _ref$codeUpdate === void 0 ? false : _ref$codeUpdate,
_ref$paths = _ref.paths,
paths = _ref$paths === void 0 ? [] : _ref$paths,
activePath = _ref.activePath,
onChangePath = _ref.onChangePath,
codeLoading = _ref.codeLoading,
_ref$copyProhibited = _ref.copyProhibited,
copyProhibited = _ref$copyProhibited === void 0 ? false : _ref$copyProhibited;
var _useState = (0,_react_17_0_2_react.useState)(false),
_useState2 = slicedToArray_default()(_useState, 2),
visible = _useState2[0],
setVisible = _useState2[1];
var _useState3 = (0,_react_17_0_2_react.useState)(false),
_useState4 = slicedToArray_default()(_useState3, 2),
open = _useState4[0],
setOpen = _useState4[1];
var moveElement = (0,_react_17_0_2_react.useRef)();
var scrollbar = (0,_react_17_0_2_react.useRef)();
var scrollbarContent = (0,_react_17_0_2_react.useRef)();
var init = (0,_react_17_0_2_react.useRef)(false);
var params = (0,_umi_production_exports.useParams)();
var userInfo = (0,_umi_production_exports.useSelector)(function (state) {
var _state$user;
return state === null || state === void 0 || (_state$user = state.user) === null || _state$user === void 0 ? void 0 : _state$user.userInfo;
});
(0,_react_17_0_2_react.useEffect)(function () {
var unSub = mediator/* default */.Z.subscribe('send-tabs-result-data', function (data) {
var cloneTabs = (0,lodash.cloneDeep)(tabs);
var index = cloneTabs.findIndex(function (e) {
return e.index_tab === data.index_tab;
});
cloneTabs[index].resData = data;
setTabs(cloneTabs);
});
return unSub;
}, [tabs]);
(0,_react_17_0_2_react.useEffect)(function () {
var resizeObserver1 = new ResizeObserver_es/* default */.Z(function (entries) {
var _iterator = createForOfIteratorHelper_default()(entries),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var entry = _step.value;
var width = entry.contentRect.width;
// 处理宽度变化的逻辑
handleObserverSize();
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
});
var resizeObserver2 = new ResizeObserver_es/* default */.Z(function (entries) {
var _iterator2 = createForOfIteratorHelper_default()(entries),
_step2;
try {
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
var entry = _step2.value;
var width = entry.contentRect.width;
// 处理宽度变化的逻辑
handleObserverSize();
}
} catch (err) {
_iterator2.e(err);
} finally {
_iterator2.f();
}
});
if (scrollbar.current) {
resizeObserver1.observe(scrollbar.current);
resizeObserver2.observe(scrollbarContent.current);
}
return function () {
resizeObserver1.disconnect();
resizeObserver2.disconnect();
};
}, []);
(0,_react_17_0_2_react.useEffect)(function () {
if (!!initTabs.length && !init.current) {
var _Tpilist$filter;
var items = sessionStorage.getItem('Tpilist');
var Tpilist = JSON.parse(items) || [];
var fitem = Tpilist === null || Tpilist === void 0 || (_Tpilist$filter = Tpilist.filter(function (item) {
return item.id === params.taskId;
})) === null || _Tpilist$filter === void 0 ? void 0 : _Tpilist$filter[0];
var iscorrect = (userInfo === null || userInfo === void 0 ? void 0 : userInfo.user_status) === 2 || (fitem === null || fitem === void 0 ? void 0 : fitem.id) === params.taskId && (new Date().getTime() - new Date(fitem === null || fitem === void 0 ? void 0 : fitem.time).getTime()) / 1000 / 3600 > 24;
//判断分支
var newTabs = initTabs.map(function (e, i) {
return objectSpread2_default()(objectSpread2_default()({}, e), {}, {
active: params.taskId ? i === 0 && ![2, 3, 4].includes(e.tab_type) ? true : iscorrect ? false : fitem !== null && fitem !== void 0 && fitem.id && i === 0 ? true : false : i === 0 ? true : false,
resetKey: 1,
resData: {}
});
});
if (!(fitem !== null && fitem !== void 0 && fitem.id)) {
var item = {
id: params.taskId,
time: new Date()
};
Tpilist.push(item);
sessionStorage.setItem('Tpilist', JSON.stringify(Tpilist));
}
setTabs((0,lodash.cloneDeep)(newTabs));
onChange(newTabs[0]);
init.current = false;
}
}, [initTabs === null || initTabs === void 0 ? void 0 : initTabs.length]);
(0,_react_17_0_2_react.useEffect)(function () {
if (moveElement.current) {
var onMouseDown = function onMouseDown(e) {
startLeft = moveElement.current.offsetLeft;
startPageX = e.pageX;
dragging = true;
document.onselectstart = function () {
return false;
};
(0,util/* pointerEvents */.kk)('none');
};
var onMouseUp = function onMouseUp() {
dragging = false;
document.onselectstart = null;
(0,util/* pointerEvents */.kk)('auto');
};
var onMouseMove = function onMouseMove(e) {
if (dragging) {
var spareWidth = e.pageX - startPageX; //移动的距离
var finalLeft = startLeft + spareWidth; //渲染的left
var maxLeft = scrollbar.current.clientWidth - moveElement.current.clientWidth; //可以向左偏移的最大值
//左边到顶不用滚动
if (finalLeft <= 0) {
finalLeft = 0;
}
//右边到顶不用滚动
if (finalLeft >= maxLeft) {
finalLeft = maxLeft;
}
moveElement.current.style.left = "".concat(finalLeft, "px");
scrollbarContent.current.style.transform = "translateX(".concat(-(finalLeft / scrollbar.current.clientWidth * scrollbarContent.current.clientWidth), "px)");
}
};
var startLeft = 0;
var startPageX = 0;
var dragging = false;
moveElement.current.addEventListener('mousedown', onMouseDown);
document.addEventListener('mousemove', onMouseMove);
document.addEventListener('mouseup', onMouseUp);
return function () {
var _moveElement$current, _document, _document2;
(_moveElement$current = moveElement.current) === null || _moveElement$current === void 0 || _moveElement$current.removeEventListener('mousedown', onMouseDown);
(_document = document) === null || _document === void 0 || _document.removeEventListener('mousemove', onMouseMove);
(_document2 = document) === null || _document2 === void 0 || _document2.removeEventListener('mouseup', onMouseUp);
};
}
}, [moveElement.current, value]);
(0,_react_17_0_2_react.useEffect)(function () {
scrollbarContent.current.addEventListener('wheel', handleWheelEvent, {
passive: false
});
return function () {
var _scrollbarContent$cur;
(_scrollbarContent$cur = scrollbarContent.current) === null || _scrollbarContent$cur === void 0 || _scrollbarContent$cur.removeEventListener('wheel', handleWheelEvent, {
passive: false
});
};
}, [scrollbarContent.current]);
var handleObserverSize = function handleObserverSize() {
try {
if (scrollbarContent.current.clientWidth > scrollbar.current.clientWidth) {
var _moveElement$current$;
var barWidth = scrollbar.current.clientWidth / scrollbarContent.current.clientWidth * scrollbar.current.clientWidth;
var left = Number((_moveElement$current$ = moveElement.current.style.left) === null || _moveElement$current$ === void 0 ? void 0 : _moveElement$current$.replace('px', ''));
var finalLeft = left;
if (left + barWidth >= scrollbar.current.clientWidth) {
//往右偏移量
finalLeft = left - (left + barWidth - scrollbar.current.clientWidth);
}
moveElement.current.style.width = "".concat(barWidth, "px");
moveElement.current.style.left = "".concat(finalLeft, "px");
scrollbarContent.current.style.transform = "translateX(".concat(-(finalLeft / scrollbar.current.clientWidth * scrollbarContent.current.clientWidth), "px)");
setVisible(true);
} else {
moveElement.current.style.left = "".concat(0, "px");
scrollbarContent.current.style.transform = "translateX(0px)";
setVisible(false);
}
} catch (e) {}
};
var handleWheelEvent = function handleWheelEvent(event) {
//不出现滚动条时,阻止滑动
if (scrollbarContent.current.clientWidth <= scrollbar.current.clientWidth) return;
// 获取滚轮滚动的方向和滚动量
var deltaX = 0; // 水平方向上的滚动量
if (navigator.userAgent.indexOf('Macintosh') !== -1) {
// 用户在Mac系统上
deltaX = event.deltaX;
} else {
// 用户在其他操作系统上
if (event.shiftKey) {
deltaX = event.deltaX || event.deltaY;
} else {
deltaX = event.deltaX;
}
}
var transformValue = scrollbarContent.current.style.transform;
// 提取 translateX 的值
var match = transformValue.match(/translateX\(([-0-9.]+)px\)/);
var transformLeft = match ? parseFloat(match[1]) : 0;
transformLeft = Math.abs(transformLeft);
transformLeft = transformLeft + deltaX;
//向左控制
if (transformLeft <= 0) {
transformLeft = 0;
}
//向右控制
var maxLeft = scrollbarContent.current.clientWidth - scrollbar.current.clientWidth;
if (transformLeft >= maxLeft) {
transformLeft = maxLeft;
}
var finalLeft = transformLeft / scrollbarContent.current.clientWidth * scrollbar.current.clientWidth;
moveElement.current.style.left = "".concat(finalLeft, "px");
scrollbarContent.current.style.transform = "translateX(".concat(-transformLeft, "px)");
// 阻止滚轮默认行为(如果需要禁用默认滚动行为)
event.preventDefault();
};
var onCopy = function onCopy(item, i, e) {
e.stopPropagation();
if (tabs.length === 10) {
modal/* default */.Z.info({
title: "提示",
icon: null,
okText: "我知道了",
width: 600,
centered: true,
content: "实验界面窗口数量已达上限(10个),不允许再复制窗口。"
});
return;
}
var cloneTabs = (0,lodash.cloneDeep)(tabs);
var index = String(Math.random()).slice(-10);
var str = item.index_tab.split('-')[0];
var cloneItem = objectSpread2_default()(objectSpread2_default()({}, item), {}, {
active: false,
index_tab: "".concat(str, "-").concat(index),
isCopy: true
});
cloneTabs.splice(i + 1, 0, cloneItem);
setTabs(cloneTabs);
};
var onDelete = function onDelete(item, i, e) {
e.stopPropagation();
var cloneTabs = (0,lodash.cloneDeep)(tabs);
cloneTabs.splice(i, 1);
if (item.index_tab === value.index_tab) {
cloneTabs[i - 1].active = true;
onChange(cloneTabs[i - 1]);
}
setTabs(cloneTabs);
};
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: HorizontalTabsmodules.scrollbar,
ref: scrollbar,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: HorizontalTabsmodules.scrollbarContent,
ref: scrollbarContent,
children: tabs.map(function (e, i) {
var _compact;
var index_tab = e.index_tab,
isCopy = e.isCopy,
tab_type = e.tab_type,
name = e.name;
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
onClick: function onClick() {
if (index_tab === value.index_tab) return; //激活标签不允许重复点击
if ((userInfo === null || userInfo === void 0 ? void 0 : userInfo.user_status) === 2) {
return;
}
var cloneItem = objectSpread2_default()(objectSpread2_default()({}, e), {}, {
active: true
});
var cloneTabs = (0,lodash.cloneDeep)(tabs);
cloneTabs[i] = cloneItem;
onChange(cloneItem);
setTabs(cloneTabs);
},
className: value.index_tab === index_tab ? "".concat(HorizontalTabsmodules.item, " ").concat(HorizontalTabsmodules.active) : HorizontalTabsmodules.item,
children: [tab_type === 1 && /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
title: "\u4EE3\u7801\u7F16\u8F91\u5668",
style: {
color: '#3B86A0'
},
className: "iconfont icon-daimabianjiqi1"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: name
}), !!activePath && /*#__PURE__*/(0,jsx_runtime.jsx)(dropdown/* default */.Z, {
className: HorizontalTabsmodules.icon,
overlayClassName: HorizontalTabsmodules.paths,
onOpenChange: function onOpenChange(e) {
setOpen(e);
},
disabled: codeLoading,
menu: {
items: (_compact = (0,lodash.compact)(paths)) === null || _compact === void 0 ? void 0 : _compact.map(function (e) {
return {
key: e,
label: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: activePath === e ? HorizontalTabsmodules.pathActive : '',
children: e
}),
onClick: function onClick() {
if (activePath !== e) {
setOpen(false);
onChangePath(e);
}
}
};
})
},
children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
children: open ? /*#__PURE__*/(0,jsx_runtime.jsx)("b", {
className: "iconfont icon-a-xialazhankai"
}) : /*#__PURE__*/(0,jsx_runtime.jsx)("b", {
className: "iconfont icon-shouqi4"
})
})
}), codeUpdate && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: HorizontalTabsmodules.dot
})]
}), tab_type === 2 && /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
style: {
color: '#608B4E'
},
title: "VSCode\u7F16\u8F91\u5668",
className: "iconfont icon-vscode"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: name
})]
}), tab_type === 3 && /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
style: {
color: '#608B4E'
},
title: "\u56FE\u5F62\u5316\u684C\u9762",
className: "iconfont icon-tuxinghuazhuomian"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: name
})]
}), tab_type === 4 && /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
style: {
color: '#3B86A0'
},
title: "\u547D\u4EE4\u884C\u7EC8\u7AEF",
className: "iconfont icon-minglinghang"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: name
}), !copyProhibited && /*#__PURE__*/(0,jsx_runtime.jsx)("aside", {
title: "\u590D\u5236",
onClick: function onClick(k) {
return onCopy(e, i, k);
},
className: "iconfont icon-fuzhihuanjing font14 ml10 current"
}), isCopy && /*#__PURE__*/(0,jsx_runtime.jsx)("aside", {
title: "\u5173\u95ED",
onClick: function onClick(k) {
return onDelete(e, i, k);
},
className: "iconfont icon-guanbishiyanhuanjing font14 ml10 current"
})]
}), tab_type === 5 && /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
style: {
color: '#3B86A0'
},
title: "\u5BB9\u5668\u5185\u670D\u52A1",
className: "iconfont icon-rongqi1"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: name
})]
})]
}, index_tab);
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
style: {
display: visible ? 'block' : 'none'
},
className: HorizontalTabsmodules.scrollbarTrack,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
ref: moveElement,
className: HorizontalTabsmodules.scrollbarThumb
})
})]
});
};
/* harmony default export */ var code_repository_HorizontalTabs = (HorizontalTabs);
/***/ }),
/***/ 99505:
/*!************************************************!*\
!*** ./src/pages/tasks/index.jsx + 98 modules ***!
\************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
"default": function() { return /* binding */ tasks; }
});
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/typeof.js
var helpers_typeof = __webpack_require__(31468);
var typeof_default = /*#__PURE__*/__webpack_require__.n(helpers_typeof);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/toConsumableArray.js
var toConsumableArray = __webpack_require__(37205);
var toConsumableArray_default = /*#__PURE__*/__webpack_require__.n(toConsumableArray);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/objectWithoutProperties.js
var objectWithoutProperties = __webpack_require__(39647);
var objectWithoutProperties_default = /*#__PURE__*/__webpack_require__.n(objectWithoutProperties);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/defineProperty.js
var defineProperty = __webpack_require__(85573);
var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/regeneratorRuntime.js
var regeneratorRuntime = __webpack_require__(7557);
var regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(regeneratorRuntime);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/asyncToGenerator.js
var asyncToGenerator = __webpack_require__(41498);
var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/slicedToArray.js
var slicedToArray = __webpack_require__(79800);
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/objectDestructuringEmpty.js
var objectDestructuringEmpty = __webpack_require__(70236);
var objectDestructuringEmpty_default = /*#__PURE__*/__webpack_require__.n(objectDestructuringEmpty);
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/objectSpread2.js
var objectSpread2 = __webpack_require__(82242);
var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2);
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
var _react_17_0_2_react = __webpack_require__(59301);
// EXTERNAL MODULE: ./src/.umi-production/exports.ts + 15 modules
var _umi_production_exports = __webpack_require__(8931);
;// CONCATENATED MODULE: ./src/pages/tasks/index.less
// extracted by mini-css-extract-plugin
;// CONCATENATED MODULE: ./src/pages/tasks/left-panel/header/index.less
// extracted by mini-css-extract-plugin
;// CONCATENATED MODULE: ./src/pages/tasks/left-panel/header/nav.png
var nav_namespaceObject = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFoAAABaCAYAAAA4qEECAAABz0lEQVR4Xu3csU7DQBRE0V1+LNCn5DNT0mN+DCNoQzNjfBVWl/o9T3wYNiiyMq+3fR/+nC4whT7d+CdAaMZZaMhZaKEpASjHM1poSACKsdFCQwJQjI0WGhKAYmy00JAAFGOjhYYEoBgbLTQkAMXYaKEhASjGRgsNCUAxNlpoSACKsdFCQwJQjI0WGhKAYmz0YtDb2+t8ge4pirne9vcxxnO0VAxTjRYaeppUaAq6+GsjV5Y5Oki0h8yizuiHvHnyRQkNaQstNCQAxdhooSEBKMZGCw0JQDE2ejHobezj49A9PY19fI556Bq/Lc9x8dO7P1e9v6AfkwLI3xHLQR8+Os6CX+zoOIvp31zX/zqgX5XQQkMCUIyNFhoSgGJstNCQABRjo4WGBKAYqtEbdD9tzDIP0PhIGPVImE+TMt9NaqOhRrdn5zJ71JvhMmDtjQjdyoV7Qodg7bjQrVy4J3QI1o4L3cqFe0KHYO240K1cuCd0CNaOC93KhXtCh2DtuNCtXLgndAjWjgvdyoV7Qodg7bjQrVy4J3QI1o4L3cqFe0KHYO240K1cuCd0CNaOC93KhXtCh2DtuNCtXLgndAjWjgvdyoV7Qodg7bjQrVy49wXyQzzmd6RVpQAAAABJRU5ErkJggg==";
// EXTERNAL MODULE: ./src/utils/fullscreen.ts
var fullscreen = __webpack_require__(2434);
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js
var jsx_runtime = __webpack_require__(37712);
;// CONCATENATED MODULE: ./src/pages/tasks/left-panel/header/index.jsx
/* harmony default export */ var header = (function (_ref) {
var position = _ref.position,
subject = _ref.subject,
score = _ref.score,
onViewAllTask = _ref.onViewAllTask;
var _useState = (0,_react_17_0_2_react.useState)(false),
_useState2 = slicedToArray_default()(_useState, 2),
isResizeLarge = _useState2[0],
setIsResizeLarge = _useState2[1];
var location = (0,_umi_production_exports.useLocation)();
var _useSearchParams = (0,_umi_production_exports.useSearchParams)(),
_useSearchParams2 = slicedToArray_default()(_useSearchParams, 1),
searchParams = _useSearchParams2[0];
function onLeftFullHandler() {
setIsResizeLarge(!isResizeLarge);
if ((0,fullscreen/* IsFull */.vp)()) {
(0,fullscreen/* exitFull */.BU)();
} else {
(0,fullscreen/* requestFullScreen */.Dj)(document.getElementById('task-left-panel'));
}
}
var fullChange = function fullChange() {
if ((0,fullscreen/* IsFull */.vp)()) {
setIsResizeLarge(true);
} else {
setIsResizeLarge(false);
}
};
(0,_react_17_0_2_react.useEffect)(function () {
document.addEventListener((0,fullscreen/* fullscreenChange */.gH)(), fullChange);
return function () {
document.removeEventListener((0,fullscreen/* fullscreenChange */.gH)(), fullChange);
};
}, []);
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "task-header",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("a", {
title: "\u67E5\u770B\u5168\u90E8\u4EFB\u52A1",
onClick: onViewAllTask,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("img", {
src: nav_namespaceObject,
alt: "nav",
width: 45
})
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("h3", {
title: subject,
children: ["\u7B2C", position, "\u5173\uFF1A", subject]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: score
}), !(searchParams.get("isFullScreen") === 'true') && /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
onClick: onLeftFullHandler,
title: isResizeLarge ? '退出全屏' : '全屏',
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: isResizeLarge ? 'iconfont icon-shousuo c-grey-333 font16 ml10 current' : 'iconfont icon-zhankai c-grey-333 font16 ml10 current'
})
})]
});
});
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/skeleton/index.js + 12 modules
var skeleton = __webpack_require__(2518);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/row/index.js
var row = __webpack_require__(95237);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/col/index.js
var col = __webpack_require__(43604);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/switch/index.js + 2 modules
var es_switch = __webpack_require__(78673);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/table/index.js + 85 modules
var table = __webpack_require__(86383);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/pagination/index.js + 10 modules
var pagination = __webpack_require__(36697);
// EXTERNAL MODULE: ./src/components/NoData/index.tsx
var NoData = __webpack_require__(77068);
;// CONCATENATED MODULE: ./src/pages/tasks/left-panel/ranking/r1.png
var r1_namespaceObject = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAAA8CAMAAADygAyiAAAAaVBMVEUAAAD/vwD/vwD/ugD/ugD/uwD/vAD8vAP8ugP9uwL9uwL9uwL9ugL9ugL9ugL8uwP8uwP8ugP9ugL9ugL9ugL9uwL9uwL9uwL9uwP9zkn+1WT+34r+45n/7bz/8s//9+D/+/D//fj///8yardZAAAAGHRSTlMAECAwP0BQX2BwgI+Qn6Cwv8DP0N/g7/D8rFP8AAABpUlEQVRYw+3XwXKDIBAG4AVKoiRBDSq0adrG93/ImphSWwV2jYce+t+SGb5RWBcAmEQeji6acicgHVE6RA4s5cjWoVInHkognV6KP1Pt0NExJ3OE8AhUUKB9BKI4rpoM3+7KWzaMBLWwGcbttsNC+QlWcn7Eqesz8z+ocTHw7wUPQKdLEnItB+3i0PO569JQXwxtFHo5f3QoqB4v1BR663wSkItD738O6vN6WQlyZyRk1oGq8Xf6CFSMO8cjUAbMrgHZvl+qNSDVf/3MT7cSSyFza+DcepYEGQ/Ze9cVzSKo+oIavzUxfYeaJZAeb0xC2ytUUKD9FbJ6slMKySGnQBK4DO23ggJFd1qLh4oopPBQFoU4GmoSxxqNhbIExJHbbJM8aSkcJNNnv+rRk4h/OZt2DAPMcdSu46Qli3RSkhGADovMuGZASagK7AaI4XqOUQzo4ftfDdPkS5jByr1lssXKzzpXAP/QpLyfrvGXycPtJyczMnDhOgri44RvILQqiNy3aJPVUm5XsOziRoOaMFSQIB2GchLEgj3SEOuI6dm3M8E1+wTzvvO4HPYw7wAAAABJRU5ErkJggg==";
;// CONCATENATED MODULE: ./src/pages/tasks/left-panel/ranking/r2.png
var r2_namespaceObject = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAAA8CAMAAADygAyiAAAAeFBMVEUAAACvv7+nt8elusWmusKnt8OmucKmucGlt8KmuMKlt8GmuMKmuMGluMKmt8KluMKmuMKmt8KluMGmuMKmuMGlt8KluMGmuMGmuMK+y9PQ2d/W3uPb4ubg5unk6ezo7O/r7/Hu8vTx9Pb09/j3+fr6+/z9/f7///9IiVUSAAAAGHRSTlMAECAwP0BQX2BwgI+Qn6Cwv8DP0N/g7/D8rFP8AAACAElEQVRYw+3X2XaCMBAG4CzFYtSgIiRYu7rk/d+wCJwUy8wk0V72v9KjfCdMhoQwNkm22loy64Vk4ci1jciKh5ystlHZBQYlI51Wose0s9HRlJPbhAgCKlKgJQGlOHYzufx5se4y40lQzWb9dYvnfqJ8gVUG/L15Ozrnzl+v05+YGjeD+JlwCNqf3JDTHodsLZi2FNScnc+lwaG2GWoSenejfBLQbjxRANQN6NzsL53U4JANQN31H9Yeuw8vD0LvfwhdHoReBujgwjUqyREN6e/sRMzaZvycolA/MPdGQMV45UChU7ghc8ZNEHqFBzSGTLteqhDU9FN2Jh5aq9qnn/tyKwlCHw6a+xuo7BZwYTwLOXv4QWuv9pAZVl1ZUdARrvR1xgeo8lsT1wNUoZU+WBTS441JanOFCqzSX+Di30JGT3ZKmQk2RyoN3Ji1GRMZtt9KpKcPUPHIndaAPT3kePNTQUIKHBAI5SQkoqEq8FqjY6E8AInIbbYKvmmpOCgLv/ttHn0T8Tdnwk7JWczrqPkbJyyZSCcklZJFhxMV15ylBOsCM2OJERpiFGfpEctfC2Y5v4fprbm3yvxu5bbPFWP/0KS9n67xh8lV91UkMxly4NrKxOHgJ5C0LiDOW2nFqlNOV+y+g1saVOFQkQRpHJonQRxdI8vEPuIavLsSnbNvHF76qBcgeTgAAAAASUVORK5CYII=";
;// CONCATENATED MODULE: ./src/pages/tasks/left-panel/ranking/r3.png
var r3_namespaceObject = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAAA8CAMAAADygAyiAAAAe1BMVEUAAAC/j1C3l1i1lVq2llmzl1i2llm0llm1lVi0llm1lVi0llm1lVm1lVi0lli1lVi0lli1llm1lVm0lli1lli1lVm0lVm1lli1llnJs4fSvpnYx6fdzrLh1Lzl2sTo38zs49Pu59nx6+D07+X28uv59vD7+fX9/Pr///9SRDJsAAAAGHRSTlMAECAwP0BQX2BwgI+Qn6Cwv8DP0N/g7/D8rFP8AAAB+klEQVRYw+3X2VbCMBAG4EliEQqkQGgTEBFRlvd/QksLMV0yyVQvvPC/4XCg38kyzQLQSTJfGTSLqYBwxMJEZM5CTlKYqKwDjRKRTinhbVqb6EjMGRtCOAJlFGiGQBTHLDuPP08XVUaMBBUwqp+bPtcTZQc4TXr+vv84Xcucjq+dnyB1i4F/T3gPtKmUOp8bL2QKDtJg0OHq5OiHymIoUOjkQtetH1q7E9UD1cDBfFSfb37IREG7excPfwBqDvrPoW096C8YpILQ7jFpe2T6l+57GoAOBoEyd+UItQgryDEwHQ21++ZAulwv0/Bgb/aXvia5j5ZvP7PDnQrv9B/r19YHqWoB59qygYJsQspC+r7qinwQtHxAud2amLxD+RBIuhuTkPoGZRRodoO07OyUIuEwaUMXBEqAJ779tjNtnxXwbj8bk4ZFt6D3xgq5c3/KUChtl+LFcZo9G6MQb/ft5ezZRfLAsUb2bGznal/bGUKDeprkSR48aaVxUBI++y1/ehKxndNhRzGIOY7q33HCko50QpISEB2GjLhkQImvCvQIiOGyj0kZ0MNnrQVTTYYwtTWxlhoPVpp1ngL8Q53yfrrFXibn1VdOZhLPhWsliM3x30BoVYDct2iDVVBuVzDs4kaDcj+UkSDphyYkiHnXSEWsIyZ7e6e8c/YFAVX9WNqVSc8AAAAASUVORK5CYII=";
// EXTERNAL MODULE: ./src/pages/tasks/service/index.js
var service = __webpack_require__(78506);
// EXTERNAL MODULE: ./src/utils/util.tsx
var util = __webpack_require__(63834);
// EXTERNAL MODULE: ./node_modules/_dayjs@1.11.10@dayjs/dayjs.min.js
var dayjs_min = __webpack_require__(9498);
var dayjs_min_default = /*#__PURE__*/__webpack_require__.n(dayjs_min);
;// CONCATENATED MODULE: ./src/pages/tasks/left-panel/ranking/index.tsx
var ImgDesc = {
0: r1_namespaceObject,
1: r2_namespaceObject,
2: r3_namespaceObject
};
var initialState = {
loading: true,
page: 1,
data: null
};
var Types = /*#__PURE__*/function (Types) {
Types[Types["SET_LOADING"] = 0] = "SET_LOADING";
Types[Types["SET_STATE"] = 1] = "SET_STATE";
Types[Types["SET_PAGE"] = 2] = "SET_PAGE";
return Types;
}(Types || {});
function reducer(state, action) {
switch (action.type) {
case Types.SET_LOADING:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
loading: action.payload
});
case Types.SET_STATE:
return objectSpread2_default()(objectSpread2_default()({}, state), action.payload);
case Types.SET_PAGE:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
page: action.payload
});
default:
throw new Error();
}
}
/* harmony default export */ var ranking = (function (_ref) {
var activeIndex = _ref.activeIndex,
taskId = _ref.taskId;
var _useReducer = (0,_react_17_0_2_react.useReducer)(reducer, initialState),
_useReducer2 = slicedToArray_default()(_useReducer, 2),
state = _useReducer2[0],
dispatch = _useReducer2[1];
var loading = state.loading,
page = state.page,
data = state.data;
var timeRefershRef = (0,_react_17_0_2_react.useRef)();
var _useState = (0,_react_17_0_2_react.useState)(false),
_useState2 = slicedToArray_default()(_useState, 2),
tableLoading = _useState2[0],
setTableLoading = _useState2[1];
var columns = (0,_react_17_0_2_react.useMemo)(function () {
var rs = [{
title: '排名',
dataIndex: 'user_name',
align: 'center',
render: function render(value, record, index) {
var i = (page - 1) * 10 + index + 1;
if (i <= 3) {
return /*#__PURE__*/(0,jsx_runtime.jsx)("img", {
src: ImgDesc[i - 1],
alt: "rank",
width: 36
});
}
return i;
}
}, {
title: '姓名',
dataIndex: 'user_name'
}, {
title: data === null || data === void 0 ? void 0 : data.rank_data_name,
dataIndex: 'score',
render: function render(value) {
if ((data === null || data === void 0 ? void 0 : data.open_rank) === 'DEFAULT') {
return (0,util/* toTimeFormat */.li)(value);
} else {
return value;
}
}
}, {
title: '通关时间',
dataIndex: 'end_time',
render: function render(value) {
return dayjs_min_default()(value).format('YYYY-MM-DD HH:mm:ss');
// return timeformat(value, 'yyyy-MM-dd hh:mm:ss')
}
}];
return rs;
}, [data === null || data === void 0 ? void 0 : data.rank_data_name, data === null || data === void 0 ? void 0 : data.open_rank, page]);
var init = /*#__PURE__*/function () {
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
var response;
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
setTableLoading(true);
_context.next = 3;
return (0,service/* getRanking */.i8)(taskId, {
page: page,
limit: 10
});
case 3:
response = _context.sent;
setTableLoading(false);
dispatch({
type: Types.SET_STATE,
payload: {
loading: false,
data: response.data
}
});
case 6:
case "end":
return _context.stop();
}
}, _callee);
}));
return function init() {
return _ref2.apply(this, arguments);
};
}();
(0,_react_17_0_2_react.useEffect)(function () {
// async function init() {
// const response = await getRanking(taskId, { page, limit: 10 })
// dispatch({
// type: Types.SET_STATE,
// payload: {
// loading: false,
// data: response.data
// }
// })
// }
if (activeIndex === 4) {
clearInterval(timeRefershRef.current);
if (sessionStorage.getItem("rankingShixunDetailAutoRefersh")) {
autoUpdata(true);
}
init();
} else {
clearInterval(timeRefershRef.current);
}
return function () {
clearInterval(timeRefershRef.current);
};
}, [page, activeIndex, taskId]);
function onPaginationChange(value) {
dispatch({
type: Types.SET_PAGE,
payload: value
});
}
var autoUpdata = function autoUpdata(checked) {
if (!checked) {
clearInterval(timeRefershRef.current);
return;
}
timeRefershRef.current = setInterval(function () {
init();
}, 1000 * 10);
};
return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "ranking-container",
children: loading ? /*#__PURE__*/(0,jsx_runtime.jsx)(skeleton/* default */.Z, {
avatar: true,
paragraph: {
rows: 4
}
}) : /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(row/* default */.Z, {
align: "middle",
justify: "start",
style: {
marginBottom: '20px'
},
children: /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "flex-container",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_switch/* default */.Z, {
checkedChildren: "\u5F00\u542F",
unCheckedChildren: "\u5173\u95ED",
defaultChecked: !!sessionStorage.getItem("rankingShixunDetailAutoRefersh"),
onChange: function onChange(checked) {
if (checked) {
sessionStorage.setItem("rankingShixunDetailAutoRefersh", "true");
} else {
sessionStorage.removeItem("rankingShixunDetailAutoRefersh");
}
autoUpdata(checked);
}
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "ml8",
children: "\u81EA\u52A8\u5237\u65B0\uFF08\u5F00\u542F\u540E\u6BCF10S\u66F4\u65B0\u4E00\u6B21\u6570\u636E\uFF09"
})]
})
})
}), !data || (data === null || data === void 0 ? void 0 : data.rank_list_count) === 0 ? /*#__PURE__*/(0,jsx_runtime.jsx)(NoData/* default */.Z, {
styles: {
margin: '20% auto'
}
}) : /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(table/* default */.Z, {
pagination: false,
size: "middle",
dataSource: data.rank_list,
columns: columns,
loading: tableLoading
}), data.rank_list_count > 10 ? /*#__PURE__*/(0,jsx_runtime.jsx)(pagination/* default */.Z, {
style: {
marginTop: 20
},
showQuickJumper: true,
showSizeChanger: false,
onChange: onPaginationChange,
current: page,
total: data.rank_list_count
}) : null]
})]
})
});
});
// EXTERNAL MODULE: ./src/pages/tasks/constant.js
var constant = __webpack_require__(49199);
// EXTERNAL MODULE: ./src/components/RenderHtml/index.tsx
var RenderHtml = __webpack_require__(52961);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/message/index.js + 4 modules
var message = __webpack_require__(8591);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/modal/index.js + 16 modules
var es_modal = __webpack_require__(43418);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/drawer/index.js + 9 modules
var drawer = __webpack_require__(43428);
// EXTERNAL MODULE: ./src/components/modal.tsx
var modal = __webpack_require__(613);
;// CONCATENATED MODULE: ./src/pages/tasks/left-panel/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var left_panelmodules = ({"content-wrapper":"content-wrapper___kKoFC","scroll":"scroll___lsiy3","unity-3d-container":"unity-3d-container___kQAJh","unity3d-panel":"unity3d-panel___WLXqG","btn-enlarge":"btn-enlarge___mQbst","enlarge":"enlarge___p_I6G","tab-nav":"tab-nav___iVZmY","tab-fixed":"tab-fixed___SeByu","active":"active___TjNGA","tab-panel-body":"tab-panel-body___iueV_","answer-tip":"answer-tip___b7k1Y"});
// EXTERNAL MODULE: ./src/pages/tasks/left-panel/discuss/service.js
var discuss_service = __webpack_require__(93939);
// EXTERNAL MODULE: ./src/service/user.ts
var user = __webpack_require__(52978);
;// CONCATENATED MODULE: ./src/pages/tasks/left-panel/task-list/index.less
// extracted by mini-css-extract-plugin
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/rate/index.js + 8 modules
var rate = __webpack_require__(9204);
;// CONCATENATED MODULE: ./src/pages/tasks/left-panel/task-list/task-item/index.less
// extracted by mini-css-extract-plugin
;// CONCATENATED MODULE: ./src/pages/tasks/left-panel/task-list/task-item/index.jsx
var dtFormat = 'YYYY-MM-DD HH:mm';
/* harmony default export */ var task_item = (function (_ref) {
var challenge = _ref.challenge,
position = _ref.position,
status = _ref.status,
get_gold = _ref.get_gold,
get_experience = _ref.get_experience,
star = _ref.star,
tag_count = _ref.tag_count,
finished_time = _ref.finished_time,
index = _ref.index,
view_answer_time = _ref.view_answer_time,
name = _ref.name,
identifier = _ref.identifier,
identity = _ref.identity,
shixun = _ref.shixun,
taskList = _ref.taskList,
onSaveTaskStar = _ref.onSaveTaskStar;
var location = (0,_umi_production_exports.useLocation)();
var params = (0,_umi_production_exports.useParams)();
function onStarChange(value) {
onSaveTaskStar(identifier, value, index);
}
//允许跳关
var isAllow = status === 2 || shixun.status < 2 || taskList[index - 1] && taskList[index - 1].status === 2 || shixun.task_pass || identity <= 5;
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "task-item-container ".concat(challenge.position === position ? 'active' : '', " ").concat(status === 2 ? 'finish' : ''),
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "flex-container challenge-title space-between",
children: [isAllow ? /*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
href: "/tasks/".concat(identifier).concat(location.search),
onClick: function onClick(e) {
e.preventDefault();
if (params.courseId && params.homeworkId) {
setTimeout(function () {
return window.location.href = "/tasks/".concat(params.courseId, "/").concat(params.homeworkId, "/").concat(identifier).concat(location.search);
}, 300);
return;
}
setTimeout(function () {
return window.location.href = "/tasks/".concat(identifier).concat(location.search);
}, 300);
},
children: ["".concat(position, ". ").concat(name), ' ']
}) : /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: "".concat(position, ". ").concat(name)
}), /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-wancheng1 ".concat(status === 2 ? 'green' : '')
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "flex-container",
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
className: status === 2 ? 'green' : '',
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: "\u7ECF\u9A8C\u503C"
}), " ", status === 2 && get_experience > 0 ? '+' : '', get_experience]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
className: status === 2 ? 'green' : '',
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: "\u91D1\u5E01"
}), " ", status === 2 && get_gold > 0 ? '+' : '', " ", get_gold]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: "\u6280\u80FD\u6807\u7B7E"
}), " ", tag_count ? tag_count : '无']
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "flex-container",
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: "\u5B8C\u6210\u65F6\u95F4"
}), finished_time ? dayjs_min_default()(finished_time).format(dtFormat) : '--']
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: "\u67E5\u770B\u7B54\u6848\u65F6\u95F4"
}), view_answer_time ? dayjs_min_default()(view_answer_time).format(dtFormat) : '--']
})]
}), shixun.status >= 2 ? /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "rate-container",
children: [status === 2 && star === 0 ? /*#__PURE__*/(0,jsx_runtime.jsxs)(_react_17_0_2_react.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: "\u7ED9\u4E2A\u8BC4\u5206\u5427\uFF1A"
}), /*#__PURE__*/(0,jsx_runtime.jsx)(rate/* default */.Z, {
defaultValue: 0,
onChange: onStarChange
})]
}) : null, status === 2 && star > 0 ? /*#__PURE__*/(0,jsx_runtime.jsxs)(_react_17_0_2_react.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: "\u5DF2\u8BC4\u5206\uFF1A"
}), /*#__PURE__*/(0,jsx_runtime.jsx)(rate/* default */.Z, {
value: star,
disabled: true
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
className: "highlight",
children: [star, "\u5206"]
})]
}) : null]
}) : null]
});
});
;// CONCATENATED MODULE: ./src/pages/tasks/left-panel/task-list/index.jsx
//这里未通关的identifier 都是null ,不适合作key
/* harmony default export */ var task_list = (function (_ref) {
var taskList = _ref.taskList,
challenge = _ref.challenge,
shixun = _ref.shixun,
identity = _ref.identity,
onSaveTaskStar = _ref.onSaveTaskStar;
var _useSearchParams = (0,_umi_production_exports.useSearchParams)(),
_useSearchParams2 = slicedToArray_default()(_useSearchParams, 1),
searchParams = _useSearchParams2[0];
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "task-nav-container",
children: [!!searchParams.get("coursesId") && /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
className: "task-tip",
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: "\u6E29\u99A8\u63D0\u793A: "
}), "\u82E5\u67E5\u770B\u7B54\u6848\u65F6\u95F4\u65E9\u4E8E\u5173\u5361\u4EFB\u52A1\u5B8C\u6210\u65F6\u95F4\uFF0C\u5C06\u5F71\u54CD\u8BFE\u5802\u5B9E\u8BAD\u4F5C\u4E1A\u7684\u6210\u7EE9\u3002"]
})
}), taskList.map(function (item, index) {
var option = objectSpread2_default()(objectSpread2_default()({}, item), {}, {
identity: identity,
index: index,
challenge: challenge,
taskList: taskList,
shixun: shixun,
onSaveTaskStar: onSaveTaskStar
});
return /*#__PURE__*/(0,jsx_runtime.jsx)(task_item, objectSpread2_default()({}, option), index);
})]
});
});
;// CONCATENATED MODULE: ./src/pages/tasks/left-panel/task-path-list/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var task_path_listmodules = ({"tree":"tree___LyfjL"});
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/tree/index.js + 8 modules
var tree = __webpack_require__(22631);
// EXTERNAL MODULE: ./src/service/exercise.ts
var exercise = __webpack_require__(39935);
// EXTERNAL MODULE: ./src/components/ImagesIcon/index.ts + 33 modules
var ImagesIcon = __webpack_require__(76508);
// EXTERNAL MODULE: ./src/service/shixuns.ts
var shixuns = __webpack_require__(60118);
;// CONCATENATED MODULE: ./src/utils/toShixun.tsx
var toShixun = /*#__PURE__*/function () {
var _ref = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee(id, challenge_id, is_jupyter, subject_id, newWindow) {
var toUrl, execRes;
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
// dispatch({ type: "globalSetting/setGlobalLoading", payload: { show: true, text: "正在进入实践项目,请稍后..." } })
toUrl = function toUrl() {
if (newWindow) {
(0,util/* openNewWindow */.xg)(is_jupyter ? "/tasks/".concat(execRes === null || execRes === void 0 ? void 0 : execRes.identifier, "/jupyter") : "/tasks/".concat(execRes.game_identifier, "?subject_id=").concat(subject_id));
} else {
window.location.href = is_jupyter ? "/tasks/".concat(execRes === null || execRes === void 0 ? void 0 : execRes.identifier, "/jupyter") : "/tasks/".concat(execRes.game_identifier, "?subject_id=").concat(subject_id);
}
};
if (!is_jupyter) {
_context.next = 7;
break;
}
_context.next = 4;
return (0,shixuns/* execJupyter */.BK)({
id: id,
challenge_id: challenge_id,
subject_id: subject_id
});
case 4:
_context.t0 = _context.sent;
_context.next = 10;
break;
case 7:
_context.next = 9;
return (0,shixuns/* execShixun */.Ir)({
id: id,
challenge_id: challenge_id,
subject_id: subject_id
});
case 9:
_context.t0 = _context.sent;
case 10:
execRes = _context.t0;
if (!(execRes !== null && execRes !== void 0 && execRes.game_identifier || execRes !== null && execRes !== void 0 && execRes.identifier)) {
_context.next = 22;
break;
}
if (!(execRes !== null && execRes !== void 0 && execRes.access)) {
_context.next = 16;
break;
}
toUrl();
_context.next = 21;
break;
case 16:
if (!((execRes === null || execRes === void 0 ? void 0 : execRes.access) == false)) {
_context.next = 20;
break;
}
message/* default */.ZP.warning("当前实训不支持跳关,已为您跳转到该实训未通过的第一个关卡");
setTimeout(function () {
toShixun(id, "", is_jupyter, subject_id, newWindow);
}, 1000);
return _context.abrupt("return");
case 20:
toUrl();
case 21:
return _context.abrupt("return");
case 22:
if ((execRes === null || execRes === void 0 ? void 0 : execRes.status) === -3) {
(0,util/* bindPhone */.eF)();
} else if ((execRes === null || execRes === void 0 ? void 0 : execRes.status) === 2) {
handleResetGame(execRes === null || execRes === void 0 ? void 0 : execRes.message);
} else if ((execRes === null || execRes === void 0 ? void 0 : execRes.status) === 3) {
handleInBeta(execRes === null || execRes === void 0 ? void 0 : execRes.message);
}
case 23:
case "end":
return _context.stop();
}
}, _callee);
}));
return function toShixun(_x, _x2, _x3, _x4, _x5) {
return _ref.apply(this, arguments);
};
}();
var handleResetGame = function handleResetGame(url) {
var _url;
url = (_url = url) !== null && _url !== void 0 && _url.includes('.json') ? url : "".concat(url, ".json");
es_modal/* default */.Z.confirm({
centered: true,
title: '提示',
okText: '确定',
cancelText: '取消',
content: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "tc font16",
children: "\u5B9E\u8BAD\u5DF2\u7ECF\u66F4\u65B0\u4E86\uFF0C\u6B63\u5728\u4E3A\u60A8\u91CD\u7F6E!"
}),
onOk: function () {
var _onOk = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2() {
var res, execRes;
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
_context2.next = 2;
return (0,exercise/* resetMyGame */.$Q)({
url: url
});
case 2:
res = _context2.sent;
if (res) {
_context2.next = 5;
break;
}
return _context2.abrupt("return");
case 5:
message/* default */.ZP.success("重置成功,正在进入实践项目!");
_context2.next = 8;
return (0,shixuns/* execShixun */.Ir)({
id: res.shixun_identifier
});
case 8:
execRes = _context2.sent;
if (!(execRes !== null && execRes !== void 0 && execRes.game_identifier)) {
_context2.next = 12;
break;
}
(0,util/* openNewWindow */.xg)("/tasks/".concat(execRes.game_identifier));
return _context2.abrupt("return");
case 12:
if ((execRes === null || execRes === void 0 ? void 0 : execRes.status) === 2) {
handleResetGame(execRes === null || execRes === void 0 ? void 0 : execRes.message);
} else if ((execRes === null || execRes === void 0 ? void 0 : execRes.status) === 3) {
handleInBeta(execRes === null || execRes === void 0 ? void 0 : execRes.message);
}
case 13:
case "end":
return _context2.stop();
}
}, _callee2);
}));
function onOk() {
return _onOk.apply(this, arguments);
}
return onOk;
}()
});
};
var handleInBeta = function handleInBeta(message) {
es_modal/* default */.Z.confirm({
centered: true,
title: '提示',
okText: '确定',
cancelText: '取消',
content: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "tc font16",
children: ["\u76EE\u524D\u8BE5\u5B9E\u8DF5\u9879\u76EE\u5C1A\u5728\u5185\u6D4B\u4E2D\uFF0C\u5C06\u4E8E", message, "\u4E4B\u540E\u5F00\u653E\uFF0C\u8C22\u8C22\uFF01"]
})
});
};
;// CONCATENATED MODULE: ./src/pages/tasks/left-panel/task-path-list/index.jsx
var DirectoryTree = tree/* default */.Z.DirectoryTree;
/* harmony default export */ var task_path_list = (function (_ref) {
var taskList = _ref.taskList,
challenge = _ref.challenge,
shixun = _ref.shixun,
identity = _ref.identity,
onSaveTaskStar = _ref.onSaveTaskStar,
subject_id = _ref.subject_id;
var params = (0,_umi_production_exports.useParams)();
var _useSearchParams = (0,_umi_production_exports.useSearchParams)(),
_useSearchParams2 = slicedToArray_default()(_useSearchParams, 1),
searchParams = _useSearchParams2[0];
var _useState = (0,_react_17_0_2_react.useState)([]),
_useState2 = slicedToArray_default()(_useState, 2),
data = _useState2[0],
setData = _useState2[1];
var _useState3 = (0,_react_17_0_2_react.useState)([]),
_useState4 = slicedToArray_default()(_useState3, 2),
defaultExpandedKeys = _useState4[0],
setDefaultExpandedKeys = _useState4[1];
var _useState5 = (0,_react_17_0_2_react.useState)(),
_useState6 = slicedToArray_default()(_useState5, 2),
selectKeys = _useState6[0],
setSelectKeys = _useState6[1];
(0,_react_17_0_2_react.useEffect)(function () {
getData(taskList);
setDefaultExpandedKeys(getParentIds({
children: taskList
}, challenge.id));
setData(toConsumableArray_default()(taskList));
console.log('taskList:', taskList);
}, [taskList]);
var getData = function getData(d) {
d.map(function (item, key) {
var _item$children;
item.index = key;
item.title = item.name;
// item.key = item.identifier || item.id
if (item.id == challenge.id) {
setSelectKeys(item.key);
}
if (!!((_item$children = item.children) !== null && _item$children !== void 0 && _item$children.length)) getData(item.children);
});
};
var onSelect = function onSelect(keys, info) {
console.log('Trigger Select', keys, info);
if (info.node.shixun_identifier) {
toShixun(info.node.shixun_identifier, info.node.key, false, subject_id);
}
};
var onExpand = function onExpand() {
console.log('Trigger Expand');
};
function getParentIds(object, id) {
var ids;
if (!object || typeof_default()(object) !== 'object') return;
if (object.id == id) return [];
return object.children.some(function (o) {
return ids = getParentIds(o, id);
}) ? [].concat(toConsumableArray_default()(ids), [object.key]) : undefined;
}
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "task-nav-container",
children: [!!searchParams.get("coursesId") && /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
className: "task-tip",
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: "\u6E29\u99A8\u63D0\u793A: "
}), "\u82E5\u67E5\u770B\u7B54\u6848\u65F6\u95F4\u65E9\u4E8E\u5173\u5361\u4EFB\u52A1\u5B8C\u6210\u65F6\u95F4\uFF0C\u5C06\u5F71\u54CD\u8BFE\u5802\u5B9E\u8BAD\u4F5C\u4E1A\u7684\u6210\u7EE9\u3002"]
})
}), !!(data !== null && data !== void 0 && data.length) && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
style: {
padding: 10
},
children: /*#__PURE__*/(0,jsx_runtime.jsx)(DirectoryTree, {
className: task_path_listmodules.tree,
icon: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-wancheng1 "
}),
switcherIcon: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-you1 ",
style: {
position: 'relative',
top: -2
}
}),
onSelect: onSelect,
onExpand: onExpand,
selectedKeys: [selectKeys],
defaultExpandedKeys: toConsumableArray_default()(defaultExpandedKeys),
treeData: data,
titleRender: function titleRender(item, d, i) {
return /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
className: "".concat(challenge.id == item.id ? task_path_listmodules.active : '', " multi_ellipsis1"),
style: {
paddingRight: 34
},
children: [item.item_type === 'Shixun' && /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
"class": "iconfont icon-shixunti2 c-light-primary font20"
}), item.item_type === 'Challenge' && /*#__PURE__*/(0,jsx_runtime.jsxs)("i", {
style: {
fontFamily: 'monospace',
position: 'relative',
top: item.item_type === 'Shixun' ? -2 : 0
},
children: ["\uFF08", util/* RomanNumber */.I9[item.index], "\uFF09"]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
style: {
position: 'relative',
top: item.item_type === 'Shixun' || item.item_type === 'Stage' ? -2 : 0
},
children: item === null || item === void 0 ? void 0 : item.name
}), item.item_type !== 'Stage' && /*#__PURE__*/(0,jsx_runtime.jsxs)("i", {
className: "iconfont icon-tasks-img c-grey-999 ".concat((item === null || item === void 0 ? void 0 : item.status) == 1 && 'c-green-29b'),
children: [((item === null || item === void 0 ? void 0 : item.status) == 1 || (item === null || item === void 0 ? void 0 : item.status) == 0) && /*#__PURE__*/(0,jsx_runtime.jsx)("img", {
src: ImagesIcon/* done1Icon */.k$,
width: "16"
}), (item === null || item === void 0 ? void 0 : item.status) == 2 && /*#__PURE__*/(0,jsx_runtime.jsx)("img", {
src: ImagesIcon/* done2Icon */.ub,
width: "16"
}), (item === null || item === void 0 ? void 0 : item.status) == 3 && /*#__PURE__*/(0,jsx_runtime.jsx)("img", {
src: ImagesIcon/* done3Icon */.e6,
width: "16"
})]
})]
});
}
})
})]
});
});
// EXTERNAL MODULE: ./src/pages/tasks/left-panel/discuss/index.jsx + 8 modules
var discuss = __webpack_require__(9726);
;// CONCATENATED MODULE: ./src/pages/tasks/left-panel/discuss-input-editor/index.less
// extracted by mini-css-extract-plugin
// EXTERNAL MODULE: ./src/components/markdown-editor/index.tsx + 15 modules
var markdown_editor = __webpack_require__(93521);
;// CONCATENATED MODULE: ./src/pages/tasks/left-panel/discuss-input-editor/index.jsx
/* harmony default export */ var discuss_input_editor = (function (_ref) {
var user_praise = _ref.user_praise,
praise_count = _ref.praise_count,
praisePlus = _ref.praisePlus,
onCreateDiscuss = _ref.onCreateDiscuss,
user = _ref.user,
userInfo = _ref.userInfo;
var _useState = (0,_react_17_0_2_react.useState)(false),
_useState2 = slicedToArray_default()(_useState, 2),
showMd = _useState2[0],
setShowMd = _useState2[1];
var _useState3 = (0,_react_17_0_2_react.useState)(''),
_useState4 = slicedToArray_default()(_useState3, 2),
value = _useState4[0],
setValue = _useState4[1];
function onChangeHandler(v) {
setValue(v);
}
function onShowMd() {
setShowMd(true);
}
function onCancel() {
setShowMd(false);
}
function onCommit() {
return _onCommit.apply(this, arguments);
}
function _onCommit() {
_onCommit = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
if (userInfo !== null && userInfo !== void 0 && userInfo.authentication) {
_context.next = 3;
break;
}
es_modal/* default */.Z.confirm({
title: '提示',
className: 'custom-modal-divider ',
icon: null,
content: '需要通过实名验证后,才能进行评论操作',
okText: '前往实名验证',
cancelText: '取消',
onOk: function onOk() {
window.open("/account/certification");
}
});
return _context.abrupt("return");
case 3:
if (!(value.trim() == '')) {
_context.next = 6;
break;
}
message/* default */.ZP.warning('内容不能为空');
return _context.abrupt("return");
case 6:
onCreateDiscuss(value);
setValue('');
setShowMd(false);
case 9:
case "end":
return _context.stop();
}
}, _callee);
}));
return _onCommit.apply(this, arguments);
}
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "comment-input-editor-container ".concat(showMd ? 'active' : '', " "),
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: showMd ? 'text-area hide' : 'text-area',
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("input", {
placeholder: "\u8BF4\u70B9\u4EC0\u4E48",
onClick: onShowMd
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
className: "c-light-black",
onClick: praisePlus,
title: user_praise ? '取消点赞' : '点赞',
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "mr3 ".concat(user_praise ? 'iconfont icon-dianzan c-orange' : 'iconfont icon-dianzan-xian', " "),
alt: "\u8D5E"
}), praise_count ? /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: praise_count
}) : '']
})]
}), showMd ? /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "input-mask",
onClick: onCancel
}) : null, /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: showMd ? 'md-container' : 'md-container hide',
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(markdown_editor/* default */.Z, {
id: "discuss-input-editor",
startInit: showMd,
miniToolbar: true,
watch: false,
noStorage: true,
defaultValue: value,
height: 240,
onChange: onChangeHandler
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "tip-container",
onClick: onCancel,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", {
children: "\u8BF7\u52FF\u7C98\u8D34\u7B54\u6848\uFF0C\u5426\u5219\u5C06\u9020\u6210\u8D26\u53F7\u7981\u7528\u540E\u679C\uFF01"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
className: "btn-send",
style: {
color: '#fff',
background: '#0152d9'
},
onClick: onCommit,
children: "\u53D1\u9001"
})]
})]
})]
});
});
// EXTERNAL MODULE: ./src/components/mediator.js
var mediator = __webpack_require__(34834);
;// CONCATENATED MODULE: ./src/pages/tasks/left-panel/answer-panel/index.less
// extracted by mini-css-extract-plugin
// EXTERNAL MODULE: ./src/components/Spinner/index.tsx + 1 modules
var Spinner = __webpack_require__(92997);
;// CONCATENATED MODULE: ./src/pages/tasks/left-panel/answer-panel/choose-answer/index.less
// extracted by mini-css-extract-plugin
;// CONCATENATED MODULE: ./src/pages/tasks/left-panel/answer-panel/choose-answer/index.jsx
/* harmony default export */ var choose_answer = (function (_ref) {
var data = _ref.data;
return /*#__PURE__*/(0,jsx_runtime.jsx)(_react_17_0_2_react.Fragment, {
children: data && data.map(function (item) {
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "choose-answer-item",
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
children: ["\u7B2C", item.position, "\u9898"]
}), /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
value: item.answer
})]
}, item.position);
})
});
});
;// CONCATENATED MODULE: ./src/pages/tasks/left-panel/answer-panel/multi-level-answer/index.less
// extracted by mini-css-extract-plugin
;// CONCATENATED MODULE: ./src/pages/tasks/left-panel/answer-panel/multi-level-answer/index.jsx
/* harmony default export */ var multi_level_answer = (function (_ref) {
var data = _ref.data,
onShowUnlockAnswerModal = _ref.onShowUnlockAnswerModal,
challenge = _ref.challenge;
var styles = challenge !== null && challenge !== void 0 && challenge.disable_copy ? {
pointerEvents: 'none',
userSelect: 'none'
} : {};
return /*#__PURE__*/(0,jsx_runtime.jsx)(_react_17_0_2_react.Fragment, {
children: data && data.map(function (item, index) {
var answer_id = item.answer_id,
answer_name = item.answer_name,
answer_contents = item.answer_contents,
view_time = item.view_time;
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "answer-item-container",
style: styles,
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "flex-container",
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
className: "level",
children: [" \u7EA7\u522B", index + 1, "\uFF1A "]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "name",
children: answer_name
}), answer_contents ? /*#__PURE__*/(0,jsx_runtime.jsxs)(_react_17_0_2_react.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "view-time",
children: view_time ? dayjs_min_default()(view_time).format('YYYY-MM-DD HH:mm') : ''
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: "\u5DF2\u89E3\u9501"
})]
}) : /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
onClick: onShowUnlockAnswerModal,
children: "\u89E3\u9501"
})]
}), answer_contents ? /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
value: answer_contents
}) : null]
}, answer_id);
})
});
});
;// CONCATENATED MODULE: ./src/pages/tasks/left-panel/answer-panel/index.jsx
//st = 0 代码题
//st = 1 选择题
/* harmony default export */ var answer_panel = (function (_ref) {
var loading = _ref.loading,
data = _ref.data,
onShowTip = _ref.onShowTip,
st = _ref.st,
challenge = _ref.challenge;
var divDom = (0,_react_17_0_2_react.useRef)(null);
var tipsDom = (0,_react_17_0_2_react.useRef)(null);
var timer = (0,_react_17_0_2_react.useRef)(null);
var timerTwo = (0,_react_17_0_2_react.useRef)(null);
var divXY = (0,_react_17_0_2_react.useRef)({
x: 0,
y: 0
});
(0,_react_17_0_2_react.useEffect)(function () {
if (divDom.current && challenge !== null && challenge !== void 0 && challenge.disable_copy) {
var onMouseOver = function onMouseOver(e) {
divXY.current = {
x: e.clientX,
y: e.clientY
};
clearTimeout(timer.current);
clearTimeout(timerTwo.current);
timer.current = setTimeout(function () {
tipsDom.current.style.left = "".concat(divXY.current.x, "px");
tipsDom.current.style.top = "".concat(divXY.current.y, "px");
tipsDom.current.style.display = 'block';
}, 1000);
timerTwo.current = setTimeout(function () {
tipsDom.current.style.display = 'none';
clearTimeout(timer.current);
clearTimeout(timerTwo.current);
}, 3000);
};
var onMouseOut = function onMouseOut() {
tipsDom.current.style.display = 'none';
clearTimeout(timer.current);
clearTimeout(timerTwo.current);
};
var onMouseMove = function onMouseMove(e) {
divXY.current = {
x: e.clientX,
y: e.clientY
};
};
divDom.current.addEventListener('mouseenter', onMouseOver);
window.addEventListener('mousemove', onMouseMove);
divDom.current.addEventListener('mouseleave', onMouseOut);
return function () {
var _divDom$current, _divDom$current2;
(_divDom$current = divDom.current) === null || _divDom$current === void 0 || _divDom$current.removeEventListener('mouseenter', onMouseOver);
window.removeEventListener('mousemove', onMouseMove);
(_divDom$current2 = divDom.current) === null || _divDom$current2 === void 0 || _divDom$current2.removeEventListener('mouseleave', onMouseOut);
};
}
}, [divDom === null || divDom === void 0 ? void 0 : divDom.current, challenge === null || challenge === void 0 ? void 0 : challenge.disable_copy]);
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
ref: divDom,
className: "answer-container",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
ref: tipsDom,
className: "answer-tips-css",
children: "\u7981\u6B62\u590D\u5236\u53C2\u8003\u7B54\u6848"
}), loading ? /*#__PURE__*/(0,jsx_runtime.jsx)(Spinner/* default */.Z, {}) : null, st === 1 ? /*#__PURE__*/(0,jsx_runtime.jsx)(choose_answer, {
data: data
}) : /*#__PURE__*/(0,jsx_runtime.jsx)(multi_level_answer, {
data: data,
challenge: challenge,
onShowUnlockAnswerModal: onShowTip
})]
});
});
;// CONCATENATED MODULE: ./src/pages/tasks/left-panel/answer-panel/unlock-answer-list/index.less
// extracted by mini-css-extract-plugin
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/checkbox/index.js + 3 modules
var es_checkbox = __webpack_require__(24905);
;// CONCATENATED MODULE: ./src/pages/tasks/left-panel/answer-panel/unlock-answer-list/index.jsx
/* harmony default export */ var unlock_answer_list = (function (_ref) {
var data = _ref.data,
selected_unlocked_answer_id = _ref.selected_unlocked_answer_id,
selected_index = _ref.selected_index,
onSelect = _ref.onSelect;
if (!data) {
return null;
}
var list = data.filter(function (item, index) {
if (!item.answer_contents) {
item.index = index;
return true;
}
return false;
});
function onTriggerAnswer(e) {
var _e$target = e.target,
value = _e$target.value,
checked = _e$target.checked;
if (checked) {
onSelect(value);
} else {
onSelect(null);
}
}
return /*#__PURE__*/(0,jsx_runtime.jsxs)("table", {
className: "unlock-answer-list",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("thead", {
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("tr", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("th", {}), /*#__PURE__*/(0,jsx_runtime.jsx)("th", {
children: "\u7EA7\u522B"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("th", {
children: "\u540D\u79F0"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("th", {
children: "\u6263\u5206\u5360\u6BD4"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("th", {
children: "\u6263\u51CF\u91D1\u5E01"
})]
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("tbody", {
children: list.map(function (item, i) {
return /*#__PURE__*/(0,jsx_runtime.jsxs)("tr", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("td", {
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_checkbox/* default */.Z, {
value: item.answer_id,
onChange: onTriggerAnswer,
checked: item.answer_id === selected_unlocked_answer_id || selected_unlocked_answer_id && selected_index >= i
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("td", {
children: item.index + 1
}), /*#__PURE__*/(0,jsx_runtime.jsx)("td", {
children: item.answer_name
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("td", {
children: [item.answer_ratio, "%"]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("td", {
className: "gold-color",
children: item.answer_score
})]
}, item.answer_id);
})
})]
});
});
;// CONCATENATED MODULE: ./src/pages/tasks/unity3d-panel/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var unity3d_panelmodules = ({"unity3d-panel":"unity3d-panel___aA1uJ"});
;// CONCATENATED MODULE: ./src/assets/images/diannao.png
var diannao_namespaceObject = "data:image/png;base64,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";
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/button/index.js
var es_button = __webpack_require__(3113);
;// CONCATENATED MODULE: ./src/assets/images/dj.png
var dj_namespaceObject = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAEKADAAQAAAABAAAAEAAAAAA0VXHyAAABcElEQVQ4EYWTMUvDUBSFk9rS0loHxcVJxMlBcPMXOCgoLm5uujiLBRd3HQRBxUUQBwdxEHQQHEUHEUvBSREcbIuCOgmiNX6neQlp8qQPPu65955309umjhM7nucNQgXeYS7Wbp9yaQN2YRiq7W6kLIYitSvXdSvEhqXfUrINiBrSfIpT2IZCtBFo2wA3aBLTUIYcXDCkDMvo8NgGhE0jVon70AclmGbIHdRgVk9wED2EBnt/KI8dj1zc0j/DO4aWfwUuUxQWEc/waDQyPNeorzDzhYbdMOyJmNEK2klT+2ECpqB5MI2DBtzDoV91fojfRuf18U9gXQViDo5h3hgSgV4Rssb/q0udcA5boJU6YCBxM1bAo4f56yGycAQHkIl5rSm+bqg1f0az5wzOT9AKeeut1uIQaTX60mgd5WswCpMMfiNaD94dGvX/miUMdViA3sCE1nekP9km6K3sCnqJSHME9uABXuEFNFSv9BIUdOkPNwD5qttE6qEAAAAASUVORK5CYII=";
;// CONCATENATED MODULE: ./src/pages/tasks/unity3d-panel/index.jsx
// import { userInfo as getUserInfo } from '@/util/authority';
/*● web通信U3D Json数据格式: { "state": "start", "data": "Red"(Blue,White) }
● U3D通讯web端 Json数据格式: { "GameState":"Fail", "Data":"" } */
/* harmony default export */ var unity3d_panel = (function (_ref) {
var unity_3d_routes = _ref.unity_3d_routes,
onGetUnity3dMessage = _ref.onGetUnity3dMessage,
taskData = _ref.taskData,
userInfo = _ref.userInfo,
_ref$itemData = _ref.itemData,
itemData = _ref$itemData === void 0 ? {} : _ref$itemData;
var el = (0,_react_17_0_2_react.useRef)();
var _useState = (0,_react_17_0_2_react.useState)(true),
_useState2 = slicedToArray_default()(_useState, 2),
loading = _useState2[0],
setLoading = _useState2[1];
var _useState3 = (0,_react_17_0_2_react.useState)('正在努力加载中...'),
_useState4 = slicedToArray_default()(_useState3, 2),
loadingText = _useState4[0],
setLoadingText = _useState4[1];
var _useState5 = (0,_react_17_0_2_react.useState)({}),
_useState6 = slicedToArray_default()(_useState5, 2),
podData = _useState6[0],
setPodData = _useState6[1];
var getUserInfo = (0,_umi_production_exports.useSelector)(function (state) {
var _state$user;
return state === null || state === void 0 || (_state$user = state.user) === null || _state$user === void 0 ? void 0 : _state$user.userInfo;
});
var _useState7 = (0,_react_17_0_2_react.useState)(false),
_useState8 = slicedToArray_default()(_useState7, 2),
iscorrect = _useState8[0],
setiscorrect = _useState8[1];
var params = (0,_umi_production_exports.useParams)();
var shixun_environment_id = itemData.shixun_environment_id,
tab_type = itemData.tab_type,
index_tab = itemData.index_tab;
(0,_react_17_0_2_react.useEffect)(function () {
var _Tpilist$filter;
function onReceiveMessage(e) {
try {
var mes = JSON.parse(e.data);
onGetUnity3dMessage(mes);
if (mes.type === 'getTaskData') {
sendMessage({
taskData: taskData,
userInfo: userInfo,
cookie: (0,util/* getCookie */.ej)("_educoder_session"),
currentLoginUser: getUserInfo
});
}
} catch (error) {
console.log('error:', error, e);
}
}
var items = sessionStorage.getItem('Tpilist');
var Tpilist = JSON.parse(items) || [];
var fitem = Tpilist === null || Tpilist === void 0 || (_Tpilist$filter = Tpilist.filter(function (item) {
return item.id === params.taskId;
})) === null || _Tpilist$filter === void 0 ? void 0 : _Tpilist$filter[0];
var iscorrect = performance.navigation.type === 1 ? true : (fitem === null || fitem === void 0 ? void 0 : fitem.id) === params.taskId && (new Date().getTime() - new Date(fitem === null || fitem === void 0 ? void 0 : fitem.time).getTime()) / 1000 / 3600 > 24;
setiscorrect(iscorrect);
if (!(fitem !== null && fitem !== void 0 && fitem.id)) {
var item = {
id: params.taskId,
time: new Date()
};
Tpilist.push(item);
sessionStorage.setItem('Tpilist', JSON.stringify(Tpilist));
}
window.addEventListener('message', onReceiveMessage);
var unSub = mediator/* default */.Z.subscribe('evaluate-unity3d-result', function (value) {
sendMessage(value);
});
var unSub2 = mediator/* default */.Z.subscribe('unity3d-reset', function (value) {
if (value === 'start') {
setLoading(true);
setLoadingText('正在重置中...');
setPodData({});
}
if (value === 'done') {
getPodServer();
}
});
return function () {
window.removeEventListener('message', onReceiveMessage);
unSub();
unSub2();
};
}, []);
(0,_react_17_0_2_react.useEffect)(function () {
if ((itemData === null || itemData === void 0 ? void 0 : itemData.tab_type) === 5) {
getPodServer();
}
}, [itemData === null || itemData === void 0 ? void 0 : itemData.tab_type]);
var getPodServer = /*#__PURE__*/function () {
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
var _taskData$myshixun, _res$data;
var res, _res$data2, _res$data3, _res$data4;
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
setLoading(true);
_context.next = 3;
return (0,service/* startInit */.sA)((_taskData$myshixun = taskData.myshixun) === null || _taskData$myshixun === void 0 ? void 0 : _taskData$myshixun.identifier, {
shixun_environment_id: shixun_environment_id,
tab_type: tab_type
});
case 3:
res = _context.sent;
setLoading(false);
if (!(res !== null && res !== void 0 && (_res$data = res.data) !== null && _res$data !== void 0 && (_res$data = _res$data.data_list) !== null && _res$data !== void 0 && _res$data.length)) {
_context.next = 8;
break;
}
mediator/* default */.Z.publish('pod-restrict-data', {
identifier: res === null || res === void 0 || (_res$data2 = res.data) === null || _res$data2 === void 0 ? void 0 : _res$data2.identifier,
data_list: res === null || res === void 0 || (_res$data3 = res.data) === null || _res$data3 === void 0 ? void 0 : _res$data3.data_list
});
return _context.abrupt("return");
case 8:
if ((res === null || res === void 0 ? void 0 : res.status) === 0) {
res.data.thiry_party_url = (res === null || res === void 0 || (_res$data4 = res.data) === null || _res$data4 === void 0 ? void 0 : _res$data4.link_url) + '?t=' + new Date().getTime();
mediator/* default */.Z.publish('send-tabs-result-data', objectSpread2_default()(objectSpread2_default()({}, res === null || res === void 0 ? void 0 : res.data), {}, {
index_tab: index_tab
}));
mediator/* default */.Z.publish('update-windows-time', res === null || res === void 0 ? void 0 : res.data);
setPodData(objectSpread2_default()({}, res.data || {}));
}
case 9:
case "end":
return _context.stop();
}
}, _callee);
}));
return function getPodServer() {
return _ref2.apply(this, arguments);
};
}();
function sendMessage(data) {
if (el.current) {
el.current.contentWindow.postMessage(JSON.stringify(data), '*');
}
}
function onLoad() {
setLoading(false);
}
return /*#__PURE__*/(0,jsx_runtime.jsx)(_react_17_0_2_react.Fragment, {
children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
style: {
height: '100%'
},
children: iscorrect ? /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
style: {
height: '100%'
},
children: [loading && /*#__PURE__*/(0,jsx_runtime.jsx)(Spinner/* default */.Z, {
className: "c-white",
message: loadingText
}), (unity_3d_routes || podData.thiry_party_url) && /*#__PURE__*/(0,jsx_runtime.jsx)("iframe", {
onLoad: onLoad,
className: unity3d_panelmodules["unity3d-panel"],
ref: el,
allow: "geolocation document-domain",
sandbox: "allow-scripts allow-same-origin allow-top-navigation allow-forms allow-popups allow-pointer-lock allow-popups-to-escape-sandbox allow-presentation allow-top-navigation-by-user-activation",
src: unity_3d_routes || podData.thiry_party_url
})]
}) : /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
style: {
display: 'flex',
height: 'calc(100% - 40px)',
position: 'relative',
overflow: 'hidden',
alignItems: 'center',
background: '#1E1E1E',
justifyContent: 'center',
flexDirection: "column"
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
src: diannao_namespaceObject
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
onClick: function onClick() {
setiscorrect(true);
},
icon: /*#__PURE__*/(0,jsx_runtime.jsx)("img", {
src: dj_namespaceObject,
style: {
width: 16,
marginBottom: 3
}
}),
type: "primary",
style: defineProperty_default()({
width: '#3061D0',
marginTop: 40
}, "width", 140),
children: "\u542F\u52A8\u73AF\u5883"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
style: {
marginTop: 30,
color: '#AFB1B3'
},
children: "\u70B9\u51FB\u4E0A\u65B9\u6309\u94AE\uFF0C\u542F\u52A8\u5B9E\u9A8C\u73AF\u5883\u3002"
})]
}, '123213123')
})
});
});
// EXTERNAL MODULE: ./src/pages/tasks/util.js
var tasks_util = __webpack_require__(78436);
// EXTERNAL MODULE: ./src/components/image-preview/index.tsx + 1 modules
var image_preview = __webpack_require__(30352);
;// CONCATENATED MODULE: ./src/pages/tasks/left-panel/index.jsx
function onPreviewImage(e) {
var t = e.target;
if (t.tagName.toUpperCase() === 'IMG') {
var url = t.src || t.getAttribute('src');
if (url && url.indexOf('/images/avatars/User') === -1) {
e.stopPropagation();
e.preventDefault();
mediator/* default */.Z.publish('preview-image', url);
}
}
}
var left_panel_initialState = {
showTaskList: false,
activeIndex: 0,
taskList: [],
enlarge_unity3D: false,
tab_fixed: false,
//答案相关state
selected_unlocked_answer_id: null,
isMultiLevel: false,
showTip: false,
answerScore: 0,
//单个关卡的分数
data: null,
loading: false
};
function left_panel_reducer(state, action) {
switch (action.type) {
case constant/* SET_ACTIVE_INDEX */.n_:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
activeIndex: action.payload
});
case constant/* TRIGGER_ENLARGE_UNITY3D */.lS:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
enlarge_unity3D: action.payload
});
case constant/* TRIGGER_TAB_FIXED */.gK:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
tab_fixed: action.payload
});
case constant/* SHOW_TASK_LIST */.Hp:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
showTaskList: true
});
case constant/* HIDE_TASK_LIST */.hK:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
showTaskList: false
});
case constant/* GET_TASK_LIST */.sM:
return objectSpread2_default()(objectSpread2_default()({}, state), action.payload);
case constant/* SET_TASK_STAR */.ib:
return objectSpread2_default()(objectSpread2_default()({}, state), action.payload);
case constant/* SHOW_ANSWER_LOADING */.wt:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
loading: true
});
case constant/* SHOW_TIP_MODAL */.Rj:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
showTip: true
});
case constant/* HIDE_TIP_MODAL */.NZ:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
showTip: false
});
case constant/* SELECT_UNLOCK_ANSWER */.ym:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
selected_unlocked_answer_id: action.payload
});
case constant/* FETCH_ANSWER_INFO */.pl:
return objectSpread2_default()(objectSpread2_default()({}, state), action.payload);
default:
throw new Error();
}
}
//* score 关卡分数
var LeftPanel = function LeftPanel(_ref) {
var taskId = _ref.taskId,
minuxUserGrade = _ref.minuxUserGrade,
discusses_count = _ref.discusses_count,
is_teacher = _ref.is_teacher,
has_answer = _ref.has_answer,
user = _ref.user,
st = _ref.st,
game = _ref.game,
rank_name = _ref.rank_name,
challenge = _ref.challenge,
myshixun = _ref.myshixun,
user_praise = _ref.user_praise,
praise_count = _ref.praise_count,
unity_3d_routes = _ref.unity_3d_routes,
with_code_file = _ref.with_code_file,
onPlusOrCancelPraise = _ref.onPlusOrCancelPraise,
onGetUnity3dMessage = _ref.onGetUnity3dMessage,
shixun = _ref.shixun,
taskData = _ref.taskData,
chatgpt = _ref.chatgpt,
userInfoData = _ref.userInfoData,
to_user_id = _ref.to_user_id;
var _useSearchParams = (0,_umi_production_exports.useSearchParams)(),
_useSearchParams2 = slicedToArray_default()(_useSearchParams, 1),
searchParams = _useSearchParams2[0];
var _useReducer = (0,_react_17_0_2_react.useReducer)(left_panel_reducer, left_panel_initialState),
_useReducer2 = slicedToArray_default()(_useReducer, 2),
state = _useReducer2[0],
dispatch = _useReducer2[1];
var _useState = (0,_react_17_0_2_react.useState)(false),
_useState2 = slicedToArray_default()(_useState, 2),
confirmLoading = _useState2[0],
setConfirmLoading = _useState2[1];
var _useState3 = (0,_react_17_0_2_react.useState)(false),
_useState4 = slicedToArray_default()(_useState3, 2),
allowDisableDiscuss = _useState4[0],
setAllowDisableDiscuss = _useState4[1];
var _useState5 = (0,_react_17_0_2_react.useState)({}),
_useState6 = slicedToArray_default()(_useState5, 2),
userInfo = _useState6[0],
setUserInfo = _useState6[1];
var taskList = state.taskList,
showTaskList = state.showTaskList,
activeIndex = state.activeIndex,
enlarge_unity3D = state.enlarge_unity3D,
tab_fixed = state.tab_fixed,
data = state.data,
answerScore = state.answerScore,
loading = state.loading,
showTip = state.showTip,
isMultiLevel = state.isMultiLevel,
selected_unlocked_answer_id = state.selected_unlocked_answer_id;
var selected_index = (0,_react_17_0_2_react.useMemo)(function () {
var rs = 0;
if (data && selected_unlocked_answer_id) {
var unLockList = data.filter(function (item) {
return !item.answer_contents;
});
for (var i = 0; i < unLockList.length; i++) {
if (unLockList[i].answer_id === selected_unlocked_answer_id) {
rs = i;
break;
}
}
}
return rs;
}, [data, selected_unlocked_answer_id]);
var propaedeutics = shixun ? shixun.propaedeutics : null;
var contentEl = (0,_react_17_0_2_react.useRef)();
var open_rank = challenge.open_rank;
var tabs = (0,_react_17_0_2_react.useMemo)(function () {
var rs = [{
index: 0,
title: '任务要求'
}];
if (propaedeutics) {
rs.push({
index: 1,
title: '背景知识'
});
}
if (has_answer && searchParams.get("type") !== 'exercises' && !(challenge !== null && challenge !== void 0 && challenge.hide_answer)) {
rs.push({
index: 2,
title: '参考答案'
});
}
if (searchParams.get("type") !== 'exercises' && !(shixun !== null && shixun !== void 0 && shixun.is_disable_discuss)) rs.push({
index: 3,
title: chatgpt ? "问答" : '评论'
});
if (open_rank !== 'CLOSE') {
rs.push({
index: 4,
title: rank_name
});
}
return rs;
}, [has_answer, propaedeutics, open_rank, rank_name]);
function onSetActiveIndex(e) {
var id = parseInt(e.currentTarget.id);
if (id === 2) {
if (game.homework_common_answer_open) {
message/* default */.ZP.info('禁止查看答案');
} else {
initAnswer();
}
} else if (id === 3 && game.homework_common_comment_open) {
message/* default */.ZP.info('禁止查看评论');
} else {
dispatch({
type: constant/* SET_ACTIVE_INDEX */.n_,
payload: id
});
}
}
function initAnswer() {
return _initAnswer.apply(this, arguments);
}
function _initAnswer() {
_initAnswer = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
var response;
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
if (!(st === 0)) {
_context.next = 5;
break;
}
_context.next = 3;
return fetchAnswerInfo();
case 3:
_context.next = 9;
break;
case 5:
_context.next = 7;
return (0,service/* getChooseAnswerInfo */.sP)(game.identifier);
case 7:
response = _context.sent;
processChooseAnswer(response);
case 9:
case "end":
return _context.stop();
}
}, _callee);
}));
return _initAnswer.apply(this, arguments);
}
function fetchAnswerInfo() {
return _fetchAnswerInfo.apply(this, arguments);
}
function _fetchAnswerInfo() {
_fetchAnswerInfo = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2() {
var response, message, showTip;
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
_context2.next = 2;
return (0,service/* getAnswerInfo */.lH)(game.identifier);
case 2:
response = _context2.sent;
message = response.message;
if (!(message.length === 0)) {
_context2.next = 7;
break;
}
message.info('本关卡未设置答案');
return _context2.abrupt("return");
case 7:
if (message.length) {
_context2.next = 10;
break;
}
dispatch({
type: constant/* FETCH_ANSWER_INFO */.pl,
payload: {
showTip: true,
isMultiLevel: false,
answerScore: message.answer_score,
selected_unlocked_answer_id: message.answer_id
}
});
return _context2.abrupt("return");
case 10:
showTip = message.filter(function (item) {
return item.answer_contents;
}).length === 0;
dispatch({
type: constant/* FETCH_ANSWER_INFO */.pl,
payload: {
showTip: showTip,
data: message,
isMultiLevel: message.length > 1,
activeIndex: !showTip ? 2 : activeIndex
}
});
case 12:
case "end":
return _context2.stop();
}
}, _callee2);
}));
return _fetchAnswerInfo.apply(this, arguments);
}
function processChooseAnswer(response) {
var choose_answers = response.choose_answers,
message = response.message,
status = response.status;
if (status === 0) {
message.info(message);
return;
}
dispatch({
type: constant/* FETCH_ANSWER_INFO */.pl,
payload: {
showTip: status === 1 ? true : false,
data: choose_answers,
answerScore: message,
loading: false,
activeIndex: status === 1 ? activeIndex : 2
}
});
}
function onHideTip() {
dispatch({
type: constant/* HIDE_TIP_MODAL */.NZ
});
}
function onShowTip() {
dispatch({
type: constant/* SHOW_TIP_MODAL */.Rj
});
}
function onViewAnswer() {
return _onViewAnswer.apply(this, arguments);
}
function _onViewAnswer() {
_onViewAnswer = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3() {
var response, respose, status, _message, sum;
return regeneratorRuntime_default()().wrap(function _callee3$(_context3) {
while (1) switch (_context3.prev = _context3.next) {
case 0:
setConfirmLoading(true);
if (!(st === 1)) {
_context3.next = 8;
break;
}
_context3.next = 4;
return (0,service/* getChooseUnlockAnswer */.MH)(game.identifier);
case 4:
response = _context3.sent;
if ((response === null || response === void 0 ? void 0 : response.status) !== -1) {
minuxUserGrade(answerScore);
processChooseAnswer(response);
}
_context3.next = 14;
break;
case 8:
if (!selected_unlocked_answer_id) {
_context3.next = 14;
break;
}
_context3.next = 11;
return (0,service/* getUnlockAnswer */.j3)(game.identifier, selected_unlocked_answer_id);
case 11:
respose = _context3.sent;
status = respose.status, _message = respose.message;
if (status === -1) {} else {
if (isMultiLevel) {
sum = 0;
data.filter(function (item) {
return !item.answer_contents;
}).forEach(function (item, index) {
if (index <= selected_index && item) {
sum += item.answer_score;
}
});
minuxUserGrade(sum);
} else {
minuxUserGrade(answerScore);
}
fetchAnswerInfo();
onSelect(null);
dispatch({
type: constant/* HIDE_TIP_MODAL */.NZ
});
}
case 14:
setConfirmLoading(false);
case 15:
case "end":
return _context3.stop();
}
}, _callee3);
}));
return _onViewAnswer.apply(this, arguments);
}
function onSelect(id) {
dispatch({
type: constant/* SELECT_UNLOCK_ANSWER */.ym,
payload: id
});
}
function getTaskList() {
return _getTaskList.apply(this, arguments);
}
function _getTaskList() {
_getTaskList = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee4() {
var _response, response;
return regeneratorRuntime_default()().wrap(function _callee4$(_context4) {
while (1) switch (_context4.prev = _context4.next) {
case 0:
_context4.prev = 0;
if (!searchParams.get("subject_id")) {
_context4.next = 7;
break;
}
_context4.next = 4;
return (0,service/* fetchPathsTaskList */.SO)(myshixun.identifier, objectSpread2_default()({}, (0,util/* getJsonFromUrl */.oP)()));
case 4:
response = _context4.sent;
_context4.next = 10;
break;
case 7:
_context4.next = 9;
return (0,service/* fetchTaskList */.g6)(myshixun.identifier);
case 9:
response = _context4.sent;
case 10:
dispatch({
type: constant/* GET_TASK_LIST */.sM,
payload: {
taskList: ((_response = response) === null || _response === void 0 ? void 0 : _response.stages) || response,
showTaskList: true
}
});
_context4.next = 16;
break;
case 13:
_context4.prev = 13;
_context4.t0 = _context4["catch"](0);
console.log(_context4.t0);
case 16:
case "end":
return _context4.stop();
}
}, _callee4, null, [[0, 13]]);
}));
return _getTaskList.apply(this, arguments);
}
function onSaveTaskStar(_x, _x2, _x3) {
return _onSaveTaskStar.apply(this, arguments);
} //如果不实时刷新, 需要处理评测,查看答案时间这些变动
function _onSaveTaskStar() {
_onSaveTaskStar = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee5(id, star, index) {
return regeneratorRuntime_default()().wrap(function _callee5$(_context5) {
while (1) switch (_context5.prev = _context5.next) {
case 0:
_context5.prev = 0;
_context5.next = 3;
return (0,service/* saveTaskStar */.L5)(id, shixun.id, star);
case 3:
taskList[index].star = star;
dispatch({
type: constant/* SET_TASK_STAR */.ib,
payload: {
taskList: toConsumableArray_default()(taskList)
}
});
_context5.next = 10;
break;
case 7:
_context5.prev = 7;
_context5.t0 = _context5["catch"](0);
console.log(_context5.t0);
case 10:
case "end":
return _context5.stop();
}
}, _callee5, null, [[0, 7]]);
}));
return _onSaveTaskStar.apply(this, arguments);
}
function onViewAllTask() {
getTaskList();
}
function onHideTaskList() {
dispatch({
type: constant/* HIDE_TASK_LIST */.hK
});
}
//和后端商量直接调useInfo接口取实训身份信息
//目前评论中使用到
(0,_react_17_0_2_react.useEffect)(function () {
var res = userInfoData === null || userInfoData === void 0 ? void 0 : userInfoData.userInfo;
if (res) {
var _res$shixun;
setUserInfo(objectSpread2_default()({}, res));
setAllowDisableDiscuss(res === null || res === void 0 || (_res$shixun = res.shixun) === null || _res$shixun === void 0 ? void 0 : _res$shixun.own);
}
}, [shixun === null || shixun === void 0 ? void 0 : shixun.identifier]);
(0,_react_17_0_2_react.useEffect)(function () {
return function () {
dispatch({
type: constant/* HIDE_TASK_LIST */.hK
});
dispatch({
type: constant/* SET_ACTIVE_INDEX */.n_,
payload: 0
});
};
}, [taskId]);
(0,_react_17_0_2_react.useEffect)(function () {
dispatch({
type: constant/* SET_ACTIVE_INDEX */.n_,
payload: searchParams.get("extra") ? 3 : 0
});
}, [searchParams.get("extra")]);
(0,_react_17_0_2_react.useEffect)(function () {
if (contentEl.current) {
contentEl.current.addEventListener('mousedown', onPreviewImage);
return function () {
var _contentEl$current;
(_contentEl$current = contentEl.current) === null || _contentEl$current === void 0 || _contentEl$current.removeEventListener('mousedown', onPreviewImage);
};
}
}, [contentEl.current]);
(0,_react_17_0_2_react.useEffect)(function () {
if (with_code_file && unity_3d_routes && contentEl.current) {
var onScroll = (0,tasks_util/* debounce */.Ds)(function (e) {
var scrollTop = e.target.scrollTop;
if (scrollTop >= 354) {
dispatch({
type: constant/* TRIGGER_TAB_FIXED */.gK,
payload: true
});
} else {
dispatch({
type: constant/* TRIGGER_TAB_FIXED */.gK,
payload: false
});
}
}, 10);
contentEl.current.addEventListener('scroll', onScroll);
var unSub = mediator/* default */.Z.subscribe('evaluate-unity3d-finish', function () {
contentEl.current.scrollTop = 0;
});
return function () {
var _contentEl$current2;
(_contentEl$current2 = contentEl.current) === null || _contentEl$current2 === void 0 || _contentEl$current2.removeEventListener('scroll', onScroll);
unSub();
};
} else {
dispatch({
type: constant/* TRIGGER_TAB_FIXED */.gK,
payload: true
});
}
}, [with_code_file, unity_3d_routes, contentEl.current]);
var position = challenge.position,
score = challenge.score,
subject = challenge.subject;
var headerOption = {
onViewAllTask: onViewAllTask,
position: position,
score: score,
subject: subject
};
function onCreateDiscuss(_x4) {
return _onCreateDiscuss.apply(this, arguments);
}
function _onCreateDiscuss() {
_onCreateDiscuss = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee6(content) {
var res;
return regeneratorRuntime_default()().wrap(function _callee6$(_context6) {
while (1) switch (_context6.prev = _context6.next) {
case 0:
_context6.next = 2;
return (0,discuss_service/* createDiscuss */.rd)({
content: content,
container_type: 'Shixun',
container_id: shixun.id,
challenge_id: challenge.id,
position: position
});
case 2:
res = _context6.sent;
if (!(res.status === -3)) {
_context6.next = 6;
break;
}
es_modal/* default */.Z.info({
title: '提示',
className: 'custom-modal-divider ',
icon: null,
content: '你的账号因为发布了不当内容,现已将评论功能屏蔽。',
okText: '确定'
});
return _context6.abrupt("return");
case 6:
console.log(res);
dispatch({
type: constant/* SET_ACTIVE_INDEX */.n_,
payload: 3
});
mediator/* default */.Z.publish('create-discuss');
case 9:
case "end":
return _context6.stop();
}
}, _callee6);
}));
return _onCreateDiscuss.apply(this, arguments);
}
function onTriggerUnity3D() {
dispatch({
type: constant/* TRIGGER_ENLARGE_UNITY3D */.lS,
payload: !enlarge_unity3D
});
}
var answerPanelOption = {
loading: loading,
data: data,
onShowTip: onShowTip,
st: st,
challenge: challenge
};
return /*#__PURE__*/(0,jsx_runtime.jsxs)(_react_17_0_2_react.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(header, objectSpread2_default()({}, headerOption)), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: left_panelmodules['content-wrapper'],
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
ref: contentEl,
className: left_panelmodules['scroll'],
children: [unity_3d_routes && with_code_file ? /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "".concat(left_panelmodules["unity-3d-container"], " ").concat(enlarge_unity3D ? left_panelmodules.enlarge : ''),
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("a", {
onClick: onTriggerUnity3D,
className: "".concat(left_panelmodules["btn-enlarge"], " ").concat(enlarge_unity3D ? left_panelmodules.enlarge : ''),
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont ".concat(enlarge_unity3D ? 'icon-suoxiao1' : 'icon-kuoda', " ")
})
}), (userInfo === null || userInfo === void 0 ? void 0 : userInfo.user_id) && /*#__PURE__*/(0,jsx_runtime.jsx)(unity3d_panel, {
userInfo: userInfo,
taskData: taskData,
unity_3d_routes: unity_3d_routes,
onGetUnity3dMessage: onGetUnity3dMessage
})]
}) : null, /*#__PURE__*/(0,jsx_runtime.jsx)("ul", {
className: "".concat(left_panelmodules["tab-nav"], " ").concat(tab_fixed ? left_panelmodules["tab-fixed"] : ''),
children: tabs.map(function (item) {
return /*#__PURE__*/(0,jsx_runtime.jsx)("li", {
onClick: onSetActiveIndex,
id: item.index,
className: activeIndex === item.index ? left_panelmodules.active : '',
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
children: [item.title, item.index === 3 && discusses_count ? /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: discusses_count
}) : null]
})
}, item.title);
})
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
className: activeIndex === 0 ? left_panelmodules["tab-panel-body"] : 'hide',
value: challenge.task_pass
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: activeIndex === 1 ? left_panelmodules['tab-panel-body'] : 'hide',
children: propaedeutics ? /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
value: propaedeutics
}) : null
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: activeIndex === 2 ? left_panelmodules['tab-panel-body'] : 'hide',
style: {
paddingTop: 40
},
children: /*#__PURE__*/(0,jsx_runtime.jsx)(answer_panel, objectSpread2_default()({}, answerPanelOption))
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: activeIndex === 3 ? left_panelmodules['tab-panel-body'] : 'hide',
children: /*#__PURE__*/(0,jsx_runtime.jsx)(discuss/* default */.Z, {
activeIndex: activeIndex,
userInfo: userInfo,
shixunIdentifier: shixun.identifier,
identity: user.identity,
user: user,
allowDisableDiscuss: allowDisableDiscuss,
taskData: taskData,
chatgpt: chatgpt,
to_user_id: to_user_id,
challengeId: challenge.id
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: activeIndex === 4 ? left_panelmodules['tab-panel-body'] : 'hide',
children: /*#__PURE__*/(0,jsx_runtime.jsx)(ranking, {
activeIndex: activeIndex,
taskId: taskId
})
})]
})]
}), searchParams.get("type") !== 'exercises' && !(shixun !== null && shixun !== void 0 && shixun.is_disable_discuss) && !game.homework_common_comment_open && /*#__PURE__*/(0,jsx_runtime.jsx)(discuss_input_editor, {
user: user,
userInfo: userInfo,
user_praise: user_praise,
praise_count: praise_count,
praisePlus: onPlusOrCancelPraise,
onCreateDiscuss: onCreateDiscuss
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(modal/* default */.Z, {
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(drawer/* default */.Z, {
rootClassName: "task-drawer",
width: 420,
title: null,
placement: "left",
closable: false,
open: showTaskList,
onClose: onHideTaskList,
getContainer: function getContainer() {
return document.getElementById('task-left-panel');
},
children: [searchParams.get("subject_id") && /*#__PURE__*/(0,jsx_runtime.jsx)(task_path_list, objectSpread2_default()(objectSpread2_default()({
taskList: toConsumableArray_default()(taskList),
challenge: challenge,
shixun: shixun
}, (0,util/* getJsonFromUrl */.oP)()), {}, {
identity: user.identity,
onSaveTaskStar: onSaveTaskStar
})), !searchParams.get("subject_id") && /*#__PURE__*/(0,jsx_runtime.jsx)(task_list, {
taskList: toConsumableArray_default()(taskList),
challenge: challenge,
shixun: shixun,
identity: user.identity,
onSaveTaskStar: onSaveTaskStar
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(es_modal/* default */.Z, {
centered: true,
title: "\u63D0\u793A",
open: showTip,
onOk: onViewAnswer,
onCancel: onHideTip,
confirmLoading: confirmLoading,
className: left_panelmodules['answer-tip'],
children: [is_teacher ? /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
children: "\u5DF2\u7ECF\u8FC7\u804C\u4E1A\u8BA4\u8BC1\u7684\u6559\u5E08\u53EF\u4EE5\u514D\u91D1\u5E01\u67E5\u770B\u7B54\u6848\u54DF~"
}) : /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
children: "\u5148\u67E5\u770B\u53C2\u8003\u7B54\u6848\uFF0C\u518D\u901A\u8FC7\u8BC4\u6D4B\u7684\u5B66\u751F\uFF0C\u5B9E\u8BAD\u4F5C\u4E1A\u6709\u53EF\u80FD\u662F\u96F6\u5206\u54E6~"
}), isMultiLevel ? /*#__PURE__*/(0,jsx_runtime.jsx)(unlock_answer_list, {
selected_index: selected_index,
selected_unlocked_answer_id: selected_unlocked_answer_id,
onSelect: onSelect,
data: data
}) : /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
children: "\u5C06\u6263\u9664".concat(answerScore, "\u70B9\u91D1\u5E01\uFF0C\u662F\u5426\u786E\u8BA4\u67E5\u770B\u7B54\u6848")
}), is_teacher ? /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
href: "/account/certification",
"class": "to-certification-link",
target: "_blank",
children: "\u7ACB\u5373\u8BA4\u8BC1"
}) : null]
}), /*#__PURE__*/(0,jsx_runtime.jsx)(image_preview/* default */.Z, {})]
})]
});
};
/* harmony default export */ var left_panel = ((0,_umi_production_exports.connect)(function (_ref2) {
var user = _ref2.user;
return {
userInfoData: user
};
})(LeftPanel));
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/statistic/index.js + 5 modules
var statistic = __webpack_require__(31797);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/tour/index.js + 12 modules
var tour = __webpack_require__(65615);
// EXTERNAL MODULE: ./src/components/useInterval.tsx
var useInterval = __webpack_require__(59587);
;// CONCATENATED MODULE: ./src/components/timer-panel/index.jsx
function padLeft(s) {
return s.toString().padStart(2, '0');
}
function getTimer(sec) {
var minuts = Math.floor(sec / 60);
var second = sec % 60;
var hour = Math.floor(minuts / 60);
return "".concat(padLeft(hour), ":").concat(padLeft(minuts - hour * 60), ":").concat(padLeft(second));
}
/* harmony default export */ var timer_panel = (function (_ref) {
var defaultTime = _ref.defaultTime,
status = _ref.status,
onUpdateCostTime = _ref.onUpdateCostTime,
lastedGetTaskInfoTime = _ref.lastedGetTaskInfoTime,
_ref$retentionTime = _ref.retentionTime,
retentionTime = _ref$retentionTime === void 0 ? '' : _ref$retentionTime,
_ref$title = _ref.title,
title = _ref$title === void 0 ? '' : _ref$title;
var _useState = (0,_react_17_0_2_react.useState)(defaultTime || 0),
_useState2 = slicedToArray_default()(_useState, 2),
costTime = _useState2[0],
setCostTime = _useState2[1];
var lastedTime = (0,_react_17_0_2_react.useRef)();
(0,_react_17_0_2_react.useEffect)(function () {
if (lastedGetTaskInfoTime) {
setCostTime(defaultTime);
lastedTime.current = defaultTime;
}
}, [defaultTime, lastedGetTaskInfoTime]);
(0,_react_17_0_2_react.useEffect)(function () {
if (lastedGetTaskInfoTime) {
var unSub = mediator/* default */.Z.subscribe('update-cost-time', function () {
if (status !== 2) {
onUpdateCostTime(lastedTime.current);
}
});
return unSub;
}
}, [lastedGetTaskInfoTime]);
(0,useInterval/* default */.Z)(function () {
if (retentionTime) {
localStorage.setItem(retentionTime, String(costTime + 1));
}
setCostTime(costTime + 1);
lastedTime.current = lastedTime.current + 1;
}, status === 2 ? null : 1000);
return /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
children: [title ? "".concat(title, "\uFF1A") : null, getTimer(costTime)]
});
});
;// CONCATENATED MODULE: ./src/pages/tasks/header/index.less
// extracted by mini-css-extract-plugin
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/createForOfIteratorHelper.js
var createForOfIteratorHelper = __webpack_require__(91232);
var createForOfIteratorHelper_default = /*#__PURE__*/__webpack_require__.n(createForOfIteratorHelper);
;// CONCATENATED MODULE: ./src/pages/tasks/code-repository/action-bar/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var action_barmodules = ({"action-bar-container":"action-bar-container___TDRpf","edit-status":"edit-status___wZI5m","action-bar":"action-bar___bbigU","iconfont":"iconfont___hoZln","startDebug":"startDebug___tLWzR","disabledDebug":"disabledDebug___npN0z"});
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/tooltip/index.js + 3 modules
var tooltip = __webpack_require__(6848);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/popconfirm/index.js + 2 modules
var popconfirm = __webpack_require__(14478);
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.3.1@@ant-design/icons/es/icons/ExclamationCircleOutlined.js + 1 modules
var ExclamationCircleOutlined = __webpack_require__(6246);
// EXTERNAL MODULE: ./src/pages/tasks/code-repository/action-bar/notice.gif
var notice = __webpack_require__(60141);
// EXTERNAL MODULE: ./node_modules/_react-copy-to-clipboard@5.0.2@react-copy-to-clipboard/lib/index.js
var lib = __webpack_require__(56102);
// EXTERNAL MODULE: ./src/utils/fetch.ts
var utils_fetch = __webpack_require__(14735);
// EXTERNAL MODULE: ./node_modules/_lodash@4.17.21@lodash/lodash.js
var lodash = __webpack_require__(89392);
// EXTERNAL MODULE: ./src/utils/authority.ts
var authority = __webpack_require__(71912);
;// CONCATENATED MODULE: ./src/pages/tasks/code-repository/action-bar/index.jsx
function NoticeButton(_ref) {
var onShowNotice = _ref.onShowNotice,
_ref$className = _ref.className,
className = _ref$className === void 0 ? '' : _ref$className;
return /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
title: "\u66F4\u65B0\u901A\u77E5",
onClick: onShowNotice,
className: className,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("img", {
width: 14,
src: notice,
alt: "notice"
})
});
}
/* harmony default export */ function action_bar(_ref2) {
var _flattenDeep;
var code_hidden = _ref2.code_hidden,
gameStatus = _ref2.gameStatus,
isEditPath = _ref2.isEditPath,
currentPath = _ref2.currentPath,
git_url = _ref2.git_url,
monitoring_url = _ref2.monitoring_url,
onResetCode = _ref2.onResetCode,
onResetGitCode = _ref2.onResetGitCode,
onShowCodeSetting = _ref2.onShowCodeSetting,
onResetPassedCode = _ref2.onResetPassedCode,
onShowDir = _ref2.onShowDir,
onRightFullHandler = _ref2.onRightFullHandler,
isResizeLarge = _ref2.isResizeLarge,
tab_type = _ref2.tab_type,
startDebug = _ref2.startDebug,
setStartDebug = _ref2.setStartDebug,
breakPointValue = _ref2.breakPointValue,
shixun = _ref2.shixun,
myshixun = _ref2.myshixun,
game = _ref2.game,
unique = _ref2.unique,
setUnique = _ref2.setUnique,
setHighlightLine = _ref2.setHighlightLine,
allow_use_code_debugger = _ref2.allow_use_code_debugger,
onUpdateCode = _ref2.onUpdateCode,
allBreakPointValue = _ref2.allBreakPointValue,
setAllBreakPointValue = _ref2.setAllBreakPointValue,
setBreakPointValue = _ref2.setBreakPointValue,
isTheoretical = _ref2.isTheoretical,
code_editor = _ref2.code_editor;
var _useSearchParams = (0,_umi_production_exports.useSearchParams)(),
_useSearchParams2 = slicedToArray_default()(_useSearchParams, 1),
searchParams = _useSearchParams2[0];
var openModal = function openModal() {
es_modal/* default */.Z.confirm({
title: '恢复初始代码',
icon: /*#__PURE__*/(0,jsx_runtime.jsx)(ExclamationCircleOutlined/* default */.Z, {}),
content: '你在本文件中修改的内容将丢失,是否确定重新加载初始代码?',
centered: true,
okText: '确定',
cancelText: '取消',
onOk: function () {
var _onOk = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return onResetCode();
case 2:
setAllBreakPointValue({});
setBreakPointValue([]);
case 4:
case "end":
return _context.stop();
}
}, _callee);
}));
function onOk() {
return _onOk.apply(this, arguments);
}
return onOk;
}()
});
};
var openModalGit = function openModalGit() {
es_modal/* default */.Z.confirm({
title: '重置代码仓库',
icon: /*#__PURE__*/(0,jsx_runtime.jsx)(ExclamationCircleOutlined/* default */.Z, {}),
content: '您的所有代码将被还原至初始状态,不影响通关状态与作业成绩。确认重置?',
centered: true,
okText: '确定',
cancelText: '取消',
onOk: function () {
var _onOk2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2() {
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
_context2.next = 2;
return onResetGitCode();
case 2:
setAllBreakPointValue({});
setBreakPointValue([]);
case 4:
case "end":
return _context2.stop();
}
}, _callee2);
}));
function onOk() {
return _onOk2.apply(this, arguments);
}
return onOk;
}()
});
};
var triggerToolBar = function triggerToolBar() {
mediator/* default */.Z.publish('show-head-toolbar', true);
};
var convertObjectToArray = function convertObjectToArray(obj) {
var result = [];
for (var key in obj) {
if (obj.hasOwnProperty(key)) {
var values = obj[key];
var _iterator = createForOfIteratorHelper_default()(values),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var value = _step.value;
result.push("".concat(key, ":").concat(value));
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
}
}
return result;
};
var handleStartDebug = /*#__PURE__*/function () {
var _ref3 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3(e) {
var res, _res$data;
return regeneratorRuntime_default()().wrap(function _callee3$(_context3) {
while (1) switch (_context3.prev = _context3.next) {
case 0:
console.log(allBreakPointValue, convertObjectToArray(allBreakPointValue), 222);
(0,_umi_production_exports.getDvaApp)()._store.dispatch({
type: "globalSetting/setGlobalLoading",
payload: {
show: true,
text: '正在开启调试,请稍候...'
}
});
_context3.next = 4;
return onUpdateCode();
case 4:
_context3.next = 6;
return (0,utils_fetch/* default */.ZP)("/api/myshixuns/".concat(myshixun === null || myshixun === void 0 ? void 0 : myshixun.identifier, "/code_debugs/start.json"), {
method: 'post',
body: {
game_identifier: game === null || game === void 0 ? void 0 : game.identifier,
breakpoints: convertObjectToArray(allBreakPointValue)
}
});
case 6:
res = _context3.sent;
if (res.status === 0) {
setStartDebug(true);
mediator/* default */.Z.publish('active-debug');
mediator/* default */.Z.publish('active-debug-data', (res === null || res === void 0 ? void 0 : res.data) || {});
setUnique(res === null || res === void 0 || (_res$data = res.data) === null || _res$data === void 0 ? void 0 : _res$data.unique);
}
(0,_umi_production_exports.getDvaApp)()._store.dispatch({
type: "globalSetting/setGlobalLoading",
payload: {
show: false
}
});
case 9:
case "end":
return _context3.stop();
}
}, _callee3);
}));
return function handleStartDebug(_x) {
return _ref3.apply(this, arguments);
};
}();
var handleStoptDebug = /*#__PURE__*/function () {
var _ref4 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee4() {
var res;
return regeneratorRuntime_default()().wrap(function _callee4$(_context4) {
while (1) switch (_context4.prev = _context4.next) {
case 0:
_context4.next = 2;
return (0,utils_fetch/* default */.ZP)("/api/myshixuns/".concat(myshixun === null || myshixun === void 0 ? void 0 : myshixun.identifier, "/code_debugs/stop.json"), {
method: 'post',
body: {
unique: unique
}
});
case 2:
res = _context4.sent;
if (res.status === 0) {
setHighlightLine(null);
setStartDebug(false);
}
case 4:
case "end":
return _context4.stop();
}
}, _callee4);
}));
return function handleStoptDebug() {
return _ref4.apply(this, arguments);
};
}();
var hasBreakPoint = !!((_flattenDeep = (0,lodash.flattenDeep)(Object.values(allBreakPointValue))) !== null && _flattenDeep !== void 0 && _flattenDeep.length);
return /*#__PURE__*/(0,jsx_runtime.jsx)(_react_17_0_2_react.Fragment, {
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: action_barmodules['action-bar'],
children: [tab_type === 1 && /*#__PURE__*/(0,jsx_runtime.jsxs)(_react_17_0_2_react.Fragment, {
children: [allow_use_code_debugger && /*#__PURE__*/(0,jsx_runtime.jsx)(_react_17_0_2_react.Fragment, {
children: startDebug ? /*#__PURE__*/(0,jsx_runtime.jsx)("b", {
title: "\u505C\u6B62\u8C03\u8BD5",
style: {
marginRight: 6
},
className: action_barmodules.startDebug,
onClick: handleStoptDebug,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
style: {
color: '#c75450'
},
className: "iconfont icon-tingzhitiaoshi font12"
})
}) : hasBreakPoint ? /*#__PURE__*/(0,jsx_runtime.jsx)("b", {
title: "\u5F00\u59CB\u8C03\u8BD5",
className: action_barmodules.startDebug,
onClick: handleStartDebug,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-debug font14"
})
}) : /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
title: "\u8BF7\u5148\u5728\u4EE3\u7801\u884C\u8BBE\u7F6E\u65AD\u70B9",
children: /*#__PURE__*/(0,jsx_runtime.jsx)("b", {
className: action_barmodules.disabledDebug,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-debug font14"
})
})
})
}), !code_hidden && /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
title: "\u663E\u793A\u76EE\u5F55",
onClick: onShowDir,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-wenjian"
})
}), (0,authority/* isSuperAdmins */.Ny)() && !isTheoretical && /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
title: "\u76D1\u63A7\u670D\u52A1",
href: monitoring_url,
target: "_blank",
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-jiankongfuwu2"
})
}), git_url && /*#__PURE__*/(0,jsx_runtime.jsx)(lib.CopyToClipboard, {
text: git_url,
onCopy: function onCopy() {
return message/* default */.ZP.success('复制成功');
},
children: /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
title: "\u590D\u5236\u7248\u672C\u5E93\u5730\u5740",
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-fuzhi2"
})
})
}), gameStatus === 2 && isEditPath && !startDebug && /*#__PURE__*/(0,jsx_runtime.jsx)(popconfirm/* default */.Z, {
placement: "bottomRight",
title: "\u4F60\u5728\u672C\u5173\u4E2D\u4FEE\u6539\u7684\u5185\u5BB9\u5C06\u4E22\u5931\uFF0C\u662F\u5426\u786E\u5B9A\u91CD\u65B0\u52A0\u8F7D\u4E0A\u6B21\u901A\u8FC7\u7684\u4EE3\u7801?",
onConfirm: onResetPassedCode,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
title: "\u52A0\u8F7D\u4E0A\u6B21\u901A\u8FC7\u7684\u4EE3\u7801",
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-fanhuishangcidaima font-20 "
})
})
}), isEditPath && !startDebug && /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
title: "\u6062\u590D\u521D\u59CB\u4EE3\u7801",
onClick: openModal,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-zhongzhi font-20 "
})
}), isEditPath && !startDebug && /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
title: "\u91CD\u7F6E\u4EE3\u7801\u4ED3\u5E93",
onClick: openModalGit,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-zhongzhidaimacangku font12 "
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
onClick: onShowCodeSetting,
title: "\u8BBE\u7F6E",
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-shezhi"
})
})]
}), (tab_type === 2 || tab_type === 3 || tab_type === 4 || tab_type === 5) && /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
title: "\u5DE5\u5177\u680F",
onClick: triggerToolBar,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-vncshixunjiemian-gongjulan mr5"
})
}), !(searchParams.get("isFullScreen") === 'true') && /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
onClick: onRightFullHandler,
title: isResizeLarge ? '退出全屏' : '全屏',
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: isResizeLarge ? 'iconfont icon-shousuo' : 'iconfont icon-zhankai'
})
})]
})
});
}
// EXTERNAL MODULE: ./src/components/vnc-setting/index.tsx + 1 modules
var vnc_setting = __webpack_require__(83118);
;// CONCATENATED MODULE: ./src/pages/tasks/data-sets/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var data_setsmodules = ({"flex_box_center":"flex_box_center___rNE5B","flex_space_between":"flex_space_between___UQz5R","flex_box_vertical_center":"flex_box_vertical_center___LVkcg","flex_box_center_end":"flex_box_center_end___liNMD","flex_box_column":"flex_box_column___en5bA","wrap":"wrap___QHoGE","list":"list___PqCYv","page":"page___TKcdQ"});
;// CONCATENATED MODULE: ./src/pages/tasks/data-sets/index.tsx
var _excluded = ["userDetail", "user", "globalSetting", "loading", "dispatch", "onClose", "shixun"];
var NavType = /*#__PURE__*/function (NavType) {
NavType["Classrooms"] = "classrooms";
NavType["Shixuns"] = "shixuns";
NavType["Paths"] = "paths";
NavType["Projects"] = "projects";
NavType["Videos"] = "videos";
NavType["Topics"] = "topics";
NavType["Teach"] = "teach-group";
return NavType;
}(NavType || {});
var Banner = function Banner(_ref) {
var userDetail = _ref.userDetail,
user = _ref.user,
globalSetting = _ref.globalSetting,
loading = _ref.loading,
dispatch = _ref.dispatch,
onClose = _ref.onClose,
shixun = _ref.shixun,
props = objectWithoutProperties_default()(_ref, _excluded);
var params = (0,_umi_production_exports.useParams)();
var _useState = (0,_react_17_0_2_react.useState)(null),
_useState2 = slicedToArray_default()(_useState, 2),
dataList = _useState2[0],
setDataList = _useState2[1];
var _useState3 = (0,_react_17_0_2_react.useState)({}),
_useState4 = slicedToArray_default()(_useState3, 2),
folderName = _useState4[0],
setFolderName = _useState4[1];
var _useState5 = (0,_react_17_0_2_react.useState)(0),
_useState6 = slicedToArray_default()(_useState5, 2),
count = _useState6[0],
setCount = _useState6[1];
var _useState7 = (0,_react_17_0_2_react.useState)(objectSpread2_default()({
page: 1,
limit: 20,
id: shixun.identifier
}, params)),
_useState8 = slicedToArray_default()(_useState7, 2),
query = _useState8[0],
setQuery = _useState8[1];
var visible = (0,_react_17_0_2_react.useCallback)(function () {
return props.visible;
}, [props.visible]);
(0,_react_17_0_2_react.useEffect)(function () {
if (props.visible) {
query.page = 1;
getSetData();
}
}, [props.visible]);
var getSetData = /*#__PURE__*/function () {
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
var res;
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return dispatch({
type: 'shixunsDetail/getSetData',
payload: query
});
case 2:
res = _context.sent;
if (res) {
setDataList(res.data_sets);
setCount(res.data_sets_count);
setFolderName(res.folder_name || "");
}
case 4:
case "end":
return _context.stop();
}
}, _callee);
}));
return function getSetData() {
return _ref2.apply(this, arguments);
};
}();
return /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
children: [props.children, /*#__PURE__*/(0,jsx_runtime.jsxs)(drawer/* default */.Z, {
title: "\u6570\u636E\u96C6",
placement: "right",
rootClassName: data_setsmodules.wrap,
width: 300,
closable: false,
onClose: onClose,
open: visible(),
children: [!(dataList !== null && dataList !== void 0 && dataList.length) && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "tc c-grey-999",
children: "\u6B64\u5B9E\u8DF5\u9879\u76EE\u6682\u65E0\u6570\u636E\u96C6"
}), dataList === null || dataList === void 0 ? void 0 : dataList.map(function (item, key) {
return /*#__PURE__*/(0,jsx_runtime.jsxs)("dl", {
className: data_setsmodules.list,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
title: item.title,
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("dt", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "icon-wenjian4 mr5"
}), item.title]
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("dd", {
children: /*#__PURE__*/(0,jsx_runtime.jsx)(lib.CopyToClipboard, {
text: item.file_path,
onCopy: function onCopy() {
return message/* default */.ZP.success('复制成功');
},
children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "".concat(data_setsmodules.copy, " current"),
children: "\u70B9\u51FB\u590D\u5236"
})
})
})]
}, key);
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "tc",
children: /*#__PURE__*/(0,jsx_runtime.jsx)(pagination/* default */.Z, {
onChange: function onChange(page) {
query.page = page;
getSetData();
},
className: data_setsmodules.page,
size: "small",
total: count,
pageSize: query.limit,
hideOnSinglePage: true
})
})]
})]
});
};
/* harmony default export */ var data_sets = ((0,_umi_production_exports.connect)(function (_ref3) {
var user = _ref3.user,
userDetail = _ref3.userDetail,
loading = _ref3.loading,
shixunsDetail = _ref3.shixunsDetail,
globalSetting = _ref3.globalSetting;
return {
user: user,
userDetail: userDetail,
shixunsDetail: shixunsDetail,
globalSetting: globalSetting,
loading: loading.models.index
};
})(Banner));
;// CONCATENATED MODULE: ./src/pages/tasks/resource-center/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var resource_centermodules = ({"flex_box_center":"flex_box_center___qAghX","flex_space_between":"flex_space_between___T78j9","flex_box_vertical_center":"flex_box_vertical_center___sHN4M","flex_box_center_end":"flex_box_center_end___JfXzO","flex_box_column":"flex_box_column___OVgmN","wrap":"wrap___kus4_","list":"list___oY3h5","page":"page___vXGzX"});
// EXTERNAL MODULE: ./src/components/ui-customization/index.tsx + 34 modules
var ui_customization = __webpack_require__(45277);
;// CONCATENATED MODULE: ./src/pages/tasks/resource-center/index.tsx
var resource_center_excluded = ["userDetail", "user", "globalSetting", "loading", "dispatch", "onClose", "shixun"];
var resource_center_NavType = /*#__PURE__*/function (NavType) {
NavType["Classrooms"] = "classrooms";
NavType["Shixuns"] = "shixuns";
NavType["Paths"] = "paths";
NavType["Projects"] = "projects";
NavType["Videos"] = "videos";
NavType["Topics"] = "topics";
NavType["Teach"] = "teach-group";
return NavType;
}(resource_center_NavType || {});
var resource_center_Banner = function Banner(_ref) {
var userDetail = _ref.userDetail,
user = _ref.user,
globalSetting = _ref.globalSetting,
loading = _ref.loading,
dispatch = _ref.dispatch,
onClose = _ref.onClose,
shixun = _ref.shixun,
props = objectWithoutProperties_default()(_ref, resource_center_excluded);
var params = (0,_umi_production_exports.useParams)();
var _useState = (0,_react_17_0_2_react.useState)(null),
_useState2 = slicedToArray_default()(_useState, 2),
dataList = _useState2[0],
setDataList = _useState2[1];
var _useState3 = (0,_react_17_0_2_react.useState)(0),
_useState4 = slicedToArray_default()(_useState3, 2),
count = _useState4[0],
setCount = _useState4[1];
var _useState5 = (0,_react_17_0_2_react.useState)({
page: 1,
limit: 20
}),
_useState6 = slicedToArray_default()(_useState5, 2),
query = _useState6[0],
setQuery = _useState6[1];
var _useState7 = (0,_react_17_0_2_react.useState)(''),
_useState8 = slicedToArray_default()(_useState7, 2),
keywords = _useState8[0],
setKeywords = _useState8[1];
var visible = (0,_react_17_0_2_react.useCallback)(function () {
return props.visible;
}, [props.visible]);
(0,_react_17_0_2_react.useEffect)(function () {
if (!props.visible) {
setKeywords('');
}
if (props.visible) {
query.page = 1;
getSetData();
}
}, [props.visible, keywords]);
var getSetData = /*#__PURE__*/function () {
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
var _user$userInfo;
var res;
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return (0,utils_fetch/* default */.ZP)("/api/users/".concat(user === null || user === void 0 || (_user$userInfo = user.userInfo) === null || _user$userInfo === void 0 ? void 0 : _user$userInfo.login, "/resource_centers/file_list.json"), {
method: 'get',
params: objectSpread2_default()(objectSpread2_default()({}, query), {}, {
keywords: keywords
})
});
case 2:
res = _context.sent;
if ((res === null || res === void 0 ? void 0 : res.status) == 0) {
setDataList(toConsumableArray_default()(res.data.list));
setCount(res.data.file_count);
}
case 4:
case "end":
return _context.stop();
}
}, _callee);
}));
return function getSetData() {
return _ref2.apply(this, arguments);
};
}();
return /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
children: [props.children, /*#__PURE__*/(0,jsx_runtime.jsxs)(drawer/* default */.Z, {
title: "\u8D44\u6E90\u4E2D\u5FC3",
placement: "right",
rootClassName: resource_centermodules.wrap,
width: 300,
closable: false,
onClose: onClose,
open: visible(),
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ui_customization/* CustomInput */.t7, {
style: {
width: 250,
height: 30,
marginBottom: 24,
color: 'rgba(0, 0, 0, 0.88)'
},
placeholder: "\u8BF7\u641C\u7D22\u8D44\u6E90\u540D\u79F0",
value: keywords,
onChange: function onChange(e) {
setKeywords(e);
}
}), !(dataList !== null && dataList !== void 0 && dataList.length) && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "tc c-grey-999",
children: "\u6682\u65E0\u8D44\u6E90\u6570\u636E"
}), dataList === null || dataList === void 0 ? void 0 : dataList.map(function (item, key) {
return /*#__PURE__*/(0,jsx_runtime.jsxs)("dl", {
className: resource_centermodules.list,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
title: item.title,
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("dt", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "icon-wenjian4 mr5"
}), item.title]
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("dd", {
children: /*#__PURE__*/(0,jsx_runtime.jsx)(lib.CopyToClipboard, {
text: item.file_path,
onCopy: function onCopy() {
return message/* default */.ZP.success('复制成功');
},
children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "".concat(resource_centermodules.copy, " current"),
children: "\u70B9\u51FB\u590D\u5236"
})
})
})]
}, key);
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "tc",
children: /*#__PURE__*/(0,jsx_runtime.jsx)(pagination/* default */.Z, {
defaultCurrent: 1,
current: query.page || 1,
onChange: function onChange(page) {
query.page = page;
getSetData();
},
className: resource_centermodules.page,
size: "small",
total: count,
pageSize: query.limit,
hideOnSinglePage: true,
showSizeChanger: false
})
})]
})]
});
};
/* harmony default export */ var resource_center = ((0,_umi_production_exports.connect)(function (_ref3) {
var user = _ref3.user,
userDetail = _ref3.userDetail,
loading = _ref3.loading,
shixunsDetail = _ref3.shixunsDetail,
globalSetting = _ref3.globalSetting;
return {
user: user,
userDetail: userDetail,
shixunsDetail: shixunsDetail,
globalSetting: globalSetting,
loading: loading.models.index
};
})(resource_center_Banner));
// EXTERNAL MODULE: ./src/utils/env.ts + 1 modules
var env = __webpack_require__(33259);
;// CONCATENATED MODULE: ./src/pages/tasks/header/gold.png
var gold_namespaceObject = "data:image/png;base64,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";
// EXTERNAL MODULE: ./src/components/Exercise/recordScreen.tsx + 3 modules
var recordScreen = __webpack_require__(5470);
// EXTERNAL MODULE: ./src/components/Hooks/index.tsx
var Hooks = __webpack_require__(57747);
// EXTERNAL MODULE: ./src/utils/hooks/useRemindModal.tsx
var useRemindModal = __webpack_require__(41149);
;// CONCATENATED MODULE: ./src/pages/tasks/header/index.jsx
var Countdown = statistic/* default */.Z.Countdown;
function TipContent() {
return /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
children: "\u5B9E\u9A8C\u73AF\u5883\u5C06\u6062\u590D\u5230\u521D\u59CB\u72B6\u6001\uFF0C\u60A8\u5728\u7CFB\u7EDF\u4E2D\u521B\u5EFA\u7684\u6570\u636E\u53EF\u80FD\u4F1A\u4E22\u5931\u3002\u8BF7\u786E\u4FDD\u60A8\u7684\u6570\u636E\u5DF2\u4FDD\u5B58\uFF08\u5982\uFF1A\u7248\u672C\u5E93\u4EE3\u7801\u5DF2\u63A8\u9001\u5230\u670D\u52A1\u5668\uFF09\u3002\u662F\u5426\u786E\u8BA4\u91CD\u7F6E\uFF1F"
});
}
/* harmony default export */ var tasks_header = (function (_ref) {
var _exerciseData$exercis2, _exerciseData$exercis3, _exerciseData$exercis4;
var mirror_description = _ref.mirror_description,
difficulty = _ref.difficulty,
git_url = _ref.git_url,
tabActiveParams = _ref.tabActiveParams,
isNotice = _ref.isNotice,
user = _ref.user,
game = _ref.game,
monitoring_url = _ref.monitoring_url,
_ref$shixun = _ref.shixun,
shixun = _ref$shixun === void 0 ? {} : _ref$shixun,
resetVncLoading = _ref.resetVncLoading,
onUpdateCostTime = _ref.onUpdateCostTime,
lastedGetTaskInfoTime = _ref.lastedGetTaskInfoTime,
onShowNotice = _ref.onShowNotice,
onResetGitCode = _ref.onResetGitCode,
onResetCode = _ref.onResetCode,
onResetVnc = _ref.onResetVnc,
onRestartReboot = _ref.onRestartReboot,
onAddVncTime = _ref.onAddVncTime,
onUpdateCode = _ref.onUpdateCode,
unity_3d_routes = _ref.unity_3d_routes,
st = _ref.st,
_ref$toolbarItem = _ref.toolbarItem,
toolbarItem = _ref$toolbarItem === void 0 ? {} : _ref$toolbarItem,
_ref$myshixun = _ref.myshixun,
myshixun = _ref$myshixun === void 0 ? {} : _ref$myshixun,
mirror_name = _ref.mirror_name,
mirror_description_multi = _ref.mirror_description_multi,
onResetAllVnc = _ref.onResetAllVnc,
showReleaseResource = _ref.showReleaseResource,
userInfo = _ref.userInfo;
var params = (0,_umi_production_exports.useParams)();
var _useSearchParams = (0,_umi_production_exports.useSearchParams)(),
_useSearchParams2 = slicedToArray_default()(_useSearchParams, 1),
searchParams = _useSearchParams2[0];
var name = shixun.name,
identifier = shixun.identifier,
task_pass = shixun.task_pass,
test_set_permission = shixun.test_set_permission;
var cost_time = game.cost_time,
status = game.status;
var user_url = user.user_url,
image_url = user.image_url,
_user$grade = user.grade,
grade = _user$grade === void 0 ? 0 : _user$grade;
var _useState = (0,_react_17_0_2_react.useState)(false),
_useState2 = slicedToArray_default()(_useState, 2),
isToolBar = _useState2[0],
setIsToolBar = _useState2[1];
var _useState3 = (0,_react_17_0_2_react.useState)({}),
_useState4 = slicedToArray_default()(_useState3, 2),
exerciseData = _useState4[0],
setExerciseData = _useState4[1];
var _useState5 = (0,_react_17_0_2_react.useState)('#37AD83'),
_useState6 = slicedToArray_default()(_useState5, 2),
countDownColor = _useState6[0],
setCountDownColor = _useState6[1];
var _useState7 = (0,_react_17_0_2_react.useState)(null),
_useState8 = slicedToArray_default()(_useState7, 2),
countDownTime = _useState8[0],
setCountDownTime = _useState8[1];
var _useState9 = (0,_react_17_0_2_react.useState)(),
_useState10 = slicedToArray_default()(_useState9, 2),
vncTime = _useState10[0],
setVncTime = _useState10[1];
var _useState11 = (0,_react_17_0_2_react.useState)(isNotice || false),
_useState12 = slicedToArray_default()(_useState11, 2),
openNotice = _useState12[0],
setOpenNotice = _useState12[1];
var _useState13 = (0,_react_17_0_2_react.useState)(false),
_useState14 = slicedToArray_default()(_useState13, 2),
dataSetsVisiable = _useState14[0],
setdataSetsVisiable = _useState14[1];
var _useState15 = (0,_react_17_0_2_react.useState)(false),
_useState16 = slicedToArray_default()(_useState15, 2),
resourceCenterVisiable = _useState16[0],
setResourceCenterVisiable = _useState16[1];
var focusRef = (0,_react_17_0_2_react.useRef)();
var refNotice = (0,_react_17_0_2_react.useRef)(null);
var index_tab = toolbarItem.index_tab,
shixun_environment_id = toolbarItem.shixun_environment_id,
tab_type = toolbarItem.tab_type,
windows_vnc = toolbarItem.windows_vnc,
vnc_url = toolbarItem.vnc_url,
linux_vnc = toolbarItem.linux_vnc,
reboot_cloud = toolbarItem.reboot_cloud,
cloud_type = toolbarItem.cloud_type,
resData = toolbarItem.resData,
instance_startup_type = toolbarItem.instance_startup_type;
var lockExitFullRef = (0,_react_17_0_2_react.useRef)(false);
(0,Hooks/* useDisableAction */.y)(searchParams.get("type") === 'exercises');
var clearCountdownTimeout = (0,useRemindModal/* useRemindModal */._)(exerciseData);
// useEffect(() => {
// clearTimeout(countDownRef.current);
// clearTimeout(countDownRef2.current);
// if (exerciseData?.exercise?.left_time) {
// if (exerciseData?.exercise?.left_time > 1800) {
// countDownRef2.current = setTimeout(() => {
// Modal.info({
// content: '当前距离考试结束还有30分钟',
// icon: ,
// okText: '知道了',
// });
// }, (exerciseData?.exercise?.left_time - 1800) * 1000);
// }
// if (exerciseData?.exercise?.left_time > 900) {
// countDownRef.current = setTimeout(() => {
// Modal.info({
// content: '当前距离考试结束还有15分钟',
// icon: ,
// okText: '知道了',
// });
// }, (exerciseData?.exercise?.left_time - 900) * 1000);
// }
// }
// }, [exerciseData]);
(0,_react_17_0_2_react.useEffect)(function () {
function init() {
return _init.apply(this, arguments);
}
function _init() {
_init = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
var _res, _res2, res, _res3, _res4, _res5;
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
if (!(searchParams.get("type") === 'exercises')) {
_context.next = 16;
break;
}
if (!(window.self === window.top)) {
_context.next = 4;
break;
}
window.top.location.href = "/";
return _context.abrupt("return");
case 4:
if (!(searchParams.get("coursesId") === 'coursesId')) {
_context.next = 10;
break;
}
_context.next = 7;
return (0,exercise/* startSimulateAnswer */._F)({
categoryId: searchParams.get("exercisesId"),
login: searchParams.get("login")
});
case 7:
res = _context.sent;
_context.next = 13;
break;
case 10:
_context.next = 12;
return (0,exercise/* getExerciseStartAnswer */._B)({
categoryId: searchParams.get("exercisesId"),
login: searchParams.get("login")
});
case 12:
res = _context.sent;
case 13:
setExerciseData(objectSpread2_default()({}, res));
mediator/* default */.Z.publish("exercise-data", res);
if ((_res = res) !== null && _res !== void 0 && _res.left_banner_id && (_res2 = res) !== null && _res2 !== void 0 && (_res2 = _res2.exercise) !== null && _res2 !== void 0 && _res2.left_time) {
setCountDownTime(Date.now() + ((_res3 = res) === null || _res3 === void 0 || (_res3 = _res3.exercise) === null || _res3 === void 0 ? void 0 : _res3.left_time) * 1000);
setTimeout(function () {
setCountDownColor('red');
}, (((_res4 = res) === null || _res4 === void 0 || (_res4 = _res4.exercise) === null || _res4 === void 0 ? void 0 : _res4.left_time) - 300 > 0 ? ((_res5 = res) === null || _res5 === void 0 || (_res5 = _res5.exercise) === null || _res5 === void 0 ? void 0 : _res5.left_time) - 300 : 0) * 1000);
}
case 16:
case "end":
return _context.stop();
}
}, _callee);
}));
return _init.apply(this, arguments);
}
init();
}, []);
(0,_react_17_0_2_react.useEffect)(function () {
var sub1 = mediator/* default */.Z.subscribe('update-windows-time', function (data) {
setVncTime(parseInt(data.remaining_time / 1000));
});
var sub2 = mediator/* default */.Z.subscribe('show-head-toolbar', function (data) {
setIsToolBar(data);
});
return function () {
sub1();
sub2();
};
}, []);
(0,_react_17_0_2_react.useEffect)(function () {
var _exerciseData$exercis;
if (searchParams.get("type") === 'exercises' && exerciseData !== null && exerciseData !== void 0 && (_exerciseData$exercis = exerciseData.exercise) !== null && _exerciseData$exercis !== void 0 && _exerciseData$exercis.screen_open) {
recordScreen/* fullchange */.U.forEach(function (item, index) {
window.addEventListener(item, backExercise, false);
window.addEventListener('blur', backExercise, false);
});
window.focus();
focusRef.current = setInterval(function () {
window.focus();
}, 1000);
}
return function () {
recordScreen/* fullchange */.U.forEach(function (item, index) {
window.removeEventListener(item, backExercise, false);
});
window.removeEventListener('blur', backExercise, false);
clearInterval(focusRef.current);
};
}, [exerciseData]);
var handleToggleDatasets = function handleToggleDatasets() {
setdataSetsVisiable(!dataSetsVisiable);
};
var handleToggleResourceCenter = function handleToggleResourceCenter() {
setResourceCenterVisiable(!resourceCenterVisiable);
};
var backExercise = function backExercise(type) {
if (document.activeElement.tagName !== "IFRAME") {
window.parent.postMessage('backExercise', '*');
if (!lockExitFullRef.current) (0,fullscreen/* exitFull */.BU)();
}
};
function triggerToolBar() {
setIsToolBar(!isToolBar);
}
function onHideToolBar() {
setIsToolBar(false);
}
//会有从课堂或者试卷中跳过来的情况,根据路由参数决定退出跳转的位置
function toShixun() {
if (params.courseId && params.homeworkId) {
location.href = "/classrooms/".concat(params.courseId, "/shixun_homework/").concat(params.homeworkId, "/detail");
return;
}
if (searchParams.get("type") === 'exercises') {
backExercise('back');
}
location.href = "/shixuns/".concat(identifier, "/challenges");
}
function onReset() {
return _onReset.apply(this, arguments);
}
function _onReset() {
_onReset = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee6() {
return regeneratorRuntime_default()().wrap(function _callee6$(_context6) {
while (1) switch (_context6.prev = _context6.next) {
case 0:
if (!resetVncLoading) {
_context6.next = 2;
break;
}
return _context6.abrupt("return");
case 2:
_context6.next = 4;
return onResetVnc();
case 4:
case "end":
return _context6.stop();
}
}, _callee6);
}));
return _onReset.apply(this, arguments);
}
function onCancelShixun() {
var _userInfo$shixun;
var checkboxData = !(userInfo !== null && userInfo !== void 0 && (_userInfo$shixun = userInfo.shixun) !== null && _userInfo$shixun !== void 0 && _userInfo$shixun.editable);
es_modal/* default */.Z.confirm({
title: '退出实训',
icon: /*#__PURE__*/(0,jsx_runtime.jsx)(ExclamationCircleOutlined/* default */.Z, {}),
content: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
children: "\u60A8\u786E\u5B9A\u8981\u9000\u51FA\u5B9E\u8BAD\u5417\uFF1F"
}), showReleaseResource && /*#__PURE__*/(0,jsx_runtime.jsx)(es_checkbox/* default */.Z, {
className: "mt10",
defaultChecked: checkboxData,
onChange: function onChange(e) {
checkboxData = e.target.checked;
},
children: "\u9000\u51FA\u5B9E\u8BAD\u65F6\uFF0C\u7ACB\u5373\u91CA\u653E\u5B9E\u9A8C\u8D44\u6E90"
})]
}),
centered: true,
okText: '确定',
cancelText: '取消',
onOk: function onOk() {
if (showReleaseResource && checkboxData) {
(0,exercise/* exitDeletePod */.eA)(myshixun === null || myshixun === void 0 ? void 0 : myshixun.identifier).then(function (res) {
if ((res === null || res === void 0 ? void 0 : res.status) == 0) {
message/* default */.ZP.success('释放资源成功');
//停一秒后再退出跳转
setTimeout(function () {
toShixun();
}, 1000);
}
});
} else {
toShixun();
}
},
onCancel: function onCancel() {}
});
}
function onVncAction(name) {
onHideToolBar();
if (name === 'reset-task') {
if (!resetVncLoading) {
var modal = es_modal/* default */.Z.confirm({
title: '重置环境',
icon: /*#__PURE__*/(0,jsx_runtime.jsx)(ExclamationCircleOutlined/* default */.Z, {}),
content: /*#__PURE__*/(0,jsx_runtime.jsx)(TipContent, {}),
maskClosable: false,
keyboard: false,
centered: true,
okText: '确定',
cancelText: '取消',
onOk: function () {
var _onOk = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2() {
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
if (!(tab_type === 4)) {
_context2.next = 6;
break;
}
modal.update({
cancelButtonProps: {
disabled: true
}
});
_context2.next = 4;
return onReset();
case 4:
modal.update({
cancelButtonProps: {
disabled: false
}
});
return _context2.abrupt("return");
case 6:
onReset();
case 7:
case "end":
return _context2.stop();
}
}, _callee2);
}));
function onOk() {
return _onOk.apply(this, arguments);
}
return onOk;
}()
});
}
}
if (name === 'restart-reboot') {
if (!resetVncLoading) {
var _modal = es_modal/* default */.Z.confirm({
title: '重启云主机',
icon: /*#__PURE__*/(0,jsx_runtime.jsx)(ExclamationCircleOutlined/* default */.Z, {}),
content: '您确定要重启云主机吗?',
maskClosable: false,
keyboard: false,
centered: true,
okText: '确定',
cancelText: '取消',
onOk: function () {
var _onOk2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3() {
return regeneratorRuntime_default()().wrap(function _callee3$(_context3) {
while (1) switch (_context3.prev = _context3.next) {
case 0:
if (!(tab_type === 4)) {
_context3.next = 6;
break;
}
_modal.update({
cancelButtonProps: {
disabled: true
}
});
_context3.next = 4;
return onRestartReboot();
case 4:
_modal.update({
cancelButtonProps: {
disabled: false
}
});
return _context3.abrupt("return");
case 6:
onRestartReboot();
case 7:
case "end":
return _context3.stop();
}
}, _callee3);
}));
function onOk() {
return _onOk2.apply(this, arguments);
}
return onOk;
}()
});
}
}
if (name === 'reset-git-code') {
if (!resetVncLoading) {
es_modal/* default */.Z.confirm({
title: '重置代码仓库',
icon: /*#__PURE__*/(0,jsx_runtime.jsx)(ExclamationCircleOutlined/* default */.Z, {}),
content: '您的所有代码将被还原至初始状态,不影响通关状态与作业成绩。确认重置?',
centered: true,
okText: '确定',
cancelText: '取消',
onOk: onResetGitCode
});
}
}
if (name === 'reset-code') {
if (!resetVncLoading) {
es_modal/* default */.Z.confirm({
title: '恢复初始代码',
icon: /*#__PURE__*/(0,jsx_runtime.jsx)(ExclamationCircleOutlined/* default */.Z, {}),
content: '你在本文件中修改的内容将丢失,是否确定重新加载初始代码?',
centered: true,
okText: '确定',
cancelText: '取消',
onOk: onResetCode
});
}
}
if (name === 'full-screen') {
if ((0,fullscreen/* IsFull */.vp)()) {
(0,fullscreen/* exitFull */.BU)();
} else {
var _document, _document$getElementB;
(0,fullscreen/* requestFullScreen */.Dj)((_document = document) === null || _document === void 0 || (_document$getElementB = _document.getElementById) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.call(_document, 'task-right-panel'));
}
}
if (name === 'show-clipboard-box') {
if (!!cloud_type) {
es_modal/* default */.Z.info({
title: '提示',
icon: /*#__PURE__*/(0,jsx_runtime.jsx)(ExclamationCircleOutlined/* default */.Z, {}),
content: '当前实验环境的【复制粘贴】功能暂时无法使用,敬请期待~',
centered: true
});
return;
}
mediator/* default */.Z.publish("show-clipboard-box-".concat(index_tab));
}
}
var vncSettingOption = {
task_pass: task_pass,
test_set_permission: test_set_permission,
mirror_description: mirror_description,
difficulty: difficulty,
resetVncLoading: resetVncLoading,
git_url: git_url,
tabActiveParams: tabActiveParams,
onVncAction: onVncAction,
onHideToolBar: onHideToolBar,
shixun: shixun,
monitoring_url: monitoring_url,
unity_3d_routes: unity_3d_routes,
index_tab: index_tab,
shixun_environment_id: shixun_environment_id,
tab_type: tab_type,
windows_vnc: windows_vnc,
vnc_url: vnc_url,
linux_vnc: linux_vnc,
reboot_cloud: reboot_cloud,
cloud_type: cloud_type,
resData: resData,
instance_startup_type: instance_startup_type,
mirror_name: mirror_name,
mirror_description_multi: mirror_description_multi
};
var cutTime = (0,_react_17_0_2_react.useCallback)(function () {
if (!vncTime) {
return /*#__PURE__*/(0,jsx_runtime.jsx)(jsx_runtime.Fragment, {});
}
return /*#__PURE__*/(0,jsx_runtime.jsx)(VncTimer, {
defaultTime: vncTime,
onAddVncTime: onAddVncTime,
onResetAllVnc: onResetAllVnc,
toShixun: toShixun,
myshixun: myshixun,
title: "\u5B9E\u9A8C\u73AF\u5883\u5012\u8BA1\u65F6"
});
}, [vncTime]);
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "task-header-container",
children: [searchParams.get("type") === "exercises" && /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "exercise_user_info",
children: ["\u59D3\u540D", /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "ml10",
children: exerciseData === null || exerciseData === void 0 || (_exerciseData$exercis2 = exerciseData.exercise) === null || _exerciseData$exercis2 === void 0 ? void 0 : _exerciseData$exercis2.user_name
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "exercise_user_info ml30",
children: ["\u5B66\u53F7", /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "ml10",
children: exerciseData === null || exerciseData === void 0 || (_exerciseData$exercis3 = exerciseData.exercise) === null || _exerciseData$exercis3 === void 0 ? void 0 : _exerciseData$exercis3.student_id
})]
})]
}), searchParams.get("type") !== 'exercises' && /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
className: "task-user-info",
href: user_url,
target: "_blank",
children: [image_url ? /*#__PURE__*/(0,jsx_runtime.jsx)("img", {
width: "35",
height: "35",
src: "".concat(env/* default */.Z.IMG_SERVER, "/images/").concat(image_url)
}) : null, /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: user.name
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "grade-info",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
src: gold_namespaceObject,
alt: "gold",
width: 20
}), grade]
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("h2", {
className: "shixun-info",
children: [name, searchParams.get("type") !== 'exercises' && /*#__PURE__*/(0,jsx_runtime.jsx)(timer_panel, {
lastedGetTaskInfoTime: lastedGetTaskInfoTime,
status: status,
defaultTime: cost_time,
onUpdateCostTime: onUpdateCostTime,
retentionTime: "taskBuildTimes",
title: "\u5B9E\u9A8C\u603B\u7528\u65F6"
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "flex-container",
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
ref: refNotice,
onClick: function onClick() {
return setOpenNotice(false);
},
children: [searchParams.get("type") !== 'exercises' && /*#__PURE__*/(0,jsx_runtime.jsx)(jsx_runtime.Fragment, {
children: isNotice && /*#__PURE__*/(0,jsx_runtime.jsx)(NoticeButton, {
className: "btn-notice",
onShowNotice: onShowNotice
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(tour/* default */.Z, {
open: openNotice,
onClose: function onClose() {
return setOpenNotice(false);
},
rootClassName: "tasks-header-notice",
steps: [{
title: '更新通知',
description: /*#__PURE__*/(0,jsx_runtime.jsx)(jsx_runtime.Fragment, {
children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
children: "\u8001\u5E08\u5DF2\u4FEE\u6539\u4EE3\u7801\u6587\u4EF6\uFF0C\u8BF7\u66F4\u65B0\u540E\u7EE7\u7EED\u4F5C\u7B54~"
})
}),
target: function target() {
return refNotice.current;
},
nextButtonProps: {
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
onClick: onShowNotice,
type: "primary",
size: "small",
children: "\u66F4\u65B0\u4EE3\u7801"
})
}
}]
})]
}), cutTime(), windows_vnc && !(0,lodash.isEmpty)(resData) && /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
onClick: function onClick(e) {
e.preventDefault();
mediator/* default */.Z.publish("send-ctrl-alt-delete-".concat(index_tab));
},
className: "c-grey-c mr20 current",
children: "\u53D1\u9001CTRL+ALT+DELETE"
}), unity_3d_routes && /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
title: "\u5DE5\u5177\u680F",
onClick: triggerToolBar,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-vncshixunjiemian-gongjulan mr5"
})
}), (tabActiveParams === null || tabActiveParams === void 0 ? void 0 : tabActiveParams.resource_type) == 1 && /*#__PURE__*/(0,jsx_runtime.jsx)(resource_center, {
visible: resourceCenterVisiable,
onClose: handleToggleResourceCenter,
shixun: shixun,
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
className: "btn-vnc",
style: {
marginRight: 0
},
title: "\u8D44\u6E90\u4E2D\u5FC3",
onClick: handleToggleResourceCenter,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "iconfont font14 mr5 ml20 icon-ziyuanzhongxin current"
}), "\u8D44\u6E90\u4E2D\u5FC3"]
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(data_sets, {
visible: dataSetsVisiable,
onClose: handleToggleDatasets,
shixun: shixun,
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
className: "btn-vnc",
title: "\u6570\u636E\u96C6",
onClick: handleToggleDatasets,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "iconfont font14 mr5 ml20 icon-shujuji2 current"
}), "\u6570\u636E\u96C6"]
})
})]
}), searchParams.get("type") !== 'exercises' && /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
className: "btn-out",
onClick: onCancelShixun,
title: "\u9000\u51FA\u5B9E\u8BAD",
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-kaiguan"
})
}), (exerciseData === null || exerciseData === void 0 || (_exerciseData$exercis4 = exerciseData.exercise) === null || _exerciseData$exercis4 === void 0 ? void 0 : _exerciseData$exercis4.left_time) > 0 && /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
align: "middle",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
style: {
color: countDownColor,
marginRight: 6
},
className: "iconfont icon-daojishi djs"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
style: {
color: countDownColor,
fontSize: 14,
marginRight: 10
},
children: "\u5269\u4F59\u7B54\u9898\u65F6\u957F"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "mr20",
children: /*#__PURE__*/(0,jsx_runtime.jsx)(Countdown, {
valueStyle: {
color: countDownColor,
fontSize: 20,
fontWeight: 500
},
value: countDownTime,
onFinish: /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee5() {
var res, time;
return regeneratorRuntime_default()().wrap(function _callee5$(_context5) {
while (1) switch (_context5.prev = _context5.next) {
case 0:
_context5.next = 2;
return (0,exercise/* submitExerciseAnswer */.VL)({
categoryId: searchParams.get("exercisesId"),
commit_method: 2
});
case 2:
res = _context5.sent;
if ((res === null || res === void 0 ? void 0 : res.status) === 0) {
if (st === 0) {
onUpdateCode(1);
}
es_modal/* default */.Z.info({
width: 530,
title: '提示',
centered: true,
okText: '确定',
content: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "tc font16",
children: ["\u7B54\u9898\u7ED3\u675F\u4E86\uFF0C\u7CFB\u7EDF\u5DF2\u81EA\u52A8\u63D0\u4EA4\u8BD5\u5377", /*#__PURE__*/(0,jsx_runtime.jsx)("br", {}), "\u4E0D\u80FD\u518D\u4FEE\u6539\u7B54\u9898"]
}),
onOk: function () {
var _onOk3 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee4() {
return regeneratorRuntime_default()().wrap(function _callee4$(_context4) {
while (1) switch (_context4.prev = _context4.next) {
case 0:
window.parent.location.href = "/classrooms/".concat(searchParams.get("coursesId"), "/exercise/").concat(searchParams.get("exercisesId"), "/detail");
case 1:
case "end":
return _context4.stop();
}
}, _callee4);
}));
function onOk() {
return _onOk3.apply(this, arguments);
}
return onOk;
}()
});
}
if ((res === null || res === void 0 ? void 0 : res.status) === -3) {
time = parseInt(res === null || res === void 0 ? void 0 : res.message);
setCountDownTime(Date.now() + time * 1000);
}
case 5:
case "end":
return _context5.stop();
}
}, _callee5);
}))
})
})]
}), searchParams.get("type") === 'exercises' && /*#__PURE__*/(0,jsx_runtime.jsxs)(es_button/* default */.ZP, {
type: "primary",
onClick: function onClick() {
if (st === 0) {
onUpdateCode();
}
es_modal/* default */.Z.confirm({
centered: true,
okText: '确定',
cancelText: '取消',
title: '提示',
content: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
style: {
color: "#FF0000"
},
children: "\u8BF7\u786E\u8BA4\u4F60\u7684\u7B54\u9898\u5185\u5BB9\u662F\u5426\u8FDB\u884C\u8BC4\u6D4B\u5E76\u63D0\u4EA4\uFF0C\u672A\u8BC4\u6D4B\u5219\u4F1A\u5BFC\u81F4\u8BE5\u9898\u65E0\u6CD5\u83B7\u5F97\u5206\u6570"
}),
onOk: function onOk() {
// window.close()
clearCountdownTimeout();
lockExitFullRef.current = true;
backExercise();
}
});
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "iconfont icon-yiguanbi mr5 font14"
}), " \u8FD4\u56DE\u8BD5\u5377"]
}), /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, {
children: /*#__PURE__*/(0,jsx_runtime.jsx)(drawer/* default */.Z, {
width: 280,
rootClassName: "setting-drawer",
title: null,
placement: "right",
closable: false,
destroyOnClose: false,
open: isToolBar,
onClose: onHideToolBar,
children: /*#__PURE__*/(0,jsx_runtime.jsx)(vnc_setting/* default */.Z, objectSpread2_default()({}, vncSettingOption))
})
})]
});
});
var FiveMinute = 300;
function Timer(_ref3) {
var title = _ref3.title,
time = _ref3.time,
_ref3$className = _ref3.className,
className = _ref3$className === void 0 ? '' : _ref3$className,
callback = _ref3.callback,
_ref3$desc = _ref3.desc,
desc = _ref3$desc === void 0 ? '' : _ref3$desc,
_ref3$style = _ref3.style,
style = _ref3$style === void 0 ? {} : _ref3$style;
function onClick() {
callback ? callback() : null;
}
return /*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
onClick: onClick,
title: title,
className: className,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-shijian1 mr5",
style: style
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
children: [desc ? "".concat(desc, "\uFF1A") : '', getTimer(time)]
})]
});
}
function VncTimer(_ref4) {
var onAddVncTime = _ref4.onAddVncTime,
onResetAllVnc = _ref4.onResetAllVnc,
toShixun = _ref4.toShixun,
_ref4$title = _ref4.title,
title = _ref4$title === void 0 ? '' : _ref4$title,
myshixun = _ref4.myshixun,
defaultTime = _ref4.defaultTime;
var _useState17 = (0,_react_17_0_2_react.useState)(defaultTime),
_useState18 = slicedToArray_default()(_useState17, 2),
time = _useState18[0],
setTime = _useState18[1];
var _useState19 = (0,_react_17_0_2_react.useState)(false),
_useState20 = slicedToArray_default()(_useState19, 2),
btnLoading = _useState20[0],
setBtnLoading = _useState20[1];
var _useState21 = (0,_react_17_0_2_react.useState)(false),
_useState22 = slicedToArray_default()(_useState21, 2),
isPlusTime = _useState22[0],
setIsPlusTime = _useState22[1];
var isFirstOpen = (0,_react_17_0_2_react.useRef)(true);
var urlParamsAll = (0,util/* getJsonFromUrl */.oP)();
(0,_react_17_0_2_react.useEffect)(function () {
window.addEventListener("visibilitychange", handleFocus);
return function () {
window.removeEventListener("visibilitychange", handleFocus);
};
}, []);
var handleFocus = /*#__PURE__*/function () {
var _ref5 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee7(e) {
var res, _res$data, _res$data2, remainingTime, currentTime;
return regeneratorRuntime_default()().wrap(function _callee7$(_context7) {
while (1) switch (_context7.prev = _context7.next) {
case 0:
if (!(document.visibilityState === 'visible')) {
_context7.next = 5;
break;
}
_context7.next = 3;
return (0,service/* getRemainingTime */.fY)(myshixun === null || myshixun === void 0 ? void 0 : myshixun.identifier);
case 3:
res = _context7.sent;
if ((res === null || res === void 0 ? void 0 : res.status) === 0) {
remainingTime = (res === null || res === void 0 || (_res$data = res.data) === null || _res$data === void 0 ? void 0 : _res$data.remainingTime) > 0 ? res === null || res === void 0 || (_res$data2 = res.data) === null || _res$data2 === void 0 ? void 0 : _res$data2.remainingTime : 0;
currentTime = remainingTime / 1000;
setTime(currentTime);
//其他地方增加了时间,关闭弹框
if (currentTime > FiveMinute) {
setIsPlusTime(false);
}
}
case 5:
case "end":
return _context7.stop();
}
}, _callee7);
}));
return function handleFocus(_x) {
return _ref5.apply(this, arguments);
};
}();
(0,useInterval/* default */.Z)(function () {
setTime(time - 1);
}, time > 0 ? 1000 : null);
(0,_react_17_0_2_react.useEffect)(function () {
if (urlParamsAll.homework_common_id) {
if (time === 60) {
setIsPlusTime(true);
}
} else {
if (time === 300 || time === 180 || time === 60 || time === 0) {
setIsPlusTime(true);
}
}
}, [time]);
(0,_react_17_0_2_react.useEffect)(function () {
if (isFirstOpen.current) {
if (defaultTime < FiveMinute && !urlParamsAll.homework_common_id) {
setIsPlusTime(true);
}
if (defaultTime < 60 && urlParamsAll.homework_common_id) {
setIsPlusTime(true);
}
isFirstOpen.current = false;
setTime(defaultTime);
}
}, [defaultTime]);
function onCancel() {
if (time !== 0) {
setIsPlusTime(false);
} else {
window.location.reload();
// toShixun();
}
}
function onAddTime() {
return _onAddTime.apply(this, arguments);
}
function _onAddTime() {
_onAddTime = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee8() {
var _res$data3, res, _res6;
return regeneratorRuntime_default()().wrap(function _callee8$(_context8) {
while (1) switch (_context8.prev = _context8.next) {
case 0:
setBtnLoading(true);
if (!(time > 0)) {
_context8.next = 8;
break;
}
_context8.next = 4;
return onAddVncTime();
case 4:
res = _context8.sent;
setTime((res === null || res === void 0 || (_res$data3 = res.data) === null || _res$data3 === void 0 ? void 0 : _res$data3.remaining_time) / 1000);
_context8.next = 12;
break;
case 8:
_context8.next = 10;
return onResetAllVnc();
case 10:
_res6 = _context8.sent;
toShixun();
case 12:
setBtnLoading(false);
setIsPlusTime(false);
case 14:
case "end":
return _context8.stop();
}
}, _callee8);
}));
return _onAddTime.apply(this, arguments);
}
function callback() {
if (time < FiveMinute) {
setIsPlusTime(true);
}
}
return /*#__PURE__*/(0,jsx_runtime.jsxs)(_react_17_0_2_react.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(Timer, {
callback: callback,
title: "\u5B9E\u9A8C\u73AF\u5883\u5012\u8BA1\u65F6",
className: "btn-vnc ".concat(time < FiveMinute ? 'color-red' : '', " "),
time: time,
desc: title
}), /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, {
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_modal/* default */.Z, {
title: [/*#__PURE__*/(0,jsx_runtime.jsx)(ExclamationCircleOutlined/* default */.Z, {
className: "modalIconYellow mr10"
}), time !== 0 ? '实验环境延时提醒' : '实验环境结束提醒'],
maskClosable: false,
closable: false,
centered: true,
open: isPlusTime
// open={true}
,
onOk: onAddTime,
cancelButtonProps: {
style: {
// display: time !== 0 ? 'inline-block' : 'none'
background: time === 0 && '#009e9c',
color: time === 0 && '#fff'
}
},
confirmLoading: btnLoading,
onCancel: onCancel,
okText: time !== 0 ? '立即延长' : '退出',
cancelText: time !== 0 ? '不需要' : '重新开启实验',
children: time !== 0 ? "\u5F53\u524D\u5B9E\u9A8C\u73AF\u5883\u5C06\u4E8E ".concat(Math.round(time / 60), " \u5206\u949F\u540E\u5173\u95ED\uFF0C\u9700\u8981\u5EF6\u957F\u4F7F\u7528\u65F6\u95F4\u5417\uFF1F") : '实验环境倒计时结束,资源已经被回收。'
})
})]
});
}
;// CONCATENATED MODULE: ./src/pages/tasks/choose-repository/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var choose_repositorymodules = ({"test-set-container":"test-set-container___JHp4n","resize-y-bar":"resize-y-bar___rdi2n","code-area-container":"code-area-container___Wrs1J","xterm-panel":"xterm-panel___Qp8NN","xterm-rows":"xterm-rows___NHMLJ","xterm":"xterm___JuxUK","xterm-screen":"xterm-screen___jNWY5","navs":"navs___isstg","arrow-right":"arrow-right___k6W52","arrow-down":"arrow-down___RJ_Vp","flex-container":"flex-container___fcvlY","iconfont":"iconfont___x63vg","active":"active___tIrbA","action-bar-container":"action-bar-container___WBAJU","action-bar":"action-bar___gNMCV","right-panel":"right-panel___n2hmC","action-container":"action-container___GNaac","setting-drawer":"setting-drawer___UAqT2","oj":"oj___BBHzQ","spinning":"spinning___Klii0","btn":"btn___Ih5Gr"});
;// CONCATENATED MODULE: ./src/pages/tasks/choose-repository/topics/index.less
// extracted by mini-css-extract-plugin
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/radio/index.js + 5 modules
var es_radio = __webpack_require__(5112);
;// CONCATENATED MODULE: ./src/pages/tasks/choose-repository/topics/topic/A.jsx
var dicts = {
0: 'A',
1: 'B',
2: 'C',
3: 'D',
4: 'E',
5: 'F',
6: 'G',
7: 'H',
8: 'I',
9: 'J',
10: 'K',
11: 'L',
12: 'M',
13: 'N'
};
/* harmony default export */ var A = (function (_ref) {
var category = _ref.category,
_ref$answer = _ref.answer,
answer = _ref$answer === void 0 ? '' : _ref$answer,
index = _ref.index,
option_name = _ref.option_name,
callback = _ref.callback;
var value = dicts[index];
function onSetOption() {
//单选
if (category === 1) {
callback(value);
} else {
var rs = (answer === null || answer === void 0 ? void 0 : answer.split('')) || [];
//复选取消或者选中逻辑
var i = rs.indexOf(value);
if (i >= 0) {
rs.splice(i, 1);
} else {
rs.push(value);
}
callback(rs.join(''));
}
}
return /*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
className: "flex-container",
onClick: onSetOption,
children: [category === 1 ? /*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default */.ZP, {
checked: answer && answer.indexOf(value) >= 0,
className: "choice"
}) : /*#__PURE__*/(0,jsx_runtime.jsx)(es_checkbox/* default */.Z, {
className: "choice",
checked: answer && answer.indexOf(value) >= 0
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "flex-wrp",
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
className: "checkTitle",
style: {
lineHeight: 1.7,
fontSize: 16,
whiteSpace: 'nowrap'
},
children: [value, "\u3001"]
}), /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
className: "subject-body",
value: option_name
})]
})]
});
});
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/input/index.js + 5 modules
var input = __webpack_require__(20008);
;// CONCATENATED MODULE: ./src/pages/tasks/choose-repository/topics/topic/C.jsx
/* harmony default export */ var C = (function (_ref) {
var callback = _ref.callback,
multi_count = _ref.multi_count,
answer = _ref.answer;
var _useState = (0,_react_17_0_2_react.useState)([]),
_useState2 = slicedToArray_default()(_useState, 2),
data = _useState2[0],
setData = _useState2[1];
(0,_react_17_0_2_react.useEffect)(function () {
if (multi_count) {
if (answer !== null && answer !== void 0 && answer.length) {
setData(answer);
return;
}
var item = Array.from({
length: multi_count
}).fill('');
setData(item);
}
}, [multi_count, answer]);
console.log(data, answer, 'multi_count');
return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "option",
children: data === null || data === void 0 ? void 0 : data.map(function (item, index) {
return /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
align: "middle",
className: "mb10 text",
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
className: "mb5",
children: ["\u586B\u7A7A", index + 1, "\u7B54\u6848\uFF1A"]
}), /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z.TextArea, {
value: item,
onChange: function onChange(e) {
data[index] = e.target.value;
callback(data);
}
}, index)]
});
})
});
});
;// CONCATENATED MODULE: ./src/pages/tasks/choose-repository/topics/topic/index.jsx
//(?:class=\")([^ ]+)[ ]+(?:language-)\1
/* harmony default export */ var topic = (function (_ref) {
var id = _ref.id,
answer = _ref.answer,
challenge_question = _ref.challenge_question,
category = _ref.category,
subject = _ref.subject,
onSetAnswers = _ref.onSetAnswers,
question_name = _ref.question_name,
multi_count = _ref.multi_count;
function callback(value) {
onSetAnswers(id, value);
}
return /*#__PURE__*/(0,jsx_runtime.jsxs)("li", {
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
className: "subject c-grey-999",
align: "stretch",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
flex: "40px",
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
className: "mt3 order",
children: [id + 1, "\u3001"]
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
flex: '1',
children: /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
value: "".concat(subject),
className: "subject-body"
})
})]
}), question_name === '单选题/多选题' && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "option",
children: challenge_question === null || challenge_question === void 0 ? void 0 : challenge_question.map(function (_ref2, index) {
var option_name = _ref2.option_name;
return /*#__PURE__*/(0,jsx_runtime.jsx)(A, {
index: index,
option_name: option_name,
answer: answer,
category: category,
callback: callback
}, option_name);
})
}), question_name === '判断题' && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "option",
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(es_radio/* default.Group */.ZP.Group, {
className: "mb10",
style: {
marginLeft: 38
},
value: answer || undefined,
onChange: function onChange(e) {
return callback(e.target.value);
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default */.ZP, {
value: "true",
className: "mr40",
children: "\u6B63\u786E"
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_radio/* default */.ZP, {
value: "false",
children: "\u9519\u8BEF"
})]
})
}), question_name === '填空题' && /*#__PURE__*/(0,jsx_runtime.jsx)(C, {
multi_count: multi_count,
callback: callback,
answer: answer
})]
});
});
;// CONCATENATED MODULE: ./src/pages/tasks/choose-repository/topics/index.jsx
/* harmony default export */ var topics = (function (_ref) {
var chooses = _ref.chooses,
answers = _ref.answers,
onSetAnswers = _ref.onSetAnswers,
_ref$bgColor = _ref.bgColor,
bgColor = _ref$bgColor === void 0 ? '#1E1E1E' : _ref$bgColor;
return /*#__PURE__*/(0,jsx_runtime.jsx)("ul", {
className: "".concat(bgColor === '#1E1E1E' ? '' : 'vs', " choose-container"),
style: {
backgroundColor: bgColor
},
children: chooses.map(function (_ref2, index) {
var subject = _ref2.subject,
challenge_question = _ref2.challenge_question,
category = _ref2.category,
question_name = _ref2.question_name,
multi_count = _ref2.multi_count;
return /*#__PURE__*/(0,jsx_runtime.jsx)(topic
// className={bgColor==='#1E1E1E'?'vs_dark':'vs'}
, {
id: index,
subject: subject,
challenge_question: challenge_question,
category: category,
answer: answers[index],
onSetAnswers: onSetAnswers,
question_name: question_name,
multi_count: multi_count
}, index);
})
});
});
;// CONCATENATED MODULE: ./src/pages/tasks/choose-repository/test-cast-list/index.less
// extracted by mini-css-extract-plugin
// EXTERNAL MODULE: ./src/pages/tasks/choose-repository/test-cast-list/mark.svg
var mark = __webpack_require__(96791);
// EXTERNAL MODULE: ./src/pages/tasks/choose-repository/test-cast-list/success.svg
var success = __webpack_require__(11801);
// EXTERNAL MODULE: ./src/pages/tasks/choose-repository/test-cast-list/failer.svg
var failer = __webpack_require__(62552);
;// CONCATENATED MODULE: ./src/pages/tasks/choose-repository/test-cast-list/index.jsx
var TestCaseItem = function TestCaseItem(_ref) {
var id = _ref.id,
isActive = _ref.isActive,
title = _ref.title,
onActive = _ref.onActive,
had_submmit = _ref.had_submmit,
result = _ref.result,
actual_output = _ref.actual_output,
standard_answer = _ref.standard_answer,
question_name = _ref.question_name;
function onActiveHandler() {
onActive(id);
}
var cls = 'test-case-item';
if (isActive) {
cls += ' active';
}
if (had_submmit) {
cls += ' has-result';
}
return /*#__PURE__*/(0,jsx_runtime.jsxs)("li", {
className: cls,
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
className: "case-header",
onClick: onActiveHandler,
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("h2", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: isActive ? 'arrow-down' : 'arrow-right'
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "test-title",
children: title
})]
}), had_submmit > 0 ? /*#__PURE__*/(0,jsx_runtime.jsx)("img", {
width: 16,
src: result ? success/* default */.Z : failer/* default */.Z
}) : /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-suo1"
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "item-desc ".concat(isActive ? 'show' : 'hide', " choose-game-item"),
children: had_submmit ? result ? question_name === '填空题' ? /*#__PURE__*/(0,jsx_runtime.jsxs)(_react_17_0_2_react.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
children: "\u6B63\u786E\u7B54\u6848\uFF1A"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("b", {
children: standard_answer === null || standard_answer === void 0 ? void 0 : standard_answer.map(function (e, i) {
var _e$text;
return /*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
children: ["\u586B\u7A7A", i + 1, "\uFF1A", e === null || e === void 0 || (_e$text = e.text) === null || _e$text === void 0 ? void 0 : _e$text.join('、')]
});
})
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
children: "\u4F60\u7684\u7B54\u6848\uFF1A"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("b", {
className: "c-red",
children: actual_output === null || actual_output === void 0 ? void 0 : actual_output.map(function (e, i) {
return /*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
children: ["\u586B\u7A7A", i + 1, "\uFF1A", e]
});
})
})]
})]
}) : /*#__PURE__*/(0,jsx_runtime.jsxs)(_react_17_0_2_react.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
children: ["\u6B63\u786E\u9009\u9879\uFF1A", /*#__PURE__*/(0,jsx_runtime.jsx)("b", {
children: standard_answer
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
children: ["\u4F60\u7684\u9009\u9879\uFF1A", /*#__PURE__*/(0,jsx_runtime.jsx)("b", {
className: "c-red",
children: actual_output
})]
})]
}) : /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
children: "\u9519\u8BEF\uFF0C\u4E0D\u652F\u6301\u67E5\u770B"
}) : /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
children: "\u5C1A\u672A\u63D0\u4EA4\uFF0C\u6682\u4E0D\u652F\u6301\u67E5\u770B"
})
})]
});
};
//moveY = 0.01 时,表示测试集最大化
/* harmony default export */ var test_cast_list = (function (_ref2) {
var onResizeSetContainer = _ref2.onResizeSetContainer,
moveY = _ref2.moveY,
had_submmit = _ref2.had_submmit,
_ref2$test_sets = _ref2.test_sets,
test_sets = _ref2$test_sets === void 0 ? [] : _ref2$test_sets,
challenge_chooses_count = _ref2.challenge_chooses_count,
choose_correct_num = _ref2.choose_correct_num;
var _useState = (0,_react_17_0_2_react.useState)(-1),
_useState2 = slicedToArray_default()(_useState, 2),
index = _useState2[0],
setIndex = _useState2[1];
function trigger(id) {
setIndex(id === index ? -1 : id);
}
var isOk = choose_correct_num === challenge_chooses_count;
function onResizeSet() {
onResizeSetContainer(moveY);
}
return /*#__PURE__*/(0,jsx_runtime.jsxs)(_react_17_0_2_react.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "test-header",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "active",
children: "\u6D4B\u8BD5\u7ED3\u679C"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
onClick: onResizeSet,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont ".concat(moveY === 0.01 ? 'icon-shousuo' : 'icon-zhankai', " icon-zhankai")
})
})]
}), had_submmit ? /*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
className: "test-result ".concat(isOk ? 'success' : 'failer'),
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
className: "count",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
width: 16,
src: isOk ? success/* default */.Z : mark/* default */.Z
}), choose_correct_num, " / ", challenge_chooses_count, " \u5171\u6709", challenge_chooses_count, "\u9898\uFF0C"]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: isOk ? '全部通过' : "\u5176\u4E2D".concat(challenge_chooses_count - choose_correct_num, "\u9898\u76EE\u7ED3\u679C\u4E0D\u5339\u914D\u3002\u8BE6\u60C5\u5982\u4E0B\uFF1A")
})]
}) : null, /*#__PURE__*/(0,jsx_runtime.jsx)("ul", {
className: "test-case-list",
children: test_sets.map(function (item, i) {
return /*#__PURE__*/(0,jsx_runtime.jsx)(TestCaseItem, objectSpread2_default()(objectSpread2_default()({
had_submmit: had_submmit,
title: "\u9898\u76EE".concat(i + 1)
}, item), {}, {
isActive: index === i,
id: i,
onActive: trigger
}), 'item' + i);
})
})]
});
});
;// CONCATENATED MODULE: ./src/pages/tasks/footer-bar/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var footer_barmodules = ({"action-container":"action-container___Xcx9G","eval-btn-group":"eval-btn-group___b8ds5","eval-desc":"eval-desc___bIcYm","btn-run":"btn-run___fh7pl","btn-run-self":"btn-run-self___Bwz1A","ghost-link":"ghost-link___Y8dGm","link":"link___PPhWD"});
;// CONCATENATED MODULE: ./src/pages/tasks/footer-bar/run.png
var run_namespaceObject = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjk3RTBEMDM2MDE3ODExRUI4QzEzQUNFNDcxODM2QjJDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjk3RTBEMDM3MDE3ODExRUI4QzEzQUNFNDcxODM2QjJDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OTdFMEQwMzQwMTc4MTFFQjhDMTNBQ0U0NzE4MzZCMkMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OTdFMEQwMzUwMTc4MTFFQjhDMTNBQ0U0NzE4MzZCMkMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6ejzPSAAACsUlEQVR42ryYz08TQRTHp9vQQkFPlAAHDXjxR2LwoEbhpCXon1DPpf0PbP8UwOhV/QOM8QIXIIRwASNtYo0RIye9FIF4Yf2O+U7ysmnrzM5uX/JJu7sz730zOzvz3mTCMFSONgOWwAK4Aa6CS3x2Ar6BJtgEH8BXJ+9akAVZUAZb4CK0twv2KdPHf2PZiCmBpghyAt6CGrgPJkCeTPCefvaGbY016Su2oGGwKhx+AVUwZjmqim0r7Gtslb6dBBXBLh2cg+cg5yAkSo4+zulzlzGsBOmGLTEqcx5CosyJ0Wp1ExXtUAA77PARTCYoxjBJ3yFjFfoJesGGnzlBVUoUGSNkzK6CSmLO3ElRjHx9Zk6VooICcMiHjQGIMTTEkpCVgsp80AZDls5WPL88xVhtxi5LQZu8uezgLOQqPOUpqip8/RM0wyVer6qjjoK0/QAPPASNMrbWMBtgO3sCMuAdOFXuNg02wLKKZ6eMrTUsaUHzfLCu4lserIEVkIvR38Se14Ju8WJf+VuNozXl2O+Avzf1O/zJuTDu+O77meu8Gme/X4FIrjoqOXOdVyb2WKDStYxrh4Bpp7bLCQo5Bo840W3MxP6tBX3nxbWExGyDu/y1NRP7SAs65MXtBMSscWSOHfuZ2J8CVgfaHnsI+cNPvsb/rmZib+lPbpbLdsdj63jouXV0zNaRxOY67bm5VqKbq0/6kU8r/ciK2qs+wASt3itBkynsWcKVRr8U9owxF3sl+a9Ekl8cUJL/0rYMOkixDNq3LYMGUSi2XQpFg67J9kRZ1EiglK6LsmevV93Xz8lIl8OGiuPiWWCftu9hg2RRvEJzHPOa1cI9DvsQKfJelW3kcUxLfk0+guSB1bbjgVXIPs9sD6wyMY/0nvJI7zq4IvIZnfkdgRY37feuR3p/BRgAhrFnXQBvMBoAAAAASUVORK5CYII=";
;// CONCATENATED MODULE: ./src/pages/tasks/footer-bar/index.jsx
var dayjs = __webpack_require__(/*! dayjs */ 9498);
/* harmony default export */ var footer_bar = (function (_ref) {
var _test_sets$find;
var st = _ref.st,
prev_game = _ref.prev_game,
next_game = _ref.next_game,
time_limit = _ref.time_limit,
record_consume_time = _ref.record_consume_time,
loading = _ref.loading,
shixun = _ref.shixun,
game = _ref.game,
onRun = _ref.onRun,
dispatch = _ref.dispatch,
chooses = _ref.chooses,
unity_3d_routes = _ref.unity_3d_routes,
user = _ref.user,
is_last_game = _ref.is_last_game,
onUpdateCode = _ref.onUpdateCode,
test_sets = _ref.test_sets,
challenge = _ref.challenge,
game_report_id = _ref.game_report_id,
_ref$tabActiveParams = _ref.tabActiveParams,
tabActiveParams = _ref$tabActiveParams === void 0 ? {} : _ref$tabActiveParams,
startDebug = _ref.startDebug;
var params = (0,_umi_production_exports.useParams)();
var hasNextGame = !is_last_game && !loading && (shixun.status > 0 || (user === null || user === void 0 ? void 0 : user.identity) < 5);
var runTextEnum = ['自测运行', '正在启动', '停止运行', '正在停止'];
var userInfo = (0,_umi_production_exports.useSelector)(function (state) {
var _state$user;
return state === null || state === void 0 || (_state$user = state.user) === null || _state$user === void 0 ? void 0 : _state$user.userInfo;
});
var _useState = (0,_react_17_0_2_react.useState)(0),
_useState2 = slicedToArray_default()(_useState, 2),
count = _useState2[0],
setCount = _useState2[1];
var _useState3 = (0,_react_17_0_2_react.useState)(0),
_useState4 = slicedToArray_default()(_useState3, 2),
time = _useState4[0],
setTime = _useState4[1];
var _useState5 = (0,_react_17_0_2_react.useState)(false),
_useState6 = slicedToArray_default()(_useState5, 2),
showPrevResult = _useState6[0],
setShowPrevResult = _useState6[1];
var _useState7 = (0,_react_17_0_2_react.useState)(test_sets === null || test_sets === void 0 || (_test_sets$find = test_sets.find(function (item) {
return item.input && !item.is_file;
})) === null || _test_sets$find === void 0 ? void 0 : _test_sets$find['input']),
_useState8 = slicedToArray_default()(_useState7, 2),
inputValue = _useState8[0],
setInputValue = _useState8[1];
var _useState9 = (0,_react_17_0_2_react.useState)(false),
_useState10 = slicedToArray_default()(_useState9, 2),
loadingRun = _useState10[0],
setLoadingRun = _useState10[1];
var _useState11 = (0,_react_17_0_2_react.useState)(runTextEnum[0]),
_useState12 = slicedToArray_default()(_useState11, 2),
runText = _useState12[0],
setRunText = _useState12[1];
var isRunRef = (0,_react_17_0_2_react.useRef)(false);
var location = (0,_umi_production_exports.useLocation)();
var shixun_environment_id = tabActiveParams.shixun_environment_id,
tab_type = tabActiveParams.tab_type;
console.log('--dibu-', userInfo);
var isWorkTime = function isWorkTime() {
var currentTime = dayjs();
if (currentTime.day() >= 1 && currentTime.day() <= 5) {
var currentHour = currentTime.hour();
var currentMinute = currentTime.minute();
if (currentHour >= 9 && currentHour < 12 || currentHour === 14 && currentMinute >= 30 || currentHour > 14 && currentHour < 18 || currentHour === 19 && currentMinute >= 30 || currentHour === 20 && currentMinute <= 30) {
return true;
} else {
return false;
}
} else {
return false;
}
};
(0,_react_17_0_2_react.useEffect)(function () {
if (count > 0) {
setTimeout(function () {
setCount(count - 1);
}, 1000);
}
}, [count]);
(0,_react_17_0_2_react.useEffect)(function () {
if (time > 0) {
setTimeout(function () {
setTime(time - 1);
}, 1000);
}
}, [time]);
(0,_react_17_0_2_react.useEffect)(function () {
var unsub = mediator/* default */.Z.subscribe('eval-code-finish', function () {
if (unity_3d_routes) {
setShowPrevResult(true);
}
if (st === 1) {} else {
if (userInfo !== null && userInfo !== void 0 && userInfo.is_vip) {
setCount(10);
} else {
setCount(isWorkTime() ? 20 : 15);
}
}
});
var unSub2 = mediator/* default */.Z.subscribe('caseInputValue', function (value) {
setInputValue(value);
});
var unRun3 = mediator/* default */.Z.subscribe('runCodeFinish', function () {
isRunRef.current = false;
setLoadingRun(false);
setRunText(runTextEnum[0]);
if (time > 0) {} else {
if (userInfo !== null && userInfo !== void 0 && userInfo.is_vip) {
setCount(10);
} else {
setCount(isWorkTime() ? 20 : 15);
}
}
});
return function () {
unsub();
unSub2();
unRun3();
};
}, []);
var toStop = function toStop() {
isRunRef.current = false;
setRunText(runTextEnum[3]);
mediator/* default */.Z.publish('runCode', {
type: 'stop'
});
(0,service/* stopLogOutput */.Yv)(params.taskId, {
shixun_environment_id: shixun_environment_id,
tab_type: tab_type
});
setTimeout(function () {
setRunText(runTextEnum[0]);
setLoadingRun(false);
if (userInfo !== null && userInfo !== void 0 && userInfo.is_vip) {
setCount(10);
} else {
setCount(isWorkTime() ? 20 : 15);
}
}, 2500);
};
var toRun = /*#__PURE__*/function () {
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2() {
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
// if (!inputValue) {
// message.error("请输入自测用例")
// setLoadingRun(false)
// mediator.publish('showRunCodeTab', true);
// mediator.publish('runCode', { type: 'null' });
// return
// }
isRunRef.current = true;
_context2.next = 3;
return onUpdateCode();
case 3:
setRunText(runTextEnum[1]);
mediator/* default */.Z.publish('show-case-result', true);
setTimeout( /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
var _res$data;
var res, _res$data2, _res$data3;
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return (0,service/* logOutput */.h$)(params.taskId, {
test_case_content: inputValue,
shixun_environment_id: shixun_environment_id,
tab_type: tab_type
});
case 2:
res = _context.sent;
if (!(res !== null && res !== void 0 && (_res$data = res.data) !== null && _res$data !== void 0 && (_res$data = _res$data.data_list) !== null && _res$data !== void 0 && _res$data.length)) {
_context.next = 6;
break;
}
mediator/* default */.Z.publish('pod-restrict-data', {
identifier: res === null || res === void 0 || (_res$data2 = res.data) === null || _res$data2 === void 0 ? void 0 : _res$data2.identifier,
data_list: res === null || res === void 0 || (_res$data3 = res.data) === null || _res$data3 === void 0 ? void 0 : _res$data3.data_list
});
return _context.abrupt("return");
case 6:
mediator/* default */.Z.publish('showRunCodeTab', true);
mediator/* default */.Z.publish('runCode', {
type: 'start'
});
case 8:
case "end":
return _context.stop();
}
}, _callee);
})), 100);
setTimeout(function () {
if (isRunRef.current) {
setRunText(runTextEnum[2]);
setLoadingRun(false);
}
}, 1000);
case 7:
case "end":
return _context2.stop();
}
}, _callee2);
}));
return function toRun() {
return _ref2.apply(this, arguments);
};
}();
var onStartOrStopRun = /*#__PURE__*/function () {
var _ref4 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3() {
return regeneratorRuntime_default()().wrap(function _callee3$(_context3) {
while (1) switch (_context3.prev = _context3.next) {
case 0:
setLoadingRun(true);
if (runText === runTextEnum[2]) {
toStop();
} else {
toRun();
}
case 2:
case "end":
return _context3.stop();
}
}, _callee3);
}));
return function onStartOrStopRun() {
return _ref4.apply(this, arguments);
};
}();
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: footer_barmodules['action-container'],
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "flex-container ".concat(footer_barmodules['eval-desc']),
children: [time_limit && challenge !== null && challenge !== void 0 && challenge.with_code_file ? /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: "\u672C\u5173\u6700\u5927\u6267\u884C\u65F6\u95F4\uFF1A".concat(time_limit, "\u79D2")
}) : null, record_consume_time && challenge !== null && challenge !== void 0 && challenge.with_code_file ? /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
children: ["\u672C\u6B21\u8BC4\u6D4B\u8017\u65F6(\u7F16\u8BD1\u3001\u8FD0\u884C\u603B\u65F6\u95F4)\uFF1A", record_consume_time, " \u79D2"]
}) : null, game_report_id ? /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
target: "_blank",
className: footer_barmodules.link,
href: "/report/".concat(params.taskId, "/").concat(game_report_id),
children: "\u4EE3\u7801\u6027\u80FD\u68C0\u6D4B"
}) : null, [2, 3, 4, 5].includes(tab_type) && /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
title: "\u663E\u793A/\u9690\u85CF\u6D4B\u8BD5\u7ED3\u679C",
onClick: function onClick() {
mediator/* default */.Z.publish('show-case-result');
},
children: "\u663E\u793A/\u9690\u85CF\u6D4B\u8BD5\u7ED3\u679C"
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "flex-container ".concat(footer_barmodules['eval-btn-group']),
children: [prev_game && !loading ? /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
href: "/tasks/".concat(prev_game).concat(location.search),
onClick: function onClick(e) {
e.preventDefault();
if (params.courseId && params.homeworkId) {
setTimeout(function () {
return window.location.href = "/tasks/".concat(params.courseId, "/").concat(params.homeworkId, "/").concat(prev_game).concat(location.search);
}, 300);
return;
}
setTimeout(function () {
return window.location.href = "/tasks/".concat(prev_game).concat(location.search);
}, 300);
},
className: footer_barmodules['ghost-link'],
children: "\u4E0A\u4E00\u5173"
}) : null, hasNextGame ? /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
href: "/tasks/".concat(next_game).concat(location.search),
onClick: function onClick(e) {
e.preventDefault();
if (shixun.task_pass || game.status === 2 || (user === null || user === void 0 ? void 0 : user.identity) < 5) {
if (params.courseId && params.homeworkId) {
setTimeout(function () {
return window.location.href = "/tasks/".concat(params.courseId, "/").concat(params.homeworkId, "/").concat(next_game).concat(location.search);
}, 300);
return;
}
setTimeout(function () {
return window.location.href = "/tasks/".concat(next_game).concat(location.search);
}, 300);
return;
}
es_modal/* default */.Z.warning({
centered: true,
width: 530,
title: '提示',
okText: '我知道了',
content: /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
children: "\u8BE5\u5B9E\u8DF5\u9879\u76EE\u8BBE\u7F6E\u4E86\u4E0D\u5141\u8BB8\u8DF3\u5173\u3002\u901A\u8FC7\u5F53\u524D\u5173\u5361\u540E\uFF0C\u624D\u80FD\u8FDB\u5165\u4E0B\u4E00\u5173\u3002"
})
});
},
className: footer_barmodules['ghost-link'],
children: "\u4E0B\u4E00\u5173"
}) : null, showPrevResult && (challenge === null || challenge === void 0 ? void 0 : challenge.show_type) === 1 && /*#__PURE__*/(0,jsx_runtime.jsx)("button", {
onClick: function onClick() {
dispatch({
type: 'SHOW_PICTURE_VIEW'
});
},
style: {
minWidth: '72px',
marginRight: 10
},
className: "btn-run",
title: "\u67E5\u770B\u6548\u679C",
children: "\u67E5\u770B\u6548\u679C"
}), tab_type === 1 && !startDebug && (shixun === null || shixun === void 0 ? void 0 : shixun.open_self_run) && /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
onClick: (0,lodash.throttle)(onStartOrStopRun, 2000),
loading: loadingRun,
danger: true,
disabled: time > 0 || count > 0 || loading,
className: "".concat(footer_barmodules['btn-run-self'], " mr10"),
children: time > 0 ? "".concat(time, "S") : runText
}), (challenge === null || challenge === void 0 ? void 0 : challenge.with_code_file) && !(tab_type === 1 && startDebug) && /*#__PURE__*/(0,jsx_runtime.jsx)("button", {
onClick: /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee4() {
return regeneratorRuntime_default()().wrap(function _callee4$(_context4) {
while (1) switch (_context4.prev = _context4.next) {
case 0:
if (!((userInfo === null || userInfo === void 0 ? void 0 : userInfo.user_status) === 2)) {
_context4.next = 3;
break;
}
message/* default */.ZP.info(userInfo === null || userInfo === void 0 ? void 0 : userInfo.user_message);
return _context4.abrupt("return");
case 3:
if (!(st === 1)) {
_context4.next = 7;
break;
}
if (!((chooses === null || chooses === void 0 ? void 0 : chooses.length) <= 0)) {
_context4.next = 7;
break;
}
es_modal/* default */.Z.confirm({
centered: true,
title: '提示',
content: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "tc",
children: /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
children: "\u60A8\u8FD8\u672A\u6DFB\u52A0\u9898\u76EE\uFF0C\u8BF7\u6DFB\u52A0\u540E\u8BC4\u6D4B\uFF01"
})
}),
okText: "\u786E\u8BA4",
cancelText: '取消'
});
return _context4.abrupt("return");
case 7:
setShowPrevResult(false);
_context4.next = 10;
return onRun();
case 10:
case "end":
return _context4.stop();
}
}, _callee4);
})),
style: {
minWidth: '72px'
},
disabled: loading || count > 0 || runText !== "自测运行" || time > 0,
className: footer_barmodules['btn-run'],
title: "\u8FD0\u884C\u8BC4\u6D4B",
children: count > 0 ? "".concat(count, "S") : /*#__PURE__*/(0,jsx_runtime.jsxs)(_react_17_0_2_react.Fragment, {
children: [' ', /*#__PURE__*/(0,jsx_runtime.jsx)("img", {
src: run_namespaceObject,
alt: "run",
width: 18
}), " ", /*#__PURE__*/(0,jsx_runtime.jsx)("b", {
children: "\u8BC4\u6D4B"
}), ' ']
})
})]
})]
});
});
// EXTERNAL MODULE: ./src/components/Exercise/ip.tsx
var Exercise_ip = __webpack_require__(25354);
;// CONCATENATED MODULE: ./src/components/TpiDescIcon/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var TpiDescIconmodules = ({"iconWrapper":"iconWrapper___U51IV","minusIcon":"minusIcon___xP_3j","arrowIcon":"arrowIcon___jKd9h"});
;// CONCATENATED MODULE: ./src/assets/images/task/desc.png
var desc_namespaceObject = "data:image/png;base64,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";
;// CONCATENATED MODULE: ./src/assets/images/task/arrow.png
var arrow_namespaceObject = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAgCAYAAAB3j6rJAAAAAXNSR0IArs4c6QAAAZdJREFUWEfF2D1Lw1AUxvH/8xHcBHFSaUfrojiKi19FHFwUFQQriLoIxcVVv4O4CCJOOriK7oKTCiLaQY9cCaW2yc1LzU2WDLnn5EdC8pxEDLCZ2SRwDIwCTUmttHZmVgNOALc/kLTtapRWmHTczKaAc2AoWvMNjEh68tTUgQtguGtNXdJ9IUgMwvX1QswsDuHqikESEK7hlqRm3NXwIFqSlnPfGg9iT9J6TsQRsCjJckHKRGSGlI3IBAmBSIWEQnghIRGJkNCIWEgViD5IVYg/kCoRHUjViG7IJvAbx11bG5iVdJvw6l4CDnuOueCbk3SZN9U76Wtmu8BaT4MXYN6DWQX2e2regQVJV3kwf8aAKjF980hVmNjBqApM4oQWGuMdFUNiUmfWUJhUiHsEQ2AyQUJgMkPKxuSClInJDfFgHoFxSZ8J2RQXB8/AmKTXQhAPpibpISljzCwOMyPpujAkwuwAG9GJb6K0/vKFnZmtREHpzn0HNCS1B4JEmOnob8CppI8siWtmDWACOJP0lvo5kaXpf635AX6GXzDZRnW0AAAAAElFTkSuQmCC";
;// CONCATENATED MODULE: ./src/components/TpiDescIcon/index.tsx
var TpiDescIcon = function TpiDescIcon(_ref) {
var desc = _ref.desc,
visible = _ref.visible;
var moveElement = (0,_react_17_0_2_react.useRef)();
var minusIconElement = (0,_react_17_0_2_react.useRef)();
var _useState = (0,_react_17_0_2_react.useState)(false),
_useState2 = slicedToArray_default()(_useState, 2),
hide = _useState2[0],
setHide = _useState2[1];
var _useState3 = (0,_react_17_0_2_react.useState)(false),
_useState4 = slicedToArray_default()(_useState3, 2),
open = _useState4[0],
setOpen = _useState4[1];
(0,_react_17_0_2_react.useEffect)(function () {
if (moveElement.current) {
var onMouseDown = function onMouseDown(e) {
setOpen(false);
(0,util/* pointerEvents */.kk)('none');
var box = moveElement.current.getBoundingClientRect();
startLeft = box.left;
startTop = box.top;
startPageX = e.pageX;
startPageY = e.pageY;
dragging = true;
click = true;
document.onselectstart = function () {
return false;
};
};
var onMouseUp = function onMouseUp(e) {
e.stopPropagation();
dragging = false;
(0,util/* pointerEvents */.kk)('auto');
document.onselectstart = null;
if (click) {
var _e$target, _minusIconElement$cur;
click = false;
if (((_e$target = e.target) === null || _e$target === void 0 ? void 0 : _e$target.id) !== ((_minusIconElement$cur = minusIconElement.current) === null || _minusIconElement$cur === void 0 ? void 0 : _minusIconElement$cur.id)) {
setOpen(true);
}
}
};
var onMouseMove = function onMouseMove(e) {
if (dragging) {
click = false;
setOpen(false);
var spareWidth = e.pageX - startPageX;
var spareHeight = e.pageY - startPageY;
moveElement.current.style.left = "".concat(startLeft + spareWidth, "px");
moveElement.current.style.top = "".concat(startTop + spareHeight, "px");
}
};
var startLeft = 0;
var startTop = 0;
var startPageX = 0;
var startPageY = 0;
var dragging = false;
var click = false;
moveElement.current.addEventListener('mousedown', onMouseDown);
document.addEventListener('mousemove', onMouseMove);
document.addEventListener('mouseup', onMouseUp);
return function () {
var _moveElement$current;
(_moveElement$current = moveElement.current) === null || _moveElement$current === void 0 || _moveElement$current.removeEventListener('mousedown', onMouseDown);
document.removeEventListener('mousemove', onMouseMove);
document.removeEventListener('mouseup', onMouseUp);
};
}
}, [moveElement.current]);
var onClose = function onClose() {
setOpen(false);
};
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
style: {
display: visible ? 'block' : 'none'
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(drawer/* default */.Z, {
title: "\u4EFB\u52A1\u63CF\u8FF0",
placement: "right",
onClose: onClose,
open: open,
children: desc
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: TpiDescIconmodules.arrowIcon,
onClick: function onClick() {
return setHide(false);
},
style: {
position: 'fixed',
display: hide ? 'block' : 'none',
zIndex: 1000,
bottom: 223
},
children: /*#__PURE__*/(0,jsx_runtime.jsx)("img", {
draggable: false,
src: arrow_namespaceObject,
alt: ""
})
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
ref: moveElement,
draggable: false,
className: TpiDescIconmodules.iconWrapper,
style: {
position: 'fixed',
display: hide ? 'none' : 'block',
zIndex: 1000,
bottom: 223,
right: 26,
borderRadius: '50%',
cursor: 'pointer'
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
ref: minusIconElement,
id: "minusIconElement",
onClick: function onClick() {
setOpen(false);
setHide(true);
},
className: "iconfont icon-yichu1 ".concat(TpiDescIconmodules.minusIcon)
}), /*#__PURE__*/(0,jsx_runtime.jsx)("img", {
draggable: false,
src: desc_namespaceObject
})]
})]
});
};
/* harmony default export */ var components_TpiDescIcon = (TpiDescIcon);
// EXTERNAL MODULE: ./src/components/tpi-code-setting/index.less
var tpi_code_setting = __webpack_require__(82520);
// EXTERNAL MODULE: ./src/components/tpi-code-setting/CodeSetting.tsx
var CodeSetting = __webpack_require__(97081);
;// CONCATENATED MODULE: ./src/components/tpi-code-setting/index.jsx
/* harmony default export */ var components_tpi_code_setting = (function (_ref) {
var isTheoretical = _ref.isTheoretical,
onFontSizeChange = _ref.onFontSizeChange,
cmFontSize = _ref.cmFontSize,
cmCodeMode = _ref.cmCodeMode,
onCodeModeChange = _ref.onCodeModeChange,
tabToSpace = _ref.tabToSpace,
onTabToSpace = _ref.onTabToSpace,
shixun = _ref.shixun,
autoFormat = _ref.autoFormat,
onAutoFormat = _ref.onAutoFormat,
formatDocument = _ref.formatDocument,
code_editor = _ref.code_editor,
challenge = _ref.challenge;
var _ref2 = shixun !== null && shixun !== void 0 ? shixun : {},
_ref2$task_pass = _ref2.task_pass,
task_pass = _ref2$task_pass === void 0 ? false : _ref2$task_pass,
_ref2$forbid_copy = _ref2.forbid_copy,
forbid_copy = _ref2$forbid_copy === void 0 ? false : _ref2$forbid_copy,
_ref2$test_set_permis = _ref2.test_set_permission,
test_set_permission = _ref2$test_set_permis === void 0 ? false : _ref2$test_set_permis;
var opt = {
isTheoretical: isTheoretical,
onFontSizeChange: onFontSizeChange,
cmFontSize: cmFontSize,
cmCodeMode: cmCodeMode,
onCodeModeChange: onCodeModeChange,
tabToSpace: tabToSpace,
onTabToSpace: onTabToSpace,
autoFormat: autoFormat,
onAutoFormat: onAutoFormat,
formatDocument: formatDocument,
code_editor: code_editor,
challenge: challenge
};
return /*#__PURE__*/(0,jsx_runtime.jsxs)(CodeSetting/* default */.Z, objectSpread2_default()(objectSpread2_default()({}, opt), {}, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("h3", {
children: "\u5173\u5361\u914D\u7F6E\u4FE1\u606F"
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("section", {
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
className: "file-item",
title: task_pass ? '允许学员跳关挑战' : '不允许学员跳关挑战',
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("b", {
children: "\u8DF3\u5173"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: task_pass ? '允许' : '不允许'
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
className: "file-item",
title: test_set_permission ? '允许学员通过金币解锁查看测试集内容' : '不允许学员通过金币解锁查看测试集内容',
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("b", {
children: "\u6D4B\u8BD5\u96C6\u89E3\u9501"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: test_set_permission ? '允许' : '不允许'
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
className: "file-item",
title: forbid_copy ? '不允许学员粘贴代码' : '允许学员粘贴代码',
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("b", {
children: "\u4EE3\u7801\u7C98\u8D34"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: !forbid_copy ? '允许' : '不允许'
})]
})]
})]
}));
});
// EXTERNAL MODULE: ./src/utils/urlTool.ts
var urlTool = __webpack_require__(50930);
// EXTERNAL MODULE: ./src/pages/tasks/code-repository/HorizontalTabs/index.tsx + 1 modules
var HorizontalTabs = __webpack_require__(2775);
;// CONCATENATED MODULE: ./src/pages/tasks/choose-repository/index.jsx
function choose_repository_reducer(state, action) {
switch (action.type) {
case constant/* EVAL_CHOOSE_START */.wj:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
loading: true
});
case constant/* EVAL_CHOOSE_END */.V1:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
loading: false
});
case constant/* SET_CHOOSE_ANSWERS */.OJ:
return objectSpread2_default()(objectSpread2_default()({}, state), action.payload);
case constant/* SET_EDITOR_THEME */.$Y:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
theme: action.payload
});
default:
throw new Error();
}
}
/* harmony default export */ var choose_repository = (function (_ref) {
var taskData = _ref.taskData,
moveY = _ref.moveY,
onResizeYStart = _ref.onResizeYStart,
onResizeSetContainer = _ref.onResizeSetContainer,
onEval = _ref.onEval,
lastedGetTaskInfoTime = _ref.lastedGetTaskInfoTime,
onUpdateCode = _ref.onUpdateCode,
_dispatch = _ref._dispatch;
var location = (0,_umi_production_exports.useLocation)();
var _useSearchParams = (0,_umi_production_exports.useSearchParams)(),
_useSearchParams2 = slicedToArray_default()(_useSearchParams, 1),
searchParams = _useSearchParams2[0];
var urlParams = (0,_umi_production_exports.useParams)();
var chooses = taskData.chooses,
choose_test_cases = taskData.choose_test_cases,
game = taskData.game;
var test_sets = choose_test_cases.test_sets,
challenge_chooses_count = choose_test_cases.challenge_chooses_count,
choose_correct_num = choose_test_cases.choose_correct_num,
had_submmit = choose_test_cases.had_submmit;
var getAns = (0,_react_17_0_2_react.useCallback)(function () {
var rs = [];
rs.length = challenge_chooses_count;
if (had_submmit) {
rs = test_sets.map(function (item) {
if (item.question_name === '判断题') {
return item.actual_output === '正确' ? 'true' : item.actual_output === '错误' ? 'false' : undefined;
}
return item.actual_output;
});
}
return rs;
}, [lastedGetTaskInfoTime]);
var _useReducer = (0,_react_17_0_2_react.useReducer)(choose_repository_reducer, {
loading: false,
answers: getAns(),
theme: (0,urlTool/* fromStore */.G)('cmCodeMode', 'vs-dark')
}),
_useReducer2 = slicedToArray_default()(_useReducer, 2),
state = _useReducer2[0],
dispatch = _useReducer2[1];
(0,_react_17_0_2_react.useEffect)(function () {
dispatch({
type: constant/* SET_CHOOSE_ANSWERS */.OJ,
payload: {
answers: getAns()
}
});
}, [lastedGetTaskInfoTime]);
var answers = state.answers,
loading = state.loading;
function onSetAnswers(index, value) {
answers[index] = value;
dispatch({
type: constant/* SET_CHOOSE_ANSWERS */.OJ,
payload: {
answers: answers
}
});
}
function verifyAnswer() {
var isOk = true;
for (var i = 0; i < challenge_chooses_count; i++) {
var _answers$i;
if (!answers[i] || Array.isArray(answers[i]) && !((_answers$i = answers[i]) !== null && _answers$i !== void 0 && (_answers$i = _answers$i.filter(function (e) {
return !!e;
})) !== null && _answers$i !== void 0 && _answers$i.length)) {
message/* default */.ZP.info("\u8BF7\u5148\u7ED9\u7B2C".concat(i + 1, "\u9898\u9009\u62E9\u7B54\u6848\uFF01"));
isOk = false;
break;
}
}
return isOk;
}
function onRun() {
return _onRun.apply(this, arguments);
}
function _onRun() {
_onRun = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
var _taskData$challenge, extraParams, ip, response;
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
if (!verifyAnswer()) {
_context.next = 12;
break;
}
dispatch({
type: constant/* EVAL_CHOOSE_START */.wj
});
extraParams = urlParams.courseId && urlParams.homeworkId ? {
homework_common_id: urlParams.homeworkId
} : {};
if (!(searchParams.get("ip_limit") === 'inner' || searchParams.get("ip_bind") === "true")) {
_context.next = 7;
break;
}
_context.next = 6;
return (0,Exercise_ip/* findLocalIp */.y)({
ip_limit: searchParams.get("ip_limit"),
ip_bind: searchParams.get("ip_bind") === "true" ? true : false,
ip_bind_type: searchParams.get("ip_bind_type") === "true" ? true : false
});
case 6:
ip = _context.sent;
case 7:
_context.next = 9;
return (0,service/* evalateChooseGame */.zl)(game.identifier, objectSpread2_default()({
answer: answers,
challenge_id: taskData === null || taskData === void 0 || (_taskData$challenge = taskData.challenge) === null || _taskData$challenge === void 0 ? void 0 : _taskData$challenge.id,
subject_id: searchParams.get("subject_id") || '',
question_id: searchParams.get("questionId"),
exercise_id: searchParams.get("exercisesId"),
competition_entry_id: searchParams.get("competition_entry_id"),
ip: ip
}, extraParams));
case 9:
response = _context.sent;
onEval(response);
dispatch({
type: constant/* EVAL_CHOOSE_END */.V1
});
case 12:
case "end":
return _context.stop();
}
}, _callee);
}));
return _onRun.apply(this, arguments);
}
var codeAreaHeight = moveY ? "".concat(moveY - 54, "px") : '70%';
var testSetHeight = "calc(100% - 3px - 51px - ".concat(codeAreaHeight, ")");
var _useState = (0,_react_17_0_2_react.useState)(false),
_useState2 = slicedToArray_default()(_useState, 2),
isResizeLarge = _useState2[0],
setIsResizeLarge = _useState2[1];
var _useState3 = (0,_react_17_0_2_react.useState)(false),
_useState4 = slicedToArray_default()(_useState3, 2),
showEditorSetting = _useState4[0],
setShowEditorSetting = _useState4[1];
var tpiCodeSettingOption = {
isTheoretical: true,
//理论题仅展示显示模式
cmCodeMode: state.theme,
onCodeModeChange: function onCodeModeChange(value) {
dispatch({
type: constant/* SET_EDITOR_THEME */.$Y,
payload: value
});
(0,urlTool/* toStore */.t)('cmCodeMode', value);
}
};
var actionBarOption = {
isResizeLarge: isResizeLarge,
onRightFullHandler: onRightFullHandler,
onShowCodeSetting: onShowCodeSetting,
allBreakPointValue: {},
tab_type: 1,
code_hidden: true,
isTheoretical: true
};
function onRightFullHandler() {
setIsResizeLarge(!isResizeLarge);
if ((0,fullscreen/* IsFull */.vp)()) {
(0,fullscreen/* exitFull */.BU)();
} else {
(0,fullscreen/* requestFullScreen */.Dj)(document.body);
}
}
function onShowCodeSetting() {
setShowEditorSetting(!showEditorSetting);
}
return /*#__PURE__*/(0,jsx_runtime.jsxs)(_react_17_0_2_react.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: choose_repositorymodules['code-area-container'],
style: {
height: codeAreaHeight
},
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
align: "middle",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
style: {
color: "#8b9399",
paddingLeft: '20px',
fontSize: "16px"
},
children: "\u9898\u76EE"
}), /*#__PURE__*/(0,jsx_runtime.jsx)(HorizontalTabs/* default */.Z, {}), /*#__PURE__*/(0,jsx_runtime.jsx)(action_bar, objectSpread2_default()({}, actionBarOption))]
}), /*#__PURE__*/(0,jsx_runtime.jsx)(topics, {
chooses: chooses,
answers: answers,
onSetAnswers: onSetAnswers,
bgColor: state.theme === 'vs-dark' ? '#1E1E1E' : "#fff"
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: choose_repositorymodules['resize-y-bar'],
onMouseDown: onResizeYStart,
draggable: false,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-guangbiao",
draggable: false
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: choose_repositorymodules['test-set-container'],
style: {
height: testSetHeight
},
children: loading ? /*#__PURE__*/(0,jsx_runtime.jsx)(Spinner/* default */.Z, {}) : /*#__PURE__*/(0,jsx_runtime.jsx)(test_cast_list, {
had_submmit: had_submmit,
moveY: moveY,
onResizeSetContainer: onResizeSetContainer,
test_sets: test_sets,
challenge_chooses_count: challenge_chooses_count,
choose_correct_num: choose_correct_num
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: choose_repositorymodules['action-container'],
children: /*#__PURE__*/(0,jsx_runtime.jsx)(footer_bar, objectSpread2_default()(objectSpread2_default()({
onUpdateCode: onUpdateCode
}, taskData), {}, {
loading: loading,
onRun: onRun,
dispatch: _dispatch
}))
}), /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, {
children: /*#__PURE__*/(0,jsx_runtime.jsx)(drawer/* default */.Z, {
rootClassName: choose_repositorymodules['setting-drawer'],
title: null,
placement: "right",
closable: false,
open: showEditorSetting,
onClose: function onClose() {
return setShowEditorSetting(false);
},
children: /*#__PURE__*/(0,jsx_runtime.jsx)(components_tpi_code_setting, objectSpread2_default()({}, tpiCodeSettingOption))
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(components_TpiDescIcon, {
desc: /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
value: taskData === null || taskData === void 0 ? void 0 : taskData.challenge.task_pass
}),
visible: isResizeLarge
})]
});
});
// EXTERNAL MODULE: ./src/pages/Demo/index.tsx + 1 modules
var Demo = __webpack_require__(84399);
;// CONCATENATED MODULE: ./src/pages/tasks/evaluate-result/index.less
// extracted by mini-css-extract-plugin
;// CONCATENATED MODULE: ./src/pages/tasks/evaluate-result/passpart.png
var passpart_namespaceObject = "data:image/png;base64,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";
;// CONCATENATED MODULE: ./src/pages/tasks/evaluate-result/passall.png
var passall_namespaceObject = "data:image/png;base64,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";
;// CONCATENATED MODULE: ./src/pages/tasks/evaluate-result/empiricgreen.png
var empiricgreen_namespaceObject = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAASCAYAAABSO15qAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjNEMUNCRTZCNDE1MzExRThBREM4QUVGRUEwQjY3M0FFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjNEMUNCRTZDNDE1MzExRThBREM4QUVGRUEwQjY3M0FFIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6M0QxQ0JFNjk0MTUzMTFFOEFEQzhBRUZFQTBCNjczQUUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6M0QxQ0JFNkE0MTUzMTFFOEFEQzhBRUZFQTBCNjczQUUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6xcnMrAAABN0lEQVR42qzTsUtCURTH8fskisZoa4ogcGhpcYuW+gsk+icyGiyEoNVB0i3EWYJwaG2Koj+gBiEqqIasRQlCHCJ8fU+cB4fLldS68BHO755zeQ/vi7L3q4vOuRMsu9HWNTZT/NTHGHY6U5cDMm78lUm5P65/OaDtZXsoB3or2PWythxQ9cInFHBrsjvNHr3eqhxQxIsJS5jAlsl29GlLJpOZooQ979HmsY9zHOMUZ8hjwfTJTC/iIkkR4RIruvmJJXQxhVhfaVr3ryCDcfIvSMM2+lpP4ghveMahGe5rb+z/jTeomXoNG1hH1uQ17f1ZySskaxYPmNH6FR9Ia/0O+XY6gy6SbByYes4MO93r/HYT5V40A3kzcGeCB3whF8hzujfUt3CBhqkbmo30McnFaan8oKZvAQYAarBDzHlRpVIAAAAASUVORK5CYII=";
;// CONCATENATED MODULE: ./src/pages/tasks/evaluate-result/index.jsx
//showViewResult 当游戏类型是显示描绘图片或web显示效果 并且编译通过时,增加查看效果
/* harmony default export */ var evaluate_result = (function (_ref) {
var star = _ref.star,
gold = _ref.gold,
experience = _ref.experience,
next_game = _ref.next_game,
next_shixun = _ref.next_shixun,
subject_done = _ref.subject_done,
onCloseResult = _ref.onCloseResult,
isPictureView = _ref.isPictureView,
webDisplayUrl = _ref.webDisplayUrl,
onShowPictureView = _ref.onShowPictureView,
history = _ref.history,
onStarChange = _ref.onStarChange;
var _useSearchParams = (0,_umi_production_exports.useSearchParams)(),
_useSearchParams2 = slicedToArray_default()(_useSearchParams, 1),
searchParams = _useSearchParams2[0];
var params = (0,_umi_production_exports.useParams)();
function onNext() {
onCloseResult();
console.log('`/tasks/${next_game}${location.search}`', "/tasks/".concat(next_game).concat(location.search));
// history.push(`/tasks/${next_game}${location.search}`);
if (params.courseId && params.homeworkId) {
setTimeout(function () {
window.location.href = "/tasks/".concat(params.courseId, "/").concat(params.homeworkId, "/").concat(next_game).concat(location.search);
}, 300);
return;
}
setTimeout(function () {
window.location.href = "/tasks/".concat(next_game).concat(location.search);
}, 300);
}
var location = (0,_umi_production_exports.useLocation)();
// console.log('---------', had_done);
return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "evaluate-result-container",
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "evaluate-result-body",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("a", {
className: "close-line",
onClick: onCloseResult,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-roundclose",
style: {
fontSize: '32px'
}
})
}), !searchParams.get("subject_id") && /*#__PURE__*/(0,jsx_runtime.jsx)("img", {
width: 652,
src: next_game || !subject_done ? passpart_namespaceObject : passall_namespaceObject,
alt: "\u901A\u5173"
}), searchParams.get("subject_id") && /*#__PURE__*/(0,jsx_runtime.jsx)("img", {
width: 652,
src: subject_done ? passall_namespaceObject : passpart_namespaceObject,
alt: "\u901A\u5173"
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "gold-and-experience",
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
className: "flex-container",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "gold-circle"
}), " +", gold]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
className: "flex-container",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
src: empiricgreen_namespaceObject
}), " +", experience]
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("footer", {
children: [!star ? /*#__PURE__*/(0,jsx_runtime.jsxs)(_react_17_0_2_react.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", {
className: "star-tip",
children: "\u60A8\u7684\u8BC4\u4EF7\u51B3\u5B9A\u8001\u5E08\u7684\u6C5F\u6E56\u5730\u4F4D~"
}), /*#__PURE__*/(0,jsx_runtime.jsx)(rate/* default */.Z, {
className: "star-tip-rate",
defaultValue: 0,
allowClear: false,
onChange: onStarChange
})]
}) : null, /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "tc",
children: [next_game ? /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
onClick: onNext,
children: "\u4E0B\u4E00\u5173"
}) : /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
onClick: onCloseResult,
children: "\u5B8C\u6210"
}), !!next_shixun && /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
onClick: function onClick() {
toShixun(next_shixun, null, false, searchParams.get("subject_id"));
},
children: "\u8FDB\u5165\u4E0B\u4E00\u4E2A\u5B9E\u8BAD"
}), isPictureView ? /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
onClick: function onClick() {
onShowPictureView();
onCloseResult();
},
children: "\u67E5\u770B\u6548\u679C"
}) : null, webDisplayUrl ? /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
target: "_blank",
href: webDisplayUrl,
children: "\u67E5\u770B\u6548\u679C"
}) : null]
}), searchParams.get("subject_id") && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "tc mt15",
children: [next_shixun && !next_game && "已通过本实训的最后一个关卡,可以进入下一个实训中进行实战", subject_done && "恭喜您,本实践课程的最后一个实训已通关"]
})]
})]
})
});
});
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/notification/index.js + 5 modules
var notification = __webpack_require__(28909);
// EXTERNAL MODULE: ./src/pages/tasks/xterm-panel/index.jsx + 1 modules
var xterm_panel = __webpack_require__(61675);
// EXTERNAL MODULE: ./src/components/PreviewAll/index.tsx + 1 modules
var PreviewAll = __webpack_require__(49714);
;// CONCATENATED MODULE: ./src/pages/tasks/code-repository/code-area/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var code_areamodules = ({"code-area-container":"code-area-container___bjERn","only-view":"only-view___LP5ZN","frame":"frame___k7Y9h"});
;// CONCATENATED MODULE: ./src/pages/tasks/code-repository/code-area/notEditablePath.png
var notEditablePath_namespaceObject = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIsAAABuCAYAAAAXkODOAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjY4Qjc0NjM3NTI4RTExRThBQTE0QjdDODQ4MEFBMzdGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjY4Qjc0NjM4NTI4RTExRThBQTE0QjdDODQ4MEFBMzdGIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjhCNzQ2MzU1MjhFMTFFOEFBMTRCN0M4NDgwQUEzN0YiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjhCNzQ2MzY1MjhFMTFFOEFBMTRCN0M4NDgwQUEzN0YiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6LemY3AAAa7klEQVR42uxd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";
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/spin/index.js + 1 modules
var spin = __webpack_require__(71418);
;// CONCATENATED MODULE: ./src/pages/tasks/code-repository/code-area/index.jsx
/* harmony default export */ var code_area = (function (_ref) {
var content = _ref.content,
language = _ref.language,
theme = _ref.theme,
onCodeChange = _ref.onCodeChange,
onSave = _ref.onSave,
monacoOptions = _ref.monacoOptions,
isEditPath = _ref.isEditPath,
currentPath = _ref.currentPath,
code_edit_permission = _ref.code_edit_permission,
onUpdateCode = _ref.onUpdateCode,
forbidCopy = _ref.forbidCopy,
filename = _ref.filename,
file_type = _ref.file_type,
taskData = _ref.taskData,
itemData = _ref.itemData,
codeLoading = _ref.codeLoading,
breakPointValue = _ref.breakPointValue,
setBreakPointValue = _ref.setBreakPointValue,
highlightLine = _ref.highlightLine,
openBreakPoint = _ref.openBreakPoint,
startDebug = _ref.startDebug,
unique = _ref.unique,
allBreakPointValue = _ref.allBreakPointValue,
setAllBreakPointValue = _ref.setAllBreakPointValue;
var params = (0,_umi_production_exports.useParams)();
var timeRef = (0,_react_17_0_2_react.useRef)();
var saveData = (0,_react_17_0_2_react.useRef)({
unique: unique,
breakPointValue: breakPointValue,
currentPath: currentPath,
startDebug: startDebug,
allBreakPointValue: allBreakPointValue
});
var _useState = (0,_react_17_0_2_react.useState)(true),
_useState2 = slicedToArray_default()(_useState, 2),
loading = _useState2[0],
setLoading = _useState2[1];
var _useState3 = (0,_react_17_0_2_react.useState)('正在加载中'),
_useState4 = slicedToArray_default()(_useState3, 2),
loadingText = _useState4[0],
setLoadingText = _useState4[1];
var _useState5 = (0,_react_17_0_2_react.useState)({}),
_useState6 = slicedToArray_default()(_useState5, 2),
data = _useState6[0],
setData = _useState6[1];
console.log('content:', {
value: content,
language: language,
theme: theme,
onChange: onCodeChange,
onSave: onSave,
forbidCopy: forbidCopy,
options: monacoOptions,
filename: filename,
file_type: file_type
});
var tab_type = itemData.tab_type,
shixun_environment_id = itemData.shixun_environment_id,
index_tab = itemData.index_tab;
(0,_react_17_0_2_react.useEffect)(function () {
saveData.current.unique = unique;
saveData.current.breakPointValue = breakPointValue;
saveData.current.currentPath = currentPath;
saveData.current.startDebug = startDebug;
saveData.current.allBreakPointValue = allBreakPointValue;
}, [unique, breakPointValue, currentPath, startDebug, allBreakPointValue]);
(0,_react_17_0_2_react.useEffect)(function () {
if (startDebug) {
setBreakPointValue([]);
getDebugInfo();
} else if (openBreakPoint) {
setBreakPointValue((allBreakPointValue === null || allBreakPointValue === void 0 ? void 0 : allBreakPointValue[currentPath]) || []);
}
}, [currentPath]);
(0,_react_17_0_2_react.useEffect)(function () {
window.addEventListener('message', messageData);
var unSub1 = mediator/* default */.Z.subscribe('vnc-reseting', vncReset);
var unSub2 = mediator/* default */.Z.subscribe('vnc-reseting-done', vncResetDone);
return function () {
unSub1();
unSub2();
window.removeEventListener('message', messageData);
};
}, []);
(0,_react_17_0_2_react.useEffect)(function () {
if (tab_type === 1) {
clearInterval(timeRef.current);
timeRef.current = setInterval(function () {
onUpdateCode();
}, 1 * 60 * 1000);
return function () {
clearInterval(timeRef.current);
};
}
});
var getDebugInfo = /*#__PURE__*/function () {
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
var _taskData$myshixun;
var res;
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
if (saveData.current.unique) {
_context.next = 2;
break;
}
return _context.abrupt("return");
case 2:
_context.next = 4;
return (0,utils_fetch/* default */.ZP)("/api/myshixuns/".concat((_taskData$myshixun = taskData.myshixun) === null || _taskData$myshixun === void 0 ? void 0 : _taskData$myshixun.identifier, "/code_debugs/current_info.json"), {
method: 'post',
body: {
unique: saveData.current.unique
}
});
case 4:
res = _context.sent;
if ((res === null || res === void 0 ? void 0 : res.status) === 0) {
mediator/* default */.Z.publish('active-debug-data', (res === null || res === void 0 ? void 0 : res.data) || {});
}
case 6:
case "end":
return _context.stop();
}
}, _callee);
}));
return function getDebugInfo() {
return _ref2.apply(this, arguments);
};
}();
var vncReset = function vncReset() {
setData({});
setLoadingText('正在重置中');
setLoading(true);
};
var vncResetDone = function vncResetDone(res) {
setData(res === null || res === void 0 ? void 0 : res.data);
setLoading(false);
};
var messageData = function messageData(data) {
switch (data.data) {
case 'updatecode':
// onUpdateCode(1);
break;
case 'vsLoadingDone':
setLoading(false);
break;
}
};
var getWindowVnc = /*#__PURE__*/function () {
var _ref3 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee4() {
var _taskData$myshixun2, _res$data;
var res, _res$data2, _res$data3;
return regeneratorRuntime_default()().wrap(function _callee4$(_context4) {
while (1) switch (_context4.prev = _context4.next) {
case 0:
_context4.next = 2;
return (0,service/* startInit */.sA)((_taskData$myshixun2 = taskData.myshixun) === null || _taskData$myshixun2 === void 0 ? void 0 : _taskData$myshixun2.identifier, {
shixun_environment_id: shixun_environment_id,
tab_type: tab_type
});
case 2:
res = _context4.sent;
if (!(res !== null && res !== void 0 && (_res$data = res.data) !== null && _res$data !== void 0 && (_res$data = _res$data.data_list) !== null && _res$data !== void 0 && _res$data.length)) {
_context4.next = 6;
break;
}
mediator/* default */.Z.publish('pod-restrict-data', {
identifier: res === null || res === void 0 || (_res$data2 = res.data) === null || _res$data2 === void 0 ? void 0 : _res$data2.identifier,
data_list: res === null || res === void 0 || (_res$data3 = res.data) === null || _res$data3 === void 0 ? void 0 : _res$data3.data_list
});
return _context4.abrupt("return");
case 6:
if (!((res === null || res === void 0 ? void 0 : res.status) === -3)) {
_context4.next = 8;
break;
}
return _context4.abrupt("return", new Promise( /*#__PURE__*/function () {
var _ref4 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3(resolve, reject) {
return regeneratorRuntime_default()().wrap(function _callee3$(_context3) {
while (1) switch (_context3.prev = _context3.next) {
case 0:
es_modal/* default */.Z.confirm({
content: '检测到您已经开启了其他实验环境,请先关闭环境后,再连接',
okText: '立即关闭',
cancelText: '稍后关闭',
onOk: function () {
var _onOk = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2() {
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
clearTimeout(timeout.current);
setPercent(0);
_context2.next = 4;
return closeWindowsVnc(params.taskId, res === null || res === void 0 ? void 0 : res.message);
case 4:
setLinkNum(linkNum + 1);
return _context2.abrupt("return");
case 6:
case "end":
return _context2.stop();
}
}, _callee2);
}));
function onOk() {
return _onOk.apply(this, arguments);
}
return onOk;
}()
});
case 1:
case "end":
return _context3.stop();
}
}, _callee3);
}));
return function (_x, _x2) {
return _ref4.apply(this, arguments);
};
}()));
case 8:
if (!((res === null || res === void 0 ? void 0 : res.status) === -1)) {
_context4.next = 10;
break;
}
throw new String(res === null || res === void 0 ? void 0 : res.message);
case 10:
if (!((res === null || res === void 0 ? void 0 : res.status) === 0)) {
_context4.next = 15;
break;
}
setData(res === null || res === void 0 ? void 0 : res.data);
mediator/* default */.Z.publish('send-tabs-result-data', objectSpread2_default()(objectSpread2_default()({}, res === null || res === void 0 ? void 0 : res.data), {}, {
index_tab: index_tab
}));
mediator/* default */.Z.publish('update-windows-time', res === null || res === void 0 ? void 0 : res.data);
return _context4.abrupt("return", res);
case 15:
case "end":
return _context4.stop();
}
}, _callee4);
}));
return function getWindowVnc() {
return _ref3.apply(this, arguments);
};
}();
(0,_react_17_0_2_react.useEffect)(function () {
if (tab_type === 2) getWindowVnc();
}, [tab_type]);
var handleBreakPointValue = /*#__PURE__*/function () {
var _ref5 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee5() {
var k,
_taskData$myshixun3,
_xor,
res,
_res$data4,
_args5 = arguments;
return regeneratorRuntime_default()().wrap(function _callee5$(_context5) {
while (1) switch (_context5.prev = _context5.next) {
case 0:
k = _args5.length > 0 && _args5[0] !== undefined ? _args5[0] : [];
if (!saveData.current.startDebug) {
_context5.next = 8;
break;
}
_context5.next = 4;
return (0,utils_fetch/* default */.ZP)("/api/myshixuns/".concat((_taskData$myshixun3 = taskData.myshixun) === null || _taskData$myshixun3 === void 0 ? void 0 : _taskData$myshixun3.identifier, "/code_debugs/set_break_point.json"), {
method: 'post',
body: {
file_name: saveData.current.currentPath,
line_number: (_xor = (0,lodash.xor)(saveData.current.breakPointValue, k)) === null || _xor === void 0 ? void 0 : _xor[0],
type: k.length > saveData.current.breakPointValue.length ? 1 : 0,
unique: saveData.current.unique
}
});
case 4:
res = _context5.sent;
if ((res === null || res === void 0 ? void 0 : res.status) === 0) {
setAllBreakPointValue(objectSpread2_default()(objectSpread2_default()({}, saveData.current.allBreakPointValue), {}, defineProperty_default()({}, saveData.current.currentPath, (res === null || res === void 0 || (_res$data4 = res.data) === null || _res$data4 === void 0 || (_res$data4 = _res$data4.breakpoints) === null || _res$data4 === void 0 ? void 0 : _res$data4[saveData.current.currentPath]) || [])));
mediator/* default */.Z.publish('active-debug-data', (res === null || res === void 0 ? void 0 : res.data) || {});
}
_context5.next = 10;
break;
case 8:
setAllBreakPointValue(objectSpread2_default()(objectSpread2_default()({}, saveData.current.allBreakPointValue), {}, defineProperty_default()({}, saveData.current.currentPath, k)));
setBreakPointValue(k);
case 10:
case "end":
return _context5.stop();
}
}, _callee5);
}));
return function handleBreakPointValue() {
return _ref5.apply(this, arguments);
};
}();
return /*#__PURE__*/(0,jsx_runtime.jsx)(_react_17_0_2_react.Fragment, {
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: code_areamodules['code-area-container'],
style: {
background: theme == 'vs' ? '#fff' : '#1E1E1E'
},
children: [tab_type == 1 && /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
children: [isEditPath || code_edit_permission ? null : /*#__PURE__*/(0,jsx_runtime.jsx)("img", {
className: code_areamodules['only-view'],
src: notEditablePath_namespaceObject,
alt: "only-view"
}), codeLoading ? /*#__PURE__*/(0,jsx_runtime.jsx)(Spinner/* default */.Z, {
message: "\u6B63\u5728\u52A0\u8F7D\u4EE3\u7801",
style: {
color: '#0152d9'
}
}) : /*#__PURE__*/(0,jsx_runtime.jsx)(PreviewAll/* default */.Z, {
filename: filename,
type: file_type === 'office' ? 'download' : file_type,
data: content,
style: {
position: 'absolute',
zIndex: 1
},
monacoEditor: {
value: content,
language: language,
theme: theme,
onChange: onCodeChange,
onSave: onSave,
forbidCopy: forbidCopy,
options: objectSpread2_default()(objectSpread2_default()({}, monacoOptions), {}, {
fixedOverflowWidgets: true
}),
insertSpaces: monacoOptions.insertSpaces,
breakPointValue: breakPointValue,
highlightLine: highlightLine,
openBreakPoint: openBreakPoint,
onBreakPoint: handleBreakPointValue
}
})]
}), tab_type === 2 && /*#__PURE__*/(0,jsx_runtime.jsx)(spin/* default */.Z, {
spinning: loading,
tip: loadingText,
wrapperClassName: code_areamodules.frame,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("iframe", {
src: data === null || data === void 0 ? void 0 : data.link_url
})
})]
})
});
});
;// CONCATENATED MODULE: ./src/pages/tasks/choose-repository/test-cast-list/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var test_cast_listmodules = ({"choose-game-item":"choose-game-item___RYHdh","output-title-container":"output-title-container___P2NjC","output-title":"output-title___ZQJkv","test-case-list":"test-case-list___CYyHP","test-header":"test-header___fSQRn","active":"active___bY0Dq","active-debug":"active-debug___oeXMX","test-result":"test-result___DQXYd","markdown-body":"markdown-body____rqU_","success":"success___iuAG3","failer":"failer___axTtk","count":"count___B_kHY","test-case-item":"test-case-item___E3CU9","case-header":"case-header___xppld","iconfont":"iconfont___LO1VN","description":"description___j4efR","item-desc":"item-desc___ivltA","show":"show___ntNdM","item-tip":"item-tip___ETPck","arrow-down":"arrow-down___oQMCK","test-title":"test-title___mf3Df","arrow-right":"arrow-right___C6f8W","case-info":"case-info___yX5kK","test-case-run-header":"test-case-run-header___iHZR5","test-case-run-wrp":"test-case-run-wrp___qVT1y","diff-panel-container":"diff-panel-container___OEdXu","line-break":"line-break___Ww59n","empty":"empty___izbJX","alert":"alert___jv5_R","inputs":"inputs___bjeNr"});
;// CONCATENATED MODULE: ./src/pages/tasks/code-repository/html-code-view/index.jsx
var linkRegex = /(?:[\n\r\s]*?)(?:<\/link>)*/im;
var scriptRegex = /