(self["webpackChunk"] = self["webpackChunk"] || []).push([[77460,4977,14711,17531],{
/***/ 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;
})();
/***/ }),
/***/ 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';
/***/ }),
/***/ 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);
/***/ }),
/***/ 92997:
/*!******************************************************!*\
!*** ./src/components/Spinner/index.tsx + 1 modules ***!
\******************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
Z: function() { return /* binding */ Spinner; }
});
// EXTERNAL MODULE: ./src/.umi-production/exports.ts + 15 modules
var _umi_production_exports = __webpack_require__(8931);
;// CONCATENATED MODULE: ./src/components/Spinner/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var Spinnermodules = ({"ldsRing":"ldsRing___mpBZC","idsRingWrapper":"idsRingWrapper___Of9_n","ldsring":"ldsring___o0w2t"});
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js
var jsx_runtime = __webpack_require__(37712);
;// CONCATENATED MODULE: ./src/components/Spinner/index.tsx
/* harmony default export */ var Spinner = (function (_ref) {
var message = _ref.message,
className = _ref.className,
children = _ref.children,
_ref$style = _ref.style,
style = _ref$style === void 0 ? {} : _ref$style;
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "custom-spinner ".concat(Spinnermodules.idsRingWrapper, " ").concat(className),
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Spinnermodules.ldsRing,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {})]
}), message ? /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
style: style,
children: message
}) : null, children, /*#__PURE__*/(0,jsx_runtime.jsx)(_umi_production_exports.Outlet, {})]
});
});
/***/ }),
/***/ 67394:
/*!*************************************************************!*\
!*** ./src/components/SplitContainer/index.tsx + 1 modules ***!
\*************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
Z: function() { return /* binding */ SplitContainer; }
});
// 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/SplitContainer/index.less
// extracted by mini-css-extract-plugin
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js
var jsx_runtime = __webpack_require__(37712);
;// CONCATENATED MODULE: ./src/components/SplitContainer/index.tsx
/* harmony default export */ var SplitContainer = (function (_ref) {
var _ref$defaultX = _ref.defaultX,
defaultX = _ref$defaultX === void 0 ? '40%' : _ref$defaultX,
leftChild = _ref.leftChild,
rightChild = _ref.rightChild,
className = _ref.className,
_ref$hideResize = _ref.hideResize,
hideResize = _ref$hideResize === void 0 ? false : _ref$hideResize;
var _useState = (0,_react_17_0_2_react.useState)(defaultX),
_useState2 = slicedToArray_default()(_useState, 2),
moveX = _useState2[0],
setMoveX = _useState2[1];
var resizeXFlag = (0,_react_17_0_2_react.useRef)();
function onResizeStart() {
resizeXFlag.current = true;
}
(0,_react_17_0_2_react.useEffect)(function () {
function onMove(e) {
if (resizeXFlag.current) {
setMoveX(e.pageX);
}
}
function onMouseUp() {
resizeXFlag.current = false;
}
window.addEventListener('mousemove', onMove);
window.addEventListener('mouseup', onMouseUp);
return function () {
window.removeEventListener('mousemove', onMove);
window.removeEventListener('mouseup', onMouseUp);
};
}, []);
var leftPanelWidth = typeof moveX === 'number' && moveX !== 0.01 ? "".concat(moveX, "px") : defaultX;
var rightPanelWidth = "calc(100% - ".concat(hideResize ? "0px" : "4px", " - ").concat(leftPanelWidth, ")");
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "split-panel-container ".concat(className),
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("section", {
style: {
width: leftPanelWidth,
display: moveX === 0.01 ? 'none' : ''
},
children: leftChild
}), /*#__PURE__*/(0,jsx_runtime.jsx)("section", {
className: "resize-x-bar",
onMouseDown: onResizeStart,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
className: "btn-resize",
children: /*#__PURE__*/(0,jsx_runtime.jsx)("svg", {
width: "16",
height: "13",
viewBox: "0 0 16 13",
children: /*#__PURE__*/(0,jsx_runtime.jsx)("path", {
d: "M12.245 7.53H5.647v1.882h6.598v2.823L16 8.471l-3.755-3.765V7.53zM10.353 4.706H3.755v2.823L0 3.765 3.755 0v2.824h6.598v1.882z"
})
})
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("section", {
style: {
width: rightPanelWidth
},
children: rightChild
})]
});
});
/***/ }),
/***/ 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);
/***/ }),
/***/ 66152:
/*!********************************************!*\
!*** ./src/components/Timepiece/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_slicedToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __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_0___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_0__);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ 59301);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react/jsx-runtime */ 37712);
var completionFunc = function completionFunc(value) {
if (String(value).length === 1) return "0".concat(value);
return value;
};
var Timepiece = function Timepiece(_ref) {
var _ref$className = _ref.className,
className = _ref$className === void 0 ? '' : _ref$className,
onChange = _ref.onChange,
_ref$defaultValue = _ref.defaultValue,
defaultValue = _ref$defaultValue === void 0 ? 0 : _ref$defaultValue;
var _useState = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(defaultValue),
_useState2 = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_slicedToArray_js__WEBPACK_IMPORTED_MODULE_0___default()(_useState, 2),
remainTime = _useState2[0],
setTime = _useState2[1];
(0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {
var timer = setTimeout(function () {
setTime(remainTime + 1000);
}, 1000);
onChange(remainTime + 1000);
return function () {
clearInterval(timer);
};
}, [remainTime]);
var remainHour = parseInt(remainTime / (60 * 60000)) || '00';
var remainMinutes = parseInt(remainTime % (60 * 60000) / 60000) || '00';
var remainSeconds = parseInt(remainTime % 60000 / 1000) || '00';
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)("div", {
className: className,
children: [completionFunc(remainHour), ":", completionFunc(remainMinutes), ":", completionFunc(remainSeconds)]
});
};
/* harmony default export */ __webpack_exports__.Z = (Timepiece);
/***/ }),
/***/ 17531:
/*!*********************************************************!*\
!*** ./src/components/Video/Play/index.jsx + 1 modules ***!
\*********************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
Z: function() { return /* binding */ Play; }
});
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@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/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/_react@17.0.2@react/index.js
var _react_17_0_2_react = __webpack_require__(59301);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/message/index.js + 4 modules
var message = __webpack_require__(8591);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/dropdown/index.js + 1 modules
var dropdown = __webpack_require__(38854);
// EXTERNAL MODULE: ./node_modules/_flv.js@1.5.0@flv.js/src/flv.js + 38 modules
var flv = __webpack_require__(36453);
// EXTERNAL MODULE: ./node_modules/_hls.js@1.5.7@hls.js/dist/hls.mjs
var dist_hls = __webpack_require__(70169);
// EXTERNAL MODULE: ./src/utils/authority.ts
var authority = __webpack_require__(71912);
// 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/fullscreen.ts
var fullscreen = __webpack_require__(2434);
;// CONCATENATED MODULE: ./src/components/Video/Play/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var Playmodules = ({"watermark":"watermark___hNYlv","videovideo":"videovideo___ovOkV","animate__loop":"animate__loop___mvL6s","upDown":"upDown___SlgHv","container":"container___g1WYG","video-container":"video-container___XPkWR","video-controls":"video-controls___to0Zq","hide":"hide___NA3DV","video-progress":"video-progress___gqHsd","seek":"seek___iZHBm","seek-tooltip":"seek-tooltip___uWyXx","bottom-controls":"bottom-controls___uoIBm","left-controls":"left-controls___mBEx4","right-controls":"right-controls___e9L6r","rateOverlay":"rateOverlay___HHBWe","controlText":"controlText___M_BWR","volume-controls":"volume-controls___fa3mE","fullscreen-button":"fullscreen-button___ur0es","fullscreen-button1":"fullscreen-button1___rfaXm","pip-button":"pip-button___GFO8W","playback-animation":"playback-animation___ndURq","volume":"volume___OTmpP","hidden":"hidden___o7GkT"});
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js
var jsx_runtime = __webpack_require__(37712);
;// CONCATENATED MODULE: ./src/components/Video/Play/index.jsx
function formatTime(timeInSeconds) {
if (isNaN(timeInSeconds)) {
return {
minutes: '00',
seconds: '00'
};
}
var result = new Date(timeInSeconds * 1000).toISOString().substr(11, 8);
return {
hour: result.substr(0, 2),
minutes: result.substr(3, 2),
seconds: result.substr(6, 2)
};
}
Object.defineProperty(HTMLMediaElement.prototype, 'playing', {
get: function get() {
return !!(this.currentTime > 0 && !this.paused && !this.ended && this.readyState > 2);
}
});
function compareNumbers(a, b) {
return a - b;
}
function getTotalEffectTime(pos) {
pos.sort(compareNumbers);
var sum = 0;
for (var i = 0; i < pos.length - 1; i++) {
var v = Math.abs(pos[i + 1] - pos[i]);
if (v < 21) {
sum += v;
}
}
return sum;
}
var regex = /(android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini)/i;
//接口文档 https://www.showdoc.cc/educoder?page_id=4029884447803706
/* harmony default export */ var Play = (/*#__PURE__*/(0,_react_17_0_2_react.forwardRef)(function (_ref, ref) {
var _src, _src2;
var allow_skip = _ref.allow_skip,
src = _ref.src,
toLog = _ref.toLog,
videoId = _ref.videoId,
logWatchHistory = _ref.logWatchHistory,
_ref$courseId = _ref.courseId,
courseId = _ref$courseId === void 0 ? null : _ref$courseId,
startTime = _ref.startTime,
_ref$handlePause = _ref.handlePause,
handlePause = _ref$handlePause === void 0 ? function () {} : _ref$handlePause,
_ref$handlePlay = _ref.handlePlay,
handlePlay = _ref$handlePlay === void 0 ? function () {} : _ref$handlePlay,
_ref$handlePlayEnded = _ref.handlePlayEnded,
handlePlayEnded = _ref$handlePlayEnded === void 0 ? function () {} : _ref$handlePlayEnded,
_ref$autoPlay = _ref.autoPlay,
autoPlay = _ref$autoPlay === void 0 ? false : _ref$autoPlay,
_ref$onPlayEnded = _ref.onPlayEnded,
onPlayEnded = _ref$onPlayEnded === void 0 ? function () {} : _ref$onPlayEnded;
src = (_src = src) === null || _src === void 0 ? void 0 : _src.replace('http://', 'https://');
var suf = (_src2 = src) === null || _src2 === void 0 || (_src2 = _src2.split('.')) === null || _src2 === void 0 ? void 0 : _src2.pop();
var isFlv = suf === 'flv';
var el = (0,_react_17_0_2_react.useRef)();
var watermarkRef = (0,_react_17_0_2_react.useRef)();
var warpEl = (0,_react_17_0_2_react.useRef)();
var pauseIcon = (0,_react_17_0_2_react.useRef)();
var playIcon = (0,_react_17_0_2_react.useRef)();
var seekEl = (0,_react_17_0_2_react.useRef)();
var progressBarEl = (0,_react_17_0_2_react.useRef)();
var durationEl = (0,_react_17_0_2_react.useRef)();
var timeElapsedEl = (0,_react_17_0_2_react.useRef)();
var seekTooltipEl = (0,_react_17_0_2_react.useRef)();
var noMuteVolEl = (0,_react_17_0_2_react.useRef)();
var highVolEl = (0,_react_17_0_2_react.useRef)();
var lowVolEl = (0,_react_17_0_2_react.useRef)();
var volumeEl = (0,_react_17_0_2_react.useRef)();
var deviceMatch = navigator.userAgent.toLowerCase().match(regex);
var device = deviceMatch ? deviceMatch[0] : 'pc';
var firstOnPlayFlag = (0,_react_17_0_2_react.useRef)(false);
var user = (0,authority/* userInfo */.eY)();
var totalDuration = 0;
var sumTimePlayed = 0;
var lastUpdatedTime = 0;
var logId = null;
var initLog = false;
var timeTick = 20; //记录频率 默认20s
var logCount = 1;
var isLoging = false;
var isSeeking = false;
var pos = []; //播放时间点集
(0,_react_17_0_2_react.useImperativeHandle)(ref, function () {
return {
getLastUpdatedTime: function getLastUpdatedTime() {
return el.current.currentTime;
},
getDuration: function getDuration() {
return el.current.duration;
}
};
});
message/* default */.ZP.config({
maxCount: 1,
getContainer: function getContainer() {
return warpEl.current;
}
});
var log = (0,_react_17_0_2_react.useCallback)(function (callback) {
var isEnd = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
var params = {
point: el.current.currentTime
};
if (logId) {
params['log_id'] = logId;
params['watch_duration'] = getTotalEffectTime(pos); //当前观看视频时长,拖放进度条,重复的视频片段观看时,不会把重复的时长累积进来,最大时长是视频的总时长
params['total_duration'] = sumTimePlayed; //累计观看视频时长,拖放进度条,重复的视频片段观看时,重复观看时长要累积进来
} else {
if (courseId) {
params['video_id'] = parseInt(videoId, 10);
params['course_id'] = courseId;
} else {
params['video_id'] = videoId;
}
params['duration'] = totalDuration;
params['device'] = device;
}
if (isEnd) {
params['ed'] = '1';
}
function getLogId() {
return _getLogId.apply(this, arguments);
}
function _getLogId() {
_getLogId = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
var id;
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
isLoging = true;
_context.next = 3;
return logWatchHistory === null || logWatchHistory === void 0 ? void 0 : logWatchHistory(params);
case 3:
id = _context.sent;
logId = id;
isLoging = false;
if (callback) {
callback();
}
case 7:
case "end":
return _context.stop();
}
}, _callee);
}));
return _getLogId.apply(this, arguments);
}
getLogId();
}, [videoId, courseId]);
(0,_react_17_0_2_react.useEffect)(function () {
var _src3;
if (el.current) {
pauseIcon.current.style.display = 'none';
playIcon.current.style.display = 'block';
}
message/* default */.ZP.destroy();
var player = null;
if (flv/* default */.Z.isSupported && isFlv && src && ((_src3 = src) === null || _src3 === void 0 ? void 0 : _src3.indexOf('.m3u8')) < 0) {
player = flv/* default */.Z.createPlayer({
type: 'flv',
volume: 0.8,
cors: true,
url: src,
muted: false
});
if (el.current) {
player.attachMediaElement(el.current);
player.load();
}
} else {
el.current.setAttribute('src', src);
}
updateVolumeIcon();
return function () {
if (player) {
player.unload();
player.pause();
player.destroy();
player = null;
}
};
}, [el, isFlv, src]);
function playIconStatus() {
if (el.current.paused) {
pauseIcon.current.style.display = 'none';
playIcon.current.style.display = 'block';
} else {
pauseIcon.current.style.display = 'block';
playIcon.current.style.display = 'none';
}
}
function updateVolumeIcon() {
noMuteVolEl.current.style.display = 'none';
lowVolEl.current.style.display = 'none';
highVolEl.current.style.display = 'none';
if (el.current.muted || el.current.volume === 0) {
noMuteVolEl.current.style.display = 'block';
} else if (el.current.volume > 0 && el.current.volume <= 0.5) {
lowVolEl.current.style.display = 'block';
} else {
highVolEl.current.style.display = 'block';
}
}
(0,_react_17_0_2_react.useEffect)(function () {
var playButton = document.getElementById('play');
var playbackIcons = document.querySelectorAll('.playback-icons use');
function onPlay() {
handlePlay();
if (startTime && !firstOnPlayFlag.current) {
el.current.currentTime = startTime;
}
firstOnPlayFlag.current = true;
pos.push(el.current.currentTime);
if (!initLog) {
initLog = true;
if (toLog) {
log();
}
}
}
//循环播放, 累计时长不能清空
function onEnded() {
return _onEnded.apply(this, arguments);
}
function _onEnded() {
_onEnded = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2() {
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
playIconStatus();
pos.push(el.current.currentTime);
if (toLog) {
log(function () {
logId = null;
lastUpdatedTime = 0;
initLog = false;
isLoging = false;
isSeeking = false;
pos = []; //有效时长重新累计,算新的一遍
sumTimePlayed = 0;
logCount = 1;
}, true);
}
onPlayEnded();
case 4:
case "end":
return _context2.stop();
}
}, _callee2);
}));
return _onEnded.apply(this, arguments);
}
function updateProgress() {
// seekEl.current.value = Math.floor(el.current.currentTime);
// progressBarEl.current.value = Math.floor(el.current.currentTime);
seekEl.current.value = Math.round(el.current.currentTime);
progressBarEl.current.value = Math.round(el.current.currentTime);
}
function updateTimeElapsed() {
var time = formatTime(Math.round(el.current.currentTime));
timeElapsedEl.current.innerText = "".concat(time.hour > 0 ? time.hour + ':' : '').concat(time.minutes, ":").concat(time.seconds);
timeElapsedEl.current.setAttribute('datetime', "".concat(time.hour > 0 ? ' ' + time.hour + ' ' : '').concat(time.minutes, "m ").concat(time.seconds, "s"));
}
function initializeVideo() {
var videoDuration = Math.round(el.current.duration);
seekEl.current.setAttribute('max', videoDuration);
progressBarEl.current.setAttribute('max', videoDuration);
var time = formatTime(videoDuration);
durationEl.current.innerText = "".concat(time.hour > 0 ? time.hour + ':' : '').concat(time.minutes, ":").concat(time.seconds);
durationEl.current.setAttribute('datetime', "".concat(time.hour > 0 ? ' ' + time.hour + ' ' : '').concat(time.minutes, "m ").concat(time.seconds, "s"));
}
function onTimeupdate() {
try {
var videoDuration = Math.round(el.current.duration);
seekEl.current.setAttribute('max', videoDuration);
progressBarEl.current.setAttribute('max', videoDuration);
var time = formatTime(videoDuration);
durationEl.current.innerText = "".concat(time.hour > 0 ? time.hour + ':' : '').concat(time.minutes, ":").concat(time.seconds);
durationEl.current.setAttribute('datetime', "".concat(time.hour > 0 ? ' ' + time.hour + ' ' : '').concat(time.minutes, "m ").concat(time.seconds, "s"));
updateProgress();
updateTimeElapsed();
var _watermarkRef$current = watermarkRef.current.getBoundingClientRect(),
width = _watermarkRef$current.width,
height = _watermarkRef$current.height,
x = _watermarkRef$current.x,
y = _watermarkRef$current.y;
if (x < 0 || y < 0 || !width) {
// el.current.src = '';
// el.current.pause();
// message.warning({
// content: '当前操作非法,已禁止观看视频',
// key: 'watermarkRef',
// });
return;
}
if (!isSeeking) {
var newTime = el.current.currentTime;
var timeDiff = newTime - lastUpdatedTime;
//currenttime update before Seeking & Seeked fired
if (Math.abs(timeDiff) < 10) {
sumTimePlayed += Math.abs(timeDiff);
lastUpdatedTime = newTime;
if (!isLoging) {
if (sumTimePlayed - logCount * timeTick >= 0) {
logCount++;
pos.push(lastUpdatedTime);
if (toLog) {
log();
}
}
}
} else {
lastUpdatedTime = newTime;
if (toLog) {
log();
}
}
}
} catch (error) {
console.log(error);
}
}
function onSeeking() {
isSeeking = true;
}
function onSeeked() {
if (el.current.playing) {
pos.push(el.current.currentTime, lastUpdatedTime);
}
lastUpdatedTime = el.current.currentTime;
isSeeking = false;
}
function onCanPlay() {
totalDuration = el.current.duration;
if (totalDuration <= 20) {
timeTick = totalDuration / 3;
}
el.current.addEventListener('play', onPlay);
}
function onFullscreenchange(e) {
e.preventDefault();
if ((0,fullscreen/* IsFull */.vp)()) {
el.current.style.width = '100%';
el.current.style.height = '100%';
} else {
el.current.style.cssText = '';
}
}
function onPause() {
handlePause();
}
function skipAhead(event) {
if (!allow_skip) {
message/* default */.ZP.warning('该视频禁止快进/后退播放');
return;
}
var skipTo = event.target.dataset.seek ? event.target.dataset.seek : event.target.value;
el.current.currentTime = skipTo;
progressBarEl.current.value = skipTo;
seekEl.current.value = skipTo;
}
function updateSeekTooltip(event) {
var skipTo = Math.round(event.offsetX / event.target.clientWidth * parseInt(event.target.getAttribute('max'), 10));
seekEl.current.setAttribute('data-seek', skipTo);
var t = formatTime(skipTo);
seekTooltipEl.current.textContent = "".concat(t.hour > 0 ? t.hour + ':' : '').concat(t.minutes, ":").concat(t.seconds);
var rect = el.current.getBoundingClientRect();
seekTooltipEl.current.style.left = "".concat(event.pageX - rect.left, "px");
}
function handleKeyDown(e) {
switch (e.code) {
case 'Space':
e.preventDefault(); //除了需求相关的按键外其余的按键需要保留默认行为,所以preventDefault写在switch里面
togglePlay();
break;
case 'ArrowRight':
e.preventDefault();
if (!allow_skip) {
message/* default */.ZP.warning('该视频禁止快进/后退播放');
break;
}
if (el.current.currentTime >= el.current.duration) {
break;
}
el.current.currentTime = parseInt(el.current.currentTime) + 5;
updateProgress();
break;
case 'ArrowLeft':
e.preventDefault();
if (!allow_skip) {
message/* default */.ZP.warning('该视频禁止快进/后退播放');
break;
}
if (el.current.currentTime === 0) {
break;
}
el.current.currentTime = parseInt(el.current.currentTime) - 5;
updateProgress();
break;
case 'ArrowUp':
e.preventDefault();
if (el.current.volume < 1) {
el.current.volume = (parseInt(el.current.volume * 10) + 1) / 10;
}
break;
case 'ArrowDown':
e.preventDefault();
if (el.current.volume > 0) {
el.current.volume = (parseInt(el.current.volume * 10) - 1) / 10;
}
break;
}
}
warpEl.current.addEventListener((0,fullscreen/* fullscreenChange */.gH)(), onFullscreenchange);
el.current.addEventListener('canplay', onCanPlay);
el.current.addEventListener('ended', onEnded);
el.current.addEventListener('seeking', onSeeking);
el.current.addEventListener('seeked', onSeeked);
el.current.addEventListener('loadedmetadata', initializeVideo);
seekEl.current.addEventListener('mousemove', updateSeekTooltip);
seekEl.current.addEventListener('input', skipAhead);
el.current.addEventListener('timeupdate', onTimeupdate);
el.current.addEventListener('pause', onPause);
el.current.addEventListener('volumechange', updateVolumeIcon);
document.addEventListener('keydown', handleKeyDown);
return function () {
var _el$current, _el$current2, _el$current3, _el$current4, _el$current5, _seekEl$current, _seekEl$current2, _el$current6, _el$current7, _el$current8, _el$current9, _el$current10;
(_el$current = el.current) === null || _el$current === void 0 || _el$current.removeEventListener('canplay', onCanPlay);
(_el$current2 = el.current) === null || _el$current2 === void 0 || _el$current2.removeEventListener('play', onPlay);
(_el$current3 = el.current) === null || _el$current3 === void 0 || _el$current3.removeEventListener('ended', onEnded);
(_el$current4 = el.current) === null || _el$current4 === void 0 || _el$current4.removeEventListener('seeking', onSeeking);
(_el$current5 = el.current) === null || _el$current5 === void 0 || _el$current5.removeEventListener('seeked', onSeeked);
(_seekEl$current = seekEl.current) === null || _seekEl$current === void 0 || _seekEl$current.removeEventListener('mousemove', updateSeekTooltip);
(_seekEl$current2 = seekEl.current) === null || _seekEl$current2 === void 0 || _seekEl$current2.removeEventListener('input', skipAhead);
(_el$current6 = el.current) === null || _el$current6 === void 0 || _el$current6.removeEventListener('timeupdate', onTimeupdate);
(_el$current7 = el.current) === null || _el$current7 === void 0 || _el$current7.removeEventListener('pause', onPause);
(_el$current8 = el.current) === null || _el$current8 === void 0 || _el$current8.removeEventListener('loadedmetadata', initializeVideo);
(_el$current9 = el.current) === null || _el$current9 === void 0 || _el$current9.removeEventListener('volumechange', updateVolumeIcon);
document.removeEventListener('keydown', handleKeyDown);
if ((_el$current10 = el.current) !== null && _el$current10 !== void 0 && _el$current10.playing) {
pos.push(lastUpdatedTime, el.current.currentTime);
if (toLog) {
log();
}
}
};
}, [el, src]);
(0,_react_17_0_2_react.useEffect)(function () {
var _src4;
el.current.onended = function () {
handlePlayEnded(el);
};
el.current.oncontextmenu = function () {
return false;
};
if (((_src4 = src) === null || _src4 === void 0 ? void 0 : _src4.indexOf('.m3u8')) > -1) {
if (el.current.canPlayType('application/vnd.apple.mpegurl')) {
el.current.src = src;
} else if (dist_hls/* default.isSupported */.ZP.isSupported()) {
var hls = new dist_hls/* default */.ZP();
hls.loadSource(src);
hls.attachMedia(el.current);
}
}
}, [src]);
var _useState = (0,_react_17_0_2_react.useState)(1.0),
_useState2 = slicedToArray_default()(_useState, 2),
videoSpeed = _useState2[0],
setVideoSpeed = _useState2[1];
var togglePlay = function togglePlay() {
if (el.current.paused || el.current.ended) {
el.current.play();
} else {
el.current.pause();
}
playIconStatus();
};
function toggleMute() {
el.current.muted = !el.current.muted;
if (el.current.muted) {
volumeEl.current.setAttribute('data-volume', volume.value);
volumeEl.current.value = 0;
} else {
volumeEl.current.value = volumeEl.current.dataset.volume;
}
}
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
style: {
position: 'relative'
},
ref: warpEl,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
ref: watermarkRef,
className: "".concat(Playmodules.watermark, " animated_alternate animate__animated_10s animate__infinite animate__stepstart ").concat(Playmodules.animate__loop),
children: user ? user.login : ' '
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: Playmodules['container'],
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Playmodules['video-container'],
id: "video-container",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: Playmodules['playback-animation'],
id: "playback-animation",
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("svg", {
className: Playmodules['playback-icons'],
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("use", {
className: "hidden",
href: "#play-icon"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("use", {
href: "#pause"
})]
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("video", {
className: Playmodules['video'],
id: "video",
preload: "auto",
disablePictureInPicture: true,
ref: el,
autoPlay: autoPlay
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "".concat(Playmodules['video-controls'], " "),
id: "video-controls",
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Playmodules['bottom-controls'],
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Playmodules['left-controls'],
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("button", {
"data-title": "\u64AD\u653E/\u6682\u505C",
id: "play",
onClick: togglePlay,
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("svg", {
className: Playmodules['playback-icons'],
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("use", {
ref: playIcon,
href: "#play-icon"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("use", {
ref: pauseIcon,
style: {
display: 'none'
},
href: "#pause"
})]
})
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Playmodules['time'],
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("time", {
id: "time-elapsed",
ref: timeElapsedEl,
children: "00:00"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: " / "
}), /*#__PURE__*/(0,jsx_runtime.jsx)("time", {
id: "duration",
ref: durationEl,
children: "00:00"
})]
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Playmodules['right-controls'],
children: [allow_skip && /*#__PURE__*/(0,jsx_runtime.jsx)(dropdown/* default */.Z, {
placement: "top",
overlayClassName: Playmodules['rateOverlay'],
getPopupContainer: function getPopupContainer(trigger) {
return trigger.parentNode;
},
menu: {
items: [{
key: '1',
label: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
onClick: function onClick() {
setVideoSpeed(1);
el.current.playbackRate = 1;
},
children: "1.0x"
})
}, {
key: '2',
label: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
onClick: function onClick() {
setVideoSpeed(1.5);
el.current.playbackRate = 1.5;
},
children: "1.5x"
})
}, {
key: '3',
label: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
onClick: function onClick() {
setVideoSpeed(2);
el.current.playbackRate = 2;
},
children: "2.0x"
})
}]
},
children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "".concat(Playmodules['controlText'], " mr5"),
children: "\u500D\u901F"
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(lib.CopyToClipboard, {
text: src,
onCopy: function onCopy() {
return message/* default */.ZP.success('复制成功');
},
children: /*#__PURE__*/(0,jsx_runtime.jsx)("button", {
"data-title": '复制链接',
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "icon-lianjie2 iconfont",
style: {
fontSize: '12px',
color: 'white'
}
})
})
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Playmodules['volume-controls'],
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("button", {
"data-title": "\u5F00\u542F/\u5173\u95ED\u58F0\u97F3",
className: Playmodules['volume-button'],
id: "volume-button",
onClick: toggleMute,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
ref: noMuteVolEl,
className: "icon-a-bianzu8 iconfont",
style: {
fontSize: '14px',
color: 'white'
}
}), /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
ref: lowVolEl,
className: "icon-shengyinkaibeifen iconfont",
style: {
fontSize: '14px',
color: 'white'
}
}), /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
ref: highVolEl,
className: "icon-shengyinkai iconfont",
style: {
fontSize: '14px',
color: 'white'
}
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("input", {
className: Playmodules['volume'],
id: "volume",
value: "1",
"data-mute": "0.5",
type: "range",
max: "1",
min: "0",
step: "0.01",
ref: volumeEl,
style: {
display: 'none'
},
onClick: updateVolumeIcon
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("button", {
"data-title": "\u5168\u5C4F/\u9000\u51FA\u5168\u5C4F",
className: Playmodules['fullscreen-button'],
onClick: function onClick() {
if ((0,fullscreen/* IsFull */.vp)()) {
(0,fullscreen/* exitFull */.BU)();
} else {
(0,fullscreen/* requestFullScreen */.Dj)(warpEl.current);
}
},
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "icon-fangda1 iconfont",
style: {
fontSize: '12px',
color: 'white'
}
})
})]
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Playmodules['video-progress'],
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("progress", {
ref: progressBarEl,
value: "0",
min: "0"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("input", {
className: Playmodules.seek,
ref: seekEl,
value: "0",
min: "0",
type: "range",
step: "1"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: Playmodules['seek-tooltip'],
ref: seekTooltipEl,
id: "seek-tooltip",
children: "00:00"
})]
})]
})]
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("svg", {
style: {
display: 'none'
},
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("defs", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("symbol", {
id: "pause",
viewBox: "0 0 24 24",
children: /*#__PURE__*/(0,jsx_runtime.jsx)("path", {
d: "M14.016 5.016h3.984v13.969h-3.984v-13.969zM6 18.984v-13.969h3.984v13.969h-3.984z"
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("symbol", {
id: "play-icon",
viewBox: "0 0 24 24",
children: /*#__PURE__*/(0,jsx_runtime.jsx)("path", {
d: "M8.016 5.016l10.969 6.984-10.969 6.984v-13.969z"
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("symbol", {
id: "volume-high",
viewBox: "0 0 24 24",
children: /*#__PURE__*/(0,jsx_runtime.jsx)("path", {
d: "M14.016 3.234q3.047 0.656 5.016 3.117t1.969 5.648-1.969 5.648-5.016 3.117v-2.063q2.203-0.656 3.586-2.484t1.383-4.219-1.383-4.219-3.586-2.484v-2.063zM16.5 12q0 2.813-2.484 4.031v-8.063q1.031 0.516 1.758 1.688t0.727 2.344zM3 9h3.984l5.016-5.016v16.031l-5.016-5.016h-3.984v-6z"
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("symbol", {
id: "volume-low",
viewBox: "0 0 24 24",
children: /*#__PURE__*/(0,jsx_runtime.jsx)("path", {
d: "M5.016 9h3.984l5.016-5.016v16.031l-5.016-5.016h-3.984v-6zM18.516 12q0 2.766-2.531 4.031v-8.063q1.031 0.516 1.781 1.711t0.75 2.32z"
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("symbol", {
id: "volume-mute",
viewBox: "0 0 24 24",
children: /*#__PURE__*/(0,jsx_runtime.jsx)("path", {
d: "M12 3.984v4.219l-2.109-2.109zM4.266 3l16.734 16.734-1.266 1.266-2.063-2.063q-1.547 1.313-3.656 1.828v-2.063q1.172-0.328 2.25-1.172l-4.266-4.266v6.75l-5.016-5.016h-3.984v-6h4.734l-4.734-4.734zM18.984 12q0-2.391-1.383-4.219t-3.586-2.484v-2.063q3.047 0.656 5.016 3.117t1.969 5.648q0 2.203-1.031 4.172l-1.5-1.547q0.516-1.266 0.516-2.625zM16.5 12q0 0.422-0.047 0.609l-2.438-2.438v-2.203q1.031 0.516 1.758 1.688t0.727 2.344z"
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("symbol", {
id: "fullscreen",
viewBox: "0 0 24 24",
children: /*#__PURE__*/(0,jsx_runtime.jsx)("path", {
d: "M14.016 5.016h4.969v4.969h-1.969v-3h-3v-1.969zM17.016 17.016v-3h1.969v4.969h-4.969v-1.969h3zM5.016 9.984v-4.969h4.969v1.969h-3v3h-1.969zM6.984 14.016v3h3v1.969h-4.969v-4.969h1.969z"
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("symbol", {
id: "fullscreen-exit",
viewBox: "0 0 24 24",
children: /*#__PURE__*/(0,jsx_runtime.jsx)("path", {
d: "M15.984 8.016h3v1.969h-4.969v-4.969h1.969v3zM14.016 18.984v-4.969h4.969v1.969h-3v3h-1.969zM8.016 8.016v-3h1.969v4.969h-4.969v-1.969h3zM5.016 15.984v-1.969h4.969v4.969h-1.969v-3h-3z"
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("symbol", {
id: "pip",
viewBox: "0 0 24 24",
children: /*#__PURE__*/(0,jsx_runtime.jsx)("path", {
d: "M21 19.031v-14.063h-18v14.063h18zM23.016 18.984q0 0.797-0.609 1.406t-1.406 0.609h-18q-0.797 0-1.406-0.609t-0.609-1.406v-14.016q0-0.797 0.609-1.383t1.406-0.586h18q0.797 0 1.406 0.586t0.609 1.383v14.016zM18.984 11.016v6h-7.969v-6h7.969z"
})
})]
})
})]
});
}));
/***/ }),
/***/ 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
})]
});
});
/***/ }),
/***/ 613:
/*!**********************************!*\
!*** ./src/components/modal.tsx ***!
\**********************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ Z: function() { return /* binding */ Dialog; }
/* harmony export */ });
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_classCallCheck_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/classCallCheck.js */ 82100);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_classCallCheck_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_classCallCheck_js__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_createClass_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/createClass.js */ 29186);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_createClass_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_createClass_js__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_inherits_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/inherits.js */ 80619);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_inherits_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_inherits_js__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_createSuper_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/createSuper.js */ 47074);
/* harmony import */ var _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_createSuper_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_createSuper_js__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ 59301);
/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-dom */ 4676);
var Dialog = /*#__PURE__*/function (_React$Component) {
_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_inherits_js__WEBPACK_IMPORTED_MODULE_2___default()(Dialog, _React$Component);
var _super = _root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_createSuper_js__WEBPACK_IMPORTED_MODULE_3___default()(Dialog);
function Dialog(props) {
var _this;
_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_classCallCheck_js__WEBPACK_IMPORTED_MODULE_0___default()(this, Dialog);
_this = _super.call(this, props);
var doc = window.document;
_this.node = doc.createElement('div');
doc.body.appendChild(_this.node);
return _this;
}
_root_workspace_ppte5yg23_SJ5m_develop_node_modules_babel_runtime_7_23_6_babel_runtime_helpers_createClass_js__WEBPACK_IMPORTED_MODULE_1___default()(Dialog, [{
key: "render",
value: function render() {
var children = this.props.children;
return /*#__PURE__*/(0,react_dom__WEBPACK_IMPORTED_MODULE_5__.createPortal)(children, this.node);
}
}, {
key: "componentWillUnmount",
value: function componentWillUnmount() {
window.document.body.removeChild(this.node);
}
}]);
return Dialog;
}(react__WEBPACK_IMPORTED_MODULE_4__.Component);
/***/ }),
/***/ 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 ? '关闭外网' : '开启外网'
})]
})]
})]
})]
});
});
/***/ }),
/***/ 59587:
/*!****************************************!*\
!*** ./src/components/useInterval.tsx ***!
\****************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ Z: function() { return /* binding */ useInterval; }
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ 59301);
function useInterval(callback, delay) {
var savedCallback = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)();
// 保存新回调
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
savedCallback.current = callback;
});
// 建立 interval
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
function tick() {
savedCallback.current();
}
if (delay !== null) {
var id = setInterval(tick, delay);
return function () {
return clearInterval(id);
};
}
}, [delay]);
}
/***/ }),
/***/ 24434:
/*!*******************************************************************!*\
!*** ./src/pages/Problems/OjForm/CodePanel/index.tsx + 1 modules ***!
\*******************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
Z: function() { return /* binding */ CodePanel; }
});
// 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/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: ./node_modules/_antd@5.9.0@antd/es/drawer/index.js + 9 modules
var drawer = __webpack_require__(43428);
// EXTERNAL MODULE: ./src/components/monaco-editor/index.jsx + 4 modules
var monaco_editor = __webpack_require__(32598);
// EXTERNAL MODULE: ./src/components/modal.tsx
var modal = __webpack_require__(613);
// EXTERNAL MODULE: ./src/utils/urlTool.ts
var urlTool = __webpack_require__(50930);
;// CONCATENATED MODULE: ./src/pages/Problems/OjForm/CodePanel/index.less
// extracted by mini-css-extract-plugin
// EXTERNAL MODULE: ./src/components/tpi-code-setting/CodeSetting.tsx
var CodeSetting = __webpack_require__(97081);
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js
var jsx_runtime = __webpack_require__(37712);
;// CONCATENATED MODULE: ./src/pages/Problems/OjForm/CodePanel/index.tsx
//@ts-ignore
var initialState = {
theme: (0,urlTool/* fromStore */.G)('cmCodeMode', 'vs-dark'),
fontSize: (0,urlTool/* fromStore */.G)('cmFontSize', 14),
showEditorSetting: false,
tabToSpace: (0,urlTool/* fromStore */.G)('cmTabToSpace', true)
};
var Types = /*#__PURE__*/function (Types) {
Types[Types["set_font_size"] = 0] = "set_font_size";
Types[Types["set_theme"] = 1] = "set_theme";
Types[Types["on_tab_to_space"] = 2] = "on_tab_to_space";
Types[Types["set_show_editor_setting"] = 3] = "set_show_editor_setting";
return Types;
}(Types || {});
function reducer(state, action) {
switch (action.type) {
case Types.set_show_editor_setting:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
showEditorSetting: action.payload
});
case Types.set_theme:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
theme: action.payload
});
case Types.set_font_size:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
fontSize: action.payload
});
case Types.on_tab_to_space:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
tabToSpace: action.payload
});
default:
throw new Error();
}
}
/* harmony default export */ var CodePanel = (function (_ref) {
var isLoading = _ref.isLoading,
value = _ref.value,
_onChange = _ref.onChange,
language = _ref.language,
onUpdateCode = _ref.onUpdateCode,
_ref$ActionBarRender = _ref.ActionBarRender,
ActionBarRender = _ref$ActionBarRender === void 0 ? function (onShowCodeSetting) {
return /*#__PURE__*/(0,jsx_runtime.jsx)(DefaultActionBar, {
onShowCodeSetting: onShowCodeSetting
});
} : _ref$ActionBarRender;
var _useReducer = (0,_react_17_0_2_react.useReducer)(reducer, initialState),
_useReducer2 = slicedToArray_default()(_useReducer, 2),
state = _useReducer2[0],
dispatch = _useReducer2[1];
var theme = state.theme,
fontSize = state.fontSize,
showEditorSetting = state.showEditorSetting,
tabToSpace = state.tabToSpace;
var timeRef = (0,_react_17_0_2_react.useRef)();
var valueRef = (0,_react_17_0_2_react.useRef)();
var codeSettingOption = {
onFontSizeChange: function onFontSizeChange(val) {
dispatch({
type: Types.set_font_size,
payload: val
});
(0,urlTool/* toStore */.t)('cmFontSize', val);
},
tabToSpace: tabToSpace,
cmFontSize: fontSize,
className: 'oj',
cmCodeMode: theme,
onTabToSpace: function onTabToSpace(checked) {
dispatch({
type: Types.on_tab_to_space,
payload: checked
});
(0,urlTool/* toStore */.t)('cmTabToSpace', checked);
},
onCodeModeChange: function onCodeModeChange(val) {
dispatch({
type: Types.set_theme,
payload: val
});
(0,urlTool/* toStore */.t)('cmCodeMode', val);
}
};
function onHideCodeSetting() {
dispatch({
type: Types.set_show_editor_setting,
payload: false
});
}
function onShowCodeSetting() {
dispatch({
type: Types.set_show_editor_setting,
payload: true
});
}
var editorOption = {
value: value,
language: language,
// onChange,
theme: theme,
height: 'calc(100% - 56px)',
options: {
fontSize: fontSize,
insertSpaces: tabToSpace
},
onChange: function onChange(value) {
_onChange(value);
valueRef.current = value;
clearTimeout(timeRef.current);
timeRef.current = setTimeout(function () {
onUpdateCode(valueRef.current);
}, 10000);
},
onEditBlur: function onEditBlur(value) {
if (!!valueRef.current) onUpdateCode(valueRef.current);
}
};
return /*#__PURE__*/(0,jsx_runtime.jsxs)(_react_17_0_2_react.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "code-panel-container",
children: [ActionBarRender(onShowCodeSetting), !isLoading && /*#__PURE__*/(0,jsx_runtime.jsx)(monaco_editor/* default */.ZP, objectSpread2_default()({}, editorOption))]
}), /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, {
children: /*#__PURE__*/(0,jsx_runtime.jsx)(drawer/* default */.Z, {
rootClassName: "oj",
title: null,
placement: "right",
closable: false,
open: showEditorSetting,
onClose: onHideCodeSetting,
children: /*#__PURE__*/(0,jsx_runtime.jsx)(CodeSetting/* default */.Z, objectSpread2_default()({}, codeSettingOption))
})
})]
});
});
function DefaultActionBar(_ref2) {
var onShowCodeSetting = _ref2.onShowCodeSetting;
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "action-bar",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: "\u5B66\u5458\u521D\u59CB\u4EE3\u7801\u6587\u4EF6"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
onClick: onShowCodeSetting,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-shezhi"
})
})]
});
}
/***/ }),
/***/ 84047:
/*!**************************************************************************!*\
!*** ./src/pages/Question/OjProblem/TestCasePanel/index.tsx + 1 modules ***!
\**************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
Im: function() { return /* binding */ ExecuteDict; },
ZP: function() { return /* binding */ TestCasePanel; },
gZ: function() { return /* binding */ getDetailCommitOut; }
});
// UNUSED EXPORTS: getCommitOut
// 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/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/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/_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/message/index.js + 4 modules
var message = __webpack_require__(8591);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/button/index.js
var es_button = __webpack_require__(3113);
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.3.1@@ant-design/icons/es/icons/DownOutlined.js + 1 modules
var DownOutlined = __webpack_require__(77800);
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.3.1@@ant-design/icons/es/icons/UpOutlined.js + 1 modules
var UpOutlined = __webpack_require__(23420);
// EXTERNAL MODULE: ./src/pages/Question/OjProblem/interface.ts
var OjProblem_interface = __webpack_require__(86801);
// EXTERNAL MODULE: ./node_modules/_js-base64@2.6.4@js-base64/base64.js
var base64 = __webpack_require__(24334);
;// CONCATENATED MODULE: ./src/pages/Question/OjProblem/TestCasePanel/index.less
// extracted by mini-css-extract-plugin
// EXTERNAL MODULE: ./src/components/Spinner/index.tsx + 1 modules
var Spinner = __webpack_require__(92997);
// EXTERNAL MODULE: ./src/components/RenderHtml/index.tsx
var RenderHtml = __webpack_require__(52961);
// EXTERNAL MODULE: ./src/utils/util.tsx
var util = __webpack_require__(63834);
// EXTERNAL MODULE: ./src/components/TestResult/index.tsx + 1 modules
var TestResult = __webpack_require__(84213);
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js
var jsx_runtime = __webpack_require__(37712);
;// CONCATENATED MODULE: ./src/pages/Question/OjProblem/TestCasePanel/index.tsx
var TextArea = input/* default */.Z.TextArea;
var initialState = {
visible: false,
tabIndex: '0'
};
var ExecuteDict = defineProperty_default()(defineProperty_default()(defineProperty_default()(defineProperty_default()(defineProperty_default()(defineProperty_default()({}, OjProblem_interface/* ExecuteStatus */.h.NOMATCH, '测试用例结果不匹配'), OjProblem_interface/* ExecuteStatus */.h.OK, '调试通过'), 2, '调试超时'), 3, '调试pod失败'), 4, '编译失败'), 5, '执行失败');
var Types = /*#__PURE__*/function (Types) {
Types[Types["SET_VISIBLE"] = 0] = "SET_VISIBLE";
Types[Types["SET_TABINDEX"] = 1] = "SET_TABINDEX";
return Types;
}(Types || {});
function Reducer(state, action) {
switch (action.type) {
case Types.SET_VISIBLE:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
visible: action.payload
});
case Types.SET_TABINDEX:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
tabIndex: action.payload
});
default:
throw new Error();
}
}
function getDetailCommitOut(debugResult) {
var status = debugResult.status,
error_msg = debugResult.error_msg,
output = debugResult.output,
input = debugResult.input,
expected_output = debugResult.expected_output,
is_file = debugResult.is_file,
input_file_url = debugResult.input_file_url,
output_file_url = debugResult.output_file_url,
expected_output_file_url = debugResult.expected_output_file_url;
var rs = null;
var mdStyle = {
minHeight: 150,
marginBottom: 10,
paddingLeft: 24,
background: '#070f19',
color: '#fff'
};
switch (status) {
case OjProblem_interface/* ExecuteStatus */.h.NOMATCH:
rs = /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", {
className: "c-red",
children: "\u5B9E\u9645\u8F93\u5165\uFF1A"
}), !is_file && /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
value: input,
style: mdStyle
}), is_file && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
style: mdStyle,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
// href={input_file_url} style={{fontSize:'16px'}} download={expected_output} target="_blank"
onClick: function onClick() {
return (0,util/* download */.LR)(input_file_url, input);
},
children: input
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
className: "c-red",
children: "\u5B9E\u9645\u8F93\u51FA\uFF1A"
}), !is_file && /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
value: output && base64.Base64.decode(output) || '',
style: mdStyle
}), is_file && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
style: mdStyle,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
// href={output_file_url} style={{fontSize:'16px'}} download={expected_output} target="_blank"
onClick: function onClick() {
return (0,util/* download */.LR)(output_file_url, output);
},
children: output
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
className: "c-red",
children: "\u9884\u671F\u8F93\u51FA\uFF1A"
}), !is_file && /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
value: expected_output && base64.Base64.decode(expected_output) || '',
style: mdStyle
}), is_file && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
style: mdStyle,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
// href={expected_output_file_url} style={{fontSize:'16px'}} download={expected_output} target="_blank"
onClick: function onClick() {
return (0,util/* download */.LR)(expected_output_file_url, expected_output);
},
children: expected_output
})
})]
});
break;
case OjProblem_interface/* ExecuteStatus */.h.EXECUTEFAILURE:
rs = /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", {
children: "\u6700\u540E\u6267\u884C\u7684\u8F93\u5165\uFF1A"
}), !is_file && /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
value: input,
style: mdStyle
}), is_file && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
style: mdStyle,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
// href={input_file_url} style={{fontSize:'16px'}} target="_blank"
onClick: function onClick() {
return (0,util/* download */.LR)(input_file_url, input);
},
children: input
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
children: "\u6267\u884C\u51FA\u9519\u4FE1\u606F\uFF1A"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("pre", {
className: "error",
children: base64.Base64.decode(error_msg)
})]
});
break;
case OjProblem_interface/* ExecuteStatus */.h.COMPILEFAILURE:
rs = /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", {
children: "\u6700\u540E\u6267\u884C\u7684\u8F93\u5165\uFF1A"
}), !is_file && /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
value: input,
style: mdStyle
}), is_file && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
style: mdStyle,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
// href={input_file_url} style={{fontSize:'16px'}} target="_blank"
onClick: function onClick() {
return (0,util/* download */.LR)(input_file_url, input);
},
children: input
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
children: "\u6267\u884C\u51FA\u9519\u4FE1\u606F\uFF1A"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("pre", {
className: "error",
children: base64.Base64.decode(error_msg)
})]
});
break;
case OjProblem_interface/* ExecuteStatus */.h.PODFAILURE:
rs = /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
children: "\u521B\u5EFApod\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5"
});
break;
case OjProblem_interface/* ExecuteStatus */.h.TIMEOUT:
rs = /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
children: "\u8BC4\u6D4B\u8D85\u65F6\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5"
});
break;
}
return /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
children: [" ", rs, " "]
});
}
function getCommitOut(debugResult) {
var status = debugResult.status,
error_msg = debugResult.error_msg,
execute_time = debugResult.execute_time,
output = debugResult.output,
input = debugResult.input,
expected_output = debugResult.expected_output,
is_file = debugResult.is_file,
input_file_url = debugResult.input_file_url,
output_file_url = debugResult.output_file_url,
expected_output_file_url = debugResult.expected_output_file_url;
var rs = null;
switch (status) {
case OjProblem_interface/* ExecuteStatus */.h.OK:
rs = /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
children: ["\u6267\u884C\u7528\u65F6\uFF1A", execute_time, "\u79D2"]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
children: "\u6267\u884C\u7ED3\u679C\uFF1A"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("pre", {
children: base64.Base64.decode(output)
})]
});
break;
case OjProblem_interface/* ExecuteStatus */.h.NOMATCH:
rs = /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
children: ["\u8F93\u5165\uFF1A", /*#__PURE__*/(0,jsx_runtime.jsx)("pre", {
children: input
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
children: ["\u8F93\u51FA\uFF1A", output && base64.Base64.decode(output)]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
children: ["\u9884\u671F\u8F93\u51FA\uFF1A", expected_output && base64.Base64.decode(expected_output)]
})]
});
break;
case OjProblem_interface/* ExecuteStatus */.h.EXECUTEFAILURE:
rs = /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
children: ["\u6700\u540E\u6267\u884C\u7684\u8F93\u5165\uFF1A", /*#__PURE__*/(0,jsx_runtime.jsx)("pre", {
children: input
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
children: "\u6267\u884C\u51FA\u9519\u4FE1\u606F\uFF1A"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("pre", {
className: "error",
children: base64.Base64.decode(error_msg)
})]
});
break;
case OjProblem_interface/* ExecuteStatus */.h.COMPILEFAILURE:
rs = /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
children: ["\u6700\u540E\u6267\u884C\u7684\u8F93\u5165\uFF1A", /*#__PURE__*/(0,jsx_runtime.jsx)("pre", {
children: input
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
children: "\u6267\u884C\u51FA\u9519\u4FE1\u606F\uFF1A"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("pre", {
className: "error",
children: base64.Base64.decode(error_msg)
})]
});
break;
case OjProblem_interface/* ExecuteStatus */.h.PODFAILURE:
rs = /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
children: "\u521B\u5EFApod\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5"
});
break;
case OjProblem_interface/* ExecuteStatus */.h.TIMEOUT:
rs = /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
children: "\u8BC4\u6D4B\u8D85\u65F6\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5"
});
break;
}
return /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
children: [" ", rs, " "]
});
}
/* harmony default export */ var TestCasePanel = (function (_ref) {
var id = _ref.id,
is_file = _ref.is_file,
input = _ref.input,
debuging = _ref.debuging,
submitting = _ref.submitting,
executingMessage = _ref.executingMessage,
debugResult = _ref.debugResult,
onChangeInput = _ref.onChangeInput,
onDebugCode = _ref.onDebugCode,
onSubmitCode = _ref.onSubmitCode;
var _useReducer = (0,_react_17_0_2_react.useReducer)(Reducer, initialState),
_useReducer2 = slicedToArray_default()(_useReducer, 2),
state = _useReducer2[0],
dispatch = _useReducer2[1];
var visible = state.visible,
tabIndex = state.tabIndex;
(0,_react_17_0_2_react.useEffect)(function () {
dispatch({
type: Types.SET_VISIBLE,
payload: false
});
}, [id]);
function onTabIndexChange(e) {
var id = e.target.id;
dispatch({
type: Types.SET_TABINDEX,
payload: id
});
}
function onTriggerCollapse() {
dispatch({
type: Types.SET_VISIBLE,
payload: !visible
});
}
var executeResult = (0,_react_17_0_2_react.useMemo)(function () {
if (debugResult) {
var status = debugResult.status;
return /*#__PURE__*/(0,jsx_runtime.jsx)(jsx_runtime.Fragment, {
children: getCommitOut(debugResult)
});
}
return null;
}, [debugResult]);
function onDebug() {
if (!input || is_file) {
message/* default */.ZP.error("请输入自测用例");
dispatch({
type: Types.SET_VISIBLE,
payload: true
});
dispatch({
type: Types.SET_TABINDEX,
payload: '0'
});
return;
}
dispatch({
type: Types.SET_VISIBLE,
payload: true
});
dispatch({
type: Types.SET_TABINDEX,
payload: '1'
});
onDebugCode();
}
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "test-case-panel",
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "test-case-panel-body ".concat(visible ? 'active' : ''),
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("ul", {
className: "s-navs",
children: /*#__PURE__*/(0,jsx_runtime.jsx)("li", {
children: /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
className: 'active',
children: "\u8C03\u8BD5\u4EE3\u7801\u7ED3\u679C"
})
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(TestResult/* default */.Z, {
leftTitle: "\u81EA\u5B9A\u4E49\u6D4B\u8BD5\u7528\u4F8B",
rightTitle: "\u4EE3\u7801\u6267\u884C\u7ED3\u679C",
style: {
height: 240
},
leftNode: /*#__PURE__*/(0,jsx_runtime.jsx)(TextArea, {
placeholder: "\u8BF7\u8F93\u5165\u81EA\u6D4B\u7528\u4F8B\uFF08\u5982\u679C\u672A\u586B\u5199\uFF0C\u81EA\u6D4B\u8FD0\u884C\u65F6\uFF0C\u7CFB\u7EDF\u4F1A\u81EA\u52A8\u586B\u5145\u7B2C\u4E00\u4E2A\u975E\u9690\u85CF\u7684\u6587\u672C\u7C7B\u578B\u7684\u6D4B\u8BD5\u7528\u4F8B\uFF09",
value: is_file ? '' : input,
onChange: onChangeInput
}),
rightNode: debuging ? /*#__PURE__*/(0,jsx_runtime.jsx)(Spinner/* default */.Z, {
message: '代码执行中...'
}) : debugResult ? executeResult : /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
style: {
color: '#536879'
},
children: "\u8BF7\u586B\u5199\u6D4B\u8BD5\u7528\u4F8B\u7684\u8F93\u5165\u503C\uFF0C\u70B9\u51FB\u201C\u8C03\u8BD5\u4EE3\u7801\u201D"
})
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
className: "btn-collapse ".concat(visible ? 'up' : ''),
onClick: onTriggerCollapse,
children: visible ? /*#__PURE__*/(0,jsx_runtime.jsx)(DownOutlined/* default */.Z, {}) : /*#__PURE__*/(0,jsx_runtime.jsx)(UpOutlined/* default */.Z, {})
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("footer", {
className: "footer",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
style: {
visibility: 'hidden'
},
children: "\u63A7\u5236\u53F0"
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "flex-container",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
id: "oj-prev",
className: "btn-blue",
type: "ghost",
children: "\u4E0A\u4E00\u9898"
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
id: "oj-next",
className: "btn-blue",
type: "ghost",
children: "\u4E0B\u4E00\u9898"
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
className: "btn-green",
type: "ghost",
loading: debuging,
onClick: onDebug,
children: "\u8C03\u8BD5\u4EE3\u7801"
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
type: "primary",
className: "custom-ant-disabled",
loading: submitting,
disabled: submitting,
onClick: function onClick() {
dispatch({
type: Types.SET_VISIBLE,
payload: false
});
// dispatch({
// type: Types.SET_TABINDEX,
// payload: '1'
// })
onSubmitCode();
},
children: "\u8BC4\u6D4B\u5E76\u63D0\u4EA4"
})]
})]
})]
});
});
/***/ }),
/***/ 59608:
/*!*************************************************************!*\
!*** ./src/pages/Question/OjProblem/index.tsx + 42 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 */ OjProblem; }
});
// 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/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/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: ./node_modules/_@ant-design_icons@5.3.1@@ant-design/icons/es/icons/FormOutlined.js + 1 modules
var FormOutlined = __webpack_require__(23333);
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.3.1@@ant-design/icons/es/icons/PoweroffOutlined.js + 1 modules
var PoweroffOutlined = __webpack_require__(23742);
// 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/statistic/index.js + 5 modules
var statistic = __webpack_require__(31797);
// 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/spin/index.js + 1 modules
var spin = __webpack_require__(71418);
// 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/select/index.js
var es_select = __webpack_require__(57809);
// EXTERNAL MODULE: ./src/pages/Question/OjProblem/service.ts
var service = __webpack_require__(52107);
// EXTERNAL MODULE: ./src/components/SplitContainer/index.tsx + 1 modules
var SplitContainer = __webpack_require__(67394);
// EXTERNAL MODULE: ./src/utils/env.ts + 1 modules
var env = __webpack_require__(33259);
// 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/Problems/OjForm/CodePanel/index.tsx + 1 modules
var CodePanel = __webpack_require__(24434);
// EXTERNAL MODULE: ./node_modules/_js-base64@2.6.4@js-base64/base64.js
var base64 = __webpack_require__(24334);
// EXTERNAL MODULE: ./src/pages/Problems/OjForm/index.less?modules
var OjFormmodules = __webpack_require__(654);
;// CONCATENATED MODULE: ./src/pages/Question/OjProblem/index.less
// extracted by mini-css-extract-plugin
// EXTERNAL MODULE: ./src/pages/Question/OjProblem/TestCasePanel/index.tsx + 1 modules
var TestCasePanel = __webpack_require__(84047);
// 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/form/index.js + 19 modules
var es_form = __webpack_require__(78241);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/button/index.js
var es_button = __webpack_require__(3113);
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js
var jsx_runtime = __webpack_require__(37712);
;// CONCATENATED MODULE: ./src/pages/Question/OjProblem/NotesForm/index.tsx
var TextArea = input/* default */.Z.TextArea;
var MaxNotCount = 5000;
/* harmony default export */ var NotesForm = (function (_ref) {
var callback = _ref.callback,
onCancel = _ref.onCancel,
notes = _ref.notes;
function onSubmit(values) {
callback(values);
}
return /*#__PURE__*/(0,jsx_runtime.jsxs)(es_form/* default */.Z, {
className: "note-form-panel",
onFinish: onSubmit,
initialValues: {
notes: notes
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
name: "notes",
rules: [{
required: true,
message: '请输入笔记内容'
}, {
max: MaxNotCount,
message: "\u7B14\u8BB0\u6700\u5927\u5B57\u6570\u4E3A".concat(MaxNotCount)
}],
children: /*#__PURE__*/(0,jsx_runtime.jsx)(TextArea, {
placeholder: "\u8BF7\u8F93\u5165\u7B14\u8BB0\u5185\u5BB9",
rows: 5
})
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(es_form/* default */.Z.Item, {
style: {
textAlign: 'right'
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
type: "ghost",
onClick: onCancel,
style: {
marginRight: 10
},
children: " \u53D6\u6D88 "
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
type: "primary",
htmlType: "submit",
children: " \u63D0\u4EA4 "
})]
})]
});
});
;// CONCATENATED MODULE: ./src/pages/Question/OjProblem/LeftPanel/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var LeftPanelmodules = ({"left-panel":"left-panel___fP6Y3","tab-panel-body":"tab-panel-body___aLOJQ","b1":"b1___ELpwD","oj-mr":"oj-mr___SIQSw","oj-width-input":"oj-width-input___tR_Si","s-navs":"s-navs___iVrSH","bg-white":"bg-white___S0kiU","active":"active___D332c"});
;// CONCATENATED MODULE: ./src/pages/Question/OjProblem/LeftPanel/SubmitList/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var SubmitListmodules = ({"pagination":"pagination___npPu7","info":"info___aRH6C"});
// 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: ./node_modules/_@ant-design_icons@5.3.1@@ant-design/icons/es/icons/LoadingOutlined.js + 1 modules
var LoadingOutlined = __webpack_require__(45161);
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.3.1@@ant-design/icons/es/icons/CopyOutlined.js + 1 modules
var CopyOutlined = __webpack_require__(29117);
// EXTERNAL MODULE: ./src/pages/Question/OjProblem/interface.ts
var OjProblem_interface = __webpack_require__(86801);
// 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/Question/OjProblem/LeftPanel/SubmitList/index.tsx
var Column = table/* default */.Z.Column;
/* harmony default export */ var SubmitList = (function (_ref) {
var submitResult = _ref.submitResult,
submitting = _ref.submitting,
submitRecords = _ref.submitRecords,
page = _ref.page,
onPageChange = _ref.onPageChange,
topicId = _ref.topicId;
var _ref2 = submitResult || {},
status = _ref2.status,
id = _ref2.id,
input = _ref2.input,
output = _ref2.output,
expected_output = _ref2.expected_output,
is_file = _ref2.is_file,
input_file_url = _ref2.input_file_url,
output_file_url = _ref2.output_file_url,
expected_output_file_url = _ref2.expected_output_file_url,
error_msg = _ref2.error_msg;
var _ref3 = submitRecords || {},
records = _ref3.records,
records_count = _ref3.records_count;
var urlParams = (0,_umi_production_exports.useParams)();
function onCopy() {
if (!is_file) {
navigator.clipboard.writeText(base64.Base64.decode(output)).then(function () {
message/* default */.ZP.success('复制错误信息成功');
});
} else {
navigator.clipboard.writeText(base64.Base64.decode(error_msg)).then(function () {
message/* default */.ZP.success('复制错误信息成功');
});
}
}
return /*#__PURE__*/(0,jsx_runtime.jsxs)(spin/* default */.Z, {
spinning: submitting,
tip: "\u8BC4\u6D4B\u4E2D...",
indicator: /*#__PURE__*/(0,jsx_runtime.jsx)(LoadingOutlined/* default */.Z, {
style: {
fontSize: 24
},
spin: true
}),
children: [id ? /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("ul", {
className: SubmitListmodules.info,
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("li", {
children: ["\u6267\u884C\u7ED3\u679C\uFF1A", /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: status === OjProblem_interface/* ExecuteStatus */.h.OK ? 'c-green' : 'c-red',
children: TestCasePanel/* ExecuteDict */.Im[status]
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("li", {
className: SubmitListmodules.error,
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
onClick: onCopy,
children: ["\u590D\u5236\u9519\u8BEF\u4FE1\u606F ", /*#__PURE__*/(0,jsx_runtime.jsx)(CopyOutlined/* default */.Z, {}), " "]
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("li", {
children: /*#__PURE__*/(0,jsx_runtime.jsx)(_umi_production_exports.Link, {
to: "/problems/".concat(topicId, "/record-detail/").concat(id, "?backId=").concat(urlParams === null || urlParams === void 0 ? void 0 : urlParams.save_identifier),
children: "\u663E\u793A\u8BE6\u60C5 > "
})
})]
}), status !== OjProblem_interface/* ExecuteStatus */.h.OK ? /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", {
className: "c-red",
children: "\u5B9E\u9645\u8F93\u5165\uFF1A"
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("pre", {
children: [!is_file && input, is_file && /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
// href={input_file_url}
style: {
fontSize: '16px'
},
onClick: function onClick() {
return (0,util/* download */.LR)(input_file_url, input);
}
// download={expected_output}
// target="_blank"
,
children: input
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
className: "c-red",
children: "\u5B9E\u9645\u8F93\u51FA\uFF1A"
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("pre", {
children: [(status === 4 || status === 5) && base64.Base64.decode(error_msg), status != 4 && status != 5 && (is_file ? /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
// href={output_file_url}
style: {
fontSize: '16px'
},
onClick: function onClick() {
return (0,util/* download */.LR)(output_file_url, output);
}
// download={expected_output} target="_blank"
,
children: output
}) : base64.Base64.decode(output))]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
className: "c-red",
children: "\u9884\u671F\u8F93\u51FA\uFF1A"
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("pre", {
children: [!is_file && base64.Base64.decode(expected_output), is_file && /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
// href={expected_output_file_url}
style: {
fontSize: '16px'
},
onClick: function onClick() {
return (0,util/* download */.LR)(expected_output_file_url, expected_output);
}
// download={expected_output} target="_blank"
,
children: expected_output
})]
})]
}) : null]
}) : null, (records === null || records === void 0 ? void 0 : records.length) > 0 ? /*#__PURE__*/(0,jsx_runtime.jsxs)(table/* default */.Z, {
dataSource: records,
rowKey: "id",
pagination: false,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(Column, {
title: "\u63D0\u4EA4\u65F6\u95F4",
dataIndex: "created_at",
render: function render(text, record) {
return /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
children: [" ", dayjs_min_default()(text).format('YYYY-MM-DD HH:mm:ss')]
});
}
}, "created_at"), /*#__PURE__*/(0,jsx_runtime.jsx)(Column, {
title: "\u63D0\u4EA4\u7ED3\u679C",
dataIndex: "status",
render: function render(text, record) {
var _ExecuteDict$text;
return /*#__PURE__*/(0,jsx_runtime.jsx)(_umi_production_exports.Link, {
className: text === 0 ? 'c-green' : 'c-red',
to: "/problems/".concat(topicId, "/record-detail/").concat(record.id, "?backId=").concat(urlParams === null || urlParams === void 0 ? void 0 : urlParams.save_identifier),
children: (_ExecuteDict$text = TestCasePanel/* ExecuteDict */.Im[text]) === null || _ExecuteDict$text === void 0 ? void 0 : _ExecuteDict$text.replace('调试', '评测')
});
}
}, "status"), /*#__PURE__*/(0,jsx_runtime.jsx)(Column, {
title: "\u6267\u884C\u7528\u65F6 (S)",
dataIndex: "execute_time"
}, "execute_time"), /*#__PURE__*/(0,jsx_runtime.jsx)(Column, {
title: "\u5185\u5B58\u6D88\u8017\uFF08MB\uFF09",
dataIndex: "execute_memory"
}, "execute_memory"), /*#__PURE__*/(0,jsx_runtime.jsx)(Column, {
title: "\u8BED\u8A00",
dataIndex: "language"
}, "language")]
}) : null, records_count > 15 ? /*#__PURE__*/(0,jsx_runtime.jsx)(pagination/* default */.Z, {
className: SubmitListmodules.pagination,
current: page,
pageSize: 15,
total: records_count,
onChange: onPageChange
}) : null]
});
});
// EXTERNAL MODULE: ./src/components/NoData/index.tsx
var NoData = __webpack_require__(77068);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/tag/index.js + 5 modules
var tag = __webpack_require__(12563);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/space/index.js + 3 modules
var space = __webpack_require__(81327);
;// CONCATENATED MODULE: ./src/pages/Question/OjProblem/LeftPanel/Description/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var Descriptionmodules = ({"desc":"desc___X8_hx","info":"info___C1DPv","commit-info":"commit-info____9yQm"});
// EXTERNAL MODULE: ./src/components/RenderHtml/index.tsx
var RenderHtml = __webpack_require__(52961);
;// CONCATENATED MODULE: ./src/pages/Question/OjProblem/LeftPanel/Description/index.tsx
var DifficultDesc = {
1: {
name: '简单',
color: '#52c41a'
},
2: {
name: '适中',
color: '#faad14'
},
3: {
name: '困难',
color: '#f5222d'
}
};
/* harmony default export */ var Description = (function (_ref) {
var hack = _ref.hack,
onTriggerPraise = _ref.onTriggerPraise,
toDiscuss = _ref.toDiscuss;
var language = hack.language,
difficulty = hack.difficulty,
time_limit = hack.time_limit,
username = hack.username,
user_path = hack.user_path,
user_praise = hack.user_praise,
comments_count = hack.comments_count,
praises_count = hack.praises_count,
description = hack.description,
pass_count = hack.pass_count,
submit_count = hack.submit_count;
var location = (0,_umi_production_exports.useLocation)();
console.log(hack.language, 'language');
var diffItem = DifficultDesc[difficulty];
return /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("ul", {
className: Descriptionmodules.info,
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("li", {
children: ["\u96BE\u5EA6\uFF1A", /*#__PURE__*/(0,jsx_runtime.jsx)(tag/* default */.Z, {
color: diffItem.color,
children: diffItem.name
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("li", {
children: ["\u5355\u4E2A\u6D4B\u8BD5\u96C6\u8BC4\u6D4B\u65F6\u957F\u9650\u5236\uFF1A", /*#__PURE__*/(0,jsx_runtime.jsxs)("b", {
children: [time_limit, "\u79D2"]
})]
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
value: description,
className: Descriptionmodules.desc
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("ul", {
className: Descriptionmodules['commit-info'],
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("li", {
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(space/* default */.Z, {
size: 4,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: "\u901A\u8FC7\u6B21\u6570"
}), " ", /*#__PURE__*/(0,jsx_runtime.jsx)("b", {
children: pass_count
})]
})
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("li", {
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(space/* default */.Z, {
size: 4,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: "\u63D0\u4EA4\u6B21\u6570"
}), " ", /*#__PURE__*/(0,jsx_runtime.jsx)("b", {
children: submit_count
})]
}), " "]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("li", {
style: {
flex: '1 0 0'
}
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("li", {
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(space/* default */.Z, {
size: 4,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-huifu1",
onClick: toDiscuss
}), " ", /*#__PURE__*/(0,jsx_runtime.jsx)("b", {
children: comments_count
})]
}), " "]
})]
})]
});
});
// EXTERNAL MODULE: ./src/components/mediator.js
var mediator = __webpack_require__(34834);
;// CONCATENATED MODULE: ./src/assets/images/question/show.svg
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
var __defProp = Object.defineProperty;
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __propIsEnum = Object.prototype.propertyIsEnumerable;
var __defNormalProp = function __defNormalProp(obj, key, value) {
return key in obj ? __defProp(obj, key, {
enumerable: true,
configurable: true,
writable: true,
value: value
}) : obj[key] = value;
};
var __spreadValues = function __spreadValues(a, b) {
for (var prop in b || (b = {})) if (__hasOwnProp.call(b, prop)) __defNormalProp(a, prop, b[prop]);
if (__getOwnPropSymbols) {
var _iterator = _createForOfIteratorHelper(__getOwnPropSymbols(b)),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var prop = _step.value;
if (__propIsEnum.call(b, prop)) __defNormalProp(a, prop, b[prop]);
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
}
return a;
};
var SvgShow = function SvgShow(props) {
return /* @__PURE__ */React.createElement("svg", __spreadValues({
width: 40,
height: 40,
xmlns: "http://www.w3.org/2000/svg"
}, props), /* @__PURE__ */React.createElement("title", null, "\u5C55\u5F00\u9898\u76EE"), /* @__PURE__ */React.createElement("defs", null, /* @__PURE__ */React.createElement("linearGradient", {
x1: "0%",
y1: "0%",
x2: "100%",
y2: "100%",
id: "show_svg__a"
}, /* @__PURE__ */React.createElement("stop", {
stopColor: "#EEF7FF",
offset: "0%"
}), /* @__PURE__ */React.createElement("stop", {
stopColor: "#C1E2FF",
offset: "100%"
}))), /* @__PURE__ */React.createElement("g", {
fill: "none",
fillRule: "evenodd"
}, /* @__PURE__ */React.createElement("rect", {
fill: "url(#show_svg__a)",
width: 40,
height: 40,
rx: 8
}), /* @__PURE__ */React.createElement("g", {
fillRule: "nonzero"
}, /* @__PURE__ */React.createElement("path", {
d: "M16.057 20.784H8.238A1.22 1.22 0 0 0 7 21.974v6.811a1.22 1.22 0 0 0 1.238 1.19h7.819a1.213 1.213 0 0 0 1.238-1.19v-6.811a1.213 1.213 0 0 0-.376-.847 1.203 1.203 0 0 0-.862-.332v-.01Zm-1.25 6.769H9.423V23.12h5.384v4.433Z",
fill: "#4CACFF"
}), /* @__PURE__ */React.createElement("path", {
d: "M16.057 10.005a1.22 1.22 0 0 1 1.238 1.189v6.812a1.213 1.213 0 0 1-.376.846c-.232.222-.542.34-.862.332H8.238A1.213 1.213 0 0 1 7 18.005v-6.811a1.22 1.22 0 0 1 1.238-1.19Zm-1.239 2.41H9.434v4.401h5.384v-4.4Z",
fill: "#94CDFF"
}), /* @__PURE__ */React.createElement("path", {
d: "M20.418 12.632h11.189a1.213 1.213 0 0 0 1.238-1.179 1.224 1.224 0 0 0-.371-.857 1.214 1.214 0 0 0-.867-.343H20.418a1.203 1.203 0 0 0-.866.336c-.233.223-.367.53-.372.854.005.323.14.63.372.854.232.223.544.344.866.335ZM31.575 16.027h-11.19a1.183 1.183 0 0 0-1.119.557c-.237.384-.237.87 0 1.254.238.384.672.6 1.12.557h11.189c.448.043.882-.173 1.119-.557.237-.384.237-.87 0-1.254a1.183 1.183 0 0 0-1.12-.557ZM31.575 21.595h-11.19a1.183 1.183 0 0 0-1.119.557c-.237.384-.237.87 0 1.254.238.384.672.6 1.12.557h11.189c.448.043.882-.173 1.119-.557.237-.384.237-.87 0-1.254a1.183 1.183 0 0 0-1.12-.557ZM31.575 27.163h-11.19a1.183 1.183 0 0 0-1.119.557c-.237.384-.237.87 0 1.254.238.384.672.6 1.12.557h11.189c.448.043.882-.173 1.119-.557.237-.384.237-.87 0-1.254a1.183 1.183 0 0 0-1.12-.557Z",
fill: "#1890FF"
}))));
};
/* harmony default export */ var show = ("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IHgxPSIwJSIgeTE9IjAlIiB4Mj0iMTAwJSIgeTI9IjEwMCUiIGlkPSJhIj48c3RvcCBzdG9wLWNvbG9yPSIjRUVGN0ZGIiBvZmZzZXQ9IjAlIi8+PHN0b3Agc3RvcC1jb2xvcj0iI0MxRTJGRiIgb2Zmc2V0PSIxMDAlIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cmVjdCBmaWxsPSJ1cmwoI2EpIiB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHJ4PSI4Ii8+PGcgZmlsbC1ydWxlPSJub256ZXJvIj48cGF0aCBkPSJNMTYuMDU3IDIwLjc4NEg4LjIzOEExLjIyIDEuMjIgMCAwIDAgNyAyMS45NzR2Ni44MTFhMS4yMiAxLjIyIDAgMCAwIDEuMjM4IDEuMTloNy44MTlhMS4yMTMgMS4yMTMgMCAwIDAgMS4yMzgtMS4xOXYtNi44MTFhMS4yMTMgMS4yMTMgMCAwIDAtLjM3Ni0uODQ3IDEuMjAzIDEuMjAzIDAgMCAwLS44NjItLjMzMnYtLjAxWm0tMS4yNSA2Ljc2OUg5LjQyM1YyMy4xMmg1LjM4NHY0LjQzM1oiIGZpbGw9IiM0Q0FDRkYiLz48cGF0aCBkPSJNMTYuMDU3IDEwLjAwNWExLjIyIDEuMjIgMCAwIDEgMS4yMzggMS4xODl2Ni44MTJhMS4yMTMgMS4yMTMgMCAwIDEtLjM3Ni44NDZjLS4yMzIuMjIyLS41NDIuMzQtLjg2Mi4zMzJIOC4yMzhBMS4yMTMgMS4yMTMgMCAwIDEgNyAxOC4wMDV2LTYuODExYTEuMjIgMS4yMiAwIDAgMSAxLjIzOC0xLjE5Wm0tMS4yMzkgMi40MUg5LjQzNHY0LjQwMWg1LjM4NHYtNC40WiIgZmlsbD0iIzk0Q0RGRiIvPjxwYXRoIGQ9Ik0yMC40MTggMTIuNjMyaDExLjE4OWExLjIxMyAxLjIxMyAwIDAgMCAxLjIzOC0xLjE3OSAxLjIyNCAxLjIyNCAwIDAgMC0uMzcxLS44NTcgMS4yMTQgMS4yMTQgMCAwIDAtLjg2Ny0uMzQzSDIwLjQxOGExLjIwMyAxLjIwMyAwIDAgMC0uODY2LjMzNmMtLjIzMy4yMjMtLjM2Ny41My0uMzcyLjg1NC4wMDUuMzIzLjE0LjYzLjM3Mi44NTQuMjMyLjIyMy41NDQuMzQ0Ljg2Ni4zMzVaTTMxLjU3NSAxNi4wMjdoLTExLjE5YTEuMTgzIDEuMTgzIDAgMCAwLTEuMTE5LjU1N2MtLjIzNy4zODQtLjIzNy44NyAwIDEuMjU0LjIzOC4zODQuNjcyLjYgMS4xMi41NTdoMTEuMTg5Yy40NDguMDQzLjg4Mi0uMTczIDEuMTE5LS41NTcuMjM3LS4zODQuMjM3LS44NyAwLTEuMjU0YTEuMTgzIDEuMTgzIDAgMCAwLTEuMTItLjU1N1pNMzEuNTc1IDIxLjU5NWgtMTEuMTlhMS4xODMgMS4xODMgMCAwIDAtMS4xMTkuNTU3Yy0uMjM3LjM4NC0uMjM3Ljg3IDAgMS4yNTQuMjM4LjM4NC42NzIuNiAxLjEyLjU1N2gxMS4xODljLjQ0OC4wNDMuODgyLS4xNzMgMS4xMTktLjU1Ny4yMzctLjM4NC4yMzctLjg3IDAtMS4yNTRhMS4xODMgMS4xODMgMCAwIDAtMS4xMi0uNTU3Wk0zMS41NzUgMjcuMTYzaC0xMS4xOWExLjE4MyAxLjE4MyAwIDAgMC0xLjExOS41NTdjLS4yMzcuMzg0LS4yMzcuODcgMCAxLjI1NC4yMzguMzg0LjY3Mi42IDEuMTIuNTU3aDExLjE4OWMuNDQ4LjA0My44ODItLjE3MyAxLjExOS0uNTU3LjIzNy0uMzg0LjIzNy0uODcgMC0xLjI1NGExLjE4MyAxLjE4MyAwIDAgMC0xLjEyLS41NTdaIiBmaWxsPSIjMTg5MEZGIi8+PC9nPjwvZz48L3N2Zz4=");
// 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: ./src/components/modal.tsx
var components_modal = __webpack_require__(613);
;// CONCATENATED MODULE: ./src/pages/Question/OjProblem/LeftPanel/Discuss/index.less
// extracted by mini-css-extract-plugin
// EXTERNAL MODULE: ./src/utils/fetch.ts
var fetch = __webpack_require__(14735);
;// CONCATENATED MODULE: ./src/pages/Question/OjProblem/LeftPanel/Discuss/service.ts
//
function getComments(params) {
return (0,fetch/* get */.U2)("comments.json", params);
}
function plusDiscuss(id) {
return (0,fetch/* post */.v_)("/discusses/".concat(id, "/plus.json"), {
container_type: "Discuss",
type: 1
});
}
//
function replyDiscuss(params) {
return (0,fetch/* post */.v_)("comments/reply.json", params);
}
//
function createDiscuss(params) {
return (0,fetch/* post */.v_)("comments.json", params);
}
//
function hiddenDiscuss(params) {
return (0,fetch/* post */.v_)("comments/".concat(params === null || params === void 0 ? void 0 : params.id, "/hidden.json"), params);
}
function deleteDiscuss(params) {
return (0,fetch/* del */.IV)("comments/".concat(params === null || params === void 0 ? void 0 : params.id, ".json"));
}
;// CONCATENATED MODULE: ./src/pages/Question/OjProblem/LeftPanel/Discuss/discuss-item/index.less
// extracted by mini-css-extract-plugin
// EXTERNAL MODULE: ./src/pages/tasks/left-panel/discuss/discuss-editor/index.tsx + 1 modules
var discuss_editor = __webpack_require__(2850);
// EXTERNAL MODULE: ./src/utils/authority.ts
var authority = __webpack_require__(71912);
;// CONCATENATED MODULE: ./src/pages/Question/OjProblem/LeftPanel/Discuss/discuss-item/index.tsx
function UserPhoto(_ref) {
var author = _ref.author;
return /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
href: "/users/".concat(author.login),
target: "_blank",
children: /*#__PURE__*/(0,jsx_runtime.jsx)("img", {
alt: "\u7528\u6237\u5934\u50CF",
height: "50",
style: {
borderRadius: '50%'
},
src: "".concat(env/* default */.Z.IMG_SERVER, "/images/").concat(author.image_url),
width: "50"
})
});
}
function SecondLevelDiscuss(_ref2) {
var data = _ref2.data,
index = _ref2.index,
parentDiscussIndex = _ref2.parentDiscussIndex,
user = _ref2.user,
onSetActionType = _ref2.onSetActionType;
var author = data.author,
can_delete = data.can_delete,
content = data.content,
id = data.id,
time = data.time;
function onDeleteDiscuss() {
onSetActionType({
id: id,
index: index,
type: 'delete-discuss',
parentDiscussIndex: parentDiscussIndex,
message: '确定要删除该条回复吗'
});
}
var canDelete = user.admin || can_delete || author.user_id === user.user_id;
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "discuss-item-container second-discuss ",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(UserPhoto, {
author: author
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("section", {
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "discuss-info",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("a", {
href: "/users/".concat(author.login),
target: "_blank",
children: author.name
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "grey",
children: time
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "btn-group",
style: {
marginBottom: 0
},
children: canDelete ? /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
onClick: onDeleteDiscuss,
title: "\u5220\u9664",
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-shanchu"
})
}) : null
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
className: "discuss-content",
value: content
})]
})]
});
}
/* harmony default export */ var discuss_item = (function (_ref3) {
var user = _ref3.user,
data = _ref3.data,
index = _ref3.index,
onPlusDiscuss = _ref3.onPlusDiscuss,
onSetActionType = _ref3.onSetActionType,
activeDiscussIndex = _ref3.activeDiscussIndex,
onReplyDiscuss = _ref3.onReplyDiscuss,
onSetActiveDiscussIndex = _ref3.onSetActiveDiscussIndex;
var content = data.content,
children = data.children,
hidden = data.hidden,
id = data.id,
praise_count = data.praise_count,
time = data.time,
user_praise = data.user_praise,
can_delete = data.can_delete,
author = data.author;
console.log(can_delete && (!children || children.length == 0), 'children22');
function onActiveDiscussIndex() {
onSetActiveDiscussIndex(id);
}
function onPlus() {
onPlusDiscuss(id, !user_praise, index);
}
function onDeleteDiscuss() {
onSetActionType({
id: id,
index: index,
type: 'delete-discuss',
message: '确定要删除该条回复吗'
});
}
function onHiddenDiscuss() {
onSetActionType({
id: id,
index: index,
params: {
hidden: !hidden ? '1' : '0'
},
type: 'hidden-discuss',
message: !hidden ? '确定要隐藏该条回复吗' : '确定要取消隐藏该条回复吗'
});
}
var adminOrOperator = user.admin || user.user_id === author.user_id;
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "discuss-item-container",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(UserPhoto, {
author: author
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("section", {
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "discuss-info",
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
href: "/users/".concat(author.login),
target: "_blank",
children: [" ", author.name, " "]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "grey",
children: time
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
className: "discuss-content",
value: content
}), children && children.length > 0 ? /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "reply-discuss-container",
children: children.map(function (item, i) {
return /*#__PURE__*/(0,jsx_runtime.jsx)(SecondLevelDiscuss, {
data: item,
index: i,
user: user,
onSetActionType: onSetActionType,
parentDiscussIndex: index
}, item.id);
})
}) : null, /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "btn-group",
children: [(0,authority/* isSuperAdmins */.Ny)() ? /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
onClick: onHiddenDiscuss,
title: hidden ? '取消隐藏' : '隐藏评论',
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: hidden ? 'iconfont icon-yincangbiyan' : 'fa fa-eye'
})
}) : null, can_delete && (!children || children.length == 0) ? /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
onClick: onDeleteDiscuss,
title: "\u5220\u9664",
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-shanchu"
})
}) : null, /*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
onClick: onActiveDiscussIndex,
title: "\u56DE\u590D",
children: [" ", /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-huifu1"
}), " "]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
onClick: onPlus,
className: user_praise ? 'c-orange' : '',
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: user_praise ? 'iconfont icon-dianzan mr3' : 'iconfont icon-dianzan-xian mr3 '
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: praise_count ? praise_count : ''
})]
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)(discuss_editor/* default */.Z, {
id: id,
activeDiscussIndex: activeDiscussIndex,
onReplyDiscuss: onReplyDiscuss
})]
})]
}, id);
});
// EXTERNAL MODULE: ./src/components/image-preview/index.tsx + 1 modules
var image_preview = __webpack_require__(30352);
;// CONCATENATED MODULE: ./src/pages/Question/OjProblem/LeftPanel/Discuss/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/Question/OjProblem/LeftPanel/Discuss/discuss-input-editor/index.tsx
/* 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,
discuss_count = _ref.discuss_count;
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:
onCreateDiscuss(value);
setValue('');
setShowMd(false);
case 3:
case "end":
return _context.stop();
}
}, _callee);
}));
return _onCommit.apply(this, arguments);
}
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "dis-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", {
style: {
alignItems: "center"
},
children: [" ", /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-huifu1"
}), " \xA0 \xA0", discuss_count, " "]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
className: "c-light-black",
onClick: praisePlus,
style: {
alignItems: "center"
},
title: user_praise ? '取消点赞' : '点赞',
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "mr3 ".concat(user_praise ? 'iconfont icon-dianzan c-orange' : 'iconfont icon-dianzan-xian', " ")
}), 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",
miniToolbar: true,
watch: false,
noStorage: true,
defaultValue: value,
height: 240,
onChange: onChangeHandler
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "tip-container",
onClick: onCancel,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
className: "btn-send",
onClick: onCommit,
children: " \u53D1\u9001 "
})
})]
})]
});
});
;// CONCATENATED MODULE: ./src/pages/Question/OjProblem/LeftPanel/Discuss/index.tsx
var initialState = {
loading: false,
page: 1,
data: [],
count: 0,
actionType: null,
activeDiscussIndex: null
};
var Types = /*#__PURE__*/function (Types) {
Types[Types["GET_DISCUSSES"] = 0] = "GET_DISCUSSES";
Types[Types["TOP_OR_DOWN_DISCUSS"] = 1] = "TOP_OR_DOWN_DISCUSS";
Types[Types["ACTIVE_DISCUSS_INDEX"] = 2] = "ACTIVE_DISCUSS_INDEX";
Types[Types["PLUS_DISCUSS"] = 3] = "PLUS_DISCUSS";
Types[Types["SET_ACTION_TYPE"] = 4] = "SET_ACTION_TYPE";
Types[Types["SET_PAGE"] = 5] = "SET_PAGE";
Types[Types["SHOW_DISCUSSES_LOADING"] = 6] = "SHOW_DISCUSSES_LOADING";
return Types;
}(Types || {});
function reducer(state, action) {
switch (action.type) {
case Types.SHOW_DISCUSSES_LOADING:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
loading: true
});
case Types.GET_DISCUSSES:
return objectSpread2_default()(objectSpread2_default()({}, state), action.payload);
case Types.TOP_OR_DOWN_DISCUSS:
return objectSpread2_default()(objectSpread2_default()({}, state), action.payload);
case Types.SET_ACTION_TYPE:
return objectSpread2_default()(objectSpread2_default()({}, state), action.payload);
case Types.PLUS_DISCUSS:
return objectSpread2_default()(objectSpread2_default()({}, state), action.payload);
case Types.SET_PAGE:
return objectSpread2_default()(objectSpread2_default()({}, state), action.payload);
case Types.ACTIVE_DISCUSS_INDEX:
return objectSpread2_default()(objectSpread2_default()({}, state), action.payload);
default:
throw new Error();
}
}
/* harmony default export */ var Discuss = (function (_ref) {
var user = _ref.user,
identifier = _ref.identifier,
hack = _ref.hack,
onTriggerPraise = _ref.onTriggerPraise,
setDiscussTotal = _ref.setDiscussTotal;
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,
count = state.count,
actionType = state.actionType,
activeDiscussIndex = state.activeDiscussIndex;
console.log('---', state);
var initData = (0,_react_17_0_2_react.useCallback)( /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
var response, comments, disscuss_count;
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
dispatch({
type: Types.SHOW_DISCUSSES_LOADING
});
_context.next = 3;
return getComments({
container_type: 'Practice',
container_identifier: identifier,
limit: 10,
page: page
});
case 3:
response = _context.sent;
comments = response.comments, disscuss_count = response.disscuss_count;
dispatch({
type: Types.GET_DISCUSSES,
payload: {
data: comments,
count: disscuss_count,
loading: false
}
});
setDiscussTotal(disscuss_count);
case 7:
case "end":
return _context.stop();
}
}, _callee);
})), [page, identifier]);
(0,_react_17_0_2_react.useEffect)(function () {
initData();
}, [identifier, page]);
function onPaginationChange(value) {
dispatch({
type: Types.SET_PAGE,
payload: {
page: value
}
});
}
function onSetActionType(value) {
dispatch({
type: Types.SET_ACTION_TYPE,
payload: {
actionType: value
}
});
}
function onSetActiveDiscussIndex(value) {
if (activeDiscussIndex === value) {
dispatch({
type: Types.ACTIVE_DISCUSS_INDEX,
payload: {
activeDiscussIndex: null
}
});
} else {
dispatch({
type: Types.ACTIVE_DISCUSS_INDEX,
payload: {
activeDiscussIndex: value
}
});
}
}
function onPlusDiscuss(_x, _x2, _x3) {
return _onPlusDiscuss.apply(this, arguments);
}
function _onPlusDiscuss() {
_onPlusDiscuss = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2(id, user_praise, index) {
var response;
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
_context2.prev = 0;
_context2.next = 3;
return plusDiscuss(id);
case 3:
response = _context2.sent;
data[index].user_praise = user_praise;
data[index].praise_count = response.praise_count;
dispatch({
type: Types.PLUS_DISCUSS,
payload: {
data: toConsumableArray_default()(data)
}
});
_context2.next = 12;
break;
case 9:
_context2.prev = 9;
_context2.t0 = _context2["catch"](0);
console.log(_context2.t0);
case 12:
case "end":
return _context2.stop();
}
}, _callee2, null, [[0, 9]]);
}));
return _onPlusDiscuss.apply(this, arguments);
}
function onProcessAction() {
return _onProcessAction.apply(this, arguments);
}
function _onProcessAction() {
_onProcessAction = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3() {
var id, params, type, index, parentDiscussIndex;
return regeneratorRuntime_default()().wrap(function _callee3$(_context3) {
while (1) switch (_context3.prev = _context3.next) {
case 0:
id = actionType.id, params = actionType.params, type = actionType.type, index = actionType.index, parentDiscussIndex = actionType.parentDiscussIndex;
if (!(type === 'hidden-discuss')) {
_context3.next = 7;
break;
}
console.log(params, 'params');
_context3.next = 5;
return hiddenDiscuss(objectSpread2_default()({
id: id,
container_type: 'Practice',
container_identifier: identifier
}, params));
case 5:
if (!parentDiscussIndex) {
data[index].hidden = params.hidden == 1 ? true : false;
} else {
data[parentDiscussIndex].children[index].hidden = params.hidden == 1 ? true : false;
}
dispatch({
type: Types.SET_ACTION_TYPE,
payload: {
actionType: null,
data: toConsumableArray_default()(data)
}
});
case 7:
if (!(type === 'delete-discuss')) {
_context3.next = 13;
break;
}
_context3.next = 10;
return deleteDiscuss({
id: id,
container_type: 'Practice',
container_identifier: identifier
});
case 10:
// if (parentDiscussIndex || parentDiscussIndex === 0) {
// let secondDicusses = data[parentDiscussIndex].children
// for (let i = secondDicusses.length - 1; i >= 0; i--) {
// if (secondDicusses[i].id === id) {
// secondDicusses.splice(i, 1)
// break
// }
// }
// data[parentDiscussIndex].children = secondDicusses
// } else {
// for (let i = data.length - 1; i >= 0; i--) {
// if (data[i].id === id) {
// data.splice(i, 1)
// break
// }
// }
// }
dispatch({
type: Types.SET_ACTION_TYPE,
payload: {
actionType: null
// data: [...data],
}
});
_context3.next = 13;
return initData();
case 13:
case "end":
return _context3.stop();
}
}, _callee3);
}));
return _onProcessAction.apply(this, arguments);
}
function onCancelAction() {
dispatch({
type: Types.SET_ACTION_TYPE,
payload: {
actionType: null
}
});
}
function onReplyDiscuss(_x4, _x5) {
return _onReplyDiscuss.apply(this, arguments);
}
function _onReplyDiscuss() {
_onReplyDiscuss = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee4(id, value) {
return regeneratorRuntime_default()().wrap(function _callee4$(_context4) {
while (1) switch (_context4.prev = _context4.next) {
case 0:
_context4.prev = 0;
_context4.next = 3;
return replyDiscuss({
container_type: 'Practice',
container_identifier: identifier,
comments: {
content: value,
parent_id: id
}
});
case 3:
initData();
_context4.next = 9;
break;
case 6:
_context4.prev = 6;
_context4.t0 = _context4["catch"](0);
console.log(_context4.t0);
case 9:
case "end":
return _context4.stop();
}
}, _callee4, null, [[0, 6]]);
}));
return _onReplyDiscuss.apply(this, arguments);
}
function onCreateDiscuss(_x6) {
return _onCreateDiscuss.apply(this, arguments);
}
function _onCreateDiscuss() {
_onCreateDiscuss = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee5(value) {
return regeneratorRuntime_default()().wrap(function _callee5$(_context5) {
while (1) switch (_context5.prev = _context5.next) {
case 0:
dispatch({
type: Types.SHOW_DISCUSSES_LOADING
});
_context5.next = 3;
return createDiscuss({
comments: {
content: value
},
container_type: 'Practice',
container_identifier: identifier
});
case 3:
initData();
case 4:
case "end":
return _context5.stop();
}
}, _callee5);
}));
return _onCreateDiscuss.apply(this, arguments);
}
return /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "discuss-panel",
children: [data.length === 0 ? /*#__PURE__*/(0,jsx_runtime.jsx)(NoData/* default */.Z, {}) : /*#__PURE__*/(0,jsx_runtime.jsx)(spin/* default */.Z, {
spinning: loading,
children: data.map(function (item, index) {
return /*#__PURE__*/(0,jsx_runtime.jsx)(discuss_item, {
onReplyDiscuss: onReplyDiscuss,
onPlusDiscuss: onPlusDiscuss,
onSetActiveDiscussIndex: onSetActiveDiscussIndex,
onSetActionType: onSetActionType,
data: item,
index: index,
user: user,
activeDiscussIndex: activeDiscussIndex
});
})
}), count > 10 ? /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "pagination-container mt10 mb10",
children: /*#__PURE__*/(0,jsx_runtime.jsx)(pagination/* default */.Z, {
showQuickJumper: true,
onChange: onPaginationChange,
current: page,
total: count,
showTotal: function showTotal(total) {
return /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
style: {
color: '#656F87'
},
children: ["\u5171", /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "c-light-primary",
children: total
}), "\u6761\u6570\u636E"]
});
}
})
}) : null]
}), /*#__PURE__*/(0,jsx_runtime.jsx)(discuss_input_editor, {
user_praise: hack.user_praise,
praise_count: hack.praises_count,
praisePlus: onTriggerPraise,
discuss_count: hack.comments_count,
onCreateDiscuss: onCreateDiscuss
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(components_modal/* default */.Z, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, {
centered: true,
title: "\u63D0\u793A",
open: !!actionType,
onOk: onProcessAction,
onCancel: onCancelAction,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
children: actionType ? actionType.message : ''
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(image_preview/* default */.Z, {})]
})]
});
});
;// CONCATENATED MODULE: ./src/pages/Question/OjProblem/LeftPanel/FilterList/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var FilterListmodules = ({"flex_box_center":"flex_box_center___tosr6","flex_space_between":"flex_space_between___cQaTP","flex_box_vertical_center":"flex_box_vertical_center___uovxL","flex_box_center_end":"flex_box_center_end___b4gLY","flex_box_column":"flex_box_column___Umjm_","wrap":"wrap___sgoJE","head":"head___b9a9v","sort":"sort___L2Zw8","btn":"btn___khuE4","listWarp":"listWarp___zZj6C","pagination":"pagination___XlROP","fixedRight":"fixedRight___MuAXo","oj-width-input":"oj-width-input___RsZb6"});
;// CONCATENATED MODULE: ./src/pages/Question/OjProblem/LeftPanel/FilterList/List/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var Listmodules = ({"flex_box_center":"flex_box_center___EahWI","flex_space_between":"flex_space_between___zopS4","flex_box_vertical_center":"flex_box_vertical_center___w03mz","flex_box_center_end":"flex_box_center_end___lr0Fp","flex_box_column":"flex_box_column___KFHVi","active":"active___BczOO","line":"line___VC_Ry","list":"list___n9ABd","left":"left___LVHqw","mask":"mask___fP13z","right":"right___iLe52","name":"name___Oz_7h","title":"title___2Sess","a":"a___t7rIW","b":"b___Kb_45","des":"des___CjMBM","tag":"tag___V0PVb"});
;// CONCATENATED MODULE: ./src/pages/Question/OjProblem/LeftPanel/FilterList/List/img/b.svg
function b_createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = b_unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
function b_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return b_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return b_arrayLikeToArray(o, minLen); }
function b_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
var b_defProp = Object.defineProperty;
var b_getOwnPropSymbols = Object.getOwnPropertySymbols;
var b_hasOwnProp = Object.prototype.hasOwnProperty;
var b_propIsEnum = Object.prototype.propertyIsEnumerable;
var b_defNormalProp = function __defNormalProp(obj, key, value) {
return key in obj ? b_defProp(obj, key, {
enumerable: true,
configurable: true,
writable: true,
value: value
}) : obj[key] = value;
};
var b_spreadValues = function __spreadValues(a, b) {
for (var prop in b || (b = {})) if (b_hasOwnProp.call(b, prop)) b_defNormalProp(a, prop, b[prop]);
if (b_getOwnPropSymbols) {
var _iterator = b_createForOfIteratorHelper(b_getOwnPropSymbols(b)),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var prop = _step.value;
if (b_propIsEnum.call(b, prop)) b_defNormalProp(a, prop, b[prop]);
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
}
return a;
};
var SvgB = function SvgB(props) {
return /* @__PURE__ */React.createElement("svg", b_spreadValues({
width: 12,
height: 10,
xmlns: "http://www.w3.org/2000/svg"
}, props), /* @__PURE__ */React.createElement("title", null, "\u89C2\u770B"), /* @__PURE__ */React.createElement("path", {
d: "M11 0a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V1a1 1 0 0 1 1-1h10ZM4.4 2.4a.4.4 0 0 0-.4.4v4.4a.4.4 0 0 0 .64.32l2.72-2.04a.6.6 0 0 0 0-.96L4.64 2.48a.4.4 0 0 0-.24-.08Z",
fill: "#FFF",
fillRule: "evenodd"
}));
};
/* harmony default export */ var b = ("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTExIDBhMSAxIDAgMCAxIDEgMXY4YTEgMSAwIDAgMS0xIDFIMWExIDEgMCAwIDEtMS0xVjFhMSAxIDAgMCAxIDEtMWgxMFpNNC40IDIuNGEuNC40IDAgMCAwLS40LjR2NC40YS40LjQgMCAwIDAgLjY0LjMybDIuNzItMi4wNGEuNi42IDAgMCAwIDAtLjk2TDQuNjQgMi40OGEuNC40IDAgMCAwLS4yNC0uMDhaIiBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4=");
;// CONCATENATED MODULE: ./src/pages/Question/OjProblem/LeftPanel/FilterList/List/img/c.svg
function c_createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = c_unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
function c_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return c_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return c_arrayLikeToArray(o, minLen); }
function c_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
var c_defProp = Object.defineProperty;
var c_getOwnPropSymbols = Object.getOwnPropertySymbols;
var c_hasOwnProp = Object.prototype.hasOwnProperty;
var c_propIsEnum = Object.prototype.propertyIsEnumerable;
var c_defNormalProp = function __defNormalProp(obj, key, value) {
return key in obj ? c_defProp(obj, key, {
enumerable: true,
configurable: true,
writable: true,
value: value
}) : obj[key] = value;
};
var c_spreadValues = function __spreadValues(a, b) {
for (var prop in b || (b = {})) if (c_hasOwnProp.call(b, prop)) c_defNormalProp(a, prop, b[prop]);
if (c_getOwnPropSymbols) {
var _iterator = c_createForOfIteratorHelper(c_getOwnPropSymbols(b)),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var prop = _step.value;
if (c_propIsEnum.call(b, prop)) c_defNormalProp(a, prop, b[prop]);
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
}
return a;
};
var SvgC = function SvgC(props) {
return /* @__PURE__ */React.createElement("svg", c_spreadValues({
width: 16,
height: 14,
xmlns: "http://www.w3.org/2000/svg"
}, props), /* @__PURE__ */React.createElement("title", null, "\u70B9\u8D5E1"), /* @__PURE__ */React.createElement("g", {
fillRule: "nonzero",
fill: "none"
}, /* @__PURE__ */React.createElement("path", {
d: "M2.593 13.356V5.694c0-.31-.231-.561-.516-.561H.976c-.532 0-.962.468-.962 1.047v6.69c0 .579.43 1.047.962 1.047h1.101c.285 0 .516-.251.516-.561Z",
fill: "#999"
}), /* @__PURE__ */React.createElement("path", {
d: "M3.335 13.512V5.53c0-.184.136-.346.333-.391.695-.16 2.289-.735 2.967-2.694C7.048.73 7.495-.08 8.823.017c1.328.097 1.417 1.263 1.417 1.618v2.752s-.107.42.34.453c.45.033 3.947 0 3.947 0s1.919-.029 1.309 2.122c-.53 1.871-1.58 4.882-1.846 5.635a1.606 1.606 0 0 1-.235.438c-.257.338-.796.88-1.62.88H3.782c-.247.002-.447-.179-.447-.403Z",
fill: "#CCC"
})));
};
/* harmony default export */ var c = ("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbC1ydWxlPSJub256ZXJvIiBmaWxsPSJub25lIj48cGF0aCBkPSJNMi41OTMgMTMuMzU2VjUuNjk0YzAtLjMxLS4yMzEtLjU2MS0uNTE2LS41NjFILjk3NmMtLjUzMiAwLS45NjIuNDY4LS45NjIgMS4wNDd2Ni42OWMwIC41NzkuNDMgMS4wNDcuOTYyIDEuMDQ3aDEuMTAxYy4yODUgMCAuNTE2LS4yNTEuNTE2LS41NjFaIiBmaWxsPSIjOTk5Ii8+PHBhdGggZD0iTTMuMzM1IDEzLjUxMlY1LjUzYzAtLjE4NC4xMzYtLjM0Ni4zMzMtLjM5MS42OTUtLjE2IDIuMjg5LS43MzUgMi45NjctMi42OTRDNy4wNDguNzMgNy40OTUtLjA4IDguODIzLjAxN2MxLjMyOC4wOTcgMS40MTcgMS4yNjMgMS40MTcgMS42MTh2Mi43NTJzLS4xMDcuNDIuMzQuNDUzYy40NS4wMzMgMy45NDcgMCAzLjk0NyAwczEuOTE5LS4wMjkgMS4zMDkgMi4xMjJjLS41MyAxLjg3MS0xLjU4IDQuODgyLTEuODQ2IDUuNjM1YTEuNjA2IDEuNjA2IDAgMCAxLS4yMzUuNDM4Yy0uMjU3LjMzOC0uNzk2Ljg4LTEuNjIuODhIMy43ODJjLS4yNDcuMDAyLS40NDctLjE3OS0uNDQ3LS40MDNaIiBmaWxsPSIjQ0NDIi8+PC9nPjwvc3ZnPg==");
;// CONCATENATED MODULE: ./src/pages/Question/OjProblem/LeftPanel/FilterList/List/img/c1.svg
function c1_createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = c1_unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
function c1_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return c1_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return c1_arrayLikeToArray(o, minLen); }
function c1_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
var c1_defProp = Object.defineProperty;
var c1_getOwnPropSymbols = Object.getOwnPropertySymbols;
var c1_hasOwnProp = Object.prototype.hasOwnProperty;
var c1_propIsEnum = Object.prototype.propertyIsEnumerable;
var c1_defNormalProp = function __defNormalProp(obj, key, value) {
return key in obj ? c1_defProp(obj, key, {
enumerable: true,
configurable: true,
writable: true,
value: value
}) : obj[key] = value;
};
var c1_spreadValues = function __spreadValues(a, b) {
for (var prop in b || (b = {})) if (c1_hasOwnProp.call(b, prop)) c1_defNormalProp(a, prop, b[prop]);
if (c1_getOwnPropSymbols) {
var _iterator = c1_createForOfIteratorHelper(c1_getOwnPropSymbols(b)),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var prop = _step.value;
if (c1_propIsEnum.call(b, prop)) c1_defNormalProp(a, prop, b[prop]);
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
}
return a;
};
var SvgC1 = function SvgC1(props) {
return /* @__PURE__ */React.createElement("svg", c1_spreadValues({
width: 16,
height: 14,
xmlns: "http://www.w3.org/2000/svg"
}, props), /* @__PURE__ */React.createElement("title", null, "\u70B9\u8D5E2"), /* @__PURE__ */React.createElement("g", {
fillRule: "nonzero",
fill: "none"
}, /* @__PURE__ */React.createElement("path", {
d: "M2.593 13.356V5.694c0-.31-.231-.561-.516-.561H.976c-.532 0-.962.468-.962 1.047v6.69c0 .579.43 1.047.962 1.047h1.101c.285 0 .516-.251.516-.561Z",
fill: "#0152d9"
}), /* @__PURE__ */React.createElement("path", {
d: "M3.335 13.512V5.53c0-.184.136-.346.333-.391.695-.16 2.289-.735 2.967-2.694C7.048.73 7.495-.08 8.823.017c1.328.097 1.417 1.263 1.417 1.618v2.752s-.107.42.34.453c.45.033 3.947 0 3.947 0s1.919-.029 1.309 2.122c-.53 1.871-1.58 4.882-1.846 5.635a1.606 1.606 0 0 1-.235.438c-.257.338-.796.88-1.62.88H3.782c-.247.002-.447-.179-.447-.403Z",
fill: "#B6D0FC"
})));
};
/* harmony default export */ var c1 = ("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbC1ydWxlPSJub256ZXJvIiBmaWxsPSJub25lIj48cGF0aCBkPSJNMi41OTMgMTMuMzU2VjUuNjk0YzAtLjMxLS4yMzEtLjU2MS0uNTE2LS41NjFILjk3NmMtLjUzMiAwLS45NjIuNDY4LS45NjIgMS4wNDd2Ni42OWMwIC41NzkuNDMgMS4wNDcuOTYyIDEuMDQ3aDEuMTAxYy4yODUgMCAuNTE2LS4yNTEuNTE2LS41NjFaIiBmaWxsPSIjMDE1MmQ5Ii8+PHBhdGggZD0iTTMuMzM1IDEzLjUxMlY1LjUzYzAtLjE4NC4xMzYtLjM0Ni4zMzMtLjM5MS42OTUtLjE2IDIuMjg5LS43MzUgMi45NjctMi42OTRDNy4wNDguNzMgNy40OTUtLjA4IDguODIzLjAxN2MxLjMyOC4wOTcgMS40MTcgMS4yNjMgMS40MTcgMS42MTh2Mi43NTJzLS4xMDcuNDIuMzQuNDUzYy40NS4wMzMgMy45NDcgMCAzLjk0NyAwczEuOTE5LS4wMjkgMS4zMDkgMi4xMjJjLS41MyAxLjg3MS0xLjU4IDQuODgyLTEuODQ2IDUuNjM1YTEuNjA2IDEuNjA2IDAgMCAxLS4yMzUuNDM4Yy0uMjU3LjMzOC0uNzk2Ljg4LTEuNjIuODhIMy43ODJjLS4yNDcuMDAyLS40NDctLjE3OS0uNDQ3LS40MDNaIiBmaWxsPSIjQjZEMEZDIi8+PC9nPjwvc3ZnPg==");
;// CONCATENATED MODULE: ./src/pages/Question/OjProblem/LeftPanel/FilterList/List/img/d.svg
function d_createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = d_unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
function d_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return d_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return d_arrayLikeToArray(o, minLen); }
function d_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
var d_defProp = Object.defineProperty;
var d_getOwnPropSymbols = Object.getOwnPropertySymbols;
var d_hasOwnProp = Object.prototype.hasOwnProperty;
var d_propIsEnum = Object.prototype.propertyIsEnumerable;
var d_defNormalProp = function __defNormalProp(obj, key, value) {
return key in obj ? d_defProp(obj, key, {
enumerable: true,
configurable: true,
writable: true,
value: value
}) : obj[key] = value;
};
var d_spreadValues = function __spreadValues(a, b) {
for (var prop in b || (b = {})) if (d_hasOwnProp.call(b, prop)) d_defNormalProp(a, prop, b[prop]);
if (d_getOwnPropSymbols) {
var _iterator = d_createForOfIteratorHelper(d_getOwnPropSymbols(b)),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var prop = _step.value;
if (d_propIsEnum.call(b, prop)) d_defNormalProp(a, prop, b[prop]);
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
}
return a;
};
var SvgD = function SvgD(props) {
return /* @__PURE__ */React.createElement("svg", d_spreadValues({
width: 16,
height: 14,
xmlns: "http://www.w3.org/2000/svg"
}, props), /* @__PURE__ */React.createElement("title", null, "\u8BC4\u8BBA1"), /* @__PURE__ */React.createElement("g", {
fillRule: "nonzero",
fill: "none"
}, /* @__PURE__ */React.createElement("path", {
d: "M4.717.01h8.84c1.571 0 2.357.777 2.357 2.332v5.25c0 1.556-.786 2.334-2.357 2.334h-8.84c-1.572 0-2.357-.778-2.357-2.334v-5.25C2.36.787 3.145.01 4.717.01Z",
fill: "#999"
}), /* @__PURE__ */React.createElement("path", {
d: "M2.36 2.342h8.84a2.37 2.37 0 0 1 1.666.684c.442.437.69 1.03.69 1.65v5.25c0 1.288-1.055 2.333-2.357 2.333H7.94l-1.16 1.153-1.167-1.153H2.36a2.37 2.37 0 0 1-1.667-.683 2.321 2.321 0 0 1-.69-1.65v-5.25c0-.62.248-1.213.69-1.65a2.37 2.37 0 0 1 1.667-.684Z",
fill: "#B6D0FC"
}), /* @__PURE__ */React.createElement("path", {
d: "M2.36 2.926h8.84c1.301 0 2.357 1.044 2.357 2.333v5.25c0 .619-.249 1.212-.69 1.65a2.37 2.37 0 0 1-1.668.683H7.94l-1.16 1.154-1.167-1.154H2.36a2.37 2.37 0 0 1-1.667-.683 2.321 2.321 0 0 1-.69-1.65V5.26c0-.619.248-1.212.69-1.65a2.37 2.37 0 0 1 1.667-.683Z",
fill: "#CCC"
}), /* @__PURE__ */React.createElement("path", {
d: "M3.538 5.842h6.483c.393 0 .589.195.589.584 0 .389-.196.583-.59.583H3.539c-.393 0-.59-.194-.59-.583 0-.39.197-.584.59-.584ZM3.538 8.76h4.715c.393 0 .59.194.59.582 0 .39-.197.584-.59.584H3.538c-.393 0-.59-.195-.59-.584 0-.388.197-.583.59-.583Z",
fill: "#FFF"
})));
};
/* harmony default export */ var d = ("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbC1ydWxlPSJub256ZXJvIiBmaWxsPSJub25lIj48cGF0aCBkPSJNNC43MTcuMDFoOC44NGMxLjU3MSAwIDIuMzU3Ljc3NyAyLjM1NyAyLjMzMnY1LjI1YzAgMS41NTYtLjc4NiAyLjMzNC0yLjM1NyAyLjMzNGgtOC44NGMtMS41NzIgMC0yLjM1Ny0uNzc4LTIuMzU3LTIuMzM0di01LjI1QzIuMzYuNzg3IDMuMTQ1LjAxIDQuNzE3LjAxWiIgZmlsbD0iIzk5OSIvPjxwYXRoIGQ9Ik0yLjM2IDIuMzQyaDguODRhMi4zNyAyLjM3IDAgMCAxIDEuNjY2LjY4NGMuNDQyLjQzNy42OSAxLjAzLjY5IDEuNjV2NS4yNWMwIDEuMjg4LTEuMDU1IDIuMzMzLTIuMzU3IDIuMzMzSDcuOTRsLTEuMTYgMS4xNTMtMS4xNjctMS4xNTNIMi4zNmEyLjM3IDIuMzcgMCAwIDEtMS42NjctLjY4MyAyLjMyMSAyLjMyMSAwIDAgMS0uNjktMS42NXYtNS4yNWMwLS42Mi4yNDgtMS4yMTMuNjktMS42NWEyLjM3IDIuMzcgMCAwIDEgMS42NjctLjY4NFoiIGZpbGw9IiNCNkQwRkMiLz48cGF0aCBkPSJNMi4zNiAyLjkyNmg4Ljg0YzEuMzAxIDAgMi4zNTcgMS4wNDQgMi4zNTcgMi4zMzN2NS4yNWMwIC42MTktLjI0OSAxLjIxMi0uNjkgMS42NWEyLjM3IDIuMzcgMCAwIDEtMS42NjguNjgzSDcuOTRsLTEuMTYgMS4xNTQtMS4xNjctMS4xNTRIMi4zNmEyLjM3IDIuMzcgMCAwIDEtMS42NjctLjY4MyAyLjMyMSAyLjMyMSAwIDAgMS0uNjktMS42NVY1LjI2YzAtLjYxOS4yNDgtMS4yMTIuNjktMS42NWEyLjM3IDIuMzcgMCAwIDEgMS42NjctLjY4M1oiIGZpbGw9IiNDQ0MiLz48cGF0aCBkPSJNMy41MzggNS44NDJoNi40ODNjLjM5MyAwIC41ODkuMTk1LjU4OS41ODQgMCAuMzg5LS4xOTYuNTgzLS41OS41ODNIMy41MzljLS4zOTMgMC0uNTktLjE5NC0uNTktLjU4MyAwLS4zOS4xOTctLjU4NC41OS0uNTg0Wk0zLjUzOCA4Ljc2aDQuNzE1Yy4zOTMgMCAuNTkuMTk0LjU5LjU4MiAwIC4zOS0uMTk3LjU4NC0uNTkuNTg0SDMuNTM4Yy0uMzkzIDAtLjU5LS4xOTUtLjU5LS41ODQgMC0uMzg4LjE5Ny0uNTgzLjU5LS41ODNaIiBmaWxsPSIjRkZGIi8+PC9nPjwvc3ZnPg==");
;// CONCATENATED MODULE: ./src/pages/Question/OjProblem/LeftPanel/FilterList/List/img/e.svg
function e_createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = e_unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
function e_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return e_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return e_arrayLikeToArray(o, minLen); }
function e_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
var e_defProp = Object.defineProperty;
var e_getOwnPropSymbols = Object.getOwnPropertySymbols;
var e_hasOwnProp = Object.prototype.hasOwnProperty;
var e_propIsEnum = Object.prototype.propertyIsEnumerable;
var e_defNormalProp = function __defNormalProp(obj, key, value) {
return key in obj ? e_defProp(obj, key, {
enumerable: true,
configurable: true,
writable: true,
value: value
}) : obj[key] = value;
};
var e_spreadValues = function __spreadValues(a, b) {
for (var prop in b || (b = {})) if (e_hasOwnProp.call(b, prop)) e_defNormalProp(a, prop, b[prop]);
if (e_getOwnPropSymbols) {
var _iterator = e_createForOfIteratorHelper(e_getOwnPropSymbols(b)),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var prop = _step.value;
if (e_propIsEnum.call(b, prop)) e_defNormalProp(a, prop, b[prop]);
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
}
return a;
};
var SvgE = function SvgE(props) {
return /* @__PURE__ */React.createElement("svg", e_spreadValues({
width: 16,
height: 12,
xmlns: "http://www.w3.org/2000/svg"
}, props), /* @__PURE__ */React.createElement("title", null, "\u67E5\u770B1"), /* @__PURE__ */React.createElement("g", {
fillRule: "nonzero",
fill: "none"
}, /* @__PURE__ */React.createElement("path", {
d: "M7.965 11.961C2.593 11.961 0 6.926 0 5.981 0 5.035 2.623 0 7.965 0s7.965 4.984 7.965 5.98c0 .997-2.593 5.981-7.965 5.981Zm0-2.208c1.296 0 2.494-.72 3.142-1.886a3.902 3.902 0 0 0 0-3.773c-.648-1.167-1.846-1.886-3.142-1.886-2.004 0-3.629 1.69-3.629 3.773s1.625 3.772 3.629 3.772Z",
fill: "#CCC"
}), /* @__PURE__ */React.createElement("path", {
d: "M7.965 8.28c-1.222 0-2.213-1.029-2.213-2.3 0-1.27.991-2.3 2.213-2.3s2.212 1.03 2.212 2.3c0 1.271-.99 2.3-2.212 2.3Z",
fill: "#999"
})));
};
/* harmony default export */ var e = ("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbC1ydWxlPSJub256ZXJvIiBmaWxsPSJub25lIj48cGF0aCBkPSJNNy45NjUgMTEuOTYxQzIuNTkzIDExLjk2MSAwIDYuOTI2IDAgNS45ODEgMCA1LjAzNSAyLjYyMyAwIDcuOTY1IDBzNy45NjUgNC45ODQgNy45NjUgNS45OGMwIC45OTctMi41OTMgNS45ODEtNy45NjUgNS45ODFabTAtMi4yMDhjMS4yOTYgMCAyLjQ5NC0uNzIgMy4xNDItMS44ODZhMy45MDIgMy45MDIgMCAwIDAgMC0zLjc3M2MtLjY0OC0xLjE2Ny0xLjg0Ni0xLjg4Ni0zLjE0Mi0xLjg4Ni0yLjAwNCAwLTMuNjI5IDEuNjktMy42MjkgMy43NzNzMS42MjUgMy43NzIgMy42MjkgMy43NzJaIiBmaWxsPSIjQ0NDIi8+PHBhdGggZD0iTTcuOTY1IDguMjhjLTEuMjIyIDAtMi4yMTMtMS4wMjktMi4yMTMtMi4zIDAtMS4yNy45OTEtMi4zIDIuMjEzLTIuM3MyLjIxMiAxLjAzIDIuMjEyIDIuM2MwIDEuMjcxLS45OSAyLjMtMi4yMTIgMi4zWiIgZmlsbD0iIzk5OSIvPjwvZz48L3N2Zz4=");
;// CONCATENATED MODULE: ./src/pages/Question/OjProblem/LeftPanel/FilterList/List/index.tsx
var List = function List(_ref) {
var _ref$style = _ref.style,
style = _ref$style === void 0 ? {} : _ref$style,
_onClick = _ref.onClick,
onAssist = _ref.onAssist,
onHide = _ref.onHide,
data = _ref.data,
active = _ref.active,
showLine = _ref.showLine;
return /*#__PURE__*/(0,jsx_runtime.jsxs)(_react_17_0_2_react.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: active === (data === null || data === void 0 ? void 0 : data.id) ? "".concat(Listmodules.list, " ").concat(Listmodules.active) : Listmodules.list,
style: style,
onClick: function onClick() {
return _onClick(data);
},
children: [(data === null || data === void 0 ? void 0 : data.video) && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Listmodules.left,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
src: data === null || data === void 0 ? void 0 : data.video_cover
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
src: b
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: data === null || data === void 0 ? void 0 : data.video_duration
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: Listmodules.mask
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Listmodules.right,
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Listmodules.name,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
src: env/* default */.Z.IMG_SERVER + '/images/' + (data === null || data === void 0 ? void 0 : data.image_url),
width: 30,
height: 30
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
title: data === null || data === void 0 ? void 0 : data.name,
className: Listmodules.title,
children: data === null || data === void 0 ? void 0 : data.name
}), (data === null || data === void 0 ? void 0 : data.is_authority) && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: Listmodules.b,
children: "\u5B98\u65B9"
}), (data === null || data === void 0 ? void 0 : data.is_excellent) && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: Listmodules.a,
children: "\u7CBE\u9009"
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: Listmodules.des,
children: /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
showLines: 2,
showTextOnly: true,
value: (data === null || data === void 0 ? void 0 : data.content) || '暂无内容'
})
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Listmodules.tag,
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
className: "current",
onClick: function onClick(e) {
e.stopPropagation();
onAssist(data);
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
src: data !== null && data !== void 0 && data.user_liker ? c1 : c
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
style: {
color: data !== null && data !== void 0 && data.user_liker ? '#0152d9' : '#656f87'
},
children: data === null || data === void 0 ? void 0 : data.praises_count
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
src: d
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: data === null || data === void 0 ? void 0 : data.discusses_count
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
src: e
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: data === null || data === void 0 ? void 0 : data.viewed_count
})]
}), (0,authority/* isSuperAdmins */.Ny)() && /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "current",
style: {
color: '#0152d9',
marginRight: 0,
userSelect: 'none'
},
onClick: function onClick(e) {
e.stopPropagation();
onHide(data);
},
children: data !== null && data !== void 0 && data.is_hidden ? '取消隐藏' : '隐藏'
})]
})]
})]
}), showLine && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: Listmodules.line
})]
});
};
/* harmony default export */ var FilterList_List = (List);
;// CONCATENATED MODULE: ./src/pages/Question/OjProblem/LeftPanel/FilterList/ListForm/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var ListFormmodules = ({"flex_box_center":"flex_box_center___C6sVF","flex_space_between":"flex_space_between___VEt8l","flex_box_vertical_center":"flex_box_vertical_center___qeD5F","flex_box_center_end":"flex_box_center_end___iYJd9","flex_box_column":"flex_box_column___iAKJf","listForm":"listForm___leDJL","scroll":"scroll___wtFaF","formWrap":"formWrap___p3W41","btns":"btns___Izl4q","main":"main___xTqlG","mainLoading":"mainLoading___QLa9s","tip":"tip___a0tbY","proWarp":"proWarp___BZhOt","pro":"pro___Yp1Rx","mainSucceed":"mainSucceed___HfaTf","del":"del___TXGhB"});
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/tooltip/index.js + 3 modules
var tooltip = __webpack_require__(6848);
// EXTERNAL MODULE: ./src/utils/aliyunUpload.ts
var aliyunUpload = __webpack_require__(16802);
;// CONCATENATED MODULE: ./src/pages/Question/OjProblem/LeftPanel/FilterList/ListForm/img/v.svg
function v_createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = v_unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
function v_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return v_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return v_arrayLikeToArray(o, minLen); }
function v_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
var v_defProp = Object.defineProperty;
var v_getOwnPropSymbols = Object.getOwnPropertySymbols;
var v_hasOwnProp = Object.prototype.hasOwnProperty;
var v_propIsEnum = Object.prototype.propertyIsEnumerable;
var v_defNormalProp = function __defNormalProp(obj, key, value) {
return key in obj ? v_defProp(obj, key, {
enumerable: true,
configurable: true,
writable: true,
value: value
}) : obj[key] = value;
};
var v_spreadValues = function __spreadValues(a, b) {
for (var prop in b || (b = {})) if (v_hasOwnProp.call(b, prop)) v_defNormalProp(a, prop, b[prop]);
if (v_getOwnPropSymbols) {
var _iterator = v_createForOfIteratorHelper(v_getOwnPropSymbols(b)),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var prop = _step.value;
if (v_propIsEnum.call(b, prop)) v_defNormalProp(a, prop, b[prop]);
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
}
return a;
};
var SvgV = function SvgV(props) {
return /* @__PURE__ */React.createElement("svg", v_spreadValues({
width: 32,
height: 30,
xmlns: "http://www.w3.org/2000/svg"
}, props), /* @__PURE__ */React.createElement("title", null, "\u4E0A\u4F20\u89C6\u9891"), /* @__PURE__ */React.createElement("path", {
d: "M1.6 0C1.175 0 .768.17.468.474A1.63 1.63 0 0 0 0 1.622v3.243h3.237L7.378 0H1.6Zm7.876 0L5.338 4.865h5.9L15.371 0H9.476Zm7.998 0-4.137 4.865h5.896L23.372 0h-5.898Zm8 0-4.138 4.865h6.66V1.622a1.629 1.629 0 0 0-.467-1.148A1.585 1.585 0 0 0 26.397 0h-.924ZM0 6.487v17.837c0 .43.167.844.468 1.148.3.305.707.475 1.132.474h18.61a6.515 6.515 0 0 1 1.652-6.218 6.31 6.31 0 0 1 6.134-1.675V6.487H0Zm11.998 5.675 6.4 4.056-6.4 4.055v-8.11Zm14.399 6.487c-3.092.002-5.597 2.544-5.595 5.678.001 3.134 2.508 5.674 5.6 5.673C29.494 30 32 27.458 32 24.324c0-1.506-.59-2.95-1.641-4.014a5.561 5.561 0 0 0-3.962-1.661Zm0 2.027c.22.003.428.1.574.266.663.6 1.327 1.352 1.99 2.002a.8.8 0 0 1 0 1.14.788.788 0 0 1-1.125 0l-.638-.646v3.724a.814.814 0 0 1-.392.724.79.79 0 0 1-.815 0 .814.814 0 0 1-.392-.724v-3.724l-.637.646a.79.79 0 0 1-.773.215.803.803 0 0 1-.567-.575.816.816 0 0 1 .212-.783c.651-.664 1.333-1.388 1.99-2.002a.778.778 0 0 1 .575-.266l-.002.003Z",
fill: "#0152d9",
fillRule: "nonzero"
}));
};
/* harmony default export */ var v = ("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEuNiAwQzEuMTc1IDAgLjc2OC4xNy40NjguNDc0QTEuNjMgMS42MyAwIDAgMCAwIDEuNjIydjMuMjQzaDMuMjM3TDcuMzc4IDBIMS42Wm03Ljg3NiAwTDUuMzM4IDQuODY1aDUuOUwxNS4zNzEgMEg5LjQ3NlptNy45OTggMC00LjEzNyA0Ljg2NWg1Ljg5NkwyMy4zNzIgMGgtNS44OThabTggMC00LjEzOCA0Ljg2NWg2LjY2VjEuNjIyYTEuNjI5IDEuNjI5IDAgMCAwLS40NjctMS4xNDhBMS41ODUgMS41ODUgMCAwIDAgMjYuMzk3IDBoLS45MjRaTTAgNi40ODd2MTcuODM3YzAgLjQzLjE2Ny44NDQuNDY4IDEuMTQ4LjMuMzA1LjcwNy40NzUgMS4xMzIuNDc0aDE4LjYxYTYuNTE1IDYuNTE1IDAgMCAxIDEuNjUyLTYuMjE4IDYuMzEgNi4zMSAwIDAgMSA2LjEzNC0xLjY3NVY2LjQ4N0gwWm0xMS45OTggNS42NzUgNi40IDQuMDU2LTYuNCA0LjA1NXYtOC4xMVptMTQuMzk5IDYuNDg3Yy0zLjA5Mi4wMDItNS41OTcgMi41NDQtNS41OTUgNS42NzguMDAxIDMuMTM0IDIuNTA4IDUuNjc0IDUuNiA1LjY3M0MyOS40OTQgMzAgMzIgMjcuNDU4IDMyIDI0LjMyNGMwLTEuNTA2LS41OS0yLjk1LTEuNjQxLTQuMDE0YTUuNTYxIDUuNTYxIDAgMCAwLTMuOTYyLTEuNjYxWm0wIDIuMDI3Yy4yMi4wMDMuNDI4LjEuNTc0LjI2Ni42NjMuNiAxLjMyNyAxLjM1MiAxLjk5IDIuMDAyYS44LjggMCAwIDEgMCAxLjE0Ljc4OC43ODggMCAwIDEtMS4xMjUgMGwtLjYzOC0uNjQ2djMuNzI0YS44MTQuODE0IDAgMCAxLS4zOTIuNzI0Ljc5Ljc5IDAgMCAxLS44MTUgMCAuODE0LjgxNCAwIDAgMS0uMzkyLS43MjR2LTMuNzI0bC0uNjM3LjY0NmEuNzkuNzkgMCAwIDEtLjc3My4yMTUuODAzLjgwMyAwIDAgMS0uNTY3LS41NzUuODE2LjgxNiAwIDAgMSAuMjEyLS43ODNjLjY1MS0uNjY0IDEuMzMzLTEuMzg4IDEuOTktMi4wMDJhLjc3OC43NzggMCAwIDEgLjU3NS0uMjY2bC0uMDAyLjAwM1oiIGZpbGw9IiMwMTUyZDkiIGZpbGwtcnVsZT0ibm9uemVybyIvPjwvc3ZnPg==");
;// CONCATENATED MODULE: ./src/pages/Question/OjProblem/LeftPanel/FilterList/ListForm/img/s.svg
function s_createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = s_unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
function s_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return s_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return s_arrayLikeToArray(o, minLen); }
function s_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
var s_defProp = Object.defineProperty;
var s_getOwnPropSymbols = Object.getOwnPropertySymbols;
var s_hasOwnProp = Object.prototype.hasOwnProperty;
var s_propIsEnum = Object.prototype.propertyIsEnumerable;
var s_defNormalProp = function __defNormalProp(obj, key, value) {
return key in obj ? s_defProp(obj, key, {
enumerable: true,
configurable: true,
writable: true,
value: value
}) : obj[key] = value;
};
var s_spreadValues = function __spreadValues(a, b) {
for (var prop in b || (b = {})) if (s_hasOwnProp.call(b, prop)) s_defNormalProp(a, prop, b[prop]);
if (s_getOwnPropSymbols) {
var _iterator = s_createForOfIteratorHelper(s_getOwnPropSymbols(b)),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var prop = _step.value;
if (s_propIsEnum.call(b, prop)) s_defNormalProp(a, prop, b[prop]);
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
}
return a;
};
var SvgS = function SvgS(props) {
return /* @__PURE__ */React.createElement("svg", s_spreadValues({
width: 30,
height: 30,
xmlns: "http://www.w3.org/2000/svg"
}, props), /* @__PURE__ */React.createElement("title", null, "\u4E0A\u4F20\u6210\u529F"), /* @__PURE__ */React.createElement("path", {
d: "M15 0c8.285 0 15 6.717 15 15 0 8.285-6.715 15-15 15-8.283 0-15-6.715-15-15C0 6.717 6.717 0 15 0Zm10.041 7.5v.01a47.934 47.934 0 0 0-11.232 9.386l-4.372-3.3v-.002L7.5 15.08l7.553 7.42A44.625 44.625 0 0 1 25.5 8.55l-.459-1.05Z",
fill: "#44D7B6",
fillRule: "nonzero"
}));
};
/* harmony default export */ var s = ("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzAiIGhlaWdodD0iMzAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTE1IDBjOC4yODUgMCAxNSA2LjcxNyAxNSAxNSAwIDguMjg1LTYuNzE1IDE1LTE1IDE1LTguMjgzIDAtMTUtNi43MTUtMTUtMTVDMCA2LjcxNyA2LjcxNyAwIDE1IDBabTEwLjA0MSA3LjV2LjAxYTQ3LjkzNCA0Ny45MzQgMCAwIDAtMTEuMjMyIDkuMzg2bC00LjM3Mi0zLjN2LS4wMDJMNy41IDE1LjA4bDcuNTUzIDcuNDJBNDQuNjI1IDQ0LjYyNSAwIDAgMSAyNS41IDguNTVsLS40NTktMS4wNVoiIGZpbGw9IiM0NEQ3QjYiIGZpbGwtcnVsZT0ibm9uemVybyIvPjwvc3ZnPg==");
;// CONCATENATED MODULE: ./src/pages/Question/OjProblem/LeftPanel/FilterList/ListForm/img/t.svg
function t_createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = t_unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
function t_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return t_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return t_arrayLikeToArray(o, minLen); }
function t_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
var t_defProp = Object.defineProperty;
var t_getOwnPropSymbols = Object.getOwnPropertySymbols;
var t_hasOwnProp = Object.prototype.hasOwnProperty;
var t_propIsEnum = Object.prototype.propertyIsEnumerable;
var t_defNormalProp = function __defNormalProp(obj, key, value) {
return key in obj ? t_defProp(obj, key, {
enumerable: true,
configurable: true,
writable: true,
value: value
}) : obj[key] = value;
};
var t_spreadValues = function __spreadValues(a, b) {
for (var prop in b || (b = {})) if (t_hasOwnProp.call(b, prop)) t_defNormalProp(a, prop, b[prop]);
if (t_getOwnPropSymbols) {
var _iterator = t_createForOfIteratorHelper(t_getOwnPropSymbols(b)),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var prop = _step.value;
if (t_propIsEnum.call(b, prop)) t_defNormalProp(a, prop, b[prop]);
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
}
return a;
};
var SvgT = function SvgT(props) {
return /* @__PURE__ */React.createElement("svg", t_spreadValues({
xmlns: "http://www.w3.org/2000/svg",
width: 20,
height: 20
}, props), /* @__PURE__ */React.createElement("path", {
fill: "#AFBACB",
d: "M9.99.02C4.482.02.02 4.482.02 9.99c0 5.506 4.463 9.97 9.97 9.97 5.506 0 9.97-4.464 9.97-9.97 0-5.507-4.464-9.97-9.97-9.97Zm1.636 13.69c-.744 1.19-1.488 2.083-2.827 2.083-.893-.149-1.19-.744-1.042-1.488l1.637-5.506c0-.149 0-.298-.149-.298-.148 0-.446 0-.595.298l-1.042 1.19v-.744c.745-1.19 1.935-2.083 2.828-2.083.744.149 1.19.744 1.042 1.488L9.84 14.305c0 .149 0 .298.148.298.15 0 .447-.15.596-.298l1.041-1.34v.745Zm-.297-7.292c-.596 0-1.19-.446-1.19-1.19 0-.745.446-1.191 1.19-1.191.595 0 1.19.446 1.19 1.19 0 .745-.595 1.191-1.19 1.191Z"
}));
};
/* harmony default export */ var t = ("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCI+PHBhdGggZmlsbD0iI0FGQkFDQiIgZD0iTTkuOTkuMDJDNC40ODIuMDIuMDIgNC40ODIuMDIgOS45OWMwIDUuNTA2IDQuNDYzIDkuOTcgOS45NyA5Ljk3IDUuNTA2IDAgOS45Ny00LjQ2NCA5Ljk3LTkuOTcgMC01LjUwNy00LjQ2NC05Ljk3LTkuOTctOS45N1ptMS42MzYgMTMuNjljLS43NDQgMS4xOS0xLjQ4OCAyLjA4My0yLjgyNyAyLjA4My0uODkzLS4xNDktMS4xOS0uNzQ0LTEuMDQyLTEuNDg4bDEuNjM3LTUuNTA2YzAtLjE0OSAwLS4yOTgtLjE0OS0uMjk4LS4xNDggMC0uNDQ2IDAtLjU5NS4yOThsLTEuMDQyIDEuMTl2LS43NDRjLjc0NS0xLjE5IDEuOTM1LTIuMDgzIDIuODI4LTIuMDgzLjc0NC4xNDkgMS4xOS43NDQgMS4wNDIgMS40ODhMOS44NCAxNC4zMDVjMCAuMTQ5IDAgLjI5OC4xNDguMjk4LjE1IDAgLjQ0Ny0uMTUuNTk2LS4yOThsMS4wNDEtMS4zNHYuNzQ1Wm0tLjI5Ny03LjI5MmMtLjU5NiAwLTEuMTktLjQ0Ni0xLjE5LTEuMTkgMC0uNzQ1LjQ0Ni0xLjE5MSAxLjE5LTEuMTkxLjU5NSAwIDEuMTkuNDQ2IDEuMTkgMS4xOSAwIC43NDUtLjU5NSAxLjE5MS0xLjE5IDEuMTkxWiIvPjwvc3ZnPg==");
;// CONCATENATED MODULE: ./src/pages/Question/OjProblem/LeftPanel/FilterList/ListForm/index.tsx
var videoReducer = function videoReducer(state, action) {
var _state$videoList, _state$videoList2, _state$videoList3;
var _action$payload$uploa = action.payload.uploadInfo,
uploadInfo = _action$payload$uploa === void 0 ? {} : _action$payload$uploa;
switch (action.type) {
case 'addVideo':
return {
videoList: [].concat(toConsumableArray_default()(state.videoList), [{
name: uploadInfo.file.name,
size: uploadInfo.file.size,
type: uploadInfo.file.type,
fileHash: uploadInfo.fileHash,
state: uploadInfo.state,
video_id: uploadInfo.videoId,
attachment_id: '',
article_id: -1,
loaded: 0,
title: ''
}])
};
case 'removeVideo':
return {
videoList: state.videoList.filter(function (item) {
return item.name !== action.payload.name;
})
};
case 'replaceVideo':
return {
videoList: action.payload
};
case 'removeAll':
return [];
case 'updateProgress':
return {
videoList: state.videoList.map(function (item) {
if (item.name === action.payload.uploadInfo.file.name) {
return objectSpread2_default()(objectSpread2_default()({}, item), {
loaded: action.payload.progressPercent,
video_id: uploadInfo.videoId,
fileHash: uploadInfo.fileHash
});
}
return item;
})
};
case 'updateTitle':
return {
videoList: (_state$videoList = state.videoList) === null || _state$videoList === void 0 ? void 0 : _state$videoList.map(function (video) {
if (video.name === action.payload.item.name) {
return objectSpread2_default()(objectSpread2_default()({}, video), {
title: action.payload.title
});
}
return video;
})
};
case 'updateImg':
return {
videoList: (_state$videoList2 = state.videoList) === null || _state$videoList2 === void 0 ? void 0 : _state$videoList2.map(function (video) {
if (video.name === action.payload.item.name) {
return objectSpread2_default()(objectSpread2_default()({}, video), {
attachment_id: action.payload.attachment_id
});
}
return video;
})
};
case 'updateImg':
return {
videoList: (_state$videoList3 = state.videoList) === null || _state$videoList3 === void 0 ? void 0 : _state$videoList3.map(function (video) {
if (video.name === action.payload.item.name) {
return objectSpread2_default()(objectSpread2_default()({}, video), {
attachment_id: action.payload.attachment_id
});
}
return video;
})
};
default:
return [];
}
};
var ListForm_List = function List(_ref) {
var _state$videoList6, _formValue$name;
var onClose = _ref.onClose,
onOk = _ref.onOk,
identifier = _ref.identifier,
active = _ref.active;
var _Form$useForm = es_form/* default */.Z.useForm(),
_Form$useForm2 = slicedToArray_default()(_Form$useForm, 1),
form = _Form$useForm2[0];
var _useState = (0,_react_17_0_2_react.useState)({}),
_useState2 = slicedToArray_default()(_useState, 2),
formValue = _useState2[0],
setFormValue = _useState2[1];
var _useState3 = (0,_react_17_0_2_react.useState)(false),
_useState4 = slicedToArray_default()(_useState3, 2),
isLoading = _useState4[0],
setIsLoading = _useState4[1];
var _useState5 = (0,_react_17_0_2_react.useState)(false),
_useState6 = slicedToArray_default()(_useState5, 2),
btnLoading = _useState6[0],
setBtnLoading = _useState6[1];
var _useReducer = (0,_react_17_0_2_react.useReducer)(videoReducer, {
videoList: []
}),
_useReducer2 = slicedToArray_default()(_useReducer, 2),
state = _useReducer2[0],
stateDispatch = _useReducer2[1];
// const [data, setData] = useState({});
var user = (0,authority/* userInfo */.eY)();
var urlParams = (0,_umi_production_exports.useParams)();
var uploader = (0,_react_17_0_2_react.useRef)();
(0,_react_17_0_2_react.useEffect)(function () {
if (active) {
getData();
}
}, [active]);
var getData = /*#__PURE__*/function () {
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
var res, _res$data, _res$data2, _res$data3, value, _res$data4, _res$data5;
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return (0,service/* editArticlesDetails */.M3)(identifier, {
active: active
});
case 2:
res = _context.sent;
if ((res === null || res === void 0 ? void 0 : res.status) === 0) {
value = {
name: res === null || res === void 0 || (_res$data = res.data) === null || _res$data === void 0 ? void 0 : _res$data.name,
content: res === null || res === void 0 || (_res$data2 = res.data) === null || _res$data2 === void 0 ? void 0 : _res$data2.content
};
form.setFieldsValue(value);
setFormValue(value);
if (res !== null && res !== void 0 && (_res$data3 = res.data) !== null && _res$data3 !== void 0 && (_res$data3 = _res$data3.videos) !== null && _res$data3 !== void 0 && _res$data3[0]) {
stateDispatch({
type: 'replaceVideo',
payload: [{
video_id: res === null || res === void 0 || (_res$data4 = res.data) === null || _res$data4 === void 0 || (_res$data4 = _res$data4.videos) === null || _res$data4 === void 0 || (_res$data4 = _res$data4[0]) === null || _res$data4 === void 0 ? void 0 : _res$data4.video_id,
name: res === null || res === void 0 || (_res$data5 = res.data) === null || _res$data5 === void 0 || (_res$data5 = _res$data5.videos) === null || _res$data5 === void 0 || (_res$data5 = _res$data5[0]) === null || _res$data5 === void 0 ? void 0 : _res$data5.title,
loaded: 100
}]
});
}
}
case 4:
case "end":
return _context.stop();
}
}, _callee);
}));
return function getData() {
return _ref2.apply(this, arguments);
};
}();
var handleValuesChange = function handleValuesChange(changeValues, values) {
setFormValue(objectSpread2_default()({}, values));
};
var handleFinish = /*#__PURE__*/function () {
var _ref3 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2(values) {
var _res;
var sendData, res, _res2, _res3;
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
sendData = {
videos: state.videoList,
articles: values
};
setBtnLoading(true);
if (!active) {
_context2.next = 9;
break;
}
sendData.active = active;
_context2.next = 6;
return (0,service/* editArticles */.gu)(identifier, sendData);
case 6:
res = _context2.sent;
_context2.next = 12;
break;
case 9:
_context2.next = 11;
return (0,service/* addArticles */.bx)(identifier, sendData);
case 11:
res = _context2.sent;
case 12:
if (((_res = res) === null || _res === void 0 ? void 0 : _res.status) === 0) {
console.log(active || ((_res2 = res) === null || _res2 === void 0 ? void 0 : _res2.id), 44);
onOk(active || ((_res3 = res) === null || _res3 === void 0 ? void 0 : _res3.id));
}
setBtnLoading(false);
case 14:
case "end":
return _context2.stop();
}
}, _callee2);
}));
return function handleFinish(_x) {
return _ref3.apply(this, arguments);
};
}();
var clearInput = function clearInput() {
var input = document.getElementById('fileUpload');
input.value = '';
};
var handleUpload = function handleUpload(file) {
var userData = '{"Vod":{}}';
setIsLoading(true);
if (uploader.current) {
uploader.current.addFile(file, null, null, null, userData);
return;
}
(0,aliyunUpload/* getUploader */.o)(user === null || user === void 0 ? void 0 : user.login, '', {
create: !uploader,
addFileSuccess: function addFileSuccess(uploadInfo) {
stateDispatch({
type: 'addVideo',
payload: {
uploadInfo: uploadInfo
}
});
},
onUploadProgress: function onUploadProgress(uploadInfo, totalSize, progress) {
var progressPercent = Math.ceil(progress * 100);
stateDispatch({
type: 'updateProgress',
payload: {
uploadInfo: uploadInfo,
progressPercent: progressPercent
}
});
clearInput();
},
onUploadFailed: function onUploadFailed(uploadInfo) {
message/* default */.ZP.info('视频云服务出现异常,请重新上传。');
},
onUploadEnd: function onUploadEnd(uploadInfo) {
setIsLoading(false);
},
onUploadSucceed: function onUploadSucceed(uploadInfo) {
setIsLoading(false);
},
onUploadError: function onUploadError(uploadInfo) {
setIsLoading(false);
},
gotUploader: function gotUploader(_uploader) {
_uploader.addFile(file, null, null, null, userData);
uploader.current = _uploader;
}
});
};
var handleChangeUpload = function handleChangeUpload(e) {
var _state$videoList4;
var MAX_FILE_SIZE = 1024;
var file = e.target.files[0];
if (!file) {
clearInput();
return;
}
var name = file.name.toLowerCase();
if (name && name.indexOf('.avi') == -1 && name.indexOf('.flv') == -1 && name.indexOf('.f4v') == -1 && name.indexOf('.m4v') == -1 && name.indexOf('.mov') == -1 && name.indexOf('.mp4') == -1 && name.indexOf('.rmvb') == -1 && name.indexOf('.swf') == -1 && name.indexOf('.webm') == -1 && name.indexOf('.wmv') == -1) {
message/* default */.ZP.info("\u4E0D\u652F\u6301\u7684\u89C6\u9891\u683C\u5F0F");
clearInput();
return;
}
if (file.size > MAX_FILE_SIZE * 1024 * 1024) {
message/* default */.ZP.info("\u89C6\u9891\u5927\u5C0F\u8D85\u8FC7".concat(MAX_FILE_SIZE, "M"));
clearInput();
return;
}
if ((_state$videoList4 = state.videoList) !== null && _state$videoList4 !== void 0 && _state$videoList4.find(function (item) {
return item.name === file.name;
})) {
message/* default */.ZP.info("\u4F60\u4E0D\u80FD\u4E0A\u4F20\u540C\u4E00\u4E2A\u89C6\u9891\u6587\u4EF6\u540D\u79F0\uFF0C\u8BF7\u91CD\u65B0\u9009\u62E9\u3002");
clearInput();
return;
}
handleUpload(file);
};
var handleRemove = function handleRemove(name, isSuccess) {
modal/* default */.Z.confirm({
title: '提示',
centered: true,
okText: '确定',
cancelText: '取消',
content: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "tc",
children: ["\u60A8\u786E\u8BA4\u8981", isSuccess ? '删除' : '取消上传', "\u8BE5\u89C6\u9891\u5417\uFF1F"]
}),
onOk: function onOk() {
clearInput();
stateDispatch({
type: 'removeVideo',
payload: {
name: name
}
});
}
});
};
var renderUpload = function renderUpload() {
return /*#__PURE__*/(0,jsx_runtime.jsxs)("label", {
htmlFor: "fileUpload",
className: ListFormmodules.main,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
src: v,
alt: ""
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: "\u4E0A\u4F20\u89C6\u9891"
})]
});
};
var renderUploadLoading = function renderUploadLoading(num) {
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: ListFormmodules.mainLoading,
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: ListFormmodules.proWarp,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: ListFormmodules.pro,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
style: {
width: num
}
})
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
children: [num || 0, "%"]
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("aside", {
children: "\u4E0A\u4F20\u4E2D"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: ListFormmodules.tip,
children: /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
getPopupContainer: function getPopupContainer(trigger) {
return trigger.parentNode;
},
title: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
children: ["1\u3001\u4E0A\u4F20\u89C6\u9891\uFF0C\u5373\u8868\u793A\u60A8\u5DF2\u540C\u610F", /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
className: "current c-light-primary",
target: "_blank",
href: "/users/innov/videos/protocol",
children: "\u4E0A\u4F20\u5185\u5BB9\u534F\u8BAE"
}), "\uFF0C\u4E0D\u5F97\u4E0A\u4F20\u672A\u7ECF\u4ED6\u4EBA\u6388\u6743\u7684\u4F5C\u54C1\uFF1B"]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
children: "2\u3001\u4E0D\u652F\u6301\u65AD\u70B9\u7EED\u4F20\uFF0C\u6587\u4EF6\u5927\u5C0F\u8BF7\u52FF\u8D85\u8FC71G\uFF1B"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
children: "3\u3001\u652F\u6301\u6587\u4EF6\u683C\u5F0F\uFF1Aavi\u3001flv\u3001f4v\u3001m4v\u3001mov\u3001mp4\u3001rmvb\u3001swf\u3001webm\u3001wmv\uFF1B"
})]
}),
children: /*#__PURE__*/(0,jsx_runtime.jsx)("img", {
src: t,
alt: ""
})
})
})]
});
};
var renderSucceed = function renderSucceed(item) {
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: ListFormmodules.mainSucceed,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
src: s,
alt: ""
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: "\u4E0A\u4F20\u6210\u529F"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: ListFormmodules.tip,
children: /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
getPopupContainer: function getPopupContainer(trigger) {
return trigger.parentNode;
},
title: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
children: ["1\u3001\u4E0A\u4F20\u89C6\u9891\uFF0C\u5373\u8868\u793A\u60A8\u5DF2\u540C\u610F", /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
className: "current c-light-primary",
target: "_blank",
href: "/users/innov/videos/protocol",
children: "\u4E0A\u4F20\u5185\u5BB9\u534F\u8BAE"
}), "\uFF0C\u4E0D\u5F97\u4E0A\u4F20\u672A\u7ECF\u4ED6\u4EBA\u6388\u6743\u7684\u4F5C\u54C1\uFF1B"]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
children: "2\u3001\u4E0D\u652F\u6301\u65AD\u70B9\u7EED\u4F20\uFF0C\u6587\u4EF6\u5927\u5C0F\u8BF7\u52FF\u8D85\u8FC71G\uFF1B"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
children: "3\u3001\u652F\u6301\u6587\u4EF6\u683C\u5F0F\uFF1Aavi\u3001flv\u3001f4v\u3001m4v\u3001mov\u3001mp4\u3001rmvb\u3001swf\u3001webm\u3001wmv\uFF1B"
})]
}),
children: /*#__PURE__*/(0,jsx_runtime.jsx)("img", {
src: t,
alt: ""
})
})
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: ListFormmodules.del,
onClick: function onClick() {
return handleRemove(item.name, item.loaded == 100);
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-shanchu7 mr5"
}), "\u5220\u9664\u89C6\u9891"]
})]
});
};
var renderFile = function renderFile() {
var _state$videoList5;
return (
/*#__PURE__*/
//
//
// {
// state.videoList?.map((item: any, index: number) => {
// return
//
{item.name}
//
//
//
//
//
//
//
// })
// }
//
//
(0,jsx_runtime.jsx)(_react_17_0_2_react.Fragment, {
children: (_state$videoList5 = state.videoList) === null || _state$videoList5 === void 0 ? void 0 : _state$videoList5.map(function (item, index) {
return /*#__PURE__*/(0,jsx_runtime.jsx)(_react_17_0_2_react.Fragment, {
children: item.loaded == 100 ? renderSucceed(item) : renderUploadLoading(item.loaded)
}, index);
})
})
);
};
var handleClose = function handleClose() {
modal/* default */.Z.confirm({
centered: true,
width: 500,
okText: '确定',
cancelText: '取消',
title: '注意',
icon: null,
className: 'custom-modal-divider',
content: '您正在编写题解,点击关闭后,您的题解内容将不会进行保存。',
onOk: onClose
});
};
var hasFile = (_state$videoList6 = state.videoList) === null || _state$videoList6 === void 0 ? void 0 : _state$videoList6.length;
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: ListFormmodules.listForm,
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("header", {
children: [active ? '编辑' : '发布', "\u9898\u89E3"]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("section", {
className: ListFormmodules.scroll,
id: "sss",
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: ListFormmodules.formWrap,
children: [" ", /*#__PURE__*/(0,jsx_runtime.jsxs)(es_form/* default */.Z, {
form: form,
scrollToFirstError: true,
layout: "vertical",
onValuesChange: handleValuesChange,
onFinish: handleFinish,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
name: "name",
label: "\u6807\u9898:",
rules: [{
required: true,
message: '请输入名称'
}, {
max: 60,
message: '请输入名称,最大限制60个字符'
}, {
whitespace: true,
message: '请勿输入空格'
}],
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
bordered: false,
placeholder: "\u8BF7\u8F93\u5165\u540D\u79F0\uFF0C\u6700\u5927\u9650\u523660\u4E2A\u5B57\u7B26",
suffix: "".concat(((_formValue$name = formValue.name) === null || _formValue$name === void 0 ? void 0 : _formValue$name.length) || 0, "/60")
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
name: "content",
label: "\u5185\u5BB9:",
children: /*#__PURE__*/(0,jsx_runtime.jsx)(markdown_editor/* default */.Z, {
defaultValue: formValue.content || '',
watch: true
})
})]
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: ListFormmodules.upload,
children: [hasFile ? renderFile() : renderUpload(), /*#__PURE__*/(0,jsx_runtime.jsx)("input", {
type: "file",
id: "fileUpload",
style: {
display: 'none'
},
onChange: handleChangeUpload,
accept: ".mkv, .flv, .f4v, .rmvb, .swf, video/mp4,video/x-m4v,video/flv,video/f4v,video/rmvb,video/swf,video/*"
})]
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: ListFormmodules.btns,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
onClick: handleClose,
type: "primary",
ghost: true,
children: "\u5173\u95ED"
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
loading: btnLoading,
disabled: isLoading,
onClick: function onClick() {
return form.submit();
},
type: "primary",
children: "\u53D1\u5E03\u9898\u89E3"
})]
})]
});
};
/* harmony default export */ var ListForm = (ListForm_List);
;// CONCATENATED MODULE: ./src/pages/Question/OjProblem/LeftPanel/FilterList/ListDetails/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var ListDetailsmodules = ({"flex_box_center":"flex_box_center___Udvu8","flex_space_between":"flex_space_between___WNLp1","flex_box_vertical_center":"flex_box_vertical_center___ecch5","flex_box_center_end":"flex_box_center_end___cu_DJ","flex_box_column":"flex_box_column___zF2CU","listDetails":"listDetails___HpDwH","head":"head___wipEz","name":"name___qdH8S","title":"title___B0yUa","a":"a___LB6ZS","b":"b___yvOON","tag":"tag___bRCso","btn":"btn___akBxg","scroll":"scroll___JKC_q","video":"video___nEr4F","html":"html___GDNSx","g":"g___LSOhO","btns":"btns___Ci727"});
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/skeleton/index.js + 12 modules
var skeleton = __webpack_require__(2518);
;// CONCATENATED MODULE: ./src/pages/Question/OjProblem/LeftPanel/FilterList/ListDetails/img/jx.svg
function jx_createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = jx_unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
function jx_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return jx_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return jx_arrayLikeToArray(o, minLen); }
function jx_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
var jx_defProp = Object.defineProperty;
var jx_getOwnPropSymbols = Object.getOwnPropertySymbols;
var jx_hasOwnProp = Object.prototype.hasOwnProperty;
var jx_propIsEnum = Object.prototype.propertyIsEnumerable;
var jx_defNormalProp = function __defNormalProp(obj, key, value) {
return key in obj ? jx_defProp(obj, key, {
enumerable: true,
configurable: true,
writable: true,
value: value
}) : obj[key] = value;
};
var jx_spreadValues = function __spreadValues(a, b) {
for (var prop in b || (b = {})) if (jx_hasOwnProp.call(b, prop)) jx_defNormalProp(a, prop, b[prop]);
if (jx_getOwnPropSymbols) {
var _iterator = jx_createForOfIteratorHelper(jx_getOwnPropSymbols(b)),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var prop = _step.value;
if (jx_propIsEnum.call(b, prop)) jx_defNormalProp(a, prop, b[prop]);
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
}
return a;
};
var SvgJx = function SvgJx(props) {
return /* @__PURE__ */React.createElement("svg", jx_spreadValues({
xmlns: "http://www.w3.org/2000/svg",
xmlnsXlink: "http://www.w3.org/1999/xlink",
width: 15,
height: 16
}, props), /* @__PURE__ */React.createElement("defs", null, /* @__PURE__ */React.createElement("path", {
id: "jx_svg__a",
d: "M6.385.257c.616-.343 1.616-.342 2.23 0l5.27 2.94C14.501 3.538 15 4.38 15 5.071v5.856c0 .692-.501 1.533-1.115 1.876l-5.27 2.939c-.616.343-1.616.342-2.23 0l-5.27-2.94C.499 12.462 0 11.622 0 10.929V5.072C0 4.38.501 3.54 1.115 3.196Zm1.423 3.817c-.169-.341-.446-.341-.615 0L6.38 5.717c-.169.341-.616.665-.994.72l-1.82.264c-.378.055-.464.317-.19.583l1.317 1.278c.273.266.444.79.38 1.165l-.31 1.806c-.066.376.158.538.496.36l1.628-.853c.338-.177.89-.177 1.23 0l1.627.853c.337.177.561.015.497-.36l-.31-1.806c-.065-.375.105-.899.379-1.165l1.316-1.278c.274-.266.188-.529-.19-.583l-1.819-.264c-.377-.054-.825-.378-.994-.72Z"
})), /* @__PURE__ */React.createElement("g", {
fill: "none",
fillRule: "evenodd"
}, /* @__PURE__ */React.createElement("mask", {
id: "jx_svg__b",
fill: "#fff"
}, /* @__PURE__ */React.createElement("use", {
xlinkHref: "#jx_svg__a"
})), /* @__PURE__ */React.createElement("use", {
fill: "#8DC9FF",
fillRule: "nonzero",
xlinkHref: "#jx_svg__a"
}), /* @__PURE__ */React.createElement("circle", {
cx: -1.5,
cy: -3.5,
r: 16.5,
fill: "#C1E2FF",
fillRule: "nonzero",
mask: "url(#jx_svg__b)"
}), /* @__PURE__ */React.createElement("circle", {
cx: -2.5,
cy: -4.5,
r: 12.5,
fill: "#EEF7FF",
fillRule: "nonzero",
mask: "url(#jx_svg__b)"
})));
};
/* harmony default export */ var jx = ("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTUiIGhlaWdodD0iMTYiPjxkZWZzPjxwYXRoIGlkPSJhIiBkPSJNNi4zODUuMjU3Yy42MTYtLjM0MyAxLjYxNi0uMzQyIDIuMjMgMGw1LjI3IDIuOTRDMTQuNTAxIDMuNTM4IDE1IDQuMzggMTUgNS4wNzF2NS44NTZjMCAuNjkyLS41MDEgMS41MzMtMS4xMTUgMS44NzZsLTUuMjcgMi45MzljLS42MTYuMzQzLTEuNjE2LjM0Mi0yLjIzIDBsLTUuMjctMi45NEMuNDk5IDEyLjQ2MiAwIDExLjYyMiAwIDEwLjkyOVY1LjA3MkMwIDQuMzguNTAxIDMuNTQgMS4xMTUgMy4xOTZabTEuNDIzIDMuODE3Yy0uMTY5LS4zNDEtLjQ0Ni0uMzQxLS42MTUgMEw2LjM4IDUuNzE3Yy0uMTY5LjM0MS0uNjE2LjY2NS0uOTk0LjcybC0xLjgyLjI2NGMtLjM3OC4wNTUtLjQ2NC4zMTctLjE5LjU4M2wxLjMxNyAxLjI3OGMuMjczLjI2Ni40NDQuNzkuMzggMS4xNjVsLS4zMSAxLjgwNmMtLjA2Ni4zNzYuMTU4LjUzOC40OTYuMzZsMS42MjgtLjg1M2MuMzM4LS4xNzcuODktLjE3NyAxLjIzIDBsMS42MjcuODUzYy4zMzcuMTc3LjU2MS4wMTUuNDk3LS4zNmwtLjMxLTEuODA2Yy0uMDY1LS4zNzUuMTA1LS44OTkuMzc5LTEuMTY1bDEuMzE2LTEuMjc4Yy4yNzQtLjI2Ni4xODgtLjUyOS0uMTktLjU4M2wtMS44MTktLjI2NGMtLjM3Ny0uMDU0LS44MjUtLjM3OC0uOTk0LS43MloiLz48L2RlZnM+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+PHVzZSB4bGluazpocmVmPSIjYSIvPjwvbWFzaz48dXNlIGZpbGw9IiM4REM5RkYiIGZpbGwtcnVsZT0ibm9uemVybyIgeGxpbms6aHJlZj0iI2EiLz48Y2lyY2xlIGN4PSItMS41IiBjeT0iLTMuNSIgcj0iMTYuNSIgZmlsbD0iI0MxRTJGRiIgZmlsbC1ydWxlPSJub256ZXJvIiBtYXNrPSJ1cmwoI2IpIi8+PGNpcmNsZSBjeD0iLTIuNSIgY3k9Ii00LjUiIHI9IjEyLjUiIGZpbGw9IiNFRUY3RkYiIGZpbGwtcnVsZT0ibm9uemVybyIgbWFzaz0idXJsKCNiKSIvPjwvZz48L3N2Zz4=");
;// CONCATENATED MODULE: ./src/pages/Question/OjProblem/LeftPanel/FilterList/ListDetails/img/gf.svg
function gf_createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = gf_unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
function gf_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return gf_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return gf_arrayLikeToArray(o, minLen); }
function gf_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
var gf_defProp = Object.defineProperty;
var gf_getOwnPropSymbols = Object.getOwnPropertySymbols;
var gf_hasOwnProp = Object.prototype.hasOwnProperty;
var gf_propIsEnum = Object.prototype.propertyIsEnumerable;
var gf_defNormalProp = function __defNormalProp(obj, key, value) {
return key in obj ? gf_defProp(obj, key, {
enumerable: true,
configurable: true,
writable: true,
value: value
}) : obj[key] = value;
};
var gf_spreadValues = function __spreadValues(a, b) {
for (var prop in b || (b = {})) if (gf_hasOwnProp.call(b, prop)) gf_defNormalProp(a, prop, b[prop]);
if (gf_getOwnPropSymbols) {
var _iterator = gf_createForOfIteratorHelper(gf_getOwnPropSymbols(b)),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var prop = _step.value;
if (gf_propIsEnum.call(b, prop)) gf_defNormalProp(a, prop, b[prop]);
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
}
return a;
};
var SvgGf = function SvgGf(props) {
return /* @__PURE__ */React.createElement("svg", gf_spreadValues({
xmlns: "http://www.w3.org/2000/svg",
xmlnsXlink: "http://www.w3.org/1999/xlink",
width: 16,
height: 16
}, props), /* @__PURE__ */React.createElement("defs", null, /* @__PURE__ */React.createElement("path", {
id: "gf_svg__a",
d: "m8 0 1.857 1.073h2.146l1.071 1.854L14.931 4v2.144L16 8l-1.069 1.857V12l-1.858 1.072-1.071 1.856H9.857L8 16l-1.855-1.073H4l-1.072-1.856L1.072 12V9.857L0 8l1.072-1.856V4l1.857-1.073 1.072-1.854h2.145L8 0Zm2.91 6.385H4.796V12h1.246v-.451h4.026v.435h1.247V9.196H6.043v-.515h4.866V6.385Zm-.84 3.681v.613H6.042v-.613h4.026ZM9.705 7.24v.588H6.043v-.588h3.663ZM8.615 4l-1.48.137c.055.133.12.284.192.453l.076.175H4v1.426h1.195v-.483h5.61v.483H12V4.765H8.883c-.078-.23-.148-.43-.21-.602L8.616 4Z"
})), /* @__PURE__ */React.createElement("g", {
fill: "none",
fillRule: "evenodd"
}, /* @__PURE__ */React.createElement("mask", {
id: "gf_svg__b",
fill: "#fff"
}, /* @__PURE__ */React.createElement("use", {
xlinkHref: "#gf_svg__a"
})), /* @__PURE__ */React.createElement("use", {
fill: "#8DC9FF",
fillRule: "nonzero",
xlinkHref: "#gf_svg__a"
}), /* @__PURE__ */React.createElement("circle", {
cx: 0.5,
cy: -3.5,
r: 16.5,
fill: "#C1E2FF",
fillRule: "nonzero",
mask: "url(#gf_svg__b)"
}), /* @__PURE__ */React.createElement("circle", {
cx: -0.5,
cy: -4.5,
r: 12.5,
fill: "#EEF7FF",
fillRule: "nonzero",
mask: "url(#gf_svg__b)"
})));
};
/* harmony default export */ var gf = ("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiPjxkZWZzPjxwYXRoIGlkPSJhIiBkPSJtOCAwIDEuODU3IDEuMDczaDIuMTQ2bDEuMDcxIDEuODU0TDE0LjkzMSA0djIuMTQ0TDE2IDhsLTEuMDY5IDEuODU3VjEybC0xLjg1OCAxLjA3Mi0xLjA3MSAxLjg1Nkg5Ljg1N0w4IDE2bC0xLjg1NS0xLjA3M0g0bC0xLjA3Mi0xLjg1NkwxLjA3MiAxMlY5Ljg1N0wwIDhsMS4wNzItMS44NTZWNGwxLjg1Ny0xLjA3MyAxLjA3Mi0xLjg1NGgyLjE0NUw4IDBabTIuOTEgNi4zODVINC43OTZWMTJoMS4yNDZ2LS40NTFoNC4wMjZ2LjQzNWgxLjI0N1Y5LjE5Nkg2LjA0M3YtLjUxNWg0Ljg2NlY2LjM4NVptLS44NCAzLjY4MXYuNjEzSDYuMDQydi0uNjEzaDQuMDI2Wk05LjcwNSA3LjI0di41ODhINi4wNDN2LS41ODhoMy42NjNaTTguNjE1IDRsLTEuNDguMTM3Yy4wNTUuMTMzLjEyLjI4NC4xOTIuNDUzbC4wNzYuMTc1SDR2MS40MjZoMS4xOTV2LS40ODNoNS42MXYuNDgzSDEyVjQuNzY1SDguODgzYy0uMDc4LS4yMy0uMTQ4LS40My0uMjEtLjYwMkw4LjYxNiA0WiIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxtYXNrIGlkPSJiIiBmaWxsPSIjZmZmIj48dXNlIHhsaW5rOmhyZWY9IiNhIi8+PC9tYXNrPjx1c2UgZmlsbD0iIzhEQzlGRiIgZmlsbC1ydWxlPSJub256ZXJvIiB4bGluazpocmVmPSIjYSIvPjxjaXJjbGUgY3g9Ii41IiBjeT0iLTMuNSIgcj0iMTYuNSIgZmlsbD0iI0MxRTJGRiIgZmlsbC1ydWxlPSJub256ZXJvIiBtYXNrPSJ1cmwoI2IpIi8+PGNpcmNsZSBjeD0iLS41IiBjeT0iLTQuNSIgcj0iMTIuNSIgZmlsbD0iI0VFRjdGRiIgZmlsbC1ydWxlPSJub256ZXJvIiBtYXNrPSJ1cmwoI2IpIi8+PC9nPjwvc3ZnPg==");
;// CONCATENATED MODULE: ./src/pages/Question/OjProblem/LeftPanel/FilterList/ListDetails/img/g.svg
function g_createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = g_unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
function g_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return g_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return g_arrayLikeToArray(o, minLen); }
function g_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
var g_defProp = Object.defineProperty;
var g_getOwnPropSymbols = Object.getOwnPropertySymbols;
var g_hasOwnProp = Object.prototype.hasOwnProperty;
var g_propIsEnum = Object.prototype.propertyIsEnumerable;
var g_defNormalProp = function __defNormalProp(obj, key, value) {
return key in obj ? g_defProp(obj, key, {
enumerable: true,
configurable: true,
writable: true,
value: value
}) : obj[key] = value;
};
var g_spreadValues = function __spreadValues(a, b) {
for (var prop in b || (b = {})) if (g_hasOwnProp.call(b, prop)) g_defNormalProp(a, prop, b[prop]);
if (g_getOwnPropSymbols) {
var _iterator = g_createForOfIteratorHelper(g_getOwnPropSymbols(b)),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var prop = _step.value;
if (g_propIsEnum.call(b, prop)) g_defNormalProp(a, prop, b[prop]);
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
}
return a;
};
var SvgG = function SvgG(props) {
return /* @__PURE__ */React.createElement("svg", g_spreadValues({
width: 22,
height: 20,
xmlns: "http://www.w3.org/2000/svg"
}, props), /* @__PURE__ */React.createElement("title", null, "\u5927\u70B9\u8D5E"), /* @__PURE__ */React.createElement("g", {
fillRule: "nonzero",
fill: "none"
}, /* @__PURE__ */React.createElement("path", {
d: "M3.566 19.08V8.134c0-.443-.318-.802-.71-.802H1.34c-.73 0-1.322.67-1.322 1.496v9.558c0 .827.593 1.496 1.322 1.496h1.515c.392 0 .71-.36.71-.802Z",
fill: "#A3D3FF"
}), /* @__PURE__ */React.createElement("path", {
d: "M4.585 19.303V7.9c0-.263.188-.495.459-.559.955-.229 3.147-1.049 4.08-3.848.567-2.451 1.182-3.607 3.008-3.469 1.826.139 1.948 1.804 1.948 2.312v3.93s-.148.602.468.649c.617.046 5.426 0 5.426 0s2.639-.042 1.8 3.031c-.73 2.673-2.173 6.974-2.537 8.05a2.324 2.324 0 0 1-.324.626c-.353.483-1.094 1.258-2.228 1.258H5.201c-.341.002-.616-.257-.616-.577Z",
fill: "#FFF"
})));
};
/* harmony default export */ var g = ("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjIiIGhlaWdodD0iMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbC1ydWxlPSJub256ZXJvIiBmaWxsPSJub25lIj48cGF0aCBkPSJNMy41NjYgMTkuMDhWOC4xMzRjMC0uNDQzLS4zMTgtLjgwMi0uNzEtLjgwMkgxLjM0Yy0uNzMgMC0xLjMyMi42Ny0xLjMyMiAxLjQ5NnY5LjU1OGMwIC44MjcuNTkzIDEuNDk2IDEuMzIyIDEuNDk2aDEuNTE1Yy4zOTIgMCAuNzEtLjM2LjcxLS44MDJaIiBmaWxsPSIjQTNEM0ZGIi8+PHBhdGggZD0iTTQuNTg1IDE5LjMwM1Y3LjljMC0uMjYzLjE4OC0uNDk1LjQ1OS0uNTU5Ljk1NS0uMjI5IDMuMTQ3LTEuMDQ5IDQuMDgtMy44NDguNTY3LTIuNDUxIDEuMTgyLTMuNjA3IDMuMDA4LTMuNDY5IDEuODI2LjEzOSAxLjk0OCAxLjgwNCAxLjk0OCAyLjMxMnYzLjkzcy0uMTQ4LjYwMi40NjguNjQ5Yy42MTcuMDQ2IDUuNDI2IDAgNS40MjYgMHMyLjYzOS0uMDQyIDEuOCAzLjAzMWMtLjczIDIuNjczLTIuMTczIDYuOTc0LTIuNTM3IDguMDVhMi4zMjQgMi4zMjQgMCAwIDEtLjMyNC42MjZjLS4zNTMuNDgzLTEuMDk0IDEuMjU4LTIuMjI4IDEuMjU4SDUuMjAxYy0uMzQxLjAwMi0uNjE2LS4yNTctLjYxNi0uNTc3WiIgZmlsbD0iI0ZGRiIvPjwvZz48L3N2Zz4=");
;// CONCATENATED MODULE: ./src/pages/Question/OjProblem/LeftPanel/FilterList/ListDetails/CustomDiscuss/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var CustomDiscussmodules = ({"flex_box_center":"flex_box_center___Fl60v","flex_space_between":"flex_space_between___bECvI","flex_box_vertical_center":"flex_box_vertical_center___NasnL","flex_box_center_end":"flex_box_center_end___llsAF","flex_box_column":"flex_box_column___KaTPF","discuss":"discuss___fk6PE","reply":"reply___pOmly","pagination":"pagination___qEsHX"});
// 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);
;// CONCATENATED MODULE: ./src/pages/Question/OjProblem/LeftPanel/FilterList/ListDetails/CustomDiscuss/DiscussItem/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var DiscussItemmodules = ({"flex_box_center":"flex_box_center___qGmgZ","flex_space_between":"flex_space_between___PeDhE","flex_box_vertical_center":"flex_box_vertical_center___avs2o","flex_box_center_end":"flex_box_center_end___bpXQB","flex_box_column":"flex_box_column___bc5wd","discussItem":"discussItem___zcesj","wrap":"wrap___ezVW4","list":"list___EEOWp","btns":"btns___Niwl7","secondLevelDiscuss":"secondLevelDiscuss___TXG1b","line":"line___ejh2a","thirdlyLevelDiscuss":"thirdlyLevelDiscuss___HRI5Q"});
;// CONCATENATED MODULE: ./src/pages/Question/OjProblem/LeftPanel/FilterList/ListDetails/CustomDiscuss/DiscussItem/index.tsx
var Reply = function Reply(_ref) {
var id = _ref.id,
cb = _ref.cb;
var _useState = (0,_react_17_0_2_react.useState)(''),
_useState2 = slicedToArray_default()(_useState, 2),
value = _useState2[0],
setValue = _useState2[1];
return /*#__PURE__*/(0,jsx_runtime.jsxs)("aside", {
className: "mt10",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(markdown_editor/* default */.Z, {
defaultValue: value,
id: "writeForumsReviewId",
onChange: function onChange(v) {
setValue(v);
},
placeholder: "\u6211\u8981\u56DE\u590D...",
height: 240
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
flex: "1"
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
type: "primary",
size: 'middle',
onClick: /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
if (value === '') {
message/* default */.ZP.error('请输入内容');
} else {
cb(id, value);
}
case 1:
case "end":
return _context.stop();
}
}, _callee);
})),
children: "\u53D1\u9001"
})
})]
})]
});
};
var ThirdlyLevelDiscuss = function ThirdlyLevelDiscuss(_ref3) {
var _data$author;
var data = _ref3.data;
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: DiscussItemmodules.thirdlyLevelDiscuss,
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
className: "c-grey-333",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "font 14 c-light-primary",
children: data === null || data === void 0 || (_data$author = data.author) === null || _data$author === void 0 ? void 0 : _data$author.name
}), "@", /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "font 14 c-light-primary",
children: data === null || data === void 0 ? void 0 : data.parent_name
}), ":"]
}), /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
value: data === null || data === void 0 ? void 0 : data.content
})]
});
};
var DiscussItem_SecondLevelDiscuss = function SecondLevelDiscuss(_ref4) {
var _data$author2, _data$author3, _data$author4, _data$children;
var data = _ref4.data,
onReplyDiscuss = _ref4.onReplyDiscuss,
thirdlyReply = _ref4.thirdlyReply,
setThirdlyReply = _ref4.setThirdlyReply;
var user = (0,authority/* userInfo */.eY)();
console.log(user, 'user');
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: DiscussItemmodules.list,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
src: env/* default */.Z.IMG_SERVER + '/images/' + (data === null || data === void 0 || (_data$author2 = data.author) === null || _data$author2 === void 0 ? void 0 : _data$author2.image_url)
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: DiscussItemmodules.wrap,
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "font14",
style: {
marginBottom: 6
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "c-grey-333",
children: data === null || data === void 0 || (_data$author3 = data.author) === null || _data$author3 === void 0 ? void 0 : _data$author3.name
}), (user === null || user === void 0 ? void 0 : user.login) !== (data === null || data === void 0 || (_data$author4 = data.author) === null || _data$author4 === void 0 ? void 0 : _data$author4.login) && /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
onClick: function onClick() {
return setThirdlyReply(data === null || data === void 0 ? void 0 : data.id);
},
className: "c-grey-999 current",
style: {
"float": 'right'
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-huifu3 mr3 font12"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: "\u56DE\u590D"
})]
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
value: data === null || data === void 0 ? void 0 : data.content
}), data === null || data === void 0 || (_data$children = data.children) === null || _data$children === void 0 ? void 0 : _data$children.map(function (e) {
return /*#__PURE__*/(0,jsx_runtime.jsx)(ThirdlyLevelDiscuss, {
data: e
}, e.id);
}), thirdlyReply === (data === null || data === void 0 ? void 0 : data.id) && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(Reply, {
id: data === null || data === void 0 ? void 0 : data.id,
cb: onReplyDiscuss
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
style: {
textAlign: 'end',
paddingTop: 20
},
onClick: function onClick() {
return setThirdlyReply(null);
},
className: "c-light-primary current",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
style: {
transform: 'scale(0.7)',
display: 'inline-block'
},
className: "iconfont icon-shouqi font12"
}), "\u6536\u8D77\u56DE\u590D"]
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: DiscussItemmodules.line
})]
})]
});
};
var DiscussItem = function DiscussItem(_ref5) {
var _data$author5, _data$author6, _data$children3, _data$children4;
var data = _ref5.data,
onReplyDiscuss = _ref5.onReplyDiscuss,
secondReply = _ref5.secondReply,
setSecondReply = _ref5.setSecondReply,
thirdlyReply = _ref5.thirdlyReply,
setThirdlyReply = _ref5.setThirdlyReply,
onPlusDiscuss = _ref5.onPlusDiscuss;
var _useState3 = (0,_react_17_0_2_react.useState)(false),
_useState4 = slicedToArray_default()(_useState3, 2),
remarkBool = _useState4[0],
setRemarkBool = _useState4[1];
console.log(data, 'data');
return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: DiscussItemmodules.discussItem,
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: DiscussItemmodules.list,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
src: env/* default */.Z.IMG_SERVER + '/images/' + (data === null || data === void 0 || (_data$author5 = data.author) === null || _data$author5 === void 0 ? void 0 : _data$author5.image_url)
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: DiscussItemmodules.wrap,
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "font14",
style: {
marginBottom: 6
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "c-grey-333 mr30",
children: data === null || data === void 0 || (_data$author6 = data.author) === null || _data$author6 === void 0 ? void 0 : _data$author6.name
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "c-grey-999",
children: data === null || data === void 0 ? void 0 : data.time
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
value: data === null || data === void 0 ? void 0 : data.content
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: DiscussItemmodules.btns,
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
onClick: function onClick() {
return onPlusDiscuss(data === null || data === void 0 ? void 0 : data.id);
},
className: data !== null && data !== void 0 && data.user_praise ? 'c-light-primary' : 'c-grey-999',
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-xiaodianzan2 mr3"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: data === null || data === void 0 ? void 0 : data.praise_count
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
onClick: function onClick() {
var _data$children2;
if ((data === null || data === void 0 || (_data$children2 = data.children) === null || _data$children2 === void 0 ? void 0 : _data$children2.length) === 0) {
return;
}
setSecondReply(null);
setRemarkBool(!remarkBool);
},
style: {
color: remarkBool ? '#0152d9' : '#999999'
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-xiaopinglun2 mr3"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: remarkBool ? '收起评论' : data === null || data === void 0 || (_data$children3 = data.children) === null || _data$children3 === void 0 ? void 0 : _data$children3.length
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
onClick: function onClick() {
setRemarkBool(false);
setSecondReply(secondReply === (data === null || data === void 0 ? void 0 : data.id) ? null : data === null || data === void 0 ? void 0 : data.id);
},
style: {
color: secondReply === (data === null || data === void 0 ? void 0 : data.id) ? '#0152d9' : '#999999'
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-huifu3 mr3"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: secondReply === (data === null || data === void 0 ? void 0 : data.id) ? '收起回复' : '回复'
})]
})]
}), secondReply === (data === null || data === void 0 ? void 0 : data.id) && /*#__PURE__*/(0,jsx_runtime.jsx)(Reply, {
id: data === null || data === void 0 ? void 0 : data.id,
cb: function cb(id, value) {
onReplyDiscuss(id, value);
setRemarkBool(true);
}
}), remarkBool && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: DiscussItemmodules.secondLevelDiscuss,
children: data === null || data === void 0 || (_data$children4 = data.children) === null || _data$children4 === void 0 ? void 0 : _data$children4.map(function (e) {
return /*#__PURE__*/(0,jsx_runtime.jsx)(DiscussItem_SecondLevelDiscuss, {
thirdlyReply: thirdlyReply,
setThirdlyReply: setThirdlyReply,
data: e,
onReplyDiscuss: onReplyDiscuss
}, e.id);
})
})]
})]
})
});
};
/* harmony default export */ var CustomDiscuss_DiscussItem = (DiscussItem);
;// CONCATENATED MODULE: ./src/pages/Question/OjProblem/LeftPanel/FilterList/ListDetails/CustomDiscuss/index.tsx
var CustomDiscuss_List = function List(_ref) {
var identifier = _ref.identifier,
active = _ref.active,
onOk = _ref.onOk;
var _useState = (0,_react_17_0_2_react.useState)(''),
_useState2 = slicedToArray_default()(_useState, 2),
value = _useState2[0],
setValue = _useState2[1];
var _useState3 = (0,_react_17_0_2_react.useState)(1),
_useState4 = slicedToArray_default()(_useState3, 2),
page = _useState4[0],
setPage = _useState4[1];
var _useState5 = (0,_react_17_0_2_react.useState)([]),
_useState6 = slicedToArray_default()(_useState5, 2),
data = _useState6[0],
setData = _useState6[1];
var _useState7 = (0,_react_17_0_2_react.useState)(0),
_useState8 = slicedToArray_default()(_useState7, 2),
total = _useState8[0],
setTotal = _useState8[1];
var _useState9 = (0,_react_17_0_2_react.useState)(null),
_useState10 = slicedToArray_default()(_useState9, 2),
secondReply = _useState10[0],
setSecondReply = _useState10[1];
var _useState11 = (0,_react_17_0_2_react.useState)(null),
_useState12 = slicedToArray_default()(_useState11, 2),
thirdlyReply = _useState12[0],
setThirdlyReply = _useState12[1];
(0,_react_17_0_2_react.useEffect)(function () {
getCommentsData(1);
setPage(1);
}, [active]);
var getCommentsData = /*#__PURE__*/function () {
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee(page) {
var res;
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return getComments({
container_type: 'QuestionSolutionArticle',
container_identifier: active,
limit: 5,
page: page
});
case 2:
res = _context.sent;
if (res !== null && res !== void 0 && res.comments) {
setData((res === null || res === void 0 ? void 0 : res.comments) || []);
setPage(page);
setTotal(res === null || res === void 0 ? void 0 : res.disscuss_count);
}
case 4:
case "end":
return _context.stop();
}
}, _callee);
}));
return function getCommentsData(_x) {
return _ref2.apply(this, arguments);
};
}();
var onCreateDiscuss = /*#__PURE__*/function () {
var _ref3 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2() {
var res;
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
if (!(value === '')) {
_context2.next = 3;
break;
}
message/* default */.ZP.error('请输入内容');
return _context2.abrupt("return");
case 3:
_context2.next = 5;
return createDiscuss({
comments: {
content: value
},
container_type: 'QuestionSolutionArticle',
container_identifier: active
});
case 5:
res = _context2.sent;
if (res !== null && res !== void 0 && res.discuss) {
setValue('');
getCommentsData(page);
onOk();
}
case 7:
case "end":
return _context2.stop();
}
}, _callee2);
}));
return function onCreateDiscuss() {
return _ref3.apply(this, arguments);
};
}();
var onReplyDiscuss = /*#__PURE__*/function () {
var _ref4 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3(id, value, level) {
var res;
return regeneratorRuntime_default()().wrap(function _callee3$(_context3) {
while (1) switch (_context3.prev = _context3.next) {
case 0:
_context3.next = 2;
return replyDiscuss({
container_type: 'QuestionSolutionArticle',
container_identifier: active,
comments: {
content: value,
parent_id: id
}
});
case 2:
res = _context3.sent;
setSecondReply(null);
setThirdlyReply(null);
getCommentsData(page);
case 6:
case "end":
return _context3.stop();
}
}, _callee3);
}));
return function onReplyDiscuss(_x2, _x3, _x4) {
return _ref4.apply(this, arguments);
};
}();
var onPlusDiscuss = /*#__PURE__*/function () {
var _ref5 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee4(id) {
var res;
return regeneratorRuntime_default()().wrap(function _callee4$(_context4) {
while (1) switch (_context4.prev = _context4.next) {
case 0:
_context4.next = 2;
return plusDiscuss(id);
case 2:
res = _context4.sent;
getCommentsData(page);
case 4:
case "end":
return _context4.stop();
}
}, _callee4);
}));
return function onPlusDiscuss(_x5) {
return _ref5.apply(this, arguments);
};
}();
var handleChange = function handleChange(current) {
setPage(current);
getCommentsData(current);
};
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: CustomDiscussmodules.discuss,
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("aside", {
className: CustomDiscussmodules.reply,
style: {
borderWidth: total ? 1 : 0
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(markdown_editor/* default */.Z, {
defaultValue: value,
id: "writeForumsReviewId",
onChange: function onChange(v) {
setValue(v);
},
placeholder: "\u6211\u8981\u56DE\u590D...",
height: 240
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
flex: "1"
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
type: "primary",
size: 'middle',
onClick: function onClick() {
return onCreateDiscuss();
},
children: "\u53D1\u9001"
})
})]
})]
}), data === null || data === void 0 ? void 0 : data.map(function (e) {
return /*#__PURE__*/(0,jsx_runtime.jsx)(CustomDiscuss_DiscussItem, {
secondReply: secondReply,
setSecondReply: setSecondReply,
thirdlyReply: thirdlyReply,
setThirdlyReply: setThirdlyReply,
data: e,
onReplyDiscuss: onReplyDiscuss,
onPlusDiscuss: onPlusDiscuss
}, e.id);
}), /*#__PURE__*/(0,jsx_runtime.jsx)(pagination/* default */.Z, {
className: CustomDiscussmodules.pagination,
showTotal: function showTotal(total) {
return /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
style: {
color: '#656F87'
},
children: ["\u5171", /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "c-light-primary",
children: total
}), "\u6761\u6570\u636E"]
});
},
current: page,
onChange: handleChange,
total: total,
showSizeChanger: false,
showQuickJumper: true,
hideOnSinglePage: true,
pageSize: 5
})]
});
};
/* harmony default export */ var CustomDiscuss = (CustomDiscuss_List);
// EXTERNAL MODULE: ./src/components/Video/Play/index.jsx + 1 modules
var Play = __webpack_require__(17531);
;// CONCATENATED MODULE: ./src/pages/Question/OjProblem/LeftPanel/FilterList/ListDetails/index.tsx
var ListDetails_List = function List(_ref) {
var _data$videos, _data$videos2, _data$videos3, _data$videos4, _data$videos5;
var active = _ref.active,
identifier = _ref.identifier,
onAssist = _ref.onAssist,
onEdit = _ref.onEdit,
onArticlesSkip = _ref.onArticlesSkip,
onClose = _ref.onClose,
onOk = _ref.onOk,
onDelete = _ref.onDelete,
detailsIndex = _ref.detailsIndex,
btnShowStatus = _ref.btnShowStatus;
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),
data = _useState4[0],
setData = _useState4[1];
(0,_react_17_0_2_react.useEffect)(function () {
if (!!active) {
getData();
}
}, [active, detailsIndex]);
var getData = /*#__PURE__*/function () {
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
var bool,
res,
_args = arguments;
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
bool = _args.length > 0 && _args[0] !== undefined ? _args[0] : true;
if (bool) {
setLoading(true);
}
_context.next = 4;
return (0,service/* articlesDetails */.wO)(identifier, {
active: active
});
case 4:
res = _context.sent;
if ((res === null || res === void 0 ? void 0 : res.status) === 0) {
setData((res === null || res === void 0 ? void 0 : res.data) || {});
}
setLoading(false);
case 7:
case "end":
return _context.stop();
}
}, _callee);
}));
return function getData() {
return _ref2.apply(this, arguments);
};
}();
var handleArticlesStatus = /*#__PURE__*/function () {
var _ref3 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2(v) {
var res;
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
_context2.next = 2;
return (0,service/* articlesStatus */.qe)(identifier, objectSpread2_default()({
active: active
}, v));
case 2:
res = _context2.sent;
if ((res === null || res === void 0 ? void 0 : res.status) === 0) {
getData(false);
onOk();
}
case 4:
case "end":
return _context2.stop();
}
}, _callee2);
}));
return function handleArticlesStatus(_x) {
return _ref3.apply(this, arguments);
};
}();
var handleAssist = /*#__PURE__*/function () {
var _ref4 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3(v) {
var res;
return regeneratorRuntime_default()().wrap(function _callee3$(_context3) {
while (1) switch (_context3.prev = _context3.next) {
case 0:
_context3.next = 2;
return (0,service/* articlesAssist */.Rg)(identifier, {
active: v === null || v === void 0 ? void 0 : v.id
});
case 2:
res = _context3.sent;
if (res.status === 0) {
getData(false);
onOk();
}
case 4:
case "end":
return _context3.stop();
}
}, _callee3);
}));
return function handleAssist(_x2) {
return _ref4.apply(this, arguments);
};
}();
var handleDelete = function handleDelete(v) {
modal/* default */.Z.confirm({
centered: true,
width: 500,
okText: '确定',
cancelText: '取消',
title: '提示',
icon: null,
className: 'custom-modal-divider',
content: '确认要删除该题解吗?',
onOk: function onOk() {
return onDelete(v);
}
});
};
var handleOk = function handleOk() {
getData(false);
onOk();
};
return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: ListDetailsmodules.listDetails,
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(skeleton/* default */.Z, {
className: "pt20 pl20 pr20",
loading: loading,
active: true,
paragraph: {
rows: 5
},
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: ListDetailsmodules.head,
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: ListDetailsmodules.name,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
title: data === null || data === void 0 ? void 0 : data.name,
className: ListDetailsmodules.title,
children: data === null || data === void 0 ? void 0 : data.name
}), (data === null || data === void 0 ? void 0 : data.is_authority) && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: ListDetailsmodules.b,
children: "\u5B98\u65B9"
}), (data === null || data === void 0 ? void 0 : data.is_excellent) && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: ListDetailsmodules.a,
children: "\u7CBE\u9009"
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: ListDetailsmodules.tag,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
src: env/* default */.Z.IMG_SERVER + '/images/' + (data === null || data === void 0 ? void 0 : data.image_url)
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "c-grey-333 ml5 mr20 font14",
children: data === null || data === void 0 ? void 0 : data.username
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
style: {
display: 'inline-block',
marginBottom: -2
},
className: "c-grey-999 mr20 font12",
children: ["\u53D1\u5E03\u4E8E", dayjs_min_default()(data === null || data === void 0 ? void 0 : data.created_at).format('YYYY-MM-DD')]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
src: c
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: data === null || data === void 0 ? void 0 : data.praises_count
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
src: d
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: data === null || data === void 0 ? void 0 : data.discusses_count
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
src: e
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: data === null || data === void 0 ? void 0 : data.viewed_count
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: ListDetailsmodules.btn,
children: [((0,authority/* isSuperAdmins */.Ny)() || (data === null || data === void 0 ? void 0 : data.is_self)) && /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
onClick: function onClick() {
return handleDelete(data);
},
type: "primary",
ghost: true,
children: "\u5220\u9664"
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
onClick: function onClick() {
return onEdit(data);
},
type: "primary",
ghost: true,
children: "\u7F16\u8F91"
})]
}), (0,authority/* isSuperAdmins */.Ny)() && /*#__PURE__*/(0,jsx_runtime.jsxs)(es_button/* default */.ZP, {
onClick: function onClick() {
return handleArticlesStatus({
is_authority: !(data !== null && data !== void 0 && data.is_authority)
});
},
type: "primary",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
src: gf
}), data !== null && data !== void 0 && data.is_authority ? '取消' : '设为', "\u5B98\u65B9"]
}), (0,authority/* isSuperAdmins */.Ny)() && /*#__PURE__*/(0,jsx_runtime.jsxs)(es_button/* default */.ZP, {
onClick: function onClick() {
return handleArticlesStatus({
is_excellent: !(data !== null && data !== void 0 && data.is_excellent)
});
},
type: "primary",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
src: jx
}), data !== null && data !== void 0 && data.is_excellent ? '取消' : '设为', "\u7CBE\u9009"]
})]
})]
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: ListDetailsmodules.scroll,
children: [(data === null || data === void 0 || (_data$videos = data.videos) === null || _data$videos === void 0 || (_data$videos = _data$videos[0]) === null || _data$videos === void 0 ? void 0 : _data$videos.id) && /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: ListDetailsmodules.video,
children: /*#__PURE__*/(0,jsx_runtime.jsx)(spin/* default */.Z, {
tip: "\u6B63\u5728\u8F6C\u7801\uFF0C\u8BF7\u7A0D\u7B49...",
spinning: !(data !== null && data !== void 0 && (_data$videos2 = data.videos) !== null && _data$videos2 !== void 0 && (_data$videos2 = _data$videos2[0]) !== null && _data$videos2 !== void 0 && _data$videos2.transcoded),
children: /*#__PURE__*/(0,jsx_runtime.jsx)(Play/* default */.Z, {
poster: data === null || data === void 0 || (_data$videos3 = data.videos) === null || _data$videos3 === void 0 || (_data$videos3 = _data$videos3[0]) === null || _data$videos3 === void 0 ? void 0 : _data$videos3.cover_url,
src: (data === null || data === void 0 || (_data$videos4 = data.videos) === null || _data$videos4 === void 0 || (_data$videos4 = _data$videos4[0]) === null || _data$videos4 === void 0 ? void 0 : _data$videos4.play_url) || '',
videoId: data === null || data === void 0 || (_data$videos5 = data.videos) === null || _data$videos5 === void 0 || (_data$videos5 = _data$videos5[0]) === null || _data$videos5 === void 0 ? void 0 : _data$videos5.id,
logWatchHistory: function logWatchHistory() {}
})
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
className: ListDetailsmodules.html,
value: (data === null || data === void 0 ? void 0 : data.content) || ''
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
onClick: function onClick() {
return handleAssist(data);
},
className: ListDetailsmodules.g,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
className: "mr10",
src: data !== null && data !== void 0 && data.user_liker ? g : g
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: data === null || data === void 0 ? void 0 : data.praises_count
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)(CustomDiscuss, {
onOk: handleOk,
active: active,
identifier: identifier
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: ListDetailsmodules.btns,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
onClick: function onClick() {
return onClose();
},
type: "primary",
ghost: true,
children: "\u5173\u95ED"
}), btnShowStatus[0] && /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
onClick: function onClick(e) {
return onArticlesSkip(e, 'prev');
},
style: {
marginLeft: 20
},
type: "primary",
children: "\u4E0A\u4E00\u9898\u89E3"
}), btnShowStatus[1] && /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
onClick: function onClick(e) {
return onArticlesSkip(e, 'next');
},
style: {
marginLeft: 20
},
type: "primary",
children: "\u4E0B\u4E00\u9898\u89E3"
})]
})]
})
});
};
/* harmony default export */ var ListDetails = (ListDetails_List);
;// CONCATENATED MODULE: ./src/pages/Question/OjProblem/LeftPanel/FilterList/img/a.svg
function a_createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = a_unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
function a_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return a_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return a_arrayLikeToArray(o, minLen); }
function a_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
var a_defProp = Object.defineProperty;
var a_getOwnPropSymbols = Object.getOwnPropertySymbols;
var a_hasOwnProp = Object.prototype.hasOwnProperty;
var a_propIsEnum = Object.prototype.propertyIsEnumerable;
var a_defNormalProp = function __defNormalProp(obj, key, value) {
return key in obj ? a_defProp(obj, key, {
enumerable: true,
configurable: true,
writable: true,
value: value
}) : obj[key] = value;
};
var a_spreadValues = function __spreadValues(a, b) {
for (var prop in b || (b = {})) if (a_hasOwnProp.call(b, prop)) a_defNormalProp(a, prop, b[prop]);
if (a_getOwnPropSymbols) {
var _iterator = a_createForOfIteratorHelper(a_getOwnPropSymbols(b)),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var prop = _step.value;
if (a_propIsEnum.call(b, prop)) a_defNormalProp(a, prop, b[prop]);
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
}
return a;
};
var SvgA = function SvgA(props) {
return /* @__PURE__ */React.createElement("svg", a_spreadValues({
xmlns: "http://www.w3.org/2000/svg",
xmlnsXlink: "http://www.w3.org/1999/xlink",
width: 16,
height: 16
}, props), /* @__PURE__ */React.createElement("defs", null, /* @__PURE__ */React.createElement("path", {
id: "a_svg__a",
d: "M13.727 0C14.983 0 16 .895 16 2v12c0 1.105-1.017 2-2.273 2H2.273C1.017 16 0 15.105 0 14V2C0 .895 1.017 0 2.273 0h11.454ZM7.464 11H2.955c-.266 0-.513.19-.646.5s-.133.69 0 1c.133.31.38.5.646.5h4.509c.411 0 .745-.448.745-1s-.334-1-.745-1Zm4-3.5H2.955c-.411 0-.745.448-.745 1s.334 1 .745 1h8.509c.412 0 .746-.448.746-1s-.334-1-.746-1ZM3.71 2.75a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Z"
})), /* @__PURE__ */React.createElement("g", {
fill: "none",
fillRule: "evenodd"
}, /* @__PURE__ */React.createElement("mask", {
id: "a_svg__b",
fill: "#fff"
}, /* @__PURE__ */React.createElement("use", {
xlinkHref: "#a_svg__a"
})), /* @__PURE__ */React.createElement("use", {
fill: "#7DC1FF",
fillRule: "nonzero",
xlinkHref: "#a_svg__a"
}), /* @__PURE__ */React.createElement("circle", {
cx: 1.5,
cy: 0.5,
r: 16.5,
fill: "#A3D3FF",
fillRule: "nonzero",
mask: "url(#a_svg__b)"
}), /* @__PURE__ */React.createElement("ellipse", {
cx: 1.5,
cy: -0.5,
fill: "#C1E2FF",
fillRule: "nonzero",
mask: "url(#a_svg__b)",
rx: 12.5,
ry: 12
}), /* @__PURE__ */React.createElement("ellipse", {
cx: -2.5,
cy: -4,
fill: "#EEF7FF",
fillRule: "nonzero",
mask: "url(#a_svg__b)",
rx: 12.5,
ry: 12
})));
};
/* harmony default export */ var a = ("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiPjxkZWZzPjxwYXRoIGlkPSJhIiBkPSJNMTMuNzI3IDBDMTQuOTgzIDAgMTYgLjg5NSAxNiAydjEyYzAgMS4xMDUtMS4wMTcgMi0yLjI3MyAySDIuMjczQzEuMDE3IDE2IDAgMTUuMTA1IDAgMTRWMkMwIC44OTUgMS4wMTcgMCAyLjI3MyAwaDExLjQ1NFpNNy40NjQgMTFIMi45NTVjLS4yNjYgMC0uNTEzLjE5LS42NDYuNXMtLjEzMy42OSAwIDFjLjEzMy4zMS4zOC41LjY0Ni41aDQuNTA5Yy40MTEgMCAuNzQ1LS40NDguNzQ1LTFzLS4zMzQtMS0uNzQ1LTFabTQtMy41SDIuOTU1Yy0uNDExIDAtLjc0NS40NDgtLjc0NSAxcy4zMzQgMSAuNzQ1IDFoOC41MDljLjQxMiAwIC43NDYtLjQ0OC43NDYtMXMtLjMzNC0xLS43NDYtMVpNMy43MSAyLjc1YTEuNSAxLjUgMCAxIDAgMCAzIDEuNSAxLjUgMCAwIDAgMC0zWiIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxtYXNrIGlkPSJiIiBmaWxsPSIjZmZmIj48dXNlIHhsaW5rOmhyZWY9IiNhIi8+PC9tYXNrPjx1c2UgZmlsbD0iIzdEQzFGRiIgZmlsbC1ydWxlPSJub256ZXJvIiB4bGluazpocmVmPSIjYSIvPjxjaXJjbGUgY3g9IjEuNSIgY3k9Ii41IiByPSIxNi41IiBmaWxsPSIjQTNEM0ZGIiBmaWxsLXJ1bGU9Im5vbnplcm8iIG1hc2s9InVybCgjYikiLz48ZWxsaXBzZSBjeD0iMS41IiBjeT0iLS41IiBmaWxsPSIjQzFFMkZGIiBmaWxsLXJ1bGU9Im5vbnplcm8iIG1hc2s9InVybCgjYikiIHJ4PSIxMi41IiByeT0iMTIiLz48ZWxsaXBzZSBjeD0iLTIuNSIgY3k9Ii00IiBmaWxsPSIjRUVGN0ZGIiBmaWxsLXJ1bGU9Im5vbnplcm8iIG1hc2s9InVybCgjYikiIHJ4PSIxMi41IiByeT0iMTIiLz48L2c+PC9zdmc+");
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.3.1@@ant-design/icons/es/icons/CaretUpOutlined.js + 1 modules
var CaretUpOutlined = __webpack_require__(14613);
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.3.1@@ant-design/icons/es/icons/CaretDownOutlined.js + 1 modules
var CaretDownOutlined = __webpack_require__(63810);
;// CONCATENATED MODULE: ./src/pages/Question/OjProblem/LeftPanel/FilterList/index.tsx
var FilterList = function FilterList(_ref) {
var identifier = _ref.identifier,
tabStatus = _ref.tabStatus,
setFilterListTotal = _ref.setFilterListTotal,
setListStatus = _ref.setListStatus;
var initParams = {
page: 1,
limit: 10,
total: 0,
search: '',
save_search: '',
sort_by: 'updated_at',
sort_direction: null
};
var _useState = (0,_react_17_0_2_react.useState)(objectSpread2_default()({}, initParams)),
_useState2 = slicedToArray_default()(_useState, 2),
params = _useState2[0],
setParams = _useState2[1];
var _useState3 = (0,_react_17_0_2_react.useState)(false),
_useState4 = slicedToArray_default()(_useState3, 2),
loading = _useState4[0],
setLoading = _useState4[1];
var _useState5 = (0,_react_17_0_2_react.useState)(0),
_useState6 = slicedToArray_default()(_useState5, 2),
width = _useState6[0],
setWidth = _useState6[1];
var _useState7 = (0,_react_17_0_2_react.useState)(1),
_useState8 = slicedToArray_default()(_useState7, 2),
detailsIndex = _useState8[0],
setDetailsIndex = _useState8[1];
var _useState9 = (0,_react_17_0_2_react.useState)(null),
_useState10 = slicedToArray_default()(_useState9, 2),
active = _useState10[0],
setActive = _useState10[1];
var _useState11 = (0,_react_17_0_2_react.useState)([]),
_useState12 = slicedToArray_default()(_useState11, 2),
data = _useState12[0],
setData = _useState12[1];
var _useState13 = (0,_react_17_0_2_react.useState)([true, true]),
_useState14 = slicedToArray_default()(_useState13, 2),
btnShowStatus = _useState14[0],
setBtnShowStatus = _useState14[1];
var _useState15 = (0,_react_17_0_2_react.useState)(0),
_useState16 = slicedToArray_default()(_useState15, 2),
status = _useState16[0],
setStatus = _useState16[1]; //1新增 2编辑 3详情
var leftWarp = (0,_react_17_0_2_react.useRef)(null);
(0,_react_17_0_2_react.useEffect)(function () {
handleClose();
}, [tabStatus]);
(0,_react_17_0_2_react.useEffect)(function () {
dealBtnShowStatus();
}, [active]);
(0,_react_17_0_2_react.useEffect)(function () {
getData(objectSpread2_default()({}, initParams));
handleClose();
}, [identifier]);
(0,_react_17_0_2_react.useEffect)(function () {
window.addEventListener('resize', handleResize);
setListStatus(status);
return function () {
window.removeEventListener('resize', handleResize);
};
}, [status]);
var dealBtnShowStatus = /*#__PURE__*/function () {
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() {
var item, activeIndex;
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
if (active) {
_context.next = 3;
break;
}
setBtnShowStatus([true, true]);
return _context.abrupt("return");
case 3:
item = [true, true];
activeIndex = data === null || data === void 0 ? void 0 : data.findIndex(function (v) {
return v.id === active;
});
if (activeIndex === 0 && params.page === 1) {
item[0] = false;
}
if ((params.page - 1) * params.limit + (activeIndex + 1) === params.total) {
item[1] = false;
}
setBtnShowStatus(item);
case 8:
case "end":
return _context.stop();
}
}, _callee);
}));
return function dealBtnShowStatus() {
return _ref2.apply(this, arguments);
};
}();
var handleResize = function handleResize() {
if (status) {
var _leftWarp$current;
var rightWidth = window.innerWidth - ((_leftWarp$current = leftWarp.current) === null || _leftWarp$current === void 0 ? void 0 : _leftWarp$current.clientWidth);
setWidth(rightWidth);
}
};
var getData = /*#__PURE__*/function () {
var _ref3 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2(record) {
var res, _res$data, _res$data2, _res$data3;
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
setLoading(true);
_context2.next = 3;
return (0,service/* articlesList */.WH)(identifier, record);
case 3:
res = _context2.sent;
if ((res === null || res === void 0 ? void 0 : res.status) === 0) {
setData((res === null || res === void 0 || (_res$data = res.data) === null || _res$data === void 0 ? void 0 : _res$data.articles) || []);
setParams(objectSpread2_default()(objectSpread2_default()({}, record), {}, {
total: res === null || res === void 0 || (_res$data2 = res.data) === null || _res$data2 === void 0 ? void 0 : _res$data2.articles_count
}));
setFilterListTotal(res === null || res === void 0 || (_res$data3 = res.data) === null || _res$data3 === void 0 ? void 0 : _res$data3.articles_count);
}
setLoading(false);
return _context2.abrupt("return", res);
case 7:
case "end":
return _context2.stop();
}
}, _callee2);
}));
return function getData(_x) {
return _ref3.apply(this, arguments);
};
}();
var handleSorter = function handleSorter() {
if ((params === null || params === void 0 ? void 0 : params.sort_direction) === null) {
params.sort_direction = 'asc';
} else if ((params === null || params === void 0 ? void 0 : params.sort_direction) === 'asc') {
params.sort_direction = 'desc';
} else if ((params === null || params === void 0 ? void 0 : params.sort_direction) === 'desc') {
params.sort_direction = null;
}
params.page = 1;
handleClose();
setParams(objectSpread2_default()({}, params));
getData(params);
};
var handleSearch = function handleSearch() {
params.page = 1;
params.search = params === null || params === void 0 ? void 0 : params.save_search;
handleClose();
setParams(objectSpread2_default()({}, params));
getData(params);
};
var sign = function sign() {
var _leftWarp$current2;
var dom = document.getElementsByClassName('btn-resize');
dom[0].style.visibility = 'hidden';
var rightWidth = window.innerWidth - ((_leftWarp$current2 = leftWarp.current) === null || _leftWarp$current2 === void 0 ? void 0 : _leftWarp$current2.clientWidth);
setWidth(rightWidth);
};
var addProblems = function addProblems() {
sign();
setStatus(1);
};
var handleDetails = function handleDetails(v) {
sign();
setActive(v === null || v === void 0 ? void 0 : v.id);
setStatus(3);
};
var handleEdit = function handleEdit(v) {
sign();
setActive(v === null || v === void 0 ? void 0 : v.id);
setStatus(2);
};
var handleClose = function handleClose() {
var dom = document.getElementsByClassName('btn-resize');
dom[0].style.visibility = 'visible';
setWidth(0);
setStatus(0);
setActive(null);
};
var handleOk = function handleOk(id) {
setStatus(3);
setActive(id);
params.page = 1;
setParams(objectSpread2_default()({}, params));
getData(params);
};
var handleEditOk = function handleEditOk(id) {
setStatus(3);
setActive(id);
setParams(objectSpread2_default()({}, params));
getData(params);
};
var handleDetailsOk = function handleDetailsOk(id) {
setParams(objectSpread2_default()({}, params));
getData(params);
};
var handleAssist = /*#__PURE__*/function () {
var _ref4 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3(v) {
var res;
return regeneratorRuntime_default()().wrap(function _callee3$(_context3) {
while (1) switch (_context3.prev = _context3.next) {
case 0:
_context3.next = 2;
return (0,service/* articlesAssist */.Rg)(identifier, {
active: v === null || v === void 0 ? void 0 : v.id
});
case 2:
res = _context3.sent;
if (res.status === 0) {
getData(params);
setDetailsIndex(detailsIndex + 1);
}
case 4:
case "end":
return _context3.stop();
}
}, _callee3);
}));
return function handleAssist(_x2) {
return _ref4.apply(this, arguments);
};
}();
var handleHide = /*#__PURE__*/function () {
var _ref5 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee4(v) {
var res;
return regeneratorRuntime_default()().wrap(function _callee4$(_context4) {
while (1) switch (_context4.prev = _context4.next) {
case 0:
_context4.next = 2;
return (0,service/* articlesHide */.rL)(identifier, {
active: v === null || v === void 0 ? void 0 : v.id
});
case 2:
res = _context4.sent;
if (res.status === 0) {
getData(params);
setDetailsIndex(detailsIndex + 1);
}
case 4:
case "end":
return _context4.stop();
}
}, _callee4);
}));
return function handleHide(_x3) {
return _ref5.apply(this, arguments);
};
}();
var handleDelete = /*#__PURE__*/function () {
var _ref6 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee5(v) {
var res;
return regeneratorRuntime_default()().wrap(function _callee5$(_context5) {
while (1) switch (_context5.prev = _context5.next) {
case 0:
_context5.next = 2;
return (0,service/* deleteArticles */.de)(identifier, {
active: v === null || v === void 0 ? void 0 : v.id
});
case 2:
res = _context5.sent;
if (res.status === 0) {
handleClose();
getData(params);
}
case 4:
case "end":
return _context5.stop();
}
}, _callee5);
}));
return function handleDelete(_x4) {
return _ref6.apply(this, arguments);
};
}();
var handleChange = function handleChange(current) {
params.page = current;
setParams(objectSpread2_default()({}, params));
getData(params);
};
var handleArticlesSkip = /*#__PURE__*/function () {
var _ref7 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee6(e, type) {
var activeIndex, res, _res$data4, _res$data5, param, _param, _res, _res$data6, _param2, _param3;
return regeneratorRuntime_default()().wrap(function _callee6$(_context6) {
while (1) switch (_context6.prev = _context6.next) {
case 0:
activeIndex = data === null || data === void 0 ? void 0 : data.findIndex(function (v) {
return v.id === active;
});
console.log(activeIndex, type, 22);
if (!(type === 'prev')) {
_context6.next = 21;
break;
}
if (!(activeIndex === undefined)) {
_context6.next = 6;
break;
}
message/* default */.ZP.warning('上一题解不存在');
return _context6.abrupt("return");
case 6:
if (!(activeIndex === 0)) {
_context6.next = 19;
break;
}
if (!(params.page === 1)) {
_context6.next = 10;
break;
}
message/* default */.ZP.warning('上一题解不存在');
return _context6.abrupt("return");
case 10:
if (!(params.page !== 1)) {
_context6.next = 17;
break;
}
params.page = params.page - 1;
setParams(objectSpread2_default()({}, params));
_context6.next = 15;
return getData(params);
case 15:
res = _context6.sent;
if ((res === null || res === void 0 ? void 0 : res.status) === 0) {
param = res === null || res === void 0 || (_res$data4 = res.data) === null || _res$data4 === void 0 ? void 0 : _res$data4.articles[(res === null || res === void 0 || (_res$data5 = res.data) === null || _res$data5 === void 0 || (_res$data5 = _res$data5.articles) === null || _res$data5 === void 0 ? void 0 : _res$data5.length) - 1];
setActive(param === null || param === void 0 ? void 0 : param.id);
console.log(e.target, 555);
}
case 17:
_context6.next = 21;
break;
case 19:
_param = data[activeIndex - 1];
setActive(_param === null || _param === void 0 ? void 0 : _param.id);
case 21:
if (!(type === 'next')) {
_context6.next = 39;
break;
}
if (!(activeIndex === undefined)) {
_context6.next = 25;
break;
}
message/* default */.ZP.warning('下一题解不存在');
return _context6.abrupt("return");
case 25:
if (!((params.page - 1) * params.limit + (activeIndex + 1) === params.total)) {
_context6.next = 28;
break;
}
message/* default */.ZP.warning('下一题解不存在');
return _context6.abrupt("return");
case 28:
if (!(activeIndex + 1 === params.limit)) {
_context6.next = 37;
break;
}
params.page = params.page + 1;
setParams(objectSpread2_default()({}, params));
_context6.next = 33;
return getData(params);
case 33:
_res = _context6.sent;
if ((_res === null || _res === void 0 ? void 0 : _res.status) === 0) {
_param2 = _res === null || _res === void 0 || (_res$data6 = _res.data) === null || _res$data6 === void 0 ? void 0 : _res$data6.articles[0];
setActive(_param2 === null || _param2 === void 0 ? void 0 : _param2.id);
}
_context6.next = 39;
break;
case 37:
//页码中间
_param3 = data[activeIndex + 1];
setActive(_param3 === null || _param3 === void 0 ? void 0 : _param3.id);
case 39:
case "end":
return _context6.stop();
}
}, _callee6);
}));
return function handleArticlesSkip(_x5, _x6) {
return _ref7.apply(this, arguments);
};
}();
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: FilterListmodules.wrap,
ref: leftWarp,
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: FilterListmodules.head,
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: FilterListmodules.sort,
onClick: handleSorter,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: "\u6700\u65B0"
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("aside", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(CaretUpOutlined/* default */.Z, {
style: {
color: (params === null || params === void 0 ? void 0 : params.sort_direction) === 'asc' ? '#0152d9' : '#bfbfbf'
}
}), /*#__PURE__*/(0,jsx_runtime.jsx)(CaretDownOutlined/* default */.Z, {
style: {
color: (params === null || params === void 0 ? void 0 : params.sort_direction) === 'desc' ? '#0152d9' : '#bfbfbf'
}
})]
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z.Search, {
value: params.save_search,
className: FilterListmodules['oj-width-input'],
placeholder: "\u641C\u7D22\u9898\u89E3",
onChange: function onChange(e) {
params.save_search = e.target.value;
setParams(objectSpread2_default()({}, params));
},
onSearch: handleSearch
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
onClick: addProblems,
className: FilterListmodules.btn,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
src: a
}), "\u5199\u9898\u89E3"]
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: FilterListmodules.listWarp,
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(spin/* default */.Z, {
spinning: loading,
className: "mt20",
children: [data === null || data === void 0 ? void 0 : data.map(function (e, i) {
var showLine = true;
if (i + 1 === data.length && i !== 0) {
showLine = false;
}
return /*#__PURE__*/(0,jsx_runtime.jsx)(FilterList_List, {
active: active,
data: e,
showLine: showLine,
onClick: handleDetails,
onAssist: handleAssist,
onHide: handleHide
}, e.id);
}), (data === null || data === void 0 ? void 0 : data.length) === 0 && /*#__PURE__*/(0,jsx_runtime.jsx)(NoData/* default */.Z, {
customText: "\u6682\u65F6\u8FD8\u6CA1\u6709\u76F8\u5173\u6570\u636E\u54E6!"
})]
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(pagination/* default */.Z, {
className: FilterListmodules.pagination,
showTotal: function showTotal(total) {
return /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
style: {
color: '#656F87'
},
children: ["\u5171", /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "c-light-primary",
children: total
}), "\u6761\u6570\u636E"]
});
},
total: params.total,
showSizeChanger: false,
current: params === null || params === void 0 ? void 0 : params.page,
onChange: handleChange,
hideOnSinglePage: true,
showQuickJumper: true
}), status > 0 && /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: FilterListmodules.fixedRight,
style: {
width: width
},
children: [status === 1 && /*#__PURE__*/(0,jsx_runtime.jsx)(ListForm, {
identifier: identifier,
onClose: handleClose,
onOk: handleOk
}), status === 2 && /*#__PURE__*/(0,jsx_runtime.jsx)(ListForm, {
active: active,
identifier: identifier,
onClose: handleClose,
onOk: handleEditOk
}), status === 3 && /*#__PURE__*/(0,jsx_runtime.jsx)(ListDetails, {
btnShowStatus: btnShowStatus,
onArticlesSkip: handleArticlesSkip,
detailsIndex: detailsIndex,
active: active,
identifier: identifier,
onClose: handleClose,
onOk: handleDetailsOk,
onEdit: handleEdit,
onAssist: handleAssist,
onDelete: handleDelete
})]
})]
});
};
/* harmony default export */ var LeftPanel_FilterList = (FilterList);
;// CONCATENATED MODULE: ./src/pages/Question/OjProblem/LeftPanel/Drawer/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var Drawermodules = ({"flex_box_center":"flex_box_center___BbEkt","flex_space_between":"flex_space_between___v3cDl","flex_box_vertical_center":"flex_box_vertical_center___wUFLn","flex_box_center_end":"flex_box_center_end___Tdr08","flex_box_column":"flex_box_column___fYHlj","wrap":"wrap___UAZFM","head":"head___Nl6hk","title":"title___Ir573","content":"content___xUewa","list":"list___oi2ig","footer":"footer___V3bwQ"});
;// CONCATENATED MODULE: ./src/pages/Question/OjProblem/LeftPanel/Drawer/index.tsx
var Drawer = function Drawer(_ref) {
var _tableData;
var visible = _ref.visible,
onVisible = _ref.onVisible,
value = _ref.value,
onChange = _ref.onChange,
setIndex = _ref.setIndex;
var initParams = {
page: 1,
per_page: 30,
total: 0,
tag_discipline_id: [],
//知识点
search: '',
save_search: '',
difficulty: null
};
var _useState = (0,_react_17_0_2_react.useState)(initParams),
_useState2 = slicedToArray_default()(_useState, 2),
params = _useState2[0],
setParams = _useState2[1];
var _useState3 = (0,_react_17_0_2_react.useState)([]),
_useState4 = slicedToArray_default()(_useState3, 2),
pointData = _useState4[0],
setPointData = _useState4[1];
var _useState5 = (0,_react_17_0_2_react.useState)([]),
_useState6 = slicedToArray_default()(_useState5, 2),
tableData = _useState6[0],
setTableData = _useState6[1];
var _useState7 = (0,_react_17_0_2_react.useState)(false),
_useState8 = slicedToArray_default()(_useState7, 2),
loading = _useState8[0],
setLoading = _useState8[1];
var data = (0,_react_17_0_2_react.useRef)([]);
var timer = (0,_react_17_0_2_react.useRef)(null);
var urlParams = (0,_umi_production_exports.useParams)();
//30秒发一次记录
(0,_react_17_0_2_react.useEffect)(function () {
if (urlParams !== null && urlParams !== void 0 && urlParams.id) {
timer.current = setInterval(function () {
setTime(30);
}, 30000);
}
return function () {
clearInterval(timer.current);
};
}, []);
var setTime = /*#__PURE__*/function () {
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee(num) {
var res;
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return (0,service/* setLogTime */.uc)(urlParams === null || urlParams === void 0 ? void 0 : urlParams.id, {
practice_time: num
});
case 2:
res = _context.sent;
case 3:
case "end":
return _context.stop();
}
}, _callee);
}));
return function setTime(_x) {
return _ref2.apply(this, arguments);
};
}();
(0,_react_17_0_2_react.useEffect)(function () {
getData(params);
getPointData();
}, []);
(0,_react_17_0_2_react.useEffect)(function () {
window.addEventListener('click', handleSkip);
return function () {
window.removeEventListener('click', handleSkip);
};
}, [urlParams === null || urlParams === void 0 ? void 0 : urlParams.save_identifier, visible]);
(0,_react_17_0_2_react.useEffect)(function () {
var paramIndex = data.current.findIndex(function (e) {
return e.identifier === (urlParams === null || urlParams === void 0 ? void 0 : urlParams.save_identifier);
});
var paramPrev = data.current[paramIndex - 1];
var paramNext = data.current[paramIndex + 1];
var prev = document.getElementById('oj-prev');
var next = document.getElementById('oj-next');
if (paramPrev) {
prev.style.display = 'block';
} else {
prev.style.display = 'none';
}
if (paramNext) {
next.style.display = 'block';
} else {
next.style.display = 'none';
}
}, [urlParams === null || urlParams === void 0 ? void 0 : urlParams.save_identifier, data.current]);
//父级找元素
var parentIndexOf = function parentIndexOf(node, parent) {
if (node.id === parent) {
return node;
}
for (var i = 0, n = node; n = n.parentNode; i++) {
if (n.id === parent) {
return n;
}
if (n == document.documentElement) {
return false;
} //找不到目标父节点,防止死循环
}
};
var handleSkip = /*#__PURE__*/function () {
var _ref3 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2(e) {
var paramIndex, paramPrev, paramNext;
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
if (!parentIndexOf(e.target, 'oj-drawer') && visible) {
onVisible(false);
}
paramIndex = data.current.findIndex(function (e) {
return e.identifier === (urlParams === null || urlParams === void 0 ? void 0 : urlParams.save_identifier);
});
paramPrev = data.current[paramIndex - 1];
paramNext = data.current[paramIndex + 1];
if (!(e.target.id === 'oj-prev')) {
_context2.next = 14;
break;
}
if (!(!paramPrev || paramIndex === -1)) {
_context2.next = 8;
break;
}
message/* default */.ZP.warning('上一题不存在');
return _context2.abrupt("return");
case 8:
e.target.style.pointerEvents = 'none';
e.target.style.cursor = 'not-allowed';
_context2.next = 12;
return skip(paramPrev === null || paramPrev === void 0 ? void 0 : paramPrev.identifier);
case 12:
setIndex('0');
setTimeout(function () {
e.target.style.pointerEvents = 'auto';
e.target.style.cursor = 'pointer';
}, 400);
case 14:
if (!(e.target.id === 'oj-next' || e.target.id === 'oj-modal-next')) {
_context2.next = 24;
break;
}
if (!(!paramNext || paramIndex === -1)) {
_context2.next = 18;
break;
}
message/* default */.ZP.warning('下一题不存在');
return _context2.abrupt("return");
case 18:
e.target.style.pointerEvents = 'none';
e.target.style.cursor = 'not-allowed';
_context2.next = 22;
return skip(paramNext === null || paramNext === void 0 ? void 0 : paramNext.identifier);
case 22:
setIndex('0');
setTimeout(function () {
e.target.style.pointerEvents = 'auto';
e.target.style.cursor = 'pointer';
}, 400);
case 24:
case "end":
return _context2.stop();
}
}, _callee2);
}));
return function handleSkip(_x2) {
return _ref3.apply(this, arguments);
};
}();
(0,_react_17_0_2_react.useEffect)(function () {
onChange(urlParams === null || urlParams === void 0 ? void 0 : urlParams.save_identifier);
var page = tableData.findIndex(function (e) {
return e.some(function (r) {
return r.identifier === (urlParams === null || urlParams === void 0 ? void 0 : urlParams.save_identifier);
});
});
if (page === -1) {
setParams(objectSpread2_default()(objectSpread2_default()({}, params), {}, {
page: 1
}));
} else {
setParams(objectSpread2_default()(objectSpread2_default()({}, params), {}, {
page: page + 1
}));
}
}, [urlParams === null || urlParams === void 0 ? void 0 : urlParams.save_identifier, tableData]);
var handlePoint = function handlePoint(v) {
params.page = 1;
params.tag_discipline_id = v;
setParams(objectSpread2_default()({}, params));
getData(params);
};
var getPointData = /*#__PURE__*/function () {
var _ref4 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3() {
var res;
return regeneratorRuntime_default()().wrap(function _callee3$(_context3) {
while (1) switch (_context3.prev = _context3.next) {
case 0:
_context3.next = 2;
return (0,fetch/* default */.ZP)("/api/tag_disciplines.json", {
method: 'get',
params: {
target: 'practice',
position: 'index'
}
});
case 2:
res = _context3.sent;
setPointData(res.tag_disciplines || []);
case 4:
case "end":
return _context3.stop();
}
}, _callee3);
}));
return function getPointData() {
return _ref4.apply(this, arguments);
};
}();
var handleSelect = function handleSelect(v) {
params.page = 1;
params.difficulty = typeof v === 'number' ? v : null;
setParams(objectSpread2_default()({}, params));
getData(params);
};
var getData = /*#__PURE__*/function () {
var _ref5 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee4(record) {
var res, _res$practices_list, arr_length, newArr, i, _res$practices_list2;
return regeneratorRuntime_default()().wrap(function _callee4$(_context4) {
while (1) switch (_context4.prev = _context4.next) {
case 0:
setLoading(true);
_context4.next = 3;
return (0,service/* practicesList */.KC)(record);
case 3:
res = _context4.sent;
if (res !== null && res !== void 0 && res.practices_list) {
arr_length = res === null || res === void 0 || (_res$practices_list = res.practices_list) === null || _res$practices_list === void 0 ? void 0 : _res$practices_list.length;
newArr = [];
for (i = 0; i < arr_length; i += params === null || params === void 0 ? void 0 : params.per_page) {
newArr.push(res === null || res === void 0 || (_res$practices_list2 = res.practices_list) === null || _res$practices_list2 === void 0 ? void 0 : _res$practices_list2.slice(i, i + (params === null || params === void 0 ? void 0 : params.per_page)));
}
setParams(objectSpread2_default()(objectSpread2_default()({}, params), {}, {
total: res === null || res === void 0 ? void 0 : res.practices_count
}));
data.current = (res === null || res === void 0 ? void 0 : res.practices_list) || [];
setTableData(newArr);
}
setLoading(false);
case 6:
case "end":
return _context4.stop();
}
}, _callee4);
}));
return function getData(_x3) {
return _ref5.apply(this, arguments);
};
}();
var skip = /*#__PURE__*/function () {
var _ref6 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee5(v, e) {
var res;
return regeneratorRuntime_default()().wrap(function _callee5$(_context5) {
while (1) switch (_context5.prev = _context5.next) {
case 0:
_context5.next = 2;
return (0,fetch/* default */.ZP)("/api/practices/".concat(v, "/start"), {
method: 'get'
});
case 2:
res = _context5.sent;
if ((res === null || res === void 0 ? void 0 : res.status) === 0) {
_umi_production_exports.history.push("/problems/".concat(res === null || res === void 0 ? void 0 : res.identifier, "/oj/").concat(v));
}
case 4:
case "end":
return _context5.stop();
}
}, _callee5);
}));
return function skip(_x4, _x5) {
return _ref6.apply(this, arguments);
};
}();
var handleChange = function handleChange(current) {
params.page = current;
setParams(objectSpread2_default()({}, params));
};
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Drawermodules.wrap,
id: "oj-drawer",
style: {
left: visible ? 0 : -700
},
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Drawermodules.head,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: Drawermodules.title,
children: "\u9898\u76EE\u5217\u8868"
}), /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z.Search, {
value: params === null || params === void 0 ? void 0 : params.save_search,
placeholder: "\u8BF7\u8F93\u5165\u9898\u76EE\u540D\u79F0\u641C\u7D22",
style: {
width: 180,
marginLeft: 'auto',
marginRight: 10
},
onChange: function onChange(e) {
params.save_search = e.target.value;
setParams(objectSpread2_default()({}, params));
},
onSearch: function onSearch() {
params.page = 1;
params.search = params.save_search;
setParams(objectSpread2_default()({}, params));
getData(params);
}
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_select["default"], {
value: params === null || params === void 0 ? void 0 : params.tag_discipline_id,
style: {
width: 210
},
mode: "multiple",
placeholder: "\u9009\u62E9\u77E5\u8BC6\u70B9",
showSearch: false,
showArrow: true,
getPopupContainer: function getPopupContainer(trigger) {
return trigger.parentNode;
},
maxTagTextLength: 2,
maxTagCount: 2,
onChange: handlePoint,
children: pointData.map(function (e) {
return /*#__PURE__*/(0,jsx_runtime.jsx)(es_select["default"].Option, {
value: e.id,
children: e.name
}, e.id);
})
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(es_select["default"], {
style: {
width: 70,
marginLeft: 10
},
allowClear: true,
placeholder: "\u96BE\u5EA6",
getPopupContainer: function getPopupContainer(trigger) {
return trigger.parentNode;
},
value: params === null || params === void 0 ? void 0 : params.difficulty,
onChange: handleSelect,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_select["default"].Option, {
value: 1,
children: "\u7B80\u5355"
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_select["default"].Option, {
value: 2,
children: "\u9002\u4E2D"
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_select["default"].Option, {
value: 3,
children: "\u56F0\u96BE"
})]
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: Drawermodules.content,
children: /*#__PURE__*/(0,jsx_runtime.jsx)(spin/* default */.Z, {
spinning: loading,
children: tableData === null || tableData === void 0 || (_tableData = tableData[params.page - 1]) === null || _tableData === void 0 ? void 0 : _tableData.map(function (e) {
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: Drawermodules.list,
onClick: function onClick(target) {
return skip(e.identifier, target);
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("i", {
style: {
visibility: value === e.identifier ? 'visible' : 'hidden'
},
className: "iconfont icon-wancheng1 c-green-29b"
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
style: {
fontWeight: value === e.identifier ? 'bold' : 400,
color: value === e.identifier ? '#ffffff' : '#bac4cd'
},
title: e === null || e === void 0 ? void 0 : e.name,
children: e.name
}), (e === null || e === void 0 ? void 0 : e.difficulty) === 1 && /*#__PURE__*/(0,jsx_runtime.jsx)("b", {
style: {
color: '#2FA34F'
},
children: "\u7B80\u5355"
}), (e === null || e === void 0 ? void 0 : e.difficulty) === 2 && /*#__PURE__*/(0,jsx_runtime.jsx)("b", {
style: {
color: '#0152d9'
},
children: "\u9002\u4E2D"
}), (e === null || e === void 0 ? void 0 : e.difficulty) === 3 && /*#__PURE__*/(0,jsx_runtime.jsx)("b", {
style: {
color: '#FA6400'
},
children: "\u56F0\u96BE"
})]
}, e.identifier);
})
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: Drawermodules.footer,
children: /*#__PURE__*/(0,jsx_runtime.jsx)(pagination/* default */.Z, {
showTotal: function showTotal(total) {
return /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
style: {
color: '#656F87'
},
children: ["\u5171", /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
className: "c-light-primary",
children: total
}), "\u6761\u6570\u636E"]
});
},
total: params.total,
pageSize: params === null || params === void 0 ? void 0 : params.per_page,
current: params === null || params === void 0 ? void 0 : params.page,
showSizeChanger: false,
onChange: handleChange,
showQuickJumper: true,
hideOnSinglePage: true
})
})]
});
};
/* harmony default export */ var LeftPanel_Drawer = (Drawer);
;// CONCATENATED MODULE: ./src/pages/Question/OjProblem/LeftPanel/index.tsx
/* harmony default export */ var LeftPanel = (function (_ref) {
var hack = _ref.hack,
onTriggerPraise = _ref.onTriggerPraise,
topicId = _ref.topicId,
page = _ref.page,
onPageChange = _ref.onPageChange,
user = _ref.user,
submitRecords = _ref.submitRecords,
submitting = _ref.submitting,
submitResult = _ref.submitResult;
var _useSearchParams = (0,_umi_production_exports.useSearchParams)(),
_useSearchParams2 = slicedToArray_default()(_useSearchParams, 1),
searchParams = _useSearchParams2[0];
var location = (0,_umi_production_exports.useLocation)();
var _useState = (0,_react_17_0_2_react.useState)(searchParams.get("tab") || '0'),
_useState2 = slicedToArray_default()(_useState, 2),
index = _useState2[0],
setIndex = _useState2[1];
var _useState3 = (0,_react_17_0_2_react.useState)(0),
_useState4 = slicedToArray_default()(_useState3, 2),
discussTotal = _useState4[0],
setDiscussTotal = _useState4[1];
var _useState5 = (0,_react_17_0_2_react.useState)(0),
_useState6 = slicedToArray_default()(_useState5, 2),
listStatus = _useState6[0],
setListStatus = _useState6[1];
var _useState7 = (0,_react_17_0_2_react.useState)(0),
_useState8 = slicedToArray_default()(_useState7, 2),
filterListTotal = _useState8[0],
setFilterListTotal = _useState8[1];
var _useState9 = (0,_react_17_0_2_react.useState)(),
_useState10 = slicedToArray_default()(_useState9, 2),
questionValue = _useState10[0],
setQuestionValue = _useState10[1];
var _useState11 = (0,_react_17_0_2_react.useState)(false),
_useState12 = slicedToArray_default()(_useState11, 2),
visible = _useState12[0],
setVisible = _useState12[1];
function onTabIndexChange(e) {
var id = e.target.id;
if (index === '3' && id !== index && (listStatus === 1 || listStatus === 2)) {
modal/* default */.Z.confirm({
centered: true,
width: 500,
okText: '确定',
cancelText: '取消',
title: '注意',
icon: null,
className: 'custom-modal-divider',
content: '您正在编写题解,点击关闭后,您的题解内容将不会进行保存。',
onOk: function onOk() {
setIndex(id);
}
});
return;
}
setIndex(id);
}
(0,_react_17_0_2_react.useEffect)(function () {
var unSub = mediator/* default */.Z.subscribe('to-commit-info', function () {
setIndex('1');
});
return unSub;
}, []);
function toDiscuss() {
setIndex('2');
}
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: LeftPanelmodules["left-panel"],
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("ul", {
className: "".concat(LeftPanelmodules["s-navs"], " ").concat(LeftPanelmodules["bg-white"], " ").concat(LeftPanelmodules.b1),
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("li", {
className: "mr40 current",
children: /*#__PURE__*/(0,jsx_runtime.jsx)("img", {
onClick: function onClick() {
return setVisible(true);
},
src: show
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("li", {
className: LeftPanelmodules["oj-mr"],
children: /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
className: index === '0' ? LeftPanelmodules.active : '',
id: "0",
onClick: onTabIndexChange,
children: "\u4EFB\u52A1\u63CF\u8FF0"
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("li", {
className: LeftPanelmodules["oj-mr"],
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
className: index === '3' ? LeftPanelmodules.active : '',
id: "3",
onClick: onTabIndexChange,
children: ["\u9898\u89E3", filterListTotal ? "(".concat(filterListTotal, ")") : '']
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("li", {
className: LeftPanelmodules["oj-mr"],
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
className: index === '2' ? LeftPanelmodules.active : '',
id: "2",
onClick: onTabIndexChange,
children: ["\u8BC4\u8BBA", discussTotal ? "(".concat(discussTotal, ")") : '']
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("li", {
children: /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
className: index === '1' ? LeftPanelmodules.active : '',
id: "1",
onClick: onTabIndexChange,
children: "\u63D0\u4EA4\u8BB0\u5F55"
})
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "".concat(LeftPanelmodules["tab-panel-body"], " ").concat(index === '0' ? '' : 'hide'),
style: {
padding: '0 0 0 16px'
},
children: /*#__PURE__*/(0,jsx_runtime.jsx)(Description, {
hack: hack,
onTriggerPraise: onTriggerPraise,
toDiscuss: toDiscuss
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "".concat(LeftPanelmodules["tab-panel-body"], " ").concat(index === '1' ? '' : 'hide'),
children: !!(submitRecords !== null && submitRecords !== void 0 && submitRecords.records_count) ? /*#__PURE__*/(0,jsx_runtime.jsx)(SubmitList, {
page: page,
onPageChange: onPageChange,
topicId: topicId,
submitting: submitting,
submitRecords: submitRecords,
submitResult: submitResult
}) : /*#__PURE__*/(0,jsx_runtime.jsx)(NoData/* default */.Z, {})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "".concat(LeftPanelmodules["tab-panel-body"], " ").concat(index === '2' ? '' : 'hide'),
style: {
padding: 0
},
children: /*#__PURE__*/(0,jsx_runtime.jsx)(Discuss, {
setDiscussTotal: setDiscussTotal,
user: user,
identifier: hack.identifier,
hack: hack,
onTriggerPraise: onTriggerPraise
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "".concat(LeftPanelmodules["tab-panel-body"], " ").concat(index === '3' ? '' : 'hide'),
style: {
padding: 0
},
children: /*#__PURE__*/(0,jsx_runtime.jsx)(LeftPanel_FilterList, {
setListStatus: setListStatus,
setFilterListTotal: setFilterListTotal,
tabStatus: index,
identifier: hack.identifier
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(LeftPanel_Drawer, {
visible: visible,
setIndex: setIndex,
onVisible: function onVisible(v) {
return setVisible(v);
},
value: questionValue,
onChange: function onChange(v) {
return setQuestionValue(v);
}
})]
});
});
// EXTERNAL MODULE: ./src/components/Timepiece/index.tsx
var Timepiece = __webpack_require__(66152);
// EXTERNAL MODULE: ./src/assets/images/question/internal.png
var internal = __webpack_require__(62522);
// EXTERNAL MODULE: ./src/assets/images/question/time.svg
var time = __webpack_require__(41565);
// EXTERNAL MODULE: ./src/assets/images/question/title.svg
var title = __webpack_require__(56772);
// EXTERNAL MODULE: ./node_modules/_lodash@4.17.21@lodash/lodash.js
var lodash = __webpack_require__(89392);
var lodash_default = /*#__PURE__*/__webpack_require__.n(lodash);
// EXTERNAL MODULE: ./node_modules/_react-copy-to-clipboard@5.0.2@react-copy-to-clipboard/lib/index.js
var lib = __webpack_require__(56102);
;// CONCATENATED MODULE: ./src/pages/Question/OjProblem/index.tsx
var _excluded = ["id", "input", "is_file", "showNote", "onShowNote", "notes", "onCancelNote", "onAddNote", "debugResult", "language", "debuging", "submitting", "executingMessage", "code", "onSubmitCode", "onDebugCode", "onChangeCode", "onChangeInput", "onUpdateCode"];
var Countdown = statistic/* default */.Z.Countdown;
var LanguageSuf = {
'Java': 'java',
'C': 'c',
'Python': 'py',
'C++': 'c'
};
var OjProblem_Types = /*#__PURE__*/function (Types) {
Types[Types["SET_LOADING"] = 0] = "SET_LOADING";
Types[Types["GET_DATA"] = 1] = "GET_DATA";
Types[Types["GET_SUBMIT_RECORDS"] = 2] = "GET_SUBMIT_RECORDS";
Types[Types["SET_DATA"] = 3] = "SET_DATA";
Types[Types["SET_DEBUGING"] = 4] = "SET_DEBUGING";
Types[Types["SET_SUBMITING"] = 5] = "SET_SUBMITING";
Types[Types["SET_EXECUTE_MESSAGE"] = 6] = "SET_EXECUTE_MESSAGE";
Types[Types["SET_EXECUTE_RESULT"] = 7] = "SET_EXECUTE_RESULT";
Types[Types["SET_SUBMIT_RESULT"] = 8] = "SET_SUBMIT_RESULT";
Types[Types["SET_SHOW_NOTE"] = 9] = "SET_SHOW_NOTE";
Types[Types["SET_PAGE"] = 10] = "SET_PAGE";
Types[Types["GET_LANGUAGE"] = 11] = "GET_LANGUAGE";
Types[Types["GET_DRAWER"] = 12] = "GET_DRAWER";
return Types;
}(OjProblem_Types || {});
function getTimeStamp() {
return new Date().getTime();
}
var initalilState = {
loading: true,
data: undefined,
showNote: false,
debugResult: undefined,
submitResult: undefined,
debuging: false,
submitting: false,
submitRecords: undefined,
submitRecordPage: 1,
executingMessage: '',
languageValue: '',
languageList: [],
drawerData: []
};
function OjProblem_reducer(state, action) {
switch (action.type) {
case OjProblem_Types.GET_DATA:
return objectSpread2_default()(objectSpread2_default()({}, state), action.payload);
case OjProblem_Types.SET_DATA:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
data: action.payload
});
case OjProblem_Types.SET_LOADING:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
loading: action.payload
});
case OjProblem_Types.GET_LANGUAGE:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
languageList: action.payload
});
case OjProblem_Types.GET_DRAWER:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
drawerData: action.payload
});
case OjProblem_Types.SET_SHOW_NOTE:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
showNote: action.payload
});
case OjProblem_Types.SET_DEBUGING:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
debuging: action.payload
});
case OjProblem_Types.SET_SUBMITING:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
submitting: action.payload
});
case OjProblem_Types.GET_SUBMIT_RECORDS:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
submitRecords: action.payload
});
case OjProblem_Types.SET_PAGE:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
submitRecordPage: action.payload
});
case OjProblem_Types.SET_EXECUTE_MESSAGE:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
executingMessage: action.payload
});
case OjProblem_Types.SET_EXECUTE_RESULT:
return objectSpread2_default()(objectSpread2_default()({}, state), action.payload);
case OjProblem_Types.SET_SUBMIT_RESULT:
return objectSpread2_default()(objectSpread2_default()({}, state), action.payload);
default:
throw new Error();
}
}
/* harmony default export */ var OjProblem = (function (_ref) {
var _data$test_case, _data$test_case2, _window$location;
var children = _ref.children;
var _useReducer = (0,_react_17_0_2_react.useReducer)(OjProblem_reducer, initalilState),
_useReducer2 = slicedToArray_default()(_useReducer, 2),
state = _useReducer2[0],
dispatch = _useReducer2[1];
var _useParams = (0,_umi_production_exports.useParams)(),
id = _useParams.id;
var location = (0,_umi_production_exports.useLocation)();
var _useSearchParams = (0,_umi_production_exports.useSearchParams)(),
_useSearchParams2 = slicedToArray_default()(_useSearchParams, 1),
searchParams = _useSearchParams2[0];
var languageValue = state.languageValue,
languageList = state.languageList,
loading = state.loading,
data = state.data,
debugResult = state.debugResult,
submitResult = state.submitResult,
submitRecords = state.submitRecords,
submitRecordPage = state.submitRecordPage,
showNote = state.showNote,
debuging = state.debuging,
submitting = state.submitting,
executingMessage = state.executingMessage;
var _useState = (0,_react_17_0_2_react.useState)("#FFF"),
_useState2 = slicedToArray_default()(_useState, 2),
countDownColor = _useState2[0],
setCountDownColor = _useState2[1];
var _useState3 = (0,_react_17_0_2_react.useState)(null),
_useState4 = slicedToArray_default()(_useState3, 2),
countDownTime = _useState4[0],
setCountDownTime = _useState4[1];
var _useState5 = (0,_react_17_0_2_react.useState)({}),
_useState6 = slicedToArray_default()(_useState5, 2),
exerciseData = _useState6[0],
setExerciseData = _useState6[1];
var _useState7 = (0,_react_17_0_2_react.useState)(false),
_useState8 = slicedToArray_default()(_useState7, 2),
passModalData = _useState8[0],
setPassModalData = _useState8[1];
var timer = (0,_react_17_0_2_react.useRef)(null);
var saveData = (0,_react_17_0_2_react.useRef)(null);
var user = data === null || data === void 0 ? void 0 : data.user;
var hack = data === null || data === void 0 ? void 0 : data.hack;
(0,_react_17_0_2_react.useEffect)(function () {
(0,_umi_production_exports.getDvaApp)()._store.dispatch({
type: 'globalSetting/headerFooterToggle',
payload: false
});
(0,_umi_production_exports.getDvaApp)()._store.dispatch({
type: 'globalSetting/onlyShowBackTopToggle',
payload: true
});
return function () {
(0,_umi_production_exports.getDvaApp)()._store.dispatch({
type: 'globalSetting/headerFooterToggle',
payload: true
});
(0,_umi_production_exports.getDvaApp)()._store.dispatch({
type: 'globalSetting/onlyShowBackTopToggle',
payload: false
});
};
}, []);
(0,_react_17_0_2_react.useEffect)(function () {
setTimeout(function () {
document.title = "在线刷题";
}, 400);
});
(0,_react_17_0_2_react.useEffect)(function () {
if (passModalData) {
var _next$style;
var next = document.getElementById('oj-next');
var modalNext = document.getElementById('oj-modal-next');
if ((next === null || next === void 0 || (_next$style = next.style) === null || _next$style === void 0 ? void 0 : _next$style.display) === 'none') {
modalNext.style.display = 'none';
} else {
modalNext.style.display = 'block';
}
}
}, [passModalData]);
(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 response, _response$hack, _response$hack2, _response$hack3, recordStr;
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return (0,service/* getProgrammingTopic */.fu)(id);
case 2:
response = _context.sent;
if (response.status === 401) {
document.location.href = '/user/login';
// history.replace('/user/login', { from: location.pathname })
} else {
response.hack = response.practice;
response.hack.code = base64.Base64.decode(response === null || response === void 0 || (_response$hack = response.hack) === null || _response$hack === void 0 ? void 0 : _response$hack.code);
recordStr = "".concat(user === null || user === void 0 ? void 0 : user.login, "-language");
if (localStorage.getItem(recordStr)) {
response.hack.language = localStorage.getItem(recordStr);
}
saveData.current = lodash_default().cloneDeep(response);
saveData.current.language = response === null || response === void 0 || (_response$hack2 = response.hack) === null || _response$hack2 === void 0 ? void 0 : _response$hack2.language;
dispatch({
type: OjProblem_Types.GET_DATA,
payload: {
loading: false,
data: response
}
});
dispatch({
type: OjProblem_Types.SET_SUBMIT_RESULT,
payload: {
languageValue: response === null || response === void 0 || (_response$hack3 = response.hack) === null || _response$hack3 === void 0 ? void 0 : _response$hack3.language
}
});
}
case 4:
case "end":
return _context.stop();
}
}, _callee);
}));
return _init.apply(this, arguments);
}
if (id) {
init();
}
}, [id]);
(0,_react_17_0_2_react.useEffect)(function () {
dispatch({
type: OjProblem_Types.SET_SUBMIT_RESULT,
payload: {
debugResult: undefined
}
});
getLanguageData();
setPassModalData(false);
}, [id]);
//清除代码保存定时器
(0,_react_17_0_2_react.useEffect)(function () {
clearTimeout(timer.current);
}, [id]);
(0,_react_17_0_2_react.useEffect)(function () {
getSubmitRecordsData();
}, [id, submitRecordPage]);
var backExercise = function backExercise() {
window.parent.postMessage('backExercise', '*');
// history.push(`/classrooms/${searchParams.get("coursesId")}/exercise/${searchParams.get("exercisesId")}/users/${searchParams.get("login")}`)
};
function getSubmitRecordsData() {
return _getSubmitRecordsData.apply(this, arguments);
}
function _getSubmitRecordsData() {
_getSubmitRecordsData = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee4() {
var response;
return regeneratorRuntime_default()().wrap(function _callee4$(_context4) {
while (1) switch (_context4.prev = _context4.next) {
case 0:
_context4.prev = 0;
_context4.next = 3;
return (0,service/* getSubmitRecords */.zO)(id, {
limit: 15,
page: submitRecordPage
});
case 3:
response = _context4.sent;
dispatch({
type: OjProblem_Types.GET_SUBMIT_RECORDS,
payload: response
});
_context4.next = 10;
break;
case 7:
_context4.prev = 7;
_context4.t0 = _context4["catch"](0);
console.log(_context4.t0);
case 10:
case "end":
return _context4.stop();
}
}, _callee4, null, [[0, 7]]);
}));
return _getSubmitRecordsData.apply(this, arguments);
}
function getLanguageData() {
return _getLanguageData.apply(this, arguments);
}
function _getLanguageData() {
_getLanguageData = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee5() {
var response;
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/* updateLanguageCode */.dd)(id);
case 3:
response = _context5.sent;
dispatch({
type: OjProblem_Types.GET_LANGUAGE,
payload: response === null || response === void 0 ? void 0 : response.data
});
_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 _getLanguageData.apply(this, arguments);
}
function onPageChange(value) {
dispatch({
type: OjProblem_Types.SET_PAGE,
payload: value
});
}
function onUpdateCode(_x) {
return _onUpdateCode.apply(this, arguments);
}
function _onUpdateCode() {
_onUpdateCode = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee6(re) {
var _window;
var relId, response;
return regeneratorRuntime_default()().wrap(function _callee6$(_context6) {
while (1) switch (_context6.prev = _context6.next) {
case 0:
relId = ((_window = window) === null || _window === void 0 || (_window = _window.location) === null || _window === void 0 || (_window = _window.pathname) === null || _window === void 0 || (_window = _window.split('/')) === null || _window === void 0 ? void 0 : _window[2]) || id;
_context6.next = 3;
return (0,service/* updateCode */.n4)(relId, re ? re : {
code: base64.Base64.encode(hack.code),
language: languageValue
});
case 3:
response = _context6.sent;
return _context6.abrupt("return", response);
case 5:
case "end":
return _context6.stop();
}
}, _callee6);
}));
return _onUpdateCode.apply(this, arguments);
}
function onSubmitCode() {
return _onSubmitCode.apply(this, arguments);
}
function _onSubmitCode() {
_onSubmitCode = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee8() {
var response, executeCode, submitCodeParams, res, time_limit, test_case_size, startTime;
return regeneratorRuntime_default()().wrap(function _callee8$(_context8) {
while (1) switch (_context8.prev = _context8.next) {
case 0:
if (!submitting) {
_context8.next = 2;
break;
}
return _context8.abrupt("return");
case 2:
dispatch({
type: OjProblem_Types.SET_SUBMITING,
payload: true
});
_context8.prev = 3;
mediator/* default */.Z.publish('to-commit-info');
_context8.next = 7;
return onUpdateCode();
case 7:
response = _context8.sent;
if (!(response.status === 0)) {
_context8.next = 20;
break;
}
executeCode = /*#__PURE__*/function () {
var _ref3 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee7() {
var _yield$getOperationRe, status, data, executeTime, isTimeOut, submitResponse;
return regeneratorRuntime_default()().wrap(function _callee7$(_context7) {
while (1) switch (_context7.prev = _context7.next) {
case 0:
_context7.next = 2;
return (0,service/* getOperationResult */.rX)(id, 'submit');
case 2:
_yield$getOperationRe = _context7.sent;
status = _yield$getOperationRe.status;
data = _yield$getOperationRe.data;
executeTime = getTimeStamp();
isTimeOut = executeTime - startTime > (time_limit * test_case_size + 3) * 1000;
if (status !== 0 && !isTimeOut) {
setTimeout(executeCode, 1000);
}
if (!isTimeOut) {
_context7.next = 12;
break;
}
modal/* default */.Z.error({
centered: true,
okText: '知道啦',
title: '评测代码超时'
});
dispatch({
type: OjProblem_Types.SET_SUBMITING,
payload: false
});
return _context7.abrupt("return");
case 12:
if (!(status === 0)) {
_context7.next = 19;
break;
}
if (data.status === 2) {
modal/* default */.Z.error({
centered: true,
okText: '知道啦',
title: '评测代码超时'
});
}
_context7.next = 16;
return (0,service/* getSubmitRecords */.zO)(id, {
limit: 15,
page: submitRecordPage
});
case 16:
submitResponse = _context7.sent;
dispatch({
type: OjProblem_Types.SET_SUBMIT_RESULT,
payload: objectSpread2_default()(objectSpread2_default()({}, state), {}, {
submitResult: data,
// debugResult: data,
submitting: false,
submitRecords: submitResponse
})
});
if ((data === null || data === void 0 ? void 0 : data.status) === 0) {
setPassModalData(true);
}
case 19:
case "end":
return _context7.stop();
}
}, _callee7);
}));
return function executeCode() {
return _ref3.apply(this, arguments);
};
}();
submitCodeParams = {};
_context8.next = 13;
return (0,service/* sumbitCode */.bM)(id, submitCodeParams);
case 13:
res = _context8.sent;
if (!(res.status === -1)) {
_context8.next = 17;
break;
}
window.parent.location.href = "/classrooms/".concat(searchParams.get("coursesId"), "/exercise/").concat(searchParams.get("exercisesId"), "/detail");
return _context8.abrupt("return");
case 17:
time_limit = hack.time_limit, test_case_size = hack.test_case_size;
startTime = getTimeStamp();
executeCode();
case 20:
_context8.next = 25;
break;
case 22:
_context8.prev = 22;
_context8.t0 = _context8["catch"](3);
dispatch({
type: OjProblem_Types.SET_SUBMITING,
payload: false
});
case 25:
case "end":
return _context8.stop();
}
}, _callee8, null, [[3, 22]]);
}));
return _onSubmitCode.apply(this, arguments);
}
function onDebugCode() {
return _onDebugCode.apply(this, arguments);
}
function _onDebugCode() {
_onDebugCode = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee10() {
var response, executeCode, time_limit, submitCodeParams, res, startTime;
return regeneratorRuntime_default()().wrap(function _callee10$(_context10) {
while (1) switch (_context10.prev = _context10.next) {
case 0:
state.debuging = true;
dispatch({
type: OjProblem_Types.SET_DEBUGING,
payload: true
});
_context10.prev = 2;
_context10.next = 5;
return onUpdateCode();
case 5:
response = _context10.sent;
if (!(response.status === 0)) {
_context10.next = 20;
break;
}
executeCode = /*#__PURE__*/function () {
var _ref4 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee9() {
var _yield$getOperationRe2, status, message, data, executeTime, isTimeOut;
return regeneratorRuntime_default()().wrap(function _callee9$(_context9) {
while (1) switch (_context9.prev = _context9.next) {
case 0:
_context9.next = 2;
return (0,service/* getOperationResult */.rX)(id, 'debug');
case 2:
_yield$getOperationRe2 = _context9.sent;
status = _yield$getOperationRe2.status;
message = _yield$getOperationRe2.message;
data = _yield$getOperationRe2.data;
executeTime = getTimeStamp();
isTimeOut = executeTime - startTime > (time_limit + 3) * 1000;
if (status !== 0 && !isTimeOut) {
dispatch({
type: OjProblem_Types.SET_EXECUTE_MESSAGE,
payload: message
});
setTimeout(executeCode, 1000);
}
if (!isTimeOut) {
_context9.next = 13;
break;
}
modal/* default */.Z.error({
centered: true,
okText: '知道啦',
content: '调试代码超时'
});
dispatch({
type: OjProblem_Types.SET_DEBUGING,
payload: false
});
return _context9.abrupt("return");
case 13:
if (status === 0) {
dispatch({
type: OjProblem_Types.SET_DEBUGING,
payload: false
});
if (data.status === 2) {
modal/* default */.Z.error({
centered: true,
okText: '知道啦',
content: '调试代码超时'
});
}
dispatch({
type: OjProblem_Types.SET_EXECUTE_RESULT,
payload: objectSpread2_default()(objectSpread2_default()({}, state), {}, {
debugResult: data,
debuging: false
})
});
}
case 14:
case "end":
return _context9.stop();
}
}, _callee9);
}));
return function executeCode() {
return _ref4.apply(this, arguments);
};
}();
time_limit = hack.time_limit;
submitCodeParams = {
input: encodeURIComponent(data.test_case.input)
};
_context10.next = 12;
return (0,service/* debugCode */.MU)(id, submitCodeParams);
case 12:
res = _context10.sent;
if (!(res.status === -1)) {
_context10.next = 16;
break;
}
window.parent.location.href = "/classrooms/".concat(searchParams.get("coursesId"), "/exercise/").concat(searchParams.get("exercisesId"), "/detail");
return _context10.abrupt("return");
case 16:
startTime = getTimeStamp();
executeCode();
_context10.next = 21;
break;
case 20:
dispatch({
type: OjProblem_Types.SET_DEBUGING,
payload: false
});
case 21:
_context10.next = 26;
break;
case 23:
_context10.prev = 23;
_context10.t0 = _context10["catch"](2);
console.log(_context10.t0);
case 26:
_context10.prev = 26;
return _context10.finish(26);
case 28:
case "end":
return _context10.stop();
}
}, _callee10, null, [[2, 23, 26, 28]]);
}));
return _onDebugCode.apply(this, arguments);
}
function onChangeCode(value) {
var _saveData$current2;
clearTimeout(timer.current);
timer.current = setTimeout(function () {
var _saveData$current;
onUpdateCode({
code: base64.Base64.encode(value),
language: saveData === null || saveData === void 0 || (_saveData$current = saveData.current) === null || _saveData$current === void 0 ? void 0 : _saveData$current.language
});
}, 2000);
dispatch({
type: OjProblem_Types.SET_DATA,
payload: objectSpread2_default()(objectSpread2_default()({}, saveData === null || saveData === void 0 ? void 0 : saveData.current), {}, {
hack: objectSpread2_default()(objectSpread2_default()({}, saveData === null || saveData === void 0 || (_saveData$current2 = saveData.current) === null || _saveData$current2 === void 0 ? void 0 : _saveData$current2.hack), {}, {
code: value
})
})
});
}
function onChangeInput(e) {
var input = e.target.value;
dispatch({
type: OjProblem_Types.SET_DATA,
payload: objectSpread2_default()(objectSpread2_default()({}, data), {}, {
test_case: {
input: input
}
})
});
}
var onChangeLanguage = /*#__PURE__*/function () {
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2(v) {
var res, recordStr, response, _response$data, param;
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
dispatch({
type: OjProblem_Types.SET_LOADING,
payload: true
});
_context2.next = 3;
return onUpdateCode();
case 3:
res = _context2.sent;
if (!(res.status === 0)) {
_context2.next = 14;
break;
}
dispatch({
type: OjProblem_Types.SET_SUBMIT_RESULT,
payload: {
languageValue: v
}
});
saveData.current.language = v;
recordStr = "".concat(user === null || user === void 0 ? void 0 : user.login, "-language");
localStorage.setItem(recordStr, v);
_context2.next = 11;
return (0,service/* updateLanguageCode */.dd)(id);
case 11:
response = _context2.sent;
if (response.status === 0) {
param = response === null || response === void 0 || (_response$data = response.data) === null || _response$data === void 0 ? void 0 : _response$data.find(function (e) {
return e.language === v;
});
onChangeCode(base64.Base64.decode(param.code));
}
setTimeout(function () {
dispatch({
type: OjProblem_Types.SET_LOADING,
payload: false
});
}, 300);
case 14:
case "end":
return _context2.stop();
}
}, _callee2);
}));
return function onChangeLanguage(_x2) {
return _ref2.apply(this, arguments);
};
}();
function onResetCode() {
return _onResetCode.apply(this, arguments);
}
function _onResetCode() {
_onResetCode = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee11() {
var response;
return regeneratorRuntime_default()().wrap(function _callee11$(_context11) {
while (1) switch (_context11.prev = _context11.next) {
case 0:
_context11.prev = 0;
_context11.next = 3;
return (0,service/* resetCode */.H7)(id, {
language: languageValue
});
case 3:
response = _context11.sent;
if (response.status === 401) {
_umi_production_exports.history.replace('/login', {
from: location.pathname
});
} else {
onChangeCode(base64.Base64.decode(response.code));
getLanguageData();
}
_context11.next = 10;
break;
case 7:
_context11.prev = 7;
_context11.t0 = _context11["catch"](0);
console.log(_context11.t0);
case 10:
case "end":
return _context11.stop();
}
}, _callee11, null, [[0, 7]]);
}));
return _onResetCode.apply(this, arguments);
}
function onSyncCode() {
modal/* default */.Z.confirm({
centered: true,
okText: '确定',
cancelText: '取消',
title: '提示',
content: /*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
children: ["\u521D\u59CB\u4EE3\u7801\u6709\u4FEE\u6539\uFF0C\u66F4\u65B0\u540E\u5C06\u8986\u76D6\u73B0\u6709\u4EE3\u7801\u54E6~ ", /*#__PURE__*/(0,jsx_runtime.jsx)("br", {}), "\u8BF7\u5C06\u60A8\u7F16\u8F91\u7684\u4EE3\u7801\u4FDD\u5B58\u81F3\u672C\u5730\uFF0C\u4EE5\u9632\u4E22\u5931"]
}),
onOk: function onOk() {
return asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3() {
var response;
return regeneratorRuntime_default()().wrap(function _callee3$(_context3) {
while (1) switch (_context3.prev = _context3.next) {
case 0:
_context3.next = 2;
return (0,service/* syncCode */.fi)(id, {
language: languageValue
});
case 2:
response = _context3.sent;
if (response.status === 401) {
_umi_production_exports.history.replace('/login', {
from: location.pathname
});
} else {
onChangeCode(base64.Base64.decode(response.code));
}
case 4:
case "end":
return _context3.stop();
}
}, _callee3);
}))();
}
});
}
function onShowNote() {
dispatch({
type: OjProblem_Types.SET_SHOW_NOTE,
payload: true
});
}
function onCancelNote() {
dispatch({
type: OjProblem_Types.SET_SHOW_NOTE,
payload: false
});
}
function onAddNote(_x3) {
return _onAddNote.apply(this, arguments);
}
function _onAddNote() {
_onAddNote = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee12(values) {
return regeneratorRuntime_default()().wrap(function _callee12$(_context12) {
while (1) switch (_context12.prev = _context12.next) {
case 0:
_context12.next = 2;
return (0,service/* addNotes */.MK)(id, values);
case 2:
dispatch({
type: OjProblem_Types.GET_DATA,
payload: {
showNote: false,
data: objectSpread2_default()(objectSpread2_default()({}, data), {}, {
hack: objectSpread2_default()(objectSpread2_default()({}, hack), {}, {
notes: values.notes
})
})
}
});
case 3:
case "end":
return _context12.stop();
}
}, _callee12);
}));
return _onAddNote.apply(this, arguments);
}
var rightPanelOption = {
input: data === null || data === void 0 || (_data$test_case = data.test_case) === null || _data$test_case === void 0 ? void 0 : _data$test_case.input,
is_file: data === null || data === void 0 || (_data$test_case2 = data.test_case) === null || _data$test_case2 === void 0 ? void 0 : _data$test_case2.is_file,
language: hack === null || hack === void 0 ? void 0 : hack.language,
code: hack === null || hack === void 0 ? void 0 : hack.code,
title: 'main.' + LanguageSuf[hack === null || hack === void 0 ? void 0 : hack.language],
modify_code: hack === null || hack === void 0 ? void 0 : hack.modify_code,
notes: hack === null || hack === void 0 ? void 0 : hack.notes,
debugResult: debugResult,
debuging: debuging,
submitting: submitting,
executingMessage: executingMessage,
id: id,
languageValue: languageValue,
languageList: languageList,
onChangeLanguage: onChangeLanguage,
onCancelNote: onCancelNote,
onAddNote: onAddNote,
showNote: showNote,
onShowNote: onShowNote,
onSubmitCode: onSubmitCode,
onChangeCode: onChangeCode,
onChangeInput: onChangeInput,
onDebugCode: onDebugCode,
onResetCode: onResetCode,
onSyncCode: onSyncCode,
onUpdateCode: onUpdateCode
};
function onTriggerPraise() {
return _onTriggerPraise.apply(this, arguments);
}
function _onTriggerPraise() {
_onTriggerPraise = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee13() {
var _yield$triggerPlus, praise_count, rs;
return regeneratorRuntime_default()().wrap(function _callee13$(_context13) {
while (1) switch (_context13.prev = _context13.next) {
case 0:
_context13.next = 2;
return (0,service/* triggerPlus */.vl)(hack.id, {
container_type: 'Hack',
type: 1
});
case 2:
_yield$triggerPlus = _context13.sent;
praise_count = _yield$triggerPlus.praise_count;
rs = objectSpread2_default()(objectSpread2_default()({}, data), {}, {
hack: objectSpread2_default()(objectSpread2_default()({}, hack), {}, {
praises_count: praise_count,
user_praise: !hack.user_praise
})
});
dispatch({
type: OjProblem_Types.SET_DATA,
payload: rs
});
case 6:
case "end":
return _context13.stop();
}
}, _callee13);
}));
return _onTriggerPraise.apply(this, arguments);
}
var leftPanelOption = {
topicId: id,
submitResult: submitResult,
submitRecords: submitRecords,
submitting: submitting,
page: submitRecordPage,
onPageChange: onPageChange,
hack: hack,
user: data === null || data === void 0 ? void 0 : data.user,
onTriggerPraise: onTriggerPraise
};
console.log(data, saveData === null || saveData === void 0 ? void 0 : saveData.current, 'data--------');
return /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(spin/* default */.Z, {
className: 'oj-custom-large-spin',
size: "large",
spinning: loading,
children: !data ? null : /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: 'oj-custom-warp',
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("header", {
className: OjFormmodules/* default */.Z.header,
style: {
minWidth: 1200
},
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
src: "".concat(env/* default */.Z.IMG_SERVER, "/images/").concat(user.image_url),
alt: "user",
width: 30
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: user.name
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("h2", {
className: "flex-wrp flex_box_column flex_box_center",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
children: hack.name
}), /*#__PURE__*/(0,jsx_runtime.jsx)(Timepiece/* default */.Z, {
onChange: function onChange(v) {},
className: "font12 c-grey-999"
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)(lib.CopyToClipboard, {
text: "".concat((_window$location = window.location) === null || _window$location === void 0 ? void 0 : _window$location.origin, "/problems/").concat(hack.identifier, "/share"),
onCopy: function onCopy() {
return message/* default */.ZP.success('复制题目链接成功');
},
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
className: OjFormmodules/* default */.Z.btn_back,
style: {
marginRight: 10,
cursor: 'pointer'
},
children: [" ", /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-fenxiang1 font14 mr5"
}), "\u5206\u4EAB\u9898\u76EE"]
})
}), hack.edit_privilege ? /*#__PURE__*/(0,jsx_runtime.jsxs)(_umi_production_exports.Link, {
className: OjFormmodules/* default */.Z.btn_back,
to: "/problems/".concat(hack.identifier, "/ojedit"),
style: {
marginRight: 10
},
children: [" ", /*#__PURE__*/(0,jsx_runtime.jsx)(FormOutlined/* default */.Z, {}), " \u7F16\u8F91"]
}) : null, /*#__PURE__*/(0,jsx_runtime.jsxs)(_umi_production_exports.Link, {
className: OjFormmodules/* default */.Z.btn_back,
onClick: function onClick() {
111;
},
to: "/problems",
children: [" ", /*#__PURE__*/(0,jsx_runtime.jsx)(PoweroffOutlined/* default */.Z, {}), "\u9000\u51FA"]
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)(SplitContainer/* default */.Z, {
hideResize: true,
className: "my-problems oj-problems"
// defaultX={"40%"}
// hideResize={true}
,
leftChild: /*#__PURE__*/(0,jsx_runtime.jsx)(LeftPanel, objectSpread2_default()({}, leftPanelOption)),
rightChild: /*#__PURE__*/(0,jsx_runtime.jsx)(RightPanel, objectSpread2_default()({}, rightPanelOption))
})]
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, {
centered: true,
closable: false,
width: 680,
footer: null,
open: passModalData,
className: "oj-modal",
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("section", {
className: "oj-modal-content",
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "oj-modal-head",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
src: internal,
alt: ""
}), /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
onClick: function onClick() {
return setPassModalData(false);
},
className: "iconfont icon-guanbi1"
})]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("aside", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
className: "mr30",
src: title/* default */.Z
}), "\u8FD0\u884C\u65F6\u95F4:\xA0", /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
style: {
color: '#75d6ba',
marginRight: 100
},
children: [submitResult === null || submitResult === void 0 ? void 0 : submitResult.execute_time, "s"]
}), "\u4F18\u4E8E", /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
style: {
color: '#f3b087',
margin: "0 5px"
},
children: [(submitResult === null || submitResult === void 0 ? void 0 : submitResult.time_better_than) || 100, "%"]
}), "\u7684\u7528\u6237"]
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("aside", {
className: "mb50",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("img", {
src: time/* default */.Z,
className: "mr30"
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
className: "oj-modal-tt",
children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: "\u5360\u7528\u5185\u5B58:\xA0"
}), /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
className: "c-light-primary",
children: [submitResult === null || submitResult === void 0 ? void 0 : submitResult.execute_memory, "mb"]
})]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {})
})]
}), "\u4F18\u4E8E", /*#__PURE__*/(0,jsx_runtime.jsxs)("span", {
style: {
color: '#f3b087',
margin: "0 5px"
},
children: [(submitResult === null || submitResult === void 0 ? void 0 : submitResult.memory_better_than) || 100, "%"]
}), "\u7684\u7528\u6237"]
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
id: "oj-modal-next",
className: "oj-modal-btn",
children: "\u8FDB\u5165\u4E0B\u4E00\u9898"
})]
})
})]
});
});
function ActionBar(_ref5) {
var languageValue = _ref5.languageValue,
languageList = _ref5.languageList,
onChangeLanguage = _ref5.onChangeLanguage,
title = _ref5.title,
modify_code = _ref5.modify_code,
onSyncCode = _ref5.onSyncCode,
onShowCodeSetting = _ref5.onShowCodeSetting,
onResetCode = _ref5.onResetCode;
var location = (0,_umi_production_exports.useLocation)();
var opneModal = function opneModal() {
modal/* default */.Z.confirm({
title: '恢复初始代码',
icon: /*#__PURE__*/(0,jsx_runtime.jsx)(ExclamationCircleOutlined/* default */.Z, {}),
content: '你在本文件中修改的内容将丢失,是否确定重新加载初始代码?',
centered: true,
okText: '确定',
cancelText: '取消',
onOk: onResetCode
});
};
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "action-bar",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_select["default"], {
className: "oj-select",
value: languageValue,
style: {
width: 100
},
placeholder: "\u9009\u62E9\u8BED\u8A00",
onChange: onChangeLanguage,
children: languageList === null || languageList === void 0 ? void 0 : languageList.map(function (e) {
return /*#__PURE__*/(0,jsx_runtime.jsx)(es_select["default"].Option, {
value: e.language,
children: e.language
}, e.language);
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {}), /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
title: "\u6062\u590D\u521D\u59CB\u4EE3\u7801",
onClick: opneModal,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-zhongzhi font-20 "
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
onClick: onShowCodeSetting,
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-shezhi"
})
})]
});
}
function RightPanel(_ref6) {
var id = _ref6.id,
input = _ref6.input,
is_file = _ref6.is_file,
showNote = _ref6.showNote,
onShowNote = _ref6.onShowNote,
notes = _ref6.notes,
onCancelNote = _ref6.onCancelNote,
onAddNote = _ref6.onAddNote,
debugResult = _ref6.debugResult,
language = _ref6.language,
debuging = _ref6.debuging,
submitting = _ref6.submitting,
executingMessage = _ref6.executingMessage,
code = _ref6.code,
onSubmitCode = _ref6.onSubmitCode,
onDebugCode = _ref6.onDebugCode,
onChangeCode = _ref6.onChangeCode,
onChangeInput = _ref6.onChangeInput,
onUpdateCode = _ref6.onUpdateCode,
actionBarOpation = objectWithoutProperties_default()(_ref6, _excluded);
function ActionBarEL(onShowCodeSetting) {
return /*#__PURE__*/(0,jsx_runtime.jsx)(ActionBar, objectSpread2_default()(objectSpread2_default()({}, actionBarOpation), {}, {
onShowCodeSetting: onShowCodeSetting
}));
}
var testCasePanelOption = {
id: id,
input: input,
debugResult: debugResult,
debuging: debuging,
is_file: is_file,
submitting: submitting,
executingMessage: executingMessage,
onDebugCode: onDebugCode,
onChangeCode: onChangeCode,
onSubmitCode: onSubmitCode,
onChangeInput: onChangeInput
};
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "right-panel",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(CodePanel/* default */.Z, {
language: language,
value: code,
onChange: onChangeCode,
ActionBarRender: ActionBarEL
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: "note-form-area ".concat(showNote ? 'active' : ''),
children: /*#__PURE__*/(0,jsx_runtime.jsx)(NotesForm, {
onCancel: onCancelNote,
notes: notes,
callback: onAddNote
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(TestCasePanel/* default */.ZP, objectSpread2_default()({}, testCasePanelOption))]
});
}
/***/ }),
/***/ 86801:
/*!***************************************************!*\
!*** ./src/pages/Question/OjProblem/interface.ts ***!
\***************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ h: function() { return /* binding */ ExecuteStatus; }
/* harmony export */ });
// created_at: "2020-07-09T19:53:54.000+08:00"
// execute_memory: null
// execute_time: 0.269
// id: 872
// language: "C"
// status: 4
var ExecuteStatus = /*#__PURE__*/function (ExecuteStatus) {
ExecuteStatus[ExecuteStatus["NOMATCH"] = -1] = "NOMATCH";
ExecuteStatus[ExecuteStatus["OK"] = 0] = "OK";
ExecuteStatus[ExecuteStatus["TIMEOUT"] = 2] = "TIMEOUT";
ExecuteStatus[ExecuteStatus["PODFAILURE"] = 3] = "PODFAILURE";
ExecuteStatus[ExecuteStatus["COMPILEFAILURE"] = 4] = "COMPILEFAILURE";
ExecuteStatus[ExecuteStatus["EXECUTEFAILURE"] = 5] = "EXECUTEFAILURE";
return ExecuteStatus;
}({});
// "id": "1",
// "status": 2, # -1测试用例结果不匹配; 0: 评测通过; ;2 评测超时;3 创建pod失败; 4 编译失败;5 执行失败
// "error_line": 3, # 错误行数
// "error_msg": "error line 7 input.." , # 报错信息
// "input": "3 4", # 输入
// "output": "7", # 输出
// "execute_time": 3, #执行时间
// "execute_memory": 300, #消耗内存
// "expected_output": "7" # 如果提交模式 会多这个参数
/***/ }),
/***/ 52107:
/*!*************************************************!*\
!*** ./src/pages/Question/OjProblem/service.ts ***!
\*************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ H7: function() { return /* binding */ resetCode; },
/* harmony export */ KC: function() { return /* binding */ practicesList; },
/* harmony export */ M3: function() { return /* binding */ editArticlesDetails; },
/* harmony export */ MK: function() { return /* binding */ addNotes; },
/* harmony export */ MU: function() { return /* binding */ debugCode; },
/* harmony export */ Rg: function() { return /* binding */ articlesAssist; },
/* harmony export */ WH: function() { return /* binding */ articlesList; },
/* harmony export */ X6: function() { return /* binding */ getRecordDetail; },
/* harmony export */ bM: function() { return /* binding */ sumbitCode; },
/* harmony export */ bx: function() { return /* binding */ addArticles; },
/* harmony export */ dd: function() { return /* binding */ updateLanguageCode; },
/* harmony export */ de: function() { return /* binding */ deleteArticles; },
/* harmony export */ fi: function() { return /* binding */ syncCode; },
/* harmony export */ fu: function() { return /* binding */ getProgrammingTopic; },
/* harmony export */ gu: function() { return /* binding */ editArticles; },
/* harmony export */ n4: function() { return /* binding */ updateCode; },
/* harmony export */ qe: function() { return /* binding */ articlesStatus; },
/* harmony export */ rL: function() { return /* binding */ articlesHide; },
/* harmony export */ rX: function() { return /* binding */ getOperationResult; },
/* harmony export */ uc: function() { return /* binding */ setLogTime; },
/* harmony export */ vl: function() { return /* binding */ triggerPlus; },
/* harmony export */ wO: function() { return /* binding */ articlesDetails; },
/* harmony export */ zO: function() { return /* binding */ getSubmitRecords; }
/* harmony export */ });
/* harmony import */ var _utils_fetch__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/utils/fetch */ 14735);
function getProgrammingTopic(id) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .get */ .U2)("mypractices/".concat(id, ".json"), {
hidePopLogin: true
});
}
function sumbitCode(id, params) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .post */ .v_)("mypractices/".concat(id, "/code_submit.json"), params);
}
function debugCode(id, params) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .post */ .v_)("mypractices/".concat(id, "/code_debug.json"), params);
}
function getSubmitRecords(id, params) {
if (params.language) {
params.language = encodeURIComponent(params.language);
}
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .get */ .U2)("mypractices/".concat(id, "/submit_records.json"), params);
}
function getRecordDetail(id) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .get */ .U2)("mypractices/record_detail.json", {
id: id
});
}
function getOperationResult(id, mode) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .get */ .U2)("mypractices/".concat(id, "/result.json"), {
mode: mode
});
}
function addNotes(id, params) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .post */ .v_)("mypractices/".concat(id, "/add_notes.json"), params);
}
function resetCode(id, params) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .post */ .v_)("mypractices/".concat(id, "/restore_initial_code.json"), params);
}
function syncCode(id, params) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .post */ .v_)("mypractices/".concat(id, "/sync_code.json"), params);
}
function updateCode(id, params) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .post */ .v_)("mypractices/".concat(id, "/update_code.json"), params);
}
function updateLanguageCode(id) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .post */ .v_)("mypractices/".concat(id, "/initial_codes.json"));
}
function triggerPlus(id, params) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .post */ .v_)("discusses/".concat(id, "/plus.json"), params);
}
function practicesList(params) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .get */ .U2)("practices/practices_list.json", params);
}
function articlesList(id, params) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .get */ .U2)("practices/".concat(id, "/question_solution_articles"), params);
}
function addArticles(id, params) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .post */ .v_)("practices/".concat(id, "/question_solution_articles"), params);
}
function editArticles(id, params) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .put */ .gz)("practices/".concat(id, "/question_solution_articles/").concat(params === null || params === void 0 ? void 0 : params.active), params);
}
function editArticlesDetails(id, params) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .get */ .U2)("practices/".concat(id, "/question_solution_articles/").concat(params === null || params === void 0 ? void 0 : params.active, "/edit"), params);
}
function articlesDetails(id, params) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .get */ .U2)("practices/".concat(id, "/question_solution_articles/").concat(params === null || params === void 0 ? void 0 : params.active), params);
}
function articlesStatus(id, params) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .post */ .v_)("practices/".concat(id, "/question_solution_articles/").concat(params === null || params === void 0 ? void 0 : params.active, "/set_authority_or_excellent"), params);
}
function articlesAssist(id, params) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .post */ .v_)("practices/".concat(id, "/question_solution_articles/").concat(params === null || params === void 0 ? void 0 : params.active, "/praise_or_treads"), params);
}
function articlesHide(id, params) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .post */ .v_)("practices/".concat(id, "/question_solution_articles/").concat(params === null || params === void 0 ? void 0 : params.active, "/hide"));
}
function deleteArticles(id, params) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .del */ .IV)("practices/".concat(id, "/question_solution_articles/").concat(params === null || params === void 0 ? void 0 : params.active), params);
}
function setLogTime(id, params) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .post */ .v_)("mypractices/".concat(id, "/update_practice_time_sum"), params);
}
/***/ }),
/***/ 2850:
/*!*********************************************************************************!*\
!*** ./src/pages/tasks/left-panel/discuss/discuss-editor/index.tsx + 1 modules ***!
\*********************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
Z: function() { return /* binding */ discuss_editor; }
});
// 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/pages/tasks/left-panel/discuss/discuss-editor/index.less
// extracted by mini-css-extract-plugin
// 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/tooltip/index.js + 3 modules
var tooltip = __webpack_require__(6848);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/spin/index.js + 1 modules
var spin = __webpack_require__(71418);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/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/pagination/index.js + 10 modules
var pagination = __webpack_require__(36697);
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/button/index.js
var es_button = __webpack_require__(3113);
// EXTERNAL MODULE: ./src/components/markdown-editor/index.tsx + 15 modules
var markdown_editor = __webpack_require__(93521);
// EXTERNAL MODULE: ./src/utils/fetch.ts
var fetch = __webpack_require__(14735);
// 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/pages/tasks/left-panel/discuss/discuss-editor/index.tsx
/* harmony default export */ var discuss_editor = (function (_ref) {
var id = _ref.id,
activeDiscussIndex = _ref.activeDiscussIndex,
onReplyDiscuss = _ref.onReplyDiscuss,
adminOrOperator = _ref.adminOrOperator;
var _useState = (0,_react_17_0_2_react.useState)(''),
_useState2 = slicedToArray_default()(_useState, 2),
value = _useState2[0],
setValue = _useState2[1];
var _useState3 = (0,_react_17_0_2_react.useState)(false),
_useState4 = slicedToArray_default()(_useState3, 2),
isOpen = _useState4[0],
setIsOpen = _useState4[1];
function onChange(v) {
setValue(v);
}
function onCommit() {
if (!value) {
message/* default */.ZP.info('回复内容不能为空!');
return;
}
// console.log('--------','0');
// if(!getAuthentication()){
// Modal.confirm({
// title: '提示',
// centered: true,
// content: 您需要去完成您的职业认证,才能使用此功能
,
// okText: `立即完善`,
// cancelText: "稍后完善",
// onOk: () => {
// openNewWindow('/account/certification');
// }
// })
// }
// console.log('-------',getAuthentication());
onReplyDiscuss(id, value);
setValue('');
}
(0,_react_17_0_2_react.useEffect)(function () {
if (activeDiscussIndex != id) {
setIsOpen(false);
}
}, [activeDiscussIndex]);
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
className: "discuss-item-editor",
style: {
display: activeDiscussIndex === id ? 'block' : 'none',
width: '100%'
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(markdown_editor/* default */.Z, {
miniToolbar: true,
startInit: activeDiscussIndex === id,
defaultValue: value,
id: id,
noStorage: true,
watch: false,
height: 155,
placeholder: "\u6211\u8981\u56DE\u590D",
showResizeBar: true,
onChange: onChange,
extraUse: adminOrOperator && /*#__PURE__*/(0,jsx_runtime.jsx)(tooltip/* default */.Z, {
color: "#fff",
open: isOpen,
destroyTooltipOnHide: true,
title: RecommendAnswer({
id: id,
isOpen: isOpen,
activeDiscussIndex: activeDiscussIndex,
onChange: onChange,
setIsOpen: setIsOpen
}),
overlayStyle: {
maxWidth: 600
},
children: /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
title: isOpen ? "关闭推荐" : "打开推荐",
onClick: function onClick() {
return setIsOpen(!isOpen);
},
children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", {
className: "iconfont icon-dianzan11"
})
})
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
onClick: onCommit,
className: "btn-send",
children: "\u53D1\u9001"
})]
}, id);
});
var RecommendAnswer = function RecommendAnswer(props) {
var _useState5 = (0,_react_17_0_2_react.useState)(false),
_useState6 = slicedToArray_default()(_useState5, 2),
loading = _useState6[0],
setLoading = _useState6[1];
var _useState7 = (0,_react_17_0_2_react.useState)([]),
_useState8 = slicedToArray_default()(_useState7, 2),
resData = _useState8[0],
setResData = _useState8[1];
var _useState9 = (0,_react_17_0_2_react.useState)(1),
_useState10 = slicedToArray_default()(_useState9, 2),
answerIndex = _useState10[0],
setAnswerIndex = _useState10[1];
(0,_react_17_0_2_react.useEffect)(function () {
if (props !== null && props !== void 0 && props.isOpen) {
getData();
} else {
setAnswerIndex(1);
setResData([]);
}
}, [props === null || props === void 0 ? void 0 : props.isOpen]);
var getData = /*#__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);
_context.next = 3;
return (0,fetch/* default */.ZP)("/api/discusses/".concat(props === null || props === void 0 ? void 0 : props.id, "/recommend_answer.json"), {
method: 'get'
});
case 3:
res = _context.sent;
if ((res === null || res === void 0 ? void 0 : res.status) == 0) {
setResData(res === null || res === void 0 ? void 0 : res.answer);
}
setLoading(false);
case 6:
case "end":
return _context.stop();
}
}, _callee);
}));
return function getData() {
return _ref2.apply(this, arguments);
};
}();
return /*#__PURE__*/(0,jsx_runtime.jsx)(spin/* default */.Z, {
spinning: loading,
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
style: {
color: "#000"
},
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(RenderHtml/* default */.Z, {
className: "font14",
style: {
maxHeight: 500,
overflow: "auto"
},
value: (resData === null || resData === void 0 ? void 0 : resData[answerIndex - 1]) || ""
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, {
justify: "end",
align: "middle",
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
children: /*#__PURE__*/(0,jsx_runtime.jsx)(pagination/* default */.Z, {
simple: true,
current: answerIndex,
pageSize: 1,
total: (resData === null || resData === void 0 ? void 0 : resData.length) || 0,
onChange: function onChange(page) {
setAnswerIndex(page);
}
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, {
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
onClick: /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2() {
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
props === null || props === void 0 || props.onChange(resData === null || resData === void 0 ? void 0 : resData[answerIndex - 1]);
props === null || props === void 0 || props.setIsOpen(false);
case 2:
case "end":
return _context2.stop();
}
}, _callee2);
})),
children: "\u586B\u5165\u6587\u672C\u6846"
})
})]
})]
})
});
};
/***/ }),
/***/ 16802:
/*!***********************************!*\
!*** ./src/utils/aliyunUpload.ts ***!
\***********************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ o: function() { return /* binding */ getUploader; }
/* harmony export */ });
/* harmony import */ var _utils_fetch__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/utils/fetch */ 14735);
/* harmony import */ var aliyun_vod_upload_ll__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! aliyun-vod-upload-ll */ 93125);
/* harmony import */ var aliyun_vod_upload_ll__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(aliyun_vod_upload_ll__WEBPACK_IMPORTED_MODULE_1__);
var login = '';
var uploader;
var virtual_classroom_id = '';
function createUploader(options) {
doCreateUploader(options);
}
function doCreateUploader(options) {
uploader = new (aliyun_vod_upload_ll__WEBPACK_IMPORTED_MODULE_1___default().Vod)({
timeout: 60000,
partSize: 1048576,
parallel: 5,
retryCount: 3,
retryDuration: 2,
region: 'ap-southeast-1',
userId: 1829848226361863,
enableUploadProgress: false,
addFileSuccess: function addFileSuccess(uploadInfo) {
console.log("addFileSuccess: " + uploadInfo.file.name);
options.addFileSuccess && options.addFileSuccess(uploadInfo);
uploader.startUpload();
},
// 开始上传
onUploadstarted: function onUploadstarted(uploadInfo) {
var fileName = uploadInfo.file.name;
if (!uploadInfo.videoId) {
var createUrl = "/api/users/".concat(login, "/video_auths.json");
var _random = ''; // Math.random().toString().substring(3, 6)+'-'
(0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .ZP)(createUrl, {
method: 'Post',
body: {
title: _random + fileName,
file_name: _random + fileName,
virtual_classroom_id: virtual_classroom_id
}
}).then(function (response) {
if (response) {
var data = response.data;
var uploadAuth = data.UploadAuth;
var uploadAddress = data.UploadAddress;
var videoId = data.VideoId;
uploader.setUploadAuthAndAddress(uploadInfo, uploadAuth, uploadAddress, videoId);
}
})["catch"](function (error) {
uploader.deleteFile(uploader._curIndex);
uploader.nextUpload();
console.log(error);
});
console.log('文件开始上传...');
} else {
// 如果videoId有值,根据videoId刷新上传凭证
var refreshUrl = "/api/users/".concat(login, "/video_auths.json");
(0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .ZP)(refreshUrl, {
method: 'put',
body: {
video_id: uploadInfo.videoId,
title: fileName,
file_name: fileName,
virtual_classroom_id: virtual_classroom_id
}
}).then(function (response) {
if (response.status == -1) {
options.onUploadError && options.onUploadError(uploadInfo);
return;
}
var data = response.data;
var uploadAuth = data.UploadAuth;
var uploadAddress = data.UploadAddress;
var videoId = data.VideoId;
uploader.setUploadAuthAndAddress(uploadInfo, uploadAuth, uploadAddress);
})["catch"](function (error) {
uploader.deleteFile(uploader._curIndex);
uploader.nextUpload();
console.log(error);
});
}
},
// 文件上传成功
onUploadSucceed: function onUploadSucceed(uploadInfo) {
options.onUploadSucceed && options.onUploadSucceed(uploadInfo);
console.log('文件上传成功!');
},
// 文件上传失败
onUploadFailed: function onUploadFailed(uploadInfo, code, message) {
options.onUploadFailed && options.onUploadFailed(uploadInfo);
console.log('文件上传失败!');
},
// 取消文件上传
onUploadCanceled: function onUploadCanceled(uploadInfo, code, message) {
console.log('文件上传已暂停!');
},
// 文件上传进度,单位:字节, 可以在这个函数中拿到上传进度并显示在页面上
onUploadProgress: function onUploadProgress(uploadInfo, totalSize, progress) {
options.onUploadProgress && options.onUploadProgress(uploadInfo, totalSize, progress);
var progressPercent = Math.ceil(progress * 100);
console.log('文件上传中...');
},
// 上传凭证超时
onUploadTokenExpired: function onUploadTokenExpired(uploadInfo) {
console.log('文件上传超时!');
var refreshUrl = "/api/users/".concat(login, "/video_auths.json");
(0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .ZP)(refreshUrl, {
method: 'put',
body: {
video_id: uploadInfo.videoId
}
}).then(function (response) {
var data = response.data;
var uploadAuth = data.UploadAuth;
uploader.resumeUploadWithAuth(uploadAuth);
})["catch"](function (error) {
console.log(error);
});
},
// 全部文件上传结束
onUploadEnd: function onUploadEnd(uploadInfo) {
options.onUploadEnd && options.onUploadEnd(uploadInfo);
console.log("onUploadEnd: uploaded all the files");
}
});
if (options.gotUploader) {
options.gotUploader(uploader);
}
}
function getUploader(_login, _virtual_classroom_id, options) {
_login && (login = _login);
_virtual_classroom_id && (virtual_classroom_id = _virtual_classroom_id);
// if (!uploader || options.create == true) {
createUploader(options);
// }
}
/***/ }),
/***/ 2434:
/*!*********************************!*\
!*** ./src/utils/fullscreen.ts ***!
\*********************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ BU: function() { return /* binding */ exitFull; },
/* harmony export */ Dj: function() { return /* binding */ requestFullScreen; },
/* harmony export */ gH: function() { return /* binding */ fullscreenChange; },
/* harmony export */ vp: function() { return /* binding */ IsFull; }
/* harmony export */ });
function requestFullScreen(element) {
try {
if (element.mozRequestFullScreen) {
element.mozRequestFullScreen();
} else if (element.webkitRequestFullScreen) {
element.webkitRequestFullScreen();
}
} catch (e) {
console.log(e, ":e");
}
}
function exitFull() {
if (window.top.document.webkitExitFullscreen) {
window.top.document.webkitExitFullscreen();
} else if (document.exitFullscreen) {
window.top.document.exitFullscreen();
} else if (document.msExitFullscreen) {
window.top.document.msExitFullscreen();
} else if (document.mozCancelFullScreen) {
window.top.document.mozCancelFullScreen();
}
}
// esliint disabled
var fullscreenChange = function fullscreenChange() {
//['fullscreenchange','msfullscreenchange','webkitfullscreenchange', 'mozfullscreenchange']
if (document.webkitExitFullscreen) {
// document.webkitExitFullscreen()
return 'webkitfullscreenchange';
} else if (document.exitFullscreen) {
// document.exitFullscreen()
return 'fullscreenchange';
} else if (document.msExitFullscreen) {
// document.msExitFullscreen()
return 'msfullscreenchange';
} else if (document.mozCancelFullScreen) {
// document.mozCancelFullScreen()
return 'mozfullscreenchange';
}
};
//判断是否全屏
function IsFull() {
var fullscreenElement = window.top.document.fullscreenElement || window.top.document.mozFullscreenElement || window.top.document.webkitFullscreenElement;
var fullscreenEnabled = document.fullscreenEnabled || document.mozFullscreenEnabled || document.webkitFullscreenEnabled;
console.log("fullscreenElement", fullscreenElement);
if (fullscreenElement == null) {
return false;
} else {
return true;
}
}
// document.addEventListener("mozfullscreenchange", function (event) {
// console.log("mozfullscreenchange ", event);
// if (IsFull()) {
// console.log('进入全屏')
// $("#closescreen").show();
// $("#openscreen").hide();
// } else {
// console.log('退出全屏')
// $("#closescreen").hide();
// $("#openscreen").show();
// }
// });
// document.addEventListener("webkitfullscreenchange", function (event) {
// console.log("webkitfullscreenchange", event);
// if (IsFull()) {
// console.log('进入全屏')
// $("#closescreen").show();
// $("#openscreen").hide();
// } else {
// console.log('退出全屏')
// $("#closescreen").hide();
// $("#openscreen").show();
// }
// });
// document.addEventListener("msfullscreenchange", function (event) {
// console.log("msfullscreenchange", event);
// if (IsFull()) {
// console.log('进入全屏')
// $("#closescreen").show();
// $("#openscreen").hide();
// } else {
// console.log('退出全屏')
// $("#closescreen").hide();
// $("#openscreen").show();
// }
// });
/***/ }),
/***/ 50930:
/*!******************************!*\
!*** ./src/utils/urlTool.ts ***!
\******************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ G: function() { return /* binding */ fromStore; },
/* harmony export */ t: function() { return /* binding */ toStore; }
/* harmony export */ });
/* harmony import */ var store__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! store */ 7062);
/* harmony import */ var store__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(store__WEBPACK_IMPORTED_MODULE_0__);
var isDev = (/* unused pure expression or super */ null && ("production" === 'development'));
function toStore(key, val) {
var _config = store__WEBPACK_IMPORTED_MODULE_0___default().get('__ec');
if (!_config) _config = {};
_config[key] = val;
store__WEBPACK_IMPORTED_MODULE_0___default().set('__ec', _config);
}
function fromStore(key, defaultVal) {
var _config = store__WEBPACK_IMPORTED_MODULE_0___default().get('__ec');
if (!_config) return defaultVal;
return _config[key] === undefined ? defaultVal : _config[key];
}
/***/ }),
/***/ 41565:
/*!*********************************************!*\
!*** ./src/assets/images/question/time.svg ***!
\*********************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
/* unused harmony export ReactComponent */
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ 59301);
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
var __defProp = Object.defineProperty;
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __propIsEnum = Object.prototype.propertyIsEnumerable;
var __defNormalProp = function __defNormalProp(obj, key, value) {
return key in obj ? __defProp(obj, key, {
enumerable: true,
configurable: true,
writable: true,
value: value
}) : obj[key] = value;
};
var __spreadValues = function __spreadValues(a, b) {
for (var prop in b || (b = {})) if (__hasOwnProp.call(b, prop)) __defNormalProp(a, prop, b[prop]);
if (__getOwnPropSymbols) {
var _iterator = _createForOfIteratorHelper(__getOwnPropSymbols(b)),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var prop = _step.value;
if (__propIsEnum.call(b, prop)) __defNormalProp(a, prop, b[prop]);
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
}
return a;
};
var SvgTime = function SvgTime(props) {
return /* @__PURE__ */React.createElement("svg", __spreadValues({
width: 30,
height: 30,
xmlns: "http://www.w3.org/2000/svg"
}, props), /* @__PURE__ */React.createElement("title", null, "\u5360\u7528\u5185\u5B58"), /* @__PURE__ */React.createElement("g", {
fillRule: "nonzero",
fill: "none"
}, /* @__PURE__ */React.createElement("path", {
fillOpacity: 0.01,
fill: "#FFF",
d: "M0 0h30v30H0z"
}), /* @__PURE__ */React.createElement("path", {
d: "M6.866 26.928h-1.28a2.561 2.561 0 0 1-2.562-2.561V5.585a2.561 2.561 0 0 1 2.561-2.56h1.28v4.268a2.561 2.561 0 0 0 2.562 2.56h3.842a2.561 2.561 0 0 0 2.56-2.56V3.024h2.915l8.184 8.184v13.159a2.561 2.561 0 0 1-2.561 2.561h-1.28v-5.976c0-.943-.765-1.707-1.708-1.707H8.573c-.943 0-1.707.764-1.707 1.707v5.976Z",
fill: "#B6D0FC"
}), /* @__PURE__ */React.createElement("path", {
d: "M8.573 3.024h5.55v4.269a.854.854 0 0 1-.854.853H9.427a.854.854 0 0 1-.854-.853V3.024ZM8.573 26.928v-5.976H21.38v5.976z",
fill: "#1890FF"
})));
};
/* harmony default export */ __webpack_exports__.Z = ("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzAiIGhlaWdodD0iMzAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbC1ydWxlPSJub256ZXJvIiBmaWxsPSJub25lIj48cGF0aCBmaWxsLW9wYWNpdHk9Ii4wMSIgZmlsbD0iI0ZGRiIgZD0iTTAgMGgzMHYzMEgweiIvPjxwYXRoIGQ9Ik02Ljg2NiAyNi45MjhoLTEuMjhhMi41NjEgMi41NjEgMCAwIDEtMi41NjItMi41NjFWNS41ODVhMi41NjEgMi41NjEgMCAwIDEgMi41NjEtMi41NmgxLjI4djQuMjY4YTIuNTYxIDIuNTYxIDAgMCAwIDIuNTYyIDIuNTZoMy44NDJhMi41NjEgMi41NjEgMCAwIDAgMi41Ni0yLjU2VjMuMDI0aDIuOTE1bDguMTg0IDguMTg0djEzLjE1OWEyLjU2MSAyLjU2MSAwIDAgMS0yLjU2MSAyLjU2MWgtMS4yOHYtNS45NzZjMC0uOTQzLS43NjUtMS43MDctMS43MDgtMS43MDdIOC41NzNjLS45NDMgMC0xLjcwNy43NjQtMS43MDcgMS43MDd2NS45NzZaIiBmaWxsPSIjQjZEMEZDIi8+PHBhdGggZD0iTTguNTczIDMuMDI0aDUuNTV2NC4yNjlhLjg1NC44NTQgMCAwIDEtLjg1NC44NTNIOS40MjdhLjg1NC44NTQgMCAwIDEtLjg1NC0uODUzVjMuMDI0Wk04LjU3MyAyNi45Mjh2LTUuOTc2SDIxLjM4djUuOTc2eiIgZmlsbD0iIzE4OTBGRiIvPjwvZz48L3N2Zz4=");
/***/ }),
/***/ 56772:
/*!**********************************************!*\
!*** ./src/assets/images/question/title.svg ***!
\**********************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
/* unused harmony export ReactComponent */
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ 59301);
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
var __defProp = Object.defineProperty;
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __propIsEnum = Object.prototype.propertyIsEnumerable;
var __defNormalProp = function __defNormalProp(obj, key, value) {
return key in obj ? __defProp(obj, key, {
enumerable: true,
configurable: true,
writable: true,
value: value
}) : obj[key] = value;
};
var __spreadValues = function __spreadValues(a, b) {
for (var prop in b || (b = {})) if (__hasOwnProp.call(b, prop)) __defNormalProp(a, prop, b[prop]);
if (__getOwnPropSymbols) {
var _iterator = _createForOfIteratorHelper(__getOwnPropSymbols(b)),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var prop = _step.value;
if (__propIsEnum.call(b, prop)) __defNormalProp(a, prop, b[prop]);
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
}
return a;
};
var SvgTitle = function SvgTitle(props) {
return /* @__PURE__ */React.createElement("svg", __spreadValues({
width: 30,
height: 30,
xmlns: "http://www.w3.org/2000/svg"
}, props), /* @__PURE__ */React.createElement("title", null, "\u8FD0\u884C\u65F6\u95F4"), /* @__PURE__ */React.createElement("g", {
fillRule: "nonzero",
fill: "none"
}, /* @__PURE__ */React.createElement("path", {
d: "M30 15c0 8.284-6.716 15-15 15-8.284 0-15-6.716-15-15C0 6.716 6.716 0 15 0c8.284 0 15 6.716 15 15Z",
fill: "#BAFFF0"
}), /* @__PURE__ */React.createElement("path", {
d: "M25.5 15c0 5.8-4.7 10.5-10.5 10.5S4.5 20.8 4.5 15 9.2 4.5 15 4.5 25.5 9.2 25.5 15Z",
fill: "#44D7B6"
}), /* @__PURE__ */React.createElement("path", {
d: "M13.5 9a1.5 1.5 0 0 1 1.5 1.5v4.379l3.56 3.56a1.5 1.5 0 0 1-2.12 2.122l-4-4A1.5 1.5 0 0 1 12 15.5v-5A1.5 1.5 0 0 1 13.5 9Z",
fill: "#FFF"
})));
};
/* harmony default export */ __webpack_exports__.Z = ("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzAiIGhlaWdodD0iMzAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbC1ydWxlPSJub256ZXJvIiBmaWxsPSJub25lIj48cGF0aCBkPSJNMzAgMTVjMCA4LjI4NC02LjcxNiAxNS0xNSAxNS04LjI4NCAwLTE1LTYuNzE2LTE1LTE1QzAgNi43MTYgNi43MTYgMCAxNSAwYzguMjg0IDAgMTUgNi43MTYgMTUgMTVaIiBmaWxsPSIjQkFGRkYwIi8+PHBhdGggZD0iTTI1LjUgMTVjMCA1LjgtNC43IDEwLjUtMTAuNSAxMC41UzQuNSAyMC44IDQuNSAxNSA5LjIgNC41IDE1IDQuNSAyNS41IDkuMiAyNS41IDE1WiIgZmlsbD0iIzQ0RDdCNiIvPjxwYXRoIGQ9Ik0xMy41IDlhMS41IDEuNSAwIDAgMSAxLjUgMS41djQuMzc5bDMuNTYgMy41NmExLjUgMS41IDAgMCAxLTIuMTIgMi4xMjJsLTQtNEExLjUgMS41IDAgMCAxIDEyIDE1LjV2LTVBMS41IDEuNSAwIDAgMSAxMy41IDlaIiBmaWxsPSIjRkZGIi8+PC9nPjwvc3ZnPg==");
/***/ }),
/***/ 654:
/*!******************************************************!*\
!*** ./src/pages/Problems/OjForm/index.less?modules ***!
\******************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__) {
"use strict";
// extracted by mini-css-extract-plugin
/* harmony default export */ __webpack_exports__.Z = ({"header":"header___HqHSe","checkboxs":"checkboxs___ObBnD","field":"field___w_sM6","oj-form-container":"oj-form-container____odYP","oj-left-panel":"oj-left-panel___emEB2","oj-form-info":"oj-form-info___m00Ag","footer":"footer___O4iSJ","collapse":"collapse___Ltfkj","test-case-name":"test-case-name___miZcb","btn-remove-case":"btn-remove-case___cHap2","icon-tag":"icon-tag___gmyTb","btn_back":"btn_back___tNmX3","testJi":"testJi___L3fHb","upBtn":"upBtn___RGH6X","djs":"djs____TS0n","time":"time___IAdHc"});
/***/ }),
/***/ 82520:
/*!****************************************************!*\
!*** ./src/components/tpi-code-setting/index.less ***!
\****************************************************/
/***/ (function() {
"use strict";
// extracted by mini-css-extract-plugin
/***/ }),
/***/ 25769:
/*!**************************************************************************!*\
!*** ./node_modules/_copy-to-clipboard@3.3.3@copy-to-clipboard/index.js ***!
\**************************************************************************/
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
"use strict";
var deselectCurrent = __webpack_require__(/*! toggle-selection */ 98040);
var clipboardToIE11Formatting = {
"text/plain": "Text",
"text/html": "Url",
"default": "Text"
}
var defaultMessage = "Copy to clipboard: #{key}, Enter";
function format(message) {
var copyKey = (/mac os x/i.test(navigator.userAgent) ? "⌘" : "Ctrl") + "+C";
return message.replace(/#{\s*key\s*}/g, copyKey);
}
function copy(text, options) {
var debug,
message,
reselectPrevious,
range,
selection,
mark,
success = false;
if (!options) {
options = {};
}
debug = options.debug || false;
try {
reselectPrevious = deselectCurrent();
range = document.createRange();
selection = document.getSelection();
mark = document.createElement("span");
mark.textContent = text;
// avoid screen readers from reading out loud the text
mark.ariaHidden = "true"
// reset user styles for span element
mark.style.all = "unset";
// prevents scrolling to the end of the page
mark.style.position = "fixed";
mark.style.top = 0;
mark.style.clip = "rect(0, 0, 0, 0)";
// used to preserve spaces and line breaks
mark.style.whiteSpace = "pre";
// do not inherit user-select (it may be `none`)
mark.style.webkitUserSelect = "text";
mark.style.MozUserSelect = "text";
mark.style.msUserSelect = "text";
mark.style.userSelect = "text";
mark.addEventListener("copy", function(e) {
e.stopPropagation();
if (options.format) {
e.preventDefault();
if (typeof e.clipboardData === "undefined") { // IE 11
debug && console.warn("unable to use e.clipboardData");
debug && console.warn("trying IE specific stuff");
window.clipboardData.clearData();
var format = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting["default"]
window.clipboardData.setData(format, text);
} else { // all other browsers
e.clipboardData.clearData();
e.clipboardData.setData(options.format, text);
}
}
if (options.onCopy) {
e.preventDefault();
options.onCopy(e.clipboardData);
}
});
document.body.appendChild(mark);
range.selectNodeContents(mark);
selection.addRange(range);
var successful = document.execCommand("copy");
if (!successful) {
throw new Error("copy command was unsuccessful");
}
success = true;
} catch (err) {
debug && console.error("unable to copy using execCommand: ", err);
debug && console.warn("trying IE specific stuff");
try {
window.clipboardData.setData(options.format || "text", text);
options.onCopy && options.onCopy(window.clipboardData);
success = true;
} catch (err) {
debug && console.error("unable to copy using clipboardData: ", err);
debug && console.error("falling back to prompt");
message = format("message" in options ? options.message : defaultMessage);
window.prompt(message, text);
}
} finally {
if (selection) {
if (typeof selection.removeRange == "function") {
selection.removeRange(range);
} else {
selection.removeAllRanges();
}
}
if (mark) {
document.body.removeChild(mark);
}
reselectPrevious();
}
return success;
}
module.exports = copy;
/***/ }),
/***/ 24334:
/*!***********************************************************!*\
!*** ./node_modules/_js-base64@2.6.4@js-base64/base64.js ***!
\***********************************************************/
/***/ (function(module, exports, __webpack_require__) {
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*
* base64.js
*
* Licensed under the BSD 3-Clause License.
* http://opensource.org/licenses/BSD-3-Clause
*
* References:
* http://en.wikipedia.org/wiki/Base64
*/
;(function (global, factory) {
true
? module.exports = factory(global)
: 0
}((
typeof self !== 'undefined' ? self
: typeof window !== 'undefined' ? window
: typeof __webpack_require__.g !== 'undefined' ? __webpack_require__.g
: this
), function(global) {
'use strict';
// existing version for noConflict()
global = global || {};
var _Base64 = global.Base64;
var version = "2.6.4";
// constants
var b64chars
= 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
var b64tab = function(bin) {
var t = {};
for (var i = 0, l = bin.length; i < l; i++) t[bin.charAt(i)] = i;
return t;
}(b64chars);
var fromCharCode = String.fromCharCode;
// encoder stuff
var cb_utob = function(c) {
if (c.length < 2) {
var cc = c.charCodeAt(0);
return cc < 0x80 ? c
: cc < 0x800 ? (fromCharCode(0xc0 | (cc >>> 6))
+ fromCharCode(0x80 | (cc & 0x3f)))
: (fromCharCode(0xe0 | ((cc >>> 12) & 0x0f))
+ fromCharCode(0x80 | ((cc >>> 6) & 0x3f))
+ fromCharCode(0x80 | ( cc & 0x3f)));
} else {
var cc = 0x10000
+ (c.charCodeAt(0) - 0xD800) * 0x400
+ (c.charCodeAt(1) - 0xDC00);
return (fromCharCode(0xf0 | ((cc >>> 18) & 0x07))
+ fromCharCode(0x80 | ((cc >>> 12) & 0x3f))
+ fromCharCode(0x80 | ((cc >>> 6) & 0x3f))
+ fromCharCode(0x80 | ( cc & 0x3f)));
}
};
var re_utob = /[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g;
var utob = function(u) {
return u.replace(re_utob, cb_utob);
};
var cb_encode = function(ccc) {
var padlen = [0, 2, 1][ccc.length % 3],
ord = ccc.charCodeAt(0) << 16
| ((ccc.length > 1 ? ccc.charCodeAt(1) : 0) << 8)
| ((ccc.length > 2 ? ccc.charCodeAt(2) : 0)),
chars = [
b64chars.charAt( ord >>> 18),
b64chars.charAt((ord >>> 12) & 63),
padlen >= 2 ? '=' : b64chars.charAt((ord >>> 6) & 63),
padlen >= 1 ? '=' : b64chars.charAt(ord & 63)
];
return chars.join('');
};
var btoa = global.btoa && typeof global.btoa == 'function'
? function(b){ return global.btoa(b) } : function(b) {
if (b.match(/[^\x00-\xFF]/)) throw new RangeError(
'The string contains invalid characters.'
);
return b.replace(/[\s\S]{1,3}/g, cb_encode);
};
var _encode = function(u) {
return btoa(utob(String(u)));
};
var mkUriSafe = function (b64) {
return b64.replace(/[+\/]/g, function(m0) {
return m0 == '+' ? '-' : '_';
}).replace(/=/g, '');
};
var encode = function(u, urisafe) {
return urisafe ? mkUriSafe(_encode(u)) : _encode(u);
};
var encodeURI = function(u) { return encode(u, true) };
var fromUint8Array;
if (global.Uint8Array) fromUint8Array = function(a, urisafe) {
// return btoa(fromCharCode.apply(null, a));
var b64 = '';
for (var i = 0, l = a.length; i < l; i += 3) {
var a0 = a[i], a1 = a[i+1], a2 = a[i+2];
var ord = a0 << 16 | a1 << 8 | a2;
b64 += b64chars.charAt( ord >>> 18)
+ b64chars.charAt((ord >>> 12) & 63)
+ ( typeof a1 != 'undefined'
? b64chars.charAt((ord >>> 6) & 63) : '=')
+ ( typeof a2 != 'undefined'
? b64chars.charAt( ord & 63) : '=');
}
return urisafe ? mkUriSafe(b64) : b64;
};
// decoder stuff
var re_btou = /[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g;
var cb_btou = function(cccc) {
switch(cccc.length) {
case 4:
var cp = ((0x07 & cccc.charCodeAt(0)) << 18)
| ((0x3f & cccc.charCodeAt(1)) << 12)
| ((0x3f & cccc.charCodeAt(2)) << 6)
| (0x3f & cccc.charCodeAt(3)),
offset = cp - 0x10000;
return (fromCharCode((offset >>> 10) + 0xD800)
+ fromCharCode((offset & 0x3FF) + 0xDC00));
case 3:
return fromCharCode(
((0x0f & cccc.charCodeAt(0)) << 12)
| ((0x3f & cccc.charCodeAt(1)) << 6)
| (0x3f & cccc.charCodeAt(2))
);
default:
return fromCharCode(
((0x1f & cccc.charCodeAt(0)) << 6)
| (0x3f & cccc.charCodeAt(1))
);
}
};
var btou = function(b) {
return b.replace(re_btou, cb_btou);
};
var cb_decode = function(cccc) {
var len = cccc.length,
padlen = len % 4,
n = (len > 0 ? b64tab[cccc.charAt(0)] << 18 : 0)
| (len > 1 ? b64tab[cccc.charAt(1)] << 12 : 0)
| (len > 2 ? b64tab[cccc.charAt(2)] << 6 : 0)
| (len > 3 ? b64tab[cccc.charAt(3)] : 0),
chars = [
fromCharCode( n >>> 16),
fromCharCode((n >>> 8) & 0xff),
fromCharCode( n & 0xff)
];
chars.length -= [0, 0, 2, 1][padlen];
return chars.join('');
};
var _atob = global.atob && typeof global.atob == 'function'
? function(a){ return global.atob(a) } : function(a){
return a.replace(/\S{1,4}/g, cb_decode);
};
var atob = function(a) {
return _atob(String(a).replace(/[^A-Za-z0-9\+\/]/g, ''));
};
var _decode = function(a) { return btou(_atob(a)) };
var _fromURI = function(a) {
return String(a).replace(/[-_]/g, function(m0) {
return m0 == '-' ? '+' : '/'
}).replace(/[^A-Za-z0-9\+\/]/g, '');
};
var decode = function(a){
return _decode(_fromURI(a));
};
var toUint8Array;
if (global.Uint8Array) toUint8Array = function(a) {
return Uint8Array.from(atob(_fromURI(a)), function(c) {
return c.charCodeAt(0);
});
};
var noConflict = function() {
var Base64 = global.Base64;
global.Base64 = _Base64;
return Base64;
};
// export Base64
global.Base64 = {
VERSION: version,
atob: atob,
btoa: btoa,
fromBase64: decode,
toBase64: encode,
utob: utob,
encode: encode,
encodeURI: encodeURI,
btou: btou,
decode: decode,
noConflict: noConflict,
fromUint8Array: fromUint8Array,
toUint8Array: toUint8Array
};
// if ES5 is available, make Base64.extendString() available
if (typeof Object.defineProperty === 'function') {
var noEnum = function(v){
return {value:v,enumerable:false,writable:true,configurable:true};
};
global.Base64.extendString = function () {
Object.defineProperty(
String.prototype, 'fromBase64', noEnum(function () {
return decode(this)
}));
Object.defineProperty(
String.prototype, 'toBase64', noEnum(function (urisafe) {
return encode(this, urisafe)
}));
Object.defineProperty(
String.prototype, 'toBase64URI', noEnum(function () {
return encode(this, true)
}));
};
}
//
// export Base64 to the namespace
//
if (global['Meteor']) { // Meteor.js
Base64 = global.Base64;
}
// module.exports and AMD are mutually exclusive.
// module.exports has precedence.
if ( true && module.exports) {
module.exports.Base64 = global.Base64;
}
else if (true) {
// AMD. Register as an anonymous module.
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function(){ return global.Base64 }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
}
// that's it!
return {Base64: global.Base64}
}));
/***/ }),
/***/ 83145:
/*!**********************************************************************************************!*\
!*** ./node_modules/_react-copy-to-clipboard@5.0.2@react-copy-to-clipboard/lib/Component.js ***!
\**********************************************************************************************/
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports.CopyToClipboard = void 0;
var _react = _interopRequireDefault(__webpack_require__(/*! react */ 59301));
var _copyToClipboard = _interopRequireDefault(__webpack_require__(/*! copy-to-clipboard */ 25769));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
var CopyToClipboard =
/*#__PURE__*/
function (_React$PureComponent) {
_inherits(CopyToClipboard, _React$PureComponent);
function CopyToClipboard() {
var _getPrototypeOf2;
var _this;
_classCallCheck(this, CopyToClipboard);
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
_this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(CopyToClipboard)).call.apply(_getPrototypeOf2, [this].concat(args)));
_defineProperty(_assertThisInitialized(_this), "onClick", function (event) {
var _this$props = _this.props,
text = _this$props.text,
onCopy = _this$props.onCopy,
children = _this$props.children,
options = _this$props.options;
var elem = _react["default"].Children.only(children);
var result = (0, _copyToClipboard["default"])(text, options);
if (onCopy) {
onCopy(text, result);
} // Bypass onClick if it was present
if (elem && elem.props && typeof elem.props.onClick === 'function') {
elem.props.onClick(event);
}
});
return _this;
}
_createClass(CopyToClipboard, [{
key: "render",
value: function render() {
var _this$props2 = this.props,
_text = _this$props2.text,
_onCopy = _this$props2.onCopy,
_options = _this$props2.options,
children = _this$props2.children,
props = _objectWithoutProperties(_this$props2, ["text", "onCopy", "options", "children"]);
var elem = _react["default"].Children.only(children);
return _react["default"].cloneElement(elem, _objectSpread({}, props, {
onClick: this.onClick
}));
}
}]);
return CopyToClipboard;
}(_react["default"].PureComponent);
exports.CopyToClipboard = CopyToClipboard;
_defineProperty(CopyToClipboard, "defaultProps", {
onCopy: undefined,
options: undefined
});
/***/ }),
/***/ 56102:
/*!******************************************************************************************!*\
!*** ./node_modules/_react-copy-to-clipboard@5.0.2@react-copy-to-clipboard/lib/index.js ***!
\******************************************************************************************/
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
"use strict";
var _require = __webpack_require__(/*! ./Component */ 83145),
CopyToClipboard = _require.CopyToClipboard;
CopyToClipboard.CopyToClipboard = CopyToClipboard;
module.exports = CopyToClipboard;
/***/ }),
/***/ 98040:
/*!************************************************************************!*\
!*** ./node_modules/_toggle-selection@1.0.6@toggle-selection/index.js ***!
\************************************************************************/
/***/ (function(module) {
module.exports = function () {
var selection = document.getSelection();
if (!selection.rangeCount) {
return function () {};
}
var active = document.activeElement;
var ranges = [];
for (var i = 0; i < selection.rangeCount; i++) {
ranges.push(selection.getRangeAt(i));
}
switch (active.tagName.toUpperCase()) { // .toUpperCase handles XHTML
case 'INPUT':
case 'TEXTAREA':
active.blur();
break;
default:
active = null;
break;
}
selection.removeAllRanges();
return function () {
selection.type === 'Caret' &&
selection.removeAllRanges();
if (!selection.rangeCount) {
ranges.forEach(function(range) {
selection.addRange(range);
});
}
active &&
active.focus();
};
};
/***/ }),
/***/ 93314:
/*!********************************************!*\
!*** ./src/assets/images/icons/nodata.png ***!
\********************************************/
/***/ (function(module) {
"use strict";
module.exports = "data:image/png;base64,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";
/***/ }),
/***/ 62522:
/*!*************************************************!*\
!*** ./src/assets/images/question/internal.png ***!
\*************************************************/
/***/ (function(module) {
"use strict";
module.exports = "data:image/png;base64,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";
/***/ })
}]);