(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[182,3,5,6,7,8,9,10,16,18],{
/***/ "+NIl":
/*!***************************************************!*\
!*** ./node_modules/codemirror/mode/stex/stex.js ***!
\***************************************************/
/*! no static exports found */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports, __webpack_require__) {
// CodeMirror, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: https://codemirror.net/LICENSE
/*
* Author: Constantin Jucovschi (c.jucovschi@jacobs-university.de)
* Licence: MIT
*/
(function(mod) {
if (true) // CommonJS
mod(__webpack_require__(/*! ../../lib/codemirror */ "VrN/"));
else {}
})(function(CodeMirror) {
"use strict";
CodeMirror.defineMode("stex", function(_config, parserConfig) {
"use strict";
function pushCommand(state, command) {
state.cmdState.push(command);
}
function peekCommand(state) {
if (state.cmdState.length > 0) {
return state.cmdState[state.cmdState.length - 1];
} else {
return null;
}
}
function popCommand(state) {
var plug = state.cmdState.pop();
if (plug) {
plug.closeBracket();
}
}
// returns the non-default plugin closest to the end of the list
function getMostPowerful(state) {
var context = state.cmdState;
for (var i = context.length - 1; i >= 0; i--) {
var plug = context[i];
if (plug.name == "DEFAULT") {
continue;
}
return plug;
}
return { styleIdentifier: function() { return null; } };
}
function addPluginPattern(pluginName, cmdStyle, styles) {
return function () {
this.name = pluginName;
this.bracketNo = 0;
this.style = cmdStyle;
this.styles = styles;
this.argument = null; // \begin and \end have arguments that follow. These are stored in the plugin
this.styleIdentifier = function() {
return this.styles[this.bracketNo - 1] || null;
};
this.openBracket = function() {
this.bracketNo++;
return "bracket";
};
this.closeBracket = function() {};
};
}
var plugins = {};
plugins["importmodule"] = addPluginPattern("importmodule", "tag", ["string", "builtin"]);
plugins["documentclass"] = addPluginPattern("documentclass", "tag", ["", "atom"]);
plugins["usepackage"] = addPluginPattern("usepackage", "tag", ["atom"]);
plugins["begin"] = addPluginPattern("begin", "tag", ["atom"]);
plugins["end"] = addPluginPattern("end", "tag", ["atom"]);
plugins["label" ] = addPluginPattern("label" , "tag", ["atom"]);
plugins["ref" ] = addPluginPattern("ref" , "tag", ["atom"]);
plugins["eqref" ] = addPluginPattern("eqref" , "tag", ["atom"]);
plugins["cite" ] = addPluginPattern("cite" , "tag", ["atom"]);
plugins["bibitem" ] = addPluginPattern("bibitem" , "tag", ["atom"]);
plugins["Bibitem" ] = addPluginPattern("Bibitem" , "tag", ["atom"]);
plugins["RBibitem" ] = addPluginPattern("RBibitem" , "tag", ["atom"]);
plugins["DEFAULT"] = function () {
this.name = "DEFAULT";
this.style = "tag";
this.styleIdentifier = this.openBracket = this.closeBracket = function() {};
};
function setState(state, f) {
state.f = f;
}
// called when in a normal (no environment) context
function normal(source, state) {
var plug;
// Do we look like '\command' ? If so, attempt to apply the plugin 'command'
if (source.match(/^\\[a-zA-Z@]+/)) {
var cmdName = source.current().slice(1);
plug = plugins.hasOwnProperty(cmdName) ? plugins[cmdName] : plugins["DEFAULT"];
plug = new plug();
pushCommand(state, plug);
setState(state, beginParams);
return plug.style;
}
// escape characters
if (source.match(/^\\[$&%#{}_]/)) {
return "tag";
}
// white space control characters
if (source.match(/^\\[,;!\/\\]/)) {
return "tag";
}
// find if we're starting various math modes
if (source.match("\\[")) {
setState(state, function(source, state){ return inMathMode(source, state, "\\]"); });
return "keyword";
}
if (source.match("\\(")) {
setState(state, function(source, state){ return inMathMode(source, state, "\\)"); });
return "keyword";
}
if (source.match("$$")) {
setState(state, function(source, state){ return inMathMode(source, state, "$$"); });
return "keyword";
}
if (source.match("$")) {
setState(state, function(source, state){ return inMathMode(source, state, "$"); });
return "keyword";
}
var ch = source.next();
if (ch == "%") {
source.skipToEnd();
return "comment";
} else if (ch == '}' || ch == ']') {
plug = peekCommand(state);
if (plug) {
plug.closeBracket(ch);
setState(state, beginParams);
} else {
return "error";
}
return "bracket";
} else if (ch == '{' || ch == '[') {
plug = plugins["DEFAULT"];
plug = new plug();
pushCommand(state, plug);
return "bracket";
} else if (/\d/.test(ch)) {
source.eatWhile(/[\w.%]/);
return "atom";
} else {
source.eatWhile(/[\w\-_]/);
plug = getMostPowerful(state);
if (plug.name == 'begin') {
plug.argument = source.current();
}
return plug.styleIdentifier();
}
}
function inMathMode(source, state, endModeSeq) {
if (source.eatSpace()) {
return null;
}
if (endModeSeq && source.match(endModeSeq)) {
setState(state, normal);
return "keyword";
}
if (source.match(/^\\[a-zA-Z@]+/)) {
return "tag";
}
if (source.match(/^[a-zA-Z]+/)) {
return "variable-2";
}
// escape characters
if (source.match(/^\\[$&%#{}_]/)) {
return "tag";
}
// white space control characters
if (source.match(/^\\[,;!\/]/)) {
return "tag";
}
// special math-mode characters
if (source.match(/^[\^_&]/)) {
return "tag";
}
// non-special characters
if (source.match(/^[+\-<>|=,\/@!*:;'"`~#?]/)) {
return null;
}
if (source.match(/^(\d+\.\d*|\d*\.\d+|\d+)/)) {
return "number";
}
var ch = source.next();
if (ch == "{" || ch == "}" || ch == "[" || ch == "]" || ch == "(" || ch == ")") {
return "bracket";
}
if (ch == "%") {
source.skipToEnd();
return "comment";
}
return "error";
}
function beginParams(source, state) {
var ch = source.peek(), lastPlug;
if (ch == '{' || ch == '[') {
lastPlug = peekCommand(state);
lastPlug.openBracket(ch);
source.eat(ch);
setState(state, normal);
return "bracket";
}
if (/[ \t\r]/.test(ch)) {
source.eat(ch);
return null;
}
setState(state, normal);
popCommand(state);
return normal(source, state);
}
return {
startState: function() {
var f = parserConfig.inMathMode ? function(source, state){ return inMathMode(source, state); } : normal;
return {
cmdState: [],
f: f
};
},
copyState: function(s) {
return {
cmdState: s.cmdState.slice(),
f: s.f
};
},
token: function(stream, state) {
return state.f(stream, state);
},
blankLine: function(state) {
state.f = normal;
state.cmdState.length = 0;
},
lineComment: "%"
};
});
CodeMirror.defineMIME("text/x-stex", "stex");
CodeMirror.defineMIME("text/x-latex", "stex");
});
/***/ }),
/***/ "/GNS":
/*!*********************************************!*\
!*** ./src/assets/images/icons/search1.png ***!
\*********************************************/
/*! no static exports found */
/*! exports used: default */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports, __webpack_require__) {
module.exports = __webpack_require__.p + "static/search1.c4136dd4.png";
/***/ }),
/***/ "06Qe":
/*!**********************************************!*\
!*** ./node_modules/zrender/lib/vml/core.js ***!
\**********************************************/
/*! no static exports found */
/*! all exports used */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports, __webpack_require__) {
var env = __webpack_require__(/*! ../core/env */ "ItGF");
var urn = 'urn:schemas-microsoft-com:vml';
var win = typeof window === 'undefined' ? null : window;
var vmlInited = false;
var doc = win && win.document;
function createNode(tagName) {
return doCreateNode(tagName);
} // Avoid assign to an exported variable, for transforming to cjs.
var doCreateNode;
if (doc && !env.canvasSupported) {
try {
!doc.namespaces.zrvml && doc.namespaces.add('zrvml', urn);
doCreateNode = function (tagName) {
return doc.createElement('');
};
} catch (e) {
doCreateNode = function (tagName) {
return doc.createElement('<' + tagName + ' xmlns="' + urn + '" class="zrvml">');
};
}
} // From raphael
function initVML() {
if (vmlInited || !doc) {
return;
}
vmlInited = true;
var styleSheets = doc.styleSheets;
if (styleSheets.length < 31) {
doc.createStyleSheet().addRule('.zrvml', 'behavior:url(#default#VML)');
} else {
// http://msdn.microsoft.com/en-us/library/ms531194%28VS.85%29.aspx
styleSheets[0].addRule('.zrvml', 'behavior:url(#default#VML)');
}
}
exports.doc = doc;
exports.createNode = createNode;
exports.initVML = initVML;
/***/ }),
/***/ "07cG":
/*!***************************************************!*\
!*** ./src/components/Spinner/index.less?modules ***!
\***************************************************/
/*! no static exports found */
/*! exports used: default */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports, __webpack_require__) {
// extracted by mini-css-extract-plugin
module.exports = {"ldsRing":"ldsRing___2F8W7","idsRingWrapper":"idsRingWrapper___fC2cF","ldsring":"ldsring___3A88y"};
/***/ }),
/***/ "0s+r":
/*!*********************************************!*\
!*** ./node_modules/zrender/lib/Handler.js ***!
\*********************************************/
/*! no static exports found */
/*! all exports used */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports, __webpack_require__) {
var util = __webpack_require__(/*! ./core/util */ "bYtY");
var vec2 = __webpack_require__(/*! ./core/vector */ "QBsz");
var Draggable = __webpack_require__(/*! ./mixin/Draggable */ "y23F");
var Eventful = __webpack_require__(/*! ./mixin/Eventful */ "H6uX");
var eventTool = __webpack_require__(/*! ./core/event */ "YH21");
var GestureMgr = __webpack_require__(/*! ./core/GestureMgr */ "C0SR");
/**
* [The interface between `Handler` and `HandlerProxy`]:
*
* The default `HandlerProxy` only support the common standard web environment
* (e.g., standalone browser, headless browser, embed browser in mobild APP, ...).
* But `HandlerProxy` can be replaced to support more non-standard environment
* (e.g., mini app), or to support more feature that the default `HandlerProxy`
* not provided (like echarts-gl did).
* So the interface between `Handler` and `HandlerProxy` should be stable. Do not
* make break changes util inevitable. The interface include the public methods
* of `Handler` and the events listed in `handlerNames` below, by which `HandlerProxy`
* drives `Handler`.
*/
/**
* [Drag outside]:
*
* That is, triggering `mousemove` and `mouseup` event when the pointer is out of the
* zrender area when dragging. That is important for the improvement of the user experience
* when dragging something near the boundary without being terminated unexpectedly.
*
* We originally consider to introduce new events like `pagemovemove` and `pagemouseup`
* to resolve this issue. But some drawbacks of it is described in
* https://github.com/ecomfe/zrender/pull/536#issuecomment-560286899
*
* Instead, we referenced the specifications:
* https://www.w3.org/TR/touch-events/#the-touchmove-event
* https://www.w3.org/TR/2014/WD-DOM-Level-3-Events-20140925/#event-type-mousemove
* where the the mousemove/touchmove can be continue to fire if the user began a drag
* operation and the pointer has left the boundary. (for the mouse event, browsers
* only do it on `document` and when the pointer has left the boundary of the browser.)
*
* So the default `HandlerProxy` supports this feature similarly: if it is in the dragging
* state (see `pointerCapture` in `HandlerProxy`), the `mousemove` and `mouseup` continue
* to fire until release the pointer. That is implemented by listen to those event on
* `document`.
* If we implement some other `HandlerProxy` only for touch device, that would be easier.
* The touch event support this feature by default.
*
* Note:
* There might be some cases that the mouse event can not be
* received on `document`. For example,
* (A) `useCapture` is not supported and some user defined event listeners on the ancestor
* of zr dom throw Error .
* (B) `useCapture` is not supported Some user defined event listeners on the ancestor of
* zr dom call `stopPropagation`.
* In these cases, the `mousemove` event might be keep triggered event
* if the mouse is released. We try to reduce the side-effect in those cases.
* That is, do nothing (especially, `findHover`) in those cases. See `isOutsideBoundary`.
*
* Note:
* If `HandlerProxy` listens to `document` with `useCapture`, `HandlerProxy` needs to
* make sure `stopPropagation` and `preventDefault` doing nothing if and only if the event
* target is not zrender dom. Becuase it is dangerous to enable users to call them in
* `document` capture phase to prevent the propagation to any listener of the webpage.
* But they are needed to work when the pointer inside the zrender dom.
*/
var SILENT = 'silent';
function makeEventPacket(eveType, targetInfo, event) {
return {
type: eveType,
event: event,
// target can only be an element that is not silent.
target: targetInfo.target,
// topTarget can be a silent element.
topTarget: targetInfo.topTarget,
cancelBubble: false,
offsetX: event.zrX,
offsetY: event.zrY,
gestureEvent: event.gestureEvent,
pinchX: event.pinchX,
pinchY: event.pinchY,
pinchScale: event.pinchScale,
wheelDelta: event.zrDelta,
zrByTouch: event.zrByTouch,
which: event.which,
stop: stopEvent
};
}
function stopEvent() {
eventTool.stop(this.event);
}
function EmptyProxy() {}
EmptyProxy.prototype.dispose = function () {};
var handlerNames = ['click', 'dblclick', 'mousewheel', 'mouseout', 'mouseup', 'mousedown', 'mousemove', 'contextmenu'];
/**
* @alias module:zrender/Handler
* @constructor
* @extends module:zrender/mixin/Eventful
* @param {module:zrender/Storage} storage Storage instance.
* @param {module:zrender/Painter} painter Painter instance.
* @param {module:zrender/dom/HandlerProxy} proxy HandlerProxy instance.
* @param {HTMLElement} painterRoot painter.root (not painter.getViewportRoot()).
*/
var Handler = function (storage, painter, proxy, painterRoot) {
Eventful.call(this);
this.storage = storage;
this.painter = painter;
this.painterRoot = painterRoot;
proxy = proxy || new EmptyProxy();
/**
* Proxy of event. can be Dom, WebGLSurface, etc.
*/
this.proxy = null;
/**
* {target, topTarget, x, y}
* @private
* @type {Object}
*/
this._hovered = {};
/**
* @private
* @type {Date}
*/
this._lastTouchMoment;
/**
* @private
* @type {number}
*/
this._lastX;
/**
* @private
* @type {number}
*/
this._lastY;
/**
* @private
* @type {module:zrender/core/GestureMgr}
*/
this._gestureMgr;
Draggable.call(this);
this.setHandlerProxy(proxy);
};
Handler.prototype = {
constructor: Handler,
setHandlerProxy: function (proxy) {
if (this.proxy) {
this.proxy.dispose();
}
if (proxy) {
util.each(handlerNames, function (name) {
proxy.on && proxy.on(name, this[name], this);
}, this); // Attach handler
proxy.handler = this;
}
this.proxy = proxy;
},
mousemove: function (event) {
var x = event.zrX;
var y = event.zrY;
var isOutside = isOutsideBoundary(this, x, y);
var lastHovered = this._hovered;
var lastHoveredTarget = lastHovered.target; // If lastHoveredTarget is removed from zr (detected by '__zr') by some API call
// (like 'setOption' or 'dispatchAction') in event handlers, we should find
// lastHovered again here. Otherwise 'mouseout' can not be triggered normally.
// See #6198.
if (lastHoveredTarget && !lastHoveredTarget.__zr) {
lastHovered = this.findHover(lastHovered.x, lastHovered.y);
lastHoveredTarget = lastHovered.target;
}
var hovered = this._hovered = isOutside ? {
x: x,
y: y
} : this.findHover(x, y);
var hoveredTarget = hovered.target;
var proxy = this.proxy;
proxy.setCursor && proxy.setCursor(hoveredTarget ? hoveredTarget.cursor : 'default'); // Mouse out on previous hovered element
if (lastHoveredTarget && hoveredTarget !== lastHoveredTarget) {
this.dispatchToElement(lastHovered, 'mouseout', event);
} // Mouse moving on one element
this.dispatchToElement(hovered, 'mousemove', event); // Mouse over on a new element
if (hoveredTarget && hoveredTarget !== lastHoveredTarget) {
this.dispatchToElement(hovered, 'mouseover', event);
}
},
mouseout: function (event) {
var eventControl = event.zrEventControl;
var zrIsToLocalDOM = event.zrIsToLocalDOM;
if (eventControl !== 'only_globalout') {
this.dispatchToElement(this._hovered, 'mouseout', event);
}
if (eventControl !== 'no_globalout') {
// FIXME: if the pointer moving from the extra doms to realy "outside",
// the `globalout` should have been triggered. But currently not.
!zrIsToLocalDOM && this.trigger('globalout', {
type: 'globalout',
event: event
});
}
},
/**
* Resize
*/
resize: function (event) {
this._hovered = {};
},
/**
* Dispatch event
* @param {string} eventName
* @param {event=} eventArgs
*/
dispatch: function (eventName, eventArgs) {
var handler = this[eventName];
handler && handler.call(this, eventArgs);
},
/**
* Dispose
*/
dispose: function () {
this.proxy.dispose();
this.storage = this.proxy = this.painter = null;
},
/**
* 设置默认的cursor style
* @param {string} [cursorStyle='default'] 例如 crosshair
*/
setCursorStyle: function (cursorStyle) {
var proxy = this.proxy;
proxy.setCursor && proxy.setCursor(cursorStyle);
},
/**
* 事件分发代理
*
* @private
* @param {Object} targetInfo {target, topTarget} 目标图形元素
* @param {string} eventName 事件名称
* @param {Object} event 事件对象
*/
dispatchToElement: function (targetInfo, eventName, event) {
targetInfo = targetInfo || {};
var el = targetInfo.target;
if (el && el.silent) {
return;
}
var eventHandler = 'on' + eventName;
var eventPacket = makeEventPacket(eventName, targetInfo, event);
while (el) {
el[eventHandler] && (eventPacket.cancelBubble = el[eventHandler].call(el, eventPacket));
el.trigger(eventName, eventPacket);
el = el.parent;
if (eventPacket.cancelBubble) {
break;
}
}
if (!eventPacket.cancelBubble) {
// 冒泡到顶级 zrender 对象
this.trigger(eventName, eventPacket); // 分发事件到用户自定义层
// 用户有可能在全局 click 事件中 dispose,所以需要判断下 painter 是否存在
this.painter && this.painter.eachOtherLayer(function (layer) {
if (typeof layer[eventHandler] === 'function') {
layer[eventHandler].call(layer, eventPacket);
}
if (layer.trigger) {
layer.trigger(eventName, eventPacket);
}
});
}
},
/**
* @private
* @param {number} x
* @param {number} y
* @param {module:zrender/graphic/Displayable} exclude
* @return {model:zrender/Element}
* @method
*/
findHover: function (x, y, exclude) {
var list = this.storage.getDisplayList();
var out = {
x: x,
y: y
};
for (var i = list.length - 1; i >= 0; i--) {
var hoverCheckResult;
if (list[i] !== exclude // getDisplayList may include ignored item in VML mode
&& !list[i].ignore && (hoverCheckResult = isHover(list[i], x, y))) {
!out.topTarget && (out.topTarget = list[i]);
if (hoverCheckResult !== SILENT) {
out.target = list[i];
break;
}
}
}
return out;
},
processGesture: function (event, stage) {
if (!this._gestureMgr) {
this._gestureMgr = new GestureMgr();
}
var gestureMgr = this._gestureMgr;
stage === 'start' && gestureMgr.clear();
var gestureInfo = gestureMgr.recognize(event, this.findHover(event.zrX, event.zrY, null).target, this.proxy.dom);
stage === 'end' && gestureMgr.clear(); // Do not do any preventDefault here. Upper application do that if necessary.
if (gestureInfo) {
var type = gestureInfo.type;
event.gestureEvent = type;
this.dispatchToElement({
target: gestureInfo.target
}, type, gestureInfo.event);
}
}
}; // Common handlers
util.each(['click', 'mousedown', 'mouseup', 'mousewheel', 'dblclick', 'contextmenu'], function (name) {
Handler.prototype[name] = function (event) {
var x = event.zrX;
var y = event.zrY;
var isOutside = isOutsideBoundary(this, x, y);
var hovered;
var hoveredTarget;
if (name !== 'mouseup' || !isOutside) {
// Find hover again to avoid click event is dispatched manually. Or click is triggered without mouseover
hovered = this.findHover(x, y);
hoveredTarget = hovered.target;
}
if (name === 'mousedown') {
this._downEl = hoveredTarget;
this._downPoint = [event.zrX, event.zrY]; // In case click triggered before mouseup
this._upEl = hoveredTarget;
} else if (name === 'mouseup') {
this._upEl = hoveredTarget;
} else if (name === 'click') {
if (this._downEl !== this._upEl // Original click event is triggered on the whole canvas element,
// including the case that `mousedown` - `mousemove` - `mouseup`,
// which should be filtered, otherwise it will bring trouble to
// pan and zoom.
|| !this._downPoint // Arbitrary value
|| vec2.dist(this._downPoint, [event.zrX, event.zrY]) > 4) {
return;
}
this._downPoint = null;
}
this.dispatchToElement(hovered, name, event);
};
});
function isHover(displayable, x, y) {
if (displayable[displayable.rectHover ? 'rectContain' : 'contain'](x, y)) {
var el = displayable;
var isSilent;
while (el) {
// If clipped by ancestor.
// FIXME: If clipPath has neither stroke nor fill,
// el.clipPath.contain(x, y) will always return false.
if (el.clipPath && !el.clipPath.contain(x, y)) {
return false;
}
if (el.silent) {
isSilent = true;
}
el = el.parent;
}
return isSilent ? SILENT : true;
}
return false;
}
/**
* See [Drag outside].
*/
function isOutsideBoundary(handlerInstance, x, y) {
var painter = handlerInstance.painter;
return x < 0 || x > painter.getWidth() || y < 0 || y > painter.getHeight();
}
util.mixin(Handler, Eventful);
util.mixin(Handler, Draggable);
var _default = Handler;
module.exports = _default;
/***/ }),
/***/ "19Vz":
/*!**************************************************************!*\
!*** ./node_modules/codemirror/addon/display/placeholder.js ***!
\**************************************************************/
/*! no static exports found */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports, __webpack_require__) {
// CodeMirror, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: https://codemirror.net/LICENSE
(function(mod) {
if (true) // CommonJS
mod(__webpack_require__(/*! ../../lib/codemirror */ "VrN/"));
else {}
})(function(CodeMirror) {
CodeMirror.defineOption("placeholder", "", function(cm, val, old) {
var prev = old && old != CodeMirror.Init;
if (val && !prev) {
cm.on("blur", onBlur);
cm.on("change", onChange);
cm.on("swapDoc", onChange);
CodeMirror.on(cm.getInputField(), "compositionupdate", cm.state.placeholderCompose = function() { onComposition(cm) })
onChange(cm);
} else if (!val && prev) {
cm.off("blur", onBlur);
cm.off("change", onChange);
cm.off("swapDoc", onChange);
CodeMirror.off(cm.getInputField(), "compositionupdate", cm.state.placeholderCompose)
clearPlaceholder(cm);
var wrapper = cm.getWrapperElement();
wrapper.className = wrapper.className.replace(" CodeMirror-empty", "");
}
if (val && !cm.hasFocus()) onBlur(cm);
});
function clearPlaceholder(cm) {
if (cm.state.placeholder) {
cm.state.placeholder.parentNode.removeChild(cm.state.placeholder);
cm.state.placeholder = null;
}
}
function setPlaceholder(cm) {
clearPlaceholder(cm);
var elt = cm.state.placeholder = document.createElement("pre");
elt.style.cssText = "height: 0; overflow: visible";
elt.style.direction = cm.getOption("direction");
elt.className = "CodeMirror-placeholder CodeMirror-line-like";
var placeHolder = cm.getOption("placeholder")
if (typeof placeHolder == "string") placeHolder = document.createTextNode(placeHolder)
elt.appendChild(placeHolder)
cm.display.lineSpace.insertBefore(elt, cm.display.lineSpace.firstChild);
}
function onComposition(cm) {
setTimeout(function() {
var empty = false, input = cm.getInputField()
if (input.nodeName == "TEXTAREA")
empty = !input.value
else if (cm.lineCount() == 1)
empty = !/[^\u200b]/.test(input.querySelector(".CodeMirror-line").textContent)
if (empty) setPlaceholder(cm)
else clearPlaceholder(cm)
}, 20)
}
function onBlur(cm) {
if (isEmpty(cm)) setPlaceholder(cm);
}
function onChange(cm) {
var wrapper = cm.getWrapperElement(), empty = isEmpty(cm);
wrapper.className = wrapper.className.replace(" CodeMirror-empty", "") + (empty ? " CodeMirror-empty" : "");
if (empty) setPlaceholder(cm);
else clearPlaceholder(cm);
}
function isEmpty(cm) {
return (cm.lineCount() === 1) && (cm.getLine(0) === "");
}
});
/***/ }),
/***/ "1Jh7":
/*!************************************************************!*\
!*** ./node_modules/zrender/lib/graphic/shape/Polyline.js ***!
\************************************************************/
/*! no static exports found */
/*! all exports used */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports, __webpack_require__) {
var Path = __webpack_require__(/*! ../Path */ "y+Vt");
var polyHelper = __webpack_require__(/*! ../helper/poly */ "T6xi");
/**
* @module zrender/graphic/shape/Polyline
*/
var _default = Path.extend({
type: 'polyline',
shape: {
points: null,
smooth: false,
smoothConstraint: null
},
style: {
stroke: '#000',
fill: null
},
buildPath: function (ctx, shape) {
polyHelper.buildPath(ctx, shape, false);
}
});
module.exports = _default;
/***/ }),
/***/ "1MYJ":
/*!**********************************************************!*\
!*** ./node_modules/zrender/lib/graphic/CompoundPath.js ***!
\**********************************************************/
/*! no static exports found */
/*! all exports used */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports, __webpack_require__) {
var Path = __webpack_require__(/*! ./Path */ "y+Vt");
// CompoundPath to improve performance
var _default = Path.extend({
type: 'compound',
shape: {
paths: null
},
_updatePathDirty: function () {
var dirtyPath = this.__dirtyPath;
var paths = this.shape.paths;
for (var i = 0; i < paths.length; i++) {
// Mark as dirty if any subpath is dirty
dirtyPath = dirtyPath || paths[i].__dirtyPath;
}
this.__dirtyPath = dirtyPath;
this.__dirty = this.__dirty || dirtyPath;
},
beforeBrush: function () {
this._updatePathDirty();
var paths = this.shape.paths || [];
var scale = this.getGlobalScale(); // Update path scale
for (var i = 0; i < paths.length; i++) {
if (!paths[i].path) {
paths[i].createPathProxy();
}
paths[i].path.setScale(scale[0], scale[1], paths[i].segmentIgnoreThreshold);
}
},
buildPath: function (ctx, shape) {
var paths = shape.paths || [];
for (var i = 0; i < paths.length; i++) {
paths[i].buildPath(ctx, paths[i].shape, true);
}
},
afterBrush: function () {
var paths = this.shape.paths || [];
for (var i = 0; i < paths.length; i++) {
paths[i].__dirtyPath = false;
}
},
getBoundingRect: function () {
this._updatePathDirty();
return Path.prototype.getBoundingRect.call(this);
}
});
module.exports = _default;
/***/ }),
/***/ "1RvN":
/*!**********************************************!*\
!*** ./node_modules/zrender/lib/core/LRU.js ***!
\**********************************************/
/*! no static exports found */
/*! all exports used */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports) {
// Simple LRU cache use doubly linked list
// @module zrender/core/LRU
/**
* Simple double linked list. Compared with array, it has O(1) remove operation.
* @constructor
*/
var LinkedList = function () {
/**
* @type {module:zrender/core/LRU~Entry}
*/
this.head = null;
/**
* @type {module:zrender/core/LRU~Entry}
*/
this.tail = null;
this._len = 0;
};
var linkedListProto = LinkedList.prototype;
/**
* Insert a new value at the tail
* @param {} val
* @return {module:zrender/core/LRU~Entry}
*/
linkedListProto.insert = function (val) {
var entry = new Entry(val);
this.insertEntry(entry);
return entry;
};
/**
* Insert an entry at the tail
* @param {module:zrender/core/LRU~Entry} entry
*/
linkedListProto.insertEntry = function (entry) {
if (!this.head) {
this.head = this.tail = entry;
} else {
this.tail.next = entry;
entry.prev = this.tail;
entry.next = null;
this.tail = entry;
}
this._len++;
};
/**
* Remove entry.
* @param {module:zrender/core/LRU~Entry} entry
*/
linkedListProto.remove = function (entry) {
var prev = entry.prev;
var next = entry.next;
if (prev) {
prev.next = next;
} else {
// Is head
this.head = next;
}
if (next) {
next.prev = prev;
} else {
// Is tail
this.tail = prev;
}
entry.next = entry.prev = null;
this._len--;
};
/**
* @return {number}
*/
linkedListProto.len = function () {
return this._len;
};
/**
* Clear list
*/
linkedListProto.clear = function () {
this.head = this.tail = null;
this._len = 0;
};
/**
* @constructor
* @param {} val
*/
var Entry = function (val) {
/**
* @type {}
*/
this.value = val;
/**
* @type {module:zrender/core/LRU~Entry}
*/
this.next;
/**
* @type {module:zrender/core/LRU~Entry}
*/
this.prev;
};
/**
* LRU Cache
* @constructor
* @alias module:zrender/core/LRU
*/
var LRU = function (maxSize) {
this._list = new LinkedList();
this._map = {};
this._maxSize = maxSize || 10;
this._lastRemovedEntry = null;
};
var LRUProto = LRU.prototype;
/**
* @param {string} key
* @param {} value
* @return {} Removed value
*/
LRUProto.put = function (key, value) {
var list = this._list;
var map = this._map;
var removed = null;
if (map[key] == null) {
var len = list.len(); // Reuse last removed entry
var entry = this._lastRemovedEntry;
if (len >= this._maxSize && len > 0) {
// Remove the least recently used
var leastUsedEntry = list.head;
list.remove(leastUsedEntry);
delete map[leastUsedEntry.key];
removed = leastUsedEntry.value;
this._lastRemovedEntry = leastUsedEntry;
}
if (entry) {
entry.value = value;
} else {
entry = new Entry(value);
}
entry.key = key;
list.insertEntry(entry);
map[key] = entry;
}
return removed;
};
/**
* @param {string} key
* @return {}
*/
LRUProto.get = function (key) {
var entry = this._map[key];
var list = this._list;
if (entry != null) {
// Put the latest used entry in the tail
if (entry !== list.tail) {
list.remove(entry);
list.insertEntry(entry);
}
return entry.value;
}
};
/**
* Clear the cache
*/
LRUProto.clear = function () {
this._list.clear();
this._map = {};
};
var _default = LRU;
module.exports = _default;
/***/ }),
/***/ "1ZF9":
/*!*****************************************!*\
!*** ./src/assets/images/Authorize.png ***!
\*****************************************/
/*! no static exports found */
/*! exports used: default */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports, __webpack_require__) {
module.exports = __webpack_require__.p + "static/Authorize.cc9c212f.png";
/***/ }),
/***/ "1bdT":
/*!*********************************************!*\
!*** ./node_modules/zrender/lib/Element.js ***!
\*********************************************/
/*! no static exports found */
/*! all exports used */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports, __webpack_require__) {
var guid = __webpack_require__(/*! ./core/guid */ "3gBT");
var Eventful = __webpack_require__(/*! ./mixin/Eventful */ "H6uX");
var Transformable = __webpack_require__(/*! ./mixin/Transformable */ "DN4a");
var Animatable = __webpack_require__(/*! ./mixin/Animatable */ "vWvF");
var zrUtil = __webpack_require__(/*! ./core/util */ "bYtY");
/**
* @alias module:zrender/Element
* @constructor
* @extends {module:zrender/mixin/Animatable}
* @extends {module:zrender/mixin/Transformable}
* @extends {module:zrender/mixin/Eventful}
*/
var Element = function (opts) {
// jshint ignore:line
Transformable.call(this, opts);
Eventful.call(this, opts);
Animatable.call(this, opts);
/**
* 画布元素ID
* @type {string}
*/
this.id = opts.id || guid();
};
Element.prototype = {
/**
* 元素类型
* Element type
* @type {string}
*/
type: 'element',
/**
* 元素名字
* Element name
* @type {string}
*/
name: '',
/**
* ZRender 实例对象,会在 element 添加到 zrender 实例中后自动赋值
* ZRender instance will be assigned when element is associated with zrender
* @name module:/zrender/Element#__zr
* @type {module:zrender/ZRender}
*/
__zr: null,
/**
* 图形是否忽略,为true时忽略图形的绘制以及事件触发
* If ignore drawing and events of the element object
* @name module:/zrender/Element#ignore
* @type {boolean}
* @default false
*/
ignore: false,
/**
* 用于裁剪的路径(shape),所有 Group 内的路径在绘制时都会被这个路径裁剪
* 该路径会继承被裁减对象的变换
* @type {module:zrender/graphic/Path}
* @see http://www.w3.org/TR/2dcontext/#clipping-region
* @readOnly
*/
clipPath: null,
/**
* 是否是 Group
* @type {boolean}
*/
isGroup: false,
/**
* Drift element
* @param {number} dx dx on the global space
* @param {number} dy dy on the global space
*/
drift: function (dx, dy) {
switch (this.draggable) {
case 'horizontal':
dy = 0;
break;
case 'vertical':
dx = 0;
break;
}
var m = this.transform;
if (!m) {
m = this.transform = [1, 0, 0, 1, 0, 0];
}
m[4] += dx;
m[5] += dy;
this.decomposeTransform();
this.dirty(false);
},
/**
* Hook before update
*/
beforeUpdate: function () {},
/**
* Hook after update
*/
afterUpdate: function () {},
/**
* Update each frame
*/
update: function () {
this.updateTransform();
},
/**
* @param {Function} cb
* @param {} context
*/
traverse: function (cb, context) {},
/**
* @protected
*/
attrKV: function (key, value) {
if (key === 'position' || key === 'scale' || key === 'origin') {
// Copy the array
if (value) {
var target = this[key];
if (!target) {
target = this[key] = [];
}
target[0] = value[0];
target[1] = value[1];
}
} else {
this[key] = value;
}
},
/**
* Hide the element
*/
hide: function () {
this.ignore = true;
this.__zr && this.__zr.refresh();
},
/**
* Show the element
*/
show: function () {
this.ignore = false;
this.__zr && this.__zr.refresh();
},
/**
* @param {string|Object} key
* @param {*} value
*/
attr: function (key, value) {
if (typeof key === 'string') {
this.attrKV(key, value);
} else if (zrUtil.isObject(key)) {
for (var name in key) {
if (key.hasOwnProperty(name)) {
this.attrKV(name, key[name]);
}
}
}
this.dirty(false);
return this;
},
/**
* @param {module:zrender/graphic/Path} clipPath
*/
setClipPath: function (clipPath) {
var zr = this.__zr;
if (zr) {
clipPath.addSelfToZr(zr);
} // Remove previous clip path
if (this.clipPath && this.clipPath !== clipPath) {
this.removeClipPath();
}
this.clipPath = clipPath;
clipPath.__zr = zr;
clipPath.__clipTarget = this;
this.dirty(false);
},
/**
*/
removeClipPath: function () {
var clipPath = this.clipPath;
if (clipPath) {
if (clipPath.__zr) {
clipPath.removeSelfFromZr(clipPath.__zr);
}
clipPath.__zr = null;
clipPath.__clipTarget = null;
this.clipPath = null;
this.dirty(false);
}
},
/**
* Add self from zrender instance.
* Not recursively because it will be invoked when element added to storage.
* @param {module:zrender/ZRender} zr
*/
addSelfToZr: function (zr) {
this.__zr = zr; // 添加动画
var animators = this.animators;
if (animators) {
for (var i = 0; i < animators.length; i++) {
zr.animation.addAnimator(animators[i]);
}
}
if (this.clipPath) {
this.clipPath.addSelfToZr(zr);
}
},
/**
* Remove self from zrender instance.
* Not recursively because it will be invoked when element added to storage.
* @param {module:zrender/ZRender} zr
*/
removeSelfFromZr: function (zr) {
this.__zr = null; // 移除动画
var animators = this.animators;
if (animators) {
for (var i = 0; i < animators.length; i++) {
zr.animation.removeAnimator(animators[i]);
}
}
if (this.clipPath) {
this.clipPath.removeSelfFromZr(zr);
}
}
};
zrUtil.mixin(Element, Animatable);
zrUtil.mixin(Element, Transformable);
zrUtil.mixin(Element, Eventful);
var _default = Element;
module.exports = _default;
/***/ }),
/***/ "1eCo":
/*!*************************************************!*\
!*** ./node_modules/codemirror/mode/xml/xml.js ***!
\*************************************************/
/*! no static exports found */
/*! all exports used */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports, __webpack_require__) {
// CodeMirror, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: https://codemirror.net/LICENSE
(function(mod) {
if (true) // CommonJS
mod(__webpack_require__(/*! ../../lib/codemirror */ "VrN/"));
else {}
})(function(CodeMirror) {
"use strict";
var htmlConfig = {
autoSelfClosers: {'area': true, 'base': true, 'br': true, 'col': true, 'command': true,
'embed': true, 'frame': true, 'hr': true, 'img': true, 'input': true,
'keygen': true, 'link': true, 'meta': true, 'param': true, 'source': true,
'track': true, 'wbr': true, 'menuitem': true},
implicitlyClosed: {'dd': true, 'li': true, 'optgroup': true, 'option': true, 'p': true,
'rp': true, 'rt': true, 'tbody': true, 'td': true, 'tfoot': true,
'th': true, 'tr': true},
contextGrabbers: {
'dd': {'dd': true, 'dt': true},
'dt': {'dd': true, 'dt': true},
'li': {'li': true},
'option': {'option': true, 'optgroup': true},
'optgroup': {'optgroup': true},
'p': {'address': true, 'article': true, 'aside': true, 'blockquote': true, 'dir': true,
'div': true, 'dl': true, 'fieldset': true, 'footer': true, 'form': true,
'h1': true, 'h2': true, 'h3': true, 'h4': true, 'h5': true, 'h6': true,
'header': true, 'hgroup': true, 'hr': true, 'menu': true, 'nav': true, 'ol': true,
'p': true, 'pre': true, 'section': true, 'table': true, 'ul': true},
'rp': {'rp': true, 'rt': true},
'rt': {'rp': true, 'rt': true},
'tbody': {'tbody': true, 'tfoot': true},
'td': {'td': true, 'th': true},
'tfoot': {'tbody': true},
'th': {'td': true, 'th': true},
'thead': {'tbody': true, 'tfoot': true},
'tr': {'tr': true}
},
doNotIndent: {"pre": true},
allowUnquoted: true,
allowMissing: true,
caseFold: true
}
var xmlConfig = {
autoSelfClosers: {},
implicitlyClosed: {},
contextGrabbers: {},
doNotIndent: {},
allowUnquoted: false,
allowMissing: false,
allowMissingTagName: false,
caseFold: false
}
CodeMirror.defineMode("xml", function(editorConf, config_) {
var indentUnit = editorConf.indentUnit
var config = {}
var defaults = config_.htmlMode ? htmlConfig : xmlConfig
for (var prop in defaults) config[prop] = defaults[prop]
for (var prop in config_) config[prop] = config_[prop]
// Return variables for tokenizers
var type, setStyle;
function inText(stream, state) {
function chain(parser) {
state.tokenize = parser;
return parser(stream, state);
}
var ch = stream.next();
if (ch == "<") {
if (stream.eat("!")) {
if (stream.eat("[")) {
if (stream.match("CDATA[")) return chain(inBlock("atom", "]]>"));
else return null;
} else if (stream.match("--")) {
return chain(inBlock("comment", "-->"));
} else if (stream.match("DOCTYPE", true, true)) {
stream.eatWhile(/[\w\._\-]/);
return chain(doctype(1));
} else {
return null;
}
} else if (stream.eat("?")) {
stream.eatWhile(/[\w\._\-]/);
state.tokenize = inBlock("meta", "?>");
return "meta";
} else {
type = stream.eat("/") ? "closeTag" : "openTag";
state.tokenize = inTag;
return "tag bracket";
}
} else if (ch == "&") {
var ok;
if (stream.eat("#")) {
if (stream.eat("x")) {
ok = stream.eatWhile(/[a-fA-F\d]/) && stream.eat(";");
} else {
ok = stream.eatWhile(/[\d]/) && stream.eat(";");
}
} else {
ok = stream.eatWhile(/[\w\.\-:]/) && stream.eat(";");
}
return ok ? "atom" : "error";
} else {
stream.eatWhile(/[^&<]/);
return null;
}
}
inText.isInText = true;
function inTag(stream, state) {
var ch = stream.next();
if (ch == ">" || (ch == "/" && stream.eat(">"))) {
state.tokenize = inText;
type = ch == ">" ? "endTag" : "selfcloseTag";
return "tag bracket";
} else if (ch == "=") {
type = "equals";
return null;
} else if (ch == "<") {
state.tokenize = inText;
state.state = baseState;
state.tagName = state.tagStart = null;
var next = state.tokenize(stream, state);
return next ? next + " tag error" : "tag error";
} else if (/[\'\"]/.test(ch)) {
state.tokenize = inAttribute(ch);
state.stringStartCol = stream.column();
return state.tokenize(stream, state);
} else {
stream.match(/^[^\s\u00a0=<>\"\']*[^\s\u00a0=<>\"\'\/]/);
return "word";
}
}
function inAttribute(quote) {
var closure = function(stream, state) {
while (!stream.eol()) {
if (stream.next() == quote) {
state.tokenize = inTag;
break;
}
}
return "string";
};
closure.isInAttribute = true;
return closure;
}
function inBlock(style, terminator) {
return function(stream, state) {
while (!stream.eol()) {
if (stream.match(terminator)) {
state.tokenize = inText;
break;
}
stream.next();
}
return style;
}
}
function doctype(depth) {
return function(stream, state) {
var ch;
while ((ch = stream.next()) != null) {
if (ch == "<") {
state.tokenize = doctype(depth + 1);
return state.tokenize(stream, state);
} else if (ch == ">") {
if (depth == 1) {
state.tokenize = inText;
break;
} else {
state.tokenize = doctype(depth - 1);
return state.tokenize(stream, state);
}
}
}
return "meta";
};
}
function Context(state, tagName, startOfLine) {
this.prev = state.context;
this.tagName = tagName;
this.indent = state.indented;
this.startOfLine = startOfLine;
if (config.doNotIndent.hasOwnProperty(tagName) || (state.context && state.context.noIndent))
this.noIndent = true;
}
function popContext(state) {
if (state.context) state.context = state.context.prev;
}
function maybePopContext(state, nextTagName) {
var parentTagName;
while (true) {
if (!state.context) {
return;
}
parentTagName = state.context.tagName;
if (!config.contextGrabbers.hasOwnProperty(parentTagName) ||
!config.contextGrabbers[parentTagName].hasOwnProperty(nextTagName)) {
return;
}
popContext(state);
}
}
function baseState(type, stream, state) {
if (type == "openTag") {
state.tagStart = stream.column();
return tagNameState;
} else if (type == "closeTag") {
return closeTagNameState;
} else {
return baseState;
}
}
function tagNameState(type, stream, state) {
if (type == "word") {
state.tagName = stream.current();
setStyle = "tag";
return attrState;
} else if (config.allowMissingTagName && type == "endTag") {
setStyle = "tag bracket";
return attrState(type, stream, state);
} else {
setStyle = "error";
return tagNameState;
}
}
function closeTagNameState(type, stream, state) {
if (type == "word") {
var tagName = stream.current();
if (state.context && state.context.tagName != tagName &&
config.implicitlyClosed.hasOwnProperty(state.context.tagName))
popContext(state);
if ((state.context && state.context.tagName == tagName) || config.matchClosing === false) {
setStyle = "tag";
return closeState;
} else {
setStyle = "tag error";
return closeStateErr;
}
} else if (config.allowMissingTagName && type == "endTag") {
setStyle = "tag bracket";
return closeState(type, stream, state);
} else {
setStyle = "error";
return closeStateErr;
}
}
function closeState(type, _stream, state) {
if (type != "endTag") {
setStyle = "error";
return closeState;
}
popContext(state);
return baseState;
}
function closeStateErr(type, stream, state) {
setStyle = "error";
return closeState(type, stream, state);
}
function attrState(type, _stream, state) {
if (type == "word") {
setStyle = "attribute";
return attrEqState;
} else if (type == "endTag" || type == "selfcloseTag") {
var tagName = state.tagName, tagStart = state.tagStart;
state.tagName = state.tagStart = null;
if (type == "selfcloseTag" ||
config.autoSelfClosers.hasOwnProperty(tagName)) {
maybePopContext(state, tagName);
} else {
maybePopContext(state, tagName);
state.context = new Context(state, tagName, tagStart == state.indented);
}
return baseState;
}
setStyle = "error";
return attrState;
}
function attrEqState(type, stream, state) {
if (type == "equals") return attrValueState;
if (!config.allowMissing) setStyle = "error";
return attrState(type, stream, state);
}
function attrValueState(type, stream, state) {
if (type == "string") return attrContinuedState;
if (type == "word" && config.allowUnquoted) {setStyle = "string"; return attrState;}
setStyle = "error";
return attrState(type, stream, state);
}
function attrContinuedState(type, stream, state) {
if (type == "string") return attrContinuedState;
return attrState(type, stream, state);
}
return {
startState: function(baseIndent) {
var state = {tokenize: inText,
state: baseState,
indented: baseIndent || 0,
tagName: null, tagStart: null,
context: null}
if (baseIndent != null) state.baseIndent = baseIndent
return state
},
token: function(stream, state) {
if (!state.tagName && stream.sol())
state.indented = stream.indentation();
if (stream.eatSpace()) return null;
type = null;
var style = state.tokenize(stream, state);
if ((style || type) && style != "comment") {
setStyle = null;
state.state = state.state(type || style, stream, state);
if (setStyle)
style = setStyle == "error" ? style + " error" : setStyle;
}
return style;
},
indent: function(state, textAfter, fullLine) {
var context = state.context;
// Indent multi-line strings (e.g. css).
if (state.tokenize.isInAttribute) {
if (state.tagStart == state.indented)
return state.stringStartCol + 1;
else
return state.indented + indentUnit;
}
if (context && context.noIndent) return CodeMirror.Pass;
if (state.tokenize != inTag && state.tokenize != inText)
return fullLine ? fullLine.match(/^(\s*)/)[0].length : 0;
// Indent the starts of attribute names.
if (state.tagName) {
if (config.multilineTagIndentPastTag !== false)
return state.tagStart + state.tagName.length + 2;
else
return state.tagStart + indentUnit * (config.multilineTagIndentFactor || 1);
}
if (config.alignCDATA && /$/,
blockCommentStart: "",
configuration: config.htmlMode ? "html" : "xml",
helperType: config.htmlMode ? "html" : "xml",
skipAttribute: function(state) {
if (state.state == attrValueState)
state.state = attrState
},
xmlCurrentTag: function(state) {
return state.tagName ? {name: state.tagName, close: state.type == "closeTag"} : null
},
xmlCurrentContext: function(state) {
var context = []
for (var cx = state.context; cx; cx = cx.prev)
if (cx.tagName) context.push(cx.tagName)
return context.reverse()
}
};
});
CodeMirror.defineMIME("text/xml", "xml");
CodeMirror.defineMIME("application/xml", "xml");
if (!CodeMirror.mimeModes.hasOwnProperty("text/html"))
CodeMirror.defineMIME("text/html", {name: "xml", htmlMode: true});
});
/***/ }),
/***/ "1j5w":
/*!*******************************************************!*\
!*** ./node_modules/rc-menu/es/index.js + 11 modules ***!
\*******************************************************/
/*! exports provided: SubMenu, Item, MenuItem, MenuItemGroup, ItemGroup, Divider, default */
/*! exports used: Divider, Item, ItemGroup, SubMenu, default */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/@babel/runtime/helpers/esm/createClass.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/@babel/runtime/helpers/esm/createSuper.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/@babel/runtime/helpers/esm/defineProperty.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/@babel/runtime/helpers/esm/extends.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/@babel/runtime/helpers/esm/inherits.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/@babel/runtime/helpers/esm/objectSpread2.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/@babel/runtime/helpers/esm/typeof.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/classnames/index.js (<- Module is not an ECMAScript module) */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/mini-store/esm/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/omit.js/es/index.js (<- Module is referenced from these modules with unsupported syntax: ./node_modules/antd/lib/button/button.js (referenced with cjs require), ./node_modules/antd/lib/input/Input.js (referenced with cjs require), ./node_modules/antd/lib/input/Password.js (referenced with cjs require), ./node_modules/antd/lib/input/TextArea.js (referenced with cjs require)) */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/rc-motion/es/index.js (<- Module is referenced from these modules with unsupported syntax: ./node_modules/antd/lib/button/LoadingIcon.js (referenced with cjs require)) */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/rc-trigger/es/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/rc-util/es/KeyCode.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/rc-util/es/createChainedFunction.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/rc-util/es/warning.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js (<- Module uses injected variables (global)) */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/shallowequal/index.js (<- Module is not an ECMAScript module) */
/*! ModuleConcatenation bailout: Cannot concat with external "window.React" (<- Module is not an ECMAScript module) */
/*! ModuleConcatenation bailout: Cannot concat with external "window.ReactDOM" (<- Module is not an ECMAScript module) */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
// EXPORTS
__webpack_require__.d(__webpack_exports__, "d", function() { return /* reexport */ es_SubMenu; });
__webpack_require__.d(__webpack_exports__, "b", function() { return /* reexport */ es_MenuItem; });
__webpack_require__.d(__webpack_exports__, "c", function() { return /* reexport */ es_MenuItemGroup; });
__webpack_require__.d(__webpack_exports__, "a", function() { return /* reexport */ es_Divider; });
// UNUSED EXPORTS: MenuItem, MenuItemGroup
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectSpread2.js
var objectSpread2 = __webpack_require__("VTBJ");
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js
var classCallCheck = __webpack_require__("1OyB");
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/createClass.js
var createClass = __webpack_require__("vuIU");
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js
var assertThisInitialized = __webpack_require__("JX7q");
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/inherits.js
var inherits = __webpack_require__("Ji7U");
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/createSuper.js + 1 modules
var createSuper = __webpack_require__("LK+K");
// EXTERNAL MODULE: external "window.React"
var external_window_React_ = __webpack_require__("cDcd");
// EXTERNAL MODULE: ./node_modules/mini-store/esm/index.js + 3 modules
var esm = __webpack_require__("I8Z2");
// EXTERNAL MODULE: ./node_modules/omit.js/es/index.js
var es = __webpack_require__("BGR+");
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
var esm_extends = __webpack_require__("wx14");
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js
var defineProperty = __webpack_require__("rePB");
// EXTERNAL MODULE: ./node_modules/rc-util/es/KeyCode.js
var KeyCode = __webpack_require__("4IlW");
// EXTERNAL MODULE: ./node_modules/rc-util/es/createChainedFunction.js
var createChainedFunction = __webpack_require__("2GS6");
// EXTERNAL MODULE: ./node_modules/shallowequal/index.js
var shallowequal = __webpack_require__("Gytx");
var shallowequal_default = /*#__PURE__*/__webpack_require__.n(shallowequal);
// EXTERNAL MODULE: ./node_modules/classnames/index.js
var classnames = __webpack_require__("TSYQ");
var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/typeof.js
var esm_typeof = __webpack_require__("U8pU");
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js + 1 modules
var slicedToArray = __webpack_require__("ODXe");
// CONCATENATED MODULE: ./node_modules/rc-menu/es/utils/isMobile.js
// MIT License from https://github.com/kaimallea/isMobile
var applePhone = /iPhone/i;
var appleIpod = /iPod/i;
var appleTablet = /iPad/i;
var androidPhone = /\bAndroid(?:.+)Mobile\b/i; // Match 'Android' AND 'Mobile'
var androidTablet = /Android/i;
var amazonPhone = /\bAndroid(?:.+)SD4930UR\b/i;
var amazonTablet = /\bAndroid(?:.+)(?:KF[A-Z]{2,4})\b/i;
var windowsPhone = /Windows Phone/i;
var windowsTablet = /\bWindows(?:.+)ARM\b/i; // Match 'Windows' AND 'ARM'
var otherBlackberry = /BlackBerry/i;
var otherBlackberry10 = /BB10/i;
var otherOpera = /Opera Mini/i;
var otherChrome = /\b(CriOS|Chrome)(?:.+)Mobile/i;
var otherFirefox = /Mobile(?:.+)Firefox\b/i; // Match 'Mobile' AND 'Firefox'
function match(regex, userAgent) {
return regex.test(userAgent);
}
function isMobile(userAgent) {
var ua = userAgent || (typeof navigator !== 'undefined' ? navigator.userAgent : ''); // Facebook mobile app's integrated browser adds a bunch of strings that
// match everything. Strip it out if it exists.
var tmp = ua.split('[FBAN');
if (typeof tmp[1] !== 'undefined') {
var _tmp = tmp;
var _tmp2 = Object(slicedToArray["a" /* default */])(_tmp, 1);
ua = _tmp2[0];
} // Twitter mobile app's integrated browser on iPad adds a "Twitter for
// iPhone" string. Same probably happens on other tablet platforms.
// This will confuse detection so strip it out if it exists.
tmp = ua.split('Twitter');
if (typeof tmp[1] !== 'undefined') {
var _tmp3 = tmp;
var _tmp4 = Object(slicedToArray["a" /* default */])(_tmp3, 1);
ua = _tmp4[0];
}
var result = {
apple: {
phone: match(applePhone, ua) && !match(windowsPhone, ua),
ipod: match(appleIpod, ua),
tablet: !match(applePhone, ua) && match(appleTablet, ua) && !match(windowsPhone, ua),
device: (match(applePhone, ua) || match(appleIpod, ua) || match(appleTablet, ua)) && !match(windowsPhone, ua)
},
amazon: {
phone: match(amazonPhone, ua),
tablet: !match(amazonPhone, ua) && match(amazonTablet, ua),
device: match(amazonPhone, ua) || match(amazonTablet, ua)
},
android: {
phone: !match(windowsPhone, ua) && match(amazonPhone, ua) || !match(windowsPhone, ua) && match(androidPhone, ua),
tablet: !match(windowsPhone, ua) && !match(amazonPhone, ua) && !match(androidPhone, ua) && (match(amazonTablet, ua) || match(androidTablet, ua)),
device: !match(windowsPhone, ua) && (match(amazonPhone, ua) || match(amazonTablet, ua) || match(androidPhone, ua) || match(androidTablet, ua)) || match(/\bokhttp\b/i, ua)
},
windows: {
phone: match(windowsPhone, ua),
tablet: match(windowsTablet, ua),
device: match(windowsPhone, ua) || match(windowsTablet, ua)
},
other: {
blackberry: match(otherBlackberry, ua),
blackberry10: match(otherBlackberry10, ua),
opera: match(otherOpera, ua),
firefox: match(otherFirefox, ua),
chrome: match(otherChrome, ua),
device: match(otherBlackberry, ua) || match(otherBlackberry10, ua) || match(otherOpera, ua) || match(otherFirefox, ua) || match(otherChrome, ua)
},
// Additional
any: null,
phone: null,
tablet: null
};
result.any = result.apple.device || result.android.device || result.windows.device || result.other.device; // excludes 'other' devices and ipods, targeting touchscreen phones
result.phone = result.apple.phone || result.android.phone || result.windows.phone;
result.tablet = result.apple.tablet || result.android.tablet || result.windows.tablet;
return result;
}
var defaultResult = Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, isMobile()), {}, {
isMobile: isMobile
});
/* harmony default export */ var utils_isMobile = (defaultResult);
// CONCATENATED MODULE: ./node_modules/rc-menu/es/util.js
function noop() {}
function getKeyFromChildrenIndex(child, menuEventKey, index) {
var prefix = menuEventKey || '';
return child.key || "".concat(prefix, "item_").concat(index);
}
function getMenuIdFromSubMenuEventKey(eventKey) {
return "".concat(eventKey, "-menu-");
}
function loopMenuItem(children, cb) {
var index = -1;
external_window_React_["Children"].forEach(children, function (c) {
index += 1;
if (c && c.type && c.type.isMenuItemGroup) {
external_window_React_["Children"].forEach(c.props.children, function (c2) {
index += 1;
cb(c2, index);
});
} else {
cb(c, index);
}
});
}
function loopMenuItemRecursively(children, keys, ret) {
/* istanbul ignore if */
if (!children || ret.find) {
return;
}
external_window_React_["Children"].forEach(children, function (c) {
if (c) {
var construct = c.type;
if (!construct || !(construct.isSubMenu || construct.isMenuItem || construct.isMenuItemGroup)) {
return;
}
if (keys.indexOf(c.key) !== -1) {
ret.find = true;
} else if (c.props.children) {
loopMenuItemRecursively(c.props.children, keys, ret);
}
}
});
}
var menuAllProps = ['defaultSelectedKeys', 'selectedKeys', 'defaultOpenKeys', 'openKeys', 'mode', 'getPopupContainer', 'onSelect', 'onDeselect', 'onDestroy', 'openTransitionName', 'openAnimation', 'subMenuOpenDelay', 'subMenuCloseDelay', 'forceSubMenuRender', 'triggerSubMenuAction', 'level', 'selectable', 'multiple', 'onOpenChange', 'visible', 'focusable', 'defaultActiveFirst', 'prefixCls', 'inlineIndent', 'parentMenu', 'title', 'rootPrefixCls', 'eventKey', 'active', 'onItemHover', 'onTitleMouseEnter', 'onTitleMouseLeave', 'onTitleClick', 'popupAlign', 'popupOffset', 'isOpen', 'renderMenuItem', 'manualRef', 'subMenuKey', 'disabled', 'index', 'isSelected', 'store', 'activeKey', 'builtinPlacements', 'overflowedIndicator', 'motion', // the following keys found need to be removed from test regression
'attribute', 'value', 'popupClassName', 'inlineCollapsed', 'menu', 'theme', 'itemIcon', 'expandIcon']; // ref: https://github.com/ant-design/ant-design/issues/14007
// ref: https://bugs.chromium.org/p/chromium/issues/detail?id=360889
// getBoundingClientRect return the full precision value, which is
// not the same behavior as on chrome. Set the precision to 6 to
// unify their behavior
var getWidth = function getWidth(elem) {
var includeMargin = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
var width = elem && typeof elem.getBoundingClientRect === 'function' && elem.getBoundingClientRect().width;
if (width) {
if (includeMargin) {
var _getComputedStyle = getComputedStyle(elem),
marginLeft = _getComputedStyle.marginLeft,
marginRight = _getComputedStyle.marginRight;
width += +marginLeft.replace('px', '') + +marginRight.replace('px', '');
}
width = +width.toFixed(6);
}
return width || 0;
};
var util_setStyle = function setStyle(elem, styleProperty, value) {
if (elem && Object(esm_typeof["a" /* default */])(elem.style) === 'object') {
elem.style[styleProperty] = value;
}
};
var util_isMobileDevice = function isMobileDevice() {
return utils_isMobile.any;
};
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js + 2 modules
var toConsumableArray = __webpack_require__("KQm4");
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js
var objectWithoutProperties = __webpack_require__("Ff2n");
// EXTERNAL MODULE: external "window.ReactDOM"
var external_window_ReactDOM_ = __webpack_require__("faye");
// EXTERNAL MODULE: ./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js
var ResizeObserver_es = __webpack_require__("bdgK");
// EXTERNAL MODULE: ./node_modules/rc-trigger/es/index.js + 5 modules
var rc_trigger_es = __webpack_require__("uciX");
// EXTERNAL MODULE: ./node_modules/rc-motion/es/index.js + 5 modules
var rc_motion_es = __webpack_require__("8XRh");
// CONCATENATED MODULE: ./node_modules/rc-menu/es/placements.js
var autoAdjustOverflow = {
adjustX: 1,
adjustY: 1
};
var placements = {
topLeft: {
points: ['bl', 'tl'],
overflow: autoAdjustOverflow,
offset: [0, -7]
},
bottomLeft: {
points: ['tl', 'bl'],
overflow: autoAdjustOverflow,
offset: [0, 7]
},
leftTop: {
points: ['tr', 'tl'],
overflow: autoAdjustOverflow,
offset: [-4, 0]
},
rightTop: {
points: ['tl', 'tr'],
overflow: autoAdjustOverflow,
offset: [4, 0]
}
};
var placementsRtl = {
topLeft: {
points: ['bl', 'tl'],
overflow: autoAdjustOverflow,
offset: [0, -7]
},
bottomLeft: {
points: ['tl', 'bl'],
overflow: autoAdjustOverflow,
offset: [0, 7]
},
rightTop: {
points: ['tr', 'tl'],
overflow: autoAdjustOverflow,
offset: [-4, 0]
},
leftTop: {
points: ['tl', 'tr'],
overflow: autoAdjustOverflow,
offset: [4, 0]
}
};
/* harmony default export */ var es_placements = (placements);
// CONCATENATED MODULE: ./node_modules/rc-menu/es/SubMenu.js
var guid = 0;
var popupPlacementMap = {
horizontal: 'bottomLeft',
vertical: 'rightTop',
'vertical-left': 'rightTop',
'vertical-right': 'leftTop'
};
var SubMenu_updateDefaultActiveFirst = function updateDefaultActiveFirst(store, eventKey, defaultActiveFirst) {
var menuId = getMenuIdFromSubMenuEventKey(eventKey);
var state = store.getState();
store.setState({
defaultActiveFirst: Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state.defaultActiveFirst), {}, Object(defineProperty["a" /* default */])({}, menuId, defaultActiveFirst))
});
};
var SubMenu_SubMenu = /*#__PURE__*/function (_React$Component) {
Object(inherits["a" /* default */])(SubMenu, _React$Component);
var _super = Object(createSuper["a" /* default */])(SubMenu);
function SubMenu(props) {
var _this;
Object(classCallCheck["a" /* default */])(this, SubMenu);
_this = _super.call(this, props);
_this.onDestroy = function (key) {
_this.props.onDestroy(key);
};
/**
* note:
* This legacy code that `onKeyDown` is called by parent instead of dom self.
* which need return code to check if this event is handled
*/
_this.onKeyDown = function (e) {
var keyCode = e.keyCode;
var menu = _this.menuInstance;
var _this$props = _this.props,
isOpen = _this$props.isOpen,
store = _this$props.store;
if (keyCode === KeyCode["a" /* default */].ENTER) {
_this.onTitleClick(e);
SubMenu_updateDefaultActiveFirst(store, _this.props.eventKey, true);
return true;
}
if (keyCode === KeyCode["a" /* default */].RIGHT) {
if (isOpen) {
menu.onKeyDown(e);
} else {
_this.triggerOpenChange(true); // need to update current menu's defaultActiveFirst value
SubMenu_updateDefaultActiveFirst(store, _this.props.eventKey, true);
}
return true;
}
if (keyCode === KeyCode["a" /* default */].LEFT) {
var handled;
if (isOpen) {
handled = menu.onKeyDown(e);
} else {
return undefined;
}
if (!handled) {
_this.triggerOpenChange(false);
handled = true;
}
return handled;
}
if (isOpen && (keyCode === KeyCode["a" /* default */].UP || keyCode === KeyCode["a" /* default */].DOWN)) {
return menu.onKeyDown(e);
}
return undefined;
};
_this.onOpenChange = function (e) {
_this.props.onOpenChange(e);
};
_this.onPopupVisibleChange = function (visible) {
_this.triggerOpenChange(visible, visible ? 'mouseenter' : 'mouseleave');
};
_this.onMouseEnter = function (e) {
var _this$props2 = _this.props,
key = _this$props2.eventKey,
onMouseEnter = _this$props2.onMouseEnter,
store = _this$props2.store;
SubMenu_updateDefaultActiveFirst(store, _this.props.eventKey, false);
onMouseEnter({
key: key,
domEvent: e
});
};
_this.onMouseLeave = function (e) {
var _this$props3 = _this.props,
parentMenu = _this$props3.parentMenu,
eventKey = _this$props3.eventKey,
onMouseLeave = _this$props3.onMouseLeave;
parentMenu.subMenuInstance = Object(assertThisInitialized["a" /* default */])(_this);
onMouseLeave({
key: eventKey,
domEvent: e
});
};
_this.onTitleMouseEnter = function (domEvent) {
var _this$props4 = _this.props,
key = _this$props4.eventKey,
onItemHover = _this$props4.onItemHover,
onTitleMouseEnter = _this$props4.onTitleMouseEnter;
onItemHover({
key: key,
hover: true
});
onTitleMouseEnter({
key: key,
domEvent: domEvent
});
};
_this.onTitleMouseLeave = function (e) {
var _this$props5 = _this.props,
parentMenu = _this$props5.parentMenu,
eventKey = _this$props5.eventKey,
onItemHover = _this$props5.onItemHover,
onTitleMouseLeave = _this$props5.onTitleMouseLeave;
parentMenu.subMenuInstance = Object(assertThisInitialized["a" /* default */])(_this);
onItemHover({
key: eventKey,
hover: false
});
onTitleMouseLeave({
key: eventKey,
domEvent: e
});
};
_this.onTitleClick = function (e) {
var _assertThisInitialize = Object(assertThisInitialized["a" /* default */])(_this),
props = _assertThisInitialize.props;
props.onTitleClick({
key: props.eventKey,
domEvent: e
});
if (props.triggerSubMenuAction === 'hover') {
return;
}
_this.triggerOpenChange(!props.isOpen, 'click');
SubMenu_updateDefaultActiveFirst(props.store, _this.props.eventKey, false);
};
_this.onSubMenuClick = function (info) {
// in the case of overflowed submenu
// onClick is not copied over
if (typeof _this.props.onClick === 'function') {
_this.props.onClick(_this.addKeyPath(info));
}
};
_this.onSelect = function (info) {
_this.props.onSelect(info);
};
_this.onDeselect = function (info) {
_this.props.onDeselect(info);
};
_this.getPrefixCls = function () {
return "".concat(_this.props.rootPrefixCls, "-submenu");
};
_this.getActiveClassName = function () {
return "".concat(_this.getPrefixCls(), "-active");
};
_this.getDisabledClassName = function () {
return "".concat(_this.getPrefixCls(), "-disabled");
};
_this.getSelectedClassName = function () {
return "".concat(_this.getPrefixCls(), "-selected");
};
_this.getOpenClassName = function () {
return "".concat(_this.props.rootPrefixCls, "-submenu-open");
};
_this.saveMenuInstance = function (c) {
// children menu instance
_this.menuInstance = c;
};
_this.addKeyPath = function (info) {
return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, info), {}, {
keyPath: (info.keyPath || []).concat(_this.props.eventKey)
});
};
_this.triggerOpenChange = function (open, type) {
var key = _this.props.eventKey;
var openChange = function openChange() {
_this.onOpenChange({
key: key,
item: Object(assertThisInitialized["a" /* default */])(_this),
trigger: type,
open: open
});
};
if (type === 'mouseenter') {
// make sure mouseenter happen after other menu item's mouseleave
_this.mouseenterTimeout = setTimeout(function () {
openChange();
}, 0);
} else {
openChange();
}
};
_this.isChildrenSelected = function () {
var ret = {
find: false
};
loopMenuItemRecursively(_this.props.children, _this.props.selectedKeys, ret);
return ret.find;
};
_this.isOpen = function () {
return _this.props.openKeys.indexOf(_this.props.eventKey) !== -1;
};
_this.adjustWidth = function () {
/* istanbul ignore if */
if (!_this.subMenuTitle || !_this.menuInstance) {
return;
}
var popupMenu = external_window_ReactDOM_["findDOMNode"](_this.menuInstance);
if (popupMenu.offsetWidth >= _this.subMenuTitle.offsetWidth) {
return;
}
/* istanbul ignore next */
popupMenu.style.minWidth = "".concat(_this.subMenuTitle.offsetWidth, "px");
};
_this.saveSubMenuTitle = function (subMenuTitle) {
_this.subMenuTitle = subMenuTitle;
};
_this.getBaseProps = function () {
var _assertThisInitialize2 = Object(assertThisInitialized["a" /* default */])(_this),
props = _assertThisInitialize2.props;
return {
mode: props.mode === 'horizontal' ? 'vertical' : props.mode,
visible: _this.props.isOpen,
level: props.level + 1,
inlineIndent: props.inlineIndent,
focusable: false,
onClick: _this.onSubMenuClick,
onSelect: _this.onSelect,
onDeselect: _this.onDeselect,
onDestroy: _this.onDestroy,
selectedKeys: props.selectedKeys,
eventKey: "".concat(props.eventKey, "-menu-"),
openKeys: props.openKeys,
motion: props.motion,
onOpenChange: _this.onOpenChange,
subMenuOpenDelay: props.subMenuOpenDelay,
parentMenu: Object(assertThisInitialized["a" /* default */])(_this),
subMenuCloseDelay: props.subMenuCloseDelay,
forceSubMenuRender: props.forceSubMenuRender,
triggerSubMenuAction: props.triggerSubMenuAction,
builtinPlacements: props.builtinPlacements,
defaultActiveFirst: props.store.getState().defaultActiveFirst[getMenuIdFromSubMenuEventKey(props.eventKey)],
multiple: props.multiple,
prefixCls: props.rootPrefixCls,
id: _this.internalMenuId,
manualRef: _this.saveMenuInstance,
itemIcon: props.itemIcon,
expandIcon: props.expandIcon,
direction: props.direction
};
};
_this.getMotion = function (mode, visible) {
var _assertThisInitialize3 = Object(assertThisInitialized["a" /* default */])(_this),
haveRendered = _assertThisInitialize3.haveRendered;
var _this$props6 = _this.props,
motion = _this$props6.motion,
rootPrefixCls = _this$props6.rootPrefixCls; // don't show transition on first rendering (no animation for opened menu)
// show appear transition if it's not visible (not sure why)
// show appear transition if it's not inline mode
var mergedMotion = Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, motion), {}, {
leavedClassName: "".concat(rootPrefixCls, "-hidden"),
removeOnLeave: false,
motionAppear: haveRendered || !visible || mode !== 'inline'
});
return mergedMotion;
};
var store = props.store,
eventKey = props.eventKey;
var _store$getState = store.getState(),
defaultActiveFirst = _store$getState.defaultActiveFirst;
_this.isRootMenu = false;
var value = false;
if (defaultActiveFirst) {
value = defaultActiveFirst[eventKey];
}
SubMenu_updateDefaultActiveFirst(store, eventKey, value);
return _this;
}
Object(createClass["a" /* default */])(SubMenu, [{
key: "componentDidMount",
value: function componentDidMount() {
this.componentDidUpdate();
}
}, {
key: "componentDidUpdate",
value: function componentDidUpdate() {
var _this2 = this;
var _this$props7 = this.props,
mode = _this$props7.mode,
parentMenu = _this$props7.parentMenu,
manualRef = _this$props7.manualRef; // invoke customized ref to expose component to mixin
if (manualRef) {
manualRef(this);
}
if (mode !== 'horizontal' || !parentMenu.isRootMenu || !this.props.isOpen) {
return;
}
this.minWidthTimeout = setTimeout(function () {
return _this2.adjustWidth();
}, 0);
}
}, {
key: "componentWillUnmount",
value: function componentWillUnmount() {
var _this$props8 = this.props,
onDestroy = _this$props8.onDestroy,
eventKey = _this$props8.eventKey;
if (onDestroy) {
onDestroy(eventKey);
}
/* istanbul ignore if */
if (this.minWidthTimeout) {
clearTimeout(this.minWidthTimeout);
}
/* istanbul ignore if */
if (this.mouseenterTimeout) {
clearTimeout(this.mouseenterTimeout);
}
}
}, {
key: "renderChildren",
value: function renderChildren(children) {
var _this3 = this;
var baseProps = this.getBaseProps(); // [Legacy] getMotion must be called before `haveRendered`
var mergedMotion = this.getMotion(baseProps.mode, baseProps.visible);
this.haveRendered = true;
this.haveOpened = this.haveOpened || baseProps.visible || baseProps.forceSubMenuRender; // never rendered not planning to, don't render
if (!this.haveOpened) {
return external_window_React_["createElement"]("div", null);
}
var direction = baseProps.direction;
return external_window_React_["createElement"](rc_motion_es["default"], Object.assign({
visible: baseProps.visible
}, mergedMotion), function (_ref) {
var className = _ref.className,
style = _ref.style;
var mergedClassName = classnames_default()("".concat(baseProps.prefixCls, "-sub"), className, Object(defineProperty["a" /* default */])({}, "".concat(baseProps.prefixCls, "-rtl"), direction === 'rtl'));
return external_window_React_["createElement"](es_SubPopupMenu, Object.assign({}, baseProps, {
id: _this3.internalMenuId,
className: mergedClassName,
style: style
}), children);
});
}
}, {
key: "render",
value: function render() {
var _classNames2;
var props = Object(objectSpread2["a" /* default */])({}, this.props);
var isOpen = props.isOpen;
var prefixCls = this.getPrefixCls();
var isInlineMode = props.mode === 'inline';
var className = classnames_default()(prefixCls, "".concat(prefixCls, "-").concat(props.mode), (_classNames2 = {}, Object(defineProperty["a" /* default */])(_classNames2, props.className, !!props.className), Object(defineProperty["a" /* default */])(_classNames2, this.getOpenClassName(), isOpen), Object(defineProperty["a" /* default */])(_classNames2, this.getActiveClassName(), props.active || isOpen && !isInlineMode), Object(defineProperty["a" /* default */])(_classNames2, this.getDisabledClassName(), props.disabled), Object(defineProperty["a" /* default */])(_classNames2, this.getSelectedClassName(), this.isChildrenSelected()), _classNames2));
if (!this.internalMenuId) {
if (props.eventKey) {
this.internalMenuId = "".concat(props.eventKey, "$Menu");
} else {
guid += 1;
this.internalMenuId = "$__$".concat(guid, "$Menu");
}
}
var mouseEvents = {};
var titleClickEvents = {};
var titleMouseEvents = {};
if (!props.disabled) {
mouseEvents = {
onMouseLeave: this.onMouseLeave,
onMouseEnter: this.onMouseEnter
}; // only works in title, not outer li
titleClickEvents = {
onClick: this.onTitleClick
};
titleMouseEvents = {
onMouseEnter: this.onTitleMouseEnter,
onMouseLeave: this.onTitleMouseLeave
};
}
var style = {};
var direction = props.direction;
if (isInlineMode) {
if (direction === 'rtl') {
style.paddingRight = props.inlineIndent * props.level;
} else {
style.paddingLeft = props.inlineIndent * props.level;
}
}
var ariaOwns = {}; // only set aria-owns when menu is open
// otherwise it would be an invalid aria-owns value
// since corresponding node cannot be found
if (this.props.isOpen) {
ariaOwns = {
'aria-owns': this.internalMenuId
};
} // expand custom icon should NOT be displayed in menu with horizontal mode.
var icon = null;
if (props.mode !== 'horizontal') {
icon = this.props.expandIcon; // ReactNode
if (typeof this.props.expandIcon === 'function') {
icon = external_window_React_["createElement"](this.props.expandIcon, Object(objectSpread2["a" /* default */])({}, this.props));
}
}
var title = external_window_React_["createElement"]("div", Object.assign({
ref: this.saveSubMenuTitle,
style: style,
className: "".concat(prefixCls, "-title"),
role: "button"
}, titleMouseEvents, titleClickEvents, {
"aria-expanded": isOpen
}, ariaOwns, {
"aria-haspopup": "true",
title: typeof props.title === 'string' ? props.title : undefined
}), props.title, icon || external_window_React_["createElement"]("i", {
className: "".concat(prefixCls, "-arrow")
}));
var children = this.renderChildren(props.children);
var getPopupContainer = props.parentMenu.isRootMenu ? props.parentMenu.props.getPopupContainer : function (triggerNode) {
return triggerNode.parentNode;
};
var popupPlacement = popupPlacementMap[props.mode];
var popupAlign = props.popupOffset ? {
offset: props.popupOffset
} : {};
var popupClassName = props.mode === 'inline' ? '' : props.popupClassName;
popupClassName += direction === 'rtl' ? " ".concat(prefixCls, "-rtl") : '';
var disabled = props.disabled,
triggerSubMenuAction = props.triggerSubMenuAction,
subMenuOpenDelay = props.subMenuOpenDelay,
forceSubMenuRender = props.forceSubMenuRender,
subMenuCloseDelay = props.subMenuCloseDelay,
builtinPlacements = props.builtinPlacements;
menuAllProps.forEach(function (key) {
return delete props[key];
}); // Set onClick to null, to ignore propagated onClick event
delete props.onClick;
var placement = direction === 'rtl' ? Object.assign({}, placementsRtl, builtinPlacements) : Object.assign({}, placements, builtinPlacements);
delete props.direction;
return external_window_React_["createElement"]("li", Object.assign({}, props, mouseEvents, {
className: className,
role: "menuitem"
}), isInlineMode && title, isInlineMode && children, !isInlineMode && external_window_React_["createElement"](rc_trigger_es["a" /* default */], {
prefixCls: prefixCls,
popupClassName: classnames_default()("".concat(prefixCls, "-popup"), popupClassName),
getPopupContainer: getPopupContainer,
builtinPlacements: placement,
popupPlacement: popupPlacement,
popupVisible: isOpen,
popupAlign: popupAlign,
popup: children,
action: disabled ? [] : [triggerSubMenuAction],
mouseEnterDelay: subMenuOpenDelay,
mouseLeaveDelay: subMenuCloseDelay,
onPopupVisibleChange: this.onPopupVisibleChange,
forceRender: forceSubMenuRender
}, title));
}
}]);
return SubMenu;
}(external_window_React_["Component"]);
SubMenu_SubMenu.defaultProps = {
onMouseEnter: noop,
onMouseLeave: noop,
onTitleMouseEnter: noop,
onTitleMouseLeave: noop,
onTitleClick: noop,
manualRef: noop,
mode: 'vertical',
title: ''
};
var connected = Object(esm["b" /* connect */])(function (_ref2, _ref3) {
var openKeys = _ref2.openKeys,
activeKey = _ref2.activeKey,
selectedKeys = _ref2.selectedKeys;
var eventKey = _ref3.eventKey,
subMenuKey = _ref3.subMenuKey;
return {
isOpen: openKeys.indexOf(eventKey) > -1,
active: activeKey[subMenuKey] === eventKey,
selectedKeys: selectedKeys
};
})(SubMenu_SubMenu);
connected.isSubMenu = true;
/* harmony default export */ var es_SubMenu = (connected);
// CONCATENATED MODULE: ./node_modules/rc-menu/es/DOMWrap.js
var MENUITEM_OVERFLOWED_CLASSNAME = 'menuitem-overflowed';
var FLOAT_PRECISION_ADJUST = 0.5;
var DOMWrap_DOMWrap = /*#__PURE__*/function (_React$Component) {
Object(inherits["a" /* default */])(DOMWrap, _React$Component);
var _super = Object(createSuper["a" /* default */])(DOMWrap);
function DOMWrap() {
var _this;
Object(classCallCheck["a" /* default */])(this, DOMWrap);
_this = _super.apply(this, arguments);
_this.resizeObserver = null;
_this.mutationObserver = null; // original scroll size of the list
_this.originalTotalWidth = 0; // copy of overflowed items
_this.overflowedItems = []; // cache item of the original items (so we can track the size and order)
_this.menuItemSizes = [];
_this.cancelFrameId = null;
_this.state = {
lastVisibleIndex: undefined
}; // get all valid menuItem nodes
_this.getMenuItemNodes = function () {
var prefixCls = _this.props.prefixCls;
var ul = external_window_ReactDOM_["findDOMNode"](Object(assertThisInitialized["a" /* default */])(_this));
if (!ul) {
return [];
} // filter out all overflowed indicator placeholder
return [].slice.call(ul.children).filter(function (node) {
return node.className.split(' ').indexOf("".concat(prefixCls, "-overflowed-submenu")) < 0;
});
};
_this.getOverflowedSubMenuItem = function (keyPrefix, overflowedItems, renderPlaceholder) {
var _this$props = _this.props,
overflowedIndicator = _this$props.overflowedIndicator,
level = _this$props.level,
mode = _this$props.mode,
prefixCls = _this$props.prefixCls,
theme = _this$props.theme;
if (level !== 1 || mode !== 'horizontal') {
return null;
} // put all the overflowed item inside a submenu
// with a title of overflow indicator ('...')
var copy = _this.props.children[0];
var _copy$props = copy.props,
throwAway = _copy$props.children,
title = _copy$props.title,
propStyle = _copy$props.style,
rest = Object(objectWithoutProperties["a" /* default */])(_copy$props, ["children", "title", "style"]);
var style = Object(objectSpread2["a" /* default */])({}, propStyle);
var key = "".concat(keyPrefix, "-overflowed-indicator");
var eventKey = "".concat(keyPrefix, "-overflowed-indicator");
if (overflowedItems.length === 0 && renderPlaceholder !== true) {
style = Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, style), {}, {
display: 'none'
});
} else if (renderPlaceholder) {
style = Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, style), {}, {
visibility: 'hidden',
// prevent from taking normal dom space
position: 'absolute'
});
key = "".concat(key, "-placeholder");
eventKey = "".concat(eventKey, "-placeholder");
}
var popupClassName = theme ? "".concat(prefixCls, "-").concat(theme) : '';
var props = {};
menuAllProps.forEach(function (k) {
if (rest[k] !== undefined) {
props[k] = rest[k];
}
});
return external_window_React_["createElement"](es_SubMenu, Object.assign({
title: overflowedIndicator,
className: "".concat(prefixCls, "-overflowed-submenu"),
popupClassName: popupClassName
}, props, {
key: key,
eventKey: eventKey,
disabled: false,
style: style
}), overflowedItems);
}; // memorize rendered menuSize
_this.setChildrenWidthAndResize = function () {
if (_this.props.mode !== 'horizontal') {
return;
}
var ul = external_window_ReactDOM_["findDOMNode"](Object(assertThisInitialized["a" /* default */])(_this));
if (!ul) {
return;
}
var ulChildrenNodes = ul.children;
if (!ulChildrenNodes || ulChildrenNodes.length === 0) {
return;
}
var lastOverflowedIndicatorPlaceholder = ul.children[ulChildrenNodes.length - 1]; // need last overflowed indicator for calculating length;
util_setStyle(lastOverflowedIndicatorPlaceholder, 'display', 'inline-block');
var menuItemNodes = _this.getMenuItemNodes(); // reset display attribute for all hidden elements caused by overflow to calculate updated width
// and then reset to original state after width calculation
var overflowedItems = menuItemNodes.filter(function (c) {
return c.className.split(' ').indexOf(MENUITEM_OVERFLOWED_CLASSNAME) >= 0;
});
overflowedItems.forEach(function (c) {
util_setStyle(c, 'display', 'inline-block');
});
_this.menuItemSizes = menuItemNodes.map(function (c) {
return getWidth(c, true);
});
overflowedItems.forEach(function (c) {
util_setStyle(c, 'display', 'none');
});
_this.overflowedIndicatorWidth = getWidth(ul.children[ul.children.length - 1], true);
_this.originalTotalWidth = _this.menuItemSizes.reduce(function (acc, cur) {
return acc + cur;
}, 0);
_this.handleResize(); // prevent the overflowed indicator from taking space;
util_setStyle(lastOverflowedIndicatorPlaceholder, 'display', 'none');
};
_this.handleResize = function () {
if (_this.props.mode !== 'horizontal') {
return;
}
var ul = external_window_ReactDOM_["findDOMNode"](Object(assertThisInitialized["a" /* default */])(_this));
if (!ul) {
return;
}
var width = getWidth(ul);
_this.overflowedItems = [];
var currentSumWidth = 0; // index for last visible child in horizontal mode
var lastVisibleIndex; // float number comparison could be problematic
// e.g. 0.1 + 0.2 > 0.3 =====> true
// thus using FLOAT_PRECISION_ADJUST as buffer to help the situation
if (_this.originalTotalWidth > width + FLOAT_PRECISION_ADJUST) {
lastVisibleIndex = -1;
_this.menuItemSizes.forEach(function (liWidth) {
currentSumWidth += liWidth;
if (currentSumWidth + _this.overflowedIndicatorWidth <= width) {
lastVisibleIndex += 1;
}
});
}
_this.setState({
lastVisibleIndex: lastVisibleIndex
});
};
return _this;
}
Object(createClass["a" /* default */])(DOMWrap, [{
key: "componentDidMount",
value: function componentDidMount() {
var _this2 = this;
this.setChildrenWidthAndResize();
if (this.props.level === 1 && this.props.mode === 'horizontal') {
var menuUl = external_window_ReactDOM_["findDOMNode"](this);
if (!menuUl) {
return;
}
this.resizeObserver = new ResizeObserver_es["default"](function (entries) {
entries.forEach(function () {
var cancelFrameId = _this2.cancelFrameId;
cancelAnimationFrame(cancelFrameId);
_this2.cancelFrameId = requestAnimationFrame(_this2.setChildrenWidthAndResize);
});
});
[].slice.call(menuUl.children).concat(menuUl).forEach(function (el) {
_this2.resizeObserver.observe(el);
});
if (typeof MutationObserver !== 'undefined') {
this.mutationObserver = new MutationObserver(function () {
_this2.resizeObserver.disconnect();
[].slice.call(menuUl.children).concat(menuUl).forEach(function (el) {
_this2.resizeObserver.observe(el);
});
_this2.setChildrenWidthAndResize();
});
this.mutationObserver.observe(menuUl, {
attributes: false,
childList: true,
subTree: false
});
}
}
}
}, {
key: "componentWillUnmount",
value: function componentWillUnmount() {
if (this.resizeObserver) {
this.resizeObserver.disconnect();
}
if (this.mutationObserver) {
this.mutationObserver.disconnect();
}
cancelAnimationFrame(this.cancelFrameId);
}
}, {
key: "renderChildren",
value: function renderChildren(children) {
var _this3 = this;
// need to take care of overflowed items in horizontal mode
var lastVisibleIndex = this.state.lastVisibleIndex;
return (children || []).reduce(function (acc, childNode, index) {
var item = childNode;
if (_this3.props.mode === 'horizontal') {
var overflowed = _this3.getOverflowedSubMenuItem(childNode.props.eventKey, []);
if (lastVisibleIndex !== undefined && _this3.props.className.indexOf("".concat(_this3.props.prefixCls, "-root")) !== -1) {
if (index > lastVisibleIndex) {
item = external_window_React_["cloneElement"](childNode, // 这里修改 eventKey 是为了防止隐藏状态下还会触发 openkeys 事件
{
style: {
display: 'none'
},
eventKey: "".concat(childNode.props.eventKey, "-hidden"),
/**
* Legacy code. Here `className` never used:
* https://github.com/react-component/menu/commit/4cd6b49fce9d116726f4ea00dda85325d6f26500#diff-e2fa48f75c2dd2318295cde428556a76R240
*/
className: "".concat(MENUITEM_OVERFLOWED_CLASSNAME)
});
}
if (index === lastVisibleIndex + 1) {
_this3.overflowedItems = children.slice(lastVisibleIndex + 1).map(function (c) {
return external_window_React_["cloneElement"](c, // children[index].key will become '.$key' in clone by default,
// we have to overwrite with the correct key explicitly
{
key: c.props.eventKey,
mode: 'vertical-left'
});
});
overflowed = _this3.getOverflowedSubMenuItem(childNode.props.eventKey, _this3.overflowedItems);
}
}
var ret = [].concat(Object(toConsumableArray["a" /* default */])(acc), [overflowed, item]);
if (index === children.length - 1) {
// need a placeholder for calculating overflowed indicator width
ret.push(_this3.getOverflowedSubMenuItem(childNode.props.eventKey, [], true));
}
return ret;
}
return [].concat(Object(toConsumableArray["a" /* default */])(acc), [item]);
}, []);
}
}, {
key: "render",
value: function render() {
var _this$props2 = this.props,
visible = _this$props2.visible,
prefixCls = _this$props2.prefixCls,
overflowedIndicator = _this$props2.overflowedIndicator,
mode = _this$props2.mode,
level = _this$props2.level,
tag = _this$props2.tag,
children = _this$props2.children,
theme = _this$props2.theme,
rest = Object(objectWithoutProperties["a" /* default */])(_this$props2, ["visible", "prefixCls", "overflowedIndicator", "mode", "level", "tag", "children", "theme"]);
var Tag = tag;
return external_window_React_["createElement"](Tag, Object.assign({}, rest), this.renderChildren(children));
}
}]);
return DOMWrap;
}(external_window_React_["Component"]);
DOMWrap_DOMWrap.defaultProps = {
tag: 'div',
className: ''
};
/* harmony default export */ var es_DOMWrap = (DOMWrap_DOMWrap);
// CONCATENATED MODULE: ./node_modules/rc-menu/es/SubPopupMenu.js
function allDisabled(arr) {
if (!arr.length) {
return true;
}
return arr.every(function (c) {
return !!c.props.disabled;
});
}
function updateActiveKey(store, menuId, activeKey) {
var state = store.getState();
store.setState({
activeKey: Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state.activeKey), {}, Object(defineProperty["a" /* default */])({}, menuId, activeKey))
});
}
function getEventKey(props) {
// when eventKey not available ,it's menu and return menu id '0-menu-'
return props.eventKey || '0-menu-';
}
function getActiveKey(props, originalActiveKey) {
var activeKey = originalActiveKey;
var children = props.children,
eventKey = props.eventKey;
if (activeKey) {
var found;
loopMenuItem(children, function (c, i) {
if (c && c.props && !c.props.disabled && activeKey === getKeyFromChildrenIndex(c, eventKey, i)) {
found = true;
}
});
if (found) {
return activeKey;
}
}
activeKey = null;
if (props.defaultActiveFirst) {
loopMenuItem(children, function (c, i) {
if (!activeKey && c && !c.props.disabled) {
activeKey = getKeyFromChildrenIndex(c, eventKey, i);
}
});
return activeKey;
}
return activeKey;
}
function saveRef(c) {
if (c) {
var index = this.instanceArray.indexOf(c);
if (index !== -1) {
// update component if it's already inside instanceArray
this.instanceArray[index] = c;
} else {
// add component if it's not in instanceArray yet;
this.instanceArray.push(c);
}
}
}
var SubPopupMenu_SubPopupMenu = /*#__PURE__*/function (_React$Component) {
Object(inherits["a" /* default */])(SubPopupMenu, _React$Component);
var _super = Object(createSuper["a" /* default */])(SubPopupMenu);
function SubPopupMenu(props) {
var _this;
Object(classCallCheck["a" /* default */])(this, SubPopupMenu);
_this = _super.call(this, props);
/**
* all keyboard events callbacks run from here at first
*
* note:
* This legacy code that `onKeyDown` is called by parent instead of dom self.
* which need return code to check if this event is handled
*/
_this.onKeyDown = function (e, callback) {
var keyCode = e.keyCode;
var handled;
_this.getFlatInstanceArray().forEach(function (obj) {
if (obj && obj.props.active && obj.onKeyDown) {
handled = obj.onKeyDown(e);
}
});
if (handled) {
return 1;
}
var activeItem = null;
if (keyCode === KeyCode["a" /* default */].UP || keyCode === KeyCode["a" /* default */].DOWN) {
activeItem = _this.step(keyCode === KeyCode["a" /* default */].UP ? -1 : 1);
}
if (activeItem) {
e.preventDefault();
updateActiveKey(_this.props.store, getEventKey(_this.props), activeItem.props.eventKey);
if (typeof callback === 'function') {
callback(activeItem);
}
return 1;
}
return undefined;
};
_this.onItemHover = function (e) {
var key = e.key,
hover = e.hover;
updateActiveKey(_this.props.store, getEventKey(_this.props), hover ? key : null);
};
_this.onDeselect = function (selectInfo) {
_this.props.onDeselect(selectInfo);
};
_this.onSelect = function (selectInfo) {
_this.props.onSelect(selectInfo);
};
_this.onClick = function (e) {
_this.props.onClick(e);
};
_this.onOpenChange = function (e) {
_this.props.onOpenChange(e);
};
_this.onDestroy = function (key) {
/* istanbul ignore next */
_this.props.onDestroy(key);
};
_this.getFlatInstanceArray = function () {
return _this.instanceArray;
};
_this.step = function (direction) {
var children = _this.getFlatInstanceArray();
var activeKey = _this.props.store.getState().activeKey[getEventKey(_this.props)];
var len = children.length;
if (!len) {
return null;
}
if (direction < 0) {
children = children.concat().reverse();
} // find current activeIndex
var activeIndex = -1;
children.every(function (c, ci) {
if (c && c.props.eventKey === activeKey) {
activeIndex = ci;
return false;
}
return true;
});
if (!_this.props.defaultActiveFirst && activeIndex !== -1 && allDisabled(children.slice(activeIndex, len - 1))) {
return undefined;
}
var start = (activeIndex + 1) % len;
var i = start;
do {
var child = children[i];
if (!child || child.props.disabled) {
i = (i + 1) % len;
} else {
return child;
}
} while (i !== start);
return null;
};
_this.renderCommonMenuItem = function (child, i, extraProps) {
var state = _this.props.store.getState();
var _assertThisInitialize = Object(assertThisInitialized["a" /* default */])(_this),
props = _assertThisInitialize.props;
var key = getKeyFromChildrenIndex(child, props.eventKey, i);
var childProps = child.props; // https://github.com/ant-design/ant-design/issues/11517#issuecomment-477403055
if (!childProps || typeof child.type === 'string') {
return child;
}
var isActive = key === state.activeKey;
var newChildProps = Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({
mode: childProps.mode || props.mode,
level: props.level,
inlineIndent: props.inlineIndent,
renderMenuItem: _this.renderMenuItem,
rootPrefixCls: props.prefixCls,
index: i,
parentMenu: props.parentMenu,
// customized ref function, need to be invoked manually in child's componentDidMount
manualRef: childProps.disabled ? undefined : Object(createChainedFunction["a" /* default */])(child.ref, saveRef.bind(Object(assertThisInitialized["a" /* default */])(_this))),
eventKey: key,
active: !childProps.disabled && isActive,
multiple: props.multiple,
onClick: function onClick(e) {
(childProps.onClick || noop)(e);
_this.onClick(e);
},
onItemHover: _this.onItemHover,
motion: props.motion,
subMenuOpenDelay: props.subMenuOpenDelay,
subMenuCloseDelay: props.subMenuCloseDelay,
forceSubMenuRender: props.forceSubMenuRender,
onOpenChange: _this.onOpenChange,
onDeselect: _this.onDeselect,
onSelect: _this.onSelect,
builtinPlacements: props.builtinPlacements,
itemIcon: childProps.itemIcon || _this.props.itemIcon,
expandIcon: childProps.expandIcon || _this.props.expandIcon
}, extraProps), {}, {
direction: props.direction
}); // ref: https://github.com/ant-design/ant-design/issues/13943
if (props.mode === 'inline' || util_isMobileDevice()) {
newChildProps.triggerSubMenuAction = 'click';
}
return external_window_React_["cloneElement"](child, newChildProps);
};
_this.renderMenuItem = function (c, i, subMenuKey) {
/* istanbul ignore if */
if (!c) {
return null;
}
var state = _this.props.store.getState();
var extraProps = {
openKeys: state.openKeys,
selectedKeys: state.selectedKeys,
triggerSubMenuAction: _this.props.triggerSubMenuAction,
subMenuKey: subMenuKey
};
return _this.renderCommonMenuItem(c, i, extraProps);
};
props.store.setState({
activeKey: Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, props.store.getState().activeKey), {}, Object(defineProperty["a" /* default */])({}, props.eventKey, getActiveKey(props, props.activeKey)))
});
_this.instanceArray = [];
return _this;
}
Object(createClass["a" /* default */])(SubPopupMenu, [{
key: "componentDidMount",
value: function componentDidMount() {
// invoke customized ref to expose component to mixin
if (this.props.manualRef) {
this.props.manualRef(this);
}
}
}, {
key: "shouldComponentUpdate",
value: function shouldComponentUpdate(nextProps) {
return this.props.visible || nextProps.visible || this.props.className !== nextProps.className || !shallowequal_default()(this.props.style, nextProps.style);
}
}, {
key: "componentDidUpdate",
value: function componentDidUpdate(prevProps) {
var props = this.props;
var originalActiveKey = 'activeKey' in props ? props.activeKey : props.store.getState().activeKey[getEventKey(props)];
var activeKey = getActiveKey(props, originalActiveKey);
if (activeKey !== originalActiveKey) {
updateActiveKey(props.store, getEventKey(props), activeKey);
} else if ('activeKey' in prevProps) {
// If prev activeKey is not same as current activeKey,
// we should set it.
var prevActiveKey = getActiveKey(prevProps, prevProps.activeKey);
if (activeKey !== prevActiveKey) {
updateActiveKey(props.store, getEventKey(props), activeKey);
}
}
}
}, {
key: "render",
value: function render() {
var _this2 = this;
var props = Object(esm_extends["a" /* default */])({}, this.props);
this.instanceArray = [];
var className = classnames_default()(props.prefixCls, props.className, "".concat(props.prefixCls, "-").concat(props.mode));
var domProps = {
className: className,
// role could be 'select' and by default set to menu
role: props.role || 'menu'
};
if (props.id) {
domProps.id = props.id;
}
if (props.focusable) {
domProps.tabIndex = 0;
domProps.onKeyDown = this.onKeyDown;
}
var prefixCls = props.prefixCls,
eventKey = props.eventKey,
visible = props.visible,
level = props.level,
mode = props.mode,
overflowedIndicator = props.overflowedIndicator,
theme = props.theme;
menuAllProps.forEach(function (key) {
return delete props[key];
}); // Otherwise, the propagated click event will trigger another onClick
delete props.onClick;
return external_window_React_["createElement"](es_DOMWrap, Object.assign({}, props, {
prefixCls: prefixCls,
mode: mode,
tag: "ul",
level: level,
theme: theme,
visible: visible,
overflowedIndicator: overflowedIndicator
}, domProps), external_window_React_["Children"].map(props.children, function (c, i) {
return _this2.renderMenuItem(c, i, eventKey || '0-menu-');
}));
}
}]);
return SubPopupMenu;
}(external_window_React_["Component"]);
SubPopupMenu_SubPopupMenu.defaultProps = {
prefixCls: 'rc-menu',
className: '',
mode: 'vertical',
level: 1,
inlineIndent: 24,
visible: true,
focusable: true,
style: {},
manualRef: noop
};
var SubPopupMenu_connected = Object(esm["b" /* connect */])()(SubPopupMenu_SubPopupMenu);
/* harmony default export */ var es_SubPopupMenu = (SubPopupMenu_connected);
// EXTERNAL MODULE: ./node_modules/rc-util/es/warning.js
var warning = __webpack_require__("Kwbf");
// CONCATENATED MODULE: ./node_modules/rc-menu/es/utils/legacyUtil.js
function getMotion(_ref, _ref2, menuMode) {
var prefixCls = _ref.prefixCls,
motion = _ref.motion,
_ref$defaultMotions = _ref.defaultMotions,
defaultMotions = _ref$defaultMotions === void 0 ? {} : _ref$defaultMotions,
openAnimation = _ref.openAnimation,
openTransitionName = _ref.openTransitionName;
var switchingModeFromInline = _ref2.switchingModeFromInline;
if (motion) {
return motion;
}
if (Object(esm_typeof["a" /* default */])(openAnimation) === 'object' && openAnimation) {
Object(warning["a" /* default */])(false, 'Object type of `openAnimation` is removed. Please use `motion` instead.');
} else if (typeof openAnimation === 'string') {
return {
motionName: "".concat(prefixCls, "-open-").concat(openAnimation)
};
}
if (openTransitionName) {
return {
motionName: openTransitionName
};
} // Default logic
var defaultMotion = defaultMotions[menuMode];
if (defaultMotion) {
return defaultMotion;
} // When mode switch from inline
// submenu should hide without animation
return switchingModeFromInline ? null : defaultMotions.other;
}
// CONCATENATED MODULE: ./node_modules/rc-menu/es/Menu.js
var Menu_Menu = /*#__PURE__*/function (_React$Component) {
Object(inherits["a" /* default */])(Menu, _React$Component);
var _super = Object(createSuper["a" /* default */])(Menu);
function Menu(props) {
var _this;
Object(classCallCheck["a" /* default */])(this, Menu);
_this = _super.call(this, props);
_this.inlineOpenKeys = [];
_this.onSelect = function (selectInfo) {
var _assertThisInitialize = Object(assertThisInitialized["a" /* default */])(_this),
props = _assertThisInitialize.props;
if (props.selectable) {
// root menu
var _this$store$getState = _this.store.getState(),
_selectedKeys = _this$store$getState.selectedKeys;
var selectedKey = selectInfo.key;
if (props.multiple) {
_selectedKeys = _selectedKeys.concat([selectedKey]);
} else {
_selectedKeys = [selectedKey];
}
if (!('selectedKeys' in props)) {
_this.store.setState({
selectedKeys: _selectedKeys
});
}
props.onSelect(Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, selectInfo), {}, {
selectedKeys: _selectedKeys
}));
}
};
_this.onClick = function (e) {
var mode = _this.getRealMenuMode();
var _assertThisInitialize2 = Object(assertThisInitialized["a" /* default */])(_this),
store = _assertThisInitialize2.store,
onOpenChange = _assertThisInitialize2.props.onOpenChange;
if (mode !== 'inline' && !('openKeys' in _this.props)) {
// closing vertical popup submenu after click it
store.setState({
openKeys: []
});
onOpenChange([]);
}
_this.props.onClick(e);
}; // onKeyDown needs to be exposed as a instance method
// e.g., in rc-select, we need to navigate menu item while
// current active item is rc-select input box rather than the menu itself
_this.onKeyDown = function (e, callback) {
_this.innerMenu.getWrappedInstance().onKeyDown(e, callback);
};
_this.onOpenChange = function (event) {
var _assertThisInitialize3 = Object(assertThisInitialized["a" /* default */])(_this),
props = _assertThisInitialize3.props;
var openKeys = _this.store.getState().openKeys.concat();
var changed = false;
var processSingle = function processSingle(e) {
var oneChanged = false;
if (e.open) {
oneChanged = openKeys.indexOf(e.key) === -1;
if (oneChanged) {
openKeys.push(e.key);
}
} else {
var index = openKeys.indexOf(e.key);
oneChanged = index !== -1;
if (oneChanged) {
openKeys.splice(index, 1);
}
}
changed = changed || oneChanged;
};
if (Array.isArray(event)) {
// batch change call
event.forEach(processSingle);
} else {
processSingle(event);
}
if (changed) {
if (!('openKeys' in _this.props)) {
_this.store.setState({
openKeys: openKeys
});
}
props.onOpenChange(openKeys);
}
};
_this.onDeselect = function (selectInfo) {
var _assertThisInitialize4 = Object(assertThisInitialized["a" /* default */])(_this),
props = _assertThisInitialize4.props;
if (props.selectable) {
var _selectedKeys2 = _this.store.getState().selectedKeys.concat();
var selectedKey = selectInfo.key;
var index = _selectedKeys2.indexOf(selectedKey);
if (index !== -1) {
_selectedKeys2.splice(index, 1);
}
if (!('selectedKeys' in props)) {
_this.store.setState({
selectedKeys: _selectedKeys2
});
}
props.onDeselect(Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, selectInfo), {}, {
selectedKeys: _selectedKeys2
}));
}
}; // Restore vertical mode when menu is collapsed responsively when mounted
// https://github.com/ant-design/ant-design/issues/13104
// TODO: not a perfect solution,
// looking a new way to avoid setting switchingModeFromInline in this situation
_this.onMouseEnter = function (e) {
_this.restoreModeVerticalFromInline();
var onMouseEnter = _this.props.onMouseEnter;
if (onMouseEnter) {
onMouseEnter(e);
}
};
_this.onTransitionEnd = function (e) {
// when inlineCollapsed menu width animation finished
// https://github.com/ant-design/ant-design/issues/12864
var widthCollapsed = e.propertyName === 'width' && e.target === e.currentTarget; // Fix SVGElement e.target.className.indexOf is not a function
// https://github.com/ant-design/ant-design/issues/15699
var className = e.target.className; // SVGAnimatedString.animVal should be identical to SVGAnimatedString.baseVal,
// unless during an animation.
var classNameValue = Object.prototype.toString.call(className) === '[object SVGAnimatedString]' ? className.animVal : className; // Fix for ,
// the width transition won't trigger when menu is collapsed
// https://github.com/ant-design/ant-design-pro/issues/2783
var iconScaled = e.propertyName === 'font-size' && classNameValue.indexOf('anticon') >= 0;
if (widthCollapsed || iconScaled) {
_this.restoreModeVerticalFromInline();
}
};
_this.setInnerMenu = function (node) {
_this.innerMenu = node;
};
_this.isRootMenu = true;
var selectedKeys = props.defaultSelectedKeys;
var openKeys = props.defaultOpenKeys;
if ('selectedKeys' in props) {
selectedKeys = props.selectedKeys || [];
}
if ('openKeys' in props) {
openKeys = props.openKeys || [];
}
_this.store = Object(esm["c" /* create */])({
selectedKeys: selectedKeys,
openKeys: openKeys,
activeKey: {
'0-menu-': getActiveKey(props, props.activeKey)
}
});
_this.state = {
switchingModeFromInline: false
};
return _this;
}
Object(createClass["a" /* default */])(Menu, [{
key: "componentDidMount",
value: function componentDidMount() {
this.updateMiniStore();
this.updateMenuDisplay();
}
}, {
key: "componentDidUpdate",
value: function componentDidUpdate(prevProps) {
this.updateOpentKeysWhenSwitchMode(prevProps);
this.updateMiniStore();
var _this$props = this.props,
siderCollapsed = _this$props.siderCollapsed,
inlineCollapsed = _this$props.inlineCollapsed,
onOpenChange = _this$props.onOpenChange;
if (!prevProps.inlineCollapsed && inlineCollapsed || !prevProps.siderCollapsed && siderCollapsed) {
onOpenChange([]);
}
this.updateMenuDisplay();
}
}, {
key: "updateOpentKeysWhenSwitchMode",
value: function updateOpentKeysWhenSwitchMode(prevProps) {
var nextProps = this.props,
store = this.store,
inlineOpenKeys = this.inlineOpenKeys;
var prevState = store.getState();
var newState = {};
if (prevProps.mode === 'inline' && nextProps.mode !== 'inline') {
this.setState({
switchingModeFromInline: true
});
}
if (!('openKeys' in nextProps)) {
// [Legacy] Old code will return after `openKeys` changed.
// Not sure the reason, we should keep this logic still.
if (nextProps.inlineCollapsed && !prevProps.inlineCollapsed || nextProps.siderCollapsed && !prevProps.siderCollapsed) {
this.setState({
switchingModeFromInline: true
});
this.inlineOpenKeys = prevState.openKeys.concat();
newState.openKeys = [];
}
if (!nextProps.inlineCollapsed && prevProps.inlineCollapsed || !nextProps.siderCollapsed && prevProps.siderCollapsed) {
newState.openKeys = inlineOpenKeys;
this.inlineOpenKeys = [];
}
}
if (Object.keys(newState).length) {
store.setState(newState);
}
}
}, {
key: "updateMenuDisplay",
value: function updateMenuDisplay() {
var collapsedWidth = this.props.collapsedWidth,
store = this.store,
prevOpenKeys = this.prevOpenKeys; // https://github.com/ant-design/ant-design/issues/8587
var hideMenu = this.getInlineCollapsed() && (collapsedWidth === 0 || collapsedWidth === '0' || collapsedWidth === '0px');
if (hideMenu) {
this.prevOpenKeys = store.getState().openKeys.concat();
this.store.setState({
openKeys: []
});
} else if (prevOpenKeys) {
this.store.setState({
openKeys: prevOpenKeys
});
this.prevOpenKeys = null;
}
}
}, {
key: "getRealMenuMode",
value: function getRealMenuMode() {
var mode = this.props.mode;
var switchingModeFromInline = this.state.switchingModeFromInline;
var inlineCollapsed = this.getInlineCollapsed();
if (switchingModeFromInline && inlineCollapsed) {
return 'inline';
}
return inlineCollapsed ? 'vertical' : mode;
}
}, {
key: "getInlineCollapsed",
value: function getInlineCollapsed() {
var _this$props2 = this.props,
inlineCollapsed = _this$props2.inlineCollapsed,
siderCollapsed = _this$props2.siderCollapsed;
if (siderCollapsed !== undefined) {
return siderCollapsed;
}
return inlineCollapsed;
}
}, {
key: "restoreModeVerticalFromInline",
value: function restoreModeVerticalFromInline() {
var switchingModeFromInline = this.state.switchingModeFromInline;
if (switchingModeFromInline) {
this.setState({
switchingModeFromInline: false
});
}
}
}, {
key: "updateMiniStore",
value: function updateMiniStore() {
if ('selectedKeys' in this.props) {
this.store.setState({
selectedKeys: this.props.selectedKeys || []
});
}
if ('openKeys' in this.props) {
this.store.setState({
openKeys: this.props.openKeys || []
});
}
}
}, {
key: "render",
value: function render() {
var props = Object(objectSpread2["a" /* default */])({}, Object(es["default"])(this.props, ['collapsedWidth', 'siderCollapsed', 'defaultMotions']));
var mode = this.getRealMenuMode();
props.className += " ".concat(props.prefixCls, "-root");
if (props.direction === 'rtl') {
props.className += " ".concat(props.prefixCls, "-rtl");
}
props = Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, props), {}, {
mode: mode,
onClick: this.onClick,
onOpenChange: this.onOpenChange,
onDeselect: this.onDeselect,
onSelect: this.onSelect,
onMouseEnter: this.onMouseEnter,
onTransitionEnd: this.onTransitionEnd,
parentMenu: this,
motion: getMotion(this.props, this.state, mode)
});
delete props.openAnimation;
delete props.openTransitionName;
return external_window_React_["createElement"](esm["a" /* Provider */], {
store: this.store
}, external_window_React_["createElement"](es_SubPopupMenu, Object.assign({}, props, {
ref: this.setInnerMenu
}), this.props.children));
}
}]);
return Menu;
}(external_window_React_["Component"]);
Menu_Menu.defaultProps = {
selectable: true,
onClick: noop,
onSelect: noop,
onOpenChange: noop,
onDeselect: noop,
defaultSelectedKeys: [],
defaultOpenKeys: [],
subMenuOpenDelay: 0.1,
subMenuCloseDelay: 0.1,
triggerSubMenuAction: 'hover',
prefixCls: 'rc-menu',
className: '',
mode: 'vertical',
style: {},
builtinPlacements: {},
overflowedIndicator: external_window_React_["createElement"]("span", null, "\xB7\xB7\xB7")
};
/* harmony default export */ var es_Menu = (Menu_Menu);
// CONCATENATED MODULE: ./node_modules/rc-menu/es/MenuItem.js
var MenuItem_MenuItem = /*#__PURE__*/function (_React$Component) {
Object(inherits["a" /* default */])(MenuItem, _React$Component);
var _super = Object(createSuper["a" /* default */])(MenuItem);
function MenuItem() {
var _this;
Object(classCallCheck["a" /* default */])(this, MenuItem);
_this = _super.apply(this, arguments);
_this.onKeyDown = function (e) {
var keyCode = e.keyCode;
if (keyCode === KeyCode["a" /* default */].ENTER) {
_this.onClick(e);
return true;
}
return undefined;
};
_this.onMouseLeave = function (e) {
var _this$props = _this.props,
eventKey = _this$props.eventKey,
onItemHover = _this$props.onItemHover,
onMouseLeave = _this$props.onMouseLeave;
onItemHover({
key: eventKey,
hover: false
});
onMouseLeave({
key: eventKey,
domEvent: e
});
};
_this.onMouseEnter = function (e) {
var _this$props2 = _this.props,
eventKey = _this$props2.eventKey,
onItemHover = _this$props2.onItemHover,
onMouseEnter = _this$props2.onMouseEnter;
onItemHover({
key: eventKey,
hover: true
});
onMouseEnter({
key: eventKey,
domEvent: e
});
};
_this.onClick = function (e) {
var _this$props3 = _this.props,
eventKey = _this$props3.eventKey,
multiple = _this$props3.multiple,
onClick = _this$props3.onClick,
onSelect = _this$props3.onSelect,
onDeselect = _this$props3.onDeselect,
isSelected = _this$props3.isSelected;
var info = {
key: eventKey,
keyPath: [eventKey],
item: Object(assertThisInitialized["a" /* default */])(_this),
domEvent: e
};
onClick(info);
if (multiple) {
if (isSelected) {
onDeselect(info);
} else {
onSelect(info);
}
} else if (!isSelected) {
onSelect(info);
}
};
_this.saveNode = function (node) {
_this.node = node;
};
return _this;
}
Object(createClass["a" /* default */])(MenuItem, [{
key: "componentDidMount",
value: function componentDidMount() {
// invoke customized ref to expose component to mixin
this.callRef();
}
}, {
key: "componentDidUpdate",
value: function componentDidUpdate() {
this.callRef();
}
}, {
key: "componentWillUnmount",
value: function componentWillUnmount() {
var props = this.props;
if (props.onDestroy) {
props.onDestroy(props.eventKey);
}
}
}, {
key: "getPrefixCls",
value: function getPrefixCls() {
return "".concat(this.props.rootPrefixCls, "-item");
}
}, {
key: "getActiveClassName",
value: function getActiveClassName() {
return "".concat(this.getPrefixCls(), "-active");
}
}, {
key: "getSelectedClassName",
value: function getSelectedClassName() {
return "".concat(this.getPrefixCls(), "-selected");
}
}, {
key: "getDisabledClassName",
value: function getDisabledClassName() {
return "".concat(this.getPrefixCls(), "-disabled");
}
}, {
key: "callRef",
value: function callRef() {
if (this.props.manualRef) {
this.props.manualRef(this);
}
}
}, {
key: "render",
value: function render() {
var _classNames;
var props = Object(objectSpread2["a" /* default */])({}, this.props);
var className = classnames_default()(this.getPrefixCls(), props.className, (_classNames = {}, Object(defineProperty["a" /* default */])(_classNames, this.getActiveClassName(), !props.disabled && props.active), Object(defineProperty["a" /* default */])(_classNames, this.getSelectedClassName(), props.isSelected), Object(defineProperty["a" /* default */])(_classNames, this.getDisabledClassName(), props.disabled), _classNames));
var attrs = Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, props.attribute), {}, {
title: typeof props.title === 'string' ? props.title : undefined,
className: className,
// set to menuitem by default
role: props.role || 'menuitem',
'aria-disabled': props.disabled
});
if (props.role === 'option') {
// overwrite to option
attrs = Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, attrs), {}, {
role: 'option',
'aria-selected': props.isSelected
});
} else if (props.role === null || props.role === 'none') {
// sometimes we want to specify role inside element
// Link would be a good example
// in this case the role on should be "none" to
// remove the implied listitem role.
// https://www.w3.org/TR/wai-aria-practices-1.1/examples/menubar/menubar-1/menubar-1.html
attrs.role = 'none';
} // In case that onClick/onMouseLeave/onMouseEnter is passed down from owner
var mouseEvent = {
onClick: props.disabled ? null : this.onClick,
onMouseLeave: props.disabled ? null : this.onMouseLeave,
onMouseEnter: props.disabled ? null : this.onMouseEnter
};
var style = Object(objectSpread2["a" /* default */])({}, props.style);
if (props.mode === 'inline') {
if (props.direction === 'rtl') {
style.paddingRight = props.inlineIndent * props.level;
} else {
style.paddingLeft = props.inlineIndent * props.level;
}
}
menuAllProps.forEach(function (key) {
return delete props[key];
});
delete props.direction;
var icon = this.props.itemIcon;
if (typeof this.props.itemIcon === 'function') {
// TODO: This is a bug which should fixed after TS refactor
icon = external_window_React_["createElement"](this.props.itemIcon, this.props);
}
return external_window_React_["createElement"]("li", Object.assign({}, Object(es["default"])(props, ['onClick', 'onMouseEnter', 'onMouseLeave', 'onSelect']), attrs, mouseEvent, {
style: style,
ref: this.saveNode
}), props.children, icon);
}
}]);
return MenuItem;
}(external_window_React_["Component"]);
MenuItem_MenuItem.isMenuItem = true;
MenuItem_MenuItem.defaultProps = {
onSelect: noop,
onMouseEnter: noop,
onMouseLeave: noop,
manualRef: noop
};
var MenuItem_connected = Object(esm["b" /* connect */])(function (_ref, _ref2) {
var activeKey = _ref.activeKey,
selectedKeys = _ref.selectedKeys;
var eventKey = _ref2.eventKey,
subMenuKey = _ref2.subMenuKey;
return {
active: activeKey[subMenuKey] === eventKey,
isSelected: selectedKeys.indexOf(eventKey) !== -1
};
})(MenuItem_MenuItem);
/* harmony default export */ var es_MenuItem = (MenuItem_connected);
// CONCATENATED MODULE: ./node_modules/rc-menu/es/MenuItemGroup.js
var MenuItemGroup_MenuItemGroup = /*#__PURE__*/function (_React$Component) {
Object(inherits["a" /* default */])(MenuItemGroup, _React$Component);
var _super = Object(createSuper["a" /* default */])(MenuItemGroup);
function MenuItemGroup() {
var _this;
Object(classCallCheck["a" /* default */])(this, MenuItemGroup);
_this = _super.apply(this, arguments);
_this.renderInnerMenuItem = function (item) {
var _this$props = _this.props,
renderMenuItem = _this$props.renderMenuItem,
index = _this$props.index;
return renderMenuItem(item, index, _this.props.subMenuKey);
};
return _this;
}
Object(createClass["a" /* default */])(MenuItemGroup, [{
key: "render",
value: function render() {
var props = Object(esm_extends["a" /* default */])({}, this.props);
var _props$className = props.className,
className = _props$className === void 0 ? '' : _props$className,
rootPrefixCls = props.rootPrefixCls;
var titleClassName = "".concat(rootPrefixCls, "-item-group-title");
var listClassName = "".concat(rootPrefixCls, "-item-group-list");
var title = props.title,
children = props.children;
menuAllProps.forEach(function (key) {
return delete props[key];
}); // Set onClick to null, to ignore propagated onClick event
delete props.onClick;
delete props.direction;
return external_window_React_["createElement"]("li", Object.assign({}, props, {
className: "".concat(className, " ").concat(rootPrefixCls, "-item-group")
}), external_window_React_["createElement"]("div", {
className: titleClassName,
title: typeof title === 'string' ? title : undefined
}, title), external_window_React_["createElement"]("ul", {
className: listClassName
}, external_window_React_["Children"].map(children, this.renderInnerMenuItem)));
}
}]);
return MenuItemGroup;
}(external_window_React_["Component"]);
MenuItemGroup_MenuItemGroup.isMenuItemGroup = true;
MenuItemGroup_MenuItemGroup.defaultProps = {
disabled: true
};
/* harmony default export */ var es_MenuItemGroup = (MenuItemGroup_MenuItemGroup);
// CONCATENATED MODULE: ./node_modules/rc-menu/es/Divider.js
var Divider_Divider = function Divider(_ref) {
var className = _ref.className,
rootPrefixCls = _ref.rootPrefixCls,
style = _ref.style;
return external_window_React_["createElement"]("li", {
className: "".concat(className, " ").concat(rootPrefixCls, "-item-divider"),
style: style
});
};
Divider_Divider.defaultProps = {
// To fix keyboard UX.
disabled: true,
className: '',
style: {}
};
/* harmony default export */ var es_Divider = (Divider_Divider);
// CONCATENATED MODULE: ./node_modules/rc-menu/es/index.js
/* harmony default export */ var rc_menu_es = __webpack_exports__["e"] = (es_Menu);
/***/ }),
/***/ "24YM":
/*!**************************************************!*\
!*** ./node_modules/size-sensor/lib/constant.js ***!
\**************************************************/
/*! no static exports found */
/*! all exports used */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.SensorTabIndex = exports.SensorClassName = exports.SizeSensorId = void 0;
/**
* Created by hustcc on 18/6/9.
* Contract: i@hust.cc
*/
var SizeSensorId = 'size-sensor-id';
exports.SizeSensorId = SizeSensorId;
var SensorClassName = 'size-sensor-object';
exports.SensorClassName = SensorClassName;
var SensorTabIndex = '-1';
exports.SensorTabIndex = SensorTabIndex;
/***/ }),
/***/ "2DNl":
/*!**************************************************!*\
!*** ./node_modules/zrender/lib/contain/path.js ***!
\**************************************************/
/*! no static exports found */
/*! all exports used */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports, __webpack_require__) {
var PathProxy = __webpack_require__(/*! ../core/PathProxy */ "IMiH");
var line = __webpack_require__(/*! ./line */ "loD1");
var cubic = __webpack_require__(/*! ./cubic */ "59Ip");
var quadratic = __webpack_require__(/*! ./quadratic */ "aKvl");
var arc = __webpack_require__(/*! ./arc */ "n1HI");
var _util = __webpack_require__(/*! ./util */ "hX1E");
var normalizeRadian = _util.normalizeRadian;
var curve = __webpack_require__(/*! ../core/curve */ "Sj9i");
var windingLine = __webpack_require__(/*! ./windingLine */ "hyiK");
var CMD = PathProxy.CMD;
var PI2 = Math.PI * 2;
var EPSILON = 1e-4;
function isAroundEqual(a, b) {
return Math.abs(a - b) < EPSILON;
} // 临时数组
var roots = [-1, -1, -1];
var extrema = [-1, -1];
function swapExtrema() {
var tmp = extrema[0];
extrema[0] = extrema[1];
extrema[1] = tmp;
}
function windingCubic(x0, y0, x1, y1, x2, y2, x3, y3, x, y) {
// Quick reject
if (y > y0 && y > y1 && y > y2 && y > y3 || y < y0 && y < y1 && y < y2 && y < y3) {
return 0;
}
var nRoots = curve.cubicRootAt(y0, y1, y2, y3, y, roots);
if (nRoots === 0) {
return 0;
} else {
var w = 0;
var nExtrema = -1;
var y0_;
var y1_;
for (var i = 0; i < nRoots; i++) {
var t = roots[i]; // Avoid winding error when intersection point is the connect point of two line of polygon
var unit = t === 0 || t === 1 ? 0.5 : 1;
var x_ = curve.cubicAt(x0, x1, x2, x3, t);
if (x_ < x) {
// Quick reject
continue;
}
if (nExtrema < 0) {
nExtrema = curve.cubicExtrema(y0, y1, y2, y3, extrema);
if (extrema[1] < extrema[0] && nExtrema > 1) {
swapExtrema();
}
y0_ = curve.cubicAt(y0, y1, y2, y3, extrema[0]);
if (nExtrema > 1) {
y1_ = curve.cubicAt(y0, y1, y2, y3, extrema[1]);
}
}
if (nExtrema === 2) {
// 分成三段单调函数
if (t < extrema[0]) {
w += y0_ < y0 ? unit : -unit;
} else if (t < extrema[1]) {
w += y1_ < y0_ ? unit : -unit;
} else {
w += y3 < y1_ ? unit : -unit;
}
} else {
// 分成两段单调函数
if (t < extrema[0]) {
w += y0_ < y0 ? unit : -unit;
} else {
w += y3 < y0_ ? unit : -unit;
}
}
}
return w;
}
}
function windingQuadratic(x0, y0, x1, y1, x2, y2, x, y) {
// Quick reject
if (y > y0 && y > y1 && y > y2 || y < y0 && y < y1 && y < y2) {
return 0;
}
var nRoots = curve.quadraticRootAt(y0, y1, y2, y, roots);
if (nRoots === 0) {
return 0;
} else {
var t = curve.quadraticExtremum(y0, y1, y2);
if (t >= 0 && t <= 1) {
var w = 0;
var y_ = curve.quadraticAt(y0, y1, y2, t);
for (var i = 0; i < nRoots; i++) {
// Remove one endpoint.
var unit = roots[i] === 0 || roots[i] === 1 ? 0.5 : 1;
var x_ = curve.quadraticAt(x0, x1, x2, roots[i]);
if (x_ < x) {
// Quick reject
continue;
}
if (roots[i] < t) {
w += y_ < y0 ? unit : -unit;
} else {
w += y2 < y_ ? unit : -unit;
}
}
return w;
} else {
// Remove one endpoint.
var unit = roots[0] === 0 || roots[0] === 1 ? 0.5 : 1;
var x_ = curve.quadraticAt(x0, x1, x2, roots[0]);
if (x_ < x) {
// Quick reject
return 0;
}
return y2 < y0 ? unit : -unit;
}
}
} // TODO
// Arc 旋转
function windingArc(cx, cy, r, startAngle, endAngle, anticlockwise, x, y) {
y -= cy;
if (y > r || y < -r) {
return 0;
}
var tmp = Math.sqrt(r * r - y * y);
roots[0] = -tmp;
roots[1] = tmp;
var diff = Math.abs(startAngle - endAngle);
if (diff < 1e-4) {
return 0;
}
if (diff % PI2 < 1e-4) {
// Is a circle
startAngle = 0;
endAngle = PI2;
var dir = anticlockwise ? 1 : -1;
if (x >= roots[0] + cx && x <= roots[1] + cx) {
return dir;
} else {
return 0;
}
}
if (anticlockwise) {
var tmp = startAngle;
startAngle = normalizeRadian(endAngle);
endAngle = normalizeRadian(tmp);
} else {
startAngle = normalizeRadian(startAngle);
endAngle = normalizeRadian(endAngle);
}
if (startAngle > endAngle) {
endAngle += PI2;
}
var w = 0;
for (var i = 0; i < 2; i++) {
var x_ = roots[i];
if (x_ + cx > x) {
var angle = Math.atan2(y, x_);
var dir = anticlockwise ? 1 : -1;
if (angle < 0) {
angle = PI2 + angle;
}
if (angle >= startAngle && angle <= endAngle || angle + PI2 >= startAngle && angle + PI2 <= endAngle) {
if (angle > Math.PI / 2 && angle < Math.PI * 1.5) {
dir = -dir;
}
w += dir;
}
}
}
return w;
}
function containPath(data, lineWidth, isStroke, x, y) {
var w = 0;
var xi = 0;
var yi = 0;
var x0 = 0;
var y0 = 0;
for (var i = 0; i < data.length;) {
var cmd = data[i++]; // Begin a new subpath
if (cmd === CMD.M && i > 1) {
// Close previous subpath
if (!isStroke) {
w += windingLine(xi, yi, x0, y0, x, y);
} // 如果被任何一个 subpath 包含
// if (w !== 0) {
// return true;
// }
}
if (i === 1) {
// 如果第一个命令是 L, C, Q
// 则 previous point 同绘制命令的第一个 point
//
// 第一个命令为 Arc 的情况下会在后面特殊处理
xi = data[i];
yi = data[i + 1];
x0 = xi;
y0 = yi;
}
switch (cmd) {
case CMD.M:
// moveTo 命令重新创建一个新的 subpath, 并且更新新的起点
// 在 closePath 的时候使用
x0 = data[i++];
y0 = data[i++];
xi = x0;
yi = y0;
break;
case CMD.L:
if (isStroke) {
if (line.containStroke(xi, yi, data[i], data[i + 1], lineWidth, x, y)) {
return true;
}
} else {
// NOTE 在第一个命令为 L, C, Q 的时候会计算出 NaN
w += windingLine(xi, yi, data[i], data[i + 1], x, y) || 0;
}
xi = data[i++];
yi = data[i++];
break;
case CMD.C:
if (isStroke) {
if (cubic.containStroke(xi, yi, data[i++], data[i++], data[i++], data[i++], data[i], data[i + 1], lineWidth, x, y)) {
return true;
}
} else {
w += windingCubic(xi, yi, data[i++], data[i++], data[i++], data[i++], data[i], data[i + 1], x, y) || 0;
}
xi = data[i++];
yi = data[i++];
break;
case CMD.Q:
if (isStroke) {
if (quadratic.containStroke(xi, yi, data[i++], data[i++], data[i], data[i + 1], lineWidth, x, y)) {
return true;
}
} else {
w += windingQuadratic(xi, yi, data[i++], data[i++], data[i], data[i + 1], x, y) || 0;
}
xi = data[i++];
yi = data[i++];
break;
case CMD.A:
// TODO Arc 判断的开销比较大
var cx = data[i++];
var cy = data[i++];
var rx = data[i++];
var ry = data[i++];
var theta = data[i++];
var dTheta = data[i++]; // TODO Arc 旋转
i += 1;
var anticlockwise = 1 - data[i++];
var x1 = Math.cos(theta) * rx + cx;
var y1 = Math.sin(theta) * ry + cy; // 不是直接使用 arc 命令
if (i > 1) {
w += windingLine(xi, yi, x1, y1, x, y);
} else {
// 第一个命令起点还未定义
x0 = x1;
y0 = y1;
} // zr 使用scale来模拟椭圆, 这里也对x做一定的缩放
var _x = (x - cx) * ry / rx + cx;
if (isStroke) {
if (arc.containStroke(cx, cy, ry, theta, theta + dTheta, anticlockwise, lineWidth, _x, y)) {
return true;
}
} else {
w += windingArc(cx, cy, ry, theta, theta + dTheta, anticlockwise, _x, y);
}
xi = Math.cos(theta + dTheta) * rx + cx;
yi = Math.sin(theta + dTheta) * ry + cy;
break;
case CMD.R:
x0 = xi = data[i++];
y0 = yi = data[i++];
var width = data[i++];
var height = data[i++];
var x1 = x0 + width;
var y1 = y0 + height;
if (isStroke) {
if (line.containStroke(x0, y0, x1, y0, lineWidth, x, y) || line.containStroke(x1, y0, x1, y1, lineWidth, x, y) || line.containStroke(x1, y1, x0, y1, lineWidth, x, y) || line.containStroke(x0, y1, x0, y0, lineWidth, x, y)) {
return true;
}
} else {
// FIXME Clockwise ?
w += windingLine(x1, y0, x1, y1, x, y);
w += windingLine(x0, y1, x0, y0, x, y);
}
break;
case CMD.Z:
if (isStroke) {
if (line.containStroke(xi, yi, x0, y0, lineWidth, x, y)) {
return true;
}
} else {
// Close a subpath
w += windingLine(xi, yi, x0, y0, x, y); // 如果被任何一个 subpath 包含
// FIXME subpaths may overlap
// if (w !== 0) {
// return true;
// }
}
xi = x0;
yi = y0;
break;
}
}
if (!isStroke && !isAroundEqual(yi, y0)) {
w += windingLine(xi, yi, x0, y0, x, y) || 0;
}
return w !== 0;
}
function contain(pathData, x, y) {
return containPath(pathData, 0, false, x, y);
}
function containStroke(pathData, lineWidth, x, y) {
return containPath(pathData, lineWidth, true, x, y);
}
exports.contain = contain;
exports.containStroke = containStroke;
/***/ }),
/***/ "2fw6":
/*!**********************************************************!*\
!*** ./node_modules/zrender/lib/graphic/shape/Circle.js ***!
\**********************************************************/
/*! no static exports found */
/*! all exports used */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports, __webpack_require__) {
var Path = __webpack_require__(/*! ../Path */ "y+Vt");
/**
* 圆形
* @module zrender/shape/Circle
*/
var _default = Path.extend({
type: 'circle',
shape: {
cx: 0,
cy: 0,
r: 0
},
buildPath: function (ctx, shape, inBundle) {
// Better stroking in ShapeBundle
// Always do it may have performence issue ( fill may be 2x more cost)
if (inBundle) {
ctx.moveTo(shape.cx + shape.r, shape.cy);
} // else {
// if (ctx.allocate && !ctx.data.length) {
// ctx.allocate(ctx.CMD_MEM_SIZE.A);
// }
// }
// Better stroking in ShapeBundle
// ctx.moveTo(shape.cx + shape.r, shape.cy);
ctx.arc(shape.cx, shape.cy, shape.r, 0, Math.PI * 2, true);
}
});
module.exports = _default;
/***/ }),
/***/ "3C/r":
/*!*****************************************************!*\
!*** ./node_modules/zrender/lib/graphic/Pattern.js ***!
\*****************************************************/
/*! no static exports found */
/*! all exports used */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports) {
var Pattern = function (image, repeat) {
// Should do nothing more in this constructor. Because gradient can be
// declard by `color: {image: ...}`, where this constructor will not be called.
this.image = image;
this.repeat = repeat; // Can be cloned
this.type = 'pattern';
};
Pattern.prototype.getCanvasPattern = function (ctx) {
return ctx.createPattern(this.image, this.repeat || 'repeat');
};
var _default = Pattern;
module.exports = _default;
/***/ }),
/***/ "3CBa":
/*!*************************************************!*\
!*** ./node_modules/zrender/lib/svg/Painter.js ***!
\*************************************************/
/*! no static exports found */
/*! all exports used */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports, __webpack_require__) {
var _core = __webpack_require__(/*! ./core */ "hydK");
var createElement = _core.createElement;
var util = __webpack_require__(/*! ../core/util */ "bYtY");
var logError = __webpack_require__(/*! ../core/log */ "SUKs");
var Path = __webpack_require__(/*! ../graphic/Path */ "y+Vt");
var ZImage = __webpack_require__(/*! ../graphic/Image */ "Dagg");
var ZText = __webpack_require__(/*! ../graphic/Text */ "dqUG");
var arrayDiff = __webpack_require__(/*! ../core/arrayDiff2 */ "DBLp");
var GradientManager = __webpack_require__(/*! ./helper/GradientManager */ "sW+o");
var ClippathManager = __webpack_require__(/*! ./helper/ClippathManager */ "n6Mw");
var ShadowManager = __webpack_require__(/*! ./helper/ShadowManager */ "vKoX");
var _graphic = __webpack_require__(/*! ./graphic */ "P47w");
var svgPath = _graphic.path;
var svgImage = _graphic.image;
var svgText = _graphic.text;
/**
* SVG Painter
* @module zrender/svg/Painter
*/
function parseInt10(val) {
return parseInt(val, 10);
}
function getSvgProxy(el) {
if (el instanceof Path) {
return svgPath;
} else if (el instanceof ZImage) {
return svgImage;
} else if (el instanceof ZText) {
return svgText;
} else {
return svgPath;
}
}
function checkParentAvailable(parent, child) {
return child && parent && child.parentNode !== parent;
}
function insertAfter(parent, child, prevSibling) {
if (checkParentAvailable(parent, child) && prevSibling) {
var nextSibling = prevSibling.nextSibling;
nextSibling ? parent.insertBefore(child, nextSibling) : parent.appendChild(child);
}
}
function prepend(parent, child) {
if (checkParentAvailable(parent, child)) {
var firstChild = parent.firstChild;
firstChild ? parent.insertBefore(child, firstChild) : parent.appendChild(child);
}
} // function append(parent, child) {
// if (checkParentAvailable(parent, child)) {
// parent.appendChild(child);
// }
// }
function remove(parent, child) {
if (child && parent && child.parentNode === parent) {
parent.removeChild(child);
}
}
function getTextSvgElement(displayable) {
return displayable.__textSvgEl;
}
function getSvgElement(displayable) {
return displayable.__svgEl;
}
/**
* @alias module:zrender/svg/Painter
* @constructor
* @param {HTMLElement} root 绘图容器
* @param {module:zrender/Storage} storage
* @param {Object} opts
*/
var SVGPainter = function (root, storage, opts, zrId) {
this.root = root;
this.storage = storage;
this._opts = opts = util.extend({}, opts || {});
var svgDom = createElement('svg');
svgDom.setAttribute('xmlns', 'http://www.w3.org/2000/svg');
svgDom.setAttribute('version', '1.1');
svgDom.setAttribute('baseProfile', 'full');
svgDom.style.cssText = 'user-select:none;position:absolute;left:0;top:0;';
var bgRoot = createElement('g');
svgDom.appendChild(bgRoot);
var svgRoot = createElement('g');
svgDom.appendChild(svgRoot);
this.gradientManager = new GradientManager(zrId, svgRoot);
this.clipPathManager = new ClippathManager(zrId, svgRoot);
this.shadowManager = new ShadowManager(zrId, svgRoot);
var viewport = document.createElement('div');
viewport.style.cssText = 'overflow:hidden;position:relative';
this._svgDom = svgDom;
this._svgRoot = svgRoot;
this._backgroundRoot = bgRoot;
this._viewport = viewport;
root.appendChild(viewport);
viewport.appendChild(svgDom);
this.resize(opts.width, opts.height);
this._visibleList = [];
};
SVGPainter.prototype = {
constructor: SVGPainter,
getType: function () {
return 'svg';
},
getViewportRoot: function () {
return this._viewport;
},
getSvgDom: function () {
return this._svgDom;
},
getSvgRoot: function () {
return this._svgRoot;
},
getViewportRootOffset: function () {
var viewportRoot = this.getViewportRoot();
if (viewportRoot) {
return {
offsetLeft: viewportRoot.offsetLeft || 0,
offsetTop: viewportRoot.offsetTop || 0
};
}
},
refresh: function () {
var list = this.storage.getDisplayList(true);
this._paintList(list);
},
setBackgroundColor: function (backgroundColor) {
// TODO gradient
// Insert a bg rect instead of setting background to viewport.
// Otherwise, the exported SVG don't have background.
if (this._backgroundRoot && this._backgroundNode) {
this._backgroundRoot.removeChild(this._backgroundNode);
}
var bgNode = createElement('rect');
bgNode.setAttribute('width', this.getWidth());
bgNode.setAttribute('height', this.getHeight());
bgNode.setAttribute('x', 0);
bgNode.setAttribute('y', 0);
bgNode.setAttribute('id', 0);
bgNode.style.fill = backgroundColor;
this._backgroundRoot.appendChild(bgNode);
this._backgroundNode = bgNode;
},
_paintList: function (list) {
this.gradientManager.markAllUnused();
this.clipPathManager.markAllUnused();
this.shadowManager.markAllUnused();
var svgRoot = this._svgRoot;
var visibleList = this._visibleList;
var listLen = list.length;
var newVisibleList = [];
var i;
for (i = 0; i < listLen; i++) {
var displayable = list[i];
var svgProxy = getSvgProxy(displayable);
var svgElement = getSvgElement(displayable) || getTextSvgElement(displayable);
if (!displayable.invisible) {
if (displayable.__dirty) {
svgProxy && svgProxy.brush(displayable); // Update clipPath
this.clipPathManager.update(displayable); // Update gradient and shadow
if (displayable.style) {
this.gradientManager.update(displayable.style.fill);
this.gradientManager.update(displayable.style.stroke);
this.shadowManager.update(svgElement, displayable);
}
displayable.__dirty = false;
}
newVisibleList.push(displayable);
}
}
var diff = arrayDiff(visibleList, newVisibleList);
var prevSvgElement; // First do remove, in case element moved to the head and do remove
// after add
for (i = 0; i < diff.length; i++) {
var item = diff[i];
if (item.removed) {
for (var k = 0; k < item.count; k++) {
var displayable = visibleList[item.indices[k]];
var svgElement = getSvgElement(displayable);
var textSvgElement = getTextSvgElement(displayable);
remove(svgRoot, svgElement);
remove(svgRoot, textSvgElement);
}
}
}
for (i = 0; i < diff.length; i++) {
var item = diff[i];
if (item.added) {
for (var k = 0; k < item.count; k++) {
var displayable = newVisibleList[item.indices[k]];
var svgElement = getSvgElement(displayable);
var textSvgElement = getTextSvgElement(displayable);
prevSvgElement ? insertAfter(svgRoot, svgElement, prevSvgElement) : prepend(svgRoot, svgElement);
if (svgElement) {
insertAfter(svgRoot, textSvgElement, svgElement);
} else if (prevSvgElement) {
insertAfter(svgRoot, textSvgElement, prevSvgElement);
} else {
prepend(svgRoot, textSvgElement);
} // Insert text
insertAfter(svgRoot, textSvgElement, svgElement);
prevSvgElement = textSvgElement || svgElement || prevSvgElement; // zrender.Text only create textSvgElement.
this.gradientManager.addWithoutUpdate(svgElement || textSvgElement, displayable);
this.shadowManager.addWithoutUpdate(svgElement || textSvgElement, displayable);
this.clipPathManager.markUsed(displayable);
}
} else if (!item.removed) {
for (var k = 0; k < item.count; k++) {
var displayable = newVisibleList[item.indices[k]];
var svgElement = getSvgElement(displayable);
var textSvgElement = getTextSvgElement(displayable);
var svgElement = getSvgElement(displayable);
var textSvgElement = getTextSvgElement(displayable);
this.gradientManager.markUsed(displayable);
this.gradientManager.addWithoutUpdate(svgElement || textSvgElement, displayable);
this.shadowManager.markUsed(displayable);
this.shadowManager.addWithoutUpdate(svgElement || textSvgElement, displayable);
this.clipPathManager.markUsed(displayable);
if (textSvgElement) {
// Insert text.
insertAfter(svgRoot, textSvgElement, svgElement);
}
prevSvgElement = svgElement || textSvgElement || prevSvgElement;
}
}
}
this.gradientManager.removeUnused();
this.clipPathManager.removeUnused();
this.shadowManager.removeUnused();
this._visibleList = newVisibleList;
},
_getDefs: function (isForceCreating) {
var svgRoot = this._svgDom;
var defs = svgRoot.getElementsByTagName('defs');
if (defs.length === 0) {
// Not exist
if (isForceCreating) {
var defs = svgRoot.insertBefore(createElement('defs'), // Create new tag
svgRoot.firstChild // Insert in the front of svg
);
if (!defs.contains) {
// IE doesn't support contains method
defs.contains = function (el) {
var children = defs.children;
if (!children) {
return false;
}
for (var i = children.length - 1; i >= 0; --i) {
if (children[i] === el) {
return true;
}
}
return false;
};
}
return defs;
} else {
return null;
}
} else {
return defs[0];
}
},
resize: function (width, height) {
var viewport = this._viewport; // FIXME Why ?
viewport.style.display = 'none'; // Save input w/h
var opts = this._opts;
width != null && (opts.width = width);
height != null && (opts.height = height);
width = this._getSize(0);
height = this._getSize(1);
viewport.style.display = '';
if (this._width !== width || this._height !== height) {
this._width = width;
this._height = height;
var viewportStyle = viewport.style;
viewportStyle.width = width + 'px';
viewportStyle.height = height + 'px';
var svgRoot = this._svgDom; // Set width by 'svgRoot.width = width' is invalid
svgRoot.setAttribute('width', width);
svgRoot.setAttribute('height', height);
}
if (this._backgroundNode) {
this._backgroundNode.setAttribute('width', width);
this._backgroundNode.setAttribute('height', height);
}
},
/**
* 获取绘图区域宽度
*/
getWidth: function () {
return this._width;
},
/**
* 获取绘图区域高度
*/
getHeight: function () {
return this._height;
},
_getSize: function (whIdx) {
var opts = this._opts;
var wh = ['width', 'height'][whIdx];
var cwh = ['clientWidth', 'clientHeight'][whIdx];
var plt = ['paddingLeft', 'paddingTop'][whIdx];
var prb = ['paddingRight', 'paddingBottom'][whIdx];
if (opts[wh] != null && opts[wh] !== 'auto') {
return parseFloat(opts[wh]);
}
var root = this.root; // IE8 does not support getComputedStyle, but it use VML.
var stl = document.defaultView.getComputedStyle(root);
return (root[cwh] || parseInt10(stl[wh]) || parseInt10(root.style[wh])) - (parseInt10(stl[plt]) || 0) - (parseInt10(stl[prb]) || 0) | 0;
},
dispose: function () {
this.root.innerHTML = '';
this._svgRoot = this._backgroundRoot = this._svgDom = this._backgroundNode = this._viewport = this.storage = null;
},
clear: function () {
if (this._viewport) {
this.root.removeChild(this._viewport);
}
},
toDataURL: function () {
this.refresh();
var html = encodeURIComponent(this._svgDom.outerHTML.replace(/>\n\r<'));
return 'data:image/svg+xml;charset=UTF-8,' + html;
}
}; // Not supported methods
function createMethodNotSupport(method) {
return function () {
logError('In SVG mode painter not support method "' + method + '"');
};
} // Unsuppoted methods
util.each(['getLayer', 'insertLayer', 'eachLayer', 'eachBuiltinLayer', 'eachOtherLayer', 'getLayers', 'modLayer', 'delLayer', 'clearLayer', 'pathToImage'], function (name) {
SVGPainter.prototype[name] = createMethodNotSupport(name);
});
var _default = SVGPainter;
module.exports = _default;
/***/ }),
/***/ "3e3G":
/*!************************************************************!*\
!*** ./node_modules/zrender/lib/graphic/RadialGradient.js ***!
\************************************************************/
/*! no static exports found */
/*! all exports used */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports, __webpack_require__) {
var zrUtil = __webpack_require__(/*! ../core/util */ "bYtY");
var Gradient = __webpack_require__(/*! ./Gradient */ "QuXc");
/**
* x, y, r are all percent from 0 to 1
* @param {number} [x=0.5]
* @param {number} [y=0.5]
* @param {number} [r=0.5]
* @param {Array.
', getTocContent());
cleanToc();
}
rs = rs.replace(/(__special_katext_id_\d+__)/g, function (_match, capture) {
var _math_expressions$cap = math_expressions[capture],
type = _math_expressions$cap.type,
expression = _math_expressions$cap.expression;
return Object(katex["renderToString"])(_unescape(expression) || '', {
displayMode: type === 'block',
throwOnError: false,
output: 'html'
});
});
rs = rs.replace(/▁/g, '▁▁▁');
resetMathExpressions(); // return dompurify.sanitize(rs)
if (showTextOnly) {
var dom = document.createElement('div');
dom.innerHTML = rs;
return dom.innerText;
}
setTimeout(function () {
return onLoad();
}, 500);
return rs;
}, [str]);
var el = Object(external_window_React_["useRef"])();
lines['WebkitLineClamp'] = showLines;
if (showLines) {
style = Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, style), lines);
}
function onAncherHandler(e) {
var target = e.target;
if (target.tagName.toUpperCase() === 'A') {
var ancher = target.getAttribute('href');
if (ancher.indexOf("office") > -1) {
e.preventDefault();
setData(ancher);
} else if (ancher.startsWith('#')) {
e.preventDefault();
var viewEl = document.getElementById(ancher.replace('#', ''));
if (viewEl) {
viewEl.scrollIntoView(true);
}
}
}
}
var onLoad = function onLoad() {
var _el$current;
var videoElement = (_el$current = el.current) === null || _el$current === void 0 ? void 0 : _el$current.querySelectorAll('video');
videoElement === null || videoElement === void 0 ? void 0 : videoElement.forEach(function (item) {
item.oncontextmenu = function () {
return false;
};
if (item.src.indexOf('.m3u8') > -1) {
if (item.canPlayType('application/vnd.apple.mpegurl')) {} else if (hls_default.a.isSupported()) {
var hls = new hls_default.a();
hls.loadSource(item.src);
hls.attachMedia(item);
}
}
});
};
Object(external_window_React_["useEffect"])(function () {
if (el.current && html) {
if (html.match(preRegex)) {
window.PR.prettyPrint();
}
}
if (el.current) {
el.current.addEventListener('click', onAncherHandler);
return function () {
el.current.removeEventListener('click', onAncherHandler);
resetMathExpressions();
cleanToc();
};
}
}, [html, el.current, onAncherHandler]);
return /*#__PURE__*/external_window_React_default.a.createElement(external_window_React_default.a.Fragment, null, /*#__PURE__*/external_window_React_default.a.createElement("div", {
ref: el,
style: Object(objectSpread2["a" /* default */])({}, style),
className: "".concat(className ? className : '', " markdown-body "),
dangerouslySetInnerHTML: {
__html: html
}
}), /*#__PURE__*/external_window_React_default.a.createElement(PreviewAll["a" /* default */], {
close: true,
data: data,
type: !!(data !== null && data !== void 0 && data.length) ? "office" : "",
style: Object(objectSpread2["a" /* default */])({}, stylesPrev),
onClose: function onClose() {
return setData("");
}
}));
});
/***/ }),
/***/ "9VGf":
/*!****************************************!*\
!*** ./src/components/useInterval.tsx ***!
\****************************************/
/*! exports provided: default */
/*! exports used: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return useInterval; });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "cDcd");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
function useInterval(callback, delay) {
var savedCallback = Object(react__WEBPACK_IMPORTED_MODULE_0__["useRef"])(); // 保存新回调
Object(react__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(function () {
savedCallback.current = callback;
}); // 建立 interval
Object(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]);
}
/***/ }),
/***/ "9nDM":
/*!***********************************************************************************!*\
!*** ./src/pages/Paths/Detail/components/Stage/Discuss/discuss-editor/index.less ***!
\***********************************************************************************/
/*! no static exports found */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports, __webpack_require__) {
// extracted by mini-css-extract-plugin
/***/ }),
/***/ "A/g1":
/*!*******************************************!*\
!*** ./src/assets/images/icons/done1.png ***!
\*******************************************/
/*! no static exports found */
/*! exports used: default */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports) {
module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAF92lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNi4wLWMwMDMgNzkuMTY0NTI3LCAyMDIwLzEwLzE1LTE3OjQ4OjMyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjIuMSAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjEtMDctMDJUMTk6Mzg6MjMrMDg6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDIxLTA3LTAyVDE5OjQxOjQ2KzA4OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDIxLTA3LTAyVDE5OjQxOjQ2KzA4OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9InNSR0IgSUVDNjE5NjYtMi4xIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOmVkYzRhODM0LTVjNWQtNDQ1My04MDYzLWNkNzcwODQyODg5ZSIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjQ4MTE0OTVlLTVkMDctZTk0YS1iNWEwLWYxOWJmZmM0NGUyNyIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOmMwNjQyYzA1LTg5MzQtNDdlYy04MTFiLTlkYjdhZGNkYjFiMCI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6YzA2NDJjMDUtODkzNC00N2VjLTgxMWItOWRiN2FkY2RiMWIwIiBzdEV2dDp3aGVuPSIyMDIxLTA3LTAyVDE5OjM4OjIzKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjIuMSAoTWFjaW50b3NoKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6ZWRjNGE4MzQtNWM1ZC00NDUzLTgwNjMtY2Q3NzA4NDI4ODllIiBzdEV2dDp3aGVuPSIyMDIxLTA3LTAyVDE5OjQxOjQ2KzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjIuMSAoTWFjaW50b3NoKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5fJkpyAAAGoElEQVRogc2abWxbVxnH/8+59/rdTpx2GW3UNWJJV7Ylaxp3LUFsWgJDiI5R8bK2GppAmsgQLKQthS8IEJ9okibrREf3gX2Y1K2bxAoDtog60RBSVxKnWUO7kpSppXJZK2ja2HFi33vPw4cmpbN9r++1k8Lv2znnf577f+zje95Mhw4dQqUkwljpF7kuv0EdHkm1HklRr6TQq2tn5xcklwhIMnMSQJIJxykTiSce+1am0mer5XacqM7uDJjiqbAuWlvSygrBnmKyxcoIA+tBBAAgAAikjNZ47zCIh8E8mOjYO1aOD3L7DYzXZJurs8qhuzLqFsH22hcbUs6CMudAol8Ic2Dkkb0fuvEj3IinwvobjTOeRP1safOuIPIA/AMpxbsb4z3fc9PVUQLvRY37L/vMDxtT2peCBpU97BywlkD9sXjvbzcfG7jTSYeSCZyK6l9tTCkn75xXHAVcChh4zCDzLy1DfQ+U0tomcDaSO9A8rb0WWN5P3QK+SzCPx471bLdTWSYwFdZfXz/j+e7SG3MHE73SGu+19FE0gTNV+o8aU9pXls+Waw7E4r2fL9ZQkMB4jd5xd1r96fJ7cgeDX944vL8hv74ggdUZccRrLsw4/1fQCpLyYH7tRxKYCutv1M4rK26fKdd8Nn+euJnAySp9w+o5dettt+QSItHV+nb/qsXyzddj1KAXlnmSsuIMgV8v1sCgHxdWcj002QXgh8BCAqdq9B33T2tbltOlBWcEia+NtO86nd/QOtR3EGyxXmHZHXun78jow7tPCgAI6NixpGsbZ1ibj/d2gvkZy55EHpbcDiz8BkK62LRsNotjaX5TvK8NzH0lI5j0aQAQ4z69pjarfGwZTFphab55sCdogntAFCgZhfgLn3xtv19oPnTexuFjaR4ANJV6CWhzGEvNrpQPiYBOt+vVaWu+Nd7bCaDTTUCS9LDwSNQuiT17bM3fGPd4zn1YWSc8kqJO5e9H9P6LAeNvLp9ia755sCcoiftAKLqptoOI6oRXUsiJ+FxIf/MTM9quNRl1/XhN7p7zQWPUQTdb88CNcQ9GWXMQA3XCb5JWSngxYJxtSGtfXCxvuOqZrJ9VN53wpcMfhIxhs8jSb0aT2VLmyxn3edQ52hOnNf5dsfrN86H0x9Nqu8KgqbBxdF5hCdwwfyFkPmFnflO8rw3AL8qy/V9YzCmsl1I1pNTdp6N6t52mMaVu85mkTEb0ly6EzCeaprXfWGmbB3uCTHgOLk9FCqGkmhWcBlBjJ9MkUX1K3TcRzV5qmvYesdOum9G+Weqxmop+Zo65dFsAEydFTvC0E3HQIHVNWnvpvRVGRYu+G+Oenq4kxiIk+ZLIKbjitEO1Lvyr0/SHieD8qtLqQhbG/Qvl9C2OSIqMWvwHasUdWSW6Umojbh/VPNgTlOCCLWElsOB3hO7BL6XLHfCqOaXuYsA466aPR6XnAZQ8qHKB4fWJP4kNV7SrV3ymqwNVAFiTUe85HzLedaKNxfd/h4FvuPdoA9Hvj7ftmhMAkFbZyaxaQH1a3XwurL9tp4kN7fsUQz5fTnxbGH8GFt7DcwpecTuMFmlIaZ+bjOgvF2u7d/gnIWZR+Q1KPowcIIaAhQSarqmH/xE0TpQbb92M9uT7kdz+/HqfDB0EcF/ZRi1ggYFER/cYcMtMOO3jzlmVjXKDrkt5uv9are9ZLJ8L6UcJ+HplVotygVRlYLFwM4GWf2njl/ymq1fqrSgM3J1Sfz5Rnd15ulp/tiGtPV6h0aIwaCDxUPc/F8sfOQdqTKnbrvjMf9fOK7ZLCyv8Jom1s9qvsHANttQw4dhY++6BW+sKFlNJr7E9K6wOZEoT0YU3ogvXm5OSMK5KQ347v7oggZbr3j/+PWwUnoj9jyHCk+OP7p3Kry+6nL33uvazqbD+6+W35RDmrtGOPW8Va7JcjzemtC+frTKWfgJyCQmxI/GZ7x+warfdUKy/rj47UZXdnlHZXHprJWBcFKZsGX1k16t2spI7oqbr3iOTkdzGyz7z8tK5s4eAN4UiHxx5dO94Ka2jLd2Gq95TI/e9tXoqbBytZLJzwAUGdY+273nc6Y294z3p1sRW2ZhSt02Gsg+eDxknyl07FYWRY8I+aZptYx27B0Bw/Bp3faHRcs13EsCWiWpjZ8DEU+Ecxe7IKjVl5GMy8zAJMQSIwbH27rL+7FH2jUzTNfUwgMMAkFiFlf5MrstviA4PU61HIuo1KQRCdkGeJCDJoCQkkkzyOFVF4mOxyv9u8x8opnU6UeBF0wAAAABJRU5ErkJggg=="
/***/ }),
/***/ "A2z3":
/*!*********************************************************!*\
!*** ./src/components/CertificateModal/Certificate.png ***!
\*********************************************************/
/*! no static exports found */
/*! exports used: default */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports, __webpack_require__) {
module.exports = __webpack_require__.p + "static/Certificate.80413b23.png";
/***/ }),
/***/ "AZ8Y":
/*!******************************************************!*\
!*** ./src/pages/Paths/Detail/[id].tsx + 18 modules ***!
\******************************************************/
/*! exports provided: default */
/*! all exports used */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/@ant-design/icons/es/icons/CaretDownOutlined.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/@ant-design/icons/es/icons/CloseCircleOutlined.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/@umijs/babel-preset-umi/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/@umijs/babel-preset-umi/node_modules/@babel/runtime/helpers/esm/objectSpread2.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/@umijs/babel-preset-umi/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/@umijs/babel-preset-umi/node_modules/@babel/runtime/helpers/esm/slicedToArray.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/@umijs/babel-preset-umi/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/@umijs/babel-preset-umi/node_modules/@babel/runtime/regenerator/index.js (<- Module is not an ECMAScript module) */
/*! ModuleConcatenation bailout: Cannot concat with ./src/components/CertificateModal/index.less?modules (<- Module is not an ECMAScript module) */
/*! ModuleConcatenation bailout: Cannot concat with ./src/pages/Paths/Detail/components/ApplyPublic/index.less?modules (<- Module is not an ECMAScript module) */
/*! ModuleConcatenation bailout: Cannot concat with ./src/pages/Paths/Detail/components/Banner/components/SendToClassModal.less?modules (<- Module is not an ECMAScript module) */
/*! ModuleConcatenation bailout: Cannot concat with ./src/pages/Paths/Detail/components/Banner/index.less?modules (<- Module is not an ECMAScript module) */
/*! ModuleConcatenation bailout: Cannot concat with ./src/pages/Paths/Detail/components/Right/components/SortClassroom/index.less?modules (<- Module is not an ECMAScript module) */
/*! ModuleConcatenation bailout: Cannot concat with ./src/pages/Paths/Detail/components/Right/components/SortTeam/index.less?modules (<- Module is not an ECMAScript module) */
/*! ModuleConcatenation bailout: Cannot concat with ./src/pages/Paths/Detail/components/Right/index.less?modules (<- Module is not an ECMAScript module) */
/*! ModuleConcatenation bailout: Cannot concat with ./src/pages/Paths/Detail/components/Stage/Certificate/index.less?modules (<- Module is not an ECMAScript module) */
/*! ModuleConcatenation bailout: Cannot concat with ./src/pages/Paths/Detail/components/Stage/SelectShixuns/index.less?modules (<- Module is not an ECMAScript module) */
/*! ModuleConcatenation bailout: Cannot concat with ./src/pages/Paths/Detail/components/Stage/index.less?modules (<- Module is not an ECMAScript module) */
/*! ModuleConcatenation bailout: Cannot concat with ./src/pages/Paths/Detail/index.less?modules (<- Module is not an ECMAScript module) */
/*! ModuleConcatenation bailout: Cannot concat with ./src/.umi-production/core/umiExports.ts */
/*! ModuleConcatenation bailout: Cannot concat with ./src/components/ImagesIcon/index.ts */
/*! ModuleConcatenation bailout: Cannot concat with ./src/components/MultiUpload/index.tsx */
/*! ModuleConcatenation bailout: Cannot concat with ./src/components/NoData/index.tsx */
/*! ModuleConcatenation bailout: Cannot concat with ./src/components/RenderHtml/index.tsx */
/*! ModuleConcatenation bailout: Cannot concat with ./src/components/Spinner/index.tsx */
/*! ModuleConcatenation bailout: Cannot concat with ./src/components/image-preview/index.tsx */
/*! ModuleConcatenation bailout: Cannot concat with ./src/components/markdown-editor/index.tsx */
/*! ModuleConcatenation bailout: Cannot concat with ./src/components/mediator.js */
/*! ModuleConcatenation bailout: Cannot concat with ./src/components/modal.tsx */
/*! ModuleConcatenation bailout: Cannot concat with ./src/pages/Paths/Detail/components/Sort/index.tsx */
/*! ModuleConcatenation bailout: Cannot concat with ./src/pages/Video/Detail/components/AddVideoModal/index.tsx */
/*! ModuleConcatenation bailout: Cannot concat with ./src/pages/tasks/constant.js */
/*! ModuleConcatenation bailout: Cannot concat with ./src/service/classrooms.ts */
/*! ModuleConcatenation bailout: Cannot concat with ./src/service/exercise.ts */
/*! ModuleConcatenation bailout: Cannot concat with ./src/service/paths.ts */
/*! ModuleConcatenation bailout: Cannot concat with ./src/service/shixuns.ts */
/*! ModuleConcatenation bailout: Cannot concat with ./src/service/video.ts */
/*! ModuleConcatenation bailout: Cannot concat with ./src/utils/authority.ts */
/*! ModuleConcatenation bailout: Cannot concat with ./src/utils/env.ts */
/*! ModuleConcatenation bailout: Cannot concat with ./src/utils/fetch.ts */
/*! ModuleConcatenation bailout: Cannot concat with ./src/utils/util.tsx */
/*! ModuleConcatenation bailout: Cannot concat with ./src/utils/verifyLogin.tsx */
/*! ModuleConcatenation bailout: Cannot concat with ./src/pages/Paths/Detail/components/Banner/fsz.svg (<- Module is not an ECMAScript module) */
/*! ModuleConcatenation bailout: Cannot concat with ./src/pages/Paths/Detail/components/Banner/sc.svg (<- Module is not an ECMAScript module) */
/*! ModuleConcatenation bailout: Cannot concat with ./src/pages/Paths/Detail/components/Banner/sz.svg (<- Module is not an ECMAScript module) */
/*! ModuleConcatenation bailout: Cannot concat with ./src/pages/Paths/Detail/components/Banner/xxtj.svg (<- Module is not an ECMAScript module) */
/*! ModuleConcatenation bailout: Cannot concat with ./src/assets/images/jxtd.png (<- Module is not an ECMAScript module) */
/*! ModuleConcatenation bailout: Cannot concat with ./src/assets/images/kcjs.png (<- Module is not an ECMAScript module) */
/*! ModuleConcatenation bailout: Cannot concat with ./src/assets/images/ksxz.png (<- Module is not an ECMAScript module) */
/*! ModuleConcatenation bailout: Cannot concat with ./src/assets/images/spoc.png (<- Module is not an ECMAScript module) */
/*! ModuleConcatenation bailout: Cannot concat with ./src/components/CertificateModal/Certificate.png (<- Module is not an ECMAScript module) */
/*! ModuleConcatenation bailout: Cannot concat with ./src/components/CertificateModal/yz.png (<- Module is not an ECMAScript module) */
/*! ModuleConcatenation bailout: Cannot concat with ./src/pages/Paths/Detail/components/Banner/banner.png (<- Module is not an ECMAScript module) */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/auto-complete/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/auto-complete/style/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/button/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/button/style/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/cascader/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/cascader/style/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/checkbox/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/checkbox/style/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/col/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/col/style/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/divider/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/divider/style/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/drawer/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/drawer/style/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/dropdown/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/dropdown/style/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/form/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/form/style/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/input-number/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/input-number/style/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/input/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/input/style/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/menu/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/menu/style/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/message/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/message/style/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/modal/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/modal/style/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/pagination/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/pagination/style/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/progress/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/progress/style/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/radio/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/radio/style/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/rate/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/rate/style/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/row/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/row/style/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/select/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/select/style/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/skeleton/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/skeleton/style/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/spin/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/spin/style/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/table/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/table/style/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/tabs/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/tabs/style/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/tag/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/tag/style/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/tooltip/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/tooltip/style/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/tree/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/tree/style/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/array-move/index.js (<- Module is not an ECMAScript module) */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/echarts-for-react/lib/index.js (<- Module is not an ECMAScript module) */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/html2pdf.js/dist/html2pdf.js (<- Module is not an ECMAScript module) */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/lodash/lodash.js (<- Module is not an ECMAScript module) */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/moment/moment.js (<- Module is not an ECMAScript module) */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/react-infinite-scroller/index.js (<- Module is not an ECMAScript module) */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/react-router-dom/esm/react-router-dom.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/react-router/esm/react-router.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/react-sortable-hoc/dist/react-sortable-hoc.esm.js */
/*! ModuleConcatenation bailout: Cannot concat with external "window.React" (<- Module is not an ECMAScript module) */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);
// EXTERNAL MODULE: ./node_modules/antd/es/spin/style/index.js
var style = __webpack_require__("T2oS");
// EXTERNAL MODULE: ./node_modules/antd/es/spin/index.js
var spin = __webpack_require__("W9HT");
// EXTERNAL MODULE: ./node_modules/@umijs/babel-preset-umi/node_modules/@babel/runtime/helpers/esm/objectSpread2.js
var objectSpread2 = __webpack_require__("k1fw");
// EXTERNAL MODULE: ./node_modules/@umijs/babel-preset-umi/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js
var asyncToGenerator = __webpack_require__("9og8");
// EXTERNAL MODULE: ./node_modules/@umijs/babel-preset-umi/node_modules/@babel/runtime/helpers/esm/slicedToArray.js + 1 modules
var slicedToArray = __webpack_require__("tJVT");
// EXTERNAL MODULE: ./node_modules/@umijs/babel-preset-umi/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js + 1 modules
var objectWithoutProperties = __webpack_require__("PpiC");
// EXTERNAL MODULE: ./node_modules/antd/es/tabs/style/index.js
var tabs_style = __webpack_require__("Znn+");
// EXTERNAL MODULE: ./node_modules/antd/es/tabs/index.js
var tabs = __webpack_require__("ZTPi");
// EXTERNAL MODULE: ./node_modules/@umijs/babel-preset-umi/node_modules/@babel/runtime/regenerator/index.js
var regenerator = __webpack_require__("WmNS");
var regenerator_default = /*#__PURE__*/__webpack_require__.n(regenerator);
// EXTERNAL MODULE: external "window.React"
var external_window_React_ = __webpack_require__("cDcd");
var external_window_React_default = /*#__PURE__*/__webpack_require__.n(external_window_React_);
// EXTERNAL MODULE: ./node_modules/react-router/esm/react-router.js
var react_router = __webpack_require__("Ty5D");
// EXTERNAL MODULE: ./src/.umi-production/core/umiExports.ts + 17 modules
var umiExports = __webpack_require__("9kvl");
// EXTERNAL MODULE: ./node_modules/@umijs/babel-preset-umi/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js + 2 modules
var toConsumableArray = __webpack_require__("oBTY");
// EXTERNAL MODULE: ./node_modules/antd/es/rate/style/index.js
var rate_style = __webpack_require__("pC0b");
// EXTERNAL MODULE: ./node_modules/antd/es/rate/index.js
var rate = __webpack_require__("GzdX");
// EXTERNAL MODULE: ./node_modules/antd/es/button/style/index.js
var button_style = __webpack_require__("+L6B");
// EXTERNAL MODULE: ./node_modules/antd/es/button/index.js
var es_button = __webpack_require__("2/Rp");
// EXTERNAL MODULE: ./node_modules/antd/es/tag/style/index.js
var tag_style = __webpack_require__("+BJd");
// EXTERNAL MODULE: ./node_modules/antd/es/tag/index.js + 1 modules
var es_tag = __webpack_require__("mr32");
// EXTERNAL MODULE: ./node_modules/antd/es/dropdown/style/index.js
var dropdown_style = __webpack_require__("qVdP");
// EXTERNAL MODULE: ./node_modules/antd/es/dropdown/index.js
var dropdown = __webpack_require__("jsC+");
// EXTERNAL MODULE: ./node_modules/antd/es/menu/style/index.js
var menu_style = __webpack_require__("lUTK");
// EXTERNAL MODULE: ./node_modules/antd/es/menu/index.js + 3 modules
var menu = __webpack_require__("BvKs");
// EXTERNAL MODULE: ./node_modules/antd/es/tooltip/style/index.js
var tooltip_style = __webpack_require__("5Dmo");
// EXTERNAL MODULE: ./node_modules/antd/es/tooltip/index.js + 1 modules
var tooltip = __webpack_require__("3S7+");
// EXTERNAL MODULE: ./node_modules/antd/es/radio/style/index.js
var radio_style = __webpack_require__("7Kak");
// EXTERNAL MODULE: ./node_modules/antd/es/radio/index.js + 4 modules
var es_radio = __webpack_require__("9yH6");
// EXTERNAL MODULE: ./node_modules/antd/es/modal/style/index.js
var modal_style = __webpack_require__("2qtc");
// EXTERNAL MODULE: ./node_modules/antd/es/modal/index.js + 7 modules
var modal = __webpack_require__("kLXV");
// EXTERNAL MODULE: ./node_modules/antd/es/message/style/index.js
var message_style = __webpack_require__("miYZ");
// EXTERNAL MODULE: ./node_modules/antd/es/message/index.js + 1 modules
var es_message = __webpack_require__("tsqr");
// EXTERNAL MODULE: ./node_modules/@ant-design/icons/es/icons/CaretDownOutlined.js + 1 modules
var CaretDownOutlined = __webpack_require__("0NbB");
// EXTERNAL MODULE: ./src/pages/Paths/Detail/components/Banner/index.less?modules
var Bannermodules = __webpack_require__("JTSX");
var Bannermodules_default = /*#__PURE__*/__webpack_require__.n(Bannermodules);
// EXTERNAL MODULE: ./src/utils/authority.ts
var authority = __webpack_require__("xKgJ");
// EXTERNAL MODULE: ./src/service/paths.ts
var paths = __webpack_require__("Mgx3");
// EXTERNAL MODULE: ./node_modules/antd/es/tree/style/index.js
var tree_style = __webpack_require__("ozfa");
// EXTERNAL MODULE: ./node_modules/antd/es/tree/index.js + 3 modules
var tree = __webpack_require__("MJZm");
// EXTERNAL MODULE: ./node_modules/antd/es/checkbox/style/index.js
var checkbox_style = __webpack_require__("sRBo");
// EXTERNAL MODULE: ./node_modules/antd/es/checkbox/index.js + 2 modules
var es_checkbox = __webpack_require__("kaz8");
// EXTERNAL MODULE: ./node_modules/antd/es/row/style/index.js
var row_style = __webpack_require__("14J3");
// EXTERNAL MODULE: ./node_modules/antd/es/row/index.js
var row = __webpack_require__("BMrR");
// EXTERNAL MODULE: ./node_modules/antd/es/col/style/index.js
var col_style = __webpack_require__("jCWc");
// EXTERNAL MODULE: ./node_modules/antd/es/col/index.js
var col = __webpack_require__("kPKH");
// EXTERNAL MODULE: ./node_modules/antd/es/select/style/index.js
var select_style = __webpack_require__("OaEy");
// EXTERNAL MODULE: ./node_modules/antd/es/select/index.js
var es_select = __webpack_require__("2fM7");
// EXTERNAL MODULE: ./node_modules/moment/moment.js
var moment = __webpack_require__("wd/R");
var moment_default = /*#__PURE__*/__webpack_require__.n(moment);
// EXTERNAL MODULE: ./src/pages/Paths/Detail/components/Banner/components/SendToClassModal.less?modules
var SendToClassModalmodules = __webpack_require__("kNP/");
var SendToClassModalmodules_default = /*#__PURE__*/__webpack_require__.n(SendToClassModalmodules);
// EXTERNAL MODULE: ./src/utils/util.tsx + 1 modules
var util = __webpack_require__("1vsH");
// CONCATENATED MODULE: ./src/pages/Paths/Detail/components/Banner/components/SendToClassModal.tsx
var Option = es_select["a" /* default */].Option;
var SendToClassModal_SendToClassModal = function SendToClassModal(_ref) {
var pathsDetail = _ref.pathsDetail,
globalSetting = _ref.globalSetting,
loading = _ref.loading,
dispatch = _ref.dispatch,
props = Object(objectWithoutProperties["a" /* default */])(_ref, ["pathsDetail", "globalSetting", "loading", "dispatch"]);
var params = Object(react_router["i" /* useParams */])();
var _useState = Object(external_window_React_["useState"])(),
_useState2 = Object(slicedToArray["a" /* default */])(_useState, 2),
selectValue = _useState2[0],
setSelectValue = _useState2[1];
var _useState3 = Object(external_window_React_["useState"])([]),
_useState4 = Object(slicedToArray["a" /* default */])(_useState3, 2),
courseList = _useState4[0],
setCourseList = _useState4[1];
var _useState5 = Object(external_window_React_["useState"])([]),
_useState6 = Object(slicedToArray["a" /* default */])(_useState5, 2),
stageList = _useState6[0],
setStageList = _useState6[1];
var _useState7 = Object(external_window_React_["useState"])([]),
_useState8 = Object(slicedToArray["a" /* default */])(_useState7, 2),
checkedValueList = _useState8[0],
setCheckedValueList = _useState8[1];
var _useState9 = Object(external_window_React_["useState"])(),
_useState10 = Object(slicedToArray["a" /* default */])(_useState9, 2),
checkedAll = _useState10[0],
setCheckedAll = _useState10[1];
var _useState11 = Object(external_window_React_["useState"])(),
_useState12 = Object(slicedToArray["a" /* default */])(_useState11, 2),
isLoading = _useState12[0],
setIsLoading = _useState12[1];
var _useState13 = Object(external_window_React_["useState"])(true),
_useState14 = Object(slicedToArray["a" /* default */])(_useState13, 2),
syncCatelog = _useState14[0],
setSyncCatelog = _useState14[1];
Object(external_window_React_["useEffect"])(function () {
if (pathsDetail.actionTabs.key === 'PathsDetail-SendToClass') {
getCourseList();
}
}, [pathsDetail.actionTabs.key]);
var renderTitle = function renderTitle(obj) {
switch (obj.item_type) {
case 'Shixun':
return /*#__PURE__*/external_window_React_default.a.createElement("span", null, /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: "mr5 c-light-primary"
}, "\u5B9E\u8BAD"), obj.name);
case 'Attachment':
return /*#__PURE__*/external_window_React_default.a.createElement("span", null, /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: "mr5 c-cyan-blue"
}, "\u8BFE\u4EF6"), obj.name);
case 'VideoItem':
return /*#__PURE__*/external_window_React_default.a.createElement("span", null, /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: "mr5 c-purple-8C1"
}, "\u89C6\u9891"), obj.name);
case 'StageCatalog':
return /*#__PURE__*/external_window_React_default.a.createElement("span", null, obj.name);
default:
return '';
}
};
var getCourseList = /*#__PURE__*/function () {
var _ref2 = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee() {
var res, _res$stages, data;
return regenerator_default.a.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return Object(paths["H" /* getSendCourseList */])({
id: params.pathId
});
case 2:
res = _context.sent;
if (res) {
setCourseList((res === null || res === void 0 ? void 0 : res.courses) || []);
data = (_res$stages = res.stages) === null || _res$stages === void 0 ? void 0 : _res$stages.map(function (item, index) {
var _item$items;
return {
title: item.state_name || '',
key: index,
children: (_item$items = item.items) === null || _item$items === void 0 ? void 0 : _item$items.map(function (shixun, key) {
var _shixun$children;
return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, shixun), {}, {
disabled: shixun.is_jupyter,
title: renderTitle(shixun),
key: "".concat(index, "-").concat(key),
children: (_shixun$children = shixun.children) === null || _shixun$children === void 0 ? void 0 : _shixun$children.map(function (el, elIndex) {
return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, el), {}, {
disabled: el.is_jupyter,
title: renderTitle(el),
key: "".concat(index, "-").concat(key, "-").concat(elIndex)
});
})
});
})
};
});
setStageList(data || []);
}
case 4:
case "end":
return _context.stop();
}
}
}, _callee);
}));
return function getCourseList() {
return _ref2.apply(this, arguments);
};
}();
var handleChecked = function handleChecked(checkedKeys, e) {
setCheckedValueList(checkedKeys);
};
var handleCheckedAll = function handleCheckedAll(e) {
var checked = e.target.checked;
var allId = [];
stageList === null || stageList === void 0 ? void 0 : stageList.map(function (stage, index) {
var _stage$children;
allId.push(index);
stage === null || stage === void 0 ? void 0 : (_stage$children = stage.children) === null || _stage$children === void 0 ? void 0 : _stage$children.map(function (shixun, key) {
var _shixun$children2;
allId.push("".concat(index, "-").concat(key));
shixun === null || shixun === void 0 ? void 0 : (_shixun$children2 = shixun.children) === null || _shixun$children2 === void 0 ? void 0 : _shixun$children2.map(function (el, elIndex) {
allId.push("".concat(index, "-").concat(key, "-").concat(elIndex));
});
});
});
if (checked) {
setCheckedValueList(allId);
} else {
setCheckedValueList([]);
}
};
var handleFormatCheckData = function handleFormatCheckData() {
// 获取子节点数据
var checkedChildrenValues = checkedValueList.filter(function (item) {
return typeof item === "string";
});
var shixunIds = [];
var videoItemIds = [];
var stageItemIds = [];
var coursewareIds = [];
stageList === null || stageList === void 0 ? void 0 : stageList.map(function (item, index) {
var _item$children;
item === null || item === void 0 ? void 0 : (_item$children = item.children) === null || _item$children === void 0 ? void 0 : _item$children.map(function (children, key) {
var _children$children;
if (checkedChildrenValues.includes("".concat(index, "-").concat(key))) {
stageItemIds.push(children.stage_item_id);
if (children.item_type === 'Shixun') {
shixunIds.push(children.id);
} else if (children.item_type === 'Attachment') {
coursewareIds.push(children.id);
} else if (children.item_type === 'VideoItem') {
videoItemIds.push(children.id);
}
}
children === null || children === void 0 ? void 0 : (_children$children = children.children) === null || _children$children === void 0 ? void 0 : _children$children.map(function (el, elIndex) {
if (checkedChildrenValues.includes("".concat(index, "-").concat(key, "-").concat(elIndex))) {
stageItemIds.push(el.stage_item_id);
if (el.item_type === 'Shixun') {
shixunIds.push(el.id);
} else if (el.item_type === 'Attachment') {
coursewareIds.push(el.id);
} else if (el.item_type === 'VideoItem') {
videoItemIds.push(el.id);
}
}
});
});
});
return {
shixunIds: shixunIds,
videoItemIds: videoItemIds,
stageItemIds: stageItemIds,
coursewareIds: coursewareIds
};
};
var handleOk = /*#__PURE__*/function () {
var _ref3 = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee2() {
var _handleFormatCheckDat, stageItemIds, res;
return regenerator_default.a.wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
_handleFormatCheckDat = handleFormatCheckData(), stageItemIds = _handleFormatCheckDat.stageItemIds;
console.log(stageItemIds, 'stageItemIds');
if (selectValue) {
_context2.next = 5;
break;
}
es_message["b" /* default */].info("\u60A8\u8FD8\u672A\u9009\u62E9\u53D1\u9001\u7684\u8BFE\u5802");
return _context2.abrupt("return");
case 5:
if (!(!shixunIds.length && !videoItemIds.length && !coursewareIds.length)) {
_context2.next = 8;
break;
}
es_message["b" /* default */].info("\u60A8\u8FD8\u672A\u9009\u62E9\u5B9E\u8BAD\u6216\u8005\u89C6\u9891");
return _context2.abrupt("return");
case 8:
setIsLoading(true);
_context2.next = 11;
return Object(paths["Q" /* sendToCourse */])({
id: params.pathId,
course_id: selectValue,
stage_item_id: stageItemIds,
sync_catelog: syncCatelog ? 1 : 0
}).catch(function (e) {
return setIsLoading(false);
});
case 11:
res = _context2.sent;
setIsLoading(false);
handleCancel();
if ((res === null || res === void 0 ? void 0 : res.status) === 1) {
modal["a" /* default */].confirm({
title: '提示',
centered: true,
okText: '确定',
cancelText: '取消',
content: /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "tc"
}, res.message),
onOk: function onOk() {
var _res$url$split;
var classroomId = res === null || res === void 0 ? void 0 : (_res$url$split = res.url.split('/')) === null || _res$url$split === void 0 ? void 0 : _res$url$split[2];
Object(util["Q" /* openNewWindow */])("/classrooms/".concat(classroomId, "/shixun_homework")); // history.push(`/classrooms/${classroomId}/shixun_homework`);
}
});
}
case 15:
case "end":
return _context2.stop();
}
}
}, _callee2);
}));
return function handleOk() {
return _ref3.apply(this, arguments);
};
}();
var handleCancel = function handleCancel() {
dispatch({
type: 'pathsDetail/setActionTabs',
payload: {}
});
setSelectValue(null);
setCheckedValueList([]);
setCheckedAll(null);
};
var _handleFormatCheckDat2 = handleFormatCheckData(),
_handleFormatCheckDat3 = _handleFormatCheckDat2.shixunIds,
shixunIds = _handleFormatCheckDat3 === void 0 ? [] : _handleFormatCheckDat3,
_handleFormatCheckDat4 = _handleFormatCheckDat2.videoItemIds,
videoItemIds = _handleFormatCheckDat4 === void 0 ? [] : _handleFormatCheckDat4,
_handleFormatCheckDat5 = _handleFormatCheckDat2.coursewareIds,
coursewareIds = _handleFormatCheckDat5 === void 0 ? [] : _handleFormatCheckDat5;
return /*#__PURE__*/external_window_React_default.a.createElement(modal["a" /* default */], {
centered: true,
keyboard: false,
closable: false,
destroyOnClose: true,
visible: pathsDetail.actionTabs.key === 'PathsDetail-SendToClass',
title: "\u53D1\u9001\u81F3\u8BFE\u5802",
okText: "\u786E\u5B9A",
cancelText: "\u53D6\u6D88",
confirmLoading: isLoading,
width: 600,
onOk: handleOk,
onCancel: handleCancel
}, /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: SendToClassModalmodules_default.a.wrap
}, /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "mb10"
}, /*#__PURE__*/external_window_React_default.a.createElement(es_select["a" /* default */], {
placeholder: "\u8BF7\u9009\u62E9\u60A8\u8981\u53D1\u9001\u7684\u8BFE\u5802",
defaultOpen: false,
value: selectValue,
style: {
width: '100%'
},
onSelect: function onSelect(value) {
return setSelectValue(value);
},
optionLabelProp: "lable"
}, courseList === null || courseList === void 0 ? void 0 : courseList.map(function (item, index) {
return /*#__PURE__*/external_window_React_default.a.createElement(Option, {
key: item.course_id,
value: item.course_id,
lable: item.course_name
}, /*#__PURE__*/external_window_React_default.a.createElement(row["a" /* default */], {
justify: "space-between"
}, /*#__PURE__*/external_window_React_default.a.createElement(col["a" /* default */], null, item.course_name), /*#__PURE__*/external_window_React_default.a.createElement(col["a" /* default */], null, moment_default()(item.created_at).format('YYYY-MM-DD HH:mm'), "\xA0")));
}))), /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: SendToClassModalmodules_default.a.title
}, "\u6E29\u99A8\u63D0\u793A\uFF1A", /*#__PURE__*/external_window_React_default.a.createElement("br", null), "1.\u8BF7\u5728\u672C\u8BFE\u7A0B\u4E2D\u9009\u62E9\u6240\u9700\u9879\u76EE\u53D1\u9001\u5230\u6307\u5B9A\u8BFE\u5802\uFF1B", /*#__PURE__*/external_window_React_default.a.createElement("br", null), "2.\u672A\u53D1\u5E03\u7684\u5B9E\u8BAD\u4E0D\u80FD\u53D1\u9001\u81F3\u8BFE\u5802\uFF0C\u4E5F\u4E0D\u4F1A\u8FDB\u5165\u672C\u5F39\u7A97\u5907\u9009\u3002"), /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: SendToClassModalmodules_default.a.radioWrap
}, /*#__PURE__*/external_window_React_default.a.createElement("div", null, /*#__PURE__*/external_window_React_default.a.createElement(es_checkbox["a" /* default */], {
value: checkedAll,
onChange: handleCheckedAll,
className: "font14 ml20"
}, "\u5168\u9009")), !!(stageList !== null && stageList !== void 0 && stageList.length) && /*#__PURE__*/external_window_React_default.a.createElement(tree["a" /* default */], {
className: SendToClassModalmodules_default.a.tree,
checkable: true,
defaultExpandAll: true,
treeData: stageList,
checkedKeys: checkedValueList,
onCheck: function onCheck(checkedKeys, e) {
return handleChecked(checkedKeys, e);
}
})), /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: SendToClassModalmodules_default.a.createMkdir
}, /*#__PURE__*/external_window_React_default.a.createElement(es_checkbox["a" /* default */], {
checked: syncCatelog,
onChange: function onChange(e) {
return setSyncCatelog(e.target.checked);
},
className: "font14"
}, "\u9009\u4E2D\u7AE0\u8282\u5728\u8BFE\u5802\u4E2D\u540C\u6B65\u751F\u6210\u76EE\u5F55"), !!(shixunIds.length + videoItemIds.length) && /*#__PURE__*/external_window_React_default.a.createElement("span", null, /*#__PURE__*/external_window_React_default.a.createElement("span", null, "\u5DF2\u9009\u4E2D\uFF1A"), !!shixunIds.length && /*#__PURE__*/external_window_React_default.a.createElement(external_window_React_default.a.Fragment, null, /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: "c-light-primary"
}, shixunIds.length, " "), /*#__PURE__*/external_window_React_default.a.createElement("span", null, "\u4E2A\u5B9E\u8BAD")), !!videoItemIds.length && /*#__PURE__*/external_window_React_default.a.createElement(external_window_React_default.a.Fragment, null, /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: "c-purple-8C1 ml5"
}, videoItemIds.length, " "), /*#__PURE__*/external_window_React_default.a.createElement("span", null, "\u4E2A\u89C6\u9891")), !!coursewareIds.length && /*#__PURE__*/external_window_React_default.a.createElement(external_window_React_default.a.Fragment, null, /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: "c-cyan-blue ml5"
}, coursewareIds.length, " "), /*#__PURE__*/external_window_React_default.a.createElement("span", null, "\u4E2A\u8BFE\u4EF6"))))));
};
/* harmony default export */ var components_SendToClassModal = (Object(umiExports["a" /* connect */])(function (_ref4) {
var pathsDetail = _ref4.pathsDetail,
loading = _ref4.loading,
globalSetting = _ref4.globalSetting;
return {
pathsDetail: pathsDetail,
globalSetting: globalSetting,
loading: loading.effects
};
})(SendToClassModal_SendToClassModal));
// EXTERNAL MODULE: ./src/utils/verifyLogin.tsx
var verifyLogin = __webpack_require__("NLgs");
// EXTERNAL MODULE: ./node_modules/antd/es/input/style/index.js
var input_style = __webpack_require__("5NDa");
// EXTERNAL MODULE: ./node_modules/antd/es/input/index.js + 3 modules
var input = __webpack_require__("5rEg");
// EXTERNAL MODULE: ./node_modules/antd/es/cascader/style/index.js
var cascader_style = __webpack_require__("6UJt");
// EXTERNAL MODULE: ./node_modules/antd/es/cascader/index.js
var cascader = __webpack_require__("DFOY");
// EXTERNAL MODULE: ./node_modules/antd/es/form/style/index.js
var form_style = __webpack_require__("y8nQ");
// EXTERNAL MODULE: ./node_modules/antd/es/form/index.js + 11 modules
var es_form = __webpack_require__("Vl3Y");
// EXTERNAL MODULE: ./src/utils/fetch.ts
var fetch = __webpack_require__("ErOA");
// EXTERNAL MODULE: ./src/pages/Paths/Detail/components/ApplyPublic/index.less?modules
var ApplyPublicmodules = __webpack_require__("OC45");
var ApplyPublicmodules_default = /*#__PURE__*/__webpack_require__.n(ApplyPublicmodules);
// CONCATENATED MODULE: ./src/pages/Paths/Detail/components/ApplyPublic/index.tsx
/*
* @Author: dengcheng
* @Date: 2022-03-01 13:15:55
* @Last Modified by: dengcheng
* @Last Modified time: 2022-03-03 21:49:23
* @description: 申请课程公共弹窗
*/
var ApplyPublic_ApplyPublic = function ApplyPublic(_ref) {
var type = _ref.type,
onCancel = _ref.onCancel,
onOk = _ref.onOk;
var _Form$useForm = es_form["a" /* default */].useForm(),
_Form$useForm2 = Object(slicedToArray["a" /* default */])(_Form$useForm, 1),
form = _Form$useForm2[0]; // 自定义课程展开收起状态
var _useState = Object(external_window_React_["useState"])(true),
_useState2 = Object(slicedToArray["a" /* default */])(_useState, 2),
status = _useState2[0],
setStatus = _useState2[1]; // loading
var _useState3 = Object(external_window_React_["useState"])(false),
_useState4 = Object(slicedToArray["a" /* default */])(_useState3, 2),
loading = _useState4[0],
setLoading = _useState4[1];
var _useState5 = Object(external_window_React_["useState"])([]),
_useState6 = Object(slicedToArray["a" /* default */])(_useState5, 2),
options = _useState6[0],
setOptions = _useState6[1];
Object(external_window_React_["useEffect"])(function () {
getData();
}, []);
/**
* 获取方向课程数据
*/
var getData = /*#__PURE__*/function () {
var _ref2 = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee() {
var result;
return regenerator_default.a.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
if (!type) {
_context.next = 7;
break;
}
setLoading(true);
_context.next = 4;
return Object(fetch["a" /* default */])("/api/disciplines.json", {
method: 'get',
params: {
source: type
}
});
case 4:
result = _context.sent;
setOptions(result.disciplines || []);
setLoading(false);
case 7:
case "end":
return _context.stop();
}
}
}, _callee);
}));
return function getData() {
return _ref2.apply(this, arguments);
};
}();
/**
* 申请公开事件
*/
var onApply = function onApply() {
var _form$getFieldsValue = form.getFieldsValue(),
sub_discipline_id = _form$getFieldsValue.sub_discipline_id,
discipline_name = _form$getFieldsValue.discipline_name,
sub_discipline_name = _form$getFieldsValue.sub_discipline_name;
if ((!sub_discipline_id || sub_discipline_id && sub_discipline_id.length === 0) && (!discipline_name || !sub_discipline_name)) {
es_message["b" /* default */].warn('请选择方向&课程');
return false;
}
onOk({
user_customize: sub_discipline_id && sub_discipline_id.length === 0 || !sub_discipline_id,
sub_discipline_id: sub_discipline_id,
discipline_name: discipline_name,
sub_discipline_name: sub_discipline_name
});
};
return /*#__PURE__*/external_window_React_default.a.createElement(modal["a" /* default */], {
width: 600,
className: ApplyPublicmodules_default.a.applyPublicContainer,
title: "\u6DFB\u52A0\u65B9\u5411&\u8BFE\u7A0B\u5F39\u7A97",
okText: "\u7533\u8BF7\u516C\u5F00",
visible: true,
onCancel: onCancel,
onOk: onApply
}, /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: ApplyPublicmodules_default.a.applyPublicContent
}, /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: ApplyPublicmodules_default.a.tips
}, "\u9700\u586B\u5199\u5B9E\u8DF5\u9879\u76EE\u7684\u65B9\u5411&\u8BFE\u7A0B\u540E\uFF0C\u624D\u80FD\u7533\u8BF7\u516C\u5F00"), /*#__PURE__*/external_window_React_default.a.createElement(es_form["a" /* default */], {
labelCol: {
span: 4
},
labelAlign: "right",
form: form
}, /*#__PURE__*/external_window_React_default.a.createElement(es_form["a" /* default */].Item, {
label: "\u65B9\u5411&\u8BFE\u7A0B\uFF1A",
name: "sub_discipline_id"
}, /*#__PURE__*/external_window_React_default.a.createElement(cascader["a" /* default */], {
expandTrigger: "hover",
placeholder: "\u8BF7\u9009\u62E9\u65B9\u5411&\u8BFE\u7A0B",
options: options,
fieldNames: {
label: 'name',
value: 'id',
children: 'sub_disciplines'
},
onChange: function onChange(data, v) {
return form.setFieldsValue({
sub_discipline_id: data
});
}
}), /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: ApplyPublicmodules_default.a.action,
onClick: function onClick() {
return setStatus(!status);
}
}, /*#__PURE__*/external_window_React_default.a.createElement("div", null, "\u81EA\u5B9A\u4E49\u65B9\u5411&\u8BFE\u7A0B"), /*#__PURE__*/external_window_React_default.a.createElement("div", null, /*#__PURE__*/external_window_React_default.a.createElement("span", null, status ? '展开' : '收起'), /*#__PURE__*/external_window_React_default.a.createElement("span", null, /*#__PURE__*/external_window_React_default.a.createElement("i", {
className: "iconfont ".concat(status ? 'icon-zhankai2' : 'icon-shouqi1')
}))))), !status && /*#__PURE__*/external_window_React_default.a.createElement(external_window_React_default.a.Fragment, null, /*#__PURE__*/external_window_React_default.a.createElement(es_form["a" /* default */].Item, {
label: "\u65B9\u5411",
name: "discipline_name"
}, /*#__PURE__*/external_window_React_default.a.createElement(input["a" /* default */], {
placeholder: "\u8BF7\u8F93\u5165\u65B9\u5411",
autoComplete: "off"
})), /*#__PURE__*/external_window_React_default.a.createElement(es_form["a" /* default */].Item, {
label: "\u8BFE\u7A0B",
name: "sub_discipline_name"
}, /*#__PURE__*/external_window_React_default.a.createElement(input["a" /* default */], {
placeholder: "\u8BF7\u8F93\u5165\u8BFE\u7A0B",
autoComplete: "off"
})))), loading && /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: ApplyPublicmodules_default.a.spin
}, /*#__PURE__*/external_window_React_default.a.createElement(spin["a" /* default */], null))));
};
/* harmony default export */ var components_ApplyPublic = (ApplyPublic_ApplyPublic);
// EXTERNAL MODULE: ./src/components/RenderHtml/index.tsx + 1 modules
var RenderHtml = __webpack_require__("9Bee");
// EXTERNAL MODULE: ./src/utils/env.ts + 1 modules
var env = __webpack_require__("m3rI");
// EXTERNAL MODULE: ./src/pages/Paths/Detail/components/Banner/banner.png
var banner = __webpack_require__("OljG");
var banner_default = /*#__PURE__*/__webpack_require__.n(banner);
// EXTERNAL MODULE: ./src/pages/Paths/Detail/components/Banner/fsz.svg
var fsz = __webpack_require__("MKdu");
var fsz_default = /*#__PURE__*/__webpack_require__.n(fsz);
// EXTERNAL MODULE: ./src/pages/Paths/Detail/components/Banner/sc.svg
var sc = __webpack_require__("m/50");
var sc_default = /*#__PURE__*/__webpack_require__.n(sc);
// EXTERNAL MODULE: ./src/pages/Paths/Detail/components/Banner/sz.svg
var sz = __webpack_require__("Nddv");
var sz_default = /*#__PURE__*/__webpack_require__.n(sz);
// EXTERNAL MODULE: ./src/pages/Paths/Detail/components/Banner/xxtj.svg
var xxtj = __webpack_require__("vUf6");
var xxtj_default = /*#__PURE__*/__webpack_require__.n(xxtj);
// CONCATENATED MODULE: ./src/pages/Paths/Detail/components/Banner/index.tsx
// import spoc from '@/assets/images/spoc.png';
var Banner_Banner = function Banner(_ref) {
var _pathsDetail$detail, _pathsDetail$detail2, _pathsDetail$detail11, _pathsDetail$detail12, _pathsDetail$detail13, _pathsDetail$detail14, _pathsDetail$detail15, _pathsDetail$detail16, _pathsDetail$detail17, _pathsDetail$detail18, _pathsDetail$detail19, _pathsDetail$detail20, _pathsDetail$detail21, _pathsDetail$detail22, _pathsDetail$detail23, _pathsDetail$detail24, _pathsDetail$detail25, _pathsDetail$detail26, _pathsDetail$detail27, _pathsDetail$detail28, _pathsDetail$detail29, _pathsDetail$detail30, _pathsDetail$detail31, _pathsDetail$detail32, _user$userInfo, _pathsDetail$detail33, _pathsDetail$detail34, _pathsDetail$detail35, _pathsDetail$detail36, _pathsDetail$detail37, _pathsDetail$detail38, _pathsDetail$detail39, _pathsDetail$detail40, _pathsDetail$detail41, _pathsDetail$detail42, _pathsDetail$detail43, _pathsDetail$detail44, _pathsDetail$detail45, _pathsDetail$detail46, _pathsDetail$detail47, _pathsDetail$detail48, _pathsDetail$detail49, _pathsDetail$detail50, _pathsDetail$detail51, _pathsDetail$detail52, _pathsDetail$detail53, _pathsDetail$detail54, _pathsDetail$detail55, _pathsDetail$detail56, _pathsDetail$detail57, _user$userInfo2, _pathsDetail$detail58, _user$userInfo3, _pathsDetail$detail59, _pathsDetail$detail60, _pathsDetail$detail61, _pathsDetail$detail62, _pathsDetail$detail63, _pathsDetail$detail64, _pathsDetail$detail65, _pathsDetail$detail66, _pathsDetail$detail67, _pathsDetail$detail68, _pathsDetail$detail69, _pathsDetail$detail70, _pathsDetail$detail71, _pathsDetail$detail72, _pathsDetail$detail73, _pathsDetail$detail74, _pathsDetail$detail75, _pathsDetail$detail76, _pathsDetail$detail77, _pathsDetail$detail78, _pathsDetail$detail79, _pathsDetail$detail80, _pathsDetail$detail81, _pathsDetail$detail82, _ref9, _ref9$reverse, _pathsDetail$detail83, _pathsDetail$detail86, _currentCourse$course2, _currentCourse$course3, _currentCourse$course4, _currentCourse$course5, _currentCourse$first_, _currentCourse$first_2, _currentCourse$course6, _currentCourse$course7, _currentCourse$first_3, _currentCourse$first_4, _currentCourse$course8, _currentCourse$course9, _currentCourse$course10, _currentCourse$course11, _currentCourse$first_5, _currentCourse$first_6, _pathsDetail$detail87, _pathsDetail$detail88, _pathsDetail$detail89, _pathsDetail$detail90, _pathsDetail$detail91, _pathsDetail$detail92, _pathsDetail$detail93, _pathsDetail$detail94, _pathsDetail$detail95, _pathsDetail$detail96, _pathsDetail$detail97, _pathsDetail$detail98, _pathsDetail$detail99, _pathsDetail$detail100, _pathsDetail$detail101, _pathsDetail$detail102;
var pathsDetail = _ref.pathsDetail,
user = _ref.user,
globalSetting = _ref.globalSetting,
loading = _ref.loading,
dispatch = _ref.dispatch,
props = Object(objectWithoutProperties["a" /* default */])(_ref, ["pathsDetail", "user", "globalSetting", "loading", "dispatch"]);
var params = Object(react_router["i" /* useParams */])();
var _useState = Object(external_window_React_["useState"])({}),
_useState2 = Object(slicedToArray["a" /* default */])(_useState, 2),
currentCourse = _useState2[0],
setCurrentCourse = _useState2[1];
var radioValue = Object(external_window_React_["useRef"])(1);
var _useState3 = Object(external_window_React_["useState"])(),
_useState4 = Object(slicedToArray["a" /* default */])(_useState3, 2),
isOrderSuccess = _useState4[0],
setIsOrderSuccess = _useState4[1]; // 预约成功标志
var _useState5 = Object(external_window_React_["useState"])(false),
_useState6 = Object(slicedToArray["a" /* default */])(_useState5, 2),
cancelPublishLoading = _useState6[0],
setCancelPublishLoading = _useState6[1];
var _useState7 = Object(external_window_React_["useState"])(false),
_useState8 = Object(slicedToArray["a" /* default */])(_useState7, 2),
showmodal = _useState8[0],
setshowmodal = _useState8[1]; // 申请公开数据
var _useState9 = Object(external_window_React_["useState"])({
status: false
}),
_useState10 = Object(slicedToArray["a" /* default */])(_useState9, 2),
applyPublicData = _useState10[0],
setApplyPublic = _useState10[1]; // 普通课程付费
var notCollectPay = ((_pathsDetail$detail = pathsDetail.detail) === null || _pathsDetail$detail === void 0 ? void 0 : _pathsDetail$detail.is_free) || ((_pathsDetail$detail2 = pathsDetail.detail) === null || _pathsDetail$detail2 === void 0 ? void 0 : _pathsDetail$detail2.can_learning);
Object(external_window_React_["useEffect"])(function () {
setApplyPublic({
status: false
});
}, []);
Object(external_window_React_["useEffect"])(function () {
function init() {
return _init.apply(this, arguments);
}
function _init() {
_init = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee() {
var res, _res$toast, _res$toast2, _res$toast3, _res$toast4, _aa$filter, aa;
return regenerator_default.a.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return dispatch({
type: 'pathsDetail/getPathsDetail',
payload: {
id: params.pathId
}
});
case 2:
res = _context.sent;
if (res !== null && res !== void 0 && res.toast) {
if (res !== null && res !== void 0 && (_res$toast = res.toast) !== null && _res$toast !== void 0 && _res$toast.is_open && ((_res$toast2 = res.toast) === null || _res$toast2 === void 0 ? void 0 : _res$toast2.open_num) === -1) {
setshowmodal(true);
} else {
if (res !== null && res !== void 0 && (_res$toast3 = res.toast) !== null && _res$toast3 !== void 0 && _res$toast3.is_open && (res === null || res === void 0 ? void 0 : (_res$toast4 = res.toast) === null || _res$toast4 === void 0 ? void 0 : _res$toast4.open_num) === 1) {
aa = JSON.parse(localStorage.getItem('pathsshow')) || [];
if (((_aa$filter = aa.filter(function (item) {
return item === (params === null || params === void 0 ? void 0 : params.pathId);
})) === null || _aa$filter === void 0 ? void 0 : _aa$filter.length) > 0) {
setshowmodal(false);
} else {
setshowmodal(true);
aa.push(params === null || params === void 0 ? void 0 : params.pathId);
localStorage.setItem('pathsshow', JSON.stringify(aa));
}
} else {
setshowmodal(false);
}
}
}
case 4:
case "end":
return _context.stop();
}
}
}, _callee);
}));
return _init.apply(this, arguments);
}
init();
}, []);
Object(external_window_React_["useEffect"])(function () {
var _pathsDetail$detail3, _pathsDetail$detail3$, _pathsDetail$detail4, _pathsDetail$detail8;
var length = (_pathsDetail$detail3 = pathsDetail.detail) === null || _pathsDetail$detail3 === void 0 ? void 0 : (_pathsDetail$detail3$ = _pathsDetail$detail3.courses) === null || _pathsDetail$detail3$ === void 0 ? void 0 : _pathsDetail$detail3$.length;
if (!length) {
return;
}
var currentNumber;
if ((_pathsDetail$detail4 = pathsDetail.detail) !== null && _pathsDetail$detail4 !== void 0 && _pathsDetail$detail4.has_start) {
var _pathsDetail$detail5, _pathsDetail$detail5$;
var findIndex = (_pathsDetail$detail5 = pathsDetail.detail) === null || _pathsDetail$detail5 === void 0 ? void 0 : (_pathsDetail$detail5$ = _pathsDetail$detail5.courses) === null || _pathsDetail$detail5$ === void 0 ? void 0 : _pathsDetail$detail5$.findIndex(function (item) {
var _item$course_status;
return ((_item$course_status = item.course_status) === null || _item$course_status === void 0 ? void 0 : _item$course_status.status) === 1;
});
currentNumber = findIndex > -1 ? findIndex : 0;
} else {
var _pathsDetail$detail6, _pathsDetail$detail6$, _pathsDetail$detail6$2, _pathsDetail$detail7, _pathsDetail$detail7$;
var _findIndex = (_pathsDetail$detail6 = pathsDetail.detail) === null || _pathsDetail$detail6 === void 0 ? void 0 : (_pathsDetail$detail6$ = _pathsDetail$detail6.courses) === null || _pathsDetail$detail6$ === void 0 ? void 0 : (_pathsDetail$detail6$2 = _pathsDetail$detail6$.map(function (item) {
var _item$course_status2;
return (_item$course_status2 = item.course_status) === null || _item$course_status2 === void 0 ? void 0 : _item$course_status2.status;
})) === null || _pathsDetail$detail6$2 === void 0 ? void 0 : _pathsDetail$detail6$2.lastIndexOf(2);
currentNumber = _findIndex > -1 ? _findIndex : 0;
_findIndex = (_pathsDetail$detail7 = pathsDetail.detail) === null || _pathsDetail$detail7 === void 0 ? void 0 : (_pathsDetail$detail7$ = _pathsDetail$detail7.courses) === null || _pathsDetail$detail7$ === void 0 ? void 0 : _pathsDetail$detail7$.findIndex(function (item) {
var _item$course_status3;
return ((_item$course_status3 = item.course_status) === null || _item$course_status3 === void 0 ? void 0 : _item$course_status3.status) === 0;
});
currentNumber = _findIndex > -1 ? _findIndex : currentNumber;
}
setCurrentCourse(((_pathsDetail$detail8 = pathsDetail.detail) === null || _pathsDetail$detail8 === void 0 ? void 0 : _pathsDetail$detail8.courses[currentNumber]) || {});
}, [pathsDetail.detail]);
var handleChangeCourse = function handleChangeCourse(courseId) {
var _pathsDetail$detail9, _pathsDetail$detail9$;
var course = (_pathsDetail$detail9 = pathsDetail.detail) === null || _pathsDetail$detail9 === void 0 ? void 0 : (_pathsDetail$detail9$ = _pathsDetail$detail9.courses) === null || _pathsDetail$detail9$ === void 0 ? void 0 : _pathsDetail$detail9$.find(function (item) {
return item.course_id === courseId;
});
setCurrentCourse(course || {});
dispatch({
type: 'classroomList/setActionTabs',
payload: {
key: '修改开课时间',
name: courseId
}
});
};
var handleCancelCollect = /*#__PURE__*/function () {
var _ref2 = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee2() {
var res;
return regenerator_default.a.wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
_context2.next = 2;
return Object(paths["k" /* cancelCollect */])({
container_id: params.pathId,
container_type: 'Subject'
});
case 2:
res = _context2.sent;
if (res.status === 0) {
reloadData();
es_message["b" /* default */].success(res.message);
}
case 4:
case "end":
return _context2.stop();
}
}
}, _callee2);
}));
return function handleCancelCollect() {
return _ref2.apply(this, arguments);
};
}();
var handleCollect = /*#__PURE__*/function () {
var _ref3 = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee3() {
var res;
return regenerator_default.a.wrap(function _callee3$(_context3) {
while (1) {
switch (_context3.prev = _context3.next) {
case 0:
_context3.next = 2;
return Object(paths["n" /* collect */])({
container_id: params.pathId,
container_type: 'Subject'
});
case 2:
res = _context3.sent;
if (res.status === 0) {
reloadData();
es_message["b" /* default */].success(res.message);
}
case 4:
case "end":
return _context3.stop();
}
}
}, _callee3);
}));
return function handleCollect() {
return _ref3.apply(this, arguments);
};
}();
var handleDelete = /*#__PURE__*/function () {
var _ref4 = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee5() {
return regenerator_default.a.wrap(function _callee5$(_context5) {
while (1) {
switch (_context5.prev = _context5.next) {
case 0:
modal["a" /* default */].confirm({
centered: true,
width: 530,
title: '提示',
okText: '确定',
cancelText: '取消',
content: /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "tc"
}, "\u662F\u5426\u5220\u9664\u5B9E\u8DF5\u8BFE\u7A0B?"),
onOk: function () {
var _onOk = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee4() {
var res;
return regenerator_default.a.wrap(function _callee4$(_context4) {
while (1) {
switch (_context4.prev = _context4.next) {
case 0:
_context4.next = 2;
return Object(paths["q" /* deletePath */])({
id: params.pathId
});
case 2:
res = _context4.sent;
if (res.status === 1) {
umiExports["d" /* history */].push("/paths");
}
case 4:
case "end":
return _context4.stop();
}
}
}, _callee4);
}));
function onOk() {
return _onOk.apply(this, arguments);
}
return onOk;
}()
});
case 1:
case "end":
return _context5.stop();
}
}
}, _callee5);
}));
return function handleDelete() {
return _ref4.apply(this, arguments);
};
}();
var handleApplyPublish = /*#__PURE__*/function () {
var _ref5 = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee7() {
return regenerator_default.a.wrap(function _callee7$(_context7) {
while (1) {
switch (_context7.prev = _context7.next) {
case 0:
modal["a" /* default */].info({
centered: true,
width: 530,
title: '提示',
okText: '知道啦',
content: /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "tc"
}, "\u8BFE\u7A0B\u53D1\u5E03\u540E\u5373\u53EF\u53D1\u9001\u8BFE\u5802\u4F7F\u7528"),
onOk: function () {
var _onOk2 = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee6() {
var res;
return regenerator_default.a.wrap(function _callee6$(_context6) {
while (1) {
switch (_context6.prev = _context6.next) {
case 0:
_context6.next = 2;
return Object(paths["h" /* applyPublish */])({
id: params.pathId
});
case 2:
res = _context6.sent;
if ((res === null || res === void 0 ? void 0 : res.status) === 0) {
reloadData();
es_message["b" /* default */].success(res.message);
}
case 4:
case "end":
return _context6.stop();
}
}
}, _callee6);
}));
function onOk() {
return _onOk2.apply(this, arguments);
}
return onOk;
}()
});
case 1:
case "end":
return _context7.stop();
}
}
}, _callee7);
}));
return function handleApplyPublish() {
return _ref5.apply(this, arguments);
};
}();
var handleCancelPublish = /*#__PURE__*/function () {
var _ref6 = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee9() {
return regenerator_default.a.wrap(function _callee9$(_context9) {
while (1) {
switch (_context9.prev = _context9.next) {
case 0:
modal["a" /* default */].confirm({
centered: true,
width: 530,
title: '提示',
okText: '确定',
cancelText: '取消',
content: /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "tc"
}, "\u662F\u5426\u786E\u8BA4\u64A4\u9500\u53D1\u5E03\uFF1F"),
okButtonProps: {
loading: cancelPublishLoading
},
onOk: function () {
var _onOk3 = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee8() {
var res;
return regenerator_default.a.wrap(function _callee8$(_context8) {
while (1) {
switch (_context8.prev = _context8.next) {
case 0:
setCancelPublishLoading(true);
_context8.next = 3;
return Object(paths["m" /* cancelPublish */])({
id: params.pathId
});
case 3:
res = _context8.sent;
if ((res === null || res === void 0 ? void 0 : res.status) === 1) {
reloadData();
es_message["b" /* default */].success('撤销发布成功');
}
setCancelPublishLoading(false);
case 6:
case "end":
return _context8.stop();
}
}
}, _callee8);
}));
function onOk() {
return _onOk3.apply(this, arguments);
}
return onOk;
}()
});
case 1:
case "end":
return _context9.stop();
}
}
}, _callee9);
}));
return function handleCancelPublish() {
return _ref6.apply(this, arguments);
};
}();
/**
* 公开课程点击事件
*/
var onApplyPublic = function onApplyPublic() {
// 判断是否设置了方向课程
if (pathsDetail.detail && pathsDetail.detail.has_sub_discipline) {
fetchApplyPublic({
user_customize: false
});
} else {
handleApplyPublic(true);
}
};
/**
* 公开课程的弹窗显隐事件
*/
var handleApplyPublic = function handleApplyPublic(status) {
setApplyPublic({
status: status
});
};
/**
* 二次确定申请公开事件
*/
var fetchApplyPublic = function fetchApplyPublic(data) {
modal["a" /* default */].confirm({
centered: true,
width: 530,
title: '提示',
okText: '确定申请',
cancelText: '取消申请',
content: /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "tc"
}, "\u516C\u5F00\u8BFE\u7A0B\u9700\u7ECF\u8FC7\u5E73\u53F0\u6807\u51C6\u5316\u5BA1\u6838\uFF0C\u5BA1\u6838\u5468\u671F\u4E3A1-2\u5929\uFF0C\u516C\u5F00", /*#__PURE__*/external_window_React_default.a.createElement("br", null), "\u7684\u8BFE\u7A0B\u5C06\u5BF9\u5E73\u53F0\u6240\u6709\u4EBA\u53EF\u89C1\u3002\u82E5\u4EC5\u672C\u4EBA\u6559\u5B66\u4F7F\u7528\u5219\u65E0\u9700", /*#__PURE__*/external_window_React_default.a.createElement("br", null), "\u7533\u8BF7\u516C\u5F00\uFF0C\u76F4\u63A5\u53D1\u9001\u5230\u8BFE\u5802\u5373\u53EF", /*#__PURE__*/external_window_React_default.a.createElement("br", null)),
onOk: function () {
var _onOk4 = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee10() {
var param, res;
return regenerator_default.a.wrap(function _callee10$(_context10) {
while (1) {
switch (_context10.prev = _context10.next) {
case 0:
param = {
user_customize: data.user_customize
};
if (data.user_customize) {
param = Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, param), {}, {
discipline_name: data.discipline_name,
sub_discipline_name: data.sub_discipline_name
});
} else {
if (data.sub_discipline_id) {
param = Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, param), {}, {
sub_discipline_id: data.sub_discipline_id
});
}
}
_context10.next = 4;
return Object(paths["g" /* applyPublic */])(Object(objectSpread2["a" /* default */])({
id: params.pathId
}, param));
case 4:
res = _context10.sent;
if ((res === null || res === void 0 ? void 0 : res.status) === 0 || (res === null || res === void 0 ? void 0 : res.status) === 1) {
reloadData();
es_message["b" /* default */].success('公开申请已提交,请等待管理员的审核');
}
case 6:
case "end":
return _context10.stop();
}
}
}, _callee10);
}));
function onOk() {
return _onOk4.apply(this, arguments);
}
return onOk;
}()
});
};
var handleCancelPublic = /*#__PURE__*/function () {
var _ref7 = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee12() {
return regenerator_default.a.wrap(function _callee12$(_context12) {
while (1) {
switch (_context12.prev = _context12.next) {
case 0:
modal["a" /* default */].confirm({
centered: true,
width: 530,
title: '提示',
okText: '确定',
cancelText: '取消',
content: /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "tc"
}, "\u662F\u5426\u786E\u8BA4\u64A4\u9500\u7533\u8BF7\u516C\u5F00\uFF1F"),
onOk: function () {
var _onOk5 = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee11() {
var res;
return regenerator_default.a.wrap(function _callee11$(_context11) {
while (1) {
switch (_context11.prev = _context11.next) {
case 0:
_context11.next = 2;
return Object(paths["l" /* cancelPublic */])({
id: params.pathId
});
case 2:
res = _context11.sent;
if ((res === null || res === void 0 ? void 0 : res.status) === 0) {
reloadData();
es_message["b" /* default */].success('撤销申请公开成功');
}
case 4:
case "end":
return _context11.stop();
}
}
}, _callee11);
}));
function onOk() {
return _onOk5.apply(this, arguments);
}
return onOk;
}()
});
case 1:
case "end":
return _context12.stop();
}
}
}, _callee12);
}));
return function handleCancelPublic() {
return _ref7.apply(this, arguments);
};
}();
var handleStartClass = /*#__PURE__*/function () {
var _ref8 = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee14() {
return regenerator_default.a.wrap(function _callee14$(_context14) {
while (1) {
switch (_context14.prev = _context14.next) {
case 0:
modal["a" /* default */].confirm({
centered: true,
width: 530,
title: '提示',
okText: '确定',
cancelText: '取消',
content: /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "ml20"
}, /*#__PURE__*/external_window_React_default.a.createElement(es_radio["a" /* default */].Group, {
defaultValue: 1,
onChange: function onChange(e) {
return radioValue.current = e.target.value;
}
}, /*#__PURE__*/external_window_React_default.a.createElement(es_radio["a" /* default */], {
value: 1,
className: "mt10"
}, "\u5F00\u653E\u8BFE\u5802\uFF1A", /*#__PURE__*/external_window_React_default.a.createElement("span", null, "\u6240\u6709\u7528\u6237\u53EF\u4EE5\u968F\u65F6\u8BBF\u95EE")), /*#__PURE__*/external_window_React_default.a.createElement(es_radio["a" /* default */], {
value: 0,
className: "mt10"
}, "\u79C1\u6709\u8BFE\u5802\uFF1A", /*#__PURE__*/external_window_React_default.a.createElement("span", null, "\u4EC5\u62A5\u540D\u53C2\u4E0E\u7684\u8BFE\u5802\u6210\u5458\u53EF\u4EE5\u8BBF\u95EE")))),
onOk: function () {
var _onOk6 = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee13() {
return regenerator_default.a.wrap(function _callee13$(_context13) {
while (1) {
switch (_context13.prev = _context13.next) {
case 0:
Object(util["Q" /* openNewWindow */])("/classrooms/news/".concat(params.pathId, "/newgold/").concat(radioValue.current));
case 1:
case "end":
return _context13.stop();
}
}
}, _callee13);
}));
function onOk() {
return _onOk6.apply(this, arguments);
}
return onOk;
}()
});
case 1:
case "end":
return _context14.stop();
}
}
}, _callee14);
}));
return function handleStartClass() {
return _ref8.apply(this, arguments);
};
}();
var handleRegister = function handleRegister() {
modal["a" /* default */].confirm({
centered: true,
width: 530,
title: '提示',
okText: '确定',
cancelText: '取消',
content: /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "tc"
}, "\u662F\u5426\u786E\u8BA4\u7ACB\u5373\u9884\u7EA6\uFF1F"),
onOk: function () {
var _onOk7 = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee15() {
var res;
return regenerator_default.a.wrap(function _callee15$(_context15) {
while (1) {
switch (_context15.prev = _context15.next) {
case 0:
_context15.next = 2;
return Object(paths["i" /* appointment */])({
id: params.pathId
});
case 2:
res = _context15.sent;
if (res.status === 0) {
setIsOrderSuccess(true);
es_message["b" /* default */].success(res.message);
}
case 4:
case "end":
return _context15.stop();
}
}
}, _callee15);
}));
function onOk() {
return _onOk7.apply(this, arguments);
}
return onOk;
}()
});
};
var handleImmediatelyRegister = function handleImmediatelyRegister() {
if (!Object(verifyLogin["e" /* handleVerify */])(dispatch)) {
return;
}
modal["a" /* default */].confirm({
centered: true,
width: 530,
title: '提示',
okText: '确定',
cancelText: '取消',
content: /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "tc"
}, "\u662F\u5426\u786E\u5B9A\u52A0\u5165\u8BE5\u8BFE\u5802"),
onOk: function () {
var _onOk8 = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee16() {
var res, _currentCourse$course;
return regenerator_default.a.wrap(function _callee16$(_context16) {
while (1) {
switch (_context16.prev = _context16.next) {
case 0:
_context16.next = 2;
return Object(paths["M" /* immediatelyRegister */])({
id: currentCourse === null || currentCourse === void 0 ? void 0 : currentCourse.course_id
});
case 2:
res = _context16.sent;
if (res.status === 0) {
es_message["b" /* default */].success(res.message);
dispatch({
type: 'pathsDetail/getPathsDetail',
payload: {
id: params.pathId
}
});
if (((_currentCourse$course = currentCourse.course_status) === null || _currentCourse$course === void 0 ? void 0 : _currentCourse$course.status) === 1) {
Object(util["Q" /* openNewWindow */])("/classrooms/".concat(currentCourse === null || currentCourse === void 0 ? void 0 : currentCourse.course_id, "/shixun_homework"));
}
}
case 4:
case "end":
return _context16.stop();
}
}
}, _callee16);
}));
function onOk() {
return _onOk8.apply(this, arguments);
}
return onOk;
}()
});
};
var handleSendToClass = function handleSendToClass() {
var _pathsDetail$detail10;
if ((_pathsDetail$detail10 = pathsDetail.detail) !== null && _pathsDetail$detail10 !== void 0 && _pathsDetail$detail10.need_authorize) {
Object(verifyLogin["a" /* AuthorizeModel */])(false, '该课程中包含实训需授权后才可使用。 您可以在QQ服务群向管理员申请,获得继续操作的权限。');
return;
}
if (!Object(verifyLogin["e" /* handleVerify */])(dispatch)) {
return;
}
dispatch({
type: 'pathsDetail/setActionTabs',
payload: {
key: 'PathsDetail-SendToClass'
}
});
};
var reloadData = function reloadData() {
dispatch({
type: 'pathsDetail/getPathsDetail',
payload: {
id: params.pathId
}
});
dispatch({
type: 'pathsDetail/getRightData',
payload: {
id: params.pathId
}
});
};
var applyPath = !!((_pathsDetail$detail11 = pathsDetail.detail) !== null && _pathsDetail$detail11 !== void 0 && _pathsDetail$detail11.participant_count) && !((_pathsDetail$detail12 = pathsDetail.detail) !== null && _pathsDetail$detail12 !== void 0 && _pathsDetail$detail12.allow_statistics);
var currentNumber = ((_pathsDetail$detail13 = pathsDetail.detail) === null || _pathsDetail$detail13 === void 0 ? void 0 : (_pathsDetail$detail14 = _pathsDetail$detail13.courses) === null || _pathsDetail$detail14 === void 0 ? void 0 : _pathsDetail$detail14.findIndex(function (item) {
return (item === null || item === void 0 ? void 0 : item.course_id) === (currentCourse === null || currentCourse === void 0 ? void 0 : currentCourse.course_id);
})) + 1;
var isLastNumber = currentNumber === ((_pathsDetail$detail15 = pathsDetail.detail) === null || _pathsDetail$detail15 === void 0 ? void 0 : (_pathsDetail$detail16 = _pathsDetail$detail15.courses) === null || _pathsDetail$detail16 === void 0 ? void 0 : _pathsDetail$detail16.length); // console.log('currentNumber',currentNumber,'isLastNumber',isLastNumber);
return /*#__PURE__*/external_window_React_default.a.createElement("section", null, /*#__PURE__*/external_window_React_default.a.createElement("aside", {
className: Bannermodules_default.a.banner,
style: {
backgroundImage: pathsDetail !== null && pathsDetail !== void 0 && (_pathsDetail$detail17 = pathsDetail.detail) !== null && _pathsDetail$detail17 !== void 0 && (_pathsDetail$detail18 = _pathsDetail$detail17.attachments) !== null && _pathsDetail$detail18 !== void 0 && (_pathsDetail$detail19 = _pathsDetail$detail18[0]) !== null && _pathsDetail$detail19 !== void 0 && _pathsDetail$detail19.url ? "url(".concat(env["a" /* default */].API_SERVER + (pathsDetail === null || pathsDetail === void 0 ? void 0 : (_pathsDetail$detail20 = pathsDetail.detail) === null || _pathsDetail$detail20 === void 0 ? void 0 : (_pathsDetail$detail21 = _pathsDetail$detail20.attachments) === null || _pathsDetail$detail21 === void 0 ? void 0 : (_pathsDetail$detail22 = _pathsDetail$detail21[0]) === null || _pathsDetail$detail22 === void 0 ? void 0 : _pathsDetail$detail22.url), ")") : "url(".concat(banner_default.a, ")"),
marginBottom: !!((_pathsDetail$detail23 = pathsDetail.detail) !== null && _pathsDetail$detail23 !== void 0 && (_pathsDetail$detail24 = _pathsDetail$detail23.courses) !== null && _pathsDetail$detail24 !== void 0 && _pathsDetail$detail24.length) ? 70 : 20
}
}, /*#__PURE__*/external_window_React_default.a.createElement("aside", {
className: Bannermodules_default.a.wrp
}, /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: Bannermodules_default.a.operationWrap
}, !!((_pathsDetail$detail25 = pathsDetail.detail) !== null && _pathsDetail$detail25 !== void 0 && _pathsDetail$detail25.is_free) && ((_pathsDetail$detail26 = pathsDetail.detail) === null || _pathsDetail$detail26 === void 0 ? void 0 : _pathsDetail$detail26.publish_status) !== 0 && (((_pathsDetail$detail27 = pathsDetail.detail) === null || _pathsDetail$detail27 === void 0 ? void 0 : _pathsDetail$detail27.allow_add_member) || !Object(authority["m" /* isCommonStudent */])()) && /*#__PURE__*/external_window_React_default.a.createElement(tooltip["a" /* default */], {
placement: "bottom",
title: "\u4EE5\u5B9E\u8BAD\u4F5C\u4E1A\u7684\u5F62\u5F0F\u53D1\u9001\u5230\u6211\u7684\u8BFE\u5802"
}, /*#__PURE__*/external_window_React_default.a.createElement("span", {
// className={`${styles.button} ${styles.buttonTransparent} mr15`}
onClick: handleSendToClass,
style: {
fontSize: '12px',
color: '#fff',
lineHeight: '24px',
cursor: 'pointer',
marginLeft: '26px'
}
}, /*#__PURE__*/external_window_React_default.a.createElement("img", {
src: fsz_default.a,
style: {
marginRight: '10px'
}
}), "\u53D1\u9001\u81F3")), ((_pathsDetail$detail28 = pathsDetail.detail) === null || _pathsDetail$detail28 === void 0 ? void 0 : _pathsDetail$detail28.allow_statistics) && ((_pathsDetail$detail29 = pathsDetail.detail) === null || _pathsDetail$detail29 === void 0 ? void 0 : _pathsDetail$detail29.public_status) === 2 && /*#__PURE__*/external_window_React_default.a.createElement("span", {
// className={`${styles.buttonLearnStatistics} mr15`}
onClick: function onClick() {
return umiExports["d" /* history */].push("/paths/".concat(params.pathId, "/statistics"));
},
style: {
fontSize: '12px',
color: '#fff',
lineHeight: '24px',
cursor: 'pointer',
marginLeft: '26px'
}
}, /*#__PURE__*/external_window_React_default.a.createElement("img", {
src: xxtj_default.a,
style: {
marginRight: '10px'
}
}), "\u5B66\u4E60\u7EDF\u8BA1"), ((_pathsDetail$detail30 = pathsDetail.detail) === null || _pathsDetail$detail30 === void 0 ? void 0 : _pathsDetail$detail30.allow_add_member) && /*#__PURE__*/external_window_React_default.a.createElement(dropdown["a" /* default */], {
overlay: /*#__PURE__*/external_window_React_default.a.createElement(menu["a" /* default */], null, ((_pathsDetail$detail31 = pathsDetail.detail) === null || _pathsDetail$detail31 === void 0 ? void 0 : _pathsDetail$detail31.courses) && (((_pathsDetail$detail32 = pathsDetail.detail) === null || _pathsDetail$detail32 === void 0 ? void 0 : _pathsDetail$detail32.is_creator) && !!((_user$userInfo = user.userInfo) !== null && _user$userInfo !== void 0 && _user$userInfo.professional_certification) || Object(authority["o" /* isCommonSuperAdminOrOperation */])()) && /*#__PURE__*/external_window_React_default.a.createElement(menu["a" /* default */].Item, {
// className={`${styles.button} ${styles.buttonTransparent} mr15`}
style: {
textAlign: 'center'
},
onClick: handleStartClass
}, "\u5F00\u8BFE"), ((_pathsDetail$detail33 = pathsDetail.detail) === null || _pathsDetail$detail33 === void 0 ? void 0 : _pathsDetail$detail33.allow_statistics) && /*#__PURE__*/external_window_React_default.a.createElement(menu["a" /* default */].Item, {
style: {
textAlign: 'center'
} // className={`${styles.button} ${styles.buttonTransparent} mr15`}
,
onClick: function onClick() {
return umiExports["d" /* history */].push("/paths/".concat(params.pathId, "/edit"));
}
}, "\u7F16\u8F91\u8BFE\u7A0B"), ((_pathsDetail$detail34 = pathsDetail.detail) === null || _pathsDetail$detail34 === void 0 ? void 0 : _pathsDetail$detail34.allow_add_member) && ((_pathsDetail$detail35 = pathsDetail.detail) === null || _pathsDetail$detail35 === void 0 ? void 0 : _pathsDetail$detail35.publish_status) === 0 && /*#__PURE__*/external_window_React_default.a.createElement(menu["a" /* default */].Item, {
// className={`${styles.button} ${styles.buttonTransparent} mr15`}
style: {
textAlign: 'center'
},
onClick: handleApplyPublish
}, "\u53D1\u5E03\u8BFE\u7A0B"), ((_pathsDetail$detail36 = pathsDetail.detail) === null || _pathsDetail$detail36 === void 0 ? void 0 : _pathsDetail$detail36.allow_statistics) && ((_pathsDetail$detail37 = pathsDetail.detail) === null || _pathsDetail$detail37 === void 0 ? void 0 : _pathsDetail$detail37.publish_status) === 2 && ((_pathsDetail$detail38 = pathsDetail.detail) === null || _pathsDetail$detail38 === void 0 ? void 0 : _pathsDetail$detail38.public_status) === 0 && /*#__PURE__*/external_window_React_default.a.createElement(menu["a" /* default */].Item, {
// className={`${styles.button} ${styles.buttonTransparent} mr15`}
style: {
textAlign: 'center'
},
onClick: handleCancelPublish
}, "\u64A4\u9500\u53D1\u5E03"), ((_pathsDetail$detail39 = pathsDetail.detail) === null || _pathsDetail$detail39 === void 0 ? void 0 : _pathsDetail$detail39.allow_statistics) && ((_pathsDetail$detail40 = pathsDetail.detail) === null || _pathsDetail$detail40 === void 0 ? void 0 : _pathsDetail$detail40.publish_status) === 2 && ((_pathsDetail$detail41 = pathsDetail.detail) === null || _pathsDetail$detail41 === void 0 ? void 0 : _pathsDetail$detail41.public_status) === 0 && /*#__PURE__*/external_window_React_default.a.createElement(menu["a" /* default */].Item, {
// className={`${styles.button} ${styles.buttonTransparent} mr15`}
style: {
textAlign: 'center'
},
onClick: onApplyPublic
}, "\u516C\u5F00\u8BFE\u7A0B"), ((_pathsDetail$detail42 = pathsDetail.detail) === null || _pathsDetail$detail42 === void 0 ? void 0 : _pathsDetail$detail42.allow_statistics) && ((_pathsDetail$detail43 = pathsDetail.detail) === null || _pathsDetail$detail43 === void 0 ? void 0 : _pathsDetail$detail43.public_status) === 1 && /*#__PURE__*/external_window_React_default.a.createElement(menu["a" /* default */].Item, {
// className={`${styles.button} ${styles.buttonTransparent} mr15`}
style: {
textAlign: 'center'
},
onClick: handleCancelPublic
}, "\u64A4\u9500\u7533\u8BF7\u516C\u5F00"), Object(authority["c" /* isAdmin */])() && ((_pathsDetail$detail44 = pathsDetail.detail) === null || _pathsDetail$detail44 === void 0 ? void 0 : _pathsDetail$detail44.allow_statistics) && ((_pathsDetail$detail45 = pathsDetail.detail) === null || _pathsDetail$detail45 === void 0 ? void 0 : _pathsDetail$detail45.public_status) === 2 && /*#__PURE__*/external_window_React_default.a.createElement(menu["a" /* default */].Item, {
// className={`${styles.button} ${styles.buttonTransparent} mr15`}
style: {
textAlign: 'center'
},
onClick: handleCancelPublic
}, "\u64A4\u9500\u516C\u5F00"), ((_pathsDetail$detail46 = pathsDetail.detail) === null || _pathsDetail$detail46 === void 0 ? void 0 : _pathsDetail$detail46.allow_delete) && /*#__PURE__*/external_window_React_default.a.createElement(menu["a" /* default */].Item, {
// className={`${styles.button} ${styles.buttonTransparent} mr15`}
style: {
textAlign: 'center'
},
onClick: handleDelete
}, "\u5220\u9664\u8BFE\u7A0B"))
}, /*#__PURE__*/external_window_React_default.a.createElement("span", {
// className={`${styles.button} mr15`}
style: {
fontSize: '12px',
color: '#fff',
lineHeight: '24px',
cursor: 'pointer',
marginLeft: '26px'
} // onClick={() => history.push(`/paths/${params.pathId}/statistics`)}
}, /*#__PURE__*/external_window_React_default.a.createElement("img", {
src: sz_default.a,
style: {
marginRight: '10px'
}
}), "\u8BBE\u7F6E"))), /*#__PURE__*/external_window_React_default.a.createElement("p", {
className: [Bannermodules_default.a.titleWrap, ((_pathsDetail$detail47 = pathsDetail.detail) === null || _pathsDetail$detail47 === void 0 ? void 0 : (_pathsDetail$detail48 = _pathsDetail$detail47.name) === null || _pathsDetail$detail48 === void 0 ? void 0 : _pathsDetail$detail48.indexOf('\n')) && Bannermodules_default.a.titleFlexEnd].join(' ')
}, /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: Bannermodules_default.a.title // dangerouslySetInnerHTML={{ __html: pathsDetail.detail?.name?.replace(/\n/, "
") || "" }}
}, /*#__PURE__*/external_window_React_default.a.createElement("strong", null, (_pathsDetail$detail49 = pathsDetail.detail) === null || _pathsDetail$detail49 === void 0 ? void 0 : (_pathsDetail$detail50 = _pathsDetail$detail49.name) === null || _pathsDetail$detail50 === void 0 ? void 0 : _pathsDetail$detail50.split('\n')[0]), /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: "font24"
}, /*#__PURE__*/external_window_React_default.a.createElement("br", null), (_pathsDetail$detail51 = pathsDetail.detail) === null || _pathsDetail$detail51 === void 0 ? void 0 : (_pathsDetail$detail52 = _pathsDetail$detail51.name) === null || _pathsDetail$detail52 === void 0 ? void 0 : _pathsDetail$detail52.split('\n').filter(function (i, k) {
return k !== 0;
}).join(''))), /*#__PURE__*/external_window_React_default.a.createElement("div", null, ((_pathsDetail$detail53 = pathsDetail.detail) === null || _pathsDetail$detail53 === void 0 ? void 0 : _pathsDetail$detail53.excellent) && /*#__PURE__*/external_window_React_default.a.createElement(es_tag["a" /* default */], {
className: "".concat(Bannermodules_default.a.openCourseTag, " font14"),
style: {
background: '#44D7B6',
border: '1px solid #44D7B6'
}
}, "\u5F00\u653E\u8BFE\u7A0B"), ((_pathsDetail$detail54 = pathsDetail.detail) === null || _pathsDetail$detail54 === void 0 ? void 0 : _pathsDetail$detail54.featured) > 0 && /*#__PURE__*/external_window_React_default.a.createElement("div", null, ((_pathsDetail$detail55 = pathsDetail.detail) === null || _pathsDetail$detail55 === void 0 ? void 0 : _pathsDetail$detail55.featured) === 1 && /*#__PURE__*/external_window_React_default.a.createElement(es_tag["a" /* default */], {
className: "".concat(Bannermodules_default.a.openCourseTag, " font14"),
style: {
background: '#FF8C29',
border: '1px solid #FF8C29'
}
}, "\u56FD\u5BB6\u4E00\u6D41"), ((_pathsDetail$detail56 = pathsDetail.detail) === null || _pathsDetail$detail56 === void 0 ? void 0 : _pathsDetail$detail56.featured) === 2 && /*#__PURE__*/external_window_React_default.a.createElement(es_tag["a" /* default */], {
className: "".concat(Bannermodules_default.a.openCourseTag, " font14"),
style: {
background: '#4361F2',
border: '1px solid #4361F2'
}
}, "\u519B\u961F\u4E00\u6D41"), ((_pathsDetail$detail57 = pathsDetail.detail) === null || _pathsDetail$detail57 === void 0 ? void 0 : _pathsDetail$detail57.featured) === 3 && /*#__PURE__*/external_window_React_default.a.createElement(es_tag["a" /* default */], {
className: "".concat(Bannermodules_default.a.openCourseTag, " font14"),
style: {
background: '#B38D24',
border: '1px solid #B38D24'
}
}, "\u7701\u7EA7\u4E00\u6D41")), ((_user$userInfo2 = user.userInfo) === null || _user$userInfo2 === void 0 ? void 0 : _user$userInfo2.login) && ((_pathsDetail$detail58 = pathsDetail.detail) === null || _pathsDetail$detail58 === void 0 ? void 0 : _pathsDetail$detail58.is_collect) && /*#__PURE__*/external_window_React_default.a.createElement(es_button["a" /* default */], {
className: "".concat(Bannermodules_default.a.button, " ").concat(Bannermodules_default.a.buttonTransparent, " mr15"),
onClick: handleCancelCollect
}, "\u53D6\u6D88\u6536\u85CF"), ((_user$userInfo3 = user.userInfo) === null || _user$userInfo3 === void 0 ? void 0 : _user$userInfo3.login) && !((_pathsDetail$detail59 = pathsDetail.detail) !== null && _pathsDetail$detail59 !== void 0 && _pathsDetail$detail59.is_collect) && /*#__PURE__*/external_window_React_default.a.createElement("span", {
// ${styles.button} ${styles.buttonTransparent}
style: {
fontSize: '12px',
color: '#fff',
lineHeight: '24px',
cursor: 'pointer',
marginLeft: '20px',
display: 'flex'
} // className={`mr15`}
,
onClick: handleCollect
}, /*#__PURE__*/external_window_React_default.a.createElement("img", {
src: sc_default.a,
style: {
marginRight: '10px'
}
}), /*#__PURE__*/external_window_React_default.a.createElement("span", {
style: {
height: '24px'
}
}, "\u6536\u85CF")), !Object(authority["p" /* isLogin */])() && /*#__PURE__*/external_window_React_default.a.createElement("span", {
// className={`${styles.button} ${styles.buttonTransparent} mr15`}
// ghost
style: {
fontSize: '12px',
color: '#fff',
lineHeight: '24px',
cursor: 'pointer',
marginLeft: '20px',
display: 'flex'
},
className: "mr15",
onClick: function onClick() {
if (!Object(verifyLogin["e" /* handleVerify */])(dispatch)) {
return;
}
}
}, /*#__PURE__*/external_window_React_default.a.createElement("img", {
src: sc_default.a,
style: {
marginRight: '10px'
}
}), /*#__PURE__*/external_window_React_default.a.createElement("span", {
style: {
height: '24px'
}
}, "\u6536\u85CF")))), /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: Bannermodules_default.a.contentWrap
}, /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: Bannermodules_default.a.contentLeftWrap
}, !!((_pathsDetail$detail60 = pathsDetail.detail) !== null && _pathsDetail$detail60 !== void 0 && _pathsDetail$detail60.stages_count) && /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "mr30"
}, /*#__PURE__*/external_window_React_default.a.createElement("span", null, "\u7AE0\u8282"), /*#__PURE__*/external_window_React_default.a.createElement("p", {
className: "mt3"
}, (_pathsDetail$detail61 = pathsDetail.detail) === null || _pathsDetail$detail61 === void 0 ? void 0 : _pathsDetail$detail61.stages_count)), !!((_pathsDetail$detail62 = pathsDetail.detail) !== null && _pathsDetail$detail62 !== void 0 && _pathsDetail$detail62.shixuns_count) && /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "mr30"
}, /*#__PURE__*/external_window_React_default.a.createElement("span", null, "\u5355\u5143"), /*#__PURE__*/external_window_React_default.a.createElement("p", {
className: "mt3"
}, (_pathsDetail$detail63 = pathsDetail.detail) === null || _pathsDetail$detail63 === void 0 ? void 0 : _pathsDetail$detail63.shixuns_count)), !!((_pathsDetail$detail64 = pathsDetail.detail) !== null && _pathsDetail$detail64 !== void 0 && _pathsDetail$detail64.challenge_choose_count) && /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "mr30"
}, /*#__PURE__*/external_window_React_default.a.createElement("span", null, "\u9009\u62E9\u9898\u5173\u5361"), /*#__PURE__*/external_window_React_default.a.createElement("p", {
className: "mt3"
}, (_pathsDetail$detail65 = pathsDetail.detail) === null || _pathsDetail$detail65 === void 0 ? void 0 : _pathsDetail$detail65.challenge_choose_count)), !!((_pathsDetail$detail66 = pathsDetail.detail) !== null && _pathsDetail$detail66 !== void 0 && _pathsDetail$detail66.challenges_count) && /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "mr30"
}, /*#__PURE__*/external_window_React_default.a.createElement("span", null, "\u5B9E\u8DF5\u5173\u5361"), /*#__PURE__*/external_window_React_default.a.createElement("p", {
className: "mt3"
}, (_pathsDetail$detail67 = pathsDetail.detail) === null || _pathsDetail$detail67 === void 0 ? void 0 : _pathsDetail$detail67.challenges_count)), !!((_pathsDetail$detail68 = pathsDetail.detail) !== null && _pathsDetail$detail68 !== void 0 && _pathsDetail$detail68.videos_count) && /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "mr30"
}, /*#__PURE__*/external_window_React_default.a.createElement("span", null, "\u89C6\u9891"), /*#__PURE__*/external_window_React_default.a.createElement("p", {
className: "mt3"
}, (_pathsDetail$detail69 = pathsDetail.detail) === null || _pathsDetail$detail69 === void 0 ? void 0 : _pathsDetail$detail69.videos_count)), !!((_pathsDetail$detail70 = pathsDetail.detail) !== null && _pathsDetail$detail70 !== void 0 && _pathsDetail$detail70.attachment_count) && /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "mr30"
}, /*#__PURE__*/external_window_React_default.a.createElement("span", null, "\u8BFE\u4EF6"), /*#__PURE__*/external_window_React_default.a.createElement("p", {
className: "mt3"
}, (_pathsDetail$detail71 = pathsDetail.detail) === null || _pathsDetail$detail71 === void 0 ? void 0 : _pathsDetail$detail71.attachment_count)), ((_pathsDetail$detail72 = pathsDetail.detail) === null || _pathsDetail$detail72 === void 0 ? void 0 : _pathsDetail$detail72.publish_status) !== 0 && !!((_pathsDetail$detail73 = pathsDetail.detail) !== null && _pathsDetail$detail73 !== void 0 && _pathsDetail$detail73.subject_score) && /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "mr30"
}, /*#__PURE__*/external_window_React_default.a.createElement("span", null, "\u7ECF\u9A8C\u503C"), /*#__PURE__*/external_window_React_default.a.createElement("p", {
className: "mt3"
}, (_pathsDetail$detail74 = pathsDetail.detail) === null || _pathsDetail$detail74 === void 0 ? void 0 : _pathsDetail$detail74.subject_score)), ((_pathsDetail$detail75 = pathsDetail.detail) === null || _pathsDetail$detail75 === void 0 ? void 0 : _pathsDetail$detail75.publish_status) !== 0 && !!((_pathsDetail$detail76 = pathsDetail.detail) !== null && _pathsDetail$detail76 !== void 0 && _pathsDetail$detail76.member_count) && /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "mr30"
}, /*#__PURE__*/external_window_React_default.a.createElement("span", null, (_pathsDetail$detail77 = pathsDetail.detail) !== null && _pathsDetail$detail77 !== void 0 && _pathsDetail$detail77.excellent ? '参与人数' : '学习人数'), /*#__PURE__*/external_window_React_default.a.createElement("p", {
className: "mt3"
}, (_pathsDetail$detail78 = pathsDetail.detail) === null || _pathsDetail$detail78 === void 0 ? void 0 : _pathsDetail$detail78.member_count)), ((_pathsDetail$detail79 = pathsDetail.detail) === null || _pathsDetail$detail79 === void 0 ? void 0 : _pathsDetail$detail79.subject_score) >= 0 && /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: "font14 c-white"
}, /*#__PURE__*/external_window_React_default.a.createElement("span", null, "\u8BC4\u5206"), /*#__PURE__*/external_window_React_default.a.createElement("br", null), /*#__PURE__*/external_window_React_default.a.createElement(rate["a" /* default */], {
allowHalf: true,
value: Object(util["B" /* formatRate */])((_pathsDetail$detail80 = pathsDetail.detail) === null || _pathsDetail$detail80 === void 0 ? void 0 : _pathsDetail$detail80.averge_star),
disabled: true,
className: Bannermodules_default.a.rating
})))), !!((_pathsDetail$detail81 = pathsDetail.detail) !== null && _pathsDetail$detail81 !== void 0 && (_pathsDetail$detail82 = _pathsDetail$detail81.courses) !== null && _pathsDetail$detail82 !== void 0 && _pathsDetail$detail82.length) && /*#__PURE__*/external_window_React_default.a.createElement("aside", {
className: Bannermodules_default.a.nav
}, /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: Bannermodules_default.a.navLeft
}, currentCourse.course_identity < 4 && /*#__PURE__*/external_window_React_default.a.createElement(tooltip["a" /* default */], {
placement: "bottom",
title: "\u7F16\u8F91\u8BFE\u5802"
}, /*#__PURE__*/external_window_React_default.a.createElement("a", {
href: "/classrooms/".concat(currentCourse === null || currentCourse === void 0 ? void 0 : currentCourse.course_id, "/newgolds/settings"),
target: "_blank"
}, /*#__PURE__*/external_window_React_default.a.createElement("i", {
className: "iconfont icon-bianji1 ".concat(Bannermodules_default.a.navLeftIcon)
}))), /*#__PURE__*/external_window_React_default.a.createElement(dropdown["a" /* default */], {
overlay: /*#__PURE__*/external_window_React_default.a.createElement(menu["a" /* default */], null, (_ref9 = Object(toConsumableArray["a" /* default */])((_pathsDetail$detail83 = pathsDetail.detail) === null || _pathsDetail$detail83 === void 0 ? void 0 : _pathsDetail$detail83.courses)) === null || _ref9 === void 0 ? void 0 : (_ref9$reverse = _ref9.reverse()) === null || _ref9$reverse === void 0 ? void 0 : _ref9$reverse.map(function (item, index) {
var _pathsDetail$detail84, _pathsDetail$detail85;
return /*#__PURE__*/external_window_React_default.a.createElement(menu["a" /* default */].Item, {
key: item.course_id,
onClick: function onClick() {
return handleChangeCourse(item.course_id);
}
}, /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: "font14"
}, "\u7B2C", ((_pathsDetail$detail84 = pathsDetail.detail) === null || _pathsDetail$detail84 === void 0 ? void 0 : (_pathsDetail$detail85 = _pathsDetail$detail84.courses) === null || _pathsDetail$detail85 === void 0 ? void 0 : _pathsDetail$detail85.length) - index, "\u671F"));
}))
}, /*#__PURE__*/external_window_React_default.a.createElement("div", null, /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: "font14 current"
}, "\u7B2C", /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: Bannermodules_default.a.colorOrange
}, currentNumber), "\u671F"), /*#__PURE__*/external_window_React_default.a.createElement(CaretDownOutlined["a" /* default */], null))), /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: Bannermodules_default.a.navContent
}, /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: Bannermodules_default.a.contentItem
}, /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: Bannermodules_default.a.contentItemTitle
}, "\u5F00\u8BFE\u65F6\u95F4\uFF1A"), /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: Bannermodules_default.a.contentItemText
}, currentCourse === null || currentCourse === void 0 ? void 0 : currentCourse.start_date)), /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: Bannermodules_default.a.verticalLine
}), /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: Bannermodules_default.a.contentItem
}, /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: Bannermodules_default.a.contentItemTitle
}, "\u7ED3\u8BFE\u65F6\u95F4\uFF1A"), /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: Bannermodules_default.a.contentItemText
}, currentCourse === null || currentCourse === void 0 ? void 0 : currentCourse.end_date)), /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: Bannermodules_default.a.verticalLine
}), /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: Bannermodules_default.a.contentItem
}, /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: Bannermodules_default.a.contentItemTitle
}, (_pathsDetail$detail86 = pathsDetail.detail) !== null && _pathsDetail$detail86 !== void 0 && _pathsDetail$detail86.excellent ? '参与人数:' : '报名人数:'), /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: Bannermodules_default.a.contentItemText
}, currentCourse === null || currentCourse === void 0 ? void 0 : currentCourse.student_count, " \u4EBA")))), /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: Bannermodules_default.a.navRight,
style: {
display: 'none'
}
}, /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: Bannermodules_default.a.flexRow
}, (currentCourse === null || currentCourse === void 0 ? void 0 : (_currentCourse$course2 = currentCourse.course_status) === null || _currentCourse$course2 === void 0 ? void 0 : _currentCourse$course2.status) === 1 && /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "mr20 c-red-ee4"
}, currentCourse === null || currentCourse === void 0 ? void 0 : (_currentCourse$course3 = currentCourse.course_status) === null || _currentCourse$course3 === void 0 ? void 0 : _currentCourse$course3.time), (currentCourse === null || currentCourse === void 0 ? void 0 : (_currentCourse$course4 = currentCourse.course_status) === null || _currentCourse$course4 === void 0 ? void 0 : _currentCourse$course4.status) === 2 && currentCourse.course_identity < 6 && /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "current mr20 c-grey-9b9 font14"
}, "\u5DF2\u7ED3\u675F"), ((_currentCourse$course5 = currentCourse.course_status) === null || _currentCourse$course5 === void 0 ? void 0 : _currentCourse$course5.status) === 2 && (currentCourse.course_identity < 6 ? /*#__PURE__*/external_window_React_default.a.createElement("a", {
className: Bannermodules_default.a.classButton,
href: "/classrooms/".concat(currentCourse === null || currentCourse === void 0 ? void 0 : (_currentCourse$first_ = currentCourse.first_category_url) === null || _currentCourse$first_ === void 0 ? void 0 : (_currentCourse$first_2 = _currentCourse$first_.split('/')) === null || _currentCourse$first_2 === void 0 ? void 0 : _currentCourse$first_2[2], "/announcement"),
target: "_blank"
}, "\u8FDB\u5165\u8BFE\u5802") : /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "current mr20 c-grey-9b9 font14"
}, "\u5DF2\u7ED3\u675F")), ((_currentCourse$course6 = currentCourse.course_status) === null || _currentCourse$course6 === void 0 ? void 0 : _currentCourse$course6.status) === 1 && currentCourse.course_identity > 5 && /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: Bannermodules_default.a.classButton,
onClick: handleImmediatelyRegister
}, "\u7ACB\u5373\u52A0\u5165"), ((_currentCourse$course7 = currentCourse.course_status) === null || _currentCourse$course7 === void 0 ? void 0 : _currentCourse$course7.status) === 1 && currentCourse.course_identity === 5 && /*#__PURE__*/external_window_React_default.a.createElement("a", {
className: Bannermodules_default.a.classButton,
href: "/classrooms/".concat(currentCourse === null || currentCourse === void 0 ? void 0 : (_currentCourse$first_3 = currentCourse.first_category_url) === null || _currentCourse$first_3 === void 0 ? void 0 : (_currentCourse$first_4 = _currentCourse$first_3.split('/')) === null || _currentCourse$first_4 === void 0 ? void 0 : _currentCourse$first_4[2], "/announcement"),
target: "_blank"
}, "\u7ACB\u5373\u5B66\u4E60"), ((_currentCourse$course8 = currentCourse.course_status) === null || _currentCourse$course8 === void 0 ? void 0 : _currentCourse$course8.status) === 0 && currentCourse.course_identity > 5 && /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: Bannermodules_default.a.classButton,
onClick: handleImmediatelyRegister
}, "\u7ACB\u5373\u62A5\u540D"), ((_currentCourse$course9 = currentCourse.course_status) === null || _currentCourse$course9 === void 0 ? void 0 : _currentCourse$course9.status) === 0 && currentCourse.course_identity === 5 && /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: Bannermodules_default.a.classButton
}, "\u62A5\u540D\u6210\u529F"), ((currentCourse === null || currentCourse === void 0 ? void 0 : (_currentCourse$course10 = currentCourse.course_status) === null || _currentCourse$course10 === void 0 ? void 0 : _currentCourse$course10.status) === 0 || (currentCourse === null || currentCourse === void 0 ? void 0 : (_currentCourse$course11 = currentCourse.course_status) === null || _currentCourse$course11 === void 0 ? void 0 : _currentCourse$course11.status) === 1) && currentCourse.course_identity < 5 && /*#__PURE__*/external_window_React_default.a.createElement("a", {
className: Bannermodules_default.a.classButton,
href: "/classrooms/".concat(currentCourse === null || currentCourse === void 0 ? void 0 : (_currentCourse$first_5 = currentCourse.first_category_url) === null || _currentCourse$first_5 === void 0 ? void 0 : (_currentCourse$first_6 = _currentCourse$first_5.split('/')) === null || _currentCourse$first_6 === void 0 ? void 0 : _currentCourse$first_6[2], "/announcement"),
target: "_blank"
}, "\u8FDB\u5165\u8BFE\u5802"), applyPath && isLastNumber && ((_pathsDetail$detail87 = pathsDetail.detail) === null || _pathsDetail$detail87 === void 0 ? void 0 : _pathsDetail$detail87.has_participate) && /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: "".concat(Bannermodules_default.a.classButton, " ").concat(Bannermodules_default.a.bgGray)
}, "\u9884\u7EA6\u62A5\u540D\u6210\u529F"), applyPath && isLastNumber && !((_pathsDetail$detail88 = pathsDetail.detail) !== null && _pathsDetail$detail88 !== void 0 && _pathsDetail$detail88.has_participate) && (isOrderSuccess ? /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: "".concat(Bannermodules_default.a.classButton, " ").concat(Bannermodules_default.a.bgGray)
}, "\u9884\u7EA6\u62A5\u540D\u6210\u529F") : /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: "".concat(Bannermodules_default.a.classButton, " ").concat(Bannermodules_default.a.bg28e),
onClick: handleRegister
}, "\u671F\u5F85\u5F00\u8BFE\u5E76\u9884\u7EA6\u62A5\u540D"))), /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: Bannermodules_default.a.flexRow
}, applyPath && !!((_pathsDetail$detail89 = pathsDetail.detail) !== null && _pathsDetail$detail89 !== void 0 && (_pathsDetail$detail90 = _pathsDetail$detail89.courses) !== null && _pathsDetail$detail90 !== void 0 && _pathsDetail$detail90.length) && isLastNumber && /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: "mt20"
}, /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: "mr10"
}, "\u5F53\u9884\u7EA6\u62A5\u540D\u4EBA\u6570\u8FBE\u5230 ", (_pathsDetail$detail91 = pathsDetail.detail) === null || _pathsDetail$detail91 === void 0 ? void 0 : _pathsDetail$detail91.student_count, ' ', "\u4EBA\u65F6\u5373\u5C06\u5F00\u8BFE"), /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: ""
}, "\u5F53\u524D\u9884\u7EA6\u62A5\u540D\u4EBA\u6570\uFF1A", /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: "mr5 c-red-ee4"
}, isOrderSuccess === true ? ((_pathsDetail$detail92 = pathsDetail.detail) === null || _pathsDetail$detail92 === void 0 ? void 0 : _pathsDetail$detail92.participant_count) + 1 : (_pathsDetail$detail93 = pathsDetail.detail) === null || _pathsDetail$detail93 === void 0 ? void 0 : _pathsDetail$detail93.participant_count), "\u4EBA")), applyPath && !((_pathsDetail$detail94 = pathsDetail.detail) !== null && _pathsDetail$detail94 !== void 0 && (_pathsDetail$detail95 = _pathsDetail$detail94.courses) !== null && _pathsDetail$detail95 !== void 0 && _pathsDetail$detail95.length) && isLastNumber && /*#__PURE__*/external_window_React_default.a.createElement("span", null, !((_pathsDetail$detail96 = pathsDetail.detail) !== null && _pathsDetail$detail96 !== void 0 && _pathsDetail$detail96.has_participate) && (isOrderSuccess === true ? /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: "".concat(Bannermodules_default.a.classButton, " ").concat(Bannermodules_default.a.bgGray)
}, "\u9884\u7EA6\u62A5\u540D\u6210\u529F") : /*#__PURE__*/external_window_React_default.a.createElement("a", {
className: "".concat(Bannermodules_default.a.classButton, " ").concat(Bannermodules_default.a.bg28e),
onClick: handleRegister
}, "\u671F\u5F85\u5F00\u8BFE\u5E76\u9884\u7EA6\u62A5\u540D")), ((_pathsDetail$detail97 = pathsDetail.detail) === null || _pathsDetail$detail97 === void 0 ? void 0 : _pathsDetail$detail97.has_participate) && /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: "".concat(Bannermodules_default.a.classButton, " ").concat(Bannermodules_default.a.bgGray)
}, "\u9884\u7EA6\u62A5\u540D\u6210\u529F"), /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: "mr10"
}, "\u5F53\u9884\u7EA6\u62A5\u540D\u4EBA\u6570\u8FBE\u5230 ", (_pathsDetail$detail98 = pathsDetail.detail) === null || _pathsDetail$detail98 === void 0 ? void 0 : _pathsDetail$detail98.student_count, ' ', "\u4EBA\u65F6\u5373\u5C06\u5F00\u8BFE"), /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: ""
}, "\u5F53\u524D\u9884\u7EA6\u62A5\u540D\u4EBA\u6570\uFF1A", /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: "mr5 c-red-ee4"
}, isOrderSuccess === true ? ((_pathsDetail$detail99 = pathsDetail.detail) === null || _pathsDetail$detail99 === void 0 ? void 0 : _pathsDetail$detail99.participant_count) + 1 : (_pathsDetail$detail100 = pathsDetail.detail) === null || _pathsDetail$detail100 === void 0 ? void 0 : _pathsDetail$detail100.participant_count), "\u4EBA"))))))), /*#__PURE__*/external_window_React_default.a.createElement(components_SendToClassModal, null), applyPublicData.status && /*#__PURE__*/external_window_React_default.a.createElement(components_ApplyPublic, {
type: "subject",
onCancel: function onCancel() {
return handleApplyPublic(false);
},
onOk: function onOk(data) {
handleApplyPublic(false);
fetchApplyPublic(data);
}
}), /*#__PURE__*/external_window_React_default.a.createElement(modal["a" /* default */], {
visible: showmodal,
title: "\u8BFE\u7A0B\u63D0\u793A",
width: 593,
maskClosable: false,
onCancel: function onCancel() {
setshowmodal(false);
},
centered: true,
footer: /*#__PURE__*/external_window_React_default.a.createElement("div", null, /*#__PURE__*/external_window_React_default.a.createElement(es_button["a" /* default */], {
type: "primary",
onClick: function onClick() {
setshowmodal(false);
}
}, "\u6211\u77E5\u9053\u4E86"))
}, /*#__PURE__*/external_window_React_default.a.createElement(RenderHtml["a" /* default */], {
style: {
maxHeight: 378,
overflow: 'auto'
},
value: pathsDetail === null || pathsDetail === void 0 ? void 0 : (_pathsDetail$detail101 = pathsDetail.detail) === null || _pathsDetail$detail101 === void 0 ? void 0 : (_pathsDetail$detail102 = _pathsDetail$detail101.toast) === null || _pathsDetail$detail102 === void 0 ? void 0 : _pathsDetail$detail102.content
})));
};
/* harmony default export */ var components_Banner = (Object(umiExports["a" /* connect */])(function (_ref10) {
var pathsDetail = _ref10.pathsDetail,
user = _ref10.user,
loading = _ref10.loading,
globalSetting = _ref10.globalSetting;
return {
pathsDetail: pathsDetail,
user: user,
globalSetting: globalSetting,
loading: loading.models.index
};
})(Banner_Banner));
// EXTERNAL MODULE: ./node_modules/antd/es/progress/style/index.js
var progress_style = __webpack_require__("MXD1");
// EXTERNAL MODULE: ./node_modules/antd/es/progress/index.js + 6 modules
var progress = __webpack_require__("CFYs");
// EXTERNAL MODULE: ./src/pages/Paths/Detail/components/Right/index.less?modules
var Rightmodules = __webpack_require__("8Bcu");
var Rightmodules_default = /*#__PURE__*/__webpack_require__.n(Rightmodules);
// EXTERNAL MODULE: ./node_modules/antd/es/table/style/index.js
var table_style = __webpack_require__("g9YV");
// EXTERNAL MODULE: ./node_modules/antd/es/table/index.js + 14 modules
var table = __webpack_require__("wCAj");
// EXTERNAL MODULE: ./node_modules/antd/es/auto-complete/style/index.js
var auto_complete_style = __webpack_require__("O3gP");
// EXTERNAL MODULE: ./node_modules/antd/es/auto-complete/index.js
var auto_complete = __webpack_require__("lrIw");
// EXTERNAL MODULE: ./node_modules/react-infinite-scroller/index.js
var react_infinite_scroller = __webpack_require__("RotF");
var react_infinite_scroller_default = /*#__PURE__*/__webpack_require__.n(react_infinite_scroller);
// EXTERNAL MODULE: ./src/service/classrooms.ts
var classrooms = __webpack_require__("oUNq");
// EXTERNAL MODULE: ./src/components/ImagesIcon/index.ts
var ImagesIcon = __webpack_require__("lzim");
// EXTERNAL MODULE: ./node_modules/react-router-dom/esm/react-router-dom.js
var react_router_dom = __webpack_require__("55Ip");
// CONCATENATED MODULE: ./src/pages/Paths/Detail/components/Right/components/AddCollaboratorModal/index.tsx
var AddCollaboratorModal_AddCollaboratorModal = function AddCollaboratorModal(_ref) {
var pathsDetail = _ref.pathsDetail,
loading = _ref.loading,
dispatch = _ref.dispatch,
_ref$onReloadData = _ref.onReloadData,
onReloadData = _ref$onReloadData === void 0 ? function () {} : _ref$onReloadData;
var params = Object(react_router["i" /* useParams */])();
var _useState = Object(external_window_React_["useState"])([]),
_useState2 = Object(slicedToArray["a" /* default */])(_useState, 2),
options = _useState2[0],
setOptions = _useState2[1];
var _useState3 = Object(external_window_React_["useState"])(true),
_useState4 = Object(slicedToArray["a" /* default */])(_useState3, 2),
hasMore = _useState4[0],
setHasmore = _useState4[1];
var _useState5 = Object(external_window_React_["useState"])(false),
_useState6 = Object(slicedToArray["a" /* default */])(_useState5, 2),
isLoading = _useState6[0],
setIsLoading = _useState6[1];
var _Form$useForm = es_form["a" /* default */].useForm(),
_Form$useForm2 = Object(slicedToArray["a" /* default */])(_Form$useForm, 1),
form = _Form$useForm2[0];
var _useState7 = Object(external_window_React_["useState"])([]),
_useState8 = Object(slicedToArray["a" /* default */])(_useState7, 2),
tableData = _useState8[0],
setTableData = _useState8[1];
var _useState9 = Object(external_window_React_["useState"])(1),
_useState10 = Object(slicedToArray["a" /* default */])(_useState9, 2),
page = _useState10[0],
setPage = _useState10[1];
var _useState11 = Object(external_window_React_["useState"])([]),
_useState12 = Object(slicedToArray["a" /* default */])(_useState11, 2),
selectArrs = _useState12[0],
setSelectArrs = _useState12[1];
var _useState13 = Object(external_window_React_["useState"])(true),
_useState14 = Object(slicedToArray["a" /* default */])(_useState13, 2),
notSearch = _useState14[0],
setNotSearch = _useState14[1];
var _useState15 = Object(external_window_React_["useState"])(false),
_useState16 = Object(slicedToArray["a" /* default */])(_useState15, 2),
confirmLoading = _useState16[0],
setConfirmLoading = _useState16[1];
Object(external_window_React_["useEffect"])(function () {
if (pathsDetail.actionTabs.key === 'Collaborators-AddCollaborator') {
setNotSearch(true);
setHasmore(true);
getData();
}
}, [pathsDetail.actionTabs.key]);
var getData = /*#__PURE__*/function () {
var _ref2 = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee() {
var res;
return regenerator_default.a.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return dispatch({
type: 'classroomList/getSchoolList',
payload: {}
});
case 2:
res = _context.sent;
setOptions(res.map(function (item) {
return {
value: item
};
}));
case 4:
case "end":
return _context.stop();
}
}
}, _callee);
}));
return function getData() {
return _ref2.apply(this, arguments);
};
}();
var onFinish = function onFinish() {
var _form$getFieldValue, _form$getFieldValue$k;
if (!((_form$getFieldValue = form.getFieldValue()) !== null && _form$getFieldValue !== void 0 && (_form$getFieldValue$k = _form$getFieldValue.keyword) !== null && _form$getFieldValue$k !== void 0 && _form$getFieldValue$k.trim())) {
es_message["b" /* default */].warn("请输入姓名");
setTableData([]);
return;
}
;
setNotSearch(false);
setHasmore(true);
setIsLoading(false);
setPage(1);
setSelectArrs([]);
handleInfiniteOnLoad(true);
};
var saveSelect = function saveSelect(id) {
id = String(id);
var key = selectArrs.indexOf(id);
if (key < 0) {
selectArrs.push(id);
} else {
selectArrs.splice(key, 1);
}
setSelectArrs(Object(toConsumableArray["a" /* default */])(selectArrs));
};
var handleInfiniteOnLoad = /*#__PURE__*/function () {
var _ref3 = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee2() {
var reload,
_formValue$keyword,
_res$users,
formValue,
res,
_args2 = arguments;
return regenerator_default.a.wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
reload = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : false;
if (!(hasMore && !isLoading || reload)) {
_context2.next = 11;
break;
}
formValue = form.getFieldValue();
setIsLoading(true);
reload ? setPage(1) : setPage(page + 1);
_context2.next = 7;
return Object(classrooms["wb" /* searchSchoolTeacherList */])({
page: reload ? 1 : page + 1,
container_id: params.pathId,
container_type: 3,
school_name: (formValue === null || formValue === void 0 ? void 0 : formValue.school_name) || null,
keyword: (formValue === null || formValue === void 0 ? void 0 : (_formValue$keyword = formValue.keyword) === null || _formValue$keyword === void 0 ? void 0 : _formValue$keyword.trim()) || null
});
case 7:
res = _context2.sent;
reload ? setTableData(Object(toConsumableArray["a" /* default */])(res.users)) : setTableData([].concat(Object(toConsumableArray["a" /* default */])(tableData), Object(toConsumableArray["a" /* default */])(res.users)));
setIsLoading(false);
if (((_res$users = res.users) === null || _res$users === void 0 ? void 0 : _res$users.length) < 10) setHasmore(false);
case 11:
case "end":
return _context2.stop();
}
}
}, _callee2);
}));
return function handleInfiniteOnLoad() {
return _ref3.apply(this, arguments);
};
}();
var onOK = /*#__PURE__*/function () {
var _ref4 = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee3() {
var res;
return regenerator_default.a.wrap(function _callee3$(_context3) {
while (1) {
switch (_context3.prev = _context3.next) {
case 0:
if (selectArrs !== null && selectArrs !== void 0 && selectArrs.length) {
_context3.next = 4;
break;
}
es_message["b" /* default */].warn('请先在下面列表中选择要添加成员');
_context3.next = 10;
break;
case 4:
setConfirmLoading(true);
_context3.next = 7;
return Object(paths["e" /* addSubjectMembers */])({
id: params.pathId,
user_ids: selectArrs
});
case 7:
res = _context3.sent;
setConfirmLoading(false);
if (res) {
es_message["b" /* default */].success('添加成功');
handleCancel();
onReloadData && onReloadData();
}
case 10:
case "end":
return _context3.stop();
}
}
}, _callee3);
}));
return function onOK() {
return _ref4.apply(this, arguments);
};
}();
var handleCancel = function handleCancel() {
form.setFieldsValue({
keyword: ''
});
dispatch({
type: 'pathsDetail/setActionTabs',
payload: {}
});
};
var columns = [{
title: "",
dataIndex: "added",
width: 40,
ellipsis: true,
render: function render(add, record) {
return /*#__PURE__*/external_window_React_default.a.createElement(es_checkbox["a" /* default */], {
value: record.numid,
checked: selectArrs.includes(String(record.numid)),
disabled: !!add
});
}
}, {
title: "姓名",
width: 100,
ellipsis: true,
dataIndex: "username",
render: function render(text, record) {
return /*#__PURE__*/external_window_React_default.a.createElement(tooltip["a" /* default */], {
placement: "bottom",
title: text
}, /*#__PURE__*/external_window_React_default.a.createElement(react_router_dom["a" /* Link */], {
className: "bold c-black",
to: "/users/".concat(record.login),
target: "_blank"
}, text || '--'));
}
}, {
title: "手机号",
width: 100,
dataIndex: "phone",
ellipsis: true,
render: function render(text) {
return /*#__PURE__*/external_window_React_default.a.createElement(tooltip["a" /* default */], {
placement: "bottom",
title: text
}, /*#__PURE__*/external_window_React_default.a.createElement("span", null, text || '--'));
}
}, {
title: "邮箱",
dataIndex: "email",
width: 100,
ellipsis: true,
render: function render(text) {
return /*#__PURE__*/external_window_React_default.a.createElement(tooltip["a" /* default */], {
placement: "bottom",
title: text
}, /*#__PURE__*/external_window_React_default.a.createElement("span", null, text || '--'));
}
}, {
title: "学号/工号",
width: 100,
dataIndex: "student_number",
ellipsis: true,
render: function render(text) {
return /*#__PURE__*/external_window_React_default.a.createElement(tooltip["a" /* default */], {
placement: "bottom",
title: text
}, /*#__PURE__*/external_window_React_default.a.createElement("span", null, text || '--'));
}
}, {
title: "学校/单位",
width: 150,
dataIndex: "school_name",
ellipsis: true,
render: function render(text) {
return /*#__PURE__*/external_window_React_default.a.createElement(tooltip["a" /* default */], {
placement: "bottom",
title: text
}, /*#__PURE__*/external_window_React_default.a.createElement("span", null, text || '--'));
}
}, {
title: "院系/部门",
dataIndex: "depart_name",
width: 130,
ellipsis: true,
render: function render(text) {
return /*#__PURE__*/external_window_React_default.a.createElement(tooltip["a" /* default */], {
placement: "bottom",
title: text
}, /*#__PURE__*/external_window_React_default.a.createElement("span", null, text || '--'));
}
}, {
title: "实名认证",
dataIndex: "auth",
width: 100,
render: function render(text) {
return text ? '是' : "否";
}
}, {
title: "最后登录时间",
dataIndex: "last_login_on",
width: 140,
ellipsis: true,
render: function render(text) {
return /*#__PURE__*/external_window_React_default.a.createElement(tooltip["a" /* default */], {
placement: "bottom",
title: text && moment_default()(text).format("YYYY-MM-DD HH:mm")
}, /*#__PURE__*/external_window_React_default.a.createElement("span", null, text && moment_default()(text).format("YYYY-MM-DD HH:mm")));
}
}, {
title: "状态",
dataIndex: "added",
width: 80,
render: function render(text) {
if (text === 1) {
return /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: "c-green"
}, "\u5DF2\u6DFB\u52A0");
}
}
}];
return /*#__PURE__*/external_window_React_default.a.createElement(modal["a" /* default */], {
title: "\u6DFB\u52A0\u5408\u4F5C\u8005",
visible: pathsDetail.actionTabs.key === 'Collaborators-AddCollaborator' ? true : false,
okText: "\u786E\u5B9A",
cancelText: "\u53D6\u6D88",
width: 1100,
centered: true,
keyboard: false,
maskClosable: false,
bodyStyle: {
minHeight: 200
},
confirmLoading: confirmLoading,
onOk: onOK,
onCancel: handleCancel
}, /*#__PURE__*/external_window_React_default.a.createElement(es_form["a" /* default */], {
layout: "inline",
form: form,
initialValues: {
school_name: "",
keyword: ""
},
className: "mt10",
onFinish: onFinish
}, /*#__PURE__*/external_window_React_default.a.createElement(es_form["a" /* default */].Item, {
name: "keyword",
label: "\u59D3\u540D\uFF1A"
}, /*#__PURE__*/external_window_React_default.a.createElement(input["a" /* default */], {
allowClear: true,
style: {
width: 370
},
size: "large",
placeholder: "\u8BF7\u8F93\u5165\u771F\u5B9E\u59D3\u540D"
})), /*#__PURE__*/external_window_React_default.a.createElement(es_form["a" /* default */].Item, {
name: "school_name",
label: "\u5355\u4F4D\uFF1A"
}, /*#__PURE__*/external_window_React_default.a.createElement(auto_complete["a" /* default */], {
allowClear: true,
defaultOpen: false,
options: options,
style: {
width: 400
},
size: "large",
placeholder: "\u8BF7\u8F93\u5165\u5355\u4F4D\u540D\u79F0",
filterOption: function filterOption(inputValue, option) {
return option.value.toUpperCase().indexOf(inputValue.toUpperCase()) !== -1;
}
})), /*#__PURE__*/external_window_React_default.a.createElement(es_form["a" /* default */].Item, null, /*#__PURE__*/external_window_React_default.a.createElement(es_button["a" /* default */], {
htmlType: "submit",
type: "primary",
size: "large"
}, "\u641C\u7D22"))), notSearch && /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "tc font16 c-light-black mt40"
}, /*#__PURE__*/external_window_React_default.a.createElement("img", {
src: ImagesIcon["B" /* searchIcon */],
width: "100",
alt: ""
}), /*#__PURE__*/external_window_React_default.a.createElement("br", null), "\u8BF7\u641C\u7D22\u8981\u6DFB\u52A0\u7684\u4EBA\u5458"), !notSearch && /*#__PURE__*/external_window_React_default.a.createElement("section", null, /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "flexd-table-header mt20"
}, /*#__PURE__*/external_window_React_default.a.createElement(table["a" /* default */], {
pagination: false,
dataSource: [],
columns: columns
})), /*#__PURE__*/external_window_React_default.a.createElement("div", {
style: {
maxHeight: 260,
overflow: 'auto'
}
}, /*#__PURE__*/external_window_React_default.a.createElement(react_infinite_scroller_default.a, {
initialLoad: false,
pageStart: 1,
threshold: 20,
loadMore: function loadMore(page) {
handleInfiniteOnLoad();
},
hasMore: hasMore,
useWindow: false
}, /*#__PURE__*/external_window_React_default.a.createElement(table["a" /* default */], {
loading: isLoading,
showHeader: false,
pagination: false,
dataSource: tableData,
columns: columns,
onRow: function onRow(record) {
return {
onClick: function onClick(event) {
if (!event.currentTarget.querySelector("input").disabled) saveSelect(event.currentTarget.querySelector("input").value);
}
};
}
})))));
};
/* harmony default export */ var components_AddCollaboratorModal = (Object(umiExports["a" /* connect */])(function (_ref5) {
var pathsDetail = _ref5.pathsDetail,
loading = _ref5.loading;
return {
pathsDetail: pathsDetail,
loading: loading
};
})(AddCollaboratorModal_AddCollaboratorModal));
// CONCATENATED MODULE: ./src/pages/Paths/Detail/components/Right/components/AddCoursesModal/index.tsx
var AddCoursesModal_AddCollaboratorModal = function AddCollaboratorModal(_ref) {
var pathsDetail = _ref.pathsDetail,
loading = _ref.loading,
dispatch = _ref.dispatch,
data = _ref.data,
_ref$onReloadData = _ref.onReloadData,
onReloadData = _ref$onReloadData === void 0 ? function () {} : _ref$onReloadData;
var params = Object(react_router["i" /* useParams */])();
var _useState = Object(external_window_React_["useState"])(true),
_useState2 = Object(slicedToArray["a" /* default */])(_useState, 2),
hasMore = _useState2[0],
setHasmore = _useState2[1];
var _useState3 = Object(external_window_React_["useState"])(false),
_useState4 = Object(slicedToArray["a" /* default */])(_useState3, 2),
isLoading = _useState4[0],
setIsLoading = _useState4[1];
var _Form$useForm = es_form["a" /* default */].useForm(),
_Form$useForm2 = Object(slicedToArray["a" /* default */])(_Form$useForm, 1),
form = _Form$useForm2[0];
var _useState5 = Object(external_window_React_["useState"])([]),
_useState6 = Object(slicedToArray["a" /* default */])(_useState5, 2),
tableData = _useState6[0],
setTableData = _useState6[1];
var _useState7 = Object(external_window_React_["useState"])(1),
_useState8 = Object(slicedToArray["a" /* default */])(_useState7, 2),
page = _useState8[0],
setPage = _useState8[1];
var _useState9 = Object(external_window_React_["useState"])([]),
_useState10 = Object(slicedToArray["a" /* default */])(_useState9, 2),
selectArrs = _useState10[0],
setSelectArrs = _useState10[1];
var _useState11 = Object(external_window_React_["useState"])(true),
_useState12 = Object(slicedToArray["a" /* default */])(_useState11, 2),
notSearch = _useState12[0],
setNotSearch = _useState12[1];
var _useState13 = Object(external_window_React_["useState"])(false),
_useState14 = Object(slicedToArray["a" /* default */])(_useState13, 2),
confirmLoading = _useState14[0],
setConfirmLoading = _useState14[1];
Object(external_window_React_["useEffect"])(function () {
if (pathsDetail.actionTabs.key === 'Collaborators-AddCourses') {
setNotSearch(true);
setHasmore(true);
getData();
}
}, [pathsDetail.actionTabs.key]);
var getData = /*#__PURE__*/function () {
var _ref2 = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee() {
var res;
return regenerator_default.a.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return dispatch({
type: 'classroomList/getSchoolList',
payload: {}
});
case 2:
res = _context.sent;
case 3:
case "end":
return _context.stop();
}
}
}, _callee);
}));
return function getData() {
return _ref2.apply(this, arguments);
};
}();
var onFinish = function onFinish() {
setNotSearch(false);
setHasmore(true);
setIsLoading(false);
setPage(1);
setSelectArrs([]);
handleInfiniteOnLoad(true);
};
var saveSelect = function saveSelect(id) {
id = String(id);
var key = selectArrs.indexOf(id);
if (key < 0) {
selectArrs.push(id);
} else {
selectArrs.splice(key, 1);
}
setSelectArrs(Object(toConsumableArray["a" /* default */])(selectArrs));
};
var handleInfiniteOnLoad = /*#__PURE__*/function () {
var _ref3 = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee2() {
var reload,
_formValue$course_nam,
_res$courses,
formValue,
res,
_args2 = arguments;
return regenerator_default.a.wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
reload = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : false;
if (!(hasMore && !isLoading || reload)) {
_context2.next = 11;
break;
}
formValue = form.getFieldValue();
setIsLoading(true);
reload ? setPage(1) : setPage(page + 1);
_context2.next = 7;
return Object(classrooms["vb" /* searchCoursesList */])({
page: reload ? 1 : page + 1,
container_id: params.pathId,
container_type: 3,
manager_name: (formValue === null || formValue === void 0 ? void 0 : formValue.manager_name) || null,
course_name: (formValue === null || formValue === void 0 ? void 0 : (_formValue$course_nam = formValue.course_name) === null || _formValue$course_nam === void 0 ? void 0 : _formValue$course_nam.trim()) || null
});
case 7:
res = _context2.sent;
reload ? setTableData(Object(toConsumableArray["a" /* default */])(res.courses)) : setTableData([].concat(Object(toConsumableArray["a" /* default */])(tableData), Object(toConsumableArray["a" /* default */])(res.courses)));
setIsLoading(false);
if (((_res$courses = res.courses) === null || _res$courses === void 0 ? void 0 : _res$courses.length) < 10) setHasmore(false);
case 11:
case "end":
return _context2.stop();
}
}
}, _callee2);
}));
return function handleInfiniteOnLoad() {
return _ref3.apply(this, arguments);
};
}();
var onOK = /*#__PURE__*/function () {
var _ref4 = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee3() {
var _pathsDetail$Courses, _pathsDetail$Courses$, _data$spoc_courses, res;
return regenerator_default.a.wrap(function _callee3$(_context3) {
while (1) {
switch (_context3.prev = _context3.next) {
case 0:
if (selectArrs !== null && selectArrs !== void 0 && selectArrs.length) {
_context3.next = 4;
break;
}
es_message["b" /* default */].warn('请先在下面列表中选择要添加课堂');
_context3.next = 19;
break;
case 4:
if (!(pathsDetail.actionTabs.type != 1)) {
_context3.next = 10;
break;
}
if (!((pathsDetail === null || pathsDetail === void 0 ? void 0 : (_pathsDetail$Courses = pathsDetail.Courses) === null || _pathsDetail$Courses === void 0 ? void 0 : (_pathsDetail$Courses$ = _pathsDetail$Courses.spoc_courses) === null || _pathsDetail$Courses$ === void 0 ? void 0 : _pathsDetail$Courses$.length) + (selectArrs === null || selectArrs === void 0 ? void 0 : selectArrs.length) > 3)) {
_context3.next = 8;
break;
}
es_message["b" /* default */].warn('一个实践课程只能加入3个spoc课堂');
return _context3.abrupt("return");
case 8:
_context3.next = 13;
break;
case 10:
if (!((data === null || data === void 0 ? void 0 : (_data$spoc_courses = data.spoc_courses) === null || _data$spoc_courses === void 0 ? void 0 : _data$spoc_courses.length) + (selectArrs === null || selectArrs === void 0 ? void 0 : selectArrs.length) > 3)) {
_context3.next = 13;
break;
}
es_message["b" /* default */].warn('一个实践课程只能加入3个历史课堂');
return _context3.abrupt("return");
case 13:
setConfirmLoading(true);
_context3.next = 16;
return Object(paths["b" /* addCourses */])({
id: params.pathId,
course_ids: selectArrs,
course_type: pathsDetail.actionTabs.type
});
case 16:
res = _context3.sent;
setConfirmLoading(false);
if (res) {
es_message["b" /* default */].success('添加成功');
handleCancel();
onReloadData && onReloadData();
}
case 19:
case "end":
return _context3.stop();
}
}
}, _callee3);
}));
return function onOK() {
return _ref4.apply(this, arguments);
};
}();
var handleCancel = function handleCancel() {
form.setFieldsValue({
course_name: '',
manager_name: ''
});
setSelectArrs([]);
dispatch({
type: 'pathsDetail/setActionTabs',
payload: {}
});
};
var columns = [{
title: "",
dataIndex: "added",
width: 40,
ellipsis: true,
render: function render(add, record) {
return /*#__PURE__*/external_window_React_default.a.createElement(es_checkbox["a" /* default */], {
value: record.id,
checked: selectArrs.includes(String(record.id)),
disabled: !!add
});
}
}, {
title: "课堂名称",
dataIndex: "name",
width: 100,
ellipsis: true,
render: function render(text) {
return /*#__PURE__*/external_window_React_default.a.createElement(tooltip["a" /* default */], {
placement: "bottom",
title: text
}, /*#__PURE__*/external_window_React_default.a.createElement("span", null, text || '--'));
}
}, {
title: "管理者",
width: 100,
dataIndex: "managers",
ellipsis: true,
render: function render(text) {
return /*#__PURE__*/external_window_React_default.a.createElement(tooltip["a" /* default */], {
placement: "bottom",
title: text
}, /*#__PURE__*/external_window_React_default.a.createElement("span", null, text || '--'));
}
}, {
title: "课堂所在学校",
width: 150,
dataIndex: "school_name",
ellipsis: true,
render: function render(text) {
return /*#__PURE__*/external_window_React_default.a.createElement(tooltip["a" /* default */], {
placement: "bottom",
title: text
}, /*#__PURE__*/external_window_React_default.a.createElement("span", null, text || '--'));
}
}, {
title: "创建时间",
dataIndex: "created_at",
width: 140,
ellipsis: true,
render: function render(text) {
return /*#__PURE__*/external_window_React_default.a.createElement(tooltip["a" /* default */], {
placement: "bottom",
title: text
}, /*#__PURE__*/external_window_React_default.a.createElement("span", null, text));
}
}, {
title: "成员数量",
dataIndex: "course_members_count",
width: 80,
render: function render(text) {
return /*#__PURE__*/external_window_React_default.a.createElement(tooltip["a" /* default */], {
placement: "bottom",
title: text
}, /*#__PURE__*/external_window_React_default.a.createElement("span", null, text || '--'));
}
}];
return /*#__PURE__*/external_window_React_default.a.createElement(modal["a" /* default */], {
title: "\u6DFB\u52A0\u8BFE\u5802",
visible: pathsDetail.actionTabs.key === 'Collaborators-AddCourses' ? true : false,
okText: "\u786E\u5B9A",
cancelText: "\u53D6\u6D88",
width: 1100,
centered: true,
keyboard: false,
maskClosable: false,
bodyStyle: {
minHeight: 200
},
confirmLoading: confirmLoading,
onOk: onOK,
onCancel: handleCancel
}, /*#__PURE__*/external_window_React_default.a.createElement(es_form["a" /* default */], {
layout: "inline",
form: form,
initialValues: {
course_name: "",
manager_name: ""
},
className: "mt10",
onFinish: onFinish
}, /*#__PURE__*/external_window_React_default.a.createElement(es_form["a" /* default */].Item, {
name: "course_name",
label: "\u8BFE\u5802\u540D\u79F0"
}, /*#__PURE__*/external_window_React_default.a.createElement(input["a" /* default */], {
allowClear: true,
style: {
width: 370
},
size: "large",
placeholder: "\u8BF7\u8F93\u5165\u8BFE\u5802\u540D\u79F0"
})), /*#__PURE__*/external_window_React_default.a.createElement(es_form["a" /* default */].Item, {
name: "manager_name",
label: "\u8BFE\u5802\u7BA1\u7406\u8005"
}, /*#__PURE__*/external_window_React_default.a.createElement(input["a" /* default */], {
allowClear: true,
style: {
width: 370
},
size: "large",
placeholder: "\u8BF7\u8F93\u5165\u8BFE\u5802\u7BA1\u7406\u8005\u540D\u79F0"
})), /*#__PURE__*/external_window_React_default.a.createElement(es_form["a" /* default */].Item, null, /*#__PURE__*/external_window_React_default.a.createElement(es_button["a" /* default */], {
htmlType: "submit",
type: "primary",
size: "large"
}, "\u641C\u7D22"))), notSearch && /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "tc font16 c-light-black mt40"
}, /*#__PURE__*/external_window_React_default.a.createElement("img", {
src: ImagesIcon["B" /* searchIcon */],
width: "100",
alt: ""
}), /*#__PURE__*/external_window_React_default.a.createElement("br", null), "\u8BF7\u641C\u7D22\u8981\u6DFB\u52A0\u7684\u4EBA\u5458"), !notSearch && /*#__PURE__*/external_window_React_default.a.createElement("section", null, /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "flexd-table-header mt20"
}, /*#__PURE__*/external_window_React_default.a.createElement(table["a" /* default */], {
pagination: false,
dataSource: [],
columns: columns
})), /*#__PURE__*/external_window_React_default.a.createElement("div", {
style: {
maxHeight: 260,
overflow: 'auto'
}
}, /*#__PURE__*/external_window_React_default.a.createElement(react_infinite_scroller_default.a, {
initialLoad: false,
pageStart: 1,
threshold: 20,
loadMore: function loadMore(page) {
handleInfiniteOnLoad();
},
hasMore: hasMore,
useWindow: false
}, /*#__PURE__*/external_window_React_default.a.createElement(table["a" /* default */], {
loading: isLoading,
showHeader: false,
pagination: false,
dataSource: tableData,
columns: columns,
onRow: function onRow(record) {
return {
onClick: function onClick(event) {
if (!event.currentTarget.querySelector("input").disabled) saveSelect(event.currentTarget.querySelector("input").value);
}
};
}
})))));
};
/* harmony default export */ var AddCoursesModal = (Object(umiExports["a" /* connect */])(function (_ref5) {
var pathsDetail = _ref5.pathsDetail,
loading = _ref5.loading;
return {
pathsDetail: pathsDetail,
loading: loading
};
})(AddCoursesModal_AddCollaboratorModal));
// EXTERNAL MODULE: ./node_modules/@ant-design/icons/es/icons/CloseCircleOutlined.js + 1 modules
var CloseCircleOutlined = __webpack_require__("2BaD");
// EXTERNAL MODULE: ./node_modules/html2pdf.js/dist/html2pdf.js
var html2pdf = __webpack_require__("1n7x");
var html2pdf_default = /*#__PURE__*/__webpack_require__.n(html2pdf);
// EXTERNAL MODULE: ./src/components/CertificateModal/yz.png
var yz = __webpack_require__("y1J/");
var yz_default = /*#__PURE__*/__webpack_require__.n(yz);
// EXTERNAL MODULE: ./src/components/CertificateModal/Certificate.png
var CertificateModal_Certificate = __webpack_require__("A2z3");
var Certificate_default = /*#__PURE__*/__webpack_require__.n(CertificateModal_Certificate);
// EXTERNAL MODULE: ./src/components/CertificateModal/index.less?modules
var CertificateModalmodules = __webpack_require__("Ye+n");
var CertificateModalmodules_default = /*#__PURE__*/__webpack_require__.n(CertificateModalmodules);
// CONCATENATED MODULE: ./src/components/CertificateModal/index.tsx
var CertificateModal_CertificateModal = function CertificateModal(_ref) {
var visible = _ref.visible,
_ref$onOk = _ref.onOk,
onOk = _ref$onOk === void 0 ? function () {} : _ref$onOk,
_ref$onCancel = _ref.onCancel,
onCancel = _ref$onCancel === void 0 ? function () {} : _ref$onCancel,
_ref$data = _ref.data,
data = _ref$data === void 0 ? {} : _ref$data;
var reportElement = Object(external_window_React_["useRef"])();
Object(external_window_React_["useEffect"])(function () {
if (visible) {
document.body.setAttribute('class', CertificateModalmodules_default.a.bodyHeight);
} else {
document.body.removeAttribute('class');
}
return function () {
document.body.removeAttribute('class');
};
}, [visible]);
var month = {
'1': "January",
'2': "February",
'3': "March",
'4': "April",
'5': "May",
'6': "June",
'7': "July",
'8': "August",
'9': "September",
'10': "October",
'11': "November",
'12': "December"
};
var handleDownLoad = /*#__PURE__*/function () {
var _ref2 = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee() {
var opt, doc, url;
return regenerator_default.a.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
document.body.scrollIntoView();
opt = {
margin: [0, 0, 0, 0],
filename: "11.pdf",
enableLinks: false,
html2canvas: {
scale: 5,
allowTaint: false,
useCORS: true // width: 2000,
},
jsPDF: {
format: [1412, 1000],
orientation: 'landscape',
unit: "px"
},
image: {
type: 'jpeg',
quality: 1
}
};
doc = html2pdf_default()().set(opt).from(reportElement.current).toPdf();
_context.next = 5;
return doc.get('pdf');
case 5:
doc = _context.sent;
_context.next = 8;
return doc.output('bloburl');
case 8:
url = _context.sent;
Object(util["v" /* downLoadLink */])("".concat(data.school_name, "-").concat(data.user_name, ".pdf"), url);
case 10:
case "end":
return _context.stop();
}
}
}, _callee);
}));
return function handleDownLoad() {
return _ref2.apply(this, arguments);
};
}();
return /*#__PURE__*/external_window_React_default.a.createElement(modal["a" /* default */], {
visible: visible,
title: null,
footer: /*#__PURE__*/external_window_React_default.a.createElement("div", null, /*#__PURE__*/external_window_React_default.a.createElement(es_button["a" /* default */], {
type: "primary",
onClick: handleDownLoad
}, "\u4E0B\u8F7D\u8BC1\u4E66")),
style: {
background: "transparen",
height: '740px'
},
centered: true,
width: 1052,
className: CertificateModalmodules_default.a.advertisementModal,
maskClosable: false,
closeIcon: /*#__PURE__*/external_window_React_default.a.createElement(CloseCircleOutlined["a" /* default */], {
onClick: onCancel,
style: {
fontSize: '25px',
color: '#fff',
marginLeft: '100px'
}
})
}, /*#__PURE__*/external_window_React_default.a.createElement("div", {
ref: reportElement
}, /*#__PURE__*/external_window_React_default.a.createElement("div", {
style: {
backgroundImage: "url(".concat(Certificate_default.a, ")"),
height: '740px',
width: '1052px',
padding: "1px 100px"
}
}, /*#__PURE__*/external_window_React_default.a.createElement("div", {
style: {
color: '#EB5E00',
fontSize: '36px',
marginTop: '239px',
width: '100%',
textAlign: 'center'
}
}, data === null || data === void 0 ? void 0 : data.school_name, " ", data === null || data === void 0 ? void 0 : data.user_name), /*#__PURE__*/external_window_React_default.a.createElement("div", {
style: {
color: '#0D3580',
fontSize: '24px',
marginTop: '30px',
width: '100%',
textAlign: 'center'
}
}, "\u4E8E", moment_default()(data === null || data === void 0 ? void 0 : data.created_at).format("YYYY年MM月DD日"), "\u5B8C\u6210\u4E86EduCoder\u5E73\u53F0\u300A", data === null || data === void 0 ? void 0 : data.subject_name, "\u300B\u8BFE\u7A0B\u5B66\u4E60\u3002"), /*#__PURE__*/external_window_React_default.a.createElement("div", {
style: {
color: '#0D3580',
fontSize: '30px',
marginTop: '50px',
width: '100%',
textAlign: 'center',
fontWeight: 900
}
}, "\u7279\u6B64\u8BC1\u660E"), /*#__PURE__*/external_window_React_default.a.createElement("div", {
style: {
color: '#0D3580',
fontSize: '14px',
marginTop: '30px',
width: '100%',
textAlign: 'center'
}
}, "On ", month[moment_default()(data === null || data === void 0 ? void 0 : data.created_at).format("M")], " ", moment_default()(data === null || data === void 0 ? void 0 : data.created_at).format("DD"), "\uFF0C", moment_default()(data === null || data === void 0 ? void 0 : data.created_at).format("YYYY"), "\uFF0C completed the \u300A", data === null || data === void 0 ? void 0 : data.subject_name_en, "\u300B course on EduCoder."), /*#__PURE__*/external_window_React_default.a.createElement("img", {
src: yz_default.a,
style: {
position: 'absolute',
left: '820px',
bottom: '130px'
}
}), /*#__PURE__*/external_window_React_default.a.createElement("div", {
style: {
color: '#0D3580',
fontSize: '12px',
width: '100%',
display: 'flex',
paddingRight: '200px',
position: 'absolute',
bottom: '150px'
}
}, /*#__PURE__*/external_window_React_default.a.createElement("span", null, "\u8BC1\u4E66\u7F16\u53F7\uFF1A", data === null || data === void 0 ? void 0 : data.code), /*#__PURE__*/external_window_React_default.a.createElement("span", {
style: {
marginLeft: '560px'
}
}, "\u5934\u6B4C\u5728\u7EBF\u7F16\u7A0B\u5B66\u9662")))));
};
/* harmony default export */ var components_CertificateModal = (CertificateModal_CertificateModal);
// EXTERNAL MODULE: ./node_modules/react-sortable-hoc/dist/react-sortable-hoc.esm.js
var react_sortable_hoc_esm = __webpack_require__("YJCA");
// EXTERNAL MODULE: ./node_modules/array-move/index.js
var array_move = __webpack_require__("wYyv");
var array_move_default = /*#__PURE__*/__webpack_require__.n(array_move);
// EXTERNAL MODULE: ./src/pages/Paths/Detail/components/Right/components/SortTeam/index.less?modules
var SortTeammodules = __webpack_require__("WPnJ");
var SortTeammodules_default = /*#__PURE__*/__webpack_require__.n(SortTeammodules);
// CONCATENATED MODULE: ./src/pages/Paths/Detail/components/Right/components/SortTeam/index.tsx
// const itemindex=[2,5,8,11,14]
var SortableItem = Object(react_sortable_hoc_esm["b" /* SortableElement */])(function (_ref) {
var _item$name, _item$name2, _item$school, _item$school2, _item$name3, _item$name4, _item$school3, _item$school4, _pathsDetail$detail;
var item = _ref.item,
toIndex = _ref.toIndex,
params = _ref.params,
isShow = _ref.isShow,
setShow = _ref.setShow,
dispatch = _ref.dispatch,
classroomList = _ref.classroomList,
handleDeleteMember = _ref.handleDeleteMember,
pathsDetail = _ref.pathsDetail;
return /*#__PURE__*/external_window_React_default.a.createElement("span", {
style: {
display: 'inline-block',
width: '33%',
padding: '5px',
background: '#fff',
marginTop: '10px'
}
}, /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: SortTeammodules_default.a.directionItemWrap
}, /*#__PURE__*/external_window_React_default.a.createElement(tooltip["a" /* default */], {
color: "#ffffff",
placement: "bottom",
title: /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: SortTeammodules_default.a.teamHeight
}, /*#__PURE__*/external_window_React_default.a.createElement("span", {
title: item === null || item === void 0 ? void 0 : item.name,
style: {
fontSize: '14px',
color: '#333333',
textOverflow: 'ellipsis',
whiteSpace: 'nowrap',
width: '80px',
overflow: 'hidden'
}
}, (item === null || item === void 0 ? void 0 : (_item$name = item.name) === null || _item$name === void 0 ? void 0 : _item$name.length) > 6 ? (item === null || item === void 0 ? void 0 : (_item$name2 = item.name) === null || _item$name2 === void 0 ? void 0 : _item$name2.substr(0, 6)) + '...' : (item === null || item === void 0 ? void 0 : item.name) || '--'), /*#__PURE__*/external_window_React_default.a.createElement("span", {
style: {
marginLeft: '10px',
color: '#999999',
fontSize: '12px'
}
}, (item === null || item === void 0 ? void 0 : (_item$school = item.school) === null || _item$school === void 0 ? void 0 : _item$school.length) > 9 ? (item === null || item === void 0 ? void 0 : (_item$school2 = item.school) === null || _item$school2 === void 0 ? void 0 : _item$school2.substr(0, 9)) + '...' : item === null || item === void 0 ? void 0 : item.school), /*#__PURE__*/external_window_React_default.a.createElement("div", {
style: {
height: '1px',
width: '100%',
border: '1px solid #f5f5f5',
marginTop: '3px',
marginBottom: '3px'
}
}), !(item !== null && item !== void 0 && item.brief_introduction) && /*#__PURE__*/external_window_React_default.a.createElement("div", {
style: {
textAlign: 'center',
marginTop: "20px"
}
}, "\u6682\u65E0\u7B80\u4ECB"), (item === null || item === void 0 ? void 0 : item.brief_introduction) && /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: SortTeammodules_default.a.divHeight
}, item === null || item === void 0 ? void 0 : item.brief_introduction))
}, /*#__PURE__*/external_window_React_default.a.createElement("img", {
draggable: false,
className: SortTeammodules_default.a.imgradius,
onClick: function onClick() {
//判断 是否登录
if (Object(authority["p" /* isLogin */])()) {
umiExports["d" /* history */].push("".concat(item.user_url));
} else {
dispatch({
type: 'user/showPopLogin',
payload: {
showPopLogin: true,
showClosable: true
}
});
}
},
src: env["a" /* default */].API_SERVER + '/images/' + (item === null || item === void 0 ? void 0 : item.image_url)
}), /*#__PURE__*/external_window_React_default.a.createElement("div", null, (item === null || item === void 0 ? void 0 : (_item$name3 = item.name) === null || _item$name3 === void 0 ? void 0 : _item$name3.length) > 6 ? (item === null || item === void 0 ? void 0 : (_item$name4 = item.name) === null || _item$name4 === void 0 ? void 0 : _item$name4.substr(0, 6)) + '...' : (item === null || item === void 0 ? void 0 : item.name) || '--', /*#__PURE__*/external_window_React_default.a.createElement("br", null), /*#__PURE__*/external_window_React_default.a.createElement("span", {
style: {
color: '#999999'
}
}, (item === null || item === void 0 ? void 0 : (_item$school3 = item.school) === null || _item$school3 === void 0 ? void 0 : _item$school3.length) > 6 ? (item === null || item === void 0 ? void 0 : (_item$school4 = item.school) === null || _item$school4 === void 0 ? void 0 : _item$school4.substr(0, 6)) + '...' : (item === null || item === void 0 ? void 0 : item.school) || '--'))), /*#__PURE__*/external_window_React_default.a.createElement("br", null), /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: SortTeammodules_default.a.groupActionWrap
}, /*#__PURE__*/external_window_React_default.a.createElement("i", {
style: {
display: !((_pathsDetail$detail = pathsDetail.detail) !== null && _pathsDetail$detail !== void 0 && _pathsDetail$detail.allow_add_member) && 'none'
},
className: "iconfont icon-shanchu5 mr1 c-red font15 current",
onClick: function onClick(e) {
e.stopPropagation();
handleDeleteMember(item.id);
}
}))));
});
var SortableList = Object(react_sortable_hoc_esm["a" /* SortableContainer */])(function (_ref2) {
var isShow = _ref2.isShow,
setShow = _ref2.setShow,
pathsDetail = _ref2.pathsDetail,
items = _ref2.items,
params = _ref2.params,
dispatch = _ref2.dispatch,
classroomList = _ref2.classroomList,
handleDeleteMember = _ref2.handleDeleteMember;
return /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "task-list-container"
}, items === null || items === void 0 ? void 0 : items.map(function (value, index) {
return /*#__PURE__*/external_window_React_default.a.createElement(SortableItem, {
key: "".concat(value.id),
isShow: isShow,
setShow: setShow,
dispatch: dispatch,
pathsDetail: pathsDetail,
handleDeleteMember: handleDeleteMember,
classroomList: classroomList,
toIndex: index + 1,
params: params,
index: index,
item: value
});
}));
});
var SortTeam_Sortvideo = function Sortvideo(_ref3) {
var data = _ref3.data,
classroomList = _ref3.classroomList,
pathsDetail = _ref3.pathsDetail,
operation = _ref3.operation,
callback = _ref3.callback,
handleDeleteMember = _ref3.handleDeleteMember,
onCancel = _ref3.onCancel,
dispatch = _ref3.dispatch,
_ref3$visible = _ref3.visible,
visible = _ref3$visible === void 0 ? false : _ref3$visible;
var _useState = Object(external_window_React_["useState"])(data),
_useState2 = Object(slicedToArray["a" /* default */])(_useState, 2),
values = _useState2[0],
setValues = _useState2[1];
var params = Object(react_router["i" /* useParams */])();
var _useState3 = Object(external_window_React_["useState"])(),
_useState4 = Object(slicedToArray["a" /* default */])(_useState3, 2),
coent = _useState4[0],
setCoent = _useState4[1];
var _useState5 = Object(external_window_React_["useState"])(true),
_useState6 = Object(slicedToArray["a" /* default */])(_useState5, 2),
isShow = _useState6[0],
setShow = _useState6[1];
function onSortEnd(info) {
var newIndex = info.newIndex,
oldIndex = info.oldIndex; //调用接口 通知后台修改顺序
if (!operation) {
return;
}
SortItem(array_move_default()(values, oldIndex, newIndex).map(function (item) {
return item === null || item === void 0 ? void 0 : item.id;
}));
setValues(array_move_default()(values, oldIndex, newIndex));
}
Object(external_window_React_["useEffect"])(function () {
setValues(data);
}, [JSON.stringify(data)]);
function SortItem(_x) {
return _SortItem.apply(this, arguments);
} // document.body.ondrop = function (event) {
// event.preventDefault();
// event.stopPropagation();
// }
function _SortItem() {
_SortItem = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee(item) {
var result;
return regenerator_default.a.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return Object(fetch["a" /* default */])("/api/paths/".concat(params === null || params === void 0 ? void 0 : params.pathId, "/move_subject_members.json"), {
method: 'post',
body: {
user_ids: item
}
});
case 2:
result = _context.sent;
case 3:
case "end":
return _context.stop();
}
}
}, _callee);
}));
return _SortItem.apply(this, arguments);
}
return /*#__PURE__*/external_window_React_default.a.createElement("div", {
style: {
zIndex: 9999,
width: '100%'
} // visible={visible}
,
className: "sort-list-panel"
}, /*#__PURE__*/external_window_React_default.a.createElement(SortableList, {
axis: "xy",
helperClass: "dragging-li",
isShow: isShow,
setShow: setShow,
distance: 2,
dispatch: dispatch,
pathsDetail: pathsDetail,
handleDeleteMember: handleDeleteMember,
classroomList: classroomList,
params: params,
items: values,
onSortEnd: onSortEnd
}));
};
/* harmony default export */ var SortTeam = (Object(umiExports["a" /* connect */])(function (_ref4) {
var classroomList = _ref4.classroomList,
pathsDetail = _ref4.pathsDetail;
return {
classroomList: classroomList,
pathsDetail: pathsDetail
};
})(SortTeam_Sortvideo));
// EXTERNAL MODULE: ./src/pages/Paths/Detail/components/Right/components/SortClassroom/index.less?modules
var SortClassroommodules = __webpack_require__("lseA");
var SortClassroommodules_default = /*#__PURE__*/__webpack_require__.n(SortClassroommodules);
// CONCATENATED MODULE: ./src/pages/Paths/Detail/components/Right/components/SortClassroom/index.tsx
var itemindex = [2, 5, 8, 11, 14];
var SortClassroom_SortableItem = Object(react_sortable_hoc_esm["b" /* SortableElement */])(function (_ref) {
var _item$name, _item$name2, _item$name3, _pathsDetail$detail;
var item = _ref.item,
toIndex = _ref.toIndex,
params = _ref.params,
dispatch = _ref.dispatch,
classroomList = _ref.classroomList,
handleDeleteMember = _ref.handleDeleteMember,
pathsDetail = _ref.pathsDetail;
return /*#__PURE__*/external_window_React_default.a.createElement("span", {
onClick: function onClick() {
window.open(item === null || item === void 0 ? void 0 : item.first_category_url);
},
style: {
display: 'inline-block',
padding: '10px 20px',
width: '100%',
background: '#fff',
marginTop: '5px'
}
}, /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: SortClassroommodules_default.a.directionItemWrap
}, /*#__PURE__*/external_window_React_default.a.createElement("img", {
className: SortClassroommodules_default.a.imgradius,
src: env["a" /* default */].API_SERVER + (item === null || item === void 0 ? void 0 : item.default_image)
}), /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: SortClassroommodules_default.a.groupActionWrap
}, /*#__PURE__*/external_window_React_default.a.createElement(tooltip["a" /* default */], {
title: item.name
}, /*#__PURE__*/external_window_React_default.a.createElement("span", {
style: {
fontSize: '18px',
color: '#ffffff'
}
}, ((_item$name = item.name) === null || _item$name === void 0 ? void 0 : _item$name.length) > 7 ? /*#__PURE__*/external_window_React_default.a.createElement("span", null, (_item$name2 = item.name) === null || _item$name2 === void 0 ? void 0 : _item$name2.substring(0, 7), /*#__PURE__*/external_window_React_default.a.createElement("br", null), " ", (_item$name3 = item.name) === null || _item$name3 === void 0 ? void 0 : _item$name3.substring(7, 14), (item === null || item === void 0 ? void 0 : item.name.length) > 14 && '...') : item.name)))), /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: SortClassroommodules_default.a.bottomdiv
}, /*#__PURE__*/external_window_React_default.a.createElement(tooltip["a" /* default */], {
title: "\u8BBF\u95EE\u6570\uFF1A".concat(item === null || item === void 0 ? void 0 : item.visits),
placement: "bottom"
}, /*#__PURE__*/external_window_React_default.a.createElement("span", null, /*#__PURE__*/external_window_React_default.a.createElement("i", {
style: {
marginRight: '3px',
color: "#bbbbbb"
},
className: "iconfont icon-chakan ml3 font15 current"
}), /*#__PURE__*/external_window_React_default.a.createElement("span", {
style: {
color: 'rgba(0, 0, 0, 0.45)'
}
}, item === null || item === void 0 ? void 0 : item.visits))), /*#__PURE__*/external_window_React_default.a.createElement(tooltip["a" /* default */], {
title: "\u8BFE\u5802\u6210\u5458\u6570\uFF1A".concat(item === null || item === void 0 ? void 0 : item.course_members_count),
placement: "bottom"
}, /*#__PURE__*/external_window_React_default.a.createElement("span", null, /*#__PURE__*/external_window_React_default.a.createElement("i", {
style: {
marginRight: '3px',
color: "#bbbbbb"
},
className: "iconfont icon-ren ml3 font15 current"
}), /*#__PURE__*/external_window_React_default.a.createElement("span", {
style: {
color: 'rgba(0, 0, 0, 0.45)'
}
}, " ", item === null || item === void 0 ? void 0 : item.course_members_count))), /*#__PURE__*/external_window_React_default.a.createElement(tooltip["a" /* default */], {
overlayStyle: {
maxWidth: 380
},
title: /*#__PURE__*/external_window_React_default.a.createElement("div", {
style: {
whiteSpace: "nowrap"
}
}, "\u8BFE\u5802\u7684\u4EFB\u52A1\u6570(\u4F5C\u4E1A\u6570\uFF0B\u8BD5\u5377\u6570\uFF0B\u95EE\u5377\u6570)\uFF1A", item === null || item === void 0 ? void 0 : item.tasks_count),
placement: "bottom"
}, /*#__PURE__*/external_window_React_default.a.createElement("span", null, /*#__PURE__*/external_window_React_default.a.createElement("i", {
style: {
marginRight: '3px',
color: "#bbbbbb"
},
className: "iconfont icon-wenjian2 ml3 font15 current"
}), /*#__PURE__*/external_window_React_default.a.createElement("span", {
style: {
color: 'rgba(0, 0, 0, 0.45)'
}
}, " ", item === null || item === void 0 ? void 0 : item.tasks_count))), /*#__PURE__*/external_window_React_default.a.createElement(tooltip["a" /* default */], {
title: "\u5220\u9664",
placement: "bottom"
}, /*#__PURE__*/external_window_React_default.a.createElement("span", null, /*#__PURE__*/external_window_React_default.a.createElement("i", {
style: {
color: "#bbbbbb",
display: !(pathsDetail !== null && pathsDetail !== void 0 && (_pathsDetail$detail = pathsDetail.detail) !== null && _pathsDetail$detail !== void 0 && _pathsDetail$detail.allow_add_member) && 'none'
},
className: "iconfont icon-lajitong1 mr3 font15 current",
onClick: function onClick(e) {
e.stopPropagation();
handleDeleteMember(item.id);
}
})))));
});
var SortClassroom_SortableList = Object(react_sortable_hoc_esm["a" /* SortableContainer */])(function (_ref2) {
var items = _ref2.items,
params = _ref2.params,
dispatch = _ref2.dispatch,
classroomList = _ref2.classroomList,
handleDeleteMember = _ref2.handleDeleteMember,
pathsDetail = _ref2.pathsDetail;
return /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "task-list-container"
}, items === null || items === void 0 ? void 0 : items.map(function (value, index) {
return /*#__PURE__*/external_window_React_default.a.createElement(SortClassroom_SortableItem, {
key: "".concat(value.id),
dispatch: dispatch,
pathsDetail: pathsDetail,
handleDeleteMember: handleDeleteMember,
classroomList: classroomList,
toIndex: index + 1,
params: params,
index: index,
item: value
});
}));
});
var SortClassroom_Sortvideo = function Sortvideo(_ref3) {
var data = _ref3.data,
classroomList = _ref3.classroomList,
pathsDetail = _ref3.pathsDetail,
callback = _ref3.callback,
handleDeleteMember = _ref3.handleDeleteMember,
onCancel = _ref3.onCancel,
dispatch = _ref3.dispatch,
_ref3$visible = _ref3.visible,
visible = _ref3$visible === void 0 ? false : _ref3$visible;
var _useState = Object(external_window_React_["useState"])(data),
_useState2 = Object(slicedToArray["a" /* default */])(_useState, 2),
values = _useState2[0],
setValues = _useState2[1];
var params = Object(react_router["i" /* useParams */])();
var _useState3 = Object(external_window_React_["useState"])(),
_useState4 = Object(slicedToArray["a" /* default */])(_useState3, 2),
coent = _useState4[0],
setCoent = _useState4[1];
function onSortEnd(info) {
var newIndex = info.newIndex,
oldIndex = info.oldIndex; //调用接口 通知后台修改顺序
SortItem(array_move_default()(values, oldIndex, newIndex).map(function (item) {
return item === null || item === void 0 ? void 0 : item.id;
}));
setValues(array_move_default()(values, oldIndex, newIndex));
}
Object(external_window_React_["useEffect"])(function () {
setValues(data);
}, [JSON.stringify(data)]);
function SortItem(_x) {
return _SortItem.apply(this, arguments);
}
function _SortItem() {
_SortItem = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee(item) {
var result;
return regenerator_default.a.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return Object(fetch["a" /* default */])("/api/paths/".concat(params === null || params === void 0 ? void 0 : params.pathId, "/spoc_courses/move_position.json"), {
method: 'post',
body: {
ids: item
}
});
case 2:
result = _context.sent;
case 3:
case "end":
return _context.stop();
}
}
}, _callee);
}));
return _SortItem.apply(this, arguments);
}
return /*#__PURE__*/external_window_React_default.a.createElement("div", {
style: {
zIndex: 9999,
width: '100%'
} // visible={visible}
,
className: "sort-list-panel"
}, /*#__PURE__*/external_window_React_default.a.createElement(SortClassroom_SortableList, {
axis: "y",
helperClass: "dragging-li",
pathsDetail: pathsDetail,
distance: 2,
dispatch: dispatch,
handleDeleteMember: handleDeleteMember,
classroomList: classroomList,
params: params,
items: values,
onSortEnd: onSortEnd
}));
};
/* harmony default export */ var SortClassroom = (Object(umiExports["a" /* connect */])(function (_ref4) {
var classroomList = _ref4.classroomList,
pathsDetail = _ref4.pathsDetail;
return {
classroomList: classroomList,
pathsDetail: pathsDetail
};
})(SortClassroom_Sortvideo));
// EXTERNAL MODULE: ./src/service/exercise.ts
var exercise = __webpack_require__("V0Rq");
// EXTERNAL MODULE: ./src/service/shixuns.ts
var shixuns = __webpack_require__("HBuW");
// EXTERNAL MODULE: ./src/assets/images/ksxz.png
var ksxz = __webpack_require__("W6us");
var ksxz_default = /*#__PURE__*/__webpack_require__.n(ksxz);
// EXTERNAL MODULE: ./src/assets/images/jxtd.png
var jxtd = __webpack_require__("CnIC");
var jxtd_default = /*#__PURE__*/__webpack_require__.n(jxtd);
// EXTERNAL MODULE: ./src/assets/images/spoc.png
var spoc = __webpack_require__("LZjx");
var spoc_default = /*#__PURE__*/__webpack_require__.n(spoc);
// EXTERNAL MODULE: ./src/components/mediator.js
var mediator = __webpack_require__("dhSg");
// EXTERNAL MODULE: ./node_modules/echarts-for-react/lib/index.js
var lib = __webpack_require__("cVA7");
var lib_default = /*#__PURE__*/__webpack_require__.n(lib);
// EXTERNAL MODULE: ./node_modules/echarts-wordcloud/index.js
var echarts_wordcloud = __webpack_require__("h6EL");
// CONCATENATED MODULE: ./src/pages/Paths/Detail/components/Right/index.tsx
function onPreviewImage(e) {
var parentIndexOf = function parentIndexOf(node, parent) {
if (node.localName === parent) {
return node;
}
for (var i = 0, n = node; n = n.parentNode; i++) {
if (n.localName === parent) {
return n;
}
if (n == document.documentElement) {
return false;
} //找不到目标父节点,防止死循环
}
};
var t = e.target;
var dom = parentIndexOf(t, 'a');
console.log([dom], dom === null || dom === void 0 ? void 0 : dom.href, 44);
if (dom !== null && dom !== void 0 && dom.href) return;
if (t.tagName.toUpperCase() === 'IMG') {
var url = t.src || t.getAttribute('src');
if (url && url.indexOf('/images/avatars/User') === -1) {
e.stopPropagation();
e.preventDefault();
mediator["a" /* default */].publish('preview-image', url);
}
}
}
var Right_Right = function Right(_ref) {
var _pathsDetail$detail10, _pathsDetail$detail11, _pathsDetail$detail12, _pathsDetail$detail13, _pathsDetail$detail14, _pathsDetail$detail15, _pathsDetail$rightDat14, _pathsDetail$rightDat15, _pathsDetail$rightDat16, _pathsDetail$detail16, _pathsDetail$detail17, _currentCourse$course2, _currentCourse$course3, _pathsDetail$detail18, _pathsDetail$detail19, _pathsDetail$detail20, _pathsDetail$detail21, _pathsDetail$detail22, _pathsDetail$detail23, _pathsDetail$detail24, _pathsDetail$detail25, _pathsDetail$detail26, _pathsDetail$detail27, _pathsDetail$detail28, _pathsDetail$detail29, _currentCourse$course4, _currentCourse$course5, _currentCourse$course6, _pathsDetail$rightDat17, _currentCourse$course7, _pathsDetail$rightDat18, _pathsDetail$rightDat19, _pathsDetail$rightDat20, _pathsDetail$rightDat21, _pathsDetail$rightDat22, _pathsDetail$rightDat23, _pathsDetail$rightDat24, _pathsDetail$rightDat25, _pathsDetail$rightDat26, _pathsDetail$rightDat27, _pathsDetail$rightDat28, _pathsDetail$rightDat29, _pathsDetail$rightDat30, _pathsDetail$rightDat31, _currentCourse$course8, _currentCourse$course9, _pathsDetail$detail30, _currentCourse$course10, _currentCourse$course11, _currentCourse$course12, _currentCourse$course13, _currentCourse$course14, _currentCourse$course15, _pathsDetail$detail31, _pathsDetail$detail32, _pathsDetail$detail33, _pathsDetail$detail34, _pathsDetail$detail35, _pathsDetail$detail36, _pathsDetail$detail37, _pathsDetail$detail38, _pathsDetail$detail39, _pathsDetail$detail40, _pathsDetail$detail41, _pathsDetail$detail42, _pathsDetail$detail43, _pathsDetail$detail44, _pathsDetail$detail45, _pathsDetail$detail46, _pathsDetail$detail47, _pathsDetail$detail48, _pathsDetail$detail49, _pathsDetail$detail50, _pathsDetail$detail51, _pathsDetail$detail52, _pathsDetail$rightDat32, _pathsDetail$rightDat33, _pathsDetail$detail53, _pathsDetail$detail54, _pathsDetail$detail55, _pathsDetail$rightDat34, _pathsDetail$rightDat35, _pathsDetail$detail56, _pathsDetail$detail57, _pathsDetail$rightDat36, _pathsDetail$rightDat37, _pathsDetail$detail58, _pathsDetail$rightDat38, _pathsDetail$rightDat39, _pathsDetail$detail59, _pathsDetail$Courses, _pathsDetail$detail60, _pathsDetail$Courses2, _pathsDetail$Courses3, _pathsDetail$detail61, _pathsDetail$detail62, _pathsDetail$detail63, _data$spoc_courses, _pathsDetail$detail64, _pathsDetail$rightDat40, _pathsDetail$rightDat41;
var pathsDetail = _ref.pathsDetail,
user = _ref.user,
globalSetting = _ref.globalSetting,
loading = _ref.loading,
classroomList = _ref.classroomList,
dispatch = _ref.dispatch,
props = Object(objectWithoutProperties["a" /* default */])(_ref, ["pathsDetail", "user", "globalSetting", "loading", "classroomList", "dispatch"]);
var params = Object(react_router["i" /* useParams */])();
var _useState = Object(external_window_React_["useState"])(true),
_useState2 = Object(slicedToArray["a" /* default */])(_useState, 2),
showExpandAll = _useState2[0],
setShowExpandAll = _useState2[1];
var _useState3 = Object(external_window_React_["useState"])(false),
_useState4 = Object(slicedToArray["a" /* default */])(_useState3, 2),
btnLoading = _useState4[0],
setBtnLoading = _useState4[1];
var _useState5 = Object(external_window_React_["useState"])(),
_useState6 = Object(slicedToArray["a" /* default */])(_useState5, 2),
isEditTitle = _useState6[0],
setIsEditTitle = _useState6[1];
var _useState7 = Object(external_window_React_["useState"])(),
_useState8 = Object(slicedToArray["a" /* default */])(_useState7, 2),
editValue = _useState8[0],
setEditValue = _useState8[1];
var _useState9 = Object(external_window_React_["useState"])({}),
_useState10 = Object(slicedToArray["a" /* default */])(_useState9, 2),
currentCourse = _useState10[0],
setCurrentCourse = _useState10[1];
var _useState11 = Object(external_window_React_["useState"])(),
_useState12 = Object(slicedToArray["a" /* default */])(_useState11, 2),
isOrderSuccess = _useState12[0],
setIsOrderSuccess = _useState12[1]; // 预约成功标志
var contentEl = Object(external_window_React_["useRef"])();
var _useState13 = Object(external_window_React_["useState"])(false),
_useState14 = Object(slicedToArray["a" /* default */])(_useState13, 2),
visible = _useState14[0],
setVisible = _useState14[1];
var _useState15 = Object(external_window_React_["useState"])({}),
_useState16 = Object(slicedToArray["a" /* default */])(_useState15, 2),
data = _useState16[0],
setData = _useState16[1];
Object(external_window_React_["useEffect"])(function () {
if (contentEl.current) {
contentEl.current.addEventListener('mousedown', onPreviewImage);
return function () {
contentEl.current.removeEventListener('mousedown', onPreviewImage);
};
}
}, [contentEl.current]);
var handleEditTitle = /*#__PURE__*/function () {
var _ref2 = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee() {
var res;
return regenerator_default.a.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
if (editValue !== null && editValue !== void 0 && editValue.trim()) {
_context.next = 3;
break;
}
es_message["b" /* default */].warn('名称不能为空');
return _context.abrupt("return");
case 3:
_context.next = 5;
return Object(paths["W" /* updateTeamTitle */])({
id: params.pathId,
team_title: editValue.trim()
});
case 5:
res = _context.sent;
setIsEditTitle(!isEditTitle);
if ((res === null || res === void 0 ? void 0 : res.status) === 0) {
setEditValue(null);
es_message["b" /* default */].success(res.message);
dispatch({
type: "pathsDetail/getRightData",
payload: {
id: params.pathId
}
});
}
case 8:
case "end":
return _context.stop();
}
}
}, _callee);
}));
return function handleEditTitle() {
return _ref2.apply(this, arguments);
};
}();
Object(external_window_React_["useEffect"])(function () {
dispatch({
type: "pathsDetail/getCoureses",
payload: {
id: params.pathId
}
});
getdata();
}, []);
function getdata() {
return _getdata.apply(this, arguments);
} // console.log('----------', data);
function _getdata() {
_getdata = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee13() {
return regenerator_default.a.wrap(function _callee13$(_context13) {
while (1) {
switch (_context13.prev = _context13.next) {
case 0:
_context13.t0 = setData;
_context13.next = 3;
return Object(paths["w" /* getCoureses */])({
id: params.pathId,
course_type: 1
});
case 3:
_context13.t1 = _context13.sent;
(0, _context13.t0)(_context13.t1);
case 5:
case "end":
return _context13.stop();
}
}
}, _callee13);
}));
return _getdata.apply(this, arguments);
}
Object(external_window_React_["useEffect"])(function () {
var _classroomList$action;
if (((_classroomList$action = classroomList.actionTabs) === null || _classroomList$action === void 0 ? void 0 : _classroomList$action.key) === "修改开课时间") {
var _pathsDetail$detail, _pathsDetail$detail$c;
var course = (_pathsDetail$detail = pathsDetail.detail) === null || _pathsDetail$detail === void 0 ? void 0 : (_pathsDetail$detail$c = _pathsDetail$detail.courses) === null || _pathsDetail$detail$c === void 0 ? void 0 : _pathsDetail$detail$c.find(function (item) {
var _classroomList$action2;
return item.course_id === ((_classroomList$action2 = classroomList.actionTabs) === null || _classroomList$action2 === void 0 ? void 0 : _classroomList$action2.name);
});
setCurrentCourse(course || {});
}
}, [classroomList.actionTabs]);
Object(external_window_React_["useEffect"])(function () {
var _pathsDetail$detail2, _pathsDetail$detail6;
var currentNumber;
if ((_pathsDetail$detail2 = pathsDetail.detail) !== null && _pathsDetail$detail2 !== void 0 && _pathsDetail$detail2.has_start) {
var _pathsDetail$detail3, _pathsDetail$detail3$;
var findIndex = (_pathsDetail$detail3 = pathsDetail.detail) === null || _pathsDetail$detail3 === void 0 ? void 0 : (_pathsDetail$detail3$ = _pathsDetail$detail3.courses) === null || _pathsDetail$detail3$ === void 0 ? void 0 : _pathsDetail$detail3$.findIndex(function (item) {
var _item$course_status;
return parseInt((_item$course_status = item.course_status) === null || _item$course_status === void 0 ? void 0 : _item$course_status.status) === 1;
});
currentNumber = findIndex > -1 ? findIndex : 0;
} else {
var _pathsDetail$detail4, _pathsDetail$detail4$, _pathsDetail$detail4$2, _pathsDetail$detail5, _pathsDetail$detail5$;
var _findIndex = (_pathsDetail$detail4 = pathsDetail.detail) === null || _pathsDetail$detail4 === void 0 ? void 0 : (_pathsDetail$detail4$ = _pathsDetail$detail4.courses) === null || _pathsDetail$detail4$ === void 0 ? void 0 : (_pathsDetail$detail4$2 = _pathsDetail$detail4$.map(function (item) {
var _item$course_status2;
return parseInt((_item$course_status2 = item.course_status) === null || _item$course_status2 === void 0 ? void 0 : _item$course_status2.status);
})) === null || _pathsDetail$detail4$2 === void 0 ? void 0 : _pathsDetail$detail4$2.lastIndexOf(2);
currentNumber = _findIndex > -1 ? _findIndex : 0;
_findIndex = (_pathsDetail$detail5 = pathsDetail.detail) === null || _pathsDetail$detail5 === void 0 ? void 0 : (_pathsDetail$detail5$ = _pathsDetail$detail5.courses) === null || _pathsDetail$detail5$ === void 0 ? void 0 : _pathsDetail$detail5$.findIndex(function (item) {
var _item$course_status3;
return parseInt((_item$course_status3 = item.course_status) === null || _item$course_status3 === void 0 ? void 0 : _item$course_status3.status) === 0;
});
currentNumber = _findIndex > -1 ? _findIndex : currentNumber;
}
if ((_pathsDetail$detail6 = pathsDetail.detail) !== null && _pathsDetail$detail6 !== void 0 && _pathsDetail$detail6.courses) {
var _pathsDetail$detail7;
setCurrentCourse(((_pathsDetail$detail7 = pathsDetail.detail) === null || _pathsDetail$detail7 === void 0 ? void 0 : _pathsDetail$detail7.courses[currentNumber]) || {});
}
}, [pathsDetail.detail]);
var handleDeleteMember = /*#__PURE__*/function () {
var _ref3 = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee3(id) {
return regenerator_default.a.wrap(function _callee3$(_context3) {
while (1) {
switch (_context3.prev = _context3.next) {
case 0:
modal["a" /* default */].confirm({
title: '提示',
centered: true,
okText: '确定',
cancelText: '取消',
content: /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "tc"
}, "\u4F60\u786E\u5B9A\u8981\u5220\u9664\u8BE5\u6210\u5458\u5417\uFF1F"),
onOk: function () {
var _onOk = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee2() {
var res, _user$userInfo;
return regenerator_default.a.wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
_context2.next = 2;
return Object(paths["p" /* deleteMember */])({
id: params.pathId,
user_id: id
});
case 2:
res = _context2.sent;
if ((res === null || res === void 0 ? void 0 : res.status) === 1) {
if (((_user$userInfo = user.userInfo) === null || _user$userInfo === void 0 ? void 0 : _user$userInfo.user_id) === id) {
window.location.href = window.location.href;
}
es_message["b" /* default */].info(res === null || res === void 0 ? void 0 : res.message); // window.location.reload(true)
handleReloadData();
}
case 4:
case "end":
return _context2.stop();
}
}
}, _callee2);
}));
function onOk() {
return _onOk.apply(this, arguments);
}
return onOk;
}()
});
case 1:
case "end":
return _context3.stop();
}
}
}, _callee3);
}));
return function handleDeleteMember(_x) {
return _ref3.apply(this, arguments);
};
}();
var handleDeleteCourse = /*#__PURE__*/function () {
var _ref4 = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee5(id) {
return regenerator_default.a.wrap(function _callee5$(_context5) {
while (1) {
switch (_context5.prev = _context5.next) {
case 0:
modal["a" /* default */].confirm({
title: '提示',
centered: true,
okText: '确定',
cancelText: '取消',
content: /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "tc"
}, "\u4F60\u786E\u5B9A\u8981\u5220\u9664\u8BE5\u8BFE\u5802\u5417\uFF1F"),
onOk: function () {
var _onOk2 = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee4() {
var res;
return regenerator_default.a.wrap(function _callee4$(_context4) {
while (1) {
switch (_context4.prev = _context4.next) {
case 0:
_context4.next = 2;
return Object(paths["o" /* deleteCourses */])({
id: params.pathId,
courseid: id
});
case 2:
res = _context4.sent;
if ((res === null || res === void 0 ? void 0 : res.status) === 0) {
// user.userInfo?.user_id === id && history.push('/paths');
es_message["b" /* default */].info('删除成功');
handleReloadData();
}
case 4:
case "end":
return _context4.stop();
}
}
}, _callee4);
}));
function onOk() {
return _onOk2.apply(this, arguments);
}
return onOk;
}()
});
case 1:
case "end":
return _context5.stop();
}
}
}, _callee5);
}));
return function handleDeleteCourse(_x2) {
return _ref4.apply(this, arguments);
};
}();
var handleRegister = function handleRegister() {
modal["a" /* default */].confirm({
centered: true,
width: 530,
title: '提示',
okText: '确定',
cancelText: '取消',
content: /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "tc"
}, "\u662F\u5426\u786E\u8BA4\u7ACB\u5373\u9884\u7EA6\uFF1F"),
onOk: function () {
var _onOk3 = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee6() {
var res;
return regenerator_default.a.wrap(function _callee6$(_context6) {
while (1) {
switch (_context6.prev = _context6.next) {
case 0:
_context6.next = 2;
return Object(paths["i" /* appointment */])({
id: params.pathId
});
case 2:
res = _context6.sent;
if (res.status === 0) {
setIsOrderSuccess(true);
es_message["b" /* default */].success(res.message);
}
case 4:
case "end":
return _context6.stop();
}
}
}, _callee6);
}));
function onOk() {
return _onOk3.apply(this, arguments);
}
return onOk;
}()
});
};
var handleAddCollaborator = function handleAddCollaborator() {
dispatch({
type: 'pathsDetail/setActionTabs',
payload: {
key: 'Collaborators-AddCollaborator'
}
});
};
var handleAddCourses = function handleAddCourses(type) {
dispatch({
type: 'pathsDetail/setActionTabs',
payload: {
key: 'Collaborators-AddCourses',
type: type
}
});
};
var handleReloadData = function handleReloadData() {
dispatch({
type: "pathsDetail/getPathsDetail",
payload: {
id: params.pathId
}
});
dispatch({
type: "pathsDetail/getRightData",
payload: {
id: params.pathId
}
});
dispatch({
type: "pathsDetail/getCoureses",
payload: {
id: params.pathId
}
});
getdata();
};
var renderEditTitle = function renderEditTitle() {
var _pathsDetail$rightDat;
return isEditTitle ? /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: Rightmodules_default.a.flexRow
}, /*#__PURE__*/external_window_React_default.a.createElement(input["a" /* default */], {
placeholder: "\u4F8B\u5982\uFF1A\u6559\u5B66\u56E2\u961F",
value: editValue,
onChange: function onChange(e) {
return setEditValue(e.target.value);
}
}), /*#__PURE__*/external_window_React_default.a.createElement(es_button["a" /* default */], {
className: "ml5",
onClick: function onClick() {
return setIsEditTitle(!isEditTitle);
}
}, "\u53D6\u6D88"), /*#__PURE__*/external_window_React_default.a.createElement(es_button["a" /* default */], {
className: "ml5",
type: "primary",
onClick: handleEditTitle
}, "\u786E\u5B9A")) : /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: Rightmodules_default.a.directionItemWrap
}, /*#__PURE__*/external_window_React_default.a.createElement("span", {
style: {
fontSize: '16px',
display: 'flex',
alignItems: 'center'
}
}, " ", /*#__PURE__*/external_window_React_default.a.createElement("img", {
style: {
marginRight: '10px'
},
src: jxtd_default.a
}), " ", (_pathsDetail$rightDat = pathsDetail.rightData) === null || _pathsDetail$rightDat === void 0 ? void 0 : _pathsDetail$rightDat.team_title), /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: Rightmodules_default.a.groupActionWrap
}, /*#__PURE__*/external_window_React_default.a.createElement("i", {
className: "iconfont icon-xiugai mr1 c-light-primary font15 current",
onClick: function onClick() {
return setIsEditTitle(!isEditTitle);
}
})));
};
var getOption = function getOption() {
var _pathsDetail$rightDat2, _pathsDetail$rightDat3;
var maskImage = new Image(); // 此为词云图呈现形状的图片base64码,可选,可以自定义图片
maskImage.src = ImagesIcon["q" /* hbIcon */]; // "data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTYuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjI1NnB4IiBoZWlnaHQ9IjI1NnB4IiB2aWV3Qm94PSIwIDAgNTQ4LjE3NiA1NDguMTc2IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1NDguMTc2IDU0OC4xNzY7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPGc+Cgk8cGF0aCBkPSJNNTI0LjE4MywyOTcuMDY1Yy0xNS45ODUtMTkuODkzLTM2LjI2NS0zMi42OTEtNjAuODE1LTM4LjM5OWM3LjgxLTExLjk5MywxMS43MDQtMjUuMTI2LDExLjcwNC0zOS4zOTkgICBjMC0yMC4xNzctNy4xMzktMzcuNDAxLTIxLjQwOS01MS42NzhjLTE0LjI3My0xNC4yNzItMzEuNDk4LTIxLjQxMS01MS42NzUtMjEuNDExYy0xOC4yNzEsMC0zNC4wNzEsNS45MDEtNDcuMzksMTcuNzAzICAgYy0xMS4yMjUtMjcuMDI4LTI5LjA3NS00OC45MTctNTMuNTI5LTY1LjY2N2MtMjQuNDYtMTYuNzQ2LTUxLjcyOC0yNS4xMjUtODEuODAyLTI1LjEyNWMtNDAuMzQ5LDAtNzQuODAyLDE0LjI3OS0xMDMuMzUzLDQyLjgzICAgYy0yOC41NTMsMjguNTQ0LTQyLjgyNSw2Mi45OTktNDIuODI1LDEwMy4zNTFjMCwyLjg1NiwwLjE5MSw2Ljk0NSwwLjU3MSwxMi4yNzVjLTIyLjA3OCwxMC4yNzktMzkuODc2LDI1LjgzOC01My4zODksNDYuNjg2ICAgQzYuNzU5LDI5OS4wNjcsMCwzMjIuMDU1LDAsMzQ3LjE4YzAsMzUuMjExLDEyLjUxNyw2NS4zMzMsMzcuNTQ0LDkwLjM1OWMyNS4wMjgsMjUuMDMzLDU1LjE1LDM3LjU0OCw5MC4zNjIsMzcuNTQ4aDMxMC42MzYgICBjMzAuMjU5LDAsNTYuMDk2LTEwLjcxNSw3Ny41MTItMzIuMTIxYzIxLjQxMy0yMS40MTIsMzIuMTIxLTQ3LjI0OSwzMi4xMjEtNzcuNTE1ICAgQzU0OC4xNzIsMzM5Ljc1Nyw1NDAuMTc0LDMxNi45NTIsNTI0LjE4MywyOTcuMDY1eiIgZmlsbD0iI0ZGRkZGRiIvPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+Cjwvc3ZnPgo=";
var wordData = ((_pathsDetail$rightDat2 = pathsDetail.rightData) === null || _pathsDetail$rightDat2 === void 0 ? void 0 : (_pathsDetail$rightDat3 = _pathsDetail$rightDat2.tags) === null || _pathsDetail$rightDat3 === void 0 ? void 0 : _pathsDetail$rightDat3.map(function (item, key) {
return {
name: item.tag_name,
value: key
};
})) || [];
var option = {
backgroundColor: "#fff",
tooltip: {
pointFormat: "{series.name}"
},
series: [{
type: "wordCloud",
sizeRange: [10, 30],
rotationRange: [-90, 90],
rotationStep: 45,
gridSize: 2,
shape: 'pentagon',
//circle pentagon
maskImage: maskImage,
// 呈现形状图片, 可选
textStyle: {
normal: {
color: function color() {
return "rgb(" + Math.round(Math.random() * 255) + ", " + Math.round(Math.random() * 255) + ", " + Math.round(Math.random() * 255) + ")";
}
}
},
// Folllowing left/top/width/height/right/bottom are used for positioning the word cloud
// Default to be put in the center and has 75% x 80% size.
left: "center",
top: "center",
right: null,
bottom: null,
width: "100%",
height: "100%",
data: wordData
}]
};
return option;
};
var handleImmediatelyRegister = function handleImmediatelyRegister() {
if (!Object(verifyLogin["e" /* handleVerify */])(dispatch)) {
return;
}
modal["a" /* default */].confirm({
centered: true,
width: 530,
title: '提示',
okText: '确定',
cancelText: '取消',
content: /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "tc"
}, "\u662F\u5426\u786E\u5B9A\u52A0\u5165\u8BE5\u8BFE\u5802"),
onOk: function () {
var _onOk4 = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee7() {
var res, _currentCourse$course;
return regenerator_default.a.wrap(function _callee7$(_context7) {
while (1) {
switch (_context7.prev = _context7.next) {
case 0:
_context7.next = 2;
return Object(paths["M" /* immediatelyRegister */])({
id: currentCourse === null || currentCourse === void 0 ? void 0 : currentCourse.course_id
});
case 2:
res = _context7.sent;
if (res.status === 0) {
es_message["b" /* default */].success(res.message);
dispatch({
type: "pathsDetail/getPathsDetail",
payload: {
id: params.pathId
}
});
if (parseInt((_currentCourse$course = currentCourse.course_status) === null || _currentCourse$course === void 0 ? void 0 : _currentCourse$course.status) === 1) {
Object(util["Q" /* openNewWindow */])("".concat(currentCourse === null || currentCourse === void 0 ? void 0 : currentCourse["first_category_url"]));
}
}
case 4:
case "end":
return _context7.stop();
}
}
}, _callee7);
}));
function onOk() {
return _onOk4.apply(this, arguments);
}
return onOk;
}()
});
}; //立即购买
var handleImmediatelyPay = /*#__PURE__*/function () {
var _ref5 = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee8() {
var res;
return regenerator_default.a.wrap(function _callee8$(_context8) {
while (1) {
switch (_context8.prev = _context8.next) {
case 0:
if (Object(verifyLogin["e" /* handleVerify */])(dispatch)) {
_context8.next = 2;
break;
}
return _context8.abrupt("return");
case 2:
setBtnLoading(true);
_context8.next = 5;
return Object(fetch["a" /* default */])("/api/payments.json", {
method: 'POST',
body: {
subject_id: params.pathId,
payment_method: 'wechat_qr'
}
});
case 5:
res = _context8.sent;
if (res !== null && res !== void 0 && res.num) {
setBtnLoading(false);
umiExports["d" /* history */].push("/order/".concat(params.pathId, "/pay?order_num=").concat(res === null || res === void 0 ? void 0 : res.num));
}
case 7:
case "end":
return _context8.stop();
}
}
}, _callee8);
}));
return function handleImmediatelyPay() {
return _ref5.apply(this, arguments);
};
}(); //实训方法
var toShixun = /*#__PURE__*/function () {
var _ref6 = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee9(id, is_jupyter) {
var execRes;
return regenerator_default.a.wrap(function _callee9$(_context9) {
while (1) {
switch (_context9.prev = _context9.next) {
case 0:
dispatch({
type: "globalSetting/setGlobalLoading",
payload: {
show: true,
text: "正在进入实训,请稍后..."
}
});
if (!is_jupyter) {
_context9.next = 7;
break;
}
_context9.next = 4;
return Object(shixuns["C" /* execJupyter */])({
id: id
});
case 4:
_context9.t0 = _context9.sent;
_context9.next = 10;
break;
case 7:
_context9.next = 9;
return Object(shixuns["D" /* execShixun */])({
id: id
});
case 9:
_context9.t0 = _context9.sent;
case 10:
execRes = _context9.t0;
dispatch({
type: "globalSetting/setGlobalLoading",
payload: {
show: false,
text: ""
}
});
if (!(execRes !== null && execRes !== void 0 && execRes.game_identifier || execRes !== null && execRes !== void 0 && execRes.identifier)) {
_context9.next = 15;
break;
}
Object(util["Q" /* openNewWindow */])(is_jupyter ? "/tasks/".concat(execRes === null || execRes === void 0 ? void 0 : execRes.identifier, "/jupyter") : "/tasks/".concat(execRes.game_identifier));
return _context9.abrupt("return");
case 15:
if ((execRes === null || execRes === void 0 ? void 0 : execRes.status) === 2) {
handleResetGame(execRes === null || execRes === void 0 ? void 0 : execRes.message);
} else if ((execRes === null || execRes === void 0 ? void 0 : execRes.status) === 3) {
handleInBeta(execRes === null || execRes === void 0 ? void 0 : execRes.message);
}
case 16:
case "end":
return _context9.stop();
}
}
}, _callee9);
}));
return function toShixun(_x3, _x4) {
return _ref6.apply(this, arguments);
};
}();
var handleInBeta = function handleInBeta(message) {
modal["a" /* default */].confirm({
centered: true,
title: '提示',
okText: '确定',
cancelText: '取消',
content: /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "tc font16"
}, "\u76EE\u524D\u8BE5\u5B9E\u8DF5\u9879\u76EE\u5C1A\u5728\u5185\u6D4B\u4E2D\uFF0C\u5C06\u4E8E", message, "\u4E4B\u540E\u5F00\u653E\uFF0C\u8C22\u8C22\uFF01")
});
};
var handleResetGame = function handleResetGame(url) {
var _url;
url = (_url = url) !== null && _url !== void 0 && _url.includes('.json') ? url : "".concat(url, ".json");
modal["a" /* default */].confirm({
centered: true,
title: '提示',
okText: '确定',
cancelText: '取消',
content: /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "tc font16"
}, "\u5B9E\u8BAD\u5DF2\u7ECF\u66F4\u65B0\u4E86\uFF0C\u6B63\u5728\u4E3A\u60A8\u91CD\u7F6E!"),
onOk: function () {
var _onOk5 = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee10() {
var res, execRes;
return regenerator_default.a.wrap(function _callee10$(_context10) {
while (1) {
switch (_context10.prev = _context10.next) {
case 0:
_context10.next = 2;
return Object(exercise["S" /* resetMyGame */])({
url: url
});
case 2:
res = _context10.sent;
if (res) {
_context10.next = 5;
break;
}
return _context10.abrupt("return");
case 5:
es_message["b" /* default */].success("重置成功,正在进入实训!");
_context10.next = 8;
return Object(shixuns["D" /* execShixun */])({
id: res.shixun_identifier
});
case 8:
execRes = _context10.sent;
if (!(execRes !== null && execRes !== void 0 && execRes.game_identifier)) {
_context10.next = 12;
break;
}
Object(util["Q" /* openNewWindow */])("/tasks/".concat(execRes.game_identifier));
return _context10.abrupt("return");
case 12:
if ((execRes === null || execRes === void 0 ? void 0 : execRes.status) === 2) {
handleResetGame(execRes === null || execRes === void 0 ? void 0 : execRes.message);
} else if ((execRes === null || execRes === void 0 ? void 0 : execRes.status) === 3) {
handleInBeta(execRes === null || execRes === void 0 ? void 0 : execRes.message);
}
case 13:
case "end":
return _context10.stop();
}
}
}, _callee10);
}));
function onOk() {
return _onOk5.apply(this, arguments);
}
return onOk;
}()
});
}; //开始学习
var handleImmediatelyLearn = function handleImmediatelyLearn() {
var _pathsDetail$stageDat;
if (!Object(verifyLogin["e" /* handleVerify */])(dispatch)) {
return;
}
var stageItems = [];
pathsDetail === null || pathsDetail === void 0 ? void 0 : (_pathsDetail$stageDat = pathsDetail.stageData) === null || _pathsDetail$stageDat === void 0 ? void 0 : _pathsDetail$stageDat.forEach(function (e) {
var _e$items;
if (e.items && (_e$items = e.items) !== null && _e$items !== void 0 && _e$items.length) {
var _e$items2;
// stageItems = stageItems.concat(e.items);
(_e$items2 = e.items) === null || _e$items2 === void 0 ? void 0 : _e$items2.forEach(function (er) {
var _er$children;
stageItems.push(er);
if (er.children && (_er$children = er.children) !== null && _er$children !== void 0 && _er$children.length) {
stageItems = stageItems.concat(er.children);
}
});
}
});
var stageParam = stageItems.find(function (e) {
return ["VideoItem", "Attachment", "Shixun"].includes(e.item_type);
});
console.log(stageParam, 'stageParam');
if (stageParam.item_type === 'VideoItem') {
Object(util["Q" /* openNewWindow */])("/video/".concat(stageParam.id, "?subject_id=").concat(params.pathId));
return;
}
if (stageParam.item_type === 'Attachment') {
Object(util["Q" /* openNewWindow */])(stageParam.url);
return;
}
if (stageParam.item_type === 'Shixun') {
toShixun(stageParam.identifier, stageParam.is_jupyter);
return;
}
};
var renderButs = function renderButs() {
var _pathsDetail$detail8, _pathsDetail$detail8$, _pathsDetail$detail9, _pathsDetail$detail9$;
var status = (_pathsDetail$detail8 = pathsDetail.detail) === null || _pathsDetail$detail8 === void 0 ? void 0 : (_pathsDetail$detail8$ = _pathsDetail$detail8.learning_status) === null || _pathsDetail$detail8$ === void 0 ? void 0 : _pathsDetail$detail8$[0];
var type = (_pathsDetail$detail9 = pathsDetail.detail) === null || _pathsDetail$detail9 === void 0 ? void 0 : (_pathsDetail$detail9$ = _pathsDetail$detail9.learning_status) === null || _pathsDetail$detail9$ === void 0 ? void 0 : _pathsDetail$detail9$[1];
if (status === 'can') {
return /*#__PURE__*/external_window_React_default.a.createElement(es_button["a" /* default */], {
onClick: handleImmediatelyLearn,
type: "primary"
}, "\u5F00\u59CB\u5B66\u4E60");
}
if (status === 'disabled') {
if (type === 'try' || type === 'unpayed') {
return /*#__PURE__*/external_window_React_default.a.createElement(es_button["a" /* default */], {
loading: btnLoading,
onClick: handleImmediatelyPay,
type: "primary"
}, "\u7ACB\u5373\u8D2D\u4E70");
}
if (type === 'expired') {
return /*#__PURE__*/external_window_React_default.a.createElement(es_button["a" /* default */], {
disabled: true,
type: "primary"
}, "\u5DF2\u8FC7\u671F");
}
if (type === 'buyed') {
return /*#__PURE__*/external_window_React_default.a.createElement(es_button["a" /* default */], {
disabled: true,
type: "primary"
}, "\u672A\u5F00\u59CB");
}
}
};
var handleApply = /*#__PURE__*/function () {
var _ref7 = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee12() {
var _user$userInfo2, _pathsDetail$rightDat4, _pathsDetail$rightDat5, _pathsDetail$rightDat6, _pathsDetail$rightDat7, _pathsDetail$rightDat8, _pathsDetail$rightDat9, _pathsDetail$rightDat12, _pathsDetail$rightDat13;
var post, _pathsDetail$rightDat10, _pathsDetail$rightDat11;
return regenerator_default.a.wrap(function _callee12$(_context12) {
while (1) {
switch (_context12.prev = _context12.next) {
case 0:
post = /*#__PURE__*/function () {
var _ref8 = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee11() {
var res;
return regenerator_default.a.wrap(function _callee11$(_context11) {
while (1) {
switch (_context11.prev = _context11.next) {
case 0:
_context11.next = 2;
return Object(fetch["a" /* default */])("/api/users/".concat(user.userInfo.login, "/subjects/request_certificate.json?subject_id=").concat(params.pathId), {
method: 'post'
});
case 2:
res = _context11.sent;
if ((res === null || res === void 0 ? void 0 : res.status) === 0) {
es_message["b" /* default */].info('提交成功');
dispatch({
type: "pathsDetail/getRightData",
payload: {
id: params.pathId
}
});
}
case 4:
case "end":
return _context11.stop();
}
}
}, _callee11);
}));
return function post() {
return _ref8.apply(this, arguments);
};
}();
if ((_user$userInfo2 = user.userInfo) !== null && _user$userInfo2 !== void 0 && _user$userInfo2.professional_certification) {
_context12.next = 4;
break;
}
modal["a" /* default */].confirm({
title: '提示',
centered: true,
content: /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "tc"
}, "\u60A8\u9700\u8981\u53BB\u5B8C\u6210\u60A8\u7684\u804C\u4E1A\u8BA4\u8BC1\uFF0C\u624D\u80FD\u4F7F\u7528\u6B64\u529F\u80FD"),
okText: "\u7ACB\u5373\u5B8C\u5584",
cancelText: "稍后完善",
onOk: function onOk() {
Object(util["Q" /* openNewWindow */])('/account/certification');
}
});
return _context12.abrupt("return", false);
case 4:
if (!(((_pathsDetail$rightDat4 = pathsDetail.rightData) === null || _pathsDetail$rightDat4 === void 0 ? void 0 : (_pathsDetail$rightDat5 = _pathsDetail$rightDat4.progress) === null || _pathsDetail$rightDat5 === void 0 ? void 0 : _pathsDetail$rightDat5.certificated) === 'drafted')) {
_context12.next = 6;
break;
}
return _context12.abrupt("return", false);
case 6:
if (!(((_pathsDetail$rightDat6 = pathsDetail.rightData) === null || _pathsDetail$rightDat6 === void 0 ? void 0 : (_pathsDetail$rightDat7 = _pathsDetail$rightDat6.progress) === null || _pathsDetail$rightDat7 === void 0 ? void 0 : _pathsDetail$rightDat7.certificated) === 'none' || ((_pathsDetail$rightDat8 = pathsDetail.rightData) === null || _pathsDetail$rightDat8 === void 0 ? void 0 : (_pathsDetail$rightDat9 = _pathsDetail$rightDat8.progress) === null || _pathsDetail$rightDat9 === void 0 ? void 0 : _pathsDetail$rightDat9.certificated) === 'rejected')) {
_context12.next = 9;
break;
}
if (((_pathsDetail$rightDat10 = pathsDetail.rightData) === null || _pathsDetail$rightDat10 === void 0 ? void 0 : _pathsDetail$rightDat10.progress.learned) === 100) {
modal["a" /* default */].info({
title: '申请证书',
icon: null,
className: "custom-modal-divider",
centered: true,
width: 400,
content: '申请成功,可以在个人中心"我的证书"中查看',
okText: "确定申请",
onOk: post
});
} else {
modal["a" /* default */].confirm({
title: '申请证书',
icon: null,
className: "custom-modal-divider",
centered: true,
width: 400,
content: "\u4F60\u76EE\u524D\u5B66\u4E60\u8FDB\u5EA6\u4E3A".concat((_pathsDetail$rightDat11 = pathsDetail.rightData) === null || _pathsDetail$rightDat11 === void 0 ? void 0 : _pathsDetail$rightDat11.progress.learned, "%\uFF0C\u5EFA\u8BAE\u7533\u8BF7\u540E\u7EE7\u7EED\u8FDB\u884C\u8BFE\u7A0B\u5B66\u4E60"),
okText: "确定申请",
onOk: post
});
}
return _context12.abrupt("return", false);
case 9:
if (((_pathsDetail$rightDat12 = pathsDetail.rightData) === null || _pathsDetail$rightDat12 === void 0 ? void 0 : (_pathsDetail$rightDat13 = _pathsDetail$rightDat12.progress) === null || _pathsDetail$rightDat13 === void 0 ? void 0 : _pathsDetail$rightDat13.certificated) === 'passed') {
setVisible(true);
}
case 10:
case "end":
return _context12.stop();
}
}
}, _callee12);
}));
return function handleApply() {
return _ref7.apply(this, arguments);
};
}();
var applyPath = !!((_pathsDetail$detail10 = pathsDetail.detail) !== null && _pathsDetail$detail10 !== void 0 && _pathsDetail$detail10.participant_count) && !((_pathsDetail$detail11 = pathsDetail.detail) !== null && _pathsDetail$detail11 !== void 0 && _pathsDetail$detail11.allow_statistics);
var currentNumber = ((_pathsDetail$detail12 = pathsDetail.detail) === null || _pathsDetail$detail12 === void 0 ? void 0 : (_pathsDetail$detail13 = _pathsDetail$detail12.courses) === null || _pathsDetail$detail13 === void 0 ? void 0 : _pathsDetail$detail13.findIndex(function (item) {
return (item === null || item === void 0 ? void 0 : item.course_id) === (currentCourse === null || currentCourse === void 0 ? void 0 : currentCourse.course_id);
})) + 1;
var isLastNumber = currentNumber === ((_pathsDetail$detail14 = pathsDetail.detail) === null || _pathsDetail$detail14 === void 0 ? void 0 : (_pathsDetail$detail15 = _pathsDetail$detail14.courses) === null || _pathsDetail$detail15 === void 0 ? void 0 : _pathsDetail$detail15.length);
return /*#__PURE__*/external_window_React_default.a.createElement("section", {
className: Rightmodules_default.a.rightWrap
}, ((_pathsDetail$rightDat14 = pathsDetail.rightData) === null || _pathsDetail$rightDat14 === void 0 ? void 0 : _pathsDetail$rightDat14.qrcode_img) && /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: Rightmodules_default.a.qrCode
}, /*#__PURE__*/external_window_React_default.a.createElement("img", {
src: (_pathsDetail$rightDat15 = pathsDetail.rightData) === null || _pathsDetail$rightDat15 === void 0 ? void 0 : _pathsDetail$rightDat15.qrcode_img
})), ((_pathsDetail$rightDat16 = pathsDetail.rightData) === null || _pathsDetail$rightDat16 === void 0 ? void 0 : _pathsDetail$rightDat16.progress) && /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "".concat(Rightmodules_default.a.card, " ").concat(Rightmodules_default.a.cardTop),
style: {
top: !!((_pathsDetail$detail16 = pathsDetail.detail) !== null && _pathsDetail$detail16 !== void 0 && (_pathsDetail$detail17 = _pathsDetail$detail16.courses) !== null && _pathsDetail$detail17 !== void 0 && _pathsDetail$detail17.length) ? '-140px' : '-70px'
}
}, parseInt(currentCourse === null || currentCourse === void 0 ? void 0 : (_currentCourse$course2 = currentCourse.course_status) === null || _currentCourse$course2 === void 0 ? void 0 : _currentCourse$course2.status) === 2 && currentCourse.course_identity < 6 && /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "current mr20 c-grey-9b9 font14"
}, "\u5DF2\u7ED3\u675F"), parseInt((_currentCourse$course3 = currentCourse.course_status) === null || _currentCourse$course3 === void 0 ? void 0 : _currentCourse$course3.status) === 2 && (currentCourse.course_identity < 6 ? '' : /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "current mr20 c-grey-9b9 font14"
}, "\u5DF2\u7ED3\u675F")), /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: Rightmodules_default.a.flexRow
}, applyPath && !!((_pathsDetail$detail18 = pathsDetail.detail) !== null && _pathsDetail$detail18 !== void 0 && (_pathsDetail$detail19 = _pathsDetail$detail18.courses) !== null && _pathsDetail$detail19 !== void 0 && _pathsDetail$detail19.length) && isLastNumber && /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: "mt20"
}, /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: "mr10"
}, "\u5F53\u9884\u7EA6\u62A5\u540D\u4EBA\u6570\u8FBE\u5230 ", (_pathsDetail$detail20 = pathsDetail.detail) === null || _pathsDetail$detail20 === void 0 ? void 0 : _pathsDetail$detail20.student_count, " \u4EBA\u65F6\u5373\u5C06\u5F00\u8BFE"), /*#__PURE__*/external_window_React_default.a.createElement("p", {
className: ""
}, "\u5F53\u524D\u9884\u7EA6\u62A5\u540D\u4EBA\u6570\uFF1A", /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: "mr5 c-red-ee4"
}, isOrderSuccess === true ? ((_pathsDetail$detail21 = pathsDetail.detail) === null || _pathsDetail$detail21 === void 0 ? void 0 : _pathsDetail$detail21.participant_count) + 1 : (_pathsDetail$detail22 = pathsDetail.detail) === null || _pathsDetail$detail22 === void 0 ? void 0 : _pathsDetail$detail22.participant_count), "\u4EBA")), applyPath && !((_pathsDetail$detail23 = pathsDetail.detail) !== null && _pathsDetail$detail23 !== void 0 && (_pathsDetail$detail24 = _pathsDetail$detail23.courses) !== null && _pathsDetail$detail24 !== void 0 && _pathsDetail$detail24.length) && isLastNumber && /*#__PURE__*/external_window_React_default.a.createElement("span", null, !((_pathsDetail$detail25 = pathsDetail.detail) !== null && _pathsDetail$detail25 !== void 0 && _pathsDetail$detail25.has_participate) && (isOrderSuccess === true ? /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: "".concat(Rightmodules_default.a.classButton, " ").concat(Rightmodules_default.a.bgGray)
}, "\u9884\u7EA6\u62A5\u540D\u6210\u529F") : /*#__PURE__*/external_window_React_default.a.createElement("a", {
className: "".concat(Rightmodules_default.a.classButton, " ").concat(Rightmodules_default.a.bg28e),
onClick: handleRegister
}, "\u671F\u5F85\u5F00\u8BFE\u5E76\u9884\u7EA6\u62A5\u540D")), ((_pathsDetail$detail26 = pathsDetail.detail) === null || _pathsDetail$detail26 === void 0 ? void 0 : _pathsDetail$detail26.has_participate) && /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: "".concat(Rightmodules_default.a.classButton, " ").concat(Rightmodules_default.a.bgGray)
}, "\u9884\u7EA6\u62A5\u540D\u6210\u529F"), /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: "mr10"
}, "\u5F53\u9884\u7EA6\u62A5\u540D\u4EBA\u6570\u8FBE\u5230 ", (_pathsDetail$detail27 = pathsDetail.detail) === null || _pathsDetail$detail27 === void 0 ? void 0 : _pathsDetail$detail27.student_count, " \u4EBA\u65F6\u5373\u5C06\u5F00\u8BFE"), /*#__PURE__*/external_window_React_default.a.createElement("p", {
className: ""
}, "\u5F53\u524D\u9884\u7EA6\u62A5\u540D\u4EBA\u6570\uFF1A", /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: "mr5 c-red-ee4"
}, isOrderSuccess === true ? ((_pathsDetail$detail28 = pathsDetail.detail) === null || _pathsDetail$detail28 === void 0 ? void 0 : _pathsDetail$detail28.participant_count) + 1 : (_pathsDetail$detail29 = pathsDetail.detail) === null || _pathsDetail$detail29 === void 0 ? void 0 : _pathsDetail$detail29.participant_count), "\u4EBA"))), parseInt(currentCourse === null || currentCourse === void 0 ? void 0 : (_currentCourse$course4 = currentCourse.course_status) === null || _currentCourse$course4 === void 0 ? void 0 : _currentCourse$course4.status) === 1 && /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "mr20 c-red-ee4"
}, currentCourse === null || currentCourse === void 0 ? void 0 : (_currentCourse$course5 = currentCourse.course_status) === null || _currentCourse$course5 === void 0 ? void 0 : _currentCourse$course5.time), /*#__PURE__*/external_window_React_default.a.createElement("p", {
style: {
display: currentCourse.course_identity < 6 ? '' : 'none'
},
className: "mb10 mt10 ".concat(Rightmodules_default.a.flexRowAbout)
}, /*#__PURE__*/external_window_React_default.a.createElement("span", {
style: {
display: ((_currentCourse$course6 = currentCourse.course_status) === null || _currentCourse$course6 === void 0 ? void 0 : _currentCourse$course6.status) <= 1 ? '' : 'none'
},
className: "c-light-green font14"
}, "\u5DF2\u5B66", (_pathsDetail$rightDat17 = pathsDetail.rightData) === null || _pathsDetail$rightDat17 === void 0 ? void 0 : _pathsDetail$rightDat17.progress.learned, "%"), /*#__PURE__*/external_window_React_default.a.createElement("span", {
style: {
display: ((_currentCourse$course7 = currentCourse.course_status) === null || _currentCourse$course7 === void 0 ? void 0 : _currentCourse$course7.status) <= 1 ? '' : 'none'
},
className: "c-light-black"
}, "\u5B66\u4E60\u8017\u65F6", Object(util["Z" /* toTimeFormat */])((_pathsDetail$rightDat18 = pathsDetail.rightData) === null || _pathsDetail$rightDat18 === void 0 ? void 0 : _pathsDetail$rightDat18.progress.time), " "), ((_pathsDetail$rightDat19 = pathsDetail.rightData) === null || _pathsDetail$rightDat19 === void 0 ? void 0 : (_pathsDetail$rightDat20 = _pathsDetail$rightDat19.progress) === null || _pathsDetail$rightDat20 === void 0 ? void 0 : _pathsDetail$rightDat20.certificated) != 'disabled' && /*#__PURE__*/external_window_React_default.a.createElement(es_button["a" /* default */], {
disabled: ((_pathsDetail$rightDat21 = pathsDetail.rightData) === null || _pathsDetail$rightDat21 === void 0 ? void 0 : (_pathsDetail$rightDat22 = _pathsDetail$rightDat21.progress) === null || _pathsDetail$rightDat22 === void 0 ? void 0 : _pathsDetail$rightDat22.certificated) === 'drafted' ? true : false,
onClick: handleApply
}, ((_pathsDetail$rightDat23 = pathsDetail.rightData) === null || _pathsDetail$rightDat23 === void 0 ? void 0 : (_pathsDetail$rightDat24 = _pathsDetail$rightDat23.progress) === null || _pathsDetail$rightDat24 === void 0 ? void 0 : _pathsDetail$rightDat24.certificated) === 'none' && '申请证书', ((_pathsDetail$rightDat25 = pathsDetail.rightData) === null || _pathsDetail$rightDat25 === void 0 ? void 0 : (_pathsDetail$rightDat26 = _pathsDetail$rightDat25.progress) === null || _pathsDetail$rightDat26 === void 0 ? void 0 : _pathsDetail$rightDat26.certificated) === 'rejected' && '申请证书', ((_pathsDetail$rightDat27 = pathsDetail.rightData) === null || _pathsDetail$rightDat27 === void 0 ? void 0 : (_pathsDetail$rightDat28 = _pathsDetail$rightDat27.progress) === null || _pathsDetail$rightDat28 === void 0 ? void 0 : _pathsDetail$rightDat28.certificated) === 'drafted' && '审核中', ((_pathsDetail$rightDat29 = pathsDetail.rightData) === null || _pathsDetail$rightDat29 === void 0 ? void 0 : (_pathsDetail$rightDat30 = _pathsDetail$rightDat29.progress) === null || _pathsDetail$rightDat30 === void 0 ? void 0 : _pathsDetail$rightDat30.certificated) === 'passed' && '查看证书')), /*#__PURE__*/external_window_React_default.a.createElement(tooltip["a" /* default */], {
placement: "bottom",
title: "\u5B8C\u6210\u8BFE\u7A0B\u540E\u53EF\u83B7\u53D6\u8BC1\u4E66\uFF01",
color: "yellow"
}, " ", /*#__PURE__*/external_window_React_default.a.createElement(progress["a" /* default */], {
percent: (_pathsDetail$rightDat31 = pathsDetail.rightData) === null || _pathsDetail$rightDat31 === void 0 ? void 0 : _pathsDetail$rightDat31.progress.learned,
showInfo: false,
style: {
display: ((_currentCourse$course8 = currentCourse.course_status) === null || _currentCourse$course8 === void 0 ? void 0 : _currentCourse$course8.status) <= 1 && currentCourse.course_identity < 6 ? '' : 'none'
},
status: "active",
strokeColor: {
'0%': '#29BD8B',
'100%': '#29BD8B'
}
})), parseInt((_currentCourse$course9 = currentCourse.course_status) === null || _currentCourse$course9 === void 0 ? void 0 : _currentCourse$course9.status) === 2 && ((_pathsDetail$detail30 = pathsDetail.detail) === null || _pathsDetail$detail30 === void 0 ? void 0 : _pathsDetail$detail30.allow_add_member) &&
/*#__PURE__*/
// currentCourse.course_identity < 6 ?
external_window_React_default.a.createElement("a", {
className: Rightmodules_default.a.classButton,
href: "".concat(currentCourse === null || currentCourse === void 0 ? void 0 : currentCourse["first_category_url"]),
target: "_blank"
}, "\u8FDB\u5165\u8BFE\u5802") // :
//
, parseInt((_currentCourse$course10 = currentCourse.course_status) === null || _currentCourse$course10 === void 0 ? void 0 : _currentCourse$course10.status) === 1 && currentCourse.course_identity > 5 && /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: Rightmodules_default.a.classButton,
onClick: handleImmediatelyRegister
}, "\u7ACB\u5373\u52A0\u5165"), parseInt((_currentCourse$course11 = currentCourse.course_status) === null || _currentCourse$course11 === void 0 ? void 0 : _currentCourse$course11.status) === 1 && currentCourse.course_identity === 5 && /*#__PURE__*/external_window_React_default.a.createElement("a", {
className: Rightmodules_default.a.classButton,
href: "".concat(currentCourse === null || currentCourse === void 0 ? void 0 : currentCourse["first_category_url"]),
target: "_blank"
}, "\u7ACB\u5373\u5B66\u4E60"), parseInt((_currentCourse$course12 = currentCourse.course_status) === null || _currentCourse$course12 === void 0 ? void 0 : _currentCourse$course12.status) === 0 && currentCourse.course_identity > 5 && /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: Rightmodules_default.a.classButton,
onClick: handleImmediatelyRegister
}, "\u7ACB\u5373\u62A5\u540D"), parseInt((_currentCourse$course13 = currentCourse.course_status) === null || _currentCourse$course13 === void 0 ? void 0 : _currentCourse$course13.status) === 0 && currentCourse.course_identity === 5 && /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: Rightmodules_default.a.classButton
}, "\u62A5\u540D\u6210\u529F"), (parseInt(currentCourse === null || currentCourse === void 0 ? void 0 : (_currentCourse$course14 = currentCourse.course_status) === null || _currentCourse$course14 === void 0 ? void 0 : _currentCourse$course14.status) === 0 || parseInt(currentCourse === null || currentCourse === void 0 ? void 0 : (_currentCourse$course15 = currentCourse.course_status) === null || _currentCourse$course15 === void 0 ? void 0 : _currentCourse$course15.status) === 1) && currentCourse.course_identity < 5 && /*#__PURE__*/external_window_React_default.a.createElement("a", {
className: Rightmodules_default.a.classButton,
href: "".concat(currentCourse === null || currentCourse === void 0 ? void 0 : currentCourse["first_category_url"]),
target: "_blank"
}, "\u8FDB\u5165\u8BFE\u5802"), applyPath && isLastNumber && ((_pathsDetail$detail31 = pathsDetail.detail) === null || _pathsDetail$detail31 === void 0 ? void 0 : _pathsDetail$detail31.has_participate) && /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: "".concat(Rightmodules_default.a.classButton, " ").concat(Rightmodules_default.a.bgGray)
}, "\u9884\u7EA6\u62A5\u540D\u6210\u529F"), applyPath && isLastNumber && !((_pathsDetail$detail32 = pathsDetail.detail) !== null && _pathsDetail$detail32 !== void 0 && _pathsDetail$detail32.has_participate) && (isOrderSuccess ? /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: "".concat(Rightmodules_default.a.classButton, " ").concat(Rightmodules_default.a.bgGray)
}, "\u9884\u7EA6\u62A5\u540D\u6210\u529F") : /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: "".concat(Rightmodules_default.a.classButton, " ").concat(Rightmodules_default.a.bg28e),
onClick: handleRegister
}, "\u671F\u5F85\u5F00\u8BFE\u5E76\u9884\u7EA6\u62A5\u540D")), !((_pathsDetail$detail33 = pathsDetail.detail) !== null && _pathsDetail$detail33 !== void 0 && _pathsDetail$detail33.excellent) && ((_pathsDetail$detail34 = pathsDetail.detail) === null || _pathsDetail$detail34 === void 0 ? void 0 : _pathsDetail$detail34.is_free) !== true && /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: Rightmodules_default.a.price
}, /*#__PURE__*/external_window_React_default.a.createElement("ul", null, /*#__PURE__*/external_window_React_default.a.createElement("li", {
className: Rightmodules_default.a.li1
}, !!((_pathsDetail$detail35 = pathsDetail.detail) !== null && _pathsDetail$detail35 !== void 0 && _pathsDetail$detail35.origin_price) && /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: Rightmodules_default.a.discounts
}, "\u9650\u65F6\u4F18\u60E0"), /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: Rightmodules_default.a.realPrice
}, /*#__PURE__*/external_window_React_default.a.createElement("span", null, "\uFFE5"), (_pathsDetail$detail36 = pathsDetail.detail) === null || _pathsDetail$detail36 === void 0 ? void 0 : _pathsDetail$detail36.price), !!((_pathsDetail$detail37 = pathsDetail.detail) !== null && _pathsDetail$detail37 !== void 0 && _pathsDetail$detail37.origin_price) && /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: Rightmodules_default.a.lineationPrice
}, /*#__PURE__*/external_window_React_default.a.createElement("span", null, "\uFFE5"), (_pathsDetail$detail38 = pathsDetail.detail) === null || _pathsDetail$detail38 === void 0 ? void 0 : _pathsDetail$detail38.origin_price)), /*#__PURE__*/external_window_React_default.a.createElement("li", {
className: Rightmodules_default.a.li2
}, "\u8BFE\u7A0B\u6709\u6548\u671F\uFF1A", ((_pathsDetail$detail39 = pathsDetail.detail) === null || _pathsDetail$detail39 === void 0 ? void 0 : (_pathsDetail$detail40 = _pathsDetail$detail39.expiration_type) === null || _pathsDetail$detail40 === void 0 ? void 0 : _pathsDetail$detail40.clazz) === '1' && '永久有效', ((_pathsDetail$detail41 = pathsDetail.detail) === null || _pathsDetail$detail41 === void 0 ? void 0 : (_pathsDetail$detail42 = _pathsDetail$detail41.expiration_type) === null || _pathsDetail$detail42 === void 0 ? void 0 : _pathsDetail$detail42.clazz) === '2' && "\u8D2D\u4E70\u540E".concat((_pathsDetail$detail43 = pathsDetail.detail) === null || _pathsDetail$detail43 === void 0 ? void 0 : (_pathsDetail$detail44 = _pathsDetail$detail43.expiration_type) === null || _pathsDetail$detail44 === void 0 ? void 0 : (_pathsDetail$detail45 = _pathsDetail$detail44.days) === null || _pathsDetail$detail45 === void 0 ? void 0 : _pathsDetail$detail45[0], "\u5929\u5185\u6709\u6548"), ((_pathsDetail$detail46 = pathsDetail.detail) === null || _pathsDetail$detail46 === void 0 ? void 0 : (_pathsDetail$detail47 = _pathsDetail$detail46.expiration_type) === null || _pathsDetail$detail47 === void 0 ? void 0 : _pathsDetail$detail47.clazz) === '3' && "".concat((_pathsDetail$detail48 = pathsDetail.detail) === null || _pathsDetail$detail48 === void 0 ? void 0 : (_pathsDetail$detail49 = _pathsDetail$detail48.expiration_type) === null || _pathsDetail$detail49 === void 0 ? void 0 : (_pathsDetail$detail50 = _pathsDetail$detail49.days) === null || _pathsDetail$detail50 === void 0 ? void 0 : _pathsDetail$detail50.join('到')))), renderButs()), /*#__PURE__*/external_window_React_default.a.createElement("p", {
className: "mb30",
style: {
marginTop: "15px"
}
}, /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: "font16",
style: {
display: 'flex',
alignItems: 'center'
}
}, /*#__PURE__*/external_window_React_default.a.createElement("img", {
style: {
marginRight: '10px'
},
src: ksxz_default.a
}), " ", (_pathsDetail$detail51 = pathsDetail.detail) === null || _pathsDetail$detail51 === void 0 ? void 0 : _pathsDetail$detail51.learning_notes_title)), /*#__PURE__*/external_window_React_default.a.createElement("div", {
ref: contentEl
}, /*#__PURE__*/external_window_React_default.a.createElement(RenderHtml["a" /* default */], {
className: "fon16",
value: (_pathsDetail$detail52 = pathsDetail.detail) === null || _pathsDetail$detail52 === void 0 ? void 0 : _pathsDetail$detail52.learning_notes
}))), !!((_pathsDetail$rightDat32 = pathsDetail.rightData) !== null && _pathsDetail$rightDat32 !== void 0 && (_pathsDetail$rightDat33 = _pathsDetail$rightDat32.members) !== null && _pathsDetail$rightDat33 !== void 0 && _pathsDetail$rightDat33.length) && /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "".concat(Rightmodules_default.a.card, " pb0"),
style: {
marginTop: !!((_pathsDetail$detail53 = pathsDetail.detail) !== null && _pathsDetail$detail53 !== void 0 && (_pathsDetail$detail54 = _pathsDetail$detail53.courses) !== null && _pathsDetail$detail54 !== void 0 && _pathsDetail$detail54.length) ? -135 : -65
}
}, (_pathsDetail$detail55 = pathsDetail.detail) !== null && _pathsDetail$detail55 !== void 0 && _pathsDetail$detail55.allow_add_member ? renderEditTitle() : /*#__PURE__*/external_window_React_default.a.createElement("span", {
style: {
fontSize: '16px',
display: 'flex',
alignItems: 'center'
}
}, " ", /*#__PURE__*/external_window_React_default.a.createElement("img", {
style: {
marginRight: '10px'
},
src: jxtd_default.a
}), " ", (_pathsDetail$rightDat34 = pathsDetail.rightData) === null || _pathsDetail$rightDat34 === void 0 ? void 0 : _pathsDetail$rightDat34.team_title), /*#__PURE__*/external_window_React_default.a.createElement(SortTeam, {
data: (_pathsDetail$rightDat35 = pathsDetail.rightData) === null || _pathsDetail$rightDat35 === void 0 ? void 0 : _pathsDetail$rightDat35.members,
operation: (_pathsDetail$detail56 = pathsDetail.detail) === null || _pathsDetail$detail56 === void 0 ? void 0 : _pathsDetail$detail56.allow_add_member,
handleDeleteMember: handleDeleteMember
}), ((_pathsDetail$detail57 = pathsDetail.detail) === null || _pathsDetail$detail57 === void 0 ? void 0 : _pathsDetail$detail57.allow_add_member) && /*#__PURE__*/external_window_React_default.a.createElement(row["a" /* default */], {
gutter: [0, 40],
justify: "center",
align: "middle",
className: "bg-white mt0"
}, /*#__PURE__*/external_window_React_default.a.createElement(col["a" /* default */], {
className: "c-blue current",
onClick: handleAddCollaborator
}, "+ \u6DFB\u52A0\u5408\u4F5C\u8005"))), !!((_pathsDetail$rightDat36 = pathsDetail.rightData) !== null && _pathsDetail$rightDat36 !== void 0 && (_pathsDetail$rightDat37 = _pathsDetail$rightDat36.tags) !== null && _pathsDetail$rightDat37 !== void 0 && _pathsDetail$rightDat37.length) && ((_pathsDetail$detail58 = pathsDetail.detail) === null || _pathsDetail$detail58 === void 0 ? void 0 : _pathsDetail$detail58.show_tag) && /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: Rightmodules_default.a.skillWrap
}, /*#__PURE__*/external_window_React_default.a.createElement("p", {
className: "".concat(Rightmodules_default.a.skillTopWrap, " font16 mb20")
}, /*#__PURE__*/external_window_React_default.a.createElement("span", null, "\u6280\u80FD\u6807\u7B7E", /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: "ml5 c-grey-c"
}, (_pathsDetail$rightDat38 = pathsDetail.rightData) === null || _pathsDetail$rightDat38 === void 0 ? void 0 : (_pathsDetail$rightDat39 = _pathsDetail$rightDat38.tags) === null || _pathsDetail$rightDat39 === void 0 ? void 0 : _pathsDetail$rightDat39.length))), /*#__PURE__*/external_window_React_default.a.createElement(lib_default.a, {
option: getOption(),
style: {
height: 370
},
opts: {
renderer: 'svg'
} // use svg to render the chart.
})), ((_pathsDetail$detail59 = pathsDetail.detail) === null || _pathsDetail$detail59 === void 0 ? void 0 : _pathsDetail$detail59.show_spoc) === 1 && /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "".concat(Rightmodules_default.a.card, " pb0"),
style: {
marginTop: 15
}
}, /*#__PURE__*/external_window_React_default.a.createElement("p", {
className: "font16",
style: {
display: 'flex',
alignItems: 'center'
}
}, /*#__PURE__*/external_window_React_default.a.createElement("img", {
style: {
marginRight: '10px'
},
src: spoc_default.a
}), "SPOC\u8BFE\u5802"), /*#__PURE__*/external_window_React_default.a.createElement(SortClassroom, {
data: (_pathsDetail$Courses = pathsDetail.Courses) === null || _pathsDetail$Courses === void 0 ? void 0 : _pathsDetail$Courses.spoc_courses,
handleDeleteMember: handleDeleteCourse
}), ((_pathsDetail$detail60 = pathsDetail.detail) === null || _pathsDetail$detail60 === void 0 ? void 0 : _pathsDetail$detail60.show_spoc) === 1 && (pathsDetail === null || pathsDetail === void 0 ? void 0 : (_pathsDetail$Courses2 = pathsDetail.Courses) === null || _pathsDetail$Courses2 === void 0 ? void 0 : (_pathsDetail$Courses3 = _pathsDetail$Courses2.spoc_courses) === null || _pathsDetail$Courses3 === void 0 ? void 0 : _pathsDetail$Courses3.length) < 3 && ((_pathsDetail$detail61 = pathsDetail.detail) === null || _pathsDetail$detail61 === void 0 ? void 0 : _pathsDetail$detail61.allow_add_member) && /*#__PURE__*/external_window_React_default.a.createElement(row["a" /* default */], {
gutter: [0, 40],
justify: "center",
align: "middle",
className: "bg-white mt0"
}, /*#__PURE__*/external_window_React_default.a.createElement(col["a" /* default */], {
className: "c-blue current",
onClick: function onClick() {
return handleAddCourses();
}
}, "+ \u6DFB\u52A0\u8BFE\u5802"))), ((_pathsDetail$detail62 = pathsDetail.detail) === null || _pathsDetail$detail62 === void 0 ? void 0 : _pathsDetail$detail62.show_history) && /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "".concat(Rightmodules_default.a.card, " pb0"),
style: {
marginTop: 15
}
}, /*#__PURE__*/external_window_React_default.a.createElement("p", {
className: "font16",
style: {
display: 'flex',
alignItems: 'center'
}
}, /*#__PURE__*/external_window_React_default.a.createElement("img", {
style: {
marginRight: '10px'
},
src: spoc_default.a
}), "\u5386\u53F2\u8BFE\u5802"), /*#__PURE__*/external_window_React_default.a.createElement(SortClassroom, {
data: data === null || data === void 0 ? void 0 : data.spoc_courses,
handleDeleteMember: handleDeleteCourse
}), ((_pathsDetail$detail63 = pathsDetail.detail) === null || _pathsDetail$detail63 === void 0 ? void 0 : _pathsDetail$detail63.show_history) && (data === null || data === void 0 ? void 0 : (_data$spoc_courses = data.spoc_courses) === null || _data$spoc_courses === void 0 ? void 0 : _data$spoc_courses.length) < 3 && ((_pathsDetail$detail64 = pathsDetail.detail) === null || _pathsDetail$detail64 === void 0 ? void 0 : _pathsDetail$detail64.allow_add_member) && /*#__PURE__*/external_window_React_default.a.createElement(row["a" /* default */], {
gutter: [0, 40],
justify: "center",
align: "middle",
className: "bg-white mt0"
}, /*#__PURE__*/external_window_React_default.a.createElement(col["a" /* default */], {
className: "c-blue current",
onClick: function onClick() {
return handleAddCourses(1);
}
}, "+ \u6DFB\u52A0\u8BFE\u5802"))), /*#__PURE__*/external_window_React_default.a.createElement(components_AddCollaboratorModal, {
onReloadData: handleReloadData
}), /*#__PURE__*/external_window_React_default.a.createElement(AddCoursesModal, {
onReloadData: handleReloadData,
data: data
}), /*#__PURE__*/external_window_React_default.a.createElement(components_CertificateModal, {
visible: visible,
onCancel: function onCancel() {
setVisible(false);
},
data: ((_pathsDetail$rightDat40 = pathsDetail.rightData) === null || _pathsDetail$rightDat40 === void 0 ? void 0 : (_pathsDetail$rightDat41 = _pathsDetail$rightDat40.progress) === null || _pathsDetail$rightDat41 === void 0 ? void 0 : _pathsDetail$rightDat41.info) || {}
}));
};
/* harmony default export */ var components_Right = (Object(umiExports["a" /* connect */])(function (_ref9) {
var pathsDetail = _ref9.pathsDetail,
user = _ref9.user,
loading = _ref9.loading,
globalSetting = _ref9.globalSetting,
classroomList = _ref9.classroomList;
return {
pathsDetail: pathsDetail,
user: user,
globalSetting: globalSetting,
loading: loading.models.index,
classroomList: classroomList
};
})(Right_Right));
// EXTERNAL MODULE: ./node_modules/antd/es/skeleton/style/index.js
var skeleton_style = __webpack_require__("cWXX");
// EXTERNAL MODULE: ./node_modules/antd/es/skeleton/index.js + 8 modules
var skeleton = __webpack_require__("/ezw");
// EXTERNAL MODULE: ./src/pages/Paths/Detail/components/Stage/index.less?modules
var Stagemodules = __webpack_require__("VlDO");
var Stagemodules_default = /*#__PURE__*/__webpack_require__.n(Stagemodules);
// EXTERNAL MODULE: ./node_modules/antd/es/drawer/style/index.js
var drawer_style = __webpack_require__("bbsP");
// EXTERNAL MODULE: ./node_modules/antd/es/drawer/index.js
var drawer = __webpack_require__("/wGt");
// EXTERNAL MODULE: ./node_modules/antd/es/pagination/style/index.js
var pagination_style = __webpack_require__("DjyN");
// EXTERNAL MODULE: ./node_modules/antd/es/pagination/index.js + 2 modules
var pagination = __webpack_require__("NUBc");
// EXTERNAL MODULE: ./node_modules/antd/es/divider/style/index.js
var divider_style = __webpack_require__("/zsF");
// EXTERNAL MODULE: ./node_modules/antd/es/divider/index.js
var divider = __webpack_require__("PArb");
// EXTERNAL MODULE: ./src/pages/Paths/Detail/components/Stage/SelectShixuns/index.less?modules
var SelectShixunsmodules = __webpack_require__("cCSd");
var SelectShixunsmodules_default = /*#__PURE__*/__webpack_require__.n(SelectShixunsmodules);
// CONCATENATED MODULE: ./src/pages/Paths/Detail/components/Stage/SelectShixuns/index.tsx
var Search = input["a" /* default */].Search;
var shixunFilter = [{
id: "type",
name: "筛选",
children: [{
name: "全部实训",
id: "all",
type: "type"
}, {
name: "我的实训",
id: "mine",
type: "type"
}]
}, {
id: "diff",
name: "难度",
children: [{
name: "全部",
id: "",
type: "diff"
}, {
name: "初级",
id: 1,
type: "diff"
}, {
name: "中级",
id: 2,
type: "diff"
}, {
name: "中高级",
id: 3,
type: "diff"
}, {
name: "高级",
id: 4,
type: "diff"
}]
}];
var SelectShixuns_PublishShixun = function PublishShixun(_ref) {
var _shixunLists$shixun_l3;
var classroomList = _ref.classroomList,
loading = _ref.loading,
dispatch = _ref.dispatch,
cb = _ref.cb,
_ref$shixunIds = _ref.shixunIds,
shixunIds = _ref$shixunIds === void 0 ? [] : _ref$shixunIds;
var params = Object(react_router["i" /* useParams */])();
var location = Object(react_router["h" /* useLocation */])();
var actionTabs = classroomList.actionTabs;
var _Form$useForm = es_form["a" /* default */].useForm(),
_Form$useForm2 = Object(slicedToArray["a" /* default */])(_Form$useForm, 1),
form = _Form$useForm2[0];
var shixunLists = classroomList.shixunLists;
var _useState = Object(external_window_React_["useState"])([]),
_useState2 = Object(slicedToArray["a" /* default */])(_useState, 2),
selectArrs = _useState2[0],
setSelectArrs = _useState2[1];
var _useState3 = Object(external_window_React_["useState"])({
page: 1,
type: "all",
diff: 0,
status: "all",
order: "desc",
limit: 20,
sort: "myshixuns_count"
}),
_useState4 = Object(slicedToArray["a" /* default */])(_useState3, 2),
query = _useState4[0],
setQuery = _useState4[1];
Object(external_window_React_["useEffect"])(function () {
if (classroomList.actionTabs.key === '选用实践项目') {
query.page = 1;
dispatch({
type: 'classroomList/getShixunLists',
payload: Object(objectSpread2["a" /* default */])({}, query)
});
}
}, [classroomList.actionTabs.key]);
Object(external_window_React_["useEffect"])(function () {
if (classroomList.actionTabs.key === '选用实践项目') {
document.body.setAttribute('data-custom', 'height');
} else {
document.body.removeAttribute('data-custom');
}
return function () {
document.body.removeAttribute('data-custom');
};
}, [classroomList.actionTabs.key]);
var handleCancel = function handleCancel() {
dispatch({
type: 'classroomList/setActionTabs',
payload: {}
});
setQuery({
page: 1,
type: "all",
diff: 0,
status: "all",
order: "desc",
limit: 20,
sort: "myshixuns_count"
});
};
if (classroomList.actionTabs.key !== '选用实践项目') return null;
return /*#__PURE__*/external_window_React_default.a.createElement(drawer["a" /* default */], {
placement: "bottom",
height: "100%",
closable: false // onClose={this.onClose}
,
visible: classroomList.actionTabs.key === '选用实践项目' ? true : false,
key: "bottom",
className: SelectShixunsmodules_default.a.drawer,
footer: /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "tc"
}, /*#__PURE__*/external_window_React_default.a.createElement(es_button["a" /* default */], {
size: "large",
onClick: function onClick() {
handleCancel();
setSelectArrs([]);
cb('取消');
},
style: {
marginRight: 8
}
}, "\u53D6\u6D88"), /*#__PURE__*/external_window_React_default.a.createElement(es_button["a" /* default */], {
size: "large",
onClick: /*#__PURE__*/Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee() {
var _loop, i, _ret, res;
return regenerator_default.a.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_loop = function _loop(i) {
var selectItem = selectArrs[i];
if (shixunIds.includes(selectItem)) {
var _shixunLists$shixun_l, _shixunLists$shixun_l2;
es_message["b" /* default */].info("\u8BF7\u52FF\u91CD\u590D\u9009\u62E9\uFF1A".concat(shixunLists === null || shixunLists === void 0 ? void 0 : (_shixunLists$shixun_l = shixunLists.shixun_list) === null || _shixunLists$shixun_l === void 0 ? void 0 : (_shixunLists$shixun_l2 = _shixunLists$shixun_l.find(function (item) {
return item.id === selectItem;
})) === null || _shixunLists$shixun_l2 === void 0 ? void 0 : _shixunLists$shixun_l2.title));
return {
v: void 0
};
}
};
i = 0;
case 2:
if (!(i < (selectArrs === null || selectArrs === void 0 ? void 0 : selectArrs.length))) {
_context.next = 9;
break;
}
_ret = _loop(i);
if (!(typeof _ret === "object")) {
_context.next = 6;
break;
}
return _context.abrupt("return", _ret.v);
case 6:
i++;
_context.next = 2;
break;
case 9:
_context.next = 11;
return Object(paths["P" /* selectShixunToStage */])({
id: classroomList.actionTabs.id,
subject_id: classroomList.actionTabs.subject_id,
shixun_ids: Object(toConsumableArray["a" /* default */])(selectArrs)
});
case 11:
res = _context.sent;
setSelectArrs([]);
if (res !== null && res !== void 0 && res.shixuns_list) {
handleCancel();
cb(res.shixuns_list);
}
case 14:
case "end":
return _context.stop();
}
}
}, _callee);
})),
type: "primary"
}, "\u786E\u5B9A"))
}, /*#__PURE__*/external_window_React_default.a.createElement("section", {
className: "tc"
}, /*#__PURE__*/external_window_React_default.a.createElement(Search, {
placeholder: "\u5B9E\u8BAD\u4FE1\u606F/\u9662\u6821\u540D\u79F0/\u521B\u5EFA\u8005",
enterButton: "\u641C\u7D22",
size: "large",
className: SelectShixunsmodules_default.a.search,
onSearch: function onSearch(value) {
query.keyword = value;
query.page = 1;
dispatch({
type: 'classroomList/getShixunLists',
payload: Object(objectSpread2["a" /* default */])({}, query)
});
}
})), /*#__PURE__*/external_window_React_default.a.createElement("section", {
className: "edu-container"
}, shixunFilter.map(function (v, k) {
var _v$children;
return /*#__PURE__*/external_window_React_default.a.createElement("ul", {
className: SelectShixunsmodules_default.a.menu,
key: k
}, /*#__PURE__*/external_window_React_default.a.createElement("li", null, v.name), v === null || v === void 0 ? void 0 : (_v$children = v.children) === null || _v$children === void 0 ? void 0 : _v$children.map(function (val, key) {
return /*#__PURE__*/external_window_React_default.a.createElement("li", {
className: query[v.id] == val.id ? SelectShixunsmodules_default.a.actived : '',
onClick: function onClick() {
query[v.id] = val.id;
setQuery(Object(objectSpread2["a" /* default */])({}, query));
dispatch({
type: 'classroomList/getShixunLists',
payload: Object(objectSpread2["a" /* default */])({}, query)
});
}
}, /*#__PURE__*/external_window_React_default.a.createElement("strong", null, val.name));
}));
}), shixunLists === null || shixunLists === void 0 ? void 0 : (_shixunLists$shixun_l3 = shixunLists.shixun_list) === null || _shixunLists$shixun_l3 === void 0 ? void 0 : _shixunLists$shixun_l3.map(function (v, k) {
return /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: SelectShixunsmodules_default.a.listItem,
key: k
}, /*#__PURE__*/external_window_React_default.a.createElement(es_checkbox["a" /* default */], {
checked: selectArrs.includes(v.id),
value: v.id,
onChange: function onChange(e) {
var key = selectArrs.indexOf(v.id);
if (selectArrs.indexOf(v.id) > -1) {
setSelectArrs(selectArrs.filter(function (val) {
return val !== v.id;
}));
} else {
setSelectArrs(selectArrs.concat(v.id));
}
}
}), /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: SelectShixunsmodules_default.a.info
}, /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: SelectShixunsmodules_default.a.title
}, /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: SelectShixunsmodules_default.a.titleLeft
}, /*#__PURE__*/external_window_React_default.a.createElement("a", {
className: "c-black",
href: "/shixuns/".concat(v === null || v === void 0 ? void 0 : v.identifier, "/challenges"),
target: "_blank"
}, /*#__PURE__*/external_window_React_default.a.createElement("strong", {
className: "font16",
dangerouslySetInnerHTML: {
__html: v.title
}
})), Object(authority["v" /* isSuperAdmins */])() && (v === null || v === void 0 ? void 0 : v.mark_status) === 1 && /*#__PURE__*/external_window_React_default.a.createElement(tooltip["a" /* default */], {
title: v === null || v === void 0 ? void 0 : v.mark_content
}, /*#__PURE__*/external_window_React_default.a.createElement("span", {
style: {
marginRight: 'auto',
background: '#2FA34F'
},
className: "tag-style current ml10"
}, "\u6B63\u5E38")), Object(authority["v" /* isSuperAdmins */])() && (v === null || v === void 0 ? void 0 : v.mark_status) === 2 && /*#__PURE__*/external_window_React_default.a.createElement(tooltip["a" /* default */], {
title: v === null || v === void 0 ? void 0 : v.mark_content
}, /*#__PURE__*/external_window_React_default.a.createElement("span", {
style: {
marginRight: 'auto',
background: '#FF8C29'
},
className: "tag-style current ml10"
}, "\u9700\u5B8C\u5584")), Object(authority["v" /* isSuperAdmins */])() && (v === null || v === void 0 ? void 0 : v.mark_status) === 3 && /*#__PURE__*/external_window_React_default.a.createElement(tooltip["a" /* default */], {
title: v === null || v === void 0 ? void 0 : v.mark_content
}, /*#__PURE__*/external_window_React_default.a.createElement("span", {
style: {
marginRight: 'auto',
background: '#E53333'
},
className: "tag-style current ml10"
}, "\u65E0\u6CD5\u4F7F\u7528")))), /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "flex-wrp mt10 font14 c-light-black"
}, /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: SelectShixunsmodules_default.a.description,
dangerouslySetInnerHTML: {
__html: v.description
}
})), /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: " mt15"
}, v.challenge_names.map(function (val, key) {
return /*#__PURE__*/external_window_React_default.a.createElement("span", {
key: key,
className: "mr30 font12"
}, "\u7B2C", key + 1, "\u5173 ", val, " ");
})), /*#__PURE__*/external_window_React_default.a.createElement(divider["a" /* default */], {
dashed: true
}), /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "c-light-black mt20 font12"
}, /*#__PURE__*/external_window_React_default.a.createElement("span", null, v.author_name), /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: "ml15 mr15"
}, "|"), /*#__PURE__*/external_window_React_default.a.createElement("span", null, v.author_school_name), /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: "ml15 mr15"
}, "|"), /*#__PURE__*/external_window_React_default.a.createElement("span", null, "\u96BE\u5EA6\u7CFB\u6570:", v.level), /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: "ml15 mr15"
}, "|"), /*#__PURE__*/external_window_React_default.a.createElement("span", null, "\u5B66\u4E60\u4EBA\u6570:"), /*#__PURE__*/external_window_React_default.a.createElement("span", null, v.study_count))));
}), /*#__PURE__*/external_window_React_default.a.createElement("p", null)), /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "tc"
}, /*#__PURE__*/external_window_React_default.a.createElement(pagination["a" /* default */], {
current: query.page || 1,
hideOnSinglePage: true,
showSizeChanger: false,
defaultPageSize: 20,
showQuickJumper: true,
total: shixunLists === null || shixunLists === void 0 ? void 0 : shixunLists.shixuns_count,
onChange: function onChange(page) {
query.page = page;
dispatch({
type: 'classroomList/getShixunLists',
payload: Object(objectSpread2["a" /* default */])({}, query)
});
}
})));
};
/* harmony default export */ var SelectShixuns = (Object(umiExports["a" /* connect */])(function (_ref3) {
var classroomList = _ref3.classroomList,
loading = _ref3.loading;
return {
classroomList: classroomList,
loading: loading
};
})(SelectShixuns_PublishShixun));
// EXTERNAL MODULE: ./src/components/markdown-editor/index.tsx + 6 modules
var markdown_editor = __webpack_require__("Ot1p");
// EXTERNAL MODULE: ./src/service/video.ts
var video = __webpack_require__("qdXH");
// EXTERNAL MODULE: ./src/pages/Video/Detail/components/AddVideoModal/index.tsx
var AddVideoModal = __webpack_require__("sBCT");
// EXTERNAL MODULE: ./src/components/MultiUpload/index.tsx
var MultiUpload = __webpack_require__("500L");
// EXTERNAL MODULE: ./node_modules/antd/es/input-number/style/index.js
var input_number_style = __webpack_require__("giR+");
// EXTERNAL MODULE: ./node_modules/antd/es/input-number/index.js
var input_number = __webpack_require__("fyUT");
// EXTERNAL MODULE: ./src/pages/Paths/Detail/components/Stage/Discuss/index.less
var Discuss = __webpack_require__("dwhp");
// EXTERNAL MODULE: ./src/components/Spinner/index.tsx
var Spinner = __webpack_require__("IxHN");
// EXTERNAL MODULE: ./src/components/modal.tsx
var components_modal = __webpack_require__("M8RZ");
// EXTERNAL MODULE: ./src/components/NoData/index.tsx
var NoData = __webpack_require__("BdwD");
// EXTERNAL MODULE: ./src/pages/Paths/Detail/components/Stage/Discuss/discuss-editor/index.less
var discuss_editor = __webpack_require__("9nDM");
// CONCATENATED MODULE: ./src/pages/Paths/Detail/components/Stage/Discuss/discuss-editor/index.tsx
var discuss_editor_AuthModal = function AuthModal(_ref) {
var user = _ref.user,
onReplyDiscuss = _ref.onReplyDiscuss,
dispatch = _ref.dispatch,
id = _ref.id,
activeDiscussIndex = _ref.activeDiscussIndex;
var _useState = Object(external_window_React_["useState"])(''),
_useState2 = Object(slicedToArray["a" /* default */])(_useState, 2),
value = _useState2[0],
setValue = _useState2[1];
function onChange(v) {
setValue(v);
}
var params = Object(react_router["i" /* useParams */])();
function onCommit() {
if (!value) {
es_message["b" /* default */].info('回复内容不能为空!');
return;
}
onReplyDiscuss(id, value);
dispatch({
type: "pathsDetail/getPathsDetail",
payload: {
id: params.pathId
}
});
setValue('');
}
return /*#__PURE__*/external_window_React_default.a.createElement("div", {
key: id,
className: "discuss-item-editor",
style: {
display: activeDiscussIndex === id ? 'block' : 'none',
width: '100%'
}
}, /*#__PURE__*/external_window_React_default.a.createElement(markdown_editor["a" /* default */], {
miniToolbar: true,
startInit: activeDiscussIndex === id,
defaultValue: value,
id: id,
noStorage: true,
watch: false,
height: 155,
placeholder: "\u6211\u8981\u56DE\u590D",
showResizeBar: true,
onChange: onChange
}), /*#__PURE__*/external_window_React_default.a.createElement("a", {
onClick: onCommit,
className: "btn-send"
}, "\u53D1\u9001"));
};
/* harmony default export */ var Discuss_discuss_editor = (Object(umiExports["a" /* connect */])(function (_ref2) {
var shixunsDetail = _ref2.shixunsDetail,
loading = _ref2.loading,
globalSetting = _ref2.globalSetting;
return {
shixunsDetail: shixunsDetail,
globalSetting: globalSetting,
loading: loading.models.index
};
})(discuss_editor_AuthModal));
// CONCATENATED MODULE: ./src/pages/Paths/Detail/components/Stage/Discuss/apply/index.tsx
var apply_AuthModal = function AuthModal(_ref) {
var user = _ref.user,
upDataList = _ref.upDataList,
page = _ref.page,
getTypeNumber = _ref.getTypeNumber,
dispatch = _ref.dispatch;
var params = Object(react_router["i" /* useParams */])();
var onReplyDiscuss = /*#__PURE__*/function () {
var _ref2 = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee(id, value) {
var res;
return regenerator_default.a.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return Object(paths["N" /* postDiscuss */])({
id: id,
content: value
});
case 2:
res = _context.sent;
if ((res === null || res === void 0 ? void 0 : res.status) === 0) {
upDataList(1); // getTypeNumber();
}
case 4:
case "end":
return _context.stop();
}
}
}, _callee);
}));
return function onReplyDiscuss(_x, _x2) {
return _ref2.apply(this, arguments);
};
}();
return /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "discuss-item-container bg-white"
}, /*#__PURE__*/external_window_React_default.a.createElement("a", {
href: "/users/".concat(user.login),
target: "_blank"
}, /*#__PURE__*/external_window_React_default.a.createElement("img", {
alt: "\u7528\u6237\u5934\u50CF",
height: "50",
src: "".concat(env["a" /* default */].IMG_SERVER, "/images/").concat(user.image_url),
width: "50"
})), /*#__PURE__*/external_window_React_default.a.createElement("section", null, /*#__PURE__*/external_window_React_default.a.createElement(Discuss_discuss_editor, {
id: params.pathId,
activeDiscussIndex: params.pathId,
onReplyDiscuss: onReplyDiscuss
})));
};
/* harmony default export */ var apply = (Object(umiExports["a" /* connect */])(function (_ref3) {
var shixunsDetail = _ref3.shixunsDetail,
loading = _ref3.loading,
globalSetting = _ref3.globalSetting;
return {
shixunsDetail: shixunsDetail,
globalSetting: globalSetting,
loading: loading.models.index
};
})(apply_AuthModal));
// EXTERNAL MODULE: ./src/pages/tasks/constant.js
var constant = __webpack_require__("fXAG");
// CONCATENATED MODULE: ./src/pages/Paths/Detail/components/Stage/Discuss/service.js
function fetchDiscusses(shixunIdentifier) {
var page = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
return Object(fetch["c" /* get */])("/discusses.json?page=".concat(page - 1, "&container_identifier=").concat(shixunIdentifier, "&container_type=Shixun"));
}
function topOrDownDiscuss(id, top) {
return Object(fetch["f" /* post */])("/discusses/".concat(id, "/top_or_down_discuss.json"), {
top: top
});
}
function plusDiscuss(id, user_praise) {
return Object(fetch["f" /* post */])("/discusses/".concat(id, "/plus.json"), {
container_type: 'Discuss',
type: user_praise ? 1 : 0
});
}
function hiddenDiscuss(id, params) {
return Object(fetch["f" /* post */])("/discusses/".concat(id, "/hidden.json"), params);
}
function rewardDiscuss(id, params) {
return Object(fetch["f" /* post */])("/discusses/".concat(id, "/reward_code.json"), params);
}
function deleteDiscuss(id) {
return Object(fetch["a" /* default */])("/api/discusses/".concat(id, ".json"), {
method: 'delete'
});
}
function replyDiscuss(id, content) {
return Object(fetch["f" /* post */])("/discusses/".concat(id, "/reply.json"), {
container_type: 'Shixun',
content: content
});
}
function createDiscuss(params) {
return Object(fetch["f" /* post */])("/discusses.json", params);
}
// EXTERNAL MODULE: ./src/pages/Paths/Detail/components/Stage/Discuss/discuss-item/index.less
var discuss_item = __webpack_require__("QcdW");
// EXTERNAL MODULE: ./src/components/image-preview/index.tsx
var image_preview = __webpack_require__("kaH+");
// CONCATENATED MODULE: ./src/pages/Paths/Detail/components/Stage/Discuss/discuss-item/index.jsx
function SecondLevelDiscuss(_ref) {
var data = _ref.data,
index = _ref.index,
adminOrOperator = _ref.adminOrOperator,
parentDiscussIndex = _ref.parentDiscussIndex,
shixunIdentifier = _ref.shixunIdentifier,
isDelete = _ref.isDelete,
user = _ref.user,
onSetRewardData = _ref.onSetRewardData,
onSetActionType = _ref.onSetActionType,
deleteCommentAlert = _ref.deleteCommentAlert,
shixunName = _ref.shixunName;
var author = data.author,
can_delete = data.can_delete,
manage = data.manage,
content = data.content,
hidden = data.hidden,
id = data.id,
reward = data.reward,
time = data.time;
function onRewardDialog() {
onSetRewardData({
id: id,
index: index,
user_id: author.user_id,
parentDiscussIndex: parentDiscussIndex
});
}
function onHiddenDiscuss() {
onSetActionType({
id: id,
index: index,
params: {
hidden: !hidden ? '1' : '0',
container_identifier: shixunIdentifier
},
type: 'hidden-discuss',
parentDiscussIndex: parentDiscussIndex,
message: !hidden ? '确定要隐藏该条回复吗' : '确定要取消隐藏该条回复吗'
});
}
function onDeleteDiscuss() {
if (deleteCommentAlert) {
modal["a" /* default */].info({
// centered: true,
title: '提示',
content: /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "tc"
}, ' ', "\u8BE5\u6761\u8BC4\u8BBA\u6765\u81EA\u300A", shixunName, "\u300B\u5B9E\u8DF5\u9879\u76EE\uFF0C\u60A8\u4E0D\u662F\u8BE5\u5B9E\u8DF5\u9879\u76EE\u7684\u7BA1\u7406\u8005\uFF0C\u4E0D\u80FD\u5220\u9664\u8BC4\u8BBA\uFF01"),
onOk: function onOk() {}
});
return;
}
onSetActionType({
id: id,
index: index,
type: 'delete-discuss',
parentDiscussIndex: parentDiscussIndex,
message: '确定要删除该条回复吗'
});
} // const canDelete =
// adminOrOperator ||
// can_delete ||
// author.user_id === user.user_id ||
// author.login === user.login;
return /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "second-level-discuss"
}, /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "discuss-info-body"
}, /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "discuss-info"
}, /*#__PURE__*/external_window_React_default.a.createElement("a", {
href: "/users/".concat(author.login),
target: "_blank"
}, author.name), /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: "grey"
}, time), reward ? /*#__PURE__*/external_window_React_default.a.createElement("a", {
className: "c-orange gift",
title: "\u5DF2\u5956\u52B1\u91D1\u5E01".concat(reward)
}, /*#__PURE__*/external_window_React_default.a.createElement("i", {
className: "iconfont icon-gift c-orange "
}), /*#__PURE__*/external_window_React_default.a.createElement("span", null, reward)) : null), /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "btn-group"
}, adminOrOperator ? /*#__PURE__*/external_window_React_default.a.createElement("a", {
onClick: onRewardDialog,
title: '给TA奖励金币'
}, /*#__PURE__*/external_window_React_default.a.createElement("i", {
className: "iconfont icon-jiangli"
})) : null, adminOrOperator ? /*#__PURE__*/external_window_React_default.a.createElement("a", {
onClick: onHiddenDiscuss,
title: hidden ? '取消隐藏' : '隐藏评论'
}, /*#__PURE__*/external_window_React_default.a.createElement("i", {
className: hidden ? 'iconfont icon-yincangbiyan' : 'fa fa-eye'
})) : null, manage ? /*#__PURE__*/external_window_React_default.a.createElement("a", {
onClick: onDeleteDiscuss,
title: "\u5220\u9664"
}, /*#__PURE__*/external_window_React_default.a.createElement("i", {
className: "iconfont icon-shanchu"
})) : null)), /*#__PURE__*/external_window_React_default.a.createElement(RenderHtml["a" /* default */], {
className: "discuss-content",
value: content // onClick={handleClick}
}));
} // console.log('------',isDelete);
/* harmony default export */ var Discuss_discuss_item = (function (_ref2) {
var data = _ref2.data,
index = _ref2.index,
shixunIdentifier = _ref2.shixunIdentifier,
adminOrOperator = _ref2.adminOrOperator,
identity = _ref2.identity,
onTopOrDownDiscuss = _ref2.onTopOrDownDiscuss,
onPlusDiscuss = _ref2.onPlusDiscuss,
onSetActionType = _ref2.onSetActionType,
onSetRewardData = _ref2.onSetRewardData,
user = _ref2.user,
isDelete = _ref2.isDelete,
activeDiscussIndex = _ref2.activeDiscussIndex,
onReplyDiscuss = _ref2.onReplyDiscuss,
onSetActiveDiscussIndex = _ref2.onSetActiveDiscussIndex;
var content = data.content,
children = data.children,
game_url = data.game_url,
hidden = data.hidden,
id = data.id,
position = data.position,
praise_count = data.praise_count,
reward = data.reward,
sticky = data.sticky,
time = data.time,
user_praise = data.user_praise,
game_passed = data.game_passed,
delete_comment_alert = data.delete_comment_alert,
author = data.author,
shixun_name = data.shixun_name,
manage = data.manage;
function onActiveDiscussIndex() {
onSetActiveDiscussIndex(id);
}
function onTopOrDown() {
onTopOrDownDiscuss(id, !sticky, index);
}
function onPlus() {
onPlusDiscuss(id, !user_praise, index);
}
function onRewardDialog() {
onSetRewardData({
id: id,
index: index,
user_id: author.user_id
});
}
function onDeleteDiscuss() {
if (delete_comment_alert) {
modal["a" /* default */].info({
// centered: true,
title: '提示',
content: /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "tc"
}, ' ', "\u8BE5\u6761\u8BC4\u8BBA\u6765\u81EA\u300A", shixun_name, "\u300B\u5B9E\u8DF5\u9879\u76EE\uFF0C\u60A8\u4E0D\u662F\u8BE5\u5B9E\u8DF5\u9879\u76EE\u7684\u7BA1\u7406\u8005\uFF0C\u4E0D\u80FD\u5220\u9664\u8BC4\u8BBA\uFF01"),
onOk: function onOk() {}
});
return;
}
onSetActionType({
id: id,
index: index,
type: 'delete-discuss',
message: '确定要删除该条回复吗'
});
}
function onHiddenDiscuss() {
onSetActionType({
id: id,
index: index,
params: {
hidden: !hidden ? '1' : '0',
container_identifier: shixunIdentifier
},
type: 'hidden-discuss',
message: !hidden ? '确定要隐藏该条回复吗' : '确定要取消隐藏该条回复吗'
});
}
var handleClick = function handleClick(e) {
var _e$target = e.target,
nodeName = _e$target.nodeName,
src = _e$target.src;
if (nodeName === 'IMG') {
mediator["a" /* default */].publish('preview-image', src);
console.log('src:', src);
}
};
return /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "discuss-item-container",
key: id
}, /*#__PURE__*/external_window_React_default.a.createElement("a", {
href: "/users/".concat(author.login),
target: "_blank"
}, /*#__PURE__*/external_window_React_default.a.createElement("img", {
alt: "\u7528\u6237\u5934\u50CF",
height: "50",
src: "".concat(env["a" /* default */].IMG_SERVER, "/images/").concat(author.image_url),
width: "50"
})), /*#__PURE__*/external_window_React_default.a.createElement("section", null, /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "discuss-info"
}, /*#__PURE__*/external_window_React_default.a.createElement("a", {
href: "/users/".concat(author.login),
target: "_blank"
}, author.name), /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: "grey"
}, time), position ? /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: "c-green"
}, " [\u7B2C", position, "\u5173] ") : null, game_url ? /*#__PURE__*/external_window_React_default.a.createElement("a", {
href: game_url,
target: "_blank",
className: "view-code",
title: "\u70B9\u51FB\u67E5\u770BTA\u7684\u4EE3\u7801\u9875\u9762"
}, "\u67E5\u770B") : null, reward ? /*#__PURE__*/external_window_React_default.a.createElement("a", {
className: "c-orange gift",
title: "\u5DF2\u5956\u52B1\u91D1\u5E01".concat(reward)
}, /*#__PURE__*/external_window_React_default.a.createElement("i", {
className: "iconfont icon-gift c-orange "
}), /*#__PURE__*/external_window_React_default.a.createElement("span", null, reward)) : null, identity <= 5 ? /*#__PURE__*/external_window_React_default.a.createElement("span", {
style: {
flex: '1',
textAlign: 'right',
color: game_passed === 1 ? '#29bd8b' : ''
}
}, game_passed || game_passed === 0 ? game_passed === 1 ? '已通关' : '未通关' : '') : null), /*#__PURE__*/external_window_React_default.a.createElement("div", {
onClick: handleClick
}, /*#__PURE__*/external_window_React_default.a.createElement(RenderHtml["a" /* default */], {
className: "discuss-content",
value: content
})), children && children.length > 0 ? /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "reply-discuss-container",
onClick: handleClick
}, children.map(function (item, i) {
return /*#__PURE__*/external_window_React_default.a.createElement(SecondLevelDiscuss, {
key: item.id,
data: item,
index: i,
deleteCommentAlert: delete_comment_alert,
shixunName: shixun_name,
shixunIdentifier: shixunIdentifier,
adminOrOperator: adminOrOperator,
user: user,
isDelete: isDelete,
onSetRewardData: onSetRewardData,
onSetActionType: onSetActionType,
parentDiscussIndex: index
});
})) : null, /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "btn-group"
}, adminOrOperator ? /*#__PURE__*/external_window_React_default.a.createElement("a", {
onClick: onRewardDialog,
title: '给TA奖励金币'
}, /*#__PURE__*/external_window_React_default.a.createElement("i", {
className: "iconfont icon-jiangli"
})) : null, adminOrOperator ? /*#__PURE__*/external_window_React_default.a.createElement("a", {
onClick: onHiddenDiscuss,
title: hidden ? '取消隐藏' : '隐藏评论'
}, /*#__PURE__*/external_window_React_default.a.createElement("i", {
className: hidden ? 'iconfont icon-yincangbiyan' : 'fa fa-eye'
})) : null, manage && (!children || children.length == 0) && /*#__PURE__*/external_window_React_default.a.createElement("a", {
onClick: onDeleteDiscuss,
title: "\u5220\u9664"
}, /*#__PURE__*/external_window_React_default.a.createElement("i", {
className: "iconfont icon-shanchu"
})), /*#__PURE__*/external_window_React_default.a.createElement("a", {
onClick: onActiveDiscussIndex,
title: "\u56DE\u590D"
}, /*#__PURE__*/external_window_React_default.a.createElement("i", {
className: "iconfont icon-huifu1"
})), /*#__PURE__*/external_window_React_default.a.createElement("a", {
onClick: onPlus,
className: user_praise ? 'c-orange' : ''
}, /*#__PURE__*/external_window_React_default.a.createElement("i", {
className: user_praise ? 'iconfont icon-dianzan mr3' : 'iconfont icon-dianzan-xian mr3 '
}), /*#__PURE__*/external_window_React_default.a.createElement("span", null, praise_count ? praise_count : ''))), /*#__PURE__*/external_window_React_default.a.createElement(Discuss_discuss_editor, {
id: id,
activeDiscussIndex: activeDiscussIndex,
onReplyDiscuss: onReplyDiscuss
})));
});
// CONCATENATED MODULE: ./src/pages/Paths/Detail/components/Stage/Discuss/index.jsx
var initialState = {
showRewardDialog: false,
data: null,
page: 1,
loading: false,
actionType: null,
activeDiscussIndex: null
};
function reducer(state, action) {
switch (action.type) {
case constant["Q" /* SHOW_DISCUSSES_LOADING */]:
return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), {}, {
loading: true
});
case constant["X" /* SHOW_REWARD_DIALOG */]:
return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), {}, {
showRewardDialog: true
});
case constant["b" /* CANCEL_REWARD_DIALOG */]:
return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), {}, {
showRewardDialog: false
});
case constant["l" /* GET_DISCUSSES */]:
return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), action.payload);
case constant["ab" /* TOP_OR_DOWN_DISCUSS */]:
return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), action.payload);
case constant["x" /* PLUS_DISCUSS */]:
return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), action.payload);
case constant["z" /* SET_ACTION_TYPE */]:
return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), action.payload);
case constant["H" /* SET_REWARD */]:
return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), action.payload);
case constant["a" /* ACTIVE_DISCUSS_INDEX */]:
return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), action.payload);
default:
throw new Error();
}
}
/* harmony default export */ var Stage_Discuss = (function (_ref) {
var shixunIdentifier = _ref.shixunIdentifier,
identity = _ref.identity,
activeIndex = _ref.activeIndex,
user = _ref.user,
_ref$isShixunDetail = _ref.isShixunDetail,
isShixunDetail = _ref$isShixunDetail === void 0 ? false : _ref$isShixunDetail,
isDelete = _ref.isDelete,
getTypeNumber = _ref.getTypeNumber;
var _useReducer = Object(external_window_React_["useReducer"])(reducer, initialState),
_useReducer2 = Object(slicedToArray["a" /* default */])(_useReducer, 2),
state = _useReducer2[0],
dispatch = _useReducer2[1];
var page = state.page,
loading = state.loading,
data = state.data,
actionType = state.actionType,
showRewardDialog = state.showRewardDialog,
activeDiscussIndex = state.activeDiscussIndex;
var rewardData = Object(external_window_React_["useRef"])();
var discussEl = Object(external_window_React_["useRef"])();
var params = Object(react_router["i" /* useParams */])();
function getDiscusses(_x) {
return _getDiscusses.apply(this, arguments);
}
function _getDiscusses() {
_getDiscusses = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee2(value) {
var response;
return regenerator_default.a.wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
if (!loading) {
_context2.next = 2;
break;
}
return _context2.abrupt("return");
case 2:
_context2.prev = 2;
dispatch({
type: constant["Q" /* SHOW_DISCUSSES_LOADING */]
});
_context2.next = 6;
return Object(paths["A" /* getDiscusses */])(Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, params), {}, {
page: value
}));
case 6:
response = _context2.sent;
dispatch({
type: constant["l" /* GET_DISCUSSES */],
payload: {
activeDiscussIndex: null,
page: value,
data: response,
loading: false
}
});
_context2.next = 13;
break;
case 10:
_context2.prev = 10;
_context2.t0 = _context2["catch"](2);
console.log(_context2.t0);
case 13:
case "end":
return _context2.stop();
}
}
}, _callee2, null, [[2, 10]]);
}));
return _getDiscusses.apply(this, arguments);
}
function onPaginationChange(value) {
document.body.scrollIntoView();
getDiscusses(value);
}
function onPlusDiscuss(_x2, _x3, _x4) {
return _onPlusDiscuss.apply(this, arguments);
}
function _onPlusDiscuss() {
_onPlusDiscuss = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee3(id, user_praise, index) {
var response;
return regenerator_default.a.wrap(function _callee3$(_context3) {
while (1) {
switch (_context3.prev = _context3.next) {
case 0:
_context3.prev = 0;
_context3.next = 3;
return plusDiscuss(id, user_praise);
case 3:
response = _context3.sent;
comments[index].user_praise = user_praise;
comments[index].praise_count = response.praise_count;
dispatch({
type: constant["x" /* PLUS_DISCUSS */],
payload: {
data: Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, data), {}, {
comments: comments
})
}
});
_context3.next = 12;
break;
case 9:
_context3.prev = 9;
_context3.t0 = _context3["catch"](0);
console.log(_context3.t0);
case 12:
case "end":
return _context3.stop();
}
}
}, _callee3, null, [[0, 9]]);
}));
return _onPlusDiscuss.apply(this, arguments);
}
function onTopOrDownDiscuss(_x5, _x6, _x7) {
return _onTopOrDownDiscuss.apply(this, arguments);
}
function _onTopOrDownDiscuss() {
_onTopOrDownDiscuss = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee4(id, sticky, index) {
return regenerator_default.a.wrap(function _callee4$(_context4) {
while (1) {
switch (_context4.prev = _context4.next) {
case 0:
_context4.prev = 0;
_context4.next = 3;
return topOrDownDiscuss(id, sticky);
case 3:
comments[index].sticky = sticky;
dispatch({
type: constant["ab" /* TOP_OR_DOWN_DISCUSS */],
payload: {
data: Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, data), {}, {
comments: comments
})
}
});
_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 _onTopOrDownDiscuss.apply(this, arguments);
}
function onCancelAction() {
dispatch({
type: constant["z" /* SET_ACTION_TYPE */],
payload: {
actionType: null
}
});
}
function onProcessAction() {
return _onProcessAction.apply(this, arguments);
}
function _onProcessAction() {
_onProcessAction = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee5() {
var id, params, type, index, parentDiscussIndex, secondDicusses, i, _i;
return regenerator_default.a.wrap(function _callee5$(_context5) {
while (1) {
switch (_context5.prev = _context5.next) {
case 0:
id = actionType.id, params = actionType.params, type = actionType.type, index = actionType.index, parentDiscussIndex = actionType.parentDiscussIndex;
if (!(type === 'hidden-discuss')) {
_context5.next = 6;
break;
}
_context5.next = 4;
return hiddenDiscuss(id, params);
case 4:
if (!parentDiscussIndex) {
comments[index].hidden = params.hidden == 1 ? true : false;
} else {
comments[parentDiscussIndex].children[index].hidden = params.hidden == 1 ? true : false;
}
dispatch({
type: constant["z" /* SET_ACTION_TYPE */],
payload: {
actionType: null,
data: Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, data), {}, {
comments: comments
})
}
});
case 6:
if (!(type === 'delete-discuss')) {
_context5.next = 31;
break;
}
_context5.next = 9;
return deleteDiscuss(id);
case 9:
if (!(parentDiscussIndex || parentDiscussIndex === 0)) {
_context5.next = 22;
break;
}
secondDicusses = comments[parentDiscussIndex].children;
i = secondDicusses.length - 1;
case 12:
if (!(i >= 0)) {
_context5.next = 19;
break;
}
if (!(secondDicusses[i].id === id)) {
_context5.next = 16;
break;
}
secondDicusses.splice(i, 1);
return _context5.abrupt("break", 19);
case 16:
i--;
_context5.next = 12;
break;
case 19:
comments[parentDiscussIndex].children = secondDicusses;
_context5.next = 30;
break;
case 22:
_i = comments.length - 1;
case 23:
if (!(_i >= 0)) {
_context5.next = 30;
break;
}
if (!(comments[_i].id === id)) {
_context5.next = 27;
break;
}
comments.splice(_i, 1);
return _context5.abrupt("break", 30);
case 27:
_i--;
_context5.next = 23;
break;
case 30:
dispatch({
type: constant["z" /* SET_ACTION_TYPE */],
payload: {
actionType: null,
data: Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, data), {}, {
comments: comments
})
}
});
case 31:
case "end":
return _context5.stop();
}
}
}, _callee5);
}));
return _onProcessAction.apply(this, arguments);
}
function onSetActionType(value) {
dispatch({
type: constant["z" /* SET_ACTION_TYPE */],
payload: {
actionType: value
}
});
}
function onCancelRewardDialog() {
dispatch({
type: constant["b" /* CANCEL_REWARD_DIALOG */]
});
}
function onRewardDiscuss() {
return _onRewardDiscuss.apply(this, arguments);
}
function _onRewardDiscuss() {
_onRewardDiscuss = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee6() {
var _rewardData$current, id, index, score, user_id, parentDiscussIndex, response;
return regenerator_default.a.wrap(function _callee6$(_context6) {
while (1) {
switch (_context6.prev = _context6.next) {
case 0:
_rewardData$current = rewardData.current, id = _rewardData$current.id, index = _rewardData$current.index, score = _rewardData$current.score, user_id = _rewardData$current.user_id, parentDiscussIndex = _rewardData$current.parentDiscussIndex;
_context6.next = 3;
return rewardDiscuss(id, {
container_type: 'Discusses',
score: score,
user_id: user_id
});
case 3:
response = _context6.sent;
if (!parentDiscussIndex) {
comments[index].reward = response.code;
} else {
comments[parentDiscussIndex].children[index].reward = response.code;
}
dispatch({
type: constant["H" /* SET_REWARD */],
payload: {
showRewardDialog: false,
data: Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, data), {}, {
comments: comments
})
}
});
rewardData.current = null;
case 7:
case "end":
return _context6.stop();
}
}
}, _callee6);
}));
return _onRewardDiscuss.apply(this, arguments);
}
function onSetRewardData(value) {
rewardData.current = value;
dispatch({
type: constant["X" /* SHOW_REWARD_DIALOG */]
});
}
function onSetDiscussScore(value) {
rewardData.current.score = value;
}
function onReplyDiscuss(_x8, _x9) {
return _onReplyDiscuss.apply(this, arguments);
}
function _onReplyDiscuss() {
_onReplyDiscuss = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee7(id, value) {
return regenerator_default.a.wrap(function _callee7$(_context7) {
while (1) {
switch (_context7.prev = _context7.next) {
case 0:
_context7.prev = 0;
_context7.next = 3;
return replyDiscuss(id, value);
case 3:
getDiscusses(page);
_context7.next = 9;
break;
case 6:
_context7.prev = 6;
_context7.t0 = _context7["catch"](0);
console.log(_context7.t0);
case 9:
case "end":
return _context7.stop();
}
}
}, _callee7, null, [[0, 6]]);
}));
return _onReplyDiscuss.apply(this, arguments);
}
function onSetActiveDiscussIndex(value) {
if (activeDiscussIndex === value) {
dispatch({
type: constant["a" /* ACTIVE_DISCUSS_INDEX */],
payload: {
activeDiscussIndex: null
}
});
} else {
dispatch({
type: constant["a" /* ACTIVE_DISCUSS_INDEX */],
payload: {
activeDiscussIndex: value
}
});
}
}
Object(external_window_React_["useEffect"])(function () {
function init() {
return _init.apply(this, arguments);
}
function _init() {
_init = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee() {
return regenerator_default.a.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
if (!(activeIndex === 3 && !data && shixunIdentifier)) {
_context.next = 3;
break;
}
_context.next = 3;
return getDiscusses(page);
case 3:
case "end":
return _context.stop();
}
}
}, _callee);
}));
return _init.apply(this, arguments);
}
init();
}, [params.pathId]); // useEffect(() => {
// const unSub = mediator.subscribe('create-discuss', () => {
// getDiscusses(page);
// });
// return unSub;
// }, [shixunIdentifier]);
if (!data) {
return /*#__PURE__*/external_window_React_default.a.createElement(spin["a" /* default */], {
spinning: true
}, /*#__PURE__*/external_window_React_default.a.createElement("div", {
style: {
height: '300px',
width: '100%'
}
}));
}
var disscuss_count = data.disscuss_count,
comments = data.comments,
all = data.all,
can_hidden = data.can_hidden;
return /*#__PURE__*/external_window_React_default.a.createElement(external_window_React_["Fragment"], null, /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "discuss-container",
ref: discussEl
}, disscuss_count === 0 ? /*#__PURE__*/external_window_React_default.a.createElement(NoData["a" /* default */], null) : null, Object(authority["p" /* isLogin */])() && /*#__PURE__*/external_window_React_default.a.createElement(apply, {
getTypeNumber: getTypeNumber,
upDataList: getDiscusses,
page: page,
user: user
}), /*#__PURE__*/external_window_React_default.a.createElement("aside", {
className: "bg-white"
}, comments === null || comments === void 0 ? void 0 : comments.map(function (item, index) {
return /*#__PURE__*/external_window_React_default.a.createElement(Discuss_discuss_item, {
user: user,
key: item.id,
data: item,
index: index,
identity: identity,
onPaginationChange: onPaginationChange,
shixunIdentifier: shixunIdentifier,
isDelete: isDelete,
onSetActionType: onSetActionType,
onTopOrDownDiscuss: onTopOrDownDiscuss,
adminOrOperator: can_hidden,
onPlusDiscuss: onPlusDiscuss,
onSetRewardData: onSetRewardData,
activeDiscussIndex: activeDiscussIndex,
onSetActiveDiscussIndex: onSetActiveDiscussIndex,
onReplyDiscuss: onReplyDiscuss
});
})), disscuss_count > 10 ? /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "pagination-container tc"
}, /*#__PURE__*/external_window_React_default.a.createElement(pagination["a" /* default */], {
showQuickJumper: true,
showSizeChanger: false,
onChange: onPaginationChange,
current: page,
total: disscuss_count
})) : null), /*#__PURE__*/external_window_React_default.a.createElement(components_modal["a" /* default */], null, /*#__PURE__*/external_window_React_default.a.createElement(modal["a" /* default */], {
centered: true,
title: "\u63D0\u793A",
visible: !!actionType,
onOk: onProcessAction,
onCancel: onCancelAction
}, /*#__PURE__*/external_window_React_default.a.createElement("p", null, actionType ? actionType.message : '')), /*#__PURE__*/external_window_React_default.a.createElement(modal["a" /* default */], {
centered: true,
width: 400,
title: "\u5956\u52B1\u8BBE\u7F6E",
visible: showRewardDialog,
onCancel: onCancelRewardDialog,
onOk: onRewardDiscuss
}, /*#__PURE__*/external_window_React_default.a.createElement(input_number["a" /* default */], {
placeholder: "\u8BF7\u8F93\u5165\u5956\u52B1\u7684\u91D1\u5E01\u6570\u91CF",
min: 1,
onChange: onSetDiscussScore,
style: {
width: '228px'
}
}))));
});
// EXTERNAL MODULE: ./src/pages/Paths/Detail/components/Sort/index.tsx
var Sort = __webpack_require__("jZGp");
// EXTERNAL MODULE: ./node_modules/lodash/lodash.js
var lodash = __webpack_require__("LvDl");
// CONCATENATED MODULE: ./src/pages/Paths/Detail/components/Stage/index.tsx
var appectMap = ['application/pdf', 'application/msword', 'application/vnd.ms-excel', 'application/vnd.ms-powerpoint', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/vnd.openxmlformats-officedocument.presentationml.presentation', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/ZIP'];
var Stage_Stage = function Stage(_ref) {
var _pathsDetail$detail, _pathsDetail$detail2, _pathsDetail$detail19, _pathsDetail$detail20, _user$userInfo13;
var pathsDetail = _ref.pathsDetail,
user = _ref.user,
globalSetting = _ref.globalSetting,
loading = _ref.loading,
dispatch = _ref.dispatch,
props = Object(objectWithoutProperties["a" /* default */])(_ref, ["pathsDetail", "user", "globalSetting", "loading", "dispatch"]);
var params = Object(react_router["i" /* useParams */])();
var stageData = pathsDetail.stageData;
var _useState = Object(external_window_React_["useState"])([]),
_useState2 = Object(slicedToArray["a" /* default */])(_useState, 2),
data = _useState2[0],
setData = _useState2[1];
var _useState3 = Object(external_window_React_["useState"])(-1),
_useState4 = Object(slicedToArray["a" /* default */])(_useState3, 2),
editKey = _useState4[0],
setEditKey = _useState4[1];
var _useState5 = Object(external_window_React_["useState"])(false),
_useState6 = Object(slicedToArray["a" /* default */])(_useState5, 2),
showAddShixun = _useState6[0],
setShowAddShixun = _useState6[1];
var _useState7 = Object(external_window_React_["useState"])(false),
_useState8 = Object(slicedToArray["a" /* default */])(_useState7, 2),
showAddCourseware = _useState8[0],
setShowAddCourseware = _useState8[1];
var _useState9 = Object(external_window_React_["useState"])(false),
_useState10 = Object(slicedToArray["a" /* default */])(_useState9, 2),
showAddBlankItems = _useState10[0],
setShowAddBlankitems = _useState10[1];
var _useState11 = Object(external_window_React_["useState"])({
name: '',
is_jupyter: false
}),
_useState12 = Object(slicedToArray["a" /* default */])(_useState11, 2),
addValue = _useState12[0],
setAddValue = _useState12[1];
var _Form$useForm = es_form["a" /* default */].useForm(),
_Form$useForm2 = Object(slicedToArray["a" /* default */])(_Form$useForm, 1),
form = _Form$useForm2[0];
var _Form$useForm3 = es_form["a" /* default */].useForm(),
_Form$useForm4 = Object(slicedToArray["a" /* default */])(_Form$useForm3, 1),
addForm = _Form$useForm4[0];
var _Form$useForm5 = es_form["a" /* default */].useForm(),
_Form$useForm6 = Object(slicedToArray["a" /* default */])(_Form$useForm5, 1),
addCoursewareForm = _Form$useForm6[0];
var _Form$useForm7 = es_form["a" /* default */].useForm(),
_Form$useForm8 = Object(slicedToArray["a" /* default */])(_Form$useForm7, 1),
addBlankItemsForm = _Form$useForm8[0];
var _useState13 = Object(external_window_React_["useState"])(false),
_useState14 = Object(slicedToArray["a" /* default */])(_useState13, 2),
isAdd = _useState14[0],
setIsAdd = _useState14[1];
var _useState15 = Object(external_window_React_["useState"])([]),
_useState16 = Object(slicedToArray["a" /* default */])(_useState15, 2),
shixunIds = _useState16[0],
setShixunIds = _useState16[1];
var _useState17 = Object(external_window_React_["useState"])(false),
_useState18 = Object(slicedToArray["a" /* default */])(_useState17, 2),
visibleVideoModal = _useState18[0],
setVisibleVideoModal = _useState18[1];
var _useState19 = Object(external_window_React_["useState"])('All'),
_useState20 = Object(slicedToArray["a" /* default */])(_useState19, 2),
visibleType = _useState20[0],
setVisibleType = _useState20[1];
var _useState21 = Object(external_window_React_["useState"])(false),
_useState22 = Object(slicedToArray["a" /* default */])(_useState21, 2),
confirmLoading = _useState22[0],
setConfirmLoading = _useState22[1];
var _useState23 = Object(external_window_React_["useState"])(0),
_useState24 = Object(slicedToArray["a" /* default */])(_useState23, 2),
scrollTop = _useState24[0],
setScrollTop = _useState24[1];
var _useState25 = Object(external_window_React_["useState"])([{
name: '全部',
type: 'All',
number: 0
}, {
name: '实践项目',
type: 'Shixun',
number: 0
}, {
name: '视频项目',
type: 'VideoItem',
number: 0
}, {
name: '教学课件',
type: 'Attachment',
number: 0
}, {
name: '讨论',
type: 'Discusses',
number: 0
}]),
_useState26 = Object(slicedToArray["a" /* default */])(_useState25, 2),
typeData = _useState26[0],
setTypeData = _useState26[1];
var _useState27 = Object(external_window_React_["useState"])(),
_useState28 = Object(slicedToArray["a" /* default */])(_useState27, 2),
editData = _useState28[0],
setEditData = _useState28[1];
var _useState29 = Object(external_window_React_["useState"])([]),
_useState30 = Object(slicedToArray["a" /* default */])(_useState29, 2),
tagsList = _useState30[0],
setTagslist = _useState30[1];
var addTag = function addTag(e) {
if (e.key == 'Enter') {
var tag = addCoursewareForm.getFieldValue('tag');
addCoursewareForm.setFieldsValue({
tag: ''
});
if (!tag) {
es_message["b" /* default */].info('标签不能为空');
return;
}
if (tagsList.filter(function (item) {
return item === tag;
}).length > 0) {
es_message["b" /* default */].info('已有相同名称标签');
return;
}
tagsList.push(tag);
setTagslist(Object(toConsumableArray["a" /* default */])(tagsList));
}
};
var tagCloseFn = function tagCloseFn(e, str) {
e.preventDefault();
setTagslist(Object(toConsumableArray["a" /* default */])(tagsList.filter(function (item) {
return item != str;
})));
}; // 普通课程付费
var notCollectPay = ((_pathsDetail$detail = pathsDetail.detail) === null || _pathsDetail$detail === void 0 ? void 0 : _pathsDetail$detail.is_free) || ((_pathsDetail$detail2 = pathsDetail.detail) === null || _pathsDetail$detail2 === void 0 ? void 0 : _pathsDetail$detail2.can_learning); //获取类型个数
var getTypeNumber = function getTypeNumber() {
var _pathsDetail$detail3 = pathsDetail.detail,
_pathsDetail$detail3$ = _pathsDetail$detail3.shixuns_count,
shixuns_count = _pathsDetail$detail3$ === void 0 ? 0 : _pathsDetail$detail3$,
_pathsDetail$detail3$2 = _pathsDetail$detail3.videos_count,
videos_count = _pathsDetail$detail3$2 === void 0 ? 0 : _pathsDetail$detail3$2,
_pathsDetail$detail3$3 = _pathsDetail$detail3.attachment_count,
attachment_count = _pathsDetail$detail3$3 === void 0 ? 0 : _pathsDetail$detail3$3,
_pathsDetail$detail3$4 = _pathsDetail$detail3.disscuss_count,
disscuss_count = _pathsDetail$detail3$4 === void 0 ? 0 : _pathsDetail$detail3$4;
var typeParam = {
All: shixuns_count + videos_count + attachment_count,
Shixun: shixuns_count,
VideoItem: videos_count,
Attachment: attachment_count,
Discusses: disscuss_count
};
var cloneTypeData = typeData.map(function (e) {
return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, e), {}, {
number: typeParam[e.type]
});
});
setTypeData(cloneTypeData);
};
Object(external_window_React_["useEffect"])(function () {
getTypeNumber();
}, [pathsDetail.detail]);
Object(external_window_React_["useEffect"])(function () {
getTypeNumber();
setData(Object(toConsumableArray["a" /* default */])(stageData));
}, [stageData]);
var toShixun = /*#__PURE__*/function () {
var _ref2 = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee(id, is_jupyter) {
var execRes;
return regenerator_default.a.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
dispatch({
type: 'globalSetting/setGlobalLoading',
payload: {
show: true,
text: '正在进入实训,请稍后...'
}
});
if (!is_jupyter) {
_context.next = 7;
break;
}
_context.next = 4;
return Object(shixuns["C" /* execJupyter */])({
id: id
});
case 4:
_context.t0 = _context.sent;
_context.next = 10;
break;
case 7:
_context.next = 9;
return Object(shixuns["D" /* execShixun */])({
id: id
});
case 9:
_context.t0 = _context.sent;
case 10:
execRes = _context.t0;
dispatch({
type: 'globalSetting/setGlobalLoading',
payload: {
show: false,
text: ''
}
});
if (!(execRes !== null && execRes !== void 0 && execRes.game_identifier || execRes !== null && execRes !== void 0 && execRes.identifier)) {
_context.next = 15;
break;
}
Object(util["Q" /* openNewWindow */])(is_jupyter ? "/tasks/".concat(execRes === null || execRes === void 0 ? void 0 : execRes.identifier, "/jupyter") : "/tasks/".concat(execRes.game_identifier));
return _context.abrupt("return");
case 15:
if ((execRes === null || execRes === void 0 ? void 0 : execRes.status) === -3) {
Object(util["o" /* bindPhone */])();
} else if ((execRes === null || execRes === void 0 ? void 0 : execRes.status) === 2) {
handleResetGame(execRes === null || execRes === void 0 ? void 0 : execRes.message);
} else if ((execRes === null || execRes === void 0 ? void 0 : execRes.status) === 3) {
handleInBeta(execRes === null || execRes === void 0 ? void 0 : execRes.message);
}
case 16:
case "end":
return _context.stop();
}
}
}, _callee);
}));
return function toShixun(_x, _x2) {
return _ref2.apply(this, arguments);
};
}();
var handleResetGame = function handleResetGame(url) {
var _url;
url = (_url = url) !== null && _url !== void 0 && _url.includes('.json') ? url : "".concat(url, ".json");
modal["a" /* default */].confirm({
centered: true,
title: '提示',
okText: '确定',
cancelText: '取消',
content: /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "tc font16"
}, "\u5B9E\u8BAD\u5DF2\u7ECF\u66F4\u65B0\u4E86\uFF0C\u6B63\u5728\u4E3A\u60A8\u91CD\u7F6E!"),
onOk: function () {
var _onOk = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee2() {
var res, execRes;
return regenerator_default.a.wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
_context2.next = 2;
return Object(exercise["S" /* resetMyGame */])({
url: url
});
case 2:
res = _context2.sent;
if (res) {
_context2.next = 5;
break;
}
return _context2.abrupt("return");
case 5:
es_message["b" /* default */].success('重置成功,正在进入实训!');
_context2.next = 8;
return Object(shixuns["D" /* execShixun */])({
id: res.shixun_identifier
});
case 8:
execRes = _context2.sent;
if (!(execRes !== null && execRes !== void 0 && execRes.game_identifier)) {
_context2.next = 12;
break;
}
Object(util["Q" /* openNewWindow */])("/tasks/".concat(execRes.game_identifier));
return _context2.abrupt("return");
case 12:
if ((execRes === null || execRes === void 0 ? void 0 : execRes.status) === 2) {
handleResetGame(execRes === null || execRes === void 0 ? void 0 : execRes.message);
} else if ((execRes === null || execRes === void 0 ? void 0 : execRes.status) === 3) {
handleInBeta(execRes === null || execRes === void 0 ? void 0 : execRes.message);
}
case 13:
case "end":
return _context2.stop();
}
}
}, _callee2);
}));
function onOk() {
return _onOk.apply(this, arguments);
}
return onOk;
}()
});
};
var handleInBeta = function handleInBeta(message) {
modal["a" /* default */].confirm({
centered: true,
title: '提示',
okText: '确定',
cancelText: '取消',
content: /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "tc font16"
}, "\u76EE\u524D\u8BE5\u5B9E\u8DF5\u9879\u76EE\u5C1A\u5728\u5185\u6D4B\u4E2D\uFF0C\u5C06\u4E8E", message, "\u4E4B\u540E\u5F00\u653E\uFF0C\u8C22\u8C22\uFF01")
});
};
var handleAddStage = function handleAddStage() {
if (!handleEditPrompt()) {
return;
}
setIsAdd(true);
};
Object(external_window_React_["useEffect"])(function () {
if (isAdd) {
var addData = {
shixuns_list: [],
attachments_list: [],
items: []
};
handleEdit(data.length, addData);
setData([].concat(Object(toConsumableArray["a" /* default */])(data), [addData]));
}
}, [isAdd]);
var handleCancel = function handleCancel() {
setTimeout(function () {
if (editKey === data.length - 1 && isAdd) {
clearAddStatus();
setData(data.filter(function (_, index) {
return index !== data.length - 1;
}));
}
getData();
setEditKey(-1);
}, 300);
};
var handleEdit = function handleEdit(key, val) {
if (!handleEditPrompt()) {
return;
}
setEditKey(key);
form.setFieldsValue({
name: val.stage_name,
description: val.stage_description,
tagName: val.tag && val.tag.name || ''
});
};
var handleShixuns = function handleShixuns(items) {
setTimeout(function () {
document.documentElement.scrollTop = scrollTop;
}, 300);
if (items === '取消') return;
data[editKey]['items'] = data[editKey]['items'].concat(items);
setData(Object(toConsumableArray["a" /* default */])(data));
};
var updateSort = /*#__PURE__*/function () {
var _ref3 = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee3(d) {
var res;
return regenerator_default.a.wrap(function _callee3$(_context3) {
while (1) {
switch (_context3.prev = _context3.next) {
case 0:
_context3.next = 2;
return Object(paths["R" /* stagesMovePosition */])(Object(objectSpread2["a" /* default */])({}, d));
case 2:
res = _context3.sent;
// getData();
data[editKey]['items'] = d.list; // setData([...data])
return _context3.abrupt("return", res);
case 5:
case "end":
return _context3.stop();
}
}
}, _callee3);
}));
return function updateSort(_x3) {
return _ref3.apply(this, arguments);
};
}();
var handleBlankItems = function handleBlankItems(items) {
data[editKey]['items'] = data[editKey]['items'].concat(Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, items), {}, {
children: []
}));
setData(Object(toConsumableArray["a" /* default */])(data));
};
var handleCoursewareShixuns = function handleCoursewareShixuns(items) {
// items.map(v => {
// v.type = 'Attachment'
// v.id = v.id || v.response.id;
// return v;
// })
data[editKey]['items'] = data[editKey]['items'].concat(items);
setData(Object(toConsumableArray["a" /* default */])(data));
};
var handleAddVideoOk = /*#__PURE__*/function () {
var _ref4 = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee4(query) {
var res, videoData, _editData$video_item, _editData$video_item2, _res;
return regenerator_default.a.wrap(function _callee4$(_context4) {
while (1) {
switch (_context4.prev = _context4.next) {
case 0:
if (editData) {
_context4.next = 8;
break;
}
_context4.next = 3;
return Object(paths["f" /* addVideoToStage */])(Object(objectSpread2["a" /* default */])({
id: data[editKey]['stage_id'],
subject_id: params.pathId
}, query));
case 3:
res = _context4.sent;
if (res.id) {
setVisibleVideoModal(false);
videoData = [Object(objectSpread2["a" /* default */])({}, res)];
data[editKey]['items'] = data[editKey]['items'].concat(videoData);
setData(Object(toConsumableArray["a" /* default */])(data));
}
return _context4.abrupt("return", res);
case 8:
_context4.next = 10;
return Object(paths["T" /* upCoursewareToStage */])(Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({
id: editData === null || editData === void 0 ? void 0 : editData.id,
subject_id: params.pathId
}, query), {}, {
video_id: (query === null || query === void 0 ? void 0 : query.video_id) || (editData === null || editData === void 0 ? void 0 : (_editData$video_item = editData.video_item) === null || _editData$video_item === void 0 ? void 0 : _editData$video_item.video_id),
link: (query === null || query === void 0 ? void 0 : query.link) || (editData === null || editData === void 0 ? void 0 : (_editData$video_item2 = editData.video_item) === null || _editData$video_item2 === void 0 ? void 0 : _editData$video_item2.link)
}));
case 10:
_res = _context4.sent;
// handleAddShixunCancel();
if (_res) {
es_message["b" /* default */].success('修改成功');
setVisibleVideoModal(false);
getData();
}
return _context4.abrupt("return", _res);
case 13:
case "end":
return _context4.stop();
}
}
}, _callee4);
}));
return function handleAddVideoOk(_x4) {
return _ref4.apply(this, arguments);
};
}();
var getData = function getData() {
dispatch({
type: 'pathsDetail/getStageData',
payload: {
subject_id: params.pathId
}
});
dispatch({
type: 'pathsDetail/getPathsDetail',
payload: {
id: params.pathId
}
});
dispatch({
type: 'pathsDetail/getRightData',
payload: {
id: params.pathId
}
});
clearAddStatus(); // setEditKey(-1);
};
var onFinish = /*#__PURE__*/function () {
var _ref5 = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee5(value, type) {
var _data$editKey$shixuns, _data$editKey$attachm;
var list, tagName, rest, param, res, _typeData, _param, tagId, _res2;
return regenerator_default.a.wrap(function _callee5$(_context5) {
while (1) {
switch (_context5.prev = _context5.next) {
case 0:
if (!(!(value !== null && value !== void 0 && value.name) || (value === null || value === void 0 ? void 0 : value.name.replace(/(^\s*)|(\s*$)/g, '')) === '')) {
_context5.next = 2;
break;
}
return _context5.abrupt("return", es_message["b" /* default */].info('请先输入章节名称!'));
case 2:
clearAddStatus();
list = [];
(_data$editKey$shixuns = data[editKey]['shixuns_list']) === null || _data$editKey$shixuns === void 0 ? void 0 : _data$editKey$shixuns.map(function (item) {
// item.item_type === 'Shixun' ?
list.push({
type: item.item_type,
id: item.id
}); // list.push({ type: 'VideoItem', id: item.id })
});
(_data$editKey$attachm = data[editKey]['attachments_list']) === null || _data$editKey$attachm === void 0 ? void 0 : _data$editKey$attachm.map(function (item) {
// item.item_type === 'Shixun' ?
list.push({
type: 'Attachment',
id: item.id
}); // list.push({ type: 'VideoItem', id: item.id })
});
tagName = value.tagName, rest = Object(objectWithoutProperties["a" /* default */])(value, ["tagName"]);
if (!isAdd) {
_context5.next = 16;
break;
}
param = Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, rest), {}, {
pathId: params.pathId,
list: list
});
if (tagName) {
param = Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, param), {}, {
stage_tag_attributes: {
name: tagName
}
});
}
_context5.next = 12;
return Object(paths["d" /* addStage */])(Object(objectSpread2["a" /* default */])({}, param));
case 12:
res = _context5.sent;
if (res !== null && res !== void 0 && res.subject_id) {
data[editKey] = Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, data[editKey]), res), {}, {
stage_name: param.name,
stage_description: param.description,
tag: param.stage_tag_attributes
});
setData(Object(toConsumableArray["a" /* default */])(data));
}
_context5.next = 24;
break;
case 16:
_typeData = Array.from(new Set(list.map(function (item) {
return item.type;
})));
_param = Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, rest), {}, {
id: data[editKey]['stage_id'],
type: Array.from(new Set(list.map(function (item) {
return item.type;
}))),
list: list
});
tagId = data[editKey].tag && data[editKey].tag.id || '';
/**
* 标签名称存在时 ,上传时带id ,
* 标签名称不存在时,只上传name
*/
_param = Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, _param), {}, {
stage_tag_attributes: tagId ? {
id: tagId,
name: tagName
} : {
name: tagName
}
});
_context5.next = 22;
return Object(paths["V" /* updateStage */])(Object(objectSpread2["a" /* default */])({}, _param));
case 22:
_res2 = _context5.sent;
if (_res2 !== null && _res2 !== void 0 && _res2.subject_id) {
data[editKey] = Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, data[editKey]), _res2), {}, {
stage_name: _param.name,
stage_description: _param.description,
tag: _param.stage_tag_attributes
});
setData(Object(toConsumableArray["a" /* default */])(data));
}
case 24:
setIsAdd(false);
return _context5.abrupt("return");
case 26:
case "end":
return _context5.stop();
}
}
}, _callee5);
}));
return function onFinish(_x5, _x6) {
return _ref5.apply(this, arguments);
};
}();
var reorder = function reorder(list, startIndex, endIndex) {
var result = Array.from(list);
var _result$splice = result.splice(startIndex, 1),
_result$splice2 = Object(slicedToArray["a" /* default */])(_result$splice, 1),
removed = _result$splice2[0];
result.splice(endIndex, 0, removed);
return result;
};
var handleDeleteShixun = function handleDeleteShixun(key, type) {
modal["a" /* default */].confirm({
centered: true,
okText: '确定',
cancelText: '取消',
title: '提示',
content: '确定删除该实训吗?',
onOk: function onOk() {
data[editKey][type || 'shixuns_list'].splice(key, 1);
es_message["b" /* default */].success('删除成功');
setData(Object(toConsumableArray["a" /* default */])(data));
onFinish(form.getFieldsValue(), type);
}
});
};
var handleDeleteStage = function handleDeleteStage(params) {
modal["a" /* default */].confirm({
centered: true,
okText: '确定',
cancelText: '取消',
title: '提示',
content: '本操作将删除当前目录及下属子目录定全部内容,确认要删除吗?',
onOk: function () {
var _onOk2 = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee6() {
var res;
return regenerator_default.a.wrap(function _callee6$(_context6) {
while (1) {
switch (_context6.prev = _context6.next) {
case 0:
_context6.next = 2;
return Object(paths["s" /* deleteStages */])(params);
case 2:
res = _context6.sent;
if (res.status === 0) {
// setEditKey(-1);
es_message["b" /* default */].success('删除成功');
getData();
}
case 4:
case "end":
return _context6.stop();
}
}
}, _callee6);
}));
function onOk() {
return _onOk2.apply(this, arguments);
}
return onOk;
}()
});
};
var handEditVidoItem = /*#__PURE__*/function () {
var _ref6 = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee9(params) {
var res, _res$tags, _res$attachment, _res$attachment2, name, _name;
return regenerator_default.a.wrap(function _callee9$(_context9) {
while (1) {
switch (_context9.prev = _context9.next) {
case 0:
console.log(params);
if (!((params === null || params === void 0 ? void 0 : params.item_type) === "VideoItem")) {
_context9.next = 9;
break;
}
_context9.next = 4;
return Object(video["g" /* getVideoEditDatas */])({
id: params === null || params === void 0 ? void 0 : params.stage_item_id // ...params,
});
case 4:
res = _context9.sent;
// const res = await getVideoEditData({
// id: params?.id,
// // ...params,
// });
// setEditData(res?.video_item);
setEditData(res);
if ((params === null || params === void 0 ? void 0 : params.item_type) === 'VideoItem') {
setVisibleVideoModal(true);
} else {
setTagslist((res === null || res === void 0 ? void 0 : (_res$tags = res.tags) === null || _res$tags === void 0 ? void 0 : _res$tags.map(function (item) {
return item === null || item === void 0 ? void 0 : item.name;
})) || []);
addCoursewareForm.setFieldsValue({
files: [{
uid: res === null || res === void 0 ? void 0 : (_res$attachment = res.attachment) === null || _res$attachment === void 0 ? void 0 : _res$attachment.id,
name: res === null || res === void 0 ? void 0 : res.name,
response: {
id: res === null || res === void 0 ? void 0 : (_res$attachment2 = res.attachment) === null || _res$attachment2 === void 0 ? void 0 : _res$attachment2.id
}
}]
});
setShowAddCourseware(true);
}
_context9.next = 10;
break;
case 9:
if ((params === null || params === void 0 ? void 0 : params.item_type) === 'Attachment') {
modal["a" /* default */].confirm({
title: '修改课件名称',
icon: null,
centered: true,
okText: "确认修改",
cancelText: '取消',
content: /*#__PURE__*/external_window_React_default.a.createElement(input["a" /* default */], {
value: name,
onChange: function onChange(e) {
name = e.target.value;
},
placeholder: "\u8BF7\u8F93\u5165\u8BFE\u4EF6\u540D\u79F0"
}),
onOk: function () {
var _onOk3 = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee7() {
var _params$name, _params$name2;
var res;
return regenerator_default.a.wrap(function _callee7$(_context7) {
while (1) {
switch (_context7.prev = _context7.next) {
case 0:
if (name) {
_context7.next = 3;
break;
}
es_message["b" /* default */].info('名称不能为空');
return _context7.abrupt("return", Promise.reject());
case 3:
_context7.next = 5;
return Object(fetch["a" /* default */])("/api/attachments/".concat(params === null || params === void 0 ? void 0 : params.id, ".json"), {
method: 'put',
body: {
name: name + (params === null || params === void 0 ? void 0 : (_params$name = params.name) === null || _params$name === void 0 ? void 0 : _params$name.substr(params === null || params === void 0 ? void 0 : (_params$name2 = params.name) === null || _params$name2 === void 0 ? void 0 : _params$name2.lastIndexOf('.')))
}
});
case 5:
res = _context7.sent;
name = '';
getData();
case 8:
case "end":
return _context7.stop();
}
}
}, _callee7);
}));
function onOk() {
return _onOk3.apply(this, arguments);
}
return onOk;
}()
});
} else {
modal["a" /* default */].confirm({
title: '修改小节名称',
icon: null,
centered: true,
okText: "确认修改",
cancelText: '取消',
content: /*#__PURE__*/external_window_React_default.a.createElement(input["a" /* default */], {
value: _name,
maxLength: 40,
onChange: function onChange(e) {
_name = e.target.value;
},
placeholder: "\u8BF7\u8F93\u5165\u5C0F\u8282\u540D\u79F0"
}),
onOk: function () {
var _onOk4 = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee8() {
var res;
return regenerator_default.a.wrap(function _callee8$(_context8) {
while (1) {
switch (_context8.prev = _context8.next) {
case 0:
if (_name.replaceAll(' ', '')) {
_context8.next = 3;
break;
}
es_message["b" /* default */].info('名称不能为空');
return _context8.abrupt("return", Promise.reject());
case 3:
_context8.next = 5;
return Object(fetch["a" /* default */])("/api/stages/".concat(params === null || params === void 0 ? void 0 : params.stage_id, "/update_item_name.json"), {
method: 'put',
body: {
name: _name,
item_id: params === null || params === void 0 ? void 0 : params.id
}
});
case 5:
res = _context8.sent;
_name = '';
getData();
case 8:
case "end":
return _context8.stop();
}
}
}, _callee8);
}));
function onOk() {
return _onOk4.apply(this, arguments);
}
return onOk;
}()
});
}
case 10:
case "end":
return _context9.stop();
}
}
}, _callee9);
}));
return function handEditVidoItem(_x7) {
return _ref6.apply(this, arguments);
};
}();
var handleDeleteStages = function handleDeleteStages(id) {
modal["a" /* default */].confirm({
centered: true,
okText: '确定',
cancelText: '取消',
title: '提示',
content: '确定删除该章节吗?',
onOk: function () {
var _onOk5 = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee10() {
var res;
return regenerator_default.a.wrap(function _callee10$(_context10) {
while (1) {
switch (_context10.prev = _context10.next) {
case 0:
_context10.next = 2;
return Object(paths["r" /* deleteStage */])({
id: id
});
case 2:
res = _context10.sent;
if (res.status === 1) {
setEditKey(-1);
es_message["b" /* default */].success('删除成功');
getData();
}
case 4:
case "end":
return _context10.stop();
}
}
}, _callee10);
}));
function onOk() {
return _onOk5.apply(this, arguments);
}
return onOk;
}()
});
};
var handleAddShixunCancel = function handleAddShixunCancel() {
setAddValue({
name: '',
is_jupyter: false
});
addForm.setFieldsValue({
name: '',
is_jupyter: false
});
setConfirmLoading(false);
setShowAddShixun(false);
};
var onDragEnd = function onDragEnd(result, type) {
var _data$editKey;
if (!result.destination) {
return;
}
var items = reorder((_data$editKey = data[editKey]) === null || _data$editKey === void 0 ? void 0 : _data$editKey[type || 'shixuns_list'], result.source.index, result.destination.index);
data[editKey][type || 'shixuns_list'] = items;
setData(Object(toConsumableArray["a" /* default */])(data));
onFinish(form.getFieldsValue(), type);
};
var handleUp = /*#__PURE__*/function () {
var _ref7 = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee11(id) {
var res;
return regenerator_default.a.wrap(function _callee11$(_context11) {
while (1) {
switch (_context11.prev = _context11.next) {
case 0:
if (handleEditPrompt()) {
_context11.next = 2;
break;
}
return _context11.abrupt("return");
case 2:
_context11.next = 4;
return Object(paths["U" /* upPosition */])({
id: id
});
case 4:
res = _context11.sent;
if (res.status === 1) getData();
case 6:
case "end":
return _context11.stop();
}
}
}, _callee11);
}));
return function handleUp(_x8) {
return _ref7.apply(this, arguments);
};
}();
var handleDown = /*#__PURE__*/function () {
var _ref8 = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee12(id) {
var res;
return regenerator_default.a.wrap(function _callee12$(_context12) {
while (1) {
switch (_context12.prev = _context12.next) {
case 0:
if (handleEditPrompt()) {
_context12.next = 2;
break;
}
return _context12.abrupt("return");
case 2:
_context12.next = 4;
return Object(paths["t" /* downPosition */])({
id: id
});
case 4:
res = _context12.sent;
if (res.status === 1) getData();
case 6:
case "end":
return _context12.stop();
}
}
}, _callee12);
}));
return function handleDown(_x9) {
return _ref8.apply(this, arguments);
};
}();
var handleEditPrompt = function handleEditPrompt() {
if (editKey !== -1) {
modal["a" /* default */].info({
icon: null,
className: 'custom-modal-divider ',
okText: '知道啦',
title: '提示',
content: /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "mt10 font14"
}, "\u5F53\u524D\u5355\u5143\u6709\u672A\u4FDD\u5B58\u7684\u4FEE\u6539\u8BB0\u5F55\uFF0C\u8BF7\u5148\u4FDD\u5B58\uFF01"),
onOk: function onOk() {
// 跳转
var anchorName = "Edit_".concat(editKey);
var anchorElement = document.getElementById(anchorName);
if (anchorElement) {
setTimeout(function () {
return anchorElement.scrollIntoView({
block: 'start',
behavior: 'smooth'
});
});
}
}
});
return false;
}
return true;
};
var handleBlur = function handleBlur() {
onFinish(form.getFieldsValue());
};
var clearAddStatus = function clearAddStatus() {
setIsAdd(false);
};
var isSHow = function isSHow() {
var _pathsDetail$detail4, _pathsDetail$detail4$, _pathsDetail$detail5, _user$userInfo, _pathsDetail$detail6, _pathsDetail$detail7;
return ((_pathsDetail$detail4 = pathsDetail.detail) === null || _pathsDetail$detail4 === void 0 ? void 0 : (_pathsDetail$detail4$ = _pathsDetail$detail4.courses) === null || _pathsDetail$detail4$ === void 0 ? void 0 : _pathsDetail$detail4$.length) > 0 ? // !pathsDetail.detail?.allow_statistics &&
// user.userInfo?.user_identity === '学生'&&
(_pathsDetail$detail5 = pathsDetail.detail) === null || _pathsDetail$detail5 === void 0 ? void 0 : _pathsDetail$detail5.allow_visit : !( // !pathsDetail.detail?.allow_statistics &&
((_user$userInfo = user.userInfo) === null || _user$userInfo === void 0 ? void 0 : _user$userInfo.user_identity) === '学生' && (_pathsDetail$detail6 = pathsDetail.detail) !== null && _pathsDetail$detail6 !== void 0 && _pathsDetail$detail6.allow_visit && (_pathsDetail$detail7 = pathsDetail.detail) !== null && _pathsDetail$detail7 !== void 0 && _pathsDetail$detail7.courses);
}; // console.log('---adghsagdhsj----',isSHow());
var renderShixun = function renderShixun(item, index, key) {
var _pathsDetail$detail8, _user$userInfo2, _user$userInfo3, _pathsDetail$detail9, _user$userInfo4, _pathsDetail$detail10, _pathsDetail$detail11, _user$userInfo7, _pathsDetail$detail12, _user$userInfo8, _pathsDetail$detail13, _pathsDetail$detail14;
if (visibleType !== 'All' && item.item_type !== visibleType) return null;
return /*#__PURE__*/external_window_React_default.a.createElement(row["a" /* default */], {
className: "list-item-row",
align: "middle",
key: index,
gutter: [5, 10]
}, /*#__PURE__*/external_window_React_default.a.createElement(col["a" /* default */], null, item.item_type === 'Shixun' ? /*#__PURE__*/external_window_React_default.a.createElement("i", {
className: "iconfont icon-shixunti2 c-light-primary font20"
}) : /*#__PURE__*/external_window_React_default.a.createElement("i", {
className: "iconfont icon-shipin2 c-purple-8C1 font20"
})), /*#__PURE__*/external_window_React_default.a.createElement(col["a" /* default */], {
flex: 1,
className: !item.allow_visit && !item.to_be_built && (item.shixun_status === '暂未公开' || item.shixun_status === '已删除') ? Stagemodules_default.a.color204 : ''
}, !!(pathsDetail !== null && pathsDetail !== void 0 && (_pathsDetail$detail8 = pathsDetail.detail) !== null && _pathsDetail$detail8 !== void 0 && _pathsDetail$detail8.cust_seq) && /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: "mr8"
}, key + 1, "-", index + 1), item.name, editKey === -1 && item.complete_status === 1 && /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: Stagemodules_default.a.completed
}, /*#__PURE__*/external_window_React_default.a.createElement("i", {
className: "iconfont icon-duigou1 mr5 font12"
}), "\u5DF2\u5B8C\u6210")), /*#__PURE__*/external_window_React_default.a.createElement(col["a" /* default */], null, editKey === key && /*#__PURE__*/external_window_React_default.a.createElement("div", null, /*#__PURE__*/external_window_React_default.a.createElement(tooltip["a" /* default */], {
title: "\u5220\u9664"
}, /*#__PURE__*/external_window_React_default.a.createElement("span", {
onClick: function onClick() {
handleDeleteShixun(index, 'shixuns_list');
},
className: "iconfont icon-shanchu c-grey-c"
}))), (((_user$userInfo2 = user.userInfo) === null || _user$userInfo2 === void 0 ? void 0 : _user$userInfo2.admin) || ((_user$userInfo3 = user.userInfo) === null || _user$userInfo3 === void 0 ? void 0 : _user$userInfo3.business) || !(!((_pathsDetail$detail9 = pathsDetail.detail) !== null && _pathsDetail$detail9 !== void 0 && _pathsDetail$detail9.allow_statistics) && ((_user$userInfo4 = user.userInfo) === null || _user$userInfo4 === void 0 ? void 0 : _user$userInfo4.user_identity) === '学生' && (_pathsDetail$detail10 = pathsDetail.detail) !== null && _pathsDetail$detail10 !== void 0 && _pathsDetail$detail10.allow_visit && (_pathsDetail$detail11 = pathsDetail.detail) !== null && _pathsDetail$detail11 !== void 0 && _pathsDetail$detail11.courses)) && editKey !== key && item.item_type === 'VideoItem' && /*#__PURE__*/external_window_React_default.a.createElement("aside", null, /*#__PURE__*/external_window_React_default.a.createElement(es_button["a" /* default */], {
type: "primary",
onClick: function onClick() {
var _user$userInfo5, _user$userInfo6;
if (!((_user$userInfo5 = user.userInfo) !== null && _user$userInfo5 !== void 0 && _user$userInfo5.admin) && !((_user$userInfo6 = user.userInfo) !== null && _user$userInfo6 !== void 0 && _user$userInfo6.business) && !item.can_view) {
return modal["a" /* default */].info({
centered: true,
width: 400,
okText: '知道啦',
icon: null,
content: /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "tc font14"
}, "\u5F53\u524D\u89C6\u9891\u4E3A\u521B\u5EFA\u8005\u6240\u5C5E\u5355\u4F4D\u5185\u90E8\u6559\u5B66\u8D44\u6599\uFF0C\u5916\u5355\u4F4D\u7528\u6237\u65E0\u89C2\u770B\u6743\u9650")
});
}
if (item.link) {
Object(video["n" /* viewVideo */])({
is_f: 1,
id: item.id,
point: 0,
total: 0
});
}
Object(util["Q" /* openNewWindow */])(item.link || "/video/".concat(item.id, "?subject_id=").concat(params.pathId));
}
}, item.last_point > 0 ? '继续学习' : '开始学习')), (((_user$userInfo7 = user.userInfo) === null || _user$userInfo7 === void 0 ? void 0 : _user$userInfo7.admin) || (item.allow_visit || item.to_be_built || item.shixun_status !== '暂未公开' && item.shixun_status !== '已删除') && !(!((_pathsDetail$detail12 = pathsDetail.detail) !== null && _pathsDetail$detail12 !== void 0 && _pathsDetail$detail12.allow_statistics) && ((_user$userInfo8 = user.userInfo) === null || _user$userInfo8 === void 0 ? void 0 : _user$userInfo8.user_identity) === '学生' && (_pathsDetail$detail13 = pathsDetail.detail) !== null && _pathsDetail$detail13 !== void 0 && _pathsDetail$detail13.allow_visit && (_pathsDetail$detail14 = pathsDetail.detail) !== null && _pathsDetail$detail14 !== void 0 && _pathsDetail$detail14.courses)) && editKey !== key && item.item_type === 'Shixun' && /*#__PURE__*/external_window_React_default.a.createElement("aside", null, /*#__PURE__*/external_window_React_default.a.createElement(react_router_dom["a" /* Link */], {
to: "/shixuns/".concat(item.identifier, "/challenges"),
target: "_blank"
}, "\u67E5\u770B\u8BE6\u60C5"), item.shixun_status !== '暂未公开' && /*#__PURE__*/external_window_React_default.a.createElement(es_button["a" /* default */], {
className: "ml20",
type: "primary",
onClick: function onClick() {
if (!Object(verifyLogin["e" /* handleVerify */])(dispatch, true)) {
return;
}
toShixun(item.identifier, item.is_jupyter || item.is_jupyter_lab);
}
}, "\u5F00\u59CB\u5B9E\u6218")), editKey === -1 && !item.allow_visit && !item.to_be_built && item.shixun_status === '暂未公开' && /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: Stagemodules_default.a.color204
}, "\u6682\u672A\u516C\u5F00"), editKey === -1 && !item.allow_visit && !item.to_be_built && item.shixun_status === '已删除' && /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: Stagemodules_default.a.color204
}, "\u5DF2\u5220\u9664"), editKey === -1 && item.item_type === 'Shixun' && !!item.challenges_count && /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: "exper\u02C6iment-number ml5 c-grey-999"
}, "\u5B9E\u9A8C\u6570 ", item.challenges_count)));
}; //渲染免费试学标签
var renderTryName = function renderTryName(e) {
var _e$items;
var stageItems = [];
if (e.items && (_e$items = e.items) !== null && _e$items !== void 0 && _e$items.length) {
var _e$items2;
(_e$items2 = e.items) === null || _e$items2 === void 0 ? void 0 : _e$items2.forEach(function (er) {
var _er$children;
stageItems.push(er);
if (er.children && (_er$children = er.children) !== null && _er$children !== void 0 && _er$children.length) {
stageItems = stageItems.concat(er.children);
}
});
}
var bool = !!stageItems.find(function (item) {
return Object(lodash["isEqual"])(item.learning_status, ['can', 'try']);
});
if (bool) {
return /*#__PURE__*/external_window_React_default.a.createElement("aside", {
className: Stagemodules_default.a.learn
}, "\u514D\u8D39\u8BD5\u5B66");
}
return null;
};
var renderDom = function renderDom(val, key) {
var _val$stage_tag, _pathsDetail$detail17, _globalSetting$settin, _val$items, _pathsDetail$detail18, _user$userInfo11, _user$userInfo12;
if (visibleType !== 'All' && !((_val$stage_tag = val.stage_tag) !== null && _val$stage_tag !== void 0 && _val$stage_tag.includes(visibleType))) {
return null;
} // 删除按钮
var deleteStatus = false; // 编辑按钮
var editeStatus = false; // 向上
var upStatus = false; // 向下
var downStatus = false;
if (visibleType === 'All') {
var _user$userInfo9, _user$userInfo10, _pathsDetail$detail15, _pathsDetail$detail16;
deleteStatus = (((_user$userInfo9 = user.userInfo) === null || _user$userInfo9 === void 0 ? void 0 : _user$userInfo9.admin) || ((_user$userInfo10 = user.userInfo) === null || _user$userInfo10 === void 0 ? void 0 : _user$userInfo10.business) || ((_pathsDetail$detail15 = pathsDetail.detail) === null || _pathsDetail$detail15 === void 0 ? void 0 : _pathsDetail$detail15.allow_statistics)) && editKey === key && !isAdd;
if ((_pathsDetail$detail16 = pathsDetail.detail) !== null && _pathsDetail$detail16 !== void 0 && _pathsDetail$detail16.allow_add_member && notCollectPay && editKey !== key) {
editeStatus = true;
if (key > 0) {
upStatus = true;
}
if (key < data.length - 1) {
downStatus = true;
}
}
}
/**
* 渲染名称
* 行的总宽度是750
*/
var renderName = function renderName() {
// 标签宽度
var tagWidth = 0; // 文本宽度
var textWidth = 0; // 按钮宽度
var buttonWidth = 0;
if (editeStatus) {
buttonWidth += 25;
}
if (upStatus) {
buttonWidth += 18;
}
if (downStatus) {
buttonWidth += 23.5;
} // 删除按钮是21像素
if (deleteStatus) {
buttonWidth += 21;
} // 如果按钮存在,增加5像素的Padding
if (buttonWidth) {
buttonWidth += 5;
} // 计算标签宽度
if (val.tag) {
var ctx = document.createElement('canvas').getContext('2d');
ctx.font = "450 12px -apple-system, BlinkMacSystemFont, Segoe UI, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Helvetica Neue, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol";
tagWidth = Math.ceil(ctx.measureText(val.tag.name).width) + 16;
} // 计算文本宽度
var textCtx = document.createElement('canvas').getContext('2d');
textCtx.font = "normal normal 450 18px -apple-system, BlinkMacSystemFont, Segoe UI, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Helvetica Neue, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol";
textWidth = Math.ceil(textCtx.measureText(val.stage_name || "\u7B2C".concat(data === null || data === void 0 ? void 0 : data.length, "\u90E8\u5206")).width);
return /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: Stagemodules_default.a.labelContainer,
style: {
width: 745 - buttonWidth
}
}, /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "".concat(Stagemodules_default.a.text),
style: {
maxWidth: 745 - buttonWidth - tagWidth
}
}, val.stage_name || "\u7B2C".concat(data === null || data === void 0 ? void 0 : data.length, "\u90E8\u5206"), renderTryName(val)), val.tag && val.tag.name && /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: Stagemodules_default.a.tag
}, val.tag.name));
};
return /*#__PURE__*/external_window_React_default.a.createElement("section", {
key: key,
className: "bg-white mt20 pt30 pb20"
}, /*#__PURE__*/external_window_React_default.a.createElement("aside", {
className: "pl20 pr20"
}, /*#__PURE__*/external_window_React_default.a.createElement(row["a" /* default */], {
gutter: [5, 20],
align: "middle"
}, /*#__PURE__*/external_window_React_default.a.createElement(col["a" /* default */], {
flex: 1,
className: "tl font18 bold c-grey-333"
}, renderName()), visibleType === 'All' && /*#__PURE__*/external_window_React_default.a.createElement(col["a" /* default */], null, deleteStatus && /*#__PURE__*/external_window_React_default.a.createElement(tooltip["a" /* default */], {
title: "\u5220\u9664"
}, /*#__PURE__*/external_window_React_default.a.createElement("span", {
onClick: function onClick() {
handleDeleteStages(val.stage_id);
},
className: "iconfont icon-shanchu c-grey-c"
})), ((_pathsDetail$detail17 = pathsDetail.detail) === null || _pathsDetail$detail17 === void 0 ? void 0 : _pathsDetail$detail17.allow_add_member) && notCollectPay && editKey !== key && /*#__PURE__*/external_window_React_default.a.createElement("div", null, upStatus && /*#__PURE__*/external_window_React_default.a.createElement(tooltip["a" /* default */], {
title: "\u5411\u4E0A\u79FB\u52A8"
}, /*#__PURE__*/external_window_React_default.a.createElement("span", {
onClick: function onClick() {
return handleUp(val.stage_id);
},
className: "iconfont icon-xiangshangyi c-light-green font18 current"
})), downStatus && /*#__PURE__*/external_window_React_default.a.createElement(tooltip["a" /* default */], {
title: "\u5411\u4E0B\u79FB\u52A8"
}, /*#__PURE__*/external_window_React_default.a.createElement("span", {
onClick: function onClick() {
return handleDown(val.stage_id);
},
className: "iconfont icon-xiangxiayi c-light-green font18 current ml5"
})),
/*#__PURE__*/
// !isAdd &&
external_window_React_default.a.createElement(tooltip["a" /* default */], {
title: "\u7F16\u8F91"
}, /*#__PURE__*/external_window_React_default.a.createElement("span", {
onClick: function onClick() {
return handleEdit(key, val);
},
className: "iconfont icon-bianjidaibeijing c-light-green font20 current ml5"
}))))), !!val.stage_description && /*#__PURE__*/external_window_React_default.a.createElement(row["a" /* default */], {
gutter: [5, 20]
}, /*#__PURE__*/external_window_React_default.a.createElement(col["a" /* default */], {
span: 24
}, /*#__PURE__*/external_window_React_default.a.createElement(RenderHtml["a" /* default */], {
value: val === null || val === void 0 ? void 0 : val.stage_description
})))), editKey === key && /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "pl20 pr20"
}, /*#__PURE__*/external_window_React_default.a.createElement("aside", null, /*#__PURE__*/external_window_React_default.a.createElement(es_form["a" /* default */].Item, {
name: "name",
label: '名称',
rules: [{
required: true,
message: '名称不能为空'
}, {
whitespace: true,
message: '不能输入空格'
}]
}, /*#__PURE__*/external_window_React_default.a.createElement(input["a" /* default */], {
size: "large",
maxLength: 60,
placeholder: "\u8BF7\u8F93\u5165\u7B2C".concat(key + 1, "\u9636\u6BB5\u540D\u79F0,\u6700\u5927\u9650\u523660\u4E2A\u5B57\u7B26"),
onBlur: handleBlur
})), /*#__PURE__*/external_window_React_default.a.createElement(es_form["a" /* default */].Item, {
name: "description",
label: '描述',
className: "ml10"
}, /*#__PURE__*/external_window_React_default.a.createElement(markdown_editor["a" /* default */], {
defaultValue: val === null || val === void 0 ? void 0 : val.stage_description,
placeholder: "\u8BF7\u8F93\u5165\u7B2C".concat(key + 1, "\u9636\u6BB5\u63CF\u8FF0"),
height: 300,
onBlur: handleBlur
}))), /*#__PURE__*/external_window_React_default.a.createElement("aside", null, /*#__PURE__*/external_window_React_default.a.createElement(es_form["a" /* default */].Item, {
label: "\u6807\u7B7E",
name: "tagName",
rules: [{
max: 10,
message: '标签不能超过10个字”'
}]
}, /*#__PURE__*/external_window_React_default.a.createElement(input["a" /* default */], {
placeholder: "\u8BF7\u8F93\u5165\u6807\u7B7E\u540D\u79F0",
onBlur: handleBlur
}))), /*#__PURE__*/external_window_React_default.a.createElement("aside", {
className: "mt20 mb20"
}, /*#__PURE__*/external_window_React_default.a.createElement(es_button["a" /* default */], {
size: "large",
ghost: true,
type: "primary",
onClick: function onClick() {
if (!data[editKey]['stage_id']) {
return es_message["b" /* default */].info('请先输入章节名称!');
}
if (!Object(verifyLogin["e" /* handleVerify */])(dispatch)) {
return;
} // if (!handleCanShixunAddModal()) {
// return;
// }
setConfirmLoading(false);
setShowAddBlankitems(true);
addBlankItemsForm.resetFields();
}
}, /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: "iconfont icon-tianjiafangda mr5 "
}), "\u65B0\u5EFA\u5C0F\u8282"), /*#__PURE__*/external_window_React_default.a.createElement(es_button["a" /* default */], {
size: "large",
className: "ml20",
ghost: true,
type: "primary",
onClick: function onClick() {
if (!data[editKey]['stage_id']) {
return es_message["b" /* default */].info('请先输入章节名称!');
}
if (!Object(verifyLogin["e" /* handleVerify */])(dispatch)) {
return;
}
if (!Object(verifyLogin["c" /* handleCanShixunAddModal */])()) {
return;
}
setConfirmLoading(false);
setShowAddShixun(true);
addForm.setFieldsValue({
name: '',
is_jupyter: false
});
}
}, /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: "iconfont icon-tianjiafangda mr5"
}), "\u65B0\u5EFA\u5B9E\u8DF5\u9879\u76EE"), /*#__PURE__*/external_window_React_default.a.createElement(es_button["a" /* default */], {
size: "large",
className: "ml20",
ghost: true,
type: "primary",
onClick: function onClick() {
var _val$shixuns_list;
if (!data[editKey]['stage_id']) {
return es_message["b" /* default */].info('请先输入章节名称!');
}
setScrollTop(document.documentElement.scrollTop);
dispatch({
type: 'classroomList/setActionTabs',
payload: {
key: '选用实践项目',
id: data[editKey]['stage_id'],
subject_id: params.pathId
}
});
setShixunIds(val === null || val === void 0 ? void 0 : (_val$shixuns_list = val.shixuns_list) === null || _val$shixuns_list === void 0 ? void 0 : _val$shixuns_list.map(function (item) {
return item.id;
}));
}
}, /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: "iconfont icon-tianjiafangda mr5"
}), "\u9009\u7528\u5B9E\u8DF5\u9879\u76EE"), !(globalSetting !== null && globalSetting !== void 0 && (_globalSetting$settin = globalSetting.setting) !== null && _globalSetting$settin !== void 0 && _globalSetting$settin.is_local) && /*#__PURE__*/external_window_React_default.a.createElement(external_window_React_default.a.Fragment, null, /*#__PURE__*/external_window_React_default.a.createElement(es_button["a" /* default */], {
size: "large",
className: " ml20",
ghost: true,
type: "primary",
onClick: function onClick() {
if (!data[editKey]['stage_id']) {
return es_message["b" /* default */].info('请先输入章节名称!');
}
setEditData('');
setVisibleVideoModal(true);
}
}, /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: "iconfont icon-tianjiafangda mr5 "
}), "\u65B0\u5EFA\u89C6\u9891\u9879\u76EE")), /*#__PURE__*/external_window_React_default.a.createElement(es_button["a" /* default */], {
size: "large",
className: "ml20",
ghost: true,
type: "primary",
onClick: function onClick() {
if (!data[editKey]['stage_id']) {
return es_message["b" /* default */].info('请先输入章节名称!');
}
if (!Object(verifyLogin["e" /* handleVerify */])(dispatch)) {
return;
} // if (!handleCanShixunAddModal()) {
// return;
// }
setEditData('');
setTagslist([]);
setConfirmLoading(false);
setShowAddCourseware(true);
addCoursewareForm.resetFields();
}
}, /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: "iconfont icon-tianjiafangda mr5 "
}), "\u65B0\u5EFA\u6559\u5B66\u8BFE\u4EF6"), /*#__PURE__*/external_window_React_default.a.createElement("br", null)), /*#__PURE__*/external_window_React_default.a.createElement("aside", {
className: "c-light-black mt10 pb20",
id: "Edit_".concat(key)
}, "\u6240\u6709\u9879\u76EE\u5747\u53EF\u4EE5\u901A\u8FC7\u62D6\u52A8\u6392\u5E8F\u6216\u5347\u964D\u7EA7\u3002", /*#__PURE__*/external_window_React_default.a.createElement("br", null), "\u65B0\u5EFA\u9879\u76EE\u540D\u79F0\u6307\u672C\u9879\u76EE\u4E0B\u6CA1\u6709\u5B9E\u8D28\u5185\u5BB9\uFF0C\u4EC5\u5C55\u793A\u540D\u79F0\uFF0C\u4E0D\u53EF\u70B9\u51FB\u3002")), /*#__PURE__*/external_window_React_default.a.createElement("aside", {
className: Stagemodules_default.a.shixuns
}, /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: ""
}, !!(val !== null && val !== void 0 && (_val$items = val.items) !== null && _val$items !== void 0 && _val$items.length) && /*#__PURE__*/external_window_React_default.a.createElement(Sort["a" /* default */], {
visibleType: visibleType,
data: Object(toConsumableArray["a" /* default */])(val.items),
stage_id: val.stage_id,
disabled: editKey === key ? false : true,
deleteStages: handleDeleteStage,
editVidoItem: handEditVidoItem,
updateSort: updateSort,
index: key,
cust_seq: !!(pathsDetail !== null && pathsDetail !== void 0 && (_pathsDetail$detail18 = pathsDetail.detail) !== null && _pathsDetail$detail18 !== void 0 && _pathsDetail$detail18.cust_seq),
showVideoPlay: ((_user$userInfo11 = user.userInfo) === null || _user$userInfo11 === void 0 ? void 0 : _user$userInfo11.admin) || ((_user$userInfo12 = user.userInfo) === null || _user$userInfo12 === void 0 ? void 0 : _user$userInfo12.business) || isSHow() // !(
// !pathsDetail.detail?.allow_statistics &&
// // (user.userInfo?.user_identity === '学生')&&
// pathsDetail.detail?.allow_visit &&
// pathsDetail.detail?.courses
// )}
}))), editKey === key && /*#__PURE__*/external_window_React_default.a.createElement("aside", {
className: Stagemodules_default.a.buttons
}, /*#__PURE__*/external_window_React_default.a.createElement(es_button["a" /* default */], {
onClick: handleCancel,
type: "primary",
size: "large",
ghost: true
}, "\u53D6\u6D88"), /*#__PURE__*/external_window_React_default.a.createElement(es_button["a" /* default */], {
onClick: /*#__PURE__*/Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee13() {
return regenerator_default.a.wrap(function _callee13$(_context13) {
while (1) {
switch (_context13.prev = _context13.next) {
case 0:
// await onFinish(form.getFieldsValue());
handleCancel();
case 1:
case "end":
return _context13.stop();
}
}
}, _callee13);
})),
size: "large",
type: "primary"
}, "\u4FDD\u5B58")));
};
return /*#__PURE__*/external_window_React_default.a.createElement("section", null, /*#__PURE__*/external_window_React_default.a.createElement(skeleton["a" /* default */], {
active: true,
paragraph: {
rows: 250
},
avatar: true,
className: "".concat(loading['pathsDetail/getStageData'] || loading['pathsDetail/getPathsDetail'] ? 'mt20' : ''),
loading: loading['pathsDetail/getStageData'] || loading['pathsDetail/getPathsDetail']
}, /*#__PURE__*/external_window_React_default.a.createElement("aside", {
className: Stagemodules_default.a.actionTabs
}, typeData.map(function (item, key) {
if (data !== null && data !== void 0 && data.some(function (val) {
var _val$stage_tag2;
return (_val$stage_tag2 = val.stage_tag) === null || _val$stage_tag2 === void 0 ? void 0 : _val$stage_tag2.includes(item.type);
}) || item.type == 'All' || item.type == 'Discusses' && item.number > 0) {
return /*#__PURE__*/external_window_React_default.a.createElement("div", {
key: key,
className: item.type === visibleType ? Stagemodules_default.a.tabActive : Stagemodules_default.a.tab,
onClick: function onClick() {
if (editKey === -1) {
setVisibleType(item.type);
setEditKey(-1);
} else {
es_message["b" /* default */].warn('请先取消编辑状态');
}
}
}, /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: Stagemodules_default.a.s1
}, item.name), /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: Stagemodules_default.a.s2
}, item.number));
}
})), visibleType !== 'Discusses' && /*#__PURE__*/external_window_React_default.a.createElement(external_window_React_default.a.Fragment, null, /*#__PURE__*/external_window_React_default.a.createElement(es_form["a" /* default */], {
form: form,
onFinish: onFinish
}, data === null || data === void 0 ? void 0 : data.map(function (val, key) {
return /*#__PURE__*/external_window_React_default.a.createElement("div", {
key: key
}, renderDom(val, key));
})), ((_pathsDetail$detail19 = pathsDetail.detail) === null || _pathsDetail$detail19 === void 0 ? void 0 : _pathsDetail$detail19.allow_statistics) && visibleType === 'All' && !isAdd &&
/*#__PURE__*/
// editKey === -1 &&
external_window_React_default.a.createElement("div", {
className: Stagemodules_default.a.addStage,
onClick: handleAddStage
}, /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: Stagemodules_default.a.color4CA
}, "+\u70B9\u51FB\u65B0\u5EFA\u9636\u6BB5"), "\uFF08\u6DFB\u52A0\u4E00\u4E2A\u6216\u591A\u4E2A\u5B9E\u8BAD/\u89C6\u9891\u9879\u76EE\uFF0C\u7EC4\u6210\u4E00\u4E2A\u9636\u6BB5\uFF09"))), visibleType === 'Discusses' && /*#__PURE__*/external_window_React_default.a.createElement("aside", {
className: "mt20"
}, /*#__PURE__*/external_window_React_default.a.createElement(Stage_Discuss, {
activeIndex: 3,
isDelete: (_pathsDetail$detail20 = pathsDetail.detail) === null || _pathsDetail$detail20 === void 0 ? void 0 : _pathsDetail$detail20.allow_add_member,
shixunIdentifier: 11,
identity: (_user$userInfo13 = user.userInfo) === null || _user$userInfo13 === void 0 ? void 0 : _user$userInfo13.role,
getTypeNumber: getTypeNumber,
user: user.userInfo,
isShixunDetail: true
})), /*#__PURE__*/external_window_React_default.a.createElement(modal["a" /* default */], {
centered: true,
title: "\u65B0\u5EFA\u5B9E\u8DF5\u9879\u76EE",
visible: showAddShixun,
confirmLoading: confirmLoading,
destroyOnClose: true,
onOk: /*#__PURE__*/Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee14() {
var res;
return regenerator_default.a.wrap(function _callee14$(_context14) {
while (1) {
switch (_context14.prev = _context14.next) {
case 0:
_context14.next = 2;
return addForm.validateFields();
case 2:
setConfirmLoading(true);
_context14.next = 5;
return Object(paths["O" /* satgeAddShixunToStage */])(Object(objectSpread2["a" /* default */])({
id: data[editKey]['stage_id'],
subject_id: params.pathId
}, addValue));
case 5:
res = _context14.sent;
handleAddShixunCancel();
if (res.id) {
addForm.resetFields();
es_message["b" /* default */].success('添加成功');
handleShixuns([res]);
}
setConfirmLoading(false);
case 9:
case "end":
return _context14.stop();
}
}
}, _callee14);
})),
onCancel: handleAddShixunCancel
}, /*#__PURE__*/external_window_React_default.a.createElement(es_form["a" /* default */], {
form: addForm,
onValuesChange: function onValuesChange(value) {
setAddValue(Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, addValue), value));
}
}, /*#__PURE__*/external_window_React_default.a.createElement(es_form["a" /* default */].Item, {
label: "\u7C7B\u578B",
name: "is_jupyter",
rules: [{
required: true,
message: '请选择类型'
}]
}, /*#__PURE__*/external_window_React_default.a.createElement(es_radio["a" /* default */].Group, null, /*#__PURE__*/external_window_React_default.a.createElement(es_radio["a" /* default */], {
defaultChecked: true,
value: false
}, "\u5168\u6808\u5B9E\u8DF5\u9879\u76EE"), /*#__PURE__*/external_window_React_default.a.createElement(es_radio["a" /* default */], {
value: true
}, "Jupyter Notebook\u5B9E\u8DF5\u9879\u76EE"))), /*#__PURE__*/external_window_React_default.a.createElement(es_form["a" /* default */].Item, {
label: "\u540D\u79F0",
name: "name",
rules: [{
required: true,
message: '请输入名称'
}]
}, /*#__PURE__*/external_window_React_default.a.createElement(input["a" /* default */], {
suffix: /*#__PURE__*/external_window_React_default.a.createElement("span", null, addValue.name.length, "/60")
})))), /*#__PURE__*/external_window_React_default.a.createElement(modal["a" /* default */], {
centered: true,
title: editData ? '编辑教学课件' : "新建教学课件",
visible: showAddCourseware,
confirmLoading: confirmLoading,
destroyOnClose: true,
onOk: /*#__PURE__*/Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee15() {
var value, error, errorMsg, res, _value$files$map, _res3;
return regenerator_default.a.wrap(function _callee15$(_context15) {
while (1) {
switch (_context15.prev = _context15.next) {
case 0:
_context15.next = 2;
return addCoursewareForm.validateFields();
case 2:
setConfirmLoading(true);
_context15.next = 5;
return addCoursewareForm.getFieldsValue();
case 5:
value = _context15.sent;
error = false, errorMsg = '';
value.files.forEach(function (list) {
if (!list.response || !list.response.id) {
error = true;
errorMsg = list.name;
}
});
if (!error) {
_context15.next = 11;
break;
}
es_message["b" /* default */].error("".concat(errorMsg, " \u6587\u4EF6\u4E0A\u4F20\u5931\u8D25\uFF0C\u8BF7\u91CD\u65B0\u4E0A\u4F20"));
return _context15.abrupt("return");
case 11:
if (editData) {
_context15.next = 18;
break;
}
_context15.next = 14;
return Object(paths["c" /* addCoursewareToStage */])({
id: data[editKey]['stage_id'],
subject_id: params.pathId,
tags: tagsList,
attachment_ids: value.files.map(function (item) {
return item.response.id;
})
});
case 14:
res = _context15.sent;
// handleAddShixunCancel();
if (res.status === 0) {
es_message["b" /* default */].success('修改成功');
setShowAddCourseware(false);
handleCoursewareShixuns(Object(toConsumableArray["a" /* default */])(res.items));
} else {}
_context15.next = 22;
break;
case 18:
_context15.next = 20;
return Object(paths["T" /* upCoursewareToStage */])({
id: editData === null || editData === void 0 ? void 0 : editData.id,
subject_id: params.pathId,
tags: tagsList,
attachment_id: (_value$files$map = value.files.map(function (item) {
return item.response.id;
})) === null || _value$files$map === void 0 ? void 0 : _value$files$map[0]
});
case 20:
_res3 = _context15.sent;
// handleAddShixunCancel();
if (_res3.status === 0) {
es_message["b" /* default */].success('修改成功');
setShowAddCourseware(false);
handleCoursewareShixuns(Object(toConsumableArray["a" /* default */])(_res3.items));
} else {}
case 22:
setConfirmLoading(false);
case 23:
case "end":
return _context15.stop();
}
}
}, _callee15);
})),
onCancel: function onCancel() {
setShowAddCourseware(false);
setTagslist([]);
setEditData('');
}
}, /*#__PURE__*/external_window_React_default.a.createElement(es_form["a" /* default */], {
form: addCoursewareForm
}, /*#__PURE__*/external_window_React_default.a.createElement(es_form["a" /* default */].Item, {
label: "\u8BFE\u4EF6\u5185\u5BB9",
name: "files",
rules: [{
required: true,
message: '请上传课件内容'
}]
}, /*#__PURE__*/external_window_React_default.a.createElement(MultiUpload["b" /* default */], {
aloneClear: true,
maxSize: Object(authority["v" /* isSuperAdmins */])() ? 500 : 100,
accept: appectMap.toString(),
number: editData ? 1 : 10
})), /*#__PURE__*/external_window_React_default.a.createElement(es_form["a" /* default */].Item, {
style: {
marginLeft: 8
},
label: "\u77E5\u8BC6\u6807\u7B7E",
name: "tag"
}, /*#__PURE__*/external_window_React_default.a.createElement(input["a" /* default */], {
onKeyUp: addTag
})), /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: Stagemodules_default.a['tagsList-content']
}, tagsList.map(function (item, index) {
return /*#__PURE__*/external_window_React_default.a.createElement(es_tag["a" /* default */], {
key: index + item,
closable: true,
onClose: function onClose(e) {
tagCloseFn(e, item);
}
}, item);
})), /*#__PURE__*/external_window_React_default.a.createElement("div", null, /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: "c-red"
}, "\u6CE8\u610F\uFF1A"), /*#__PURE__*/external_window_React_default.a.createElement("br", null), "1\u3001\u4E0A\u4F20\u8BFE\u4EF6\uFF0C\u5373\u8868\u793A\u60A8\u5DF2\u540C\u610F", /*#__PURE__*/external_window_React_default.a.createElement(react_router_dom["a" /* Link */], {
to: "/users/mmipb3zhj/videos/protocol",
target: "_blank"
}, "\u4E0A\u4F20\u5185\u5BB9\u534F\u8BAE"), "\uFF0C\u4E0D\u5F97\u4E0A\u4F20\u672A\u7ECF\u4ED6\u4EBA\u6388\u6743\u7684\u4F5C\u54C1\uFF1B", /*#__PURE__*/external_window_React_default.a.createElement("br", null), "2\u3001\u4E0D\u652F\u6301\u65AD\u70B9\u7EED\u4F20\uFF0C\u5355\u4E2A\u6587\u4EF6\u5927\u5C0F\u8BF7\u52FF\u8D85\u8FC7", Object(authority["v" /* isSuperAdmins */])() ? 500 : 100, "M\uFF1B", /*#__PURE__*/external_window_React_default.a.createElement("br", null), "3\u3001\u5F53\u524D\u4EC5\u9650\u652F\u6301pdf\u3001word\u3001excel\u3001ppt\u3001zip\u6587\u4EF6\uFF1B", /*#__PURE__*/external_window_React_default.a.createElement("br", null), "4\u3001\u6587\u4EF6\u540D\u5C06\u88AB\u81EA\u52A8\u8BFB\u53D6\u4E3A\u7CFB\u7EDF\u5185\u8BE5\u8BFE\u4EF6\u7684\u540D\u79F0\uFF0C\u4E0A\u4F20\u524D\u8BF7\u6CE8\u610F\u8FD9\u4E00\u70B9\uFF1B", /*#__PURE__*/external_window_React_default.a.createElement("br", null), "5\u3001\u4E00\u6B21\u6700\u591A\u4E0A\u4F2010\u4E2A\u6587\u4EF6\u3002"))), /*#__PURE__*/external_window_React_default.a.createElement(modal["a" /* default */], {
centered: true,
title: "\u65B0\u5EFA\u5C0F\u8282\u540D\u79F0",
visible: showAddBlankItems,
confirmLoading: confirmLoading,
onOk: /*#__PURE__*/Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee16() {
var value, res;
return regenerator_default.a.wrap(function _callee16$(_context16) {
while (1) {
switch (_context16.prev = _context16.next) {
case 0:
_context16.next = 2;
return addBlankItemsForm.validateFields();
case 2:
setConfirmLoading(true);
_context16.next = 5;
return addBlankItemsForm.getFieldsValue();
case 5:
value = _context16.sent;
_context16.next = 8;
return Object(paths["a" /* addBlankItems */])({
id: data[editKey]['stage_id'],
subject_id: params.pathId,
name: value.name
});
case 8:
res = _context16.sent;
// handleAddShixunCancel();
if (res.status === 0) {
es_message["b" /* default */].success('添加成功');
setShowAddBlankitems(false);
handleBlankItems(Object(objectSpread2["a" /* default */])({}, res));
} else {}
setConfirmLoading(false);
case 11:
case "end":
return _context16.stop();
}
}
}, _callee16);
})),
onCancel: function onCancel() {
return setShowAddBlankitems(false);
}
}, /*#__PURE__*/external_window_React_default.a.createElement(es_form["a" /* default */], {
form: addBlankItemsForm
}, /*#__PURE__*/external_window_React_default.a.createElement(es_form["a" /* default */].Item, {
label: "",
name: "name",
rules: [{
required: true,
message: '请输入不超过40字的小节名称'
}]
}, /*#__PURE__*/external_window_React_default.a.createElement(input["a" /* default */], {
maxLength: 40,
placeholder: "\u8BF7\u8F93\u5165\u4E0D\u8D85\u8FC740\u5B57\u7684\u5C0F\u8282\u540D\u79F0"
})))), /*#__PURE__*/external_window_React_default.a.createElement(SelectShixuns, {
shixunIds: shixunIds,
cb: handleShixuns
}), /*#__PURE__*/external_window_React_default.a.createElement(AddVideoModal["a" /* default */], {
visible: visibleVideoModal,
editData: editData,
onCancel: function onCancel() {
return setVisibleVideoModal(false);
},
onOk: handleAddVideoOk
}));
};
/* harmony default export */ var components_Stage = (Object(umiExports["a" /* connect */])(function (_ref13) {
var pathsDetail = _ref13.pathsDetail,
user = _ref13.user,
loading = _ref13.loading,
globalSetting = _ref13.globalSetting;
return {
pathsDetail: pathsDetail,
user: user,
globalSetting: globalSetting,
loading: loading.effects
};
})(Stage_Stage));
// EXTERNAL MODULE: ./src/pages/Paths/Detail/components/Stage/Certificate/index.less?modules
var Certificatemodules = __webpack_require__("uRQ9");
var Certificatemodules_default = /*#__PURE__*/__webpack_require__.n(Certificatemodules);
// CONCATENATED MODULE: ./src/pages/Paths/Detail/components/Stage/Certificate/index.tsx
var Certificate_Certificate = function Certificate(_ref) {
var user = _ref.user,
props = Object(objectWithoutProperties["a" /* default */])(_ref, ["user"]);
var _useState = Object(external_window_React_["useState"])([]),
_useState2 = Object(slicedToArray["a" /* default */])(_useState, 2),
list = _useState2[0],
setList = _useState2[1];
var _useState3 = Object(external_window_React_["useState"])(true),
_useState4 = Object(slicedToArray["a" /* default */])(_useState3, 2),
loading = _useState4[0],
setLoading = _useState4[1];
var _useState5 = Object(external_window_React_["useState"])(false),
_useState6 = Object(slicedToArray["a" /* default */])(_useState5, 2),
visible = _useState6[0],
setVisible = _useState6[1];
var _useState7 = Object(external_window_React_["useState"])(false),
_useState8 = Object(slicedToArray["a" /* default */])(_useState7, 2),
isPassState = _useState8[0],
setIsPassState = _useState8[1];
var _useState9 = Object(external_window_React_["useState"])(0),
_useState10 = Object(slicedToArray["a" /* default */])(_useState9, 2),
total = _useState10[0],
setTotal = _useState10[1];
var _useState11 = Object(external_window_React_["useState"])({}),
_useState12 = Object(slicedToArray["a" /* default */])(_useState11, 2),
data = _useState12[0],
setData = _useState12[1];
var urlParams = Object(react_router["i" /* useParams */])();
var _useState13 = Object(external_window_React_["useState"])({
page: 1,
limit: 10
}),
_useState14 = Object(slicedToArray["a" /* default */])(_useState13, 2),
params = _useState14[0],
setParams = _useState14[1];
var columns = [{
title: '姓名',
dataIndex: 'user_name',
key: 'user_name',
align: 'left'
}, {
title: '申请时间',
dataIndex: 'created_at',
key: 'created_at',
align: 'left'
}, {
title: '申请状态',
dataIndex: 'state',
key: 'state',
align: 'left',
render: function render(v, record) {
return /*#__PURE__*/external_window_React_default.a.createElement(external_window_React_default.a.Fragment, null, (record === null || record === void 0 ? void 0 : record.state) === 'drafted' && /*#__PURE__*/external_window_React_default.a.createElement("span", null, "\u7533\u8BF7\u4E2D"), (record === null || record === void 0 ? void 0 : record.state) === 'rejected' && /*#__PURE__*/external_window_React_default.a.createElement("span", {
style: {
color: '#E53333'
}
}, "\u672A\u901A\u8FC7"), (record === null || record === void 0 ? void 0 : record.state) === 'passed' && /*#__PURE__*/external_window_React_default.a.createElement("span", {
style: {
color: '#2FA34F'
}
}, "\u901A\u8FC7"));
}
}, {
title: '学习进度',
dataIndex: 'process',
key: 'process',
align: 'left',
render: function render(v) {
return "".concat(v, "%");
}
}, {
title: '审批操作',
dataIndex: 'action',
key: 'action',
align: 'left',
render: function render(v, record) {
return /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: Certificatemodules_default.a.actionsBtns
}, (record === null || record === void 0 ? void 0 : record.state) === 'drafted' && /*#__PURE__*/external_window_React_default.a.createElement("span", {
onClick: function onClick() {
return handleAgree(record);
}
}, "\u540C\u610F"), (record === null || record === void 0 ? void 0 : record.state) === 'drafted' && /*#__PURE__*/external_window_React_default.a.createElement("span", {
onClick: function onClick() {
return handleReject(record);
}
}, "\u62D2\u7EDD"), (record === null || record === void 0 ? void 0 : record.state) === 'rejected' && /*#__PURE__*/external_window_React_default.a.createElement("span", {
onClick: function onClick() {
return handleRejectReason(record);
}
}, "\u62D2\u7EDD\u539F\u56E0"), (record === null || record === void 0 ? void 0 : record.state) === 'passed' && /*#__PURE__*/external_window_React_default.a.createElement("span", {
onClick: function onClick() {
return handleLook(record);
}
}, "\u67E5\u770B\u8BC1\u4E66"));
}
}].filter(function (item) {
return isPassState ? true : item.title !== '学习进度' && item.title !== '审批操作';
});
Object(external_window_React_["useEffect"])(function () {
getData(params);
}, [params]);
var handleAgree = /*#__PURE__*/function () {
var _ref2 = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee(v) {
var result;
return regenerator_default.a.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return Object(fetch["a" /* default */])("/api/paths/".concat(urlParams === null || urlParams === void 0 ? void 0 : urlParams.pathId, "/process_certificate.json"), {
method: 'post',
body: {
certificate_id: v === null || v === void 0 ? void 0 : v.id,
op: 'pass'
}
});
case 2:
result = _context.sent;
if ((result === null || result === void 0 ? void 0 : result.status) === 0) {
// message.success('提交成功');
getData(params);
}
case 4:
case "end":
return _context.stop();
}
}
}, _callee);
}));
return function handleAgree(_x) {
return _ref2.apply(this, arguments);
};
}();
var handleReject = function handleReject(v) {
var value = '';
modal["a" /* default */].confirm({
title: '证书申请拒绝',
icon: null,
className: "custom-modal-divider",
centered: true,
width: 400,
content: /*#__PURE__*/external_window_React_default.a.createElement("div", null, /*#__PURE__*/external_window_React_default.a.createElement("p", null, "\u62D2\u7EDD\u8BC1\u4E66\u53D1\u653E\u9700\u586B\u5199\u62D2\u7EDD\u539F\u56E0\u3002"), /*#__PURE__*/external_window_React_default.a.createElement("aside", {
className: "flex-container"
}, /*#__PURE__*/external_window_React_default.a.createElement("sup", {
className: "c-red-ee4"
}, "*"), /*#__PURE__*/external_window_React_default.a.createElement("span", null, "\u62D2\u7EDD\u539F\u56E0:"), /*#__PURE__*/external_window_React_default.a.createElement(input["a" /* default */], {
maxLength: 30,
style: {
width: 284,
marginLeft: 10
},
onChange: function onChange(e) {
return value = e.target.value;
}
}))),
okText: "确定拒绝",
cancelText: '取消',
onOk: function () {
var _onOk = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee2() {
var result;
return regenerator_default.a.wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
if (value) {
_context2.next = 3;
break;
}
es_message["b" /* default */].warn('拒绝理由不能为空');
return _context2.abrupt("return", Promise.reject());
case 3:
_context2.next = 5;
return Object(fetch["a" /* default */])("/api/paths/".concat(urlParams === null || urlParams === void 0 ? void 0 : urlParams.pathId, "/process_certificate.json"), {
method: 'post',
body: {
certificate_id: v === null || v === void 0 ? void 0 : v.id,
op: 'reject',
content: value
}
});
case 5:
result = _context2.sent;
if ((result === null || result === void 0 ? void 0 : result.status) === 0) {
// message.success('提交成功');
getData(params);
}
case 7:
case "end":
return _context2.stop();
}
}
}, _callee2);
}));
function onOk() {
return _onOk.apply(this, arguments);
}
return onOk;
}()
});
};
var handleRejectReason = function handleRejectReason(v) {
modal["a" /* default */].info({
title: '拒绝原因',
icon: null,
className: "custom-modal-divider",
centered: true,
width: 400,
content: /*#__PURE__*/external_window_React_default.a.createElement("div", null, v === null || v === void 0 ? void 0 : v.content),
okText: "确定"
});
};
var handleLook = function handleLook(v) {
setData((v === null || v === void 0 ? void 0 : v.info) || {});
setVisible(true);
};
var getData = /*#__PURE__*/function () {
var _ref3 = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee3(record) {
var res;
return regenerator_default.a.wrap(function _callee3$(_context3) {
while (1) {
switch (_context3.prev = _context3.next) {
case 0:
setLoading(true);
_context3.next = 3;
return Object(fetch["a" /* default */])("/api/paths/".concat(urlParams === null || urlParams === void 0 ? void 0 : urlParams.pathId, "/request_certificates.json"), {
method: "get",
params: record
});
case 3:
res = _context3.sent;
if (res !== null && res !== void 0 && res.data) {
setList(res === null || res === void 0 ? void 0 : res.data);
setTotal((res === null || res === void 0 ? void 0 : res.total_count) || 0);
setIsPassState(res === null || res === void 0 ? void 0 : res.is_manage);
}
setLoading(false);
case 6:
case "end":
return _context3.stop();
}
}
}, _callee3);
}));
return function getData(_x2) {
return _ref3.apply(this, arguments);
};
}();
var handleChangePage = function handleChangePage(page, limit) {
var newParams = Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, params), {}, {
page: page,
limit: limit
});
setParams(newParams);
getData(newParams);
};
return /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: Certificatemodules_default.a.certificate
}, /*#__PURE__*/external_window_React_default.a.createElement(table["a" /* default */], {
dataSource: list,
rowKey: function rowKey(v) {
return v.id;
},
columns: columns,
loading: loading,
pagination: {
pageSize: params.limit,
total: total,
current: params.page,
onChange: handleChangePage,
showQuickJumper: true,
hideOnSinglePage: true,
position: ["bottomCenter"]
}
}), /*#__PURE__*/external_window_React_default.a.createElement(components_CertificateModal, {
visible: visible,
onCancel: function onCancel() {
setVisible(false);
setData({});
},
data: data
}));
};
/* harmony default export */ var Stage_Certificate = (Object(umiExports["a" /* connect */])(function (_ref4) {
var user = _ref4.user,
pathsDetail = _ref4.pathsDetail;
return {
user: user,
pathsDetail: pathsDetail
};
})(Certificate_Certificate));
// CONCATENATED MODULE: ./src/pages/Paths/Detail/components/Stage/Ranking.tsx
moment_default.a.locale('ZH-cn');
var TabPane = tabs["a" /* default */].TabPane;
var Ranking_StudentItems = function StudentItems(_ref) {
var data = _ref.data;
var _useState = Object(external_window_React_["useState"])('1'),
_useState2 = Object(slicedToArray["a" /* default */])(_useState, 2),
activitykey = _useState2[0],
setActivitykey = _useState2[1];
var _useState3 = Object(external_window_React_["useState"])(1),
_useState4 = Object(slicedToArray["a" /* default */])(_useState3, 2),
page = _useState4[0],
setpage = _useState4[1];
var _useState5 = Object(external_window_React_["useState"])(),
_useState6 = Object(slicedToArray["a" /* default */])(_useState5, 2),
datas = _useState6[0],
setDatas = _useState6[1];
var _useState7 = Object(external_window_React_["useState"])(true),
_useState8 = Object(slicedToArray["a" /* default */])(_useState7, 2),
isloading = _useState8[0],
setIsloading = _useState8[1];
var params = Object(react_router["i" /* useParams */])();
function getData() {
return _getData.apply(this, arguments);
}
function _getData() {
_getData = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee() {
var url, result;
return regenerator_default.a.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
setIsloading(true);
if (activitykey === '1') {
url = "/api/paths/".concat(params.pathId, "/study_ranking_shixuns_passed.json");
} else if (activitykey === '2') {
url = "/api/paths/".concat(params.pathId, "/study_ranking_videos.json");
} else if (activitykey === '3') {
url = "/api/paths/".concat(params.pathId, "/study_ranking_pdf_attachments.json");
} else if (activitykey === '4') {
url = "/api/paths/".concat(params.pathId, "/study_ranking_discusses.json");
}
_context.next = 4;
return Object(fetch["a" /* default */])(url, {
method: 'get',
params: {
page: page
}
});
case 4:
result = _context.sent;
setIsloading(false);
setDatas(result);
case 7:
case "end":
return _context.stop();
}
}
}, _callee);
}));
return _getData.apply(this, arguments);
}
Object(external_window_React_["useEffect"])(function () {
getData();
}, [page, activitykey]);
var RandomTab = function RandomTab() {
var _datas$data_user, _datas$data_user2, _datas$data_user3, _datas$data_user4, _datas$data_user5, _datas$data_user6, _datas$data_user7, _datas$data_user8, _datas$data_user9, _datas$data_user10, _datas$data_user11, _datas$data, _datas$data2;
return /*#__PURE__*/external_window_React_default.a.createElement(external_window_React_default.a.Fragment, null, /*#__PURE__*/external_window_React_default.a.createElement(spin["a" /* default */], {
spinning: isloading
}, /*#__PURE__*/external_window_React_default.a.createElement("div", {
style: {
height: '42px',
background: '#fafafa',
display: 'flex',
padding: '0px 5px',
alignItems: 'center'
}
}, /*#__PURE__*/external_window_React_default.a.createElement("span", {
style: {
flex: '1'
}
}, "\u6392\u540D"), /*#__PURE__*/external_window_React_default.a.createElement("span", {
style: {
flex: '1'
}
}, "\u59D3\u540D"), activitykey === '1' && /*#__PURE__*/external_window_React_default.a.createElement("span", {
style: {
flex: '3'
}
}, "\u901A\u8FC7\u5173\u5361\u6570"), activitykey === '2' && /*#__PURE__*/external_window_React_default.a.createElement("span", {
style: {
flex: '3'
}
}, "\u7D2F\u8BA1\u5B66\u4E60\u65F6\u957F"), activitykey === '3' && /*#__PURE__*/external_window_React_default.a.createElement("span", {
style: {
flex: '3'
}
}, "\u4E0B\u8F7D\u8D44\u6E90\u6B21\u6570"), activitykey === '4' && /*#__PURE__*/external_window_React_default.a.createElement("span", {
style: {
flex: '3'
}
}, "\u53D1\u5E16\u6570")), (datas === null || datas === void 0 ? void 0 : datas.user_show) && /*#__PURE__*/external_window_React_default.a.createElement("div", {
style: {
height: '42px',
display: 'flex',
padding: '0px 5px',
alignItems: 'center'
}
}, /*#__PURE__*/external_window_React_default.a.createElement("span", {
style: {
flex: '1'
}
}, (datas === null || datas === void 0 ? void 0 : (_datas$data_user = datas.data_user) === null || _datas$data_user === void 0 ? void 0 : _datas$data_user.rank) === 0 && (datas === null || datas === void 0 ? void 0 : (_datas$data_user2 = datas.data_user) === null || _datas$data_user2 === void 0 ? void 0 : _datas$data_user2.num) === 0 ? '--' : (datas === null || datas === void 0 ? void 0 : (_datas$data_user3 = datas.data_user) === null || _datas$data_user3 === void 0 ? void 0 : _datas$data_user3.rank) <= 100 && (datas === null || datas === void 0 ? void 0 : (_datas$data_user4 = datas.data_user) === null || _datas$data_user4 === void 0 ? void 0 : _datas$data_user4.rank) != 0 ? datas === null || datas === void 0 ? void 0 : (_datas$data_user5 = datas.data_user) === null || _datas$data_user5 === void 0 ? void 0 : _datas$data_user5.rank : '未上榜'), /*#__PURE__*/external_window_React_default.a.createElement("span", {
style: {
flex: '1'
}
}, datas === null || datas === void 0 ? void 0 : (_datas$data_user6 = datas.data_user) === null || _datas$data_user6 === void 0 ? void 0 : _datas$data_user6.user_real_name), activitykey === '1' && /*#__PURE__*/external_window_React_default.a.createElement("span", {
style: {
flex: '3'
}
}, (datas === null || datas === void 0 ? void 0 : (_datas$data_user7 = datas.data_user) === null || _datas$data_user7 === void 0 ? void 0 : _datas$data_user7.num) || '--'), activitykey === '2' && /*#__PURE__*/external_window_React_default.a.createElement("span", {
style: {
flex: '3'
}
}, datas !== null && datas !== void 0 && (_datas$data_user8 = datas.data_user) !== null && _datas$data_user8 !== void 0 && _datas$data_user8.num ? Object(util["Z" /* toTimeFormat */])(datas === null || datas === void 0 ? void 0 : (_datas$data_user9 = datas.data_user) === null || _datas$data_user9 === void 0 ? void 0 : _datas$data_user9.num) : '--'), activitykey === '3' && /*#__PURE__*/external_window_React_default.a.createElement("span", {
style: {
flex: '3'
}
}, (datas === null || datas === void 0 ? void 0 : (_datas$data_user10 = datas.data_user) === null || _datas$data_user10 === void 0 ? void 0 : _datas$data_user10.num) || '--'), activitykey === '4' && /*#__PURE__*/external_window_React_default.a.createElement("span", {
style: {
flex: '3'
}
}, (datas === null || datas === void 0 ? void 0 : (_datas$data_user11 = datas.data_user) === null || _datas$data_user11 === void 0 ? void 0 : _datas$data_user11.num) || '--')), (datas === null || datas === void 0 ? void 0 : datas.user_show) && /*#__PURE__*/external_window_React_default.a.createElement(divider["a" /* default */], null), (datas === null || datas === void 0 ? void 0 : (_datas$data = datas.data) === null || _datas$data === void 0 ? void 0 : _datas$data.length) > 0 ? datas === null || datas === void 0 ? void 0 : (_datas$data2 = datas.data) === null || _datas$data2 === void 0 ? void 0 : _datas$data2.map(function (item, index) {
return /*#__PURE__*/external_window_React_default.a.createElement("div", {
style: {
height: '42px',
display: 'flex',
padding: '0px 5px',
alignItems: 'center'
}
}, (item === null || item === void 0 ? void 0 : item.rank) === 1 && /*#__PURE__*/external_window_React_default.a.createElement("span", {
style: {
flex: '1',
color: '#E02020'
}
}, item === null || item === void 0 ? void 0 : item.rank), (item === null || item === void 0 ? void 0 : item.rank) === 2 && /*#__PURE__*/external_window_React_default.a.createElement("span", {
style: {
flex: '1',
color: '#FA6400'
}
}, item === null || item === void 0 ? void 0 : item.rank), (item === null || item === void 0 ? void 0 : item.rank) === 3 && /*#__PURE__*/external_window_React_default.a.createElement("span", {
style: {
flex: '1',
color: '#F7B500'
}
}, item === null || item === void 0 ? void 0 : item.rank), (item === null || item === void 0 ? void 0 : item.rank) > 3 && /*#__PURE__*/external_window_React_default.a.createElement("span", {
style: {
flex: '1'
}
}, item === null || item === void 0 ? void 0 : item.rank), /*#__PURE__*/external_window_React_default.a.createElement("span", {
style: {
flex: '1'
}
}, item === null || item === void 0 ? void 0 : item.user_real_name), activitykey === '1' && /*#__PURE__*/external_window_React_default.a.createElement("span", {
style: {
flex: '3'
}
}, item === null || item === void 0 ? void 0 : item.num), activitykey === '2' && /*#__PURE__*/external_window_React_default.a.createElement("span", {
style: {
flex: '3'
}
}, Object(util["Z" /* toTimeFormat */])(item === null || item === void 0 ? void 0 : item.num)), activitykey === '3' && /*#__PURE__*/external_window_React_default.a.createElement("span", {
style: {
flex: '3'
}
}, item === null || item === void 0 ? void 0 : item.num), activitykey === '4' && /*#__PURE__*/external_window_React_default.a.createElement("span", {
style: {
flex: '3'
}
}, item === null || item === void 0 ? void 0 : item.num));
}) : /*#__PURE__*/external_window_React_default.a.createElement(NoData["a" /* default */], null), (datas === null || datas === void 0 ? void 0 : datas.count) > 10 && /*#__PURE__*/external_window_React_default.a.createElement(pagination["a" /* default */], {
current: page,
pageSize: 10 // showQuickJumper={false}
,
showSizeChanger: false,
total: datas === null || datas === void 0 ? void 0 : datas.count,
style: {
textAlign: 'center',
margin: '20px 0px'
},
onChange: function onChange(page) {
setpage(page);
}
})));
};
return /*#__PURE__*/external_window_React_default.a.createElement("div", null, /*#__PURE__*/external_window_React_default.a.createElement(tabs["a" /* default */], {
activeKey: activitykey,
style: {
background: '#fff',
padding: '0px 20px'
},
onChange: function onChange(e) {
setActivitykey(e);
setpage(1);
}
}, /*#__PURE__*/external_window_React_default.a.createElement(TabPane, {
tab: "\u901A\u5173\u699C",
style: {
background: '#fff'
},
key: "1"
}, /*#__PURE__*/external_window_React_default.a.createElement(RandomTab, null)), /*#__PURE__*/external_window_React_default.a.createElement(TabPane, {
tab: "\u89C6\u9891\u5B66\u4E60\u699C",
key: "2"
}, /*#__PURE__*/external_window_React_default.a.createElement(RandomTab, null)), /*#__PURE__*/external_window_React_default.a.createElement(TabPane, {
tab: "\u4E0B\u8F7D\u8D44\u6E90\u699C",
key: "3"
}, /*#__PURE__*/external_window_React_default.a.createElement(RandomTab, null)), /*#__PURE__*/external_window_React_default.a.createElement(TabPane, {
tab: "\u4E92\u52A8\u8BA8\u8BBA\u699C",
key: "4"
}, /*#__PURE__*/external_window_React_default.a.createElement(RandomTab, null))));
};
// EXTERNAL MODULE: ./src/pages/Paths/Detail/index.less?modules
var Detailmodules = __webpack_require__("XzQ7");
var Detailmodules_default = /*#__PURE__*/__webpack_require__.n(Detailmodules);
// EXTERNAL MODULE: ./src/assets/images/kcjs.png
var kcjs = __webpack_require__("ho57");
var kcjs_default = /*#__PURE__*/__webpack_require__.n(kcjs);
// CONCATENATED MODULE: ./src/pages/Paths/Detail/[id].tsx
var _id_TabPane = tabs["a" /* default */].TabPane;
function _id_onPreviewImage(e) {
var parentIndexOf = function parentIndexOf(node, parent) {
if (node.localName === parent) {
return node;
}
for (var i = 0, n = node; n = n.parentNode; i++) {
if (n.localName === parent) {
return n;
}
if (n == document.documentElement) {
return false;
} //找不到目标父节点,防止死循环
}
};
var t = e.target;
var dom = parentIndexOf(t, 'a');
console.log([dom], dom === null || dom === void 0 ? void 0 : dom.href, 44);
if (dom !== null && dom !== void 0 && dom.href) return;
if (t.tagName.toUpperCase() === 'IMG') {
var url = t.src || t.getAttribute('src');
if (url && url.indexOf('/images/avatars/User') === -1) {
e.stopPropagation();
e.preventDefault();
mediator["a" /* default */].publish('preview-image', url);
}
}
}
var _id_PathsDetailPage = function PathsDetailPage(_ref) {
var _pathsDetail$detail3, _pathsDetail$detail4;
var pathsDetail = _ref.pathsDetail,
globalSetting = _ref.globalSetting,
loading = _ref.loading,
dispatch = _ref.dispatch,
props = Object(objectWithoutProperties["a" /* default */])(_ref, ["pathsDetail", "globalSetting", "loading", "dispatch"]);
var params = Object(react_router["i" /* useParams */])();
var query = props.location.query;
var contentEl = Object(external_window_React_["useRef"])();
var _useState = Object(external_window_React_["useState"])('stage'),
_useState2 = Object(slicedToArray["a" /* default */])(_useState, 2),
activeKey = _useState2[0],
setActiveKey = _useState2[1];
var keys = [{
name: '课程章节',
key: 'stage'
}, {
name: '排行榜',
key: 'ranking'
}, {
name: '证书申请',
key: 'certificate'
}].filter(function (item) {
var _pathsDetail$detail;
if ((_pathsDetail$detail = pathsDetail.detail) !== null && _pathsDetail$detail !== void 0 && _pathsDetail$detail.excellent) {
return true;
}
return item.key !== 'certificate';
});
Object(external_window_React_["useEffect"])(function () {
if (contentEl.current) {
contentEl.current.addEventListener('mousedown', _id_onPreviewImage);
return function () {
contentEl.current.removeEventListener('mousedown', _id_onPreviewImage);
};
}
}, [contentEl.current]);
Object(external_window_React_["useEffect"])(function () {
if (!params.pathId) {
return;
}
getData();
}, [params.pathId]);
Object(external_window_React_["useEffect"])(function () {
var _pathsDetail$detail2;
Object(util["V" /* setDocumentTitle */])((_pathsDetail$detail2 = pathsDetail.detail) === null || _pathsDetail$detail2 === void 0 ? void 0 : _pathsDetail$detail2.name);
}, [pathsDetail]);
var getData = /*#__PURE__*/function () {
var _ref2 = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee() {
var res;
return regenerator_default.a.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return dispatch({
type: 'pathsDetail/getPathsDetail',
payload: Object(objectSpread2["a" /* default */])({
id: params.pathId
}, query)
});
case 2:
res = _context.sent;
dispatch({
type: 'pathsDetail/getRightData',
payload: {
id: params.pathId
}
});
dispatch({
type: 'pathsDetail/getStageData',
payload: {
subject_id: params.pathId
}
});
if (res !== null && res !== void 0 && res.id && query.token) {
location.href = location.pathname;
}
case 6:
case "end":
return _context.stop();
}
}
}, _callee);
}));
return function getData() {
return _ref2.apply(this, arguments);
};
}();
return /*#__PURE__*/external_window_React_default.a.createElement(spin["a" /* default */], {
spinning: false
}, /*#__PURE__*/external_window_React_default.a.createElement("section", {
className: Detailmodules_default.a.bg
}, /*#__PURE__*/external_window_React_default.a.createElement(components_Banner, null), /*#__PURE__*/external_window_React_default.a.createElement(image_preview["a" /* default */], null), /*#__PURE__*/external_window_React_default.a.createElement("section", {
style: {
marginTop: ((_pathsDetail$detail3 = pathsDetail.detail) === null || _pathsDetail$detail3 === void 0 ? void 0 : _pathsDetail$detail3.excellent) && '89px'
},
className: "edu-container mb80 ".concat(Detailmodules_default.a.wrap)
}, /*#__PURE__*/external_window_React_default.a.createElement("aside", {
className: Detailmodules_default.a.content
}, /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: Detailmodules_default.a.intro
}, /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: Detailmodules_default.a.introTitle
}, /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: "font16",
style: {
display: 'flex',
alignItems: 'center'
}
}, /*#__PURE__*/external_window_React_default.a.createElement("img", {
src: kcjs_default.a,
style: {
marginRight: '10px'
}
}), "\u8BFE\u7A0B\u4ECB\u7ECD")), /*#__PURE__*/external_window_React_default.a.createElement("div", {
ref: contentEl
}, /*#__PURE__*/external_window_React_default.a.createElement(RenderHtml["a" /* default */], {
value: (_pathsDetail$detail4 = pathsDetail.detail) === null || _pathsDetail$detail4 === void 0 ? void 0 : _pathsDetail$detail4.description
}))), /*#__PURE__*/external_window_React_default.a.createElement(tabs["a" /* default */], {
className: Detailmodules_default.a.wrapTabs,
activeKey: activeKey,
onChange: function onChange(key) {
return setActiveKey(key);
},
tabBarGutter: 50,
tabBarStyle: {
height: 76
}
}, keys.map(function (e) {
return /*#__PURE__*/external_window_React_default.a.createElement(_id_TabPane, {
tab: e.name,
key: e.key
});
})), activeKey === 'stage' && /*#__PURE__*/external_window_React_default.a.createElement(components_Stage, null), activeKey === 'ranking' && /*#__PURE__*/external_window_React_default.a.createElement(Ranking_StudentItems, null), activeKey === 'certificate' && /*#__PURE__*/external_window_React_default.a.createElement(Stage_Certificate, null)), /*#__PURE__*/external_window_React_default.a.createElement(components_Right, null))));
};
/* harmony default export */ var _id_ = __webpack_exports__["default"] = (Object(umiExports["a" /* connect */])(function (_ref3) {
var pathsDetail = _ref3.pathsDetail,
loading = _ref3.loading,
globalSetting = _ref3.globalSetting;
return {
pathsDetail: pathsDetail,
globalSetting: globalSetting,
loading: loading
};
})(_id_PathsDetailPage));
/***/ }),
/***/ "Aky1":
/*!***********************************!*\
!*** ./src/utils/aliyunUpload.ts ***!
\***********************************/
/*! exports provided: getUploader */
/*! exports used: getUploader */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getUploader; });
/* harmony import */ var _utils_fetch__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/utils/fetch */ "ErOA");
/* harmony import */ var aliyun_vod_upload_ll__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! aliyun-vod-upload-ll */ "ppsT");
/* 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.a.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)+'-'
Object(_utils_fetch__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(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");
Object(_utils_fetch__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(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");
Object(_utils_fetch__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(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); // }
}
/***/ }),
/***/ "BPZU":
/*!**************************************************!*\
!*** ./node_modules/zrender/lib/core/timsort.js ***!
\**************************************************/
/*! no static exports found */
/*! all exports used */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports) {
// https://github.com/mziccard/node-timsort
var DEFAULT_MIN_MERGE = 32;
var DEFAULT_MIN_GALLOPING = 7;
var DEFAULT_TMP_STORAGE_LENGTH = 256;
function minRunLength(n) {
var r = 0;
while (n >= DEFAULT_MIN_MERGE) {
r |= n & 1;
n >>= 1;
}
return n + r;
}
function makeAscendingRun(array, lo, hi, compare) {
var runHi = lo + 1;
if (runHi === hi) {
return 1;
}
if (compare(array[runHi++], array[lo]) < 0) {
while (runHi < hi && compare(array[runHi], array[runHi - 1]) < 0) {
runHi++;
}
reverseRun(array, lo, runHi);
} else {
while (runHi < hi && compare(array[runHi], array[runHi - 1]) >= 0) {
runHi++;
}
}
return runHi - lo;
}
function reverseRun(array, lo, hi) {
hi--;
while (lo < hi) {
var t = array[lo];
array[lo++] = array[hi];
array[hi--] = t;
}
}
function binaryInsertionSort(array, lo, hi, start, compare) {
if (start === lo) {
start++;
}
for (; start < hi; start++) {
var pivot = array[start];
var left = lo;
var right = start;
var mid;
while (left < right) {
mid = left + right >>> 1;
if (compare(pivot, array[mid]) < 0) {
right = mid;
} else {
left = mid + 1;
}
}
var n = start - left;
switch (n) {
case 3:
array[left + 3] = array[left + 2];
case 2:
array[left + 2] = array[left + 1];
case 1:
array[left + 1] = array[left];
break;
default:
while (n > 0) {
array[left + n] = array[left + n - 1];
n--;
}
}
array[left] = pivot;
}
}
function gallopLeft(value, array, start, length, hint, compare) {
var lastOffset = 0;
var maxOffset = 0;
var offset = 1;
if (compare(value, array[start + hint]) > 0) {
maxOffset = length - hint;
while (offset < maxOffset && compare(value, array[start + hint + offset]) > 0) {
lastOffset = offset;
offset = (offset << 1) + 1;
if (offset <= 0) {
offset = maxOffset;
}
}
if (offset > maxOffset) {
offset = maxOffset;
}
lastOffset += hint;
offset += hint;
} else {
maxOffset = hint + 1;
while (offset < maxOffset && compare(value, array[start + hint - offset]) <= 0) {
lastOffset = offset;
offset = (offset << 1) + 1;
if (offset <= 0) {
offset = maxOffset;
}
}
if (offset > maxOffset) {
offset = maxOffset;
}
var tmp = lastOffset;
lastOffset = hint - offset;
offset = hint - tmp;
}
lastOffset++;
while (lastOffset < offset) {
var m = lastOffset + (offset - lastOffset >>> 1);
if (compare(value, array[start + m]) > 0) {
lastOffset = m + 1;
} else {
offset = m;
}
}
return offset;
}
function gallopRight(value, array, start, length, hint, compare) {
var lastOffset = 0;
var maxOffset = 0;
var offset = 1;
if (compare(value, array[start + hint]) < 0) {
maxOffset = hint + 1;
while (offset < maxOffset && compare(value, array[start + hint - offset]) < 0) {
lastOffset = offset;
offset = (offset << 1) + 1;
if (offset <= 0) {
offset = maxOffset;
}
}
if (offset > maxOffset) {
offset = maxOffset;
}
var tmp = lastOffset;
lastOffset = hint - offset;
offset = hint - tmp;
} else {
maxOffset = length - hint;
while (offset < maxOffset && compare(value, array[start + hint + offset]) >= 0) {
lastOffset = offset;
offset = (offset << 1) + 1;
if (offset <= 0) {
offset = maxOffset;
}
}
if (offset > maxOffset) {
offset = maxOffset;
}
lastOffset += hint;
offset += hint;
}
lastOffset++;
while (lastOffset < offset) {
var m = lastOffset + (offset - lastOffset >>> 1);
if (compare(value, array[start + m]) < 0) {
offset = m;
} else {
lastOffset = m + 1;
}
}
return offset;
}
function TimSort(array, compare) {
var minGallop = DEFAULT_MIN_GALLOPING;
var length = 0;
var tmpStorageLength = DEFAULT_TMP_STORAGE_LENGTH;
var stackLength = 0;
var runStart;
var runLength;
var stackSize = 0;
length = array.length;
if (length < 2 * DEFAULT_TMP_STORAGE_LENGTH) {
tmpStorageLength = length >>> 1;
}
var tmp = [];
stackLength = length < 120 ? 5 : length < 1542 ? 10 : length < 119151 ? 19 : 40;
runStart = [];
runLength = [];
function pushRun(_runStart, _runLength) {
runStart[stackSize] = _runStart;
runLength[stackSize] = _runLength;
stackSize += 1;
}
function mergeRuns() {
while (stackSize > 1) {
var n = stackSize - 2;
if (n >= 1 && runLength[n - 1] <= runLength[n] + runLength[n + 1] || n >= 2 && runLength[n - 2] <= runLength[n] + runLength[n - 1]) {
if (runLength[n - 1] < runLength[n + 1]) {
n--;
}
} else if (runLength[n] > runLength[n + 1]) {
break;
}
mergeAt(n);
}
}
function forceMergeRuns() {
while (stackSize > 1) {
var n = stackSize - 2;
if (n > 0 && runLength[n - 1] < runLength[n + 1]) {
n--;
}
mergeAt(n);
}
}
function mergeAt(i) {
var start1 = runStart[i];
var length1 = runLength[i];
var start2 = runStart[i + 1];
var length2 = runLength[i + 1];
runLength[i] = length1 + length2;
if (i === stackSize - 3) {
runStart[i + 1] = runStart[i + 2];
runLength[i + 1] = runLength[i + 2];
}
stackSize--;
var k = gallopRight(array[start2], array, start1, length1, 0, compare);
start1 += k;
length1 -= k;
if (length1 === 0) {
return;
}
length2 = gallopLeft(array[start1 + length1 - 1], array, start2, length2, length2 - 1, compare);
if (length2 === 0) {
return;
}
if (length1 <= length2) {
mergeLow(start1, length1, start2, length2);
} else {
mergeHigh(start1, length1, start2, length2);
}
}
function mergeLow(start1, length1, start2, length2) {
var i = 0;
for (i = 0; i < length1; i++) {
tmp[i] = array[start1 + i];
}
var cursor1 = 0;
var cursor2 = start2;
var dest = start1;
array[dest++] = array[cursor2++];
if (--length2 === 0) {
for (i = 0; i < length1; i++) {
array[dest + i] = tmp[cursor1 + i];
}
return;
}
if (length1 === 1) {
for (i = 0; i < length2; i++) {
array[dest + i] = array[cursor2 + i];
}
array[dest + length2] = tmp[cursor1];
return;
}
var _minGallop = minGallop;
var count1;
var count2;
var exit;
while (1) {
count1 = 0;
count2 = 0;
exit = false;
do {
if (compare(array[cursor2], tmp[cursor1]) < 0) {
array[dest++] = array[cursor2++];
count2++;
count1 = 0;
if (--length2 === 0) {
exit = true;
break;
}
} else {
array[dest++] = tmp[cursor1++];
count1++;
count2 = 0;
if (--length1 === 1) {
exit = true;
break;
}
}
} while ((count1 | count2) < _minGallop);
if (exit) {
break;
}
do {
count1 = gallopRight(array[cursor2], tmp, cursor1, length1, 0, compare);
if (count1 !== 0) {
for (i = 0; i < count1; i++) {
array[dest + i] = tmp[cursor1 + i];
}
dest += count1;
cursor1 += count1;
length1 -= count1;
if (length1 <= 1) {
exit = true;
break;
}
}
array[dest++] = array[cursor2++];
if (--length2 === 0) {
exit = true;
break;
}
count2 = gallopLeft(tmp[cursor1], array, cursor2, length2, 0, compare);
if (count2 !== 0) {
for (i = 0; i < count2; i++) {
array[dest + i] = array[cursor2 + i];
}
dest += count2;
cursor2 += count2;
length2 -= count2;
if (length2 === 0) {
exit = true;
break;
}
}
array[dest++] = tmp[cursor1++];
if (--length1 === 1) {
exit = true;
break;
}
_minGallop--;
} while (count1 >= DEFAULT_MIN_GALLOPING || count2 >= DEFAULT_MIN_GALLOPING);
if (exit) {
break;
}
if (_minGallop < 0) {
_minGallop = 0;
}
_minGallop += 2;
}
minGallop = _minGallop;
minGallop < 1 && (minGallop = 1);
if (length1 === 1) {
for (i = 0; i < length2; i++) {
array[dest + i] = array[cursor2 + i];
}
array[dest + length2] = tmp[cursor1];
} else if (length1 === 0) {
throw new Error(); // throw new Error('mergeLow preconditions were not respected');
} else {
for (i = 0; i < length1; i++) {
array[dest + i] = tmp[cursor1 + i];
}
}
}
function mergeHigh(start1, length1, start2, length2) {
var i = 0;
for (i = 0; i < length2; i++) {
tmp[i] = array[start2 + i];
}
var cursor1 = start1 + length1 - 1;
var cursor2 = length2 - 1;
var dest = start2 + length2 - 1;
var customCursor = 0;
var customDest = 0;
array[dest--] = array[cursor1--];
if (--length1 === 0) {
customCursor = dest - (length2 - 1);
for (i = 0; i < length2; i++) {
array[customCursor + i] = tmp[i];
}
return;
}
if (length2 === 1) {
dest -= length1;
cursor1 -= length1;
customDest = dest + 1;
customCursor = cursor1 + 1;
for (i = length1 - 1; i >= 0; i--) {
array[customDest + i] = array[customCursor + i];
}
array[dest] = tmp[cursor2];
return;
}
var _minGallop = minGallop;
while (true) {
var count1 = 0;
var count2 = 0;
var exit = false;
do {
if (compare(tmp[cursor2], array[cursor1]) < 0) {
array[dest--] = array[cursor1--];
count1++;
count2 = 0;
if (--length1 === 0) {
exit = true;
break;
}
} else {
array[dest--] = tmp[cursor2--];
count2++;
count1 = 0;
if (--length2 === 1) {
exit = true;
break;
}
}
} while ((count1 | count2) < _minGallop);
if (exit) {
break;
}
do {
count1 = length1 - gallopRight(tmp[cursor2], array, start1, length1, length1 - 1, compare);
if (count1 !== 0) {
dest -= count1;
cursor1 -= count1;
length1 -= count1;
customDest = dest + 1;
customCursor = cursor1 + 1;
for (i = count1 - 1; i >= 0; i--) {
array[customDest + i] = array[customCursor + i];
}
if (length1 === 0) {
exit = true;
break;
}
}
array[dest--] = tmp[cursor2--];
if (--length2 === 1) {
exit = true;
break;
}
count2 = length2 - gallopLeft(array[cursor1], tmp, 0, length2, length2 - 1, compare);
if (count2 !== 0) {
dest -= count2;
cursor2 -= count2;
length2 -= count2;
customDest = dest + 1;
customCursor = cursor2 + 1;
for (i = 0; i < count2; i++) {
array[customDest + i] = tmp[customCursor + i];
}
if (length2 <= 1) {
exit = true;
break;
}
}
array[dest--] = array[cursor1--];
if (--length1 === 0) {
exit = true;
break;
}
_minGallop--;
} while (count1 >= DEFAULT_MIN_GALLOPING || count2 >= DEFAULT_MIN_GALLOPING);
if (exit) {
break;
}
if (_minGallop < 0) {
_minGallop = 0;
}
_minGallop += 2;
}
minGallop = _minGallop;
if (minGallop < 1) {
minGallop = 1;
}
if (length2 === 1) {
dest -= length1;
cursor1 -= length1;
customDest = dest + 1;
customCursor = cursor1 + 1;
for (i = length1 - 1; i >= 0; i--) {
array[customDest + i] = array[customCursor + i];
}
array[dest] = tmp[cursor2];
} else if (length2 === 0) {
throw new Error(); // throw new Error('mergeHigh preconditions were not respected');
} else {
customCursor = dest - (length2 - 1);
for (i = 0; i < length2; i++) {
array[customCursor + i] = tmp[i];
}
}
}
this.mergeRuns = mergeRuns;
this.forceMergeRuns = forceMergeRuns;
this.pushRun = pushRun;
}
function sort(array, compare, lo, hi) {
if (!lo) {
lo = 0;
}
if (!hi) {
hi = array.length;
}
var remaining = hi - lo;
if (remaining < 2) {
return;
}
var runLength = 0;
if (remaining < DEFAULT_MIN_MERGE) {
runLength = makeAscendingRun(array, lo, hi, compare);
binaryInsertionSort(array, lo, hi, lo + runLength, compare);
return;
}
var ts = new TimSort(array, compare);
var minRun = minRunLength(remaining);
do {
runLength = makeAscendingRun(array, lo, hi, compare);
if (runLength < minRun) {
var force = remaining;
if (force > minRun) {
force = minRun;
}
binaryInsertionSort(array, lo, lo + force, lo + runLength, compare);
runLength = force;
}
ts.pushRun(lo, runLength);
ts.mergeRuns();
remaining -= runLength;
lo += runLength;
} while (remaining !== 0);
ts.forceMergeRuns();
}
module.exports = sort;
/***/ }),
/***/ "BU3w":
/*!***************************************************!*\
!*** ./node_modules/rc-util/es/Dom/dynamicCSS.js ***!
\***************************************************/
/*! exports provided: injectCSS, updateCSS */
/*! exports used: updateCSS */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* unused harmony export injectCSS */
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return updateCSS; });
/* harmony import */ var _canUseDom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./canUseDom */ "MNnm");
var MARK_KEY = "rc-util-key";
function getContainer(option) {
if (option.attachTo) {
return option.attachTo;
}
var head = document.querySelector('head');
return head || document.body;
}
function injectCSS(css) {
var _option$csp;
var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
if (!Object(_canUseDom__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])()) {
return null;
}
var styleNode = document.createElement('style');
if ((_option$csp = option.csp) === null || _option$csp === void 0 ? void 0 : _option$csp.nonce) {
var _option$csp2;
styleNode.nonce = (_option$csp2 = option.csp) === null || _option$csp2 === void 0 ? void 0 : _option$csp2.nonce;
}
styleNode.innerHTML = css;
var container = getContainer(option);
var firstChild = container.firstChild;
if (option.prepend && container.prepend) {
// Use `prepend` first
container.prepend(styleNode);
} else if (option.prepend && firstChild) {
// Fallback to `insertBefore` like IE not support `prepend`
container.insertBefore(styleNode, firstChild);
} else {
container.appendChild(styleNode);
}
return styleNode;
}
var containerCache = new Map();
function updateCSS(css, key) {
var option = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
var container = getContainer(option); // Get real parent
if (!containerCache.has(container)) {
var placeholderStyle = injectCSS('', option);
var parentNode = placeholderStyle.parentNode;
containerCache.set(container, parentNode);
parentNode.removeChild(placeholderStyle);
}
var existNode = Array.from(containerCache.get(container).children).find(function (node) {
return node.tagName === 'STYLE' && node[MARK_KEY] === key;
});
if (existNode) {
var _option$csp3, _option$csp4;
if (((_option$csp3 = option.csp) === null || _option$csp3 === void 0 ? void 0 : _option$csp3.nonce) && existNode.nonce !== ((_option$csp4 = option.csp) === null || _option$csp4 === void 0 ? void 0 : _option$csp4.nonce)) {
var _option$csp5;
existNode.nonce = (_option$csp5 = option.csp) === null || _option$csp5 === void 0 ? void 0 : _option$csp5.nonce;
}
if (existNode.innerHTML !== css) {
existNode.innerHTML = css;
}
return existNode;
}
var newNode = injectCSS(css, option);
newNode[MARK_KEY] = key;
return newNode;
}
/***/ }),
/***/ "Bd2K":
/*!********************************************************!*\
!*** ./node_modules/codemirror/addon/edit/closetag.js ***!
\********************************************************/
/*! no static exports found */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports, __webpack_require__) {
// CodeMirror, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: https://codemirror.net/LICENSE
/**
* Tag-closer extension for CodeMirror.
*
* This extension adds an "autoCloseTags" option that can be set to
* either true to get the default behavior, or an object to further
* configure its behavior.
*
* These are supported options:
*
* `whenClosing` (default true)
* Whether to autoclose when the '/' of a closing tag is typed.
* `whenOpening` (default true)
* Whether to autoclose the tag when the final '>' of an opening
* tag is typed.
* `dontCloseTags` (default is empty tags for HTML, none for XML)
* An array of tag names that should not be autoclosed.
* `indentTags` (default is block tags for HTML, none for XML)
* An array of tag names that should, when opened, cause a
* blank line to be added inside the tag, and the blank line and
* closing line to be indented.
* `emptyTags` (default is none)
* An array of XML tag names that should be autoclosed with '/>'.
*
* See demos/closetag.html for a usage example.
*/
(function(mod) {
if (true) // CommonJS
mod(__webpack_require__(/*! ../../lib/codemirror */ "VrN/"), __webpack_require__(/*! ../fold/xml-fold */ "osHv"));
else {}
})(function(CodeMirror) {
CodeMirror.defineOption("autoCloseTags", false, function(cm, val, old) {
if (old != CodeMirror.Init && old)
cm.removeKeyMap("autoCloseTags");
if (!val) return;
var map = {name: "autoCloseTags"};
if (typeof val != "object" || val.whenClosing !== false)
map["'/'"] = function(cm) { return autoCloseSlash(cm); };
if (typeof val != "object" || val.whenOpening !== false)
map["'>'"] = function(cm) { return autoCloseGT(cm); };
cm.addKeyMap(map);
});
var htmlDontClose = ["area", "base", "br", "col", "command", "embed", "hr", "img", "input", "keygen", "link", "meta", "param",
"source", "track", "wbr"];
var htmlIndent = ["applet", "blockquote", "body", "button", "div", "dl", "fieldset", "form", "frameset", "h1", "h2", "h3", "h4",
"h5", "h6", "head", "html", "iframe", "layer", "legend", "object", "ol", "p", "select", "table", "ul"];
function autoCloseGT(cm) {
if (cm.getOption("disableInput")) return CodeMirror.Pass;
var ranges = cm.listSelections(), replacements = [];
var opt = cm.getOption("autoCloseTags");
for (var i = 0; i < ranges.length; i++) {
if (!ranges[i].empty()) return CodeMirror.Pass;
var pos = ranges[i].head, tok = cm.getTokenAt(pos);
var inner = CodeMirror.innerMode(cm.getMode(), tok.state), state = inner.state;
var tagInfo = inner.mode.xmlCurrentTag && inner.mode.xmlCurrentTag(state)
var tagName = tagInfo && tagInfo.name
if (!tagName) return CodeMirror.Pass
var html = inner.mode.configuration == "html";
var dontCloseTags = (typeof opt == "object" && opt.dontCloseTags) || (html && htmlDontClose);
var indentTags = (typeof opt == "object" && opt.indentTags) || (html && htmlIndent);
if (tok.end > pos.ch) tagName = tagName.slice(0, tagName.length - tok.end + pos.ch);
var lowerTagName = tagName.toLowerCase();
// Don't process the '>' at the end of an end-tag or self-closing tag
if (!tagName ||
tok.type == "string" && (tok.end != pos.ch || !/[\"\']/.test(tok.string.charAt(tok.string.length - 1)) || tok.string.length == 1) ||
tok.type == "tag" && tagInfo.close ||
tok.string.indexOf("/") == (pos.ch - tok.start - 1) || // match something like
dontCloseTags && indexOf(dontCloseTags, lowerTagName) > -1 ||
closingTagExists(cm, inner.mode.xmlCurrentContext && inner.mode.xmlCurrentContext(state) || [], tagName, pos, true))
return CodeMirror.Pass;
var emptyTags = typeof opt == "object" && opt.emptyTags;
if (emptyTags && indexOf(emptyTags, tagName) > -1) {
replacements[i] = { text: "/>", newPos: CodeMirror.Pos(pos.line, pos.ch + 2) };
continue;
}
var indent = indentTags && indexOf(indentTags, lowerTagName) > -1;
replacements[i] = {indent: indent,
text: ">" + (indent ? "\n\n" : "") + "" + tagName + ">",
newPos: indent ? CodeMirror.Pos(pos.line + 1, 0) : CodeMirror.Pos(pos.line, pos.ch + 1)};
}
var dontIndentOnAutoClose = (typeof opt == "object" && opt.dontIndentOnAutoClose);
for (var i = ranges.length - 1; i >= 0; i--) {
var info = replacements[i];
cm.replaceRange(info.text, ranges[i].head, ranges[i].anchor, "+insert");
var sel = cm.listSelections().slice(0);
sel[i] = {head: info.newPos, anchor: info.newPos};
cm.setSelections(sel);
if (!dontIndentOnAutoClose && info.indent) {
cm.indentLine(info.newPos.line, null, true);
cm.indentLine(info.newPos.line + 1, null, true);
}
}
}
function autoCloseCurrent(cm, typingSlash) {
var ranges = cm.listSelections(), replacements = [];
var head = typingSlash ? "/" : "";
var opt = cm.getOption("autoCloseTags");
var dontIndentOnAutoClose = (typeof opt == "object" && opt.dontIndentOnSlash);
for (var i = 0; i < ranges.length; i++) {
if (!ranges[i].empty()) return CodeMirror.Pass;
var pos = ranges[i].head, tok = cm.getTokenAt(pos);
var inner = CodeMirror.innerMode(cm.getMode(), tok.state), state = inner.state;
if (typingSlash && (tok.type == "string" || tok.string.charAt(0) != "<" ||
tok.start != pos.ch - 1))
return CodeMirror.Pass;
// Kludge to get around the fact that we are not in XML mode
// when completing in JS/CSS snippet in htmlmixed mode. Does not
// work for other XML embedded languages (there is no general
// way to go from a mixed mode to its current XML state).
var replacement, mixed = inner.mode.name != "xml" && cm.getMode().name == "htmlmixed"
if (mixed && inner.mode.name == "javascript") {
replacement = head + "script";
} else if (mixed && inner.mode.name == "css") {
replacement = head + "style";
} else {
var context = inner.mode.xmlCurrentContext && inner.mode.xmlCurrentContext(state)
if (!context || (context.length && closingTagExists(cm, context, context[context.length - 1], pos)))
return CodeMirror.Pass;
replacement = head + context[context.length - 1]
}
if (cm.getLine(pos.line).charAt(tok.end) != ">") replacement += ">";
replacements[i] = replacement;
}
cm.replaceSelections(replacements);
ranges = cm.listSelections();
if (!dontIndentOnAutoClose) {
for (var i = 0; i < ranges.length; i++)
if (i == ranges.length - 1 || ranges[i].head.line < ranges[i + 1].head.line)
cm.indentLine(ranges[i].head.line);
}
}
function autoCloseSlash(cm) {
if (cm.getOption("disableInput")) return CodeMirror.Pass;
return autoCloseCurrent(cm, true);
}
CodeMirror.commands.closeTag = function(cm) { return autoCloseCurrent(cm); };
function indexOf(collection, elt) {
if (collection.indexOf) return collection.indexOf(elt);
for (var i = 0, e = collection.length; i < e; ++i)
if (collection[i] == elt) return i;
return -1;
}
// If xml-fold is loaded, we use its functionality to try and verify
// whether a given tag is actually unclosed.
function closingTagExists(cm, context, tagName, pos, newTag) {
if (!CodeMirror.scanForClosingTag) return false;
var end = Math.min(cm.lastLine() + 1, pos.line + 500);
var nextClose = CodeMirror.scanForClosingTag(cm, pos, null, end);
if (!nextClose || nextClose.tag != tagName) return false;
// If the immediate wrapping context contains onCx instances of
// the same tag, a closing tag only exists if there are at least
// that many closing tags of that type following.
var onCx = newTag ? 1 : 0
for (var i = context.length - 1; i >= 0; i--) {
if (context[i] == tagName) ++onCx
else break
}
pos = nextClose.to;
for (var i = 1; i < onCx; i++) {
var next = CodeMirror.scanForClosingTag(cm, pos, null, end);
if (!next || next.tag != tagName) return false;
pos = next.to;
}
return true;
}
});
/***/ }),
/***/ "BdwD":
/*!*****************************************!*\
!*** ./src/components/NoData/index.tsx ***!
\*****************************************/
/*! exports provided: default */
/*! exports used: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var antd_es_button_style__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! antd/es/button/style */ "+L6B");
/* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! antd/es/button */ "2/Rp");
/* harmony import */ var _Users_dingyongkang_Documents_workspace_zhiqing_educoder_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@umijs/babel-preset-umi/node_modules/@babel/runtime/helpers/esm/extends */ "0Owb");
/* harmony import */ var _Users_dingyongkang_Documents_workspace_zhiqing_educoder_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./node_modules/@umijs/babel-preset-umi/node_modules/@babel/runtime/helpers/esm/objectSpread2 */ "k1fw");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ "cDcd");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_4__);
/* harmony import */ var _assets_images_icons_nodata_png__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/assets/images/icons/nodata.png */ "FOrL");
/* harmony import */ var _assets_images_icons_nodata_png__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_assets_images_icons_nodata_png__WEBPACK_IMPORTED_MODULE_5__);
var noData = function noData(_ref) {
var _ref$buttonProps = _ref.buttonProps,
buttonProps = _ref$buttonProps === void 0 ? {} : _ref$buttonProps,
_ref$styles = _ref.styles,
styles = _ref$styles === void 0 ? {} : _ref$styles,
customText = _ref.customText,
ButtonText = _ref.ButtonText,
ButtonClick = _ref.ButtonClick,
Buttonclass = _ref.Buttonclass,
ButtonTwo = _ref.ButtonTwo;
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement("section", {
className: "tc animated fadeIn",
style: Object(_Users_dingyongkang_Documents_workspace_zhiqing_educoder_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"])(Object(_Users_dingyongkang_Documents_workspace_zhiqing_educoder_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"])({}, {
color: '#999',
margin: '200px auto'
}), styles)
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement("img", {
src: _assets_images_icons_nodata_png__WEBPACK_IMPORTED_MODULE_5___default.a
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement("p", {
className: "mt20 font14"
}, customText || '暂时还没有相关数据哦!'), ButtonText && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement(antd_es_button__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"], Object(_Users_dingyongkang_Documents_workspace_zhiqing_educoder_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"])({
className: Buttonclass,
onClick: ButtonClick
}, buttonProps), ButtonText), ButtonTwo && ButtonTwo);
};
/* harmony default export */ __webpack_exports__["a"] = (noData);
/***/ }),
/***/ "BjJ7":
/*!*********************************!*\
!*** ./src/pages/tasks/util.js ***!
\*********************************/
/*! exports provided: isCompileOk, getTreeData, processTreeData, debounce, isProd, apiPref */
/*! exports used: apiPref, debounce, getTreeData, isCompileOk, processTreeData */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return isCompileOk; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return getTreeData; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return processTreeData; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return debounce; });
/* unused harmony export isProd */
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return apiPref; });
/* harmony import */ var _utils_env__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/utils/env */ "m3rI");
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 */ "a"].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';
/***/ }),
/***/ "BlVb":
/*!*****************************************************!*\
!*** ./node_modules/zrender/lib/contain/polygon.js ***!
\*****************************************************/
/*! no static exports found */
/*! all exports used */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports, __webpack_require__) {
var windingLine = __webpack_require__(/*! ./windingLine */ "hyiK");
var EPSILON = 1e-8;
function isAroundEqual(a, b) {
return Math.abs(a - b) < EPSILON;
}
function contain(points, x, y) {
var w = 0;
var p = points[0];
if (!p) {
return false;
}
for (var i = 1; i < points.length; i++) {
var p2 = points[i];
w += windingLine(p[0], p[1], p2[0], p2[1], x, y);
p = p2;
} // Close polygon
var p0 = points[0];
if (!isAroundEqual(p[0], p0[0]) || !isAroundEqual(p[1], p0[1])) {
w += windingLine(p[0], p[1], p0[0], p0[1], x, y);
}
return w !== 0;
}
exports.contain = contain;
/***/ }),
/***/ "Bq2U":
/*!********************************************************!*\
!*** ./node_modules/zrender/lib/animation/Animator.js ***!
\********************************************************/
/*! no static exports found */
/*! all exports used */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports, __webpack_require__) {
var Clip = __webpack_require__(/*! ./Clip */ "RDYZ");
var color = __webpack_require__(/*! ../tool/color */ "Qe9p");
var _util = __webpack_require__(/*! ../core/util */ "bYtY");
var isArrayLike = _util.isArrayLike;
/**
* @module echarts/animation/Animator
*/
var arraySlice = Array.prototype.slice;
function defaultGetter(target, key) {
return target[key];
}
function defaultSetter(target, key, value) {
target[key] = value;
}
/**
* @param {number} p0
* @param {number} p1
* @param {number} percent
* @return {number}
*/
function interpolateNumber(p0, p1, percent) {
return (p1 - p0) * percent + p0;
}
/**
* @param {string} p0
* @param {string} p1
* @param {number} percent
* @return {string}
*/
function interpolateString(p0, p1, percent) {
return percent > 0.5 ? p1 : p0;
}
/**
* @param {Array} p0
* @param {Array} p1
* @param {number} percent
* @param {Array} out
* @param {number} arrDim
*/
function interpolateArray(p0, p1, percent, out, arrDim) {
var len = p0.length;
if (arrDim === 1) {
for (var i = 0; i < len; i++) {
out[i] = interpolateNumber(p0[i], p1[i], percent);
}
} else {
var len2 = len && p0[0].length;
for (var i = 0; i < len; i++) {
for (var j = 0; j < len2; j++) {
out[i][j] = interpolateNumber(p0[i][j], p1[i][j], percent);
}
}
}
} // arr0 is source array, arr1 is target array.
// Do some preprocess to avoid error happened when interpolating from arr0 to arr1
function fillArr(arr0, arr1, arrDim) {
var arr0Len = arr0.length;
var arr1Len = arr1.length;
if (arr0Len !== arr1Len) {
// FIXME Not work for TypedArray
var isPreviousLarger = arr0Len > arr1Len;
if (isPreviousLarger) {
// Cut the previous
arr0.length = arr1Len;
} else {
// Fill the previous
for (var i = arr0Len; i < arr1Len; i++) {
arr0.push(arrDim === 1 ? arr1[i] : arraySlice.call(arr1[i]));
}
}
} // Handling NaN value
var len2 = arr0[0] && arr0[0].length;
for (var i = 0; i < arr0.length; i++) {
if (arrDim === 1) {
if (isNaN(arr0[i])) {
arr0[i] = arr1[i];
}
} else {
for (var j = 0; j < len2; j++) {
if (isNaN(arr0[i][j])) {
arr0[i][j] = arr1[i][j];
}
}
}
}
}
/**
* @param {Array} arr0
* @param {Array} arr1
* @param {number} arrDim
* @return {boolean}
*/
function isArraySame(arr0, arr1, arrDim) {
if (arr0 === arr1) {
return true;
}
var len = arr0.length;
if (len !== arr1.length) {
return false;
}
if (arrDim === 1) {
for (var i = 0; i < len; i++) {
if (arr0[i] !== arr1[i]) {
return false;
}
}
} else {
var len2 = arr0[0].length;
for (var i = 0; i < len; i++) {
for (var j = 0; j < len2; j++) {
if (arr0[i][j] !== arr1[i][j]) {
return false;
}
}
}
}
return true;
}
/**
* Catmull Rom interpolate array
* @param {Array} p0
* @param {Array} p1
* @param {Array} p2
* @param {Array} p3
* @param {number} t
* @param {number} t2
* @param {number} t3
* @param {Array} out
* @param {number} arrDim
*/
function catmullRomInterpolateArray(p0, p1, p2, p3, t, t2, t3, out, arrDim) {
var len = p0.length;
if (arrDim === 1) {
for (var i = 0; i < len; i++) {
out[i] = catmullRomInterpolate(p0[i], p1[i], p2[i], p3[i], t, t2, t3);
}
} else {
var len2 = p0[0].length;
for (var i = 0; i < len; i++) {
for (var j = 0; j < len2; j++) {
out[i][j] = catmullRomInterpolate(p0[i][j], p1[i][j], p2[i][j], p3[i][j], t, t2, t3);
}
}
}
}
/**
* Catmull Rom interpolate number
* @param {number} p0
* @param {number} p1
* @param {number} p2
* @param {number} p3
* @param {number} t
* @param {number} t2
* @param {number} t3
* @return {number}
*/
function catmullRomInterpolate(p0, p1, p2, p3, t, t2, t3) {
var v0 = (p2 - p0) * 0.5;
var v1 = (p3 - p1) * 0.5;
return (2 * (p1 - p2) + v0 + v1) * t3 + (-3 * (p1 - p2) - 2 * v0 - v1) * t2 + v0 * t + p1;
}
function cloneValue(value) {
if (isArrayLike(value)) {
var len = value.length;
if (isArrayLike(value[0])) {
var ret = [];
for (var i = 0; i < len; i++) {
ret.push(arraySlice.call(value[i]));
}
return ret;
}
return arraySlice.call(value);
}
return value;
}
function rgba2String(rgba) {
rgba[0] = Math.floor(rgba[0]);
rgba[1] = Math.floor(rgba[1]);
rgba[2] = Math.floor(rgba[2]);
return 'rgba(' + rgba.join(',') + ')';
}
function getArrayDim(keyframes) {
var lastValue = keyframes[keyframes.length - 1].value;
return isArrayLike(lastValue && lastValue[0]) ? 2 : 1;
}
function createTrackClip(animator, easing, oneTrackDone, keyframes, propName, forceAnimate) {
var getter = animator._getter;
var setter = animator._setter;
var useSpline = easing === 'spline';
var trackLen = keyframes.length;
if (!trackLen) {
return;
} // Guess data type
var firstVal = keyframes[0].value;
var isValueArray = isArrayLike(firstVal);
var isValueColor = false;
var isValueString = false; // For vertices morphing
var arrDim = isValueArray ? getArrayDim(keyframes) : 0;
var trackMaxTime; // Sort keyframe as ascending
keyframes.sort(function (a, b) {
return a.time - b.time;
});
trackMaxTime = keyframes[trackLen - 1].time; // Percents of each keyframe
var kfPercents = []; // Value of each keyframe
var kfValues = [];
var prevValue = keyframes[0].value;
var isAllValueEqual = true;
for (var i = 0; i < trackLen; i++) {
kfPercents.push(keyframes[i].time / trackMaxTime); // Assume value is a color when it is a string
var value = keyframes[i].value; // Check if value is equal, deep check if value is array
if (!(isValueArray && isArraySame(value, prevValue, arrDim) || !isValueArray && value === prevValue)) {
isAllValueEqual = false;
}
prevValue = value; // Try converting a string to a color array
if (typeof value === 'string') {
var colorArray = color.parse(value);
if (colorArray) {
value = colorArray;
isValueColor = true;
} else {
isValueString = true;
}
}
kfValues.push(value);
}
if (!forceAnimate && isAllValueEqual) {
return;
}
var lastValue = kfValues[trackLen - 1]; // Polyfill array and NaN value
for (var i = 0; i < trackLen - 1; i++) {
if (isValueArray) {
fillArr(kfValues[i], lastValue, arrDim);
} else {
if (isNaN(kfValues[i]) && !isNaN(lastValue) && !isValueString && !isValueColor) {
kfValues[i] = lastValue;
}
}
}
isValueArray && fillArr(getter(animator._target, propName), lastValue, arrDim); // Cache the key of last frame to speed up when
// animation playback is sequency
var lastFrame = 0;
var lastFramePercent = 0;
var start;
var w;
var p0;
var p1;
var p2;
var p3;
if (isValueColor) {
var rgba = [0, 0, 0, 0];
}
var onframe = function (target, percent) {
// Find the range keyframes
// kf1-----kf2---------current--------kf3
// find kf2 and kf3 and do interpolation
var frame; // In the easing function like elasticOut, percent may less than 0
if (percent < 0) {
frame = 0;
} else if (percent < lastFramePercent) {
// Start from next key
// PENDING start from lastFrame ?
start = Math.min(lastFrame + 1, trackLen - 1);
for (frame = start; frame >= 0; frame--) {
if (kfPercents[frame] <= percent) {
break;
}
} // PENDING really need to do this ?
frame = Math.min(frame, trackLen - 2);
} else {
for (frame = lastFrame; frame < trackLen; frame++) {
if (kfPercents[frame] > percent) {
break;
}
}
frame = Math.min(frame - 1, trackLen - 2);
}
lastFrame = frame;
lastFramePercent = percent;
var range = kfPercents[frame + 1] - kfPercents[frame];
if (range === 0) {
return;
} else {
w = (percent - kfPercents[frame]) / range;
}
if (useSpline) {
p1 = kfValues[frame];
p0 = kfValues[frame === 0 ? frame : frame - 1];
p2 = kfValues[frame > trackLen - 2 ? trackLen - 1 : frame + 1];
p3 = kfValues[frame > trackLen - 3 ? trackLen - 1 : frame + 2];
if (isValueArray) {
catmullRomInterpolateArray(p0, p1, p2, p3, w, w * w, w * w * w, getter(target, propName), arrDim);
} else {
var value;
if (isValueColor) {
value = catmullRomInterpolateArray(p0, p1, p2, p3, w, w * w, w * w * w, rgba, 1);
value = rgba2String(rgba);
} else if (isValueString) {
// String is step(0.5)
return interpolateString(p1, p2, w);
} else {
value = catmullRomInterpolate(p0, p1, p2, p3, w, w * w, w * w * w);
}
setter(target, propName, value);
}
} else {
if (isValueArray) {
interpolateArray(kfValues[frame], kfValues[frame + 1], w, getter(target, propName), arrDim);
} else {
var value;
if (isValueColor) {
interpolateArray(kfValues[frame], kfValues[frame + 1], w, rgba, 1);
value = rgba2String(rgba);
} else if (isValueString) {
// String is step(0.5)
return interpolateString(kfValues[frame], kfValues[frame + 1], w);
} else {
value = interpolateNumber(kfValues[frame], kfValues[frame + 1], w);
}
setter(target, propName, value);
}
}
};
var clip = new Clip({
target: animator._target,
life: trackMaxTime,
loop: animator._loop,
delay: animator._delay,
onframe: onframe,
ondestroy: oneTrackDone
});
if (easing && easing !== 'spline') {
clip.easing = easing;
}
return clip;
}
/**
* @alias module:zrender/animation/Animator
* @constructor
* @param {Object} target
* @param {boolean} loop
* @param {Function} getter
* @param {Function} setter
*/
var Animator = function (target, loop, getter, setter) {
this._tracks = {};
this._target = target;
this._loop = loop || false;
this._getter = getter || defaultGetter;
this._setter = setter || defaultSetter;
this._clipCount = 0;
this._delay = 0;
this._doneList = [];
this._onframeList = [];
this._clipList = [];
};
Animator.prototype = {
/**
* Set Animation keyframe
* @param {number} time 关键帧时间,单位是ms
* @param {Object} props 关键帧的属性值,key-value表示
* @return {module:zrender/animation/Animator}
*/
when: function (time
/* ms */
, props) {
var tracks = this._tracks;
for (var propName in props) {
if (!props.hasOwnProperty(propName)) {
continue;
}
if (!tracks[propName]) {
tracks[propName] = []; // Invalid value
var value = this._getter(this._target, propName);
if (value == null) {
// zrLog('Invalid property ' + propName);
continue;
} // If time is 0
// Then props is given initialize value
// Else
// Initialize value from current prop value
if (time !== 0) {
tracks[propName].push({
time: 0,
value: cloneValue(value)
});
}
}
tracks[propName].push({
time: time,
value: props[propName]
});
}
return this;
},
/**
* 添加动画每一帧的回调函数
* @param {Function} callback
* @return {module:zrender/animation/Animator}
*/
during: function (callback) {
this._onframeList.push(callback);
return this;
},
pause: function () {
for (var i = 0; i < this._clipList.length; i++) {
this._clipList[i].pause();
}
this._paused = true;
},
resume: function () {
for (var i = 0; i < this._clipList.length; i++) {
this._clipList[i].resume();
}
this._paused = false;
},
isPaused: function () {
return !!this._paused;
},
_doneCallback: function () {
// Clear all tracks
this._tracks = {}; // Clear all clips
this._clipList.length = 0;
var doneList = this._doneList;
var len = doneList.length;
for (var i = 0; i < len; i++) {
doneList[i].call(this);
}
},
/**
* Start the animation
* @param {string|Function} [easing]
* 动画缓动函数,详见{@link module:zrender/animation/easing}
* @param {boolean} forceAnimate
* @return {module:zrender/animation/Animator}
*/
start: function (easing, forceAnimate) {
var self = this;
var clipCount = 0;
var oneTrackDone = function () {
clipCount--;
if (!clipCount) {
self._doneCallback();
}
};
var lastClip;
for (var propName in this._tracks) {
if (!this._tracks.hasOwnProperty(propName)) {
continue;
}
var clip = createTrackClip(this, easing, oneTrackDone, this._tracks[propName], propName, forceAnimate);
if (clip) {
this._clipList.push(clip);
clipCount++; // If start after added to animation
if (this.animation) {
this.animation.addClip(clip);
}
lastClip = clip;
}
} // Add during callback on the last clip
if (lastClip) {
var oldOnFrame = lastClip.onframe;
lastClip.onframe = function (target, percent) {
oldOnFrame(target, percent);
for (var i = 0; i < self._onframeList.length; i++) {
self._onframeList[i](target, percent);
}
};
} // This optimization will help the case that in the upper application
// the view may be refreshed frequently, where animation will be
// called repeatly but nothing changed.
if (!clipCount) {
this._doneCallback();
}
return this;
},
/**
* Stop animation
* @param {boolean} forwardToLast If move to last frame before stop
*/
stop: function (forwardToLast) {
var clipList = this._clipList;
var animation = this.animation;
for (var i = 0; i < clipList.length; i++) {
var clip = clipList[i];
if (forwardToLast) {
// Move to last frame before stop
clip.onframe(this._target, 1);
}
animation && animation.removeClip(clip);
}
clipList.length = 0;
},
/**
* Set when animation delay starts
* @param {number} time 单位ms
* @return {module:zrender/animation/Animator}
*/
delay: function (time) {
this._delay = time;
return this;
},
/**
* Add callback for animation end
* @param {Function} cb
* @return {module:zrender/animation/Animator}
*/
done: function (cb) {
if (cb) {
this._doneList.push(cb);
}
return this;
},
/**
* @return {Array.}
*/
getClips: function () {
return this._clipList;
}
};
var _default = Animator;
module.exports = _default;
/***/ }),
/***/ "C+DQ":
/*!*********************************************************!*\
!*** ./src/components/markdown-editor/css/iconfont.css ***!
\*********************************************************/
/*! no static exports found */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports, __webpack_require__) {
// extracted by mini-css-extract-plugin
/***/ }),
/***/ "C0SR":
/*!*****************************************************!*\
!*** ./node_modules/zrender/lib/core/GestureMgr.js ***!
\*****************************************************/
/*! no static exports found */
/*! all exports used */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports, __webpack_require__) {
var eventUtil = __webpack_require__(/*! ./event */ "YH21");
/**
* Only implements needed gestures for mobile.
*/
var GestureMgr = function () {
/**
* @private
* @type {Array.}
*/
this._track = [];
};
GestureMgr.prototype = {
constructor: GestureMgr,
recognize: function (event, target, root) {
this._doTrack(event, target, root);
return this._recognize(event);
},
clear: function () {
this._track.length = 0;
return this;
},
_doTrack: function (event, target, root) {
var touches = event.touches;
if (!touches) {
return;
}
var trackItem = {
points: [],
touches: [],
target: target,
event: event
};
for (var i = 0, len = touches.length; i < len; i++) {
var touch = touches[i];
var pos = eventUtil.clientToLocal(root, touch, {});
trackItem.points.push([pos.zrX, pos.zrY]);
trackItem.touches.push(touch);
}
this._track.push(trackItem);
},
_recognize: function (event) {
for (var eventName in recognizers) {
if (recognizers.hasOwnProperty(eventName)) {
var gestureInfo = recognizers[eventName](this._track, event);
if (gestureInfo) {
return gestureInfo;
}
}
}
}
};
function dist(pointPair) {
var dx = pointPair[1][0] - pointPair[0][0];
var dy = pointPair[1][1] - pointPair[0][1];
return Math.sqrt(dx * dx + dy * dy);
}
function center(pointPair) {
return [(pointPair[0][0] + pointPair[1][0]) / 2, (pointPair[0][1] + pointPair[1][1]) / 2];
}
var recognizers = {
pinch: function (track, event) {
var trackLen = track.length;
if (!trackLen) {
return;
}
var pinchEnd = (track[trackLen - 1] || {}).points;
var pinchPre = (track[trackLen - 2] || {}).points || pinchEnd;
if (pinchPre && pinchPre.length > 1 && pinchEnd && pinchEnd.length > 1) {
var pinchScale = dist(pinchEnd) / dist(pinchPre);
!isFinite(pinchScale) && (pinchScale = 1);
event.pinchScale = pinchScale;
var pinchCenter = center(pinchEnd);
event.pinchX = pinchCenter[0];
event.pinchY = pinchCenter[1];
return {
type: 'pinch',
target: track[0].target,
event: event
};
}
} // Only pinch currently.
};
var _default = GestureMgr;
module.exports = _default;
/***/ }),
/***/ "CnIC":
/*!************************************!*\
!*** ./src/assets/images/jxtd.png ***!
\************************************/
/*! no static exports found */
/*! exports used: default */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports) {
module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAWCAYAAADTlvzyAAAAAXNSR0IArs4c6QAAA+JJREFUSA2dVltslEUUPmf+f7cXt+oKRKzVtCoICbARtVEJIA+mQiMaI00UXuCBRCT2AZPGaCJvWjUmQowPSBpN+kK8RKVNCIZLorIEVEqFmABVgxsuspi2wHZ3Z+f4za7/9r9sSe0k7Zz55pzzzZzL7M80zdHaJ7fnx+g9EeokptkklGGm/geX0PZDq1hP0w1MpzHm7pA5LLQfZKka6t/MaqZ1p7q4UGMvArkRBMC+IWnTpvC4EMeEzI+bD9NWoZpk1nzt1Yu0cXB44js27qMlY+pE0fAzqfjPtXxHCPcOFZdr0tuIlWOvfyXnnBWmTQjh1MNQtynSBVaynhFnROOFgZP6y84lbl/YSPmBPackAeBVOHc8vP8MuVgnvHWtGQdacO66ygT2jDw/eKLwUADDIkDYmNePIU/1fqWR626V3I8HZMT+eBYHCw3AHSEoSEjKzA0rzLuNcmGs1np+MnY5jDNJcxgL3NBRztWwwsuLdAy1PBbGQ+uRpclCJOwiEvEXINTaBPMAr66hFSieSPL9hErRVyLc7sfKsnL+CmMBwtzZ2K9EcsmvBLL2jpZiP4rvhh+vyrj9ylbqU8RPVzFPKBX3e6I3Bwi7uriE8O3yNu2MbuCuB/hZiBuwV/Lv4RATsxto/YZ79eZwsQnJt51LG/7061s5QGiBzlT8qGL+3MresC/MruV6HP2108PsjHZ4+532UhzifX4cUTl9PBX7xI95coTQbhjhBk/Bzqi20fGSm4UwJ4ALzUPLHqVQcaBY6lb+QfYgkYHDTI69JwsPs+GXgMyvoHLpWsF8/dqxullaUw9uumBSuyIhrMcScerdsayUE0OrEcrW/2z/IaW+uJw9v2/jqrYJz65MODh0o0UoZl+YhXYDoctlS/xpzw/OQuSwG0QtnsFUM4h/g7N3P1qhf4+zbIKXZFlXZIwV716Tih2wax4YlkeopF+HXAmByLm3foqlM9fofZDdXTb6H/9AfLolSVu2L9YdSMFizxSHObQ65X7AAycKH4O3fAPE/sK2tDo8mnc+g2LN/HoObjbb6r2jXq/pbZcX8Zjf5emyMT3WaeXqEFjR7rG88wbEGZNZ57ZFsjn3TXbUgF1XB6ukwo/JLziRwUlyrxyI5RHGch6rSjMXnjyYkcn3FalicjOVoknLrbq+cM+W7+MJVGN65hw+S/RSoo4WfbiMGuONdOap+3nU7pYJfWrUvFOeM4a2olKfwG0D/ejXm0qGQ/upkcaj0HuxmwfDehFCT2HdHnGO/E1tukhJx6Em9FgTctOEz4cmtM8t+BOkwn485TCPk6Er+Nk+n7yTRm72ffMvtr1U/uTpxS8AAAAASUVORK5CYII="
/***/ }),
/***/ "DBLp":
/*!*****************************************************!*\
!*** ./node_modules/zrender/lib/core/arrayDiff2.js ***!
\*****************************************************/
/*! no static exports found */
/*! all exports used */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports) {
// Myers' Diff Algorithm
// Modified from https://github.com/kpdecker/jsdiff/blob/master/src/diff/base.js
function Diff() {}
Diff.prototype = {
diff: function (oldArr, newArr, equals) {
if (!equals) {
equals = function (a, b) {
return a === b;
};
}
this.equals = equals;
var self = this;
oldArr = oldArr.slice();
newArr = newArr.slice(); // Allow subclasses to massage the input prior to running
var newLen = newArr.length;
var oldLen = oldArr.length;
var editLength = 1;
var maxEditLength = newLen + oldLen;
var bestPath = [{
newPos: -1,
components: []
}]; // Seed editLength = 0, i.e. the content starts with the same values
var oldPos = this.extractCommon(bestPath[0], newArr, oldArr, 0);
if (bestPath[0].newPos + 1 >= newLen && oldPos + 1 >= oldLen) {
var indices = [];
for (var i = 0; i < newArr.length; i++) {
indices.push(i);
} // Identity per the equality and tokenizer
return [{
indices: indices,
count: newArr.length
}];
} // Main worker method. checks all permutations of a given edit length for acceptance.
function execEditLength() {
for (var diagonalPath = -1 * editLength; diagonalPath <= editLength; diagonalPath += 2) {
var basePath;
var addPath = bestPath[diagonalPath - 1];
var removePath = bestPath[diagonalPath + 1];
var oldPos = (removePath ? removePath.newPos : 0) - diagonalPath;
if (addPath) {
// No one else is going to attempt to use this value, clear it
bestPath[diagonalPath - 1] = undefined;
}
var canAdd = addPath && addPath.newPos + 1 < newLen;
var canRemove = removePath && 0 <= oldPos && oldPos < oldLen;
if (!canAdd && !canRemove) {
// If this path is a terminal then prune
bestPath[diagonalPath] = undefined;
continue;
} // Select the diagonal that we want to branch from. We select the prior
// path whose position in the new string is the farthest from the origin
// and does not pass the bounds of the diff graph
if (!canAdd || canRemove && addPath.newPos < removePath.newPos) {
basePath = clonePath(removePath);
self.pushComponent(basePath.components, undefined, true);
} else {
basePath = addPath; // No need to clone, we've pulled it from the list
basePath.newPos++;
self.pushComponent(basePath.components, true, undefined);
}
oldPos = self.extractCommon(basePath, newArr, oldArr, diagonalPath); // If we have hit the end of both strings, then we are done
if (basePath.newPos + 1 >= newLen && oldPos + 1 >= oldLen) {
return buildValues(self, basePath.components, newArr, oldArr);
} else {
// Otherwise track this path as a potential candidate and continue.
bestPath[diagonalPath] = basePath;
}
}
editLength++;
}
while (editLength <= maxEditLength) {
var ret = execEditLength();
if (ret) {
return ret;
}
}
},
pushComponent: function (components, added, removed) {
var last = components[components.length - 1];
if (last && last.added === added && last.removed === removed) {
// We need to clone here as the component clone operation is just
// as shallow array clone
components[components.length - 1] = {
count: last.count + 1,
added: added,
removed: removed
};
} else {
components.push({
count: 1,
added: added,
removed: removed
});
}
},
extractCommon: function (basePath, newArr, oldArr, diagonalPath) {
var newLen = newArr.length;
var oldLen = oldArr.length;
var newPos = basePath.newPos;
var oldPos = newPos - diagonalPath;
var commonCount = 0;
while (newPos + 1 < newLen && oldPos + 1 < oldLen && this.equals(newArr[newPos + 1], oldArr[oldPos + 1])) {
newPos++;
oldPos++;
commonCount++;
}
if (commonCount) {
basePath.components.push({
count: commonCount
});
}
basePath.newPos = newPos;
return oldPos;
},
tokenize: function (value) {
return value.slice();
},
join: function (value) {
return value.slice();
}
};
function buildValues(diff, components, newArr, oldArr) {
var componentPos = 0;
var componentLen = components.length;
var newPos = 0;
var oldPos = 0;
for (; componentPos < componentLen; componentPos++) {
var component = components[componentPos];
if (!component.removed) {
var indices = [];
for (var i = newPos; i < newPos + component.count; i++) {
indices.push(i);
}
component.indices = indices;
newPos += component.count; // Common case
if (!component.added) {
oldPos += component.count;
}
} else {
var indices = [];
for (var i = oldPos; i < oldPos + component.count; i++) {
indices.push(i);
}
component.indices = indices;
oldPos += component.count;
}
}
return components;
}
function clonePath(path) {
return {
newPos: path.newPos,
components: path.components.slice(0)
};
}
var arrayDiff = new Diff();
function _default(oldArr, newArr, callback) {
return arrayDiff.diff(oldArr, newArr, callback);
}
module.exports = _default;
/***/ }),
/***/ "DN4a":
/*!*********************************************************!*\
!*** ./node_modules/zrender/lib/mixin/Transformable.js ***!
\*********************************************************/
/*! no static exports found */
/*! all exports used */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports, __webpack_require__) {
var matrix = __webpack_require__(/*! ../core/matrix */ "Fofx");
var vector = __webpack_require__(/*! ../core/vector */ "QBsz");
/**
* 提供变换扩展
* @module zrender/mixin/Transformable
* @author pissang (https://www.github.com/pissang)
*/
var mIdentity = matrix.identity;
var EPSILON = 5e-5;
function isNotAroundZero(val) {
return val > EPSILON || val < -EPSILON;
}
/**
* @alias module:zrender/mixin/Transformable
* @constructor
*/
var Transformable = function (opts) {
opts = opts || {}; // If there are no given position, rotation, scale
if (!opts.position) {
/**
* 平移
* @type {Array.}
* @default [0, 0]
*/
this.position = [0, 0];
}
if (opts.rotation == null) {
/**
* 旋转
* @type {Array.}
* @default 0
*/
this.rotation = 0;
}
if (!opts.scale) {
/**
* 缩放
* @type {Array.}
* @default [1, 1]
*/
this.scale = [1, 1];
}
/**
* 旋转和缩放的原点
* @type {Array.}
* @default null
*/
this.origin = this.origin || null;
};
var transformableProto = Transformable.prototype;
transformableProto.transform = null;
/**
* 判断是否需要有坐标变换
* 如果有坐标变换, 则从position, rotation, scale以及父节点的transform计算出自身的transform矩阵
*/
transformableProto.needLocalTransform = function () {
return isNotAroundZero(this.rotation) || isNotAroundZero(this.position[0]) || isNotAroundZero(this.position[1]) || isNotAroundZero(this.scale[0] - 1) || isNotAroundZero(this.scale[1] - 1);
};
var scaleTmp = [];
transformableProto.updateTransform = function () {
var parent = this.parent;
var parentHasTransform = parent && parent.transform;
var needLocalTransform = this.needLocalTransform();
var m = this.transform;
if (!(needLocalTransform || parentHasTransform)) {
m && mIdentity(m);
return;
}
m = m || matrix.create();
if (needLocalTransform) {
this.getLocalTransform(m);
} else {
mIdentity(m);
} // 应用父节点变换
if (parentHasTransform) {
if (needLocalTransform) {
matrix.mul(m, parent.transform, m);
} else {
matrix.copy(m, parent.transform);
}
} // 保存这个变换矩阵
this.transform = m;
var globalScaleRatio = this.globalScaleRatio;
if (globalScaleRatio != null && globalScaleRatio !== 1) {
this.getGlobalScale(scaleTmp);
var relX = scaleTmp[0] < 0 ? -1 : 1;
var relY = scaleTmp[1] < 0 ? -1 : 1;
var sx = ((scaleTmp[0] - relX) * globalScaleRatio + relX) / scaleTmp[0] || 0;
var sy = ((scaleTmp[1] - relY) * globalScaleRatio + relY) / scaleTmp[1] || 0;
m[0] *= sx;
m[1] *= sx;
m[2] *= sy;
m[3] *= sy;
}
this.invTransform = this.invTransform || matrix.create();
matrix.invert(this.invTransform, m);
};
transformableProto.getLocalTransform = function (m) {
return Transformable.getLocalTransform(this, m);
};
/**
* 将自己的transform应用到context上
* @param {CanvasRenderingContext2D} ctx
*/
transformableProto.setTransform = function (ctx) {
var m = this.transform;
var dpr = ctx.dpr || 1;
if (m) {
ctx.setTransform(dpr * m[0], dpr * m[1], dpr * m[2], dpr * m[3], dpr * m[4], dpr * m[5]);
} else {
ctx.setTransform(dpr, 0, 0, dpr, 0, 0);
}
};
transformableProto.restoreTransform = function (ctx) {
var dpr = ctx.dpr || 1;
ctx.setTransform(dpr, 0, 0, dpr, 0, 0);
};
var tmpTransform = [];
var originTransform = matrix.create();
transformableProto.setLocalTransform = function (m) {
if (!m) {
// TODO return or set identity?
return;
}
var sx = m[0] * m[0] + m[1] * m[1];
var sy = m[2] * m[2] + m[3] * m[3];
var position = this.position;
var scale = this.scale;
if (isNotAroundZero(sx - 1)) {
sx = Math.sqrt(sx);
}
if (isNotAroundZero(sy - 1)) {
sy = Math.sqrt(sy);
}
if (m[0] < 0) {
sx = -sx;
}
if (m[3] < 0) {
sy = -sy;
}
position[0] = m[4];
position[1] = m[5];
scale[0] = sx;
scale[1] = sy;
this.rotation = Math.atan2(-m[1] / sy, m[0] / sx);
};
/**
* 分解`transform`矩阵到`position`, `rotation`, `scale`
*/
transformableProto.decomposeTransform = function () {
if (!this.transform) {
return;
}
var parent = this.parent;
var m = this.transform;
if (parent && parent.transform) {
// Get local transform and decompose them to position, scale, rotation
matrix.mul(tmpTransform, parent.invTransform, m);
m = tmpTransform;
}
var origin = this.origin;
if (origin && (origin[0] || origin[1])) {
originTransform[4] = origin[0];
originTransform[5] = origin[1];
matrix.mul(tmpTransform, m, originTransform);
tmpTransform[4] -= origin[0];
tmpTransform[5] -= origin[1];
m = tmpTransform;
}
this.setLocalTransform(m);
};
/**
* Get global scale
* @return {Array.}
*/
transformableProto.getGlobalScale = function (out) {
var m = this.transform;
out = out || [];
if (!m) {
out[0] = 1;
out[1] = 1;
return out;
}
out[0] = Math.sqrt(m[0] * m[0] + m[1] * m[1]);
out[1] = Math.sqrt(m[2] * m[2] + m[3] * m[3]);
if (m[0] < 0) {
out[0] = -out[0];
}
if (m[3] < 0) {
out[1] = -out[1];
}
return out;
};
/**
* 变换坐标位置到 shape 的局部坐标空间
* @method
* @param {number} x
* @param {number} y
* @return {Array.}
*/
transformableProto.transformCoordToLocal = function (x, y) {
var v2 = [x, y];
var invTransform = this.invTransform;
if (invTransform) {
vector.applyTransform(v2, v2, invTransform);
}
return v2;
};
/**
* 变换局部坐标位置到全局坐标空间
* @method
* @param {number} x
* @param {number} y
* @return {Array.}
*/
transformableProto.transformCoordToGlobal = function (x, y) {
var v2 = [x, y];
var transform = this.transform;
if (transform) {
vector.applyTransform(v2, v2, transform);
}
return v2;
};
/**
* @static
* @param {Object} target
* @param {Array.} target.origin
* @param {number} target.rotation
* @param {Array.} target.position
* @param {Array.} [m]
*/
Transformable.getLocalTransform = function (target, m) {
m = m || [];
mIdentity(m);
var origin = target.origin;
var scale = target.scale || [1, 1];
var rotation = target.rotation || 0;
var position = target.position || [0, 0];
if (origin) {
// Translate to origin
m[4] -= origin[0];
m[5] -= origin[1];
}
matrix.scale(m, m, scale);
if (rotation) {
matrix.rotate(m, m, rotation);
}
if (origin) {
// Translate back from origin
m[4] += origin[0];
m[5] += origin[1];
}
m[4] += position[0];
m[5] += position[1];
return m;
};
var _default = Transformable;
module.exports = _default;
/***/ }),
/***/ "Dagg":
/*!***************************************************!*\
!*** ./node_modules/zrender/lib/graphic/Image.js ***!
\***************************************************/
/*! no static exports found */
/*! all exports used */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports, __webpack_require__) {
var Displayable = __webpack_require__(/*! ./Displayable */ "Gev7");
var BoundingRect = __webpack_require__(/*! ../core/BoundingRect */ "mFDi");
var zrUtil = __webpack_require__(/*! ../core/util */ "bYtY");
var imageHelper = __webpack_require__(/*! ./helper/image */ "Xnb7");
/**
* @alias zrender/graphic/Image
* @extends module:zrender/graphic/Displayable
* @constructor
* @param {Object} opts
*/
function ZImage(opts) {
Displayable.call(this, opts);
}
ZImage.prototype = {
constructor: ZImage,
type: 'image',
brush: function (ctx, prevEl) {
var style = this.style;
var src = style.image; // Must bind each time
style.bind(ctx, this, prevEl);
var image = this._image = imageHelper.createOrUpdateImage(src, this._image, this, this.onload);
if (!image || !imageHelper.isImageReady(image)) {
return;
} // 图片已经加载完成
// if (image.nodeName.toUpperCase() == 'IMG') {
// if (!image.complete) {
// return;
// }
// }
// Else is canvas
var x = style.x || 0;
var y = style.y || 0;
var width = style.width;
var height = style.height;
var aspect = image.width / image.height;
if (width == null && height != null) {
// Keep image/height ratio
width = height * aspect;
} else if (height == null && width != null) {
height = width / aspect;
} else if (width == null && height == null) {
width = image.width;
height = image.height;
} // 设置transform
this.setTransform(ctx);
if (style.sWidth && style.sHeight) {
var sx = style.sx || 0;
var sy = style.sy || 0;
ctx.drawImage(image, sx, sy, style.sWidth, style.sHeight, x, y, width, height);
} else if (style.sx && style.sy) {
var sx = style.sx;
var sy = style.sy;
var sWidth = width - sx;
var sHeight = height - sy;
ctx.drawImage(image, sx, sy, sWidth, sHeight, x, y, width, height);
} else {
ctx.drawImage(image, x, y, width, height);
} // Draw rect text
if (style.text != null) {
// Only restore transform when needs draw text.
this.restoreTransform(ctx);
this.drawRectText(ctx, this.getBoundingRect());
}
},
getBoundingRect: function () {
var style = this.style;
if (!this._rect) {
this._rect = new BoundingRect(style.x || 0, style.y || 0, style.width || 0, style.height || 0);
}
return this._rect;
}
};
zrUtil.inherits(ZImage, Displayable);
var _default = ZImage;
module.exports = _default;
/***/ }),
/***/ "DlQD":
/*!*******************************************!*\
!*** ./node_modules/marked/lib/marked.js ***!
\*******************************************/
/*! no static exports found */
/*! exports used: default */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports, __webpack_require__) {
/**
* marked - a markdown parser
* Copyright (c) 2011-2020, Christopher Jeffrey. (MIT Licensed)
* https://github.com/markedjs/marked
*/
/**
* DO NOT EDIT THIS FILE
* The code in this file is generated from files in ./src/
*/
(function (global, factory) {
true ? module.exports = factory() :
undefined;
}(this, (function () { 'use strict';
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 _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;
}
function _createForOfIteratorHelperLoose(o, allowArrayLike) {
var it;
if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) {
if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
if (it) o = it;
var i = 0;
return function () {
if (i >= o.length) return {
done: true
};
return {
done: false,
value: o[i++]
};
};
}
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
it = o[Symbol.iterator]();
return it.next.bind(it);
}
function createCommonjsModule(fn, module) {
return module = { exports: {} }, fn(module, module.exports), module.exports;
}
var defaults = createCommonjsModule(function (module) {
function getDefaults() {
return {
baseUrl: null,
breaks: false,
gfm: true,
headerIds: true,
headerPrefix: '',
highlight: null,
langPrefix: 'language-',
mangle: true,
pedantic: false,
renderer: null,
sanitize: false,
sanitizer: null,
silent: false,
smartLists: false,
smartypants: false,
tokenizer: null,
walkTokens: null,
xhtml: false
};
}
function changeDefaults(newDefaults) {
module.exports.defaults = newDefaults;
}
module.exports = {
defaults: getDefaults(),
getDefaults: getDefaults,
changeDefaults: changeDefaults
};
});
var defaults_1 = defaults.defaults;
var defaults_2 = defaults.getDefaults;
var defaults_3 = defaults.changeDefaults;
/**
* Helpers
*/
var escapeTest = /[&<>"']/;
var escapeReplace = /[&<>"']/g;
var escapeTestNoEncode = /[<>"']|&(?!#?\w+;)/;
var escapeReplaceNoEncode = /[<>"']|&(?!#?\w+;)/g;
var escapeReplacements = {
'&': '&',
'<': '<',
'>': '>',
'"': '"',
"'": '''
};
var getEscapeReplacement = function getEscapeReplacement(ch) {
return escapeReplacements[ch];
};
function escape(html, encode) {
if (encode) {
if (escapeTest.test(html)) {
return html.replace(escapeReplace, getEscapeReplacement);
}
} else {
if (escapeTestNoEncode.test(html)) {
return html.replace(escapeReplaceNoEncode, getEscapeReplacement);
}
}
return html;
}
var unescapeTest = /&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;
function unescape(html) {
// explicitly match decimal, hex, and named HTML entities
return html.replace(unescapeTest, function (_, n) {
n = n.toLowerCase();
if (n === 'colon') return ':';
if (n.charAt(0) === '#') {
return n.charAt(1) === 'x' ? String.fromCharCode(parseInt(n.substring(2), 16)) : String.fromCharCode(+n.substring(1));
}
return '';
});
}
var caret = /(^|[^\[])\^/g;
function edit(regex, opt) {
regex = regex.source || regex;
opt = opt || '';
var obj = {
replace: function replace(name, val) {
val = val.source || val;
val = val.replace(caret, '$1');
regex = regex.replace(name, val);
return obj;
},
getRegex: function getRegex() {
return new RegExp(regex, opt);
}
};
return obj;
}
var nonWordAndColonTest = /[^\w:]/g;
var originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;
function cleanUrl(sanitize, base, href) {
if (sanitize) {
var prot;
try {
prot = decodeURIComponent(unescape(href)).replace(nonWordAndColonTest, '').toLowerCase();
} catch (e) {
return null;
}
if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0 || prot.indexOf('data:') === 0) {
return null;
}
}
if (base && !originIndependentUrl.test(href)) {
href = resolveUrl(base, href);
}
try {
href = encodeURI(href).replace(/%25/g, '%');
} catch (e) {
return null;
}
return href;
}
var baseUrls = {};
var justDomain = /^[^:]+:\/*[^/]*$/;
var protocol = /^([^:]+:)[\s\S]*$/;
var domain = /^([^:]+:\/*[^/]*)[\s\S]*$/;
function resolveUrl(base, href) {
if (!baseUrls[' ' + base]) {
// we can ignore everything in base after the last slash of its path component,
// but we might need to add _that_
// https://tools.ietf.org/html/rfc3986#section-3
if (justDomain.test(base)) {
baseUrls[' ' + base] = base + '/';
} else {
baseUrls[' ' + base] = rtrim(base, '/', true);
}
}
base = baseUrls[' ' + base];
var relativeBase = base.indexOf(':') === -1;
if (href.substring(0, 2) === '//') {
if (relativeBase) {
return href;
}
return base.replace(protocol, '$1') + href;
} else if (href.charAt(0) === '/') {
if (relativeBase) {
return href;
}
return base.replace(domain, '$1') + href;
} else {
return base + href;
}
}
var noopTest = {
exec: function noopTest() {}
};
function merge(obj) {
var i = 1,
target,
key;
for (; i < arguments.length; i++) {
target = arguments[i];
for (key in target) {
if (Object.prototype.hasOwnProperty.call(target, key)) {
obj[key] = target[key];
}
}
}
return obj;
}
function splitCells(tableRow, count) {
// ensure that every cell-delimiting pipe has a space
// before it to distinguish it from an escaped pipe
var row = tableRow.replace(/\|/g, function (match, offset, str) {
var escaped = false,
curr = offset;
while (--curr >= 0 && str[curr] === '\\') {
escaped = !escaped;
}
if (escaped) {
// odd number of slashes means | is escaped
// so we leave it alone
return '|';
} else {
// add space before unescaped |
return ' |';
}
}),
cells = row.split(/ \|/);
var i = 0;
if (cells.length > count) {
cells.splice(count);
} else {
while (cells.length < count) {
cells.push('');
}
}
for (; i < cells.length; i++) {
// leading or trailing whitespace is ignored per the gfm spec
cells[i] = cells[i].trim().replace(/\\\|/g, '|');
}
return cells;
} // Remove trailing 'c's. Equivalent to str.replace(/c*$/, '').
// /c*$/ is vulnerable to REDOS.
// invert: Remove suffix of non-c chars instead. Default falsey.
function rtrim(str, c, invert) {
var l = str.length;
if (l === 0) {
return '';
} // Length of suffix matching the invert condition.
var suffLen = 0; // Step left until we fail to match the invert condition.
while (suffLen < l) {
var currChar = str.charAt(l - suffLen - 1);
if (currChar === c && !invert) {
suffLen++;
} else if (currChar !== c && invert) {
suffLen++;
} else {
break;
}
}
return str.substr(0, l - suffLen);
}
function findClosingBracket(str, b) {
if (str.indexOf(b[1]) === -1) {
return -1;
}
var l = str.length;
var level = 0,
i = 0;
for (; i < l; i++) {
if (str[i] === '\\') {
i++;
} else if (str[i] === b[0]) {
level++;
} else if (str[i] === b[1]) {
level--;
if (level < 0) {
return i;
}
}
}
return -1;
}
function checkSanitizeDeprecation(opt) {
if (opt && opt.sanitize && !opt.silent) {
console.warn('marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options');
}
}
var helpers = {
escape: escape,
unescape: unescape,
edit: edit,
cleanUrl: cleanUrl,
resolveUrl: resolveUrl,
noopTest: noopTest,
merge: merge,
splitCells: splitCells,
rtrim: rtrim,
findClosingBracket: findClosingBracket,
checkSanitizeDeprecation: checkSanitizeDeprecation
};
var defaults$1 = defaults.defaults;
var rtrim$1 = helpers.rtrim,
splitCells$1 = helpers.splitCells,
_escape = helpers.escape,
findClosingBracket$1 = helpers.findClosingBracket;
function outputLink(cap, link, raw) {
var href = link.href;
var title = link.title ? _escape(link.title) : null;
var text = cap[1].replace(/\\([\[\]])/g, '$1');
if (cap[0].charAt(0) !== '!') {
return {
type: 'link',
raw: raw,
href: href,
title: title,
text: text
};
} else {
return {
type: 'image',
raw: raw,
href: href,
title: title,
text: _escape(text)
};
}
}
function indentCodeCompensation(raw, text) {
var matchIndentToCode = raw.match(/^(\s+)(?:```)/);
if (matchIndentToCode === null) {
return text;
}
var indentToCode = matchIndentToCode[1];
return text.split('\n').map(function (node) {
var matchIndentInNode = node.match(/^\s+/);
if (matchIndentInNode === null) {
return node;
}
var indentInNode = matchIndentInNode[0];
if (indentInNode.length >= indentToCode.length) {
return node.slice(indentToCode.length);
}
return node;
}).join('\n');
}
/**
* Tokenizer
*/
var Tokenizer_1 = /*#__PURE__*/function () {
function Tokenizer(options) {
this.options = options || defaults$1;
}
var _proto = Tokenizer.prototype;
_proto.space = function space(src) {
var cap = this.rules.block.newline.exec(src);
if (cap) {
if (cap[0].length > 1) {
return {
type: 'space',
raw: cap[0]
};
}
return {
raw: '\n'
};
}
};
_proto.code = function code(src, tokens) {
var cap = this.rules.block.code.exec(src);
if (cap) {
var lastToken = tokens[tokens.length - 1]; // An indented code block cannot interrupt a paragraph.
if (lastToken && lastToken.type === 'paragraph') {
return {
raw: cap[0],
text: cap[0].trimRight()
};
}
var text = cap[0].replace(/^ {4}/gm, '');
return {
type: 'code',
raw: cap[0],
codeBlockStyle: 'indented',
text: !this.options.pedantic ? rtrim$1(text, '\n') : text
};
}
};
_proto.fences = function fences(src) {
var cap = this.rules.block.fences.exec(src);
if (cap) {
var raw = cap[0];
var text = indentCodeCompensation(raw, cap[3] || '');
return {
type: 'code',
raw: raw,
lang: cap[2] ? cap[2].trim() : cap[2],
text: text
};
}
};
_proto.heading = function heading(src) {
var cap = this.rules.block.heading.exec(src);
if (cap) {
return {
type: 'heading',
raw: cap[0],
depth: cap[1].length,
text: cap[2]
};
}
};
_proto.nptable = function nptable(src) {
var cap = this.rules.block.nptable.exec(src);
if (cap) {
var item = {
type: 'table',
header: splitCells$1(cap[1].replace(/^ *| *\| *$/g, '')),
align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */),
cells: cap[3] ? cap[3].replace(/\n$/, '').split('\n') : [],
raw: cap[0]
};
if (item.header.length === item.align.length) {
var l = item.align.length;
var i;
for (i = 0; i < l; i++) {
if (/^ *-+: *$/.test(item.align[i])) {
item.align[i] = 'right';
} else if (/^ *:-+: *$/.test(item.align[i])) {
item.align[i] = 'center';
} else if (/^ *:-+ *$/.test(item.align[i])) {
item.align[i] = 'left';
} else {
item.align[i] = null;
}
}
l = item.cells.length;
for (i = 0; i < l; i++) {
item.cells[i] = splitCells$1(item.cells[i], item.header.length);
}
return item;
}
}
};
_proto.hr = function hr(src) {
var cap = this.rules.block.hr.exec(src);
if (cap) {
return {
type: 'hr',
raw: cap[0]
};
}
};
_proto.blockquote = function blockquote(src) {
var cap = this.rules.block.blockquote.exec(src);
if (cap) {
var text = cap[0].replace(/^ *> ?/gm, '');
return {
type: 'blockquote',
raw: cap[0],
text: text
};
}
};
_proto.list = function list(src) {
var cap = this.rules.block.list.exec(src);
if (cap) {
var raw = cap[0];
var bull = cap[2];
var isordered = bull.length > 1;
var isparen = bull[bull.length - 1] === ')';
var list = {
type: 'list',
raw: raw,
ordered: isordered,
start: isordered ? +bull.slice(0, -1) : '',
loose: false,
items: []
}; // Get each top-level item.
var itemMatch = cap[0].match(this.rules.block.item);
var next = false,
item,
space,
b,
addBack,
loose,
istask,
ischecked;
var l = itemMatch.length;
for (var i = 0; i < l; i++) {
item = itemMatch[i];
raw = item; // Remove the list item's bullet
// so it is seen as the next token.
space = item.length;
item = item.replace(/^ *([*+-]|\d+[.)]) */, ''); // Outdent whatever the
// list item contains. Hacky.
if (~item.indexOf('\n ')) {
space -= item.length;
item = !this.options.pedantic ? item.replace(new RegExp('^ {1,' + space + '}', 'gm'), '') : item.replace(/^ {1,4}/gm, '');
} // Determine whether the next list item belongs here.
// Backpedal if it does not belong in this list.
if (i !== l - 1) {
b = this.rules.block.bullet.exec(itemMatch[i + 1])[0];
if (isordered ? b.length === 1 || !isparen && b[b.length - 1] === ')' : b.length > 1 || this.options.smartLists && b !== bull) {
addBack = itemMatch.slice(i + 1).join('\n');
list.raw = list.raw.substring(0, list.raw.length - addBack.length);
i = l - 1;
}
} // Determine whether item is loose or not.
// Use: /(^|\n)(?! )[^\n]+\n\n(?!\s*$)/
// for discount behavior.
loose = next || /\n\n(?!\s*$)/.test(item);
if (i !== l - 1) {
next = item.charAt(item.length - 1) === '\n';
if (!loose) loose = next;
}
if (loose) {
list.loose = true;
} // Check for task list items
istask = /^\[[ xX]\] /.test(item);
ischecked = undefined;
if (istask) {
ischecked = item[1] !== ' ';
item = item.replace(/^\[[ xX]\] +/, '');
}
list.items.push({
type: 'list_item',
raw: raw,
task: istask,
checked: ischecked,
loose: loose,
text: item
});
}
return list;
}
};
_proto.html = function html(src) {
var cap = this.rules.block.html.exec(src);
if (cap) {
return {
type: this.options.sanitize ? 'paragraph' : 'html',
raw: cap[0],
pre: !this.options.sanitizer && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'),
text: this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(cap[0]) : _escape(cap[0]) : cap[0]
};
}
};
_proto.def = function def(src) {
var cap = this.rules.block.def.exec(src);
if (cap) {
if (cap[3]) cap[3] = cap[3].substring(1, cap[3].length - 1);
var tag = cap[1].toLowerCase().replace(/\s+/g, ' ');
return {
tag: tag,
raw: cap[0],
href: cap[2],
title: cap[3]
};
}
};
_proto.table = function table(src) {
var cap = this.rules.block.table.exec(src);
if (cap) {
var item = {
type: 'table',
header: splitCells$1(cap[1].replace(/^ *| *\| *$/g, '')),
align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */),
cells: cap[3] ? cap[3].replace(/\n$/, '').split('\n') : []
};
if (item.header.length === item.align.length) {
item.raw = cap[0];
var l = item.align.length;
var i;
for (i = 0; i < l; i++) {
if (/^ *-+: *$/.test(item.align[i])) {
item.align[i] = 'right';
} else if (/^ *:-+: *$/.test(item.align[i])) {
item.align[i] = 'center';
} else if (/^ *:-+ *$/.test(item.align[i])) {
item.align[i] = 'left';
} else {
item.align[i] = null;
}
}
l = item.cells.length;
for (i = 0; i < l; i++) {
item.cells[i] = splitCells$1(item.cells[i].replace(/^ *\| *| *\| *$/g, ''), item.header.length);
}
return item;
}
}
};
_proto.lheading = function lheading(src) {
var cap = this.rules.block.lheading.exec(src);
if (cap) {
return {
type: 'heading',
raw: cap[0],
depth: cap[2].charAt(0) === '=' ? 1 : 2,
text: cap[1]
};
}
};
_proto.paragraph = function paragraph(src) {
var cap = this.rules.block.paragraph.exec(src);
if (cap) {
return {
type: 'paragraph',
raw: cap[0],
text: cap[1].charAt(cap[1].length - 1) === '\n' ? cap[1].slice(0, -1) : cap[1]
};
}
};
_proto.text = function text(src, tokens) {
var cap = this.rules.block.text.exec(src);
if (cap) {
var lastToken = tokens[tokens.length - 1];
if (lastToken && lastToken.type === 'text') {
return {
raw: cap[0],
text: cap[0]
};
}
return {
type: 'text',
raw: cap[0],
text: cap[0]
};
}
};
_proto.escape = function escape(src) {
var cap = this.rules.inline.escape.exec(src);
if (cap) {
return {
type: 'escape',
raw: cap[0],
text: _escape(cap[1])
};
}
};
_proto.tag = function tag(src, inLink, inRawBlock) {
var cap = this.rules.inline.tag.exec(src);
if (cap) {
if (!inLink && /^/i.test(cap[0])) {
inLink = false;
}
if (!inRawBlock && /^<(pre|code|kbd|script)(\s|>)/i.test(cap[0])) {
inRawBlock = true;
} else if (inRawBlock && /^<\/(pre|code|kbd|script)(\s|>)/i.test(cap[0])) {
inRawBlock = false;
}
return {
type: this.options.sanitize ? 'text' : 'html',
raw: cap[0],
inLink: inLink,
inRawBlock: inRawBlock,
text: this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(cap[0]) : _escape(cap[0]) : cap[0]
};
}
};
_proto.link = function link(src) {
var cap = this.rules.inline.link.exec(src);
if (cap) {
var lastParenIndex = findClosingBracket$1(cap[2], '()');
if (lastParenIndex > -1) {
var start = cap[0].indexOf('!') === 0 ? 5 : 4;
var linkLen = start + cap[1].length + lastParenIndex;
cap[2] = cap[2].substring(0, lastParenIndex);
cap[0] = cap[0].substring(0, linkLen).trim();
cap[3] = '';
}
var href = cap[2];
var title = '';
if (this.options.pedantic) {
var link = /^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(href);
if (link) {
href = link[1];
title = link[3];
} else {
title = '';
}
} else {
title = cap[3] ? cap[3].slice(1, -1) : '';
}
href = href.trim().replace(/^<([\s\S]*)>$/, '$1');
var token = outputLink(cap, {
href: href ? href.replace(this.rules.inline._escapes, '$1') : href,
title: title ? title.replace(this.rules.inline._escapes, '$1') : title
}, cap[0]);
return token;
}
};
_proto.reflink = function reflink(src, links) {
var cap;
if ((cap = this.rules.inline.reflink.exec(src)) || (cap = this.rules.inline.nolink.exec(src))) {
var link = (cap[2] || cap[1]).replace(/\s+/g, ' ');
link = links[link.toLowerCase()];
if (!link || !link.href) {
var text = cap[0].charAt(0);
return {
type: 'text',
raw: text,
text: text
};
}
var token = outputLink(cap, link, cap[0]);
return token;
}
};
_proto.strong = function strong(src, maskedSrc, prevChar) {
if (prevChar === void 0) {
prevChar = '';
}
var match = this.rules.inline.strong.start.exec(src);
if (match && (!match[1] || match[1] && (prevChar === '' || this.rules.inline.punctuation.exec(prevChar)))) {
maskedSrc = maskedSrc.slice(-1 * src.length);
var endReg = match[0] === '**' ? this.rules.inline.strong.endAst : this.rules.inline.strong.endUnd;
endReg.lastIndex = 0;
var cap;
while ((match = endReg.exec(maskedSrc)) != null) {
cap = this.rules.inline.strong.middle.exec(maskedSrc.slice(0, match.index + 3));
if (cap) {
return {
type: 'strong',
raw: src.slice(0, cap[0].length),
text: src.slice(2, cap[0].length - 2)
};
}
}
}
};
_proto.em = function em(src, maskedSrc, prevChar) {
if (prevChar === void 0) {
prevChar = '';
}
var match = this.rules.inline.em.start.exec(src);
if (match && (!match[1] || match[1] && (prevChar === '' || this.rules.inline.punctuation.exec(prevChar)))) {
maskedSrc = maskedSrc.slice(-1 * src.length);
var endReg = match[0] === '*' ? this.rules.inline.em.endAst : this.rules.inline.em.endUnd;
endReg.lastIndex = 0;
var cap;
while ((match = endReg.exec(maskedSrc)) != null) {
cap = this.rules.inline.em.middle.exec(maskedSrc.slice(0, match.index + 2));
if (cap) {
return {
type: 'em',
raw: src.slice(0, cap[0].length),
text: src.slice(1, cap[0].length - 1)
};
}
}
}
};
_proto.codespan = function codespan(src) {
var cap = this.rules.inline.code.exec(src);
if (cap) {
var text = cap[2].replace(/\n/g, ' ');
var hasNonSpaceChars = /[^ ]/.test(text);
var hasSpaceCharsOnBothEnds = text.startsWith(' ') && text.endsWith(' ');
if (hasNonSpaceChars && hasSpaceCharsOnBothEnds) {
text = text.substring(1, text.length - 1);
}
text = _escape(text, true);
return {
type: 'codespan',
raw: cap[0],
text: text
};
}
};
_proto.br = function br(src) {
var cap = this.rules.inline.br.exec(src);
if (cap) {
return {
type: 'br',
raw: cap[0]
};
}
};
_proto.del = function del(src) {
var cap = this.rules.inline.del.exec(src);
if (cap) {
return {
type: 'del',
raw: cap[0],
text: cap[1]
};
}
};
_proto.autolink = function autolink(src, mangle) {
var cap = this.rules.inline.autolink.exec(src);
if (cap) {
var text, href;
if (cap[2] === '@') {
text = _escape(this.options.mangle ? mangle(cap[1]) : cap[1]);
href = 'mailto:' + text;
} else {
text = _escape(cap[1]);
href = text;
}
return {
type: 'link',
raw: cap[0],
text: text,
href: href,
tokens: [{
type: 'text',
raw: text,
text: text
}]
};
}
};
_proto.url = function url(src, mangle) {
var cap;
if (cap = this.rules.inline.url.exec(src)) {
var text, href;
if (cap[2] === '@') {
text = _escape(this.options.mangle ? mangle(cap[0]) : cap[0]);
href = 'mailto:' + text;
} else {
// do extended autolink path validation
var prevCapZero;
do {
prevCapZero = cap[0];
cap[0] = this.rules.inline._backpedal.exec(cap[0])[0];
} while (prevCapZero !== cap[0]);
text = _escape(cap[0]);
if (cap[1] === 'www.') {
href = 'http://' + text;
} else {
href = text;
}
}
return {
type: 'link',
raw: cap[0],
text: text,
href: href,
tokens: [{
type: 'text',
raw: text,
text: text
}]
};
}
};
_proto.inlineText = function inlineText(src, inRawBlock, smartypants) {
var cap = this.rules.inline.text.exec(src);
if (cap) {
var text;
if (inRawBlock) {
text = this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(cap[0]) : _escape(cap[0]) : cap[0];
} else {
text = _escape(this.options.smartypants ? smartypants(cap[0]) : cap[0]);
}
return {
type: 'text',
raw: cap[0],
text: text
};
}
};
return Tokenizer;
}();
var noopTest$1 = helpers.noopTest,
edit$1 = helpers.edit,
merge$1 = helpers.merge;
/**
* Block-Level Grammar
*/
var block = {
newline: /^\n+/,
code: /^( {4}[^\n]+\n*)+/,
fences: /^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,
hr: /^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,
heading: /^ {0,3}(#{1,6}) +([^\n]*?)(?: +#+)? *(?:\n+|$)/,
blockquote: /^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,
list: /^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,
html: '^ {0,3}(?:' // optional indentation
+ '<(script|pre|style)[\\s>][\\s\\S]*?(?:\\1>[^\\n]*\\n+|$)' // (1)
+ '|comment[^\\n]*(\\n+|$)' // (2)
+ '|<\\?[\\s\\S]*?\\?>\\n*' // (3)
+ '|\\n*' // (4)
+ '|\\n*' // (5)
+ '|?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:\\n{2,}|$)' // (6)
+ '|<(?!script|pre|style)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$)' // (7) open tag
+ '|(?!script|pre|style)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$)' // (7) closing tag
+ ')',
def: /^ {0,3}\[(label)\]: *\n? *([^\s>]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,
nptable: noopTest$1,
table: noopTest$1,
lheading: /^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,
// regex template, placeholders will be replaced according to different paragraph
// interruption rules of commonmark and the original markdown spec:
_paragraph: /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html)[^\n]+)*)/,
text: /^[^\n]+/
};
block._label = /(?!\s*\])(?:\\[\[\]]|[^\[\]])+/;
block._title = /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/;
block.def = edit$1(block.def).replace('label', block._label).replace('title', block._title).getRegex();
block.bullet = /(?:[*+-]|\d{1,9}[.)])/;
block.item = /^( *)(bull) ?[^\n]*(?:\n(?!\1bull ?)[^\n]*)*/;
block.item = edit$1(block.item, 'gm').replace(/bull/g, block.bullet).getRegex();
block.list = edit$1(block.list).replace(/bull/g, block.bullet).replace('hr', '\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))').replace('def', '\\n+(?=' + block.def.source + ')').getRegex();
block._tag = 'address|article|aside|base|basefont|blockquote|body|caption' + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption' + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe' + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option' + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr' + '|track|ul';
block._comment = //;
block.html = edit$1(block.html, 'i').replace('comment', block._comment).replace('tag', block._tag).replace('attribute', / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex();
block.paragraph = edit$1(block._paragraph).replace('hr', block.hr).replace('heading', ' {0,3}#{1,6} ').replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs
.replace('blockquote', ' {0,3}>').replace('fences', ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n').replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt
.replace('html', '?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|!--)').replace('tag', block._tag) // pars can be interrupted by type (6) html blocks
.getRegex();
block.blockquote = edit$1(block.blockquote).replace('paragraph', block.paragraph).getRegex();
/**
* Normal Block Grammar
*/
block.normal = merge$1({}, block);
/**
* GFM Block Grammar
*/
block.gfm = merge$1({}, block.normal, {
nptable: '^ *([^|\\n ].*\\|.*)\\n' // Header
+ ' *([-:]+ *\\|[-| :]*)' // Align
+ '(?:\\n((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)',
// Cells
table: '^ *\\|(.+)\\n' // Header
+ ' *\\|?( *[-:]+[-| :]*)' // Align
+ '(?:\\n *((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)' // Cells
});
block.gfm.nptable = edit$1(block.gfm.nptable).replace('hr', block.hr).replace('heading', ' {0,3}#{1,6} ').replace('blockquote', ' {0,3}>').replace('code', ' {4}[^\\n]').replace('fences', ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n').replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt
.replace('html', '?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|!--)').replace('tag', block._tag) // tables can be interrupted by type (6) html blocks
.getRegex();
block.gfm.table = edit$1(block.gfm.table).replace('hr', block.hr).replace('heading', ' {0,3}#{1,6} ').replace('blockquote', ' {0,3}>').replace('code', ' {4}[^\\n]').replace('fences', ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n').replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt
.replace('html', '?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|!--)').replace('tag', block._tag) // tables can be interrupted by type (6) html blocks
.getRegex();
/**
* Pedantic grammar (original John Gruber's loose markdown specification)
*/
block.pedantic = merge$1({}, block.normal, {
html: edit$1('^ *(?:comment *(?:\\n|\\s*$)' + '|<(tag)[\\s\\S]+?\\1> *(?:\\n{2,}|\\s*$)' // closed tag
+ '|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))').replace('comment', block._comment).replace(/tag/g, '(?!(?:' + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub' + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)' + '\\b)\\w+(?!:|[^\\w\\s@]*@)\\b').getRegex(),
def: /^ *\[([^\]]+)\]: *([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,
heading: /^ *(#{1,6}) *([^\n]+?) *(?:#+ *)?(?:\n+|$)/,
fences: noopTest$1,
// fences not supported
paragraph: edit$1(block.normal._paragraph).replace('hr', block.hr).replace('heading', ' *#{1,6} *[^\n]').replace('lheading', block.lheading).replace('blockquote', ' {0,3}>').replace('|fences', '').replace('|list', '').replace('|html', '').getRegex()
});
/**
* Inline-Level Grammar
*/
var inline = {
escape: /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,
autolink: /^<(scheme:[^\s\x00-\x1f<>]*|email)>/,
url: noopTest$1,
tag: '^comment' + '|^[a-zA-Z][\\w:-]*\\s*>' // self-closing tag
+ '|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>' // open tag
+ '|^<\\?[\\s\\S]*?\\?>' // processing instruction, e.g.
+ '|^' // declaration, e.g.
+ '|^',
// CDATA section
link: /^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,
reflink: /^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,
nolink: /^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,
reflinkSearch: 'reflink|nolink(?!\\()',
strong: {
start: /^(?:(\*\*(?=[*punctuation]))|\*\*)(?![\s])|__/,
// (1) returns if starts w/ punctuation
middle: /^\*\*(?:(?:(?!overlapSkip)(?:[^*]|\\\*)|overlapSkip)|\*(?:(?!overlapSkip)(?:[^*]|\\\*)|overlapSkip)*?\*)+?\*\*$|^__(?![\s])((?:(?:(?!overlapSkip)(?:[^_]|\\_)|overlapSkip)|_(?:(?!overlapSkip)(?:[^_]|\\_)|overlapSkip)*?_)+?)__$/,
endAst: /[^punctuation\s]\*\*(?!\*)|[punctuation]\*\*(?!\*)(?:(?=[punctuation\s]|$))/,
// last char can't be punct, or final * must also be followed by punct (or endline)
endUnd: /[^\s]__(?!_)(?:(?=[punctuation\s])|$)/ // last char can't be a space, and final _ must preceed punct or \s (or endline)
},
em: {
start: /^(?:(\*(?=[punctuation]))|\*)(?![*\s])|_/,
// (1) returns if starts w/ punctuation
middle: /^\*(?:(?:(?!overlapSkip)(?:[^*]|\\\*)|overlapSkip)|\*(?:(?!overlapSkip)(?:[^*]|\\\*)|overlapSkip)*?\*)+?\*$|^_(?![_\s])(?:(?:(?!overlapSkip)(?:[^_]|\\_)|overlapSkip)|_(?:(?!overlapSkip)(?:[^_]|\\_)|overlapSkip)*?_)+?_$/,
endAst: /[^punctuation\s]\*(?!\*)|[punctuation]\*(?!\*)(?:(?=[punctuation\s]|$))/,
// last char can't be punct, or final * must also be followed by punct (or endline)
endUnd: /[^\s]_(?!_)(?:(?=[punctuation\s])|$)/ // last char can't be a space, and final _ must preceed punct or \s (or endline)
},
code: /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,
br: /^( {2,}|\\)\n(?!\s*$)/,
del: noopTest$1,
text: /^(`+|[^`])(?:[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~';
inline.punctuation = edit$1(inline.punctuation).replace(/punctuation/g, inline._punctuation).getRegex(); // sequences em should skip over [title](link), `code`,
inline._blockSkip = '\\[[^\\]]*?\\]\\([^\\)]*?\\)|`[^`]*?`|<[^>]*?>';
inline._overlapSkip = '__[^_]*?__|\\*\\*\\[^\\*\\]*?\\*\\*';
inline.em.start = edit$1(inline.em.start).replace(/punctuation/g, inline._punctuation).getRegex();
inline.em.middle = edit$1(inline.em.middle).replace(/punctuation/g, inline._punctuation).replace(/overlapSkip/g, inline._overlapSkip).getRegex();
inline.em.endAst = edit$1(inline.em.endAst, 'g').replace(/punctuation/g, inline._punctuation).getRegex();
inline.em.endUnd = edit$1(inline.em.endUnd, 'g').replace(/punctuation/g, inline._punctuation).getRegex();
inline.strong.start = edit$1(inline.strong.start).replace(/punctuation/g, inline._punctuation).getRegex();
inline.strong.middle = edit$1(inline.strong.middle).replace(/punctuation/g, inline._punctuation).replace(/blockSkip/g, inline._blockSkip).getRegex();
inline.strong.endAst = edit$1(inline.strong.endAst, 'g').replace(/punctuation/g, inline._punctuation).getRegex();
inline.strong.endUnd = edit$1(inline.strong.endUnd, 'g').replace(/punctuation/g, inline._punctuation).getRegex();
inline.blockSkip = edit$1(inline._blockSkip, 'g').getRegex();
inline.overlapSkip = edit$1(inline._overlapSkip, 'g').getRegex();
inline._escapes = /\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g;
inline._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;
inline._email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/;
inline.autolink = edit$1(inline.autolink).replace('scheme', inline._scheme).replace('email', inline._email).getRegex();
inline._attribute = /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/;
inline.tag = edit$1(inline.tag).replace('comment', block._comment).replace('attribute', inline._attribute).getRegex();
inline._label = /(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/;
inline._href = /<(?:\\[<>]?|[^\s<>\\])*>|[^\s\x00-\x1f]*/;
inline._title = /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/;
inline.link = edit$1(inline.link).replace('label', inline._label).replace('href', inline._href).replace('title', inline._title).getRegex();
inline.reflink = edit$1(inline.reflink).replace('label', inline._label).getRegex();
inline.reflinkSearch = edit$1(inline.reflinkSearch, 'g').replace('reflink', inline.reflink).replace('nolink', inline.nolink).getRegex();
/**
* Normal Inline Grammar
*/
inline.normal = merge$1({}, inline);
/**
* Pedantic Inline Grammar
*/
inline.pedantic = merge$1({}, inline.normal, {
strong: {
start: /^__|\*\*/,
middle: /^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,
endAst: /\*\*(?!\*)/g,
endUnd: /__(?!_)/g
},
em: {
start: /^_|\*/,
middle: /^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,
endAst: /\*(?!\*)/g,
endUnd: /_(?!_)/g
},
link: edit$1(/^!?\[(label)\]\((.*?)\)/).replace('label', inline._label).getRegex(),
reflink: edit$1(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace('label', inline._label).getRegex()
});
/**
* GFM Inline Grammar
*/
inline.gfm = merge$1({}, inline.normal, {
escape: edit$1(inline.escape).replace('])', '~|])').getRegex(),
_extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,
url: /^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,
_backpedal: /(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,
del: /^~+(?=\S)([\s\S]*?\S)~+/,
text: /^(`+|[^`])(?:[\s\S]*?(?:(?=[\\ 0.5) {
ch = 'x' + ch.toString(16);
}
out += '' + ch + ';';
}
return out;
}
/**
* Block Lexer
*/
var Lexer_1 = /*#__PURE__*/function () {
function Lexer(options) {
this.tokens = [];
this.tokens.links = Object.create(null);
this.options = options || defaults$2;
this.options.tokenizer = this.options.tokenizer || new Tokenizer_1();
this.tokenizer = this.options.tokenizer;
this.tokenizer.options = this.options;
var rules = {
block: block$1.normal,
inline: inline$1.normal
};
if (this.options.pedantic) {
rules.block = block$1.pedantic;
rules.inline = inline$1.pedantic;
} else if (this.options.gfm) {
rules.block = block$1.gfm;
if (this.options.breaks) {
rules.inline = inline$1.breaks;
} else {
rules.inline = inline$1.gfm;
}
}
this.tokenizer.rules = rules;
}
/**
* Expose Rules
*/
/**
* Static Lex Method
*/
Lexer.lex = function lex(src, options) {
var lexer = new Lexer(options);
return lexer.lex(src);
}
/**
* Preprocessing
*/
;
var _proto = Lexer.prototype;
_proto.lex = function lex(src) {
src = src.replace(/\r\n|\r/g, '\n').replace(/\t/g, ' ');
this.blockTokens(src, this.tokens, true);
this.inline(this.tokens);
return this.tokens;
}
/**
* Lexing
*/
;
_proto.blockTokens = function blockTokens(src, tokens, top) {
if (tokens === void 0) {
tokens = [];
}
if (top === void 0) {
top = true;
}
src = src.replace(/^ +$/gm, '');
var token, i, l, lastToken;
while (src) {
// newline
if (token = this.tokenizer.space(src)) {
src = src.substring(token.raw.length);
if (token.type) {
tokens.push(token);
}
continue;
} // code
if (token = this.tokenizer.code(src, tokens)) {
src = src.substring(token.raw.length);
if (token.type) {
tokens.push(token);
} else {
lastToken = tokens[tokens.length - 1];
lastToken.raw += '\n' + token.raw;
lastToken.text += '\n' + token.text;
}
continue;
} // fences
if (token = this.tokenizer.fences(src)) {
src = src.substring(token.raw.length);
tokens.push(token);
continue;
} // heading
if (token = this.tokenizer.heading(src)) {
src = src.substring(token.raw.length);
tokens.push(token);
continue;
} // table no leading pipe (gfm)
if (token = this.tokenizer.nptable(src)) {
src = src.substring(token.raw.length);
tokens.push(token);
continue;
} // hr
if (token = this.tokenizer.hr(src)) {
src = src.substring(token.raw.length);
tokens.push(token);
continue;
} // blockquote
if (token = this.tokenizer.blockquote(src)) {
src = src.substring(token.raw.length);
token.tokens = this.blockTokens(token.text, [], top);
tokens.push(token);
continue;
} // list
if (token = this.tokenizer.list(src)) {
src = src.substring(token.raw.length);
l = token.items.length;
for (i = 0; i < l; i++) {
token.items[i].tokens = this.blockTokens(token.items[i].text, [], false);
}
tokens.push(token);
continue;
} // html
if (token = this.tokenizer.html(src)) {
src = src.substring(token.raw.length);
tokens.push(token);
continue;
} // def
if (top && (token = this.tokenizer.def(src))) {
src = src.substring(token.raw.length);
if (!this.tokens.links[token.tag]) {
this.tokens.links[token.tag] = {
href: token.href,
title: token.title
};
}
continue;
} // table (gfm)
if (token = this.tokenizer.table(src)) {
src = src.substring(token.raw.length);
tokens.push(token);
continue;
} // lheading
if (token = this.tokenizer.lheading(src)) {
src = src.substring(token.raw.length);
tokens.push(token);
continue;
} // top-level paragraph
if (top && (token = this.tokenizer.paragraph(src))) {
src = src.substring(token.raw.length);
tokens.push(token);
continue;
} // text
if (token = this.tokenizer.text(src, tokens)) {
src = src.substring(token.raw.length);
if (token.type) {
tokens.push(token);
} else {
lastToken = tokens[tokens.length - 1];
lastToken.raw += '\n' + token.raw;
lastToken.text += '\n' + token.text;
}
continue;
}
if (src) {
var errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);
if (this.options.silent) {
console.error(errMsg);
break;
} else {
throw new Error(errMsg);
}
}
}
return tokens;
};
_proto.inline = function inline(tokens) {
var i, j, k, l2, row, token;
var l = tokens.length;
for (i = 0; i < l; i++) {
token = tokens[i];
switch (token.type) {
case 'paragraph':
case 'text':
case 'heading':
{
token.tokens = [];
this.inlineTokens(token.text, token.tokens);
break;
}
case 'table':
{
token.tokens = {
header: [],
cells: []
}; // header
l2 = token.header.length;
for (j = 0; j < l2; j++) {
token.tokens.header[j] = [];
this.inlineTokens(token.header[j], token.tokens.header[j]);
} // cells
l2 = token.cells.length;
for (j = 0; j < l2; j++) {
row = token.cells[j];
token.tokens.cells[j] = [];
for (k = 0; k < row.length; k++) {
token.tokens.cells[j][k] = [];
this.inlineTokens(row[k], token.tokens.cells[j][k]);
}
}
break;
}
case 'blockquote':
{
this.inline(token.tokens);
break;
}
case 'list':
{
l2 = token.items.length;
for (j = 0; j < l2; j++) {
this.inline(token.items[j].tokens);
}
break;
}
}
}
return tokens;
}
/**
* Lexing/Compiling
*/
;
_proto.inlineTokens = function inlineTokens(src, tokens, inLink, inRawBlock, prevChar) {
if (tokens === void 0) {
tokens = [];
}
if (inLink === void 0) {
inLink = false;
}
if (inRawBlock === void 0) {
inRawBlock = false;
}
if (prevChar === void 0) {
prevChar = '';
}
var token; // String with links masked to avoid interference with em and strong
var maskedSrc = src;
var match; // Mask out reflinks
if (this.tokens.links) {
var links = Object.keys(this.tokens.links);
if (links.length > 0) {
while ((match = this.tokenizer.rules.inline.reflinkSearch.exec(maskedSrc)) != null) {
if (links.includes(match[0].slice(match[0].lastIndexOf('[') + 1, -1))) {
maskedSrc = maskedSrc.slice(0, match.index) + '[' + 'a'.repeat(match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex);
}
}
}
} // Mask out other blocks
while ((match = this.tokenizer.rules.inline.blockSkip.exec(maskedSrc)) != null) {
maskedSrc = maskedSrc.slice(0, match.index) + '[' + 'a'.repeat(match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);
}
while (src) {
// escape
if (token = this.tokenizer.escape(src)) {
src = src.substring(token.raw.length);
tokens.push(token);
continue;
} // tag
if (token = this.tokenizer.tag(src, inLink, inRawBlock)) {
src = src.substring(token.raw.length);
inLink = token.inLink;
inRawBlock = token.inRawBlock;
tokens.push(token);
continue;
} // link
if (token = this.tokenizer.link(src)) {
src = src.substring(token.raw.length);
if (token.type === 'link') {
token.tokens = this.inlineTokens(token.text, [], true, inRawBlock);
}
tokens.push(token);
continue;
} // reflink, nolink
if (token = this.tokenizer.reflink(src, this.tokens.links)) {
src = src.substring(token.raw.length);
if (token.type === 'link') {
token.tokens = this.inlineTokens(token.text, [], true, inRawBlock);
}
tokens.push(token);
continue;
} // strong
if (token = this.tokenizer.strong(src, maskedSrc, prevChar)) {
src = src.substring(token.raw.length);
token.tokens = this.inlineTokens(token.text, [], inLink, inRawBlock);
tokens.push(token);
continue;
} // em
if (token = this.tokenizer.em(src, maskedSrc, prevChar)) {
src = src.substring(token.raw.length);
token.tokens = this.inlineTokens(token.text, [], inLink, inRawBlock);
tokens.push(token);
continue;
} // code
if (token = this.tokenizer.codespan(src)) {
src = src.substring(token.raw.length);
tokens.push(token);
continue;
} // br
if (token = this.tokenizer.br(src)) {
src = src.substring(token.raw.length);
tokens.push(token);
continue;
} // del (gfm)
if (token = this.tokenizer.del(src)) {
src = src.substring(token.raw.length);
token.tokens = this.inlineTokens(token.text, [], inLink, inRawBlock);
tokens.push(token);
continue;
} // autolink
if (token = this.tokenizer.autolink(src, mangle)) {
src = src.substring(token.raw.length);
tokens.push(token);
continue;
} // url (gfm)
if (!inLink && (token = this.tokenizer.url(src, mangle))) {
src = src.substring(token.raw.length);
tokens.push(token);
continue;
} // text
if (token = this.tokenizer.inlineText(src, inRawBlock, smartypants)) {
src = src.substring(token.raw.length);
prevChar = token.raw.slice(-1);
tokens.push(token);
continue;
}
if (src) {
var errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);
if (this.options.silent) {
console.error(errMsg);
break;
} else {
throw new Error(errMsg);
}
}
}
return tokens;
};
_createClass(Lexer, null, [{
key: "rules",
get: function get() {
return {
block: block$1,
inline: inline$1
};
}
}]);
return Lexer;
}();
var defaults$3 = defaults.defaults;
var cleanUrl$1 = helpers.cleanUrl,
escape$1 = helpers.escape;
/**
* Renderer
*/
var Renderer_1 = /*#__PURE__*/function () {
function Renderer(options) {
this.options = options || defaults$3;
}
var _proto = Renderer.prototype;
_proto.code = function code(_code, infostring, escaped) {
var lang = (infostring || '').match(/\S*/)[0];
if (this.options.highlight) {
var out = this.options.highlight(_code, lang);
if (out != null && out !== _code) {
escaped = true;
_code = out;
}
}
if (!lang) {
return '' + (escaped ? _code : escape$1(_code, true)) + '
\n';
}
return '' + (escaped ? _code : escape$1(_code, true)) + '
\n';
};
_proto.blockquote = function blockquote(quote) {
return '\n' + quote + '
\n';
};
_proto.html = function html(_html) {
return _html;
};
_proto.heading = function heading(text, level, raw, slugger) {
if (this.options.headerIds) {
return '\n';
} // ignore IDs
return '' + text + '\n';
};
_proto.hr = function hr() {
return this.options.xhtml ? '
\n' : '
\n';
};
_proto.list = function list(body, ordered, start) {
var type = ordered ? 'ol' : 'ul',
startatt = ordered && start !== 1 ? ' start="' + start + '"' : '';
return '<' + type + startatt + '>\n' + body + '' + type + '>\n';
};
_proto.listitem = function listitem(text) {
return '' + text + '\n';
};
_proto.checkbox = function checkbox(checked) {
return ' ';
};
_proto.paragraph = function paragraph(text) {
return '' + text + '
\n';
};
_proto.table = function table(header, body) {
if (body) body = '' + body + '';
return '\n' + '\n' + header + '\n' + body + '
\n';
};
_proto.tablerow = function tablerow(content) {
return '\n' + content + '
\n';
};
_proto.tablecell = function tablecell(content, flags) {
var type = flags.header ? 'th' : 'td';
var tag = flags.align ? '<' + type + ' align="' + flags.align + '">' : '<' + type + '>';
return tag + content + '' + type + '>\n';
} // span level renderer
;
_proto.strong = function strong(text) {
return '' + text + '';
};
_proto.em = function em(text) {
return '' + text + '';
};
_proto.codespan = function codespan(text) {
return '' + text + '';
};
_proto.br = function br() {
return this.options.xhtml ? '
' : '
';
};
_proto.del = function del(text) {
return '' + text + '';
};
_proto.link = function link(href, title, text) {
href = cleanUrl$1(this.options.sanitize, this.options.baseUrl, href);
if (href === null) {
return text;
}
var out = '' + text + '';
return out;
};
_proto.image = function image(href, title, text) {
href = cleanUrl$1(this.options.sanitize, this.options.baseUrl, href);
if (href === null) {
return text;
}
var out = '
' : '>';
return out;
};
_proto.text = function text(_text) {
return _text;
};
return Renderer;
}();
/**
* TextRenderer
* returns only the textual part of the token
*/
var TextRenderer_1 = /*#__PURE__*/function () {
function TextRenderer() {}
var _proto = TextRenderer.prototype;
// no need for block level renderers
_proto.strong = function strong(text) {
return text;
};
_proto.em = function em(text) {
return text;
};
_proto.codespan = function codespan(text) {
return text;
};
_proto.del = function del(text) {
return text;
};
_proto.html = function html(text) {
return text;
};
_proto.text = function text(_text) {
return _text;
};
_proto.link = function link(href, title, text) {
return '' + text;
};
_proto.image = function image(href, title, text) {
return '' + text;
};
_proto.br = function br() {
return '';
};
return TextRenderer;
}();
/**
* Slugger generates header id
*/
var Slugger_1 = /*#__PURE__*/function () {
function Slugger() {
this.seen = {};
}
/**
* Convert string to unique id
*/
var _proto = Slugger.prototype;
_proto.slug = function slug(value) {
var slug = value.toLowerCase().trim() // remove html tags
.replace(/<[!\/a-z].*?>/ig, '') // remove unwanted chars
.replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g, '').replace(/\s/g, '-');
if (this.seen.hasOwnProperty(slug)) {
var originalSlug = slug;
do {
this.seen[originalSlug]++;
slug = originalSlug + '-' + this.seen[originalSlug];
} while (this.seen.hasOwnProperty(slug));
}
this.seen[slug] = 0;
return slug;
};
return Slugger;
}();
var defaults$4 = defaults.defaults;
var unescape$1 = helpers.unescape;
/**
* Parsing & Compiling
*/
var Parser_1 = /*#__PURE__*/function () {
function Parser(options) {
this.options = options || defaults$4;
this.options.renderer = this.options.renderer || new Renderer_1();
this.renderer = this.options.renderer;
this.renderer.options = this.options;
this.textRenderer = new TextRenderer_1();
this.slugger = new Slugger_1();
}
/**
* Static Parse Method
*/
Parser.parse = function parse(tokens, options) {
var parser = new Parser(options);
return parser.parse(tokens);
}
/**
* Parse Loop
*/
;
var _proto = Parser.prototype;
_proto.parse = function parse(tokens, top) {
if (top === void 0) {
top = true;
}
var out = '',
i,
j,
k,
l2,
l3,
row,
cell,
header,
body,
token,
ordered,
start,
loose,
itemBody,
item,
checked,
task,
checkbox;
var l = tokens.length;
for (i = 0; i < l; i++) {
token = tokens[i];
switch (token.type) {
case 'space':
{
continue;
}
case 'hr':
{
out += this.renderer.hr();
continue;
}
case 'heading':
{
out += this.renderer.heading(this.parseInline(token.tokens), token.depth, unescape$1(this.parseInline(token.tokens, this.textRenderer)), this.slugger);
continue;
}
case 'code':
{
out += this.renderer.code(token.text, token.lang, token.escaped);
continue;
}
case 'table':
{
header = ''; // header
cell = '';
l2 = token.header.length;
for (j = 0; j < l2; j++) {
cell += this.renderer.tablecell(this.parseInline(token.tokens.header[j]), {
header: true,
align: token.align[j]
});
}
header += this.renderer.tablerow(cell);
body = '';
l2 = token.cells.length;
for (j = 0; j < l2; j++) {
row = token.tokens.cells[j];
cell = '';
l3 = row.length;
for (k = 0; k < l3; k++) {
cell += this.renderer.tablecell(this.parseInline(row[k]), {
header: false,
align: token.align[k]
});
}
body += this.renderer.tablerow(cell);
}
out += this.renderer.table(header, body);
continue;
}
case 'blockquote':
{
body = this.parse(token.tokens);
out += this.renderer.blockquote(body);
continue;
}
case 'list':
{
ordered = token.ordered;
start = token.start;
loose = token.loose;
l2 = token.items.length;
body = '';
for (j = 0; j < l2; j++) {
item = token.items[j];
checked = item.checked;
task = item.task;
itemBody = '';
if (item.task) {
checkbox = this.renderer.checkbox(checked);
if (loose) {
if (item.tokens.length > 0 && item.tokens[0].type === 'text') {
item.tokens[0].text = checkbox + ' ' + item.tokens[0].text;
if (item.tokens[0].tokens && item.tokens[0].tokens.length > 0 && item.tokens[0].tokens[0].type === 'text') {
item.tokens[0].tokens[0].text = checkbox + ' ' + item.tokens[0].tokens[0].text;
}
} else {
item.tokens.unshift({
type: 'text',
text: checkbox
});
}
} else {
itemBody += checkbox;
}
}
itemBody += this.parse(item.tokens, loose);
body += this.renderer.listitem(itemBody, task, checked);
}
out += this.renderer.list(body, ordered, start);
continue;
}
case 'html':
{
// TODO parse inline content if parameter markdown=1
out += this.renderer.html(token.text);
continue;
}
case 'paragraph':
{
out += this.renderer.paragraph(this.parseInline(token.tokens));
continue;
}
case 'text':
{
body = token.tokens ? this.parseInline(token.tokens) : token.text;
while (i + 1 < l && tokens[i + 1].type === 'text') {
token = tokens[++i];
body += '\n' + (token.tokens ? this.parseInline(token.tokens) : token.text);
}
out += top ? this.renderer.paragraph(body) : body;
continue;
}
default:
{
var errMsg = 'Token with "' + token.type + '" type was not found.';
if (this.options.silent) {
console.error(errMsg);
return;
} else {
throw new Error(errMsg);
}
}
}
}
return out;
}
/**
* Parse Inline Tokens
*/
;
_proto.parseInline = function parseInline(tokens, renderer) {
renderer = renderer || this.renderer;
var out = '',
i,
token;
var l = tokens.length;
for (i = 0; i < l; i++) {
token = tokens[i];
switch (token.type) {
case 'escape':
{
out += renderer.text(token.text);
break;
}
case 'html':
{
out += renderer.html(token.text);
break;
}
case 'link':
{
out += renderer.link(token.href, token.title, this.parseInline(token.tokens, renderer));
break;
}
case 'image':
{
out += renderer.image(token.href, token.title, token.text);
break;
}
case 'strong':
{
out += renderer.strong(this.parseInline(token.tokens, renderer));
break;
}
case 'em':
{
out += renderer.em(this.parseInline(token.tokens, renderer));
break;
}
case 'codespan':
{
out += renderer.codespan(token.text);
break;
}
case 'br':
{
out += renderer.br();
break;
}
case 'del':
{
out += renderer.del(this.parseInline(token.tokens, renderer));
break;
}
case 'text':
{
out += renderer.text(token.text);
break;
}
default:
{
var errMsg = 'Token with "' + token.type + '" type was not found.';
if (this.options.silent) {
console.error(errMsg);
return;
} else {
throw new Error(errMsg);
}
}
}
}
return out;
};
return Parser;
}();
var merge$2 = helpers.merge,
checkSanitizeDeprecation$1 = helpers.checkSanitizeDeprecation,
escape$2 = helpers.escape;
var getDefaults = defaults.getDefaults,
changeDefaults = defaults.changeDefaults,
defaults$5 = defaults.defaults;
/**
* Marked
*/
function marked(src, opt, callback) {
// throw error in case of non string input
if (typeof src === 'undefined' || src === null) {
throw new Error('marked(): input parameter is undefined or null');
}
if (typeof src !== 'string') {
throw new Error('marked(): input parameter is of type ' + Object.prototype.toString.call(src) + ', string expected');
}
if (typeof opt === 'function') {
callback = opt;
opt = null;
}
opt = merge$2({}, marked.defaults, opt || {});
checkSanitizeDeprecation$1(opt);
if (callback) {
var highlight = opt.highlight;
var tokens;
try {
tokens = Lexer_1.lex(src, opt);
} catch (e) {
return callback(e);
}
var done = function done(err) {
var out;
if (!err) {
try {
out = Parser_1.parse(tokens, opt);
} catch (e) {
err = e;
}
}
opt.highlight = highlight;
return err ? callback(err) : callback(null, out);
};
if (!highlight || highlight.length < 3) {
return done();
}
delete opt.highlight;
if (!tokens.length) return done();
var pending = 0;
marked.walkTokens(tokens, function (token) {
if (token.type === 'code') {
pending++;
setTimeout(function () {
highlight(token.text, token.lang, function (err, code) {
if (err) {
return done(err);
}
if (code != null && code !== token.text) {
token.text = code;
token.escaped = true;
}
pending--;
if (pending === 0) {
done();
}
});
}, 0);
}
});
if (pending === 0) {
done();
}
return;
}
try {
var _tokens = Lexer_1.lex(src, opt);
if (opt.walkTokens) {
marked.walkTokens(_tokens, opt.walkTokens);
}
return Parser_1.parse(_tokens, opt);
} catch (e) {
e.message += '\nPlease report this to https://github.com/markedjs/marked.';
if (opt.silent) {
return 'An error occurred:
' + escape$2(e.message + '', true) + '
';
}
throw e;
}
}
/**
* Options
*/
marked.options = marked.setOptions = function (opt) {
merge$2(marked.defaults, opt);
changeDefaults(marked.defaults);
return marked;
};
marked.getDefaults = getDefaults;
marked.defaults = defaults$5;
/**
* Use Extension
*/
marked.use = function (extension) {
var opts = merge$2({}, extension);
if (extension.renderer) {
(function () {
var renderer = marked.defaults.renderer || new Renderer_1();
var _loop = function _loop(prop) {
var prevRenderer = renderer[prop];
renderer[prop] = function () {
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
var ret = extension.renderer[prop].apply(renderer, args);
if (ret === false) {
ret = prevRenderer.apply(renderer, args);
}
return ret;
};
};
for (var prop in extension.renderer) {
_loop(prop);
}
opts.renderer = renderer;
})();
}
if (extension.tokenizer) {
(function () {
var tokenizer = marked.defaults.tokenizer || new Tokenizer_1();
var _loop2 = function _loop2(prop) {
var prevTokenizer = tokenizer[prop];
tokenizer[prop] = function () {
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
args[_key2] = arguments[_key2];
}
var ret = extension.tokenizer[prop].apply(tokenizer, args);
if (ret === false) {
ret = prevTokenizer.apply(tokenizer, args);
}
return ret;
};
};
for (var prop in extension.tokenizer) {
_loop2(prop);
}
opts.tokenizer = tokenizer;
})();
}
if (extension.walkTokens) {
var walkTokens = marked.defaults.walkTokens;
opts.walkTokens = function (token) {
extension.walkTokens(token);
if (walkTokens) {
walkTokens(token);
}
};
}
marked.setOptions(opts);
};
/**
* Run callback for every token
*/
marked.walkTokens = function (tokens, callback) {
for (var _iterator = _createForOfIteratorHelperLoose(tokens), _step; !(_step = _iterator()).done;) {
var token = _step.value;
callback(token);
switch (token.type) {
case 'table':
{
for (var _iterator2 = _createForOfIteratorHelperLoose(token.tokens.header), _step2; !(_step2 = _iterator2()).done;) {
var cell = _step2.value;
marked.walkTokens(cell, callback);
}
for (var _iterator3 = _createForOfIteratorHelperLoose(token.tokens.cells), _step3; !(_step3 = _iterator3()).done;) {
var row = _step3.value;
for (var _iterator4 = _createForOfIteratorHelperLoose(row), _step4; !(_step4 = _iterator4()).done;) {
var _cell = _step4.value;
marked.walkTokens(_cell, callback);
}
}
break;
}
case 'list':
{
marked.walkTokens(token.items, callback);
break;
}
default:
{
if (token.tokens) {
marked.walkTokens(token.tokens, callback);
}
}
}
}
};
/**
* Expose
*/
marked.Parser = Parser_1;
marked.parser = Parser_1.parse;
marked.Renderer = Renderer_1;
marked.TextRenderer = TextRenderer_1;
marked.Lexer = Lexer_1;
marked.lexer = Lexer_1.lex;
marked.Tokenizer = Tokenizer_1;
marked.Slugger = Slugger_1;
marked.parse = marked;
var marked_1 = marked;
return marked_1;
})));
/***/ }),
/***/ "Dols":
/*!*******************************************************************!*\
!*** ./src/pages/Paths/Detail/components/Sort/index.less?modules ***!
\*******************************************************************/
/*! no static exports found */
/*! exports used: default */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports, __webpack_require__) {
// extracted by mini-css-extract-plugin
module.exports = {"tree":"tree___22OZV","learn":"learn___ky8Lf","name":"name___2Aqg-","sign":"sign___1WxvA"};
/***/ }),
/***/ "E7E6":
/*!********************************************!*\
!*** ./src/assets/images/icons/search.png ***!
\********************************************/
/*! no static exports found */
/*! exports used: default */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports) {
module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADUCAYAAADZTGx+AAAgAElEQVR4Xu2dC3BU13nHv7MrIQkQQoCEtAIEAmxig4GACxhogpM6NY7jOKZO4nimwcFot23SNNNO02napJN0JjN9TNMm5eG3x4+YSeI3ftUGjCDGQMBgG4wxb+0u4mEeQhJI2tP539WR7i77uPfuvXfvar8zs7Mr7bnn8Z3vt9/5zlMQB5aAQQmsW7fO397eHujp6Rkfi8XGExFeDX2vABHVSSlrhBDDiKhdSnlOCBGWUu4mol1lZWWv3nfffccNZueJaMITpeBCeEICjz/++LCOjo5GIpogpWwUQjT2vU/A/wCClNJvtbBCCCml3CaEeGzChAmPLF269LLVtNx6jgFxS9IeyOehhx6q7OnpmSilnEhE2gsA4L0PhjHZillRUUHl5WUUf6+giopyKi+Pv8rKyrSX3++nnp4e7XXpUgedP3+ezp37lE6ebKPe3l4tCyFEhIj+UwjxaHNz8+ls+ebrewYkX5J3IN9169YNv3DhwsRYLIbXJAWBDoZRmbKFYkPRhw4dqgEwdCgAwOfyPiDKyefzWS454Dh58iQdPPiJBk0fKN1E9KyU8gehUKjVcuIOPciAOCRYJ5J95JFHyq9cuaJZACHEJCklIOgHQUqZ0QIAACg/FB+//niPwxD/H3793QqwJkePHqW2tjaSUsKinCOibwWDwfVulcFIPgyIESm5FGfDhg0lBw8ehOM7qbe3dxIggCXAe58VgBOcts0AgP6XfwCACho2bBgNGTLEpZoYz6arq4vee2+PBooQosvv999y//33bzaegrMxGRBn5ZuQOpR77dq1dVB4BQCsQB8AgGB8JicY3RsAgNewYQO//EOHDnPdAtgttr1736cjR44g2VPl5eXXLF++HBYl74EBsbkJHnnkkZFQ/p6eHk3xdd2gpj6nuDxTlvAB8GufDAH+h+8Ga0A365133qHTp8/AkvwiGAx+3wt1ZUBMtsL69evLTpw4gZEfKH+THoC+z9WZkkQ3RwEQ7wLFf/2VY5yLE2yyKp6LfuHCBdq06W0A0j1kyJCG++6771S+C8mAJLUAukEPP/xw/ZUrVyb5/f4m+AAAgYia+iwCJsTSDuUMOMJD+7tB8e5Q3A/A9xzSS2DHjh0UiUQxWvY3zc3N/5VvWRUlIE888cSI9vZ2TfH7+v8AAD5A1m6QEKLPEcbIT/yl/AG8e9ERzreSmck/Go3S9u078MjOUCg018yzTsQdlIBgNOjw4cMTYAWSfv2VFcg4HBrvBsWdYLzHQYh3hWAJAAkHZyQQi8Xo1Vdfw4RirLKysvree++94ExOxlIt2JZes2bNmL5hUK37owehb6lE2r6M6gYpRxjKz90gYwpjNhac766uy9TRcYk6O7u09+7uborFpDYBWVVVRaNHj06YgNyyZSudPXsWP0S3BIPBN8zmaWd8zwICZzgSiUzs7e3VlL8PANUNwt+VRkaDBrpAcR8Af7s5IWZnY3k1LcxldHZ2UkdHh/bCZywxUf8DJNkGLhobJ9DUqVM1H+2DDz6kQ4cO4ZEfhUKhf81nvT0DyNq1a2+MxWJfIaIFRDSNiAKZJsVKS0v7h0KVBdDPChfzaJDdCnX5MixAJ3V2dmiK39UVB0DBgG5RuqB8tsrKSs1a4F11UzFq1draSqdPx5di4f9z5syhixcvaJOHRPRgKBS63+76mEkv74A8+OCDs7u7u39JRDfpC64mxdTSiEQIKtgZNtPKWeJeuXKlX/HjVgDW4FIfFJ39CwzTJQPFhuKPGDFCe1efhw8frv0v248VZtFbWlq02XRYkGuvvYY+/HAfulhvBIPBW2ysqumk8grImjVrvheLxf6DiEpgEcaPH081NWMIgmVn2HRbpn0AAMS7O3ErgPdLl+ATxLtFaoVtugQwQakUX1kCtJH6nA0AIzVBN2zTpk20f/9+gi7ATxFC7A8Gg58x8rxTcfIGyOrVq38gpQQcNG7cOLrhhhk8R2CxlaFMeuUf8AXiXaJsAMAnS7YA+r9LSkoslsz8Y6+++qpacoKHw6FQCBuy8hbyAsgDDzywuLe3dwPWHV133XU0eTIGojikkwD2Vaj+frIVwP/xfaaAYet0FgBdIPxieyXA4X/yySeVBTkfDAZH5rNsrgMCx3vNmjXvSSlnTJzYSDNmzMhn/T2RN37hVd9fdYGUD4D/w0IYAUD1+fUwAIBCm7zcunUr7dmjOek9oVAor/S6DsiaNWtui8ViL6HRliz5fME1nhWiAIDq7ytfYGA49BLBR8gU8Auv+vypukKDbREjRrZefPFF+CAyGAxa36FlpbGSnnEdkFWrVj1ARCumTZtGU6dOsaEK+U8Cw5z6ro8aDlXWAMOkmQL6+AoA/UiQsgQYsCimgB+Mhx9+uDgBWb169T4p5bTPfe6PtSHAQggAAL/8A5Nh8dEf9Tf6zZkChi4zWQAMZXNIlMDq1auLE5BVq1ZhM/KIW2/9U3JzdCSTAmKIMXkYVO8DGAEAs/T6OQC9H4DvOJiTAABBCIVCrvdy9CV1PfNVq1Zp6w5uv/3L5iSWQ+z4eiCsAxr41U+cGe7S9kWnCxjnzwQArAMHeyXAgNgMCIY6sXRBr/jKB4B1yAQAlkPoAUh2hAEAr+C1F4BsqTEgNgCC0aFjx47RsWPHNTjSBSg3+vnpukAAwI7Z4GyNzt8blwADkiMgODZm7969mu+AAEcYy6bVKFDyaBADYFw5vRCTAckBkMOHD9P773+gtWNtbS199rOfpQkTJrAV8IJm21QGBsQiIJhE+sMfdmnNcP3119PChQsZDJuU0kvJMCAWAMFI1IYNG7W1RwsWLKCZM2d6qU25LDZKgAGxAMiePXu14yrHjh1Ld955p43NwUl5TQIMiElA1GZ+vC9btkxzyDkMXgkwICYBuXjxIm3cuImtx+BlIqFmDIhJQM6cOUNbt/5e8zvgf3AY3BJgQEwCgnsl3n13Ozvng5uL/toxICYBiUZP0vbt22nRokU0ffr0IlGT4q0mA8KAFK/2G6g5A8KAGFCT4o3CgDAgxav9BmrOgDAgBtSkeKMwIAxI8Wq/gZozIAyIATUp3igMCANSvNpvoOYMCANiQE2KNwoDwoAUr/YbqDkDwoAYUJPijcKAMCDFq/0Gas6AMCAG1KR4ozAgDEjxar+BmjMgDIgBNSneKAwIA1K82m+g5gwIA2JATYo3CgPCgBSv9huoOQPCgBhQk+KNwoAwIMWr/QZqzoAwIAbUpHijMCAMSPFqv4GaMyAMiAE1Kd4oDAgDUrzab6DmDAgDYkBNijcKA8KAFK/2G6g5A8KAGFCT4o3CgDAgxav9BmrOgDAgBtTEu1FwrXZ3d7f2unLlivaO/6nbhHMtOQPCgOSqQ44/j8uKlPInw4Br8NKF6upqqqmpyal8DAgDkpMC2fUwFF0pv94a4DPuobcScC99U1OTdjW31cCAMCBWdcf0c+kAwP9hJZwIjY2NVFZWZjlpBoQBsaw8yQ+m8geUNYCFwPduBlgOWBBYEquBAWFATOmOVX/AVCY2RPb5fFRfX0/Dhg3LKTUGhAG5SoGc8Ady0tIMD8M6lJSUUGlpKQ0ZMqT/HaNYuVgOlSUDUqSA5MMfsAoJrAEgUAAABj0QVtM18hwDMkgB8Zo/kE0Z4S8oxU8GAHDkKzAgBQxIofgDSrlVV0j/669gyGUo1kl4GBCPA1Lo/oDeGtjhEzgJQ6q0GRCPAdLR0UHnz5/vnzl2an7AqqLl0x+wWuZcnmNAPATIxYsXKRqNuj5fkKxAgCCdQ5xPfyAXRbf6LAPiIUCOHDmiWQ43QiH6A27IJTkPBsRDgHzyySeW1x0lN2yq+YFC9wcYEBclsGrVKm3dw+0eAiQSiRC6WUYDIEg1IqS6R0bT4XjpJcAWxEOAYNVqa2srdXV19bcY+wP5xZcB8RAgShXgh2CiD36CV+cH8qu27uXOgHgQEPean3PKJgEGhAHJpiNF/T0DwoAUNQDZKs+AMCDZdKSov2dAGJCiBiBb5RkQBiSbjhT19wwIA1LUAGSrPAPCgGTTkaL+ngFhQIoagGyVZ0AYkGw6UlDfY/8MViHYtQKBAWFACgoAVVh13haW5ehf6hRGHBaHY3+wcDOXwIAwILnoj6PPqj336lxePQhGDqHDSudJkyblVEYGhAHJSYHseBj77pMtAf7OdDC10Xz56FGjkkqK58X9IBarUhCP4Rc/FQROnssLwcCCwJJYDWxB2IJY1Z2UzyVbA/1J7bZmZCCx4cOHUyAQMBAzfRQGhAExrUDKGqRylPN9Cgt2WcIxBxyjRo3K+fhRBoQBSQsIRoTS+QZGnGTT5Jl4AMO4ACH5lUt3KlX2DAgDchUEyjJYvbjGhJ5njKrfc68HARDYNc+RrawMSJEAAmVP1SVSd/plUxQnv9dbA3UIhQLCyXyNpM2ADDJAsk2gGVEKJ+KoY4hSdYvcsgZW6sWAFCAg+gk0vY/gBWugTmFJ5Rvw2bxWEI0/Y/2OLIt5FsI8iH6IVA+CHRNoFsUWb6y+S2sUBPpu0WA7mpQtiMcsCA6uVodX53vIFNYg2SdQUBSiNbDyo8CAeAiQc+fOUVtbm5V2zOkZdXtTcrdosFkDK0JiQDwEyOHDh7WRJieCmkBL1S2CpeCQWgIMiIcAsePwarcm0IoFKAbEQ4Cge4VuVraQbgIN1oGtQTbpmfueAfEQIFi+gQt02tvb+3fFubGcwpzKFFdsBsRDgCjVAyh4sTXIP4wMiAcByb9acAmUBBgQBoRpyCABBoQBYUAYkKslUAhLTVhz8y8BtiBsQfKvhR4uAQPCgHhYPZ0tGhaAYlj91KlT2vo3vDo6OrTVDGpFg9o0JoTYRkQHhRAfE9GOIUOGbFm+fHn2SSubqsCreW0SJCeTWQKAACsWDh06RGfOnNGG0y2GGBG9J4T4HRE9EwwGAY5jgQFxTLScMCSA24N37NhBuGrbiSCEaCGinwSDwTcdSd+JRDOlyU662xLPT37hcJi2b9/uGBgparXZ5/P9uLm5eYOdNWYLYqc0OS2t+7R161bNcmQKlZWVNGHCBKqpqaERI0YQ/sa5vmqpPzanXb58mS5evEgXLlzQtiMcP35c+ztTEEJsLCkp+cGKFSt22dEcDIgdUuQ0NAns27ePWlpaKN2pLA0NDRoUeFVXV1uS2qeffkrHjh3TXhkgvOzz+b7X3Ny81lImuocYkFwlWIDPY8ckfp3xwoiSesdqZfyajxkzxlSt8Gu/efNm+uijj1I+h2NI586dS6NHjzaVbrbIsFbwb7CfJ1UQQjwuhAg1Nzd3ZEsr3fcMiFXJFcBz6iTGZBiy7a3HyYhGIcHo1GuvvUZnz569SiITJ06kG2+80XYwkjMCKPB3jhw5kqpV3vf7/XetXLnygJUmY0CsSM2Dz2D+IBkEq6etwA9oamrKWkv4A88++6w2h6EP2CqwZMmSnK9AyFqApAiwJBs2bNCsYlKIEtGCUCiUkqBM+TAgZlshz/HVIdXJ3SM7D5owAgjyf+655wg+gT7A8txyyy1aVy0fAQ7966+/TqdPn07IXgixv6SkZOGKFSuuNnUZCsqA5KMVDeSp/AS9jwCldONY0mxdLJThpZdeumoId9q0abR48WLXjidNJ0aUDz7R/v37kyHZUlZW9sXly5d3GWgCLQoDYlRSDsXT39+h7yI5dYhEpmpgX31VVVVW/wO/0JgR14drrrmGbr75ZoekZC3Zt956iw4cSHQ9MAPf3Nz8Z0IIzMhnDQxIVhHZF0H5CcoqAAirfkIupVJ76zHvgBd8BrwbOaF97969tGXLloTsx48fT7feeqvndmLCCr/yyiva/Ik+CCG+HwwGf2FEhgyIESmZjAMTr/cR1Gc7/QSjRVIH0OlBABBWDqCDU75u3bqEI5Iw0XfHHXf0T/AZLZdb8eCzPf/889rCSBWEEJf8fv+M+++/P/X4sK5wDEgOLaXO6k2GwQ0/IbnY6tihZKtg5/56DOfq5xwA3ze+8Q0aNmxYDlJ0/tFLly7Rr3/96wSwhRDPB4PBr2bLnQHJJqG+7/XdIvU5H36C/pBqPQxOn8aIpR6/+x0W0A6E+fPn06xZswxKML/Rdu/eTe+8805CIfx+/x+tXLlye6aSMSBJ0lEHV+sdZgCRw/JsS5qh9xOUj2DUT7CUYZaH0Jc/evRofyw481//+tc953ekqwas/TPPPKPtPdF1tdYHg8HbGBADGoNxcwgvH90j/Pond42s+gkGqmo6CnyPp556KuFHYunSpdqaqkIKWL+1fv16fZExkjU50wQiWxAibVIp1VIJuxtf7yforYKdfoLdZUZ6WMaxc+fO/qQxGbhs2TInsnI8zd/85jfJk4g/DYVC/5wuYwaESBvTz7Y+yUzLqesLkq2C036CmTKaiYuuiX7GfN68eTR79mwzSXgm7q5du2jbNuzijQfMsAeDwc8wIBmayCog+rN69TDAOgyWgONYn3jiiYTq3HPPPXlbSpKrXLEUBd1FffD5fI3Nzc3HUqXNFoRI2+SDV6ag7vJItgpW5hNybWQ3n8cSdiwAVAHzHnfddZebRbA9r9/+9rcJ8yJ+v/87K1eufJgBySBqAAInHaNV6uBqPQxevvDSdg3SJYjdgXv27On/D5avz5kzx8ksHU8b/hT8Kl036xfBYPD7DIjjoh98Gbz88ssJSzW+9KUvub6M3W6pYrITk546QN4IBoO3MCB2S7oI0nv66acT5g4wcz5y5MiCrjnugsHMug6QT4LB4BQGpKCbNT+Ff+yxx6izs7M/829/+9tUXl6en8LYlGtXVxc9+uijekBOB4PBGgbEJgEXUzIPPPBAwuTpypUrC2b2PF07YVZ97dqB8xyEEFeCwWAZA1JMmm1TXRkQmwRpNBk+OM6opLwRj7tYLrcDA+KywHPMjp30HAVo5HEpZXk0Gv5mLEbffeGFF7Q1Crfz6e5GRJf3ODzM62ATnDlzZtzly50hIrFSSqmdRvbCCy9qOTIgDgrexqR5otBGYaqkotHopFis5ydE4h4pZYk+CwbEAYE7mCQvNbFRuKdOnQp0d3f/iCi2QkoqTZU0A2KjwF1Iihcr2iDkcDg8Rkr590TyL4moIlOSDIgNAnc5CV7ublHgUkpfJBL5KyL5MyllpZFkGBAjUvJWHN4wZaE9otHo9Fis50EpaZ6ZxxkQM9LyRlzecmuiHaSUQ8Lh8D8KIf8hnZ/BXSwTAi2QqHxog4GGiluN3nVSyrRbFLMlwxYkm4S8+f1gPPaHiOaFQqF3M0nc8I7CcDj8NSL5mJRyeC5NyIDkIr38PssHx6WQv5RSRCKRfyGSP8LnXJuIAclVgvl7frAcPVpSUiLnz5//y+nTp/+1ECLjfdQZFb6trW14d3f3k0TyK3Y1CwNilyTzk85gOLx6+vTr+y4IEi+UlpZ+q7a2tj2dNNMCgvVTkUjrK1LS5+1sCgbETmnmJ61Cvv6gvr6ebrxxbr/ghKCN9fUNtwohUt4ZkhIQLA8Jh8PPEskv290EDIjdEnU/vUK9QAcXAy1YMD/FBT/ipUAgcKcQoidZmlcBEp/8Cz8hpfymE6JnQJyQqvtp4uxi3E+I/d364NUr2IYPH0aLFi3STqxJFYQQT9fXB+5NvljnKkBaW1v/jUj+rVMiZ0Cckqz76RbKJZ44vmnx4kU0dOjQLEIS/97Q0PB3+kgJgLS2ti4SgjbBijglbgbEKcnmJ12vXwNdWVmpXUUNC5ItwHpISZ9raGhoUXH7AZFSVoTD4d1E8ppsCeXyPQOSi/S8+SzONX777bevug9QlXbSpEk0d+5c2+9Lx2F/O3bsSLjURy8hXA13ww0zTF4qKg4EAoFZQgjtKJd+QJzuWqmCMyDeVHI7SrVv3z5qaWlJe4VEQ0ODdmUCXtXV1ZayxCHauMYAr9bW1pRp4PDwGTOmU2Njo6U8iAa6WhogbW1tU3p6uvdLKf0WUzT8GANiWFQFGRG/6rjkMxwOZyw//AFYFpz1izvV0RWCr6BOwIdVwkAA/BwcOI07BgEF/s4URo8eTdOnT6eqKuv3tAshektKSqfV1tYe1AAJh8OrpIwF3WgRBsQNKec/DwCCZfKRSMSVwmAId9q0a7NeYW20MEL4VgcCgZCA7xGJhE9JKbN7MUZTzxCPAbFBiAWUBLpB8BOcAgVgXHvttVRTox15YFvATbj19YEaEQ6H75Qylng7o23ZXJ0QA+KgcD2aNEa6sCvRrmuw0X2qrw9QIFBPw4fntHY2o8SE8H1NtLa2/rJvq6wr4mVAXBGzpzJJXpqCa6MnT55M0WhUu5dFfy+kuo4O103AH8E5wIiP18iRVQSLgeun3QniVwBkK5Fc4E6GfOyPW3L2Qj6wGAcOHKCNGzdmLA4gaGpqokmTJpocknW6luL3IhxujUgp65zOSqXPFsQtSbubD0adcBkqLAJGnNTFqKm6Vcoa4CppLE3x6nUKQoioaG09gQkR186zZ0DcVVwncsO98QBA/8L8hJG75OfPn0+1tSlvGnCiqLmm2cWA5CrCQf487tJQICjLAKc7OcB3qKwcTrAKVVUjtbkN3Cjb0dHRHzV5qXkBiK6Lu1gF0EpuFRHKnAxDqok5ONAAAKNJAAJdJEz06e97P3jwE/rwww/7i47vliz5vOZsF0ro62Kxk14oDWZnOXFiorIIgAKf9b/2Ki+MJMVhiIMAKABDptt9r1zppjfffJO6u7v7iwwnHDv5CiuIrTzMW1gtZqm06BLpLQNgwDKO5IDh0zgI6CbFu0pGVsEmp7N37/sJCwiR7he+cHPavRiWKuXKQ+JXPFHoiqDdyQROMjYwKYugoIBTnRyw7ikOwQAQ2fdLZK8HLNPGjZsSJgWvv/56mjy5KfvDHoshhO9OXmrisUYxWhwMn2LkSHWT8I4hVgy3JoeKioo+fwFdJEAxgvA/J8L27YnLSgDdzTcvKbh7DfuXmkBIbi5WfPnl9drM6dKlt5qaFIpGT2qL37BtEqs1iylAXlB+vWU4e/ZsymXlUEjlK8Tfq1zr2qBMLS1bEppmzpw51NAQKLjm6l+siJK7udz9zTffokuXLmm/KmZGNIoFEDi2+sk2WAZ0m1JNuGEdkt55xmf3lmFcrfObN7doVk0F7PnAVtdCC1ctd0cF3Now9e677xKUfebMG7SNM0bDYAQEjnKqOYbkCTeMGGHkaMB5jvsOGG71SsCq3Z07/5BQHFj7UaOsbYzKb72SNkyhMG5tuT127Djt3r1b2355003Gl4DhbNht294lzMTOmjUrv/KzkHtnZ2dCFwmWIdUcA+YL1LAqfAV0k/C3fo7BQvaOPgLr9tZbGxKGiQOBAM2dO8fRfJ1JPM2W2z4r4vihDehCoJuFkRUc4FVXZ2wZGLodW7f+nmbMmEELFy50RjY2pYoupN55hpXA/5IDLEB8sm3AeQYMmeYYbCqirckMhklBCCTjoQ1KYm50tQ4fPkI4whJnFC1ceJOhNf1QMPxKYXHbsmXLbG3gXBLDdtDkYVVYi+Sg5hj0s89O7mXIpU5mnh08k4IaIpmP/enrajl6cJwSvhoOxHj87NmztL3JmQL65a+99ro2O3v33Xdr+wLcDnCWk4dVU024AfyBOYb47LOZAQm365VLfoNlUtDwwXF9kDh29KhqDAxdAhL4FghTpkymadOmZexefPDBh3To0CHCcS633XZbLu2a8Vk1x6B3oNHF0y+dUAlgL4PyFdTsc0WFa4ujHZOBkYQHz6SgiaNHlWCcOrw6WfAHDx6kffv2a0ulq6tH0nXXXZfWOij/Be84DAxj7LkG/RyDAiJ5l5vKA3MMybPPsIDFGgbDpKClw6tVgztx/UEqZTp79lPauXMnqb47xs+bmiYRlkcnO6zo4mA0C0DNnDmT5s2bZ3iER23q0VsGjNtn3tQz4ECnO9e1GAEZHJOCOVx/oLMktl6gk06ZYBUOHTqsLXJTa4fQfRk7dqw2lg6fQ60VOnGild577z1NsfGLPnv2bJo4caK2f1kF/aYe5TfAh0g1xzBkSCmNHFmtnYyhhlXV+UzFqPxG6vz225sTDq4upEnB+KU54mf19fU/zukCHb2g7LqCLZvw0eXBpBOGDtHH1Yd4f79KO2AM8WAJlJMMSwOA8B0sUaqRJKSFoVXEw2gYTsUAEF6acMsmHy98X8iTgkKIdiLx54FAwNBJPqauVLPjEk8zDYzuD7pf8Alg0lOtSs2UHqABVJhbqKsbq3XZuJtkpgWujgurjXks/Q9QoUwKCiH2+Xz+u+vq6t43KgVTgCBRXAMdiUR+RBT7oZVroI0WLFW89vZL1N5+kTD2DljQLevuxnuPZgUw2xyfbxhB1dWjqFhGk3KRqdlnjx8/Trt27e5/rBB2CgpB3US+n9fX1/9MCHH12v8MQjANiEorbk16HpSS5pkVMscvXAmoSV5VA6/vFBSCtvl8JSvMWA1961gGpM+a+CKRyHeJ5E+llJWF2+xccqMSgNXetm2b1vXFwMn8+fP6D5w2moYb8YQQF4nEP9XX1/9P8q1RZvLPCRCVUTgcHiOl/CGR/AsicmYnjplacVzHJYAhc4+O9HUSif8VQvw8EAiczlUQtgCiCnHq1KlAd3f3PxHFvuO2f5KrIPj5wpZAn5/xUGlp6U9ramoy371goqq2AqLyPXnyZFNvb/ePicQ9uDHXRHk4KkvAlATiN9PKp3y+kp/U1dUdNvWwgciOAKLyPXPmzLjLlztDRGKllNLe8+kNVI6jDF4JCCFOE8m1ZWUVq0aPHn3CqZo6CogqNNZ1RaPhb8Zi9D0iWXi7nZySPqdrQQJit89H/11XF3haCNFlIQFTj7gCiL5E4XB4MZEMEdEdUsps9/KaqgxHHpwSEELg/NLnicSqQCCw2c1aug6IqhwWQvb09HyVSH6LiL7Ivoqbze79vOK+Bf0fkXiypKTkudra2sR1Ry5VIW+A6OsXjUZre3t778DBmPAAAAI6SURBVO6DZb5LdedsvCmBdwCF3+9fV1dXF98slMfgCUCSumCNQsgvSymXSklLeF4lj9rhTtadQtAGIcR6KbWNS0fdydZYLp4DRF9snLQSjUZvjsViS4Wg26SUVi++NiYNjuWKBIQQR6Wkl30+3/q6urq3hBBXb+J3pSTZM/E0IMnFj0Qi10kp/4QotphILJJSjs1eRY6RbwkIIU4SyRYi32YhxBv19fUD9yLku3BZ8i8oQJLrcurUiWt6e8Wi3l7CyBiO8JvicXkXS/EOEokWv582+/2ypaZm3IFCrXhBA5Is9La2trqenp6biGi2lJhv0eZcxhVq4xRIuU8Qid1CCKyB31VSUrK1trY2WiBlz1rMQQVIqtpeuHBidEcHzZIy/iLSXtfyWrGsupEQIb7WiT4iot1CxF9Dh9LuESPGnTGXUmHFHvSApGoOzLm0tbU19vb2TpVSThGCphLJKVLSVCFoYrHCAwikpCNC0MdE4qCU9LEQ4qDf7/+4trb2aN/cRGFpeI6lLUpAMslMSulva2ub2NPT0+TzyUAsJup9PgpIKQNSinohtM/1RFRo5/1cFkJEpKSwEDIihAjHYhT2+WQkFhPhkpKSQ7W1tUdwsnmOOjWoHmdALDbn+fPnR3V2dgKW0ULEqmIxUSWlHCmErJJSVAlBVVIS3kcS4X9ULoQolVKWZnpHcaSU3UKI7szv1EUkzuNSKSEI7+eFkOelFOeFEOd8Pnz24fOZioqKcFVV1VmLVS3qx/4fQLyzKIIkCJoAAAAASUVORK5CYII="
/***/ }),
/***/ "ELLl":
/*!*************************************************************!*\
!*** ./node_modules/codemirror/addon/edit/closebrackets.js ***!
\*************************************************************/
/*! no static exports found */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports, __webpack_require__) {
// CodeMirror, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: https://codemirror.net/LICENSE
(function(mod) {
if (true) // CommonJS
mod(__webpack_require__(/*! ../../lib/codemirror */ "VrN/"));
else {}
})(function(CodeMirror) {
var defaults = {
pairs: "()[]{}''\"\"",
closeBefore: ")]}'\":;>",
triples: "",
explode: "[]{}"
};
var Pos = CodeMirror.Pos;
CodeMirror.defineOption("autoCloseBrackets", false, function(cm, val, old) {
if (old && old != CodeMirror.Init) {
cm.removeKeyMap(keyMap);
cm.state.closeBrackets = null;
}
if (val) {
ensureBound(getOption(val, "pairs"))
cm.state.closeBrackets = val;
cm.addKeyMap(keyMap);
}
});
function getOption(conf, name) {
if (name == "pairs" && typeof conf == "string") return conf;
if (typeof conf == "object" && conf[name] != null) return conf[name];
return defaults[name];
}
var keyMap = {Backspace: handleBackspace, Enter: handleEnter};
function ensureBound(chars) {
for (var i = 0; i < chars.length; i++) {
var ch = chars.charAt(i), key = "'" + ch + "'"
if (!keyMap[key]) keyMap[key] = handler(ch)
}
}
ensureBound(defaults.pairs + "`")
function handler(ch) {
return function(cm) { return handleChar(cm, ch); };
}
function getConfig(cm) {
var deflt = cm.state.closeBrackets;
if (!deflt || deflt.override) return deflt;
var mode = cm.getModeAt(cm.getCursor());
return mode.closeBrackets || deflt;
}
function handleBackspace(cm) {
var conf = getConfig(cm);
if (!conf || cm.getOption("disableInput")) return CodeMirror.Pass;
var pairs = getOption(conf, "pairs");
var ranges = cm.listSelections();
for (var i = 0; i < ranges.length; i++) {
if (!ranges[i].empty()) return CodeMirror.Pass;
var around = charsAround(cm, ranges[i].head);
if (!around || pairs.indexOf(around) % 2 != 0) return CodeMirror.Pass;
}
for (var i = ranges.length - 1; i >= 0; i--) {
var cur = ranges[i].head;
cm.replaceRange("", Pos(cur.line, cur.ch - 1), Pos(cur.line, cur.ch + 1), "+delete");
}
}
function handleEnter(cm) {
var conf = getConfig(cm);
var explode = conf && getOption(conf, "explode");
if (!explode || cm.getOption("disableInput")) return CodeMirror.Pass;
var ranges = cm.listSelections();
for (var i = 0; i < ranges.length; i++) {
if (!ranges[i].empty()) return CodeMirror.Pass;
var around = charsAround(cm, ranges[i].head);
if (!around || explode.indexOf(around) % 2 != 0) return CodeMirror.Pass;
}
cm.operation(function() {
var linesep = cm.lineSeparator() || "\n";
cm.replaceSelection(linesep + linesep, null);
cm.execCommand("goCharLeft");
ranges = cm.listSelections();
for (var i = 0; i < ranges.length; i++) {
var line = ranges[i].head.line;
cm.indentLine(line, null, true);
cm.indentLine(line + 1, null, true);
}
});
}
function contractSelection(sel) {
var inverted = CodeMirror.cmpPos(sel.anchor, sel.head) > 0;
return {anchor: new Pos(sel.anchor.line, sel.anchor.ch + (inverted ? -1 : 1)),
head: new Pos(sel.head.line, sel.head.ch + (inverted ? 1 : -1))};
}
function handleChar(cm, ch) {
var conf = getConfig(cm);
if (!conf || cm.getOption("disableInput")) return CodeMirror.Pass;
var pairs = getOption(conf, "pairs");
var pos = pairs.indexOf(ch);
if (pos == -1) return CodeMirror.Pass;
var closeBefore = getOption(conf,"closeBefore");
var triples = getOption(conf, "triples");
var identical = pairs.charAt(pos + 1) == ch;
var ranges = cm.listSelections();
var opening = pos % 2 == 0;
var type;
for (var i = 0; i < ranges.length; i++) {
var range = ranges[i], cur = range.head, curType;
var next = cm.getRange(cur, Pos(cur.line, cur.ch + 1));
if (opening && !range.empty()) {
curType = "surround";
} else if ((identical || !opening) && next == ch) {
if (identical && stringStartsAfter(cm, cur))
curType = "both";
else if (triples.indexOf(ch) >= 0 && cm.getRange(cur, Pos(cur.line, cur.ch + 3)) == ch + ch + ch)
curType = "skipThree";
else
curType = "skip";
} else if (identical && cur.ch > 1 && triples.indexOf(ch) >= 0 &&
cm.getRange(Pos(cur.line, cur.ch - 2), cur) == ch + ch) {
if (cur.ch > 2 && /\bstring/.test(cm.getTokenTypeAt(Pos(cur.line, cur.ch - 2)))) return CodeMirror.Pass;
curType = "addFour";
} else if (identical) {
var prev = cur.ch == 0 ? " " : cm.getRange(Pos(cur.line, cur.ch - 1), cur)
if (!CodeMirror.isWordChar(next) && prev != ch && !CodeMirror.isWordChar(prev)) curType = "both";
else return CodeMirror.Pass;
} else if (opening && (next.length === 0 || /\s/.test(next) || closeBefore.indexOf(next) > -1)) {
curType = "both";
} else {
return CodeMirror.Pass;
}
if (!type) type = curType;
else if (type != curType) return CodeMirror.Pass;
}
var left = pos % 2 ? pairs.charAt(pos - 1) : ch;
var right = pos % 2 ? ch : pairs.charAt(pos + 1);
cm.operation(function() {
if (type == "skip") {
cm.execCommand("goCharRight");
} else if (type == "skipThree") {
for (var i = 0; i < 3; i++)
cm.execCommand("goCharRight");
} else if (type == "surround") {
var sels = cm.getSelections();
for (var i = 0; i < sels.length; i++)
sels[i] = left + sels[i] + right;
cm.replaceSelections(sels, "around");
sels = cm.listSelections().slice();
for (var i = 0; i < sels.length; i++)
sels[i] = contractSelection(sels[i]);
cm.setSelections(sels);
} else if (type == "both") {
cm.replaceSelection(left + right, null);
cm.triggerElectric(left + right);
cm.execCommand("goCharLeft");
} else if (type == "addFour") {
cm.replaceSelection(left + left + left + left, "before");
cm.execCommand("goCharRight");
}
});
}
function charsAround(cm, pos) {
var str = cm.getRange(Pos(pos.line, pos.ch - 1),
Pos(pos.line, pos.ch + 1));
return str.length == 2 ? str : null;
}
function stringStartsAfter(cm, pos) {
var token = cm.getTokenAt(Pos(pos.line, pos.ch + 1))
return /\bstring/.test(token.type) && token.start == pos.ch &&
(pos.ch == 0 || !/\bstring/.test(cm.getTokenTypeAt(pos)))
}
});
/***/ }),
/***/ "FOrL":
/*!********************************************!*\
!*** ./src/assets/images/icons/nodata.png ***!
\********************************************/
/*! no static exports found */
/*! exports used: default */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports, __webpack_require__) {
module.exports = __webpack_require__.p + "static/nodata.a6b3f948.png";
/***/ }),
/***/ "FPkq":
/*!**************************************!*\
!*** ./src/assets/images/qrCode.png ***!
\**************************************/
/*! no static exports found */
/*! exports used: default */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports, __webpack_require__) {
module.exports = __webpack_require__.p + "static/qrCode.dd0fe9b2.png";
/***/ }),
/***/ "Fofx":
/*!*************************************************!*\
!*** ./node_modules/zrender/lib/core/matrix.js ***!
\*************************************************/
/*! no static exports found */
/*! all exports used */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports) {
/**
* 3x2矩阵操作类
* @exports zrender/tool/matrix
*/
/* global Float32Array */
var ArrayCtor = typeof Float32Array === 'undefined' ? Array : Float32Array;
/**
* Create a identity matrix.
* @return {Float32Array|Array.}
*/
function create() {
var out = new ArrayCtor(6);
identity(out);
return out;
}
/**
* 设置矩阵为单位矩阵
* @param {Float32Array|Array.} out
*/
function identity(out) {
out[0] = 1;
out[1] = 0;
out[2] = 0;
out[3] = 1;
out[4] = 0;
out[5] = 0;
return out;
}
/**
* 复制矩阵
* @param {Float32Array|Array.} out
* @param {Float32Array|Array.} m
*/
function copy(out, m) {
out[0] = m[0];
out[1] = m[1];
out[2] = m[2];
out[3] = m[3];
out[4] = m[4];
out[5] = m[5];
return out;
}
/**
* 矩阵相乘
* @param {Float32Array|Array.} out
* @param {Float32Array|Array.} m1
* @param {Float32Array|Array.} m2
*/
function mul(out, m1, m2) {
// Consider matrix.mul(m, m2, m);
// where out is the same as m2.
// So use temp variable to escape error.
var out0 = m1[0] * m2[0] + m1[2] * m2[1];
var out1 = m1[1] * m2[0] + m1[3] * m2[1];
var out2 = m1[0] * m2[2] + m1[2] * m2[3];
var out3 = m1[1] * m2[2] + m1[3] * m2[3];
var out4 = m1[0] * m2[4] + m1[2] * m2[5] + m1[4];
var out5 = m1[1] * m2[4] + m1[3] * m2[5] + m1[5];
out[0] = out0;
out[1] = out1;
out[2] = out2;
out[3] = out3;
out[4] = out4;
out[5] = out5;
return out;
}
/**
* 平移变换
* @param {Float32Array|Array.} out
* @param {Float32Array|Array.} a
* @param {Float32Array|Array.} v
*/
function translate(out, a, v) {
out[0] = a[0];
out[1] = a[1];
out[2] = a[2];
out[3] = a[3];
out[4] = a[4] + v[0];
out[5] = a[5] + v[1];
return out;
}
/**
* 旋转变换
* @param {Float32Array|Array.} out
* @param {Float32Array|Array.} a
* @param {number} rad
*/
function rotate(out, a, rad) {
var aa = a[0];
var ac = a[2];
var atx = a[4];
var ab = a[1];
var ad = a[3];
var aty = a[5];
var st = Math.sin(rad);
var ct = Math.cos(rad);
out[0] = aa * ct + ab * st;
out[1] = -aa * st + ab * ct;
out[2] = ac * ct + ad * st;
out[3] = -ac * st + ct * ad;
out[4] = ct * atx + st * aty;
out[5] = ct * aty - st * atx;
return out;
}
/**
* 缩放变换
* @param {Float32Array|Array.} out
* @param {Float32Array|Array.} a
* @param {Float32Array|Array.} v
*/
function scale(out, a, v) {
var vx = v[0];
var vy = v[1];
out[0] = a[0] * vx;
out[1] = a[1] * vy;
out[2] = a[2] * vx;
out[3] = a[3] * vy;
out[4] = a[4] * vx;
out[5] = a[5] * vy;
return out;
}
/**
* 求逆矩阵
* @param {Float32Array|Array.} out
* @param {Float32Array|Array.} a
*/
function invert(out, a) {
var aa = a[0];
var ac = a[2];
var atx = a[4];
var ab = a[1];
var ad = a[3];
var aty = a[5];
var det = aa * ad - ab * ac;
if (!det) {
return null;
}
det = 1.0 / det;
out[0] = ad * det;
out[1] = -ab * det;
out[2] = -ac * det;
out[3] = aa * det;
out[4] = (ac * aty - ad * atx) * det;
out[5] = (ab * atx - aa * aty) * det;
return out;
}
/**
* Clone a new matrix.
* @param {Float32Array|Array.} a
*/
function clone(a) {
var b = create();
copy(b, a);
return b;
}
exports.create = create;
exports.identity = identity;
exports.copy = copy;
exports.mul = mul;
exports.translate = translate;
exports.rotate = rotate;
exports.scale = scale;
exports.invert = invert;
exports.clone = clone;
/***/ }),
/***/ "FxDU":
/*!*******************************************************!*\
!*** ./node_modules/size-sensor/lib/sensors/index.js ***!
\*******************************************************/
/*! no static exports found */
/*! all exports used */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.createSensor = void 0;
var _object = __webpack_require__(/*! ./object */ "QO+J");
var _resizeObserver = __webpack_require__(/*! ./resizeObserver */ "j5sG");
/**
* Created by hustcc on 18/7/5.
* Contract: i@hust.cc
*/
/**
* sensor strategies
*/
// export const createSensor = createObjectSensor;
var createSensor = typeof ResizeObserver !== 'undefined' ? _resizeObserver.createSensor : _object.createSensor;
exports.createSensor = createSensor;
/***/ }),
/***/ "GABl":
/*!********************************************!*\
!*** ./src/assets/images/icons/chrome.png ***!
\********************************************/
/*! no static exports found */
/*! exports used: default */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports) {
module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAKi0lEQVRoQ71ae3BU1Rn//e7dzYuioNRsHlSqRiUB2eUx0hbaKAHEAMWxiQ6PTUAUGCuIQNVOZ0xnrHUE5GHHIqOwCag8BlQiQnnUokgt5AEIK5GnBpIFXwjkAdl7vs7dkJCETXLvEj3/5d7v9/u+337nfN8554bowBHo16+3YRh3K7IPBHcRSIDI9QJ0AWkA8h0E3xM8DWAvde5x6Pqe+D17jnVUGLxWogqPp78SGSeC3wP4ZUR8pJ+Ct50O7e344uKjEXFcBkUkSERY6e43RkE9JcCgawngaiw3O6A/l7CvaHckvLYFhTKi5B8C3B2JQ6sYEhvpcMxKKioqs4ox7SwLkvT0mFNnz82HqKkCaHacRGxL1gDybHJp6WKSYoXHkqBytzuF4FoR6WOFtKNtCP4b0c7s5N27v22Pu11B5e7+6ZTgBgE6t0f2Y74n8IUjOuo+1+7dx9vy06agcrf7fgjXARLzYwZrnZsB6BzevaRkf2uYVgWdcruHKnAjRJzWHf4ElmSl5nTcnbRnT3k4b2EFVfTt29NQ8l+zKf4EIUbi4kAnhz7ohuLiH1qCwwo62cf9ccf3l0jibh1DckPy3lKzmTcbYQWV9+k7HlArOjaEjmejRm9yaWmzOMMKMncCp9x9dwlkYEeEQUCBrO0IrqYcApx1xsV6XLt2nWl43kyQqyB38dQJPZ7MY56qdLsHGIL/iY3m24R0p2jc6BDZrkVHf3XTiBFfMy9PdbSgNotCYv6kDAPGVhCTT3vz3zCNT7o9PhHJsRoIwUJN518TS0qKrWI62q4xQ/H5uTsB+Q3I0521zrcfGf/KuTMDBrguXar7or2mSuCCRm1q4t6SN5sGOGZBTQ9DsRdgJEFpQeo8pRvRJe/MYeMUMe2lYlQczl4cBki7jT78DyCVTN32qfkuRJC8Mrd3nSGNzYoa5wYm+P5kvivv43kakBdbbWTk1zqRnlBa6jdt8j4UR1Fx9WQAUyG4aqtEUIHYBWJh4ay4dQ28ciBjJiAvR5Qx8jtEOROZsuliSFBCQc4LSvBs4xogLjmjolPLH156VLKyok4ePuKHyK1XOSN/0Bz6PUlFRaXmuzELLrmNYHCVQO6wEhjBT5zReHj99LiToUwdGPIYgNesYMPE8hDTtq0JCYovyD0KkVuaGZHvnfb6xpjPTnk8o5WS91qSNC2bo+fWZiqq1RDpZDOggMPhHPHuzKi99aIy8gHx2uQwJ9t69tr2IBPfyr3TqJPPwxE4dGScGp+//XKB2CIiQ6/YcXP3faUjGjITNII7IxBTT0eeitJjB6yfyUr5MrMrLtT6IXDZFHUWaTd0Y8LKieOVEb6JkjgwOCbTvTY726j0eFINwT4RcYRi0LVfJZeUfGqumeKimgNWp1kbQX7w/pxOmaEsHRw6BaKW2BRkBjWQCQUTFylR01td9ODjgRzfq6Gp18ezSEGmEyxJ3lfaz3w2en7VNKUQen+tQ9O0ezfMiv1QjmZcj1oJQGBvl09tKl0Fuf8Rkd+1Koj4NkqPS/lq3D+/PztoUNcLF6oOQ7AweV/p8yZm5LyqveGqWSTiSK4pnB33UH2WMtZAJMsWD7HIFHRQRFLbBnLR6Rzfk6G15PFM05R2NHFf8RazzwSDqs0Dl52ACJ6PuTm229psXhJ/xjQosZl5vs/4/NxKQNpegERQd7B3xVjfIcnK0iuPHYtOLC6uHjW/dqQoo9BO0O3ZRkfpt6+bEXNY/BmZUPJ+e/bN3pM76crPrRVIdHtAkpsDXl+oqjWMUfOrpoiC/cXbhjPqWnrhU7E75NB9dyFYt6+9uFq838/4gpwfILjOCpBkZsDr+6DBduTcmomAWmYFa9VGc3DQhplxn4h/aAqU+sIqLmRHfkZXQU6ZCG63AiRZlpQa1bu4/9K6UEGYXzMESm2zgrVqQ2i3FM6JPS7+jIEwT832xi668nN2CPBbqziN2lOV3uULTPusl6uTahTKIZFuKpt7JXGm36y4hDxSiX/YI1DG61bjupyhzaag1QJkWwfyrO6MSqkYu/QbEzNqXvV2EbnXOr51S2p4o3BWJ3Nja5btAohMsMfLV80qtxCQGXaAJJcEvL5pJmb0vJpxStRKO/hwtuYunE7ds+HJ6P1yfEwXVJ+vgCDWFi8xg64Vk7JFGattAg2nw9n35NjX92etEb32qxpzn3dNWSKxvHB2p0n12RkyHYJFtmIyjXUtnT3eye1Sc16+gUC3Q0CyJCk1aqBZIB6YKzfVsdrcMSTY4WiwJbC/C+J+vWIOq0TyHPDvNI8rKba4iBpERXUNHR9cBTkfi9j/LEJqLwW8y582OR6Ye7FXHYx3gTDnpjYiM8U4o5nZeCbyD50BpRbaEmMaE1uZtn3Y5fPQxGch6gXbJKDSdW1ExfhlW0zsmAXSxQjW+ARy1X1ZS+76k6vkd5G4J8zMhKZa2ahuqKs+DPOLn91BPsK0bctCghJXTLrDUMoPiO3PJAQvApwSyFme3xDD6PmXPCJ1MwA+KCI/axqbWZpBFFJ3LDYLQNN3cnDIEgim2NWC+unmYsqmc42XEq6C3FUiEtrpRjIIzBscm/mMeXZqih+9UOIhNbeFMhBkRb/ZMV+afaalDykb3gdBowRi/0cFtcVM2xqq1FcErZyYKoZ8FkmWGoMjjwGy6MaYTsv82a9eaOuHue2DJ6KP3P/KxQYbOThkB8R6g2/i8xwcsbfyjsJQX2x50XhNWboigGcBrKam7RKRMqce+vodYwiSIOihREYAPN5wJJGDGdkQsdc6Gpxp/AtTt/2t4c9mghIKJvcU1O0VQVQk084yhjgHxKac9i45I+VZsTj3/SGI/MIyvjF6VqBrbAoTC6vDCjIfulZM/KMo9YptchsAEk8HvPkvhdbVwYznIJJnA97EVBvLXlvfblZ0whG58nPWCvCHyJy0gyKPde7WOdVcP3JkWHfUqkOAxNn2Rcxn2vbZLXFhr15vW/nEdeeNcyUArr5ctO25OUAjH6z0+tZfzs4qRFJZiU1IHTySvPoDQKt3yeb1cFDJNhHcdI0amhQk7gh4fen1YoYPhgQ/ss/NzxHtHGj2nHDYNi/Hk9/MTQka2CoiN9t3fNVkUDr0/hU5b5SK5Gnw7yyCiMcWL+GH5sxkz80nWsO1e9uftHJysqHqtoigpy3nLYxJLgt4fY+EsnMg41FAltriIzciyjm2tcy0WuXCOUnKf/xGg1VvishwW0Fc8XIhNoYpJ7J9gfpLRByGyM8tc5FzkTromXBrxlJRaM2ReW0sSi0QQTfLwZiG1P582rv876Hs+DNehpKZFvEnoWE2U7dbbrrtTrmWjhPfeqybEby0ECLjrARF8ETML9DzxD2+WikbdifqDHND2vb/PpDm5/oXcV3XRey+tsaKH1tTLhyh661H0xCsmyaQCW1dg1HTHwpMWLbmcpneBJH7Wg+QVdCwFKI/z7R/fWdHyDULaiCIL5jdScM3Y6X+m04/aXIPQGJnwJs/OCTm8yEjYSDMLSurQPkI5CrcoK2ja0vobBTpsD3l2nKU/mGe43DFiV5Ksb8SNUCj9lrlhOUl5r8JwG9evjMBhDmdjkJYBp2luLPHHrL+nq8jxv8BV2A7FHmr6w0AAAAASUVORK5CYII="
/***/ }),
/***/ "Gev7":
/*!*********************************************************!*\
!*** ./node_modules/zrender/lib/graphic/Displayable.js ***!
\*********************************************************/
/*! no static exports found */
/*! all exports used */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports, __webpack_require__) {
var zrUtil = __webpack_require__(/*! ../core/util */ "bYtY");
var Style = __webpack_require__(/*! ./Style */ "K2GJ");
var Element = __webpack_require__(/*! ../Element */ "1bdT");
var RectText = __webpack_require__(/*! ./mixin/RectText */ "ni6a");
/**
* Base class of all displayable graphic objects
* @module zrender/graphic/Displayable
*/
/**
* @alias module:zrender/graphic/Displayable
* @extends module:zrender/Element
* @extends module:zrender/graphic/mixin/RectText
*/
function Displayable(opts) {
opts = opts || {};
Element.call(this, opts); // Extend properties
for (var name in opts) {
if (opts.hasOwnProperty(name) && name !== 'style') {
this[name] = opts[name];
}
}
/**
* @type {module:zrender/graphic/Style}
*/
this.style = new Style(opts.style, this);
this._rect = null; // Shapes for cascade clipping.
// Can only be `null`/`undefined` or an non-empty array, MUST NOT be an empty array.
// because it is easy to only using null to check whether clipPaths changed.
this.__clipPaths = null; // FIXME Stateful must be mixined after style is setted
// Stateful.call(this, opts);
}
Displayable.prototype = {
constructor: Displayable,
type: 'displayable',
/**
* Dirty flag. From which painter will determine if this displayable object needs brush.
* @name module:zrender/graphic/Displayable#__dirty
* @type {boolean}
*/
__dirty: true,
/**
* Whether the displayable object is visible. when it is true, the displayable object
* is not drawn, but the mouse event can still trigger the object.
* @name module:/zrender/graphic/Displayable#invisible
* @type {boolean}
* @default false
*/
invisible: false,
/**
* @name module:/zrender/graphic/Displayable#z
* @type {number}
* @default 0
*/
z: 0,
/**
* @name module:/zrender/graphic/Displayable#z
* @type {number}
* @default 0
*/
z2: 0,
/**
* The z level determines the displayable object can be drawn in which layer canvas.
* @name module:/zrender/graphic/Displayable#zlevel
* @type {number}
* @default 0
*/
zlevel: 0,
/**
* Whether it can be dragged.
* @name module:/zrender/graphic/Displayable#draggable
* @type {boolean}
* @default false
*/
draggable: false,
/**
* Whether is it dragging.
* @name module:/zrender/graphic/Displayable#draggable
* @type {boolean}
* @default false
*/
dragging: false,
/**
* Whether to respond to mouse events.
* @name module:/zrender/graphic/Displayable#silent
* @type {boolean}
* @default false
*/
silent: false,
/**
* If enable culling
* @type {boolean}
* @default false
*/
culling: false,
/**
* Mouse cursor when hovered
* @name module:/zrender/graphic/Displayable#cursor
* @type {string}
*/
cursor: 'pointer',
/**
* If hover area is bounding rect
* @name module:/zrender/graphic/Displayable#rectHover
* @type {string}
*/
rectHover: false,
/**
* Render the element progressively when the value >= 0,
* usefull for large data.
* @type {boolean}
*/
progressive: false,
/**
* @type {boolean}
*/
incremental: false,
/**
* Scale ratio for global scale.
* @type {boolean}
*/
globalScaleRatio: 1,
beforeBrush: function (ctx) {},
afterBrush: function (ctx) {},
/**
* Graphic drawing method.
* @param {CanvasRenderingContext2D} ctx
*/
// Interface
brush: function (ctx, prevEl) {},
/**
* Get the minimum bounding box.
* @return {module:zrender/core/BoundingRect}
*/
// Interface
getBoundingRect: function () {},
/**
* If displayable element contain coord x, y
* @param {number} x
* @param {number} y
* @return {boolean}
*/
contain: function (x, y) {
return this.rectContain(x, y);
},
/**
* @param {Function} cb
* @param {} context
*/
traverse: function (cb, context) {
cb.call(context, this);
},
/**
* If bounding rect of element contain coord x, y
* @param {number} x
* @param {number} y
* @return {boolean}
*/
rectContain: function (x, y) {
var coord = this.transformCoordToLocal(x, y);
var rect = this.getBoundingRect();
return rect.contain(coord[0], coord[1]);
},
/**
* Mark displayable element dirty and refresh next frame
*/
dirty: function () {
this.__dirty = this.__dirtyText = true;
this._rect = null;
this.__zr && this.__zr.refresh();
},
/**
* If displayable object binded any event
* @return {boolean}
*/
// TODO, events bound by bind
// isSilent: function () {
// return !(
// this.hoverable || this.draggable
// || this.onmousemove || this.onmouseover || this.onmouseout
// || this.onmousedown || this.onmouseup || this.onclick
// || this.ondragenter || this.ondragover || this.ondragleave
// || this.ondrop
// );
// },
/**
* Alias for animate('style')
* @param {boolean} loop
*/
animateStyle: function (loop) {
return this.animate('style', loop);
},
attrKV: function (key, value) {
if (key !== 'style') {
Element.prototype.attrKV.call(this, key, value);
} else {
this.style.set(value);
}
},
/**
* @param {Object|string} key
* @param {*} value
*/
setStyle: function (key, value) {
this.style.set(key, value);
this.dirty(false);
return this;
},
/**
* Use given style object
* @param {Object} obj
*/
useStyle: function (obj) {
this.style = new Style(obj, this);
this.dirty(false);
return this;
},
/**
* The string value of `textPosition` needs to be calculated to a real postion.
* For example, `'inside'` is calculated to `[rect.width/2, rect.height/2]`
* by default. See `contain/text.js#calculateTextPosition` for more details.
* But some coutom shapes like "pin", "flag" have center that is not exactly
* `[width/2, height/2]`. So we provide this hook to customize the calculation
* for those shapes. It will be called if the `style.textPosition` is a string.
* @param {Obejct} [out] Prepared out object. If not provided, this method should
* be responsible for creating one.
* @param {module:zrender/graphic/Style} style
* @param {Object} rect {x, y, width, height}
* @return {Obejct} out The same as the input out.
* {
* x: number. mandatory.
* y: number. mandatory.
* textAlign: string. optional. use style.textAlign by default.
* textVerticalAlign: string. optional. use style.textVerticalAlign by default.
* }
*/
calculateTextPosition: null
};
zrUtil.inherits(Displayable, Element);
zrUtil.mixin(Displayable, RectText); // zrUtil.mixin(Displayable, Stateful);
var _default = Displayable;
module.exports = _default;
/***/ }),
/***/ "GfqC":
/*!********************************************************!*\
!*** ./node_modules/rc-upload/es/index.js + 6 modules ***!
\********************************************************/
/*! exports provided: default */
/*! exports used: default */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/classnames/index.js (<- Module is not an ECMAScript module) */
/*! ModuleConcatenation bailout: Cannot concat with external "window.React" (<- Module is not an ECMAScript module) */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
// EXTERNAL MODULE: external "window.React"
var external_window_React_ = __webpack_require__("cDcd");
var external_window_React_default = /*#__PURE__*/__webpack_require__.n(external_window_React_);
// EXTERNAL MODULE: ./node_modules/classnames/index.js
var classnames = __webpack_require__("TSYQ");
var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
// CONCATENATED MODULE: ./node_modules/rc-upload/es/request.js
function getError(option, xhr) {
var msg = 'cannot ' + option.method + ' ' + option.action + ' ' + xhr.status + '\'';
var err = new Error(msg);
err.status = xhr.status;
err.method = option.method;
err.url = option.action;
return err;
}
function getBody(xhr) {
var text = xhr.responseText || xhr.response;
if (!text) {
return text;
}
try {
return JSON.parse(text);
} catch (e) {
return text;
}
}
// option {
// onProgress: (event: { percent: number }): void,
// onError: (event: Error, body?: Object): void,
// onSuccess: (body: Object): void,
// data: Object,
// filename: String,
// file: File,
// withCredentials: Boolean,
// action: String,
// headers: Object,
// }
function upload(option) {
// eslint-disable-next-line no-undef
var xhr = new XMLHttpRequest();
if (option.onProgress && xhr.upload) {
xhr.upload.onprogress = function progress(e) {
if (e.total > 0) {
e.percent = e.loaded / e.total * 100;
}
option.onProgress(e);
};
}
// eslint-disable-next-line no-undef
var formData = new FormData();
if (option.data) {
Object.keys(option.data).forEach(function (key) {
var value = option.data[key];
// support key-value array data
if (Array.isArray(value)) {
value.forEach(function (item) {
// { list: [ 11, 22 ] }
// formData.append('list[]', 11);
formData.append(key + '[]', item);
});
return;
}
formData.append(key, option.data[key]);
});
}
// eslint-disable-next-line no-undef
if (option.file instanceof Blob) {
formData.append(option.filename, option.file, option.file.name);
} else {
formData.append(option.filename, option.file);
}
xhr.onerror = function error(e) {
option.onError(e);
};
xhr.onload = function onload() {
// allow success when 2xx status
// see https://github.com/react-component/upload/issues/34
if (xhr.status < 200 || xhr.status >= 300) {
return option.onError(getError(option, xhr), getBody(xhr));
}
return option.onSuccess(getBody(xhr), xhr);
};
xhr.open(option.method, option.action, true);
// Has to be after `.open()`. See https://github.com/enyo/dropzone/issues/179
if (option.withCredentials && 'withCredentials' in xhr) {
xhr.withCredentials = true;
}
var headers = option.headers || {};
// when set headers['X-Requested-With'] = null , can close default XHR header
// see https://github.com/react-component/upload/issues/33
if (headers['X-Requested-With'] !== null) {
xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
}
Object.keys(headers).forEach(function (h) {
if (headers[h] !== null) {
xhr.setRequestHeader(h, headers[h]);
}
});
xhr.send(formData);
return {
abort: function abort() {
xhr.abort();
}
};
}
// CONCATENATED MODULE: ./node_modules/rc-upload/es/uid.js
var now = +new Date();
var index = 0;
function uid_uid() {
return "rc-upload-" + now + "-" + ++index;
}
// CONCATENATED MODULE: ./node_modules/rc-upload/es/attr-accept.js
function endsWith(str, suffix) {
return str.indexOf(suffix, str.length - suffix.length) !== -1;
}
/* harmony default export */ var attr_accept = (function (file, acceptedFiles) {
if (file && acceptedFiles) {
var acceptedFilesArray = Array.isArray(acceptedFiles) ? acceptedFiles : acceptedFiles.split(',');
var fileName = file.name || '';
var mimeType = file.type || '';
var baseMimeType = mimeType.replace(/\/.*$/, '');
return acceptedFilesArray.some(function (type) {
var validType = type.trim();
if (validType.charAt(0) === '.') {
return endsWith(fileName.toLowerCase(), validType.toLowerCase());
} else if (/\/\*$/.test(validType)) {
// This is something like a image/* mime type
return baseMimeType === validType.replace(/\/.*$/, '');
}
return mimeType === validType;
});
}
return true;
});
// CONCATENATED MODULE: ./node_modules/rc-upload/es/traverseFileTree.js
function loopFiles(item, callback) {
var dirReader = item.createReader();
var fileList = [];
function sequence() {
dirReader.readEntries(function (entries) {
var entryList = Array.prototype.slice.apply(entries);
fileList = fileList.concat(entryList);
// Check if all the file has been viewed
var isFinished = !entryList.length;
if (isFinished) {
callback(fileList);
} else {
sequence();
}
});
}
sequence();
}
var traverseFileTree = function traverseFileTree(files, callback, isAccepted) {
var _traverseFileTree = function _traverseFileTree(item, path) {
path = path || '';
if (item.isFile) {
item.file(function (file) {
if (isAccepted(file)) {
// https://github.com/ant-design/ant-design/issues/16426
if (item.fullPath && !file.webkitRelativePath) {
Object.defineProperties(file, {
webkitRelativePath: {
writable: true
}
});
file.webkitRelativePath = item.fullPath.replace(/^\//, '');
Object.defineProperties(file, {
webkitRelativePath: {
writable: false
}
});
}
callback([file]);
}
});
} else if (item.isDirectory) {
loopFiles(item, function (entries) {
entries.forEach(function (entryItem) {
_traverseFileTree(entryItem, '' + path + item.name + '/');
});
});
}
};
files.forEach(function (file) {
_traverseFileTree(file.webkitGetAsEntry());
});
};
/* harmony default export */ var es_traverseFileTree = (traverseFileTree);
// CONCATENATED MODULE: ./node_modules/rc-upload/es/AjaxUploader.js
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
var _createClass = 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
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; }
function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
/* eslint react/no-is-mounted:0,react/sort-comp:0,react/prop-types:0 */
var dataOrAriaAttributeProps = function dataOrAriaAttributeProps(props) {
return Object.keys(props).reduce(function (acc, key) {
if (key.substr(0, 5) === 'data-' || key.substr(0, 5) === 'aria-' || key === 'role') {
acc[key] = props[key];
}
return acc;
}, {});
};
var AjaxUploader_AjaxUploader = function (_Component) {
_inherits(AjaxUploader, _Component);
function AjaxUploader() {
var _ref;
var _temp, _this, _ret;
_classCallCheck(this, AjaxUploader);
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = AjaxUploader.__proto__ || Object.getPrototypeOf(AjaxUploader)).call.apply(_ref, [this].concat(args))), _this), _this.state = { uid: uid_uid() }, _this.reqs = {}, _this.onChange = function (e) {
var files = e.target.files;
_this.uploadFiles(files);
_this.reset();
}, _this.onClick = function (e) {
var el = _this.fileInput;
if (!el) {
return;
}
var _this$props = _this.props,
children = _this$props.children,
onClick = _this$props.onClick;
if (children && children.type === 'button') {
el.parentNode.focus();
el.parentNode.querySelector('button').blur();
}
el.click();
if (onClick) {
onClick(e);
}
}, _this.onKeyDown = function (e) {
if (e.key === 'Enter') {
_this.onClick();
}
}, _this.onFileDrop = function (e) {
var multiple = _this.props.multiple;
e.preventDefault();
if (e.type === 'dragover') {
return;
}
if (_this.props.directory) {
es_traverseFileTree(Array.prototype.slice.call(e.dataTransfer.items), _this.uploadFiles, function (_file) {
return attr_accept(_file, _this.props.accept);
});
} else {
var files = Array.prototype.slice.call(e.dataTransfer.files).filter(function (file) {
return attr_accept(file, _this.props.accept);
});
if (multiple === false) {
files = files.slice(0, 1);
}
_this.uploadFiles(files);
}
}, _this.uploadFiles = function (files) {
var postFiles = Array.prototype.slice.call(files);
postFiles.map(function (file) {
file.uid = uid_uid();
return file;
}).forEach(function (file) {
_this.upload(file, postFiles);
});
}, _this.saveFileInput = function (node) {
_this.fileInput = node;
}, _temp), _possibleConstructorReturn(_this, _ret);
}
_createClass(AjaxUploader, [{
key: 'componentDidMount',
value: function componentDidMount() {
this._isMounted = true;
}
}, {
key: 'componentWillUnmount',
value: function componentWillUnmount() {
this._isMounted = false;
this.abort();
}
}, {
key: 'upload',
value: function upload(file, fileList) {
var _this2 = this;
var props = this.props;
if (!props.beforeUpload) {
// always async in case use react state to keep fileList
return setTimeout(function () {
return _this2.post(file);
}, 0);
}
var before = props.beforeUpload(file, fileList);
if (before && before.then) {
before.then(function (processedFile) {
var processedFileType = Object.prototype.toString.call(processedFile);
if (processedFileType === '[object File]' || processedFileType === '[object Blob]') {
return _this2.post(processedFile);
}
return _this2.post(file);
})['catch'](function (e) {
// eslint-disable-next-line no-console
console.log(e);
});
} else if (before !== false) {
setTimeout(function () {
return _this2.post(file);
}, 0);
}
return undefined;
}
}, {
key: 'post',
value: function post(file) {
var _this3 = this;
if (!this._isMounted) {
return;
}
var props = this.props;
var onStart = props.onStart,
onProgress = props.onProgress,
_props$transformFile = props.transformFile,
transformFile = _props$transformFile === undefined ? function (originFile) {
return originFile;
} : _props$transformFile;
new Promise(function (resolve) {
var action = props.action;
if (typeof action === 'function') {
action = action(file);
}
return resolve(action);
}).then(function (action) {
var uid = file.uid;
var request = props.customRequest || upload;
var transform = Promise.resolve(transformFile(file)).then(function (transformedFile) {
var data = props.data;
if (typeof data === 'function') {
data = data(transformedFile);
}
return Promise.all([transformedFile, data]);
})['catch'](function (e) {
console.error(e); // eslint-disable-line no-console
});
transform.then(function (_ref2) {
var _ref3 = _slicedToArray(_ref2, 2),
transformedFile = _ref3[0],
data = _ref3[1];
var requestOption = {
action: action,
filename: props.name,
data: data,
file: transformedFile,
headers: props.headers,
withCredentials: props.withCredentials,
method: props.method || 'post',
onProgress: onProgress ? function (e) {
onProgress(e, file);
} : null,
onSuccess: function onSuccess(ret, xhr) {
delete _this3.reqs[uid];
props.onSuccess(ret, file, xhr);
},
onError: function onError(err, ret) {
delete _this3.reqs[uid];
props.onError(err, ret, file);
}
};
onStart(file);
_this3.reqs[uid] = request(requestOption);
});
});
}
}, {
key: 'reset',
value: function reset() {
this.setState({
uid: uid_uid()
});
}
}, {
key: 'abort',
value: function abort(file) {
var reqs = this.reqs;
if (file) {
var uid = file;
if (file && file.uid) {
uid = file.uid;
}
if (reqs[uid] && reqs[uid].abort) {
reqs[uid].abort();
}
delete reqs[uid];
} else {
Object.keys(reqs).forEach(function (uid) {
if (reqs[uid] && reqs[uid].abort) {
reqs[uid].abort();
}
delete reqs[uid];
});
}
}
}, {
key: 'render',
value: function render() {
var _classNames;
var _props = this.props,
Tag = _props.component,
prefixCls = _props.prefixCls,
className = _props.className,
disabled = _props.disabled,
id = _props.id,
style = _props.style,
multiple = _props.multiple,
accept = _props.accept,
children = _props.children,
directory = _props.directory,
openFileDialogOnClick = _props.openFileDialogOnClick,
onMouseEnter = _props.onMouseEnter,
onMouseLeave = _props.onMouseLeave,
otherProps = _objectWithoutProperties(_props, ['component', 'prefixCls', 'className', 'disabled', 'id', 'style', 'multiple', 'accept', 'children', 'directory', 'openFileDialogOnClick', 'onMouseEnter', 'onMouseLeave']);
var cls = classnames_default()((_classNames = {}, _defineProperty(_classNames, prefixCls, true), _defineProperty(_classNames, prefixCls + '-disabled', disabled), _defineProperty(_classNames, className, className), _classNames));
var events = disabled ? {} : {
onClick: openFileDialogOnClick ? this.onClick : function () {},
onKeyDown: openFileDialogOnClick ? this.onKeyDown : function () {},
onMouseEnter: onMouseEnter,
onMouseLeave: onMouseLeave,
onDrop: this.onFileDrop,
onDragOver: this.onFileDrop,
tabIndex: '0'
};
return external_window_React_default.a.createElement(
Tag,
_extends({}, events, {
className: cls,
role: 'button',
style: style
}),
external_window_React_default.a.createElement('input', _extends({}, dataOrAriaAttributeProps(otherProps), {
id: id,
type: 'file',
ref: this.saveFileInput,
onClick: function onClick(e) {
return e.stopPropagation();
} // https://github.com/ant-design/ant-design/issues/19948
, key: this.state.uid,
style: { display: 'none' },
accept: accept,
directory: directory ? 'directory' : null,
webkitdirectory: directory ? 'webkitdirectory' : null,
multiple: multiple,
onChange: this.onChange
})),
children
);
}
}]);
return AjaxUploader;
}(external_window_React_["Component"]);
/* harmony default export */ var es_AjaxUploader = (AjaxUploader_AjaxUploader);
// CONCATENATED MODULE: ./node_modules/rc-upload/es/Upload.js
var Upload_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var Upload_createClass = 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
function Upload_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function Upload_possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function Upload_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
/* eslint react/prop-types:0 */
function empty() {}
var Upload_Upload = function (_Component) {
Upload_inherits(Upload, _Component);
function Upload() {
var _ref;
var _temp, _this, _ret;
Upload_classCallCheck(this, Upload);
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return _ret = (_temp = (_this = Upload_possibleConstructorReturn(this, (_ref = Upload.__proto__ || Object.getPrototypeOf(Upload)).call.apply(_ref, [this].concat(args))), _this), _this.saveUploader = function (node) {
_this.uploader = node;
}, _temp), Upload_possibleConstructorReturn(_this, _ret);
}
Upload_createClass(Upload, [{
key: 'abort',
value: function abort(file) {
this.uploader.abort(file);
}
}, {
key: 'render',
value: function render() {
return external_window_React_default.a.createElement(es_AjaxUploader, Upload_extends({}, this.props, { ref: this.saveUploader }));
}
}]);
return Upload;
}(external_window_React_["Component"]);
Upload_Upload.defaultProps = {
component: 'span',
prefixCls: 'rc-upload',
data: {},
headers: {},
name: 'file',
multipart: false,
onStart: empty,
onError: empty,
onSuccess: empty,
multiple: false,
beforeUpload: null,
customRequest: null,
withCredentials: false,
openFileDialogOnClick: true
};
/* harmony default export */ var es_Upload = (Upload_Upload);
// CONCATENATED MODULE: ./node_modules/rc-upload/es/index.js
// export this package's api
/* harmony default export */ var es = __webpack_exports__["a"] = (es_Upload);
/***/ }),
/***/ "Gytx":
/*!********************************************!*\
!*** ./node_modules/shallowequal/index.js ***!
\********************************************/
/*! no static exports found */
/*! exports used: default */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports) {
//
module.exports = function shallowEqual(objA, objB, compare, compareContext) {
var ret = compare ? compare.call(compareContext, objA, objB) : void 0;
if (ret !== void 0) {
return !!ret;
}
if (objA === objB) {
return true;
}
if (typeof objA !== "object" || !objA || typeof objB !== "object" || !objB) {
return false;
}
var keysA = Object.keys(objA);
var keysB = Object.keys(objB);
if (keysA.length !== keysB.length) {
return false;
}
var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);
// Test for A's keys different from B.
for (var idx = 0; idx < keysA.length; idx++) {
var key = keysA[idx];
if (!bHasOwnProperty(key)) {
return false;
}
var valueA = objA[key];
var valueB = objB[key];
ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;
if (ret === false || (ret === void 0 && valueA !== valueB)) {
return false;
}
}
return true;
};
/***/ }),
/***/ "H6uX":
/*!****************************************************!*\
!*** ./node_modules/zrender/lib/mixin/Eventful.js ***!
\****************************************************/
/*! no static exports found */
/*! all exports used */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports) {
/**
* Event Mixin
* @module zrender/mixin/Eventful
* @author Kener (@Kener-林峰, kener.linfeng@gmail.com)
* pissang (https://www.github.com/pissang)
*/
var arrySlice = Array.prototype.slice;
/**
* Event dispatcher.
*
* @alias module:zrender/mixin/Eventful
* @constructor
* @param {Object} [eventProcessor] The object eventProcessor is the scope when
* `eventProcessor.xxx` called.
* @param {Function} [eventProcessor.normalizeQuery]
* param: {string|Object} Raw query.
* return: {string|Object} Normalized query.
* @param {Function} [eventProcessor.filter] Event will be dispatched only
* if it returns `true`.
* param: {string} eventType
* param: {string|Object} query
* return: {boolean}
* @param {Function} [eventProcessor.afterTrigger] Called after all handlers called.
* param: {string} eventType
*/
var Eventful = function (eventProcessor) {
this._$handlers = {};
this._$eventProcessor = eventProcessor;
};
Eventful.prototype = {
constructor: Eventful,
/**
* The handler can only be triggered once, then removed.
*
* @param {string} event The event name.
* @param {string|Object} [query] Condition used on event filter.
* @param {Function} handler The event handler.
* @param {Object} context
*/
one: function (event, query, handler, context) {
return on(this, event, query, handler, context, true);
},
/**
* Bind a handler.
*
* @param {string} event The event name.
* @param {string|Object} [query] Condition used on event filter.
* @param {Function} handler The event handler.
* @param {Object} [context]
*/
on: function (event, query, handler, context) {
return on(this, event, query, handler, context, false);
},
/**
* Whether any handler has bound.
*
* @param {string} event
* @return {boolean}
*/
isSilent: function (event) {
var _h = this._$handlers;
return !_h[event] || !_h[event].length;
},
/**
* Unbind a event.
*
* @param {string} [event] The event name.
* If no `event` input, "off" all listeners.
* @param {Function} [handler] The event handler.
* If no `handler` input, "off" all listeners of the `event`.
*/
off: function (event, handler) {
var _h = this._$handlers;
if (!event) {
this._$handlers = {};
return this;
}
if (handler) {
if (_h[event]) {
var newList = [];
for (var i = 0, l = _h[event].length; i < l; i++) {
if (_h[event][i].h !== handler) {
newList.push(_h[event][i]);
}
}
_h[event] = newList;
}
if (_h[event] && _h[event].length === 0) {
delete _h[event];
}
} else {
delete _h[event];
}
return this;
},
/**
* Dispatch a event.
*
* @param {string} type The event name.
*/
trigger: function (type) {
var _h = this._$handlers[type];
var eventProcessor = this._$eventProcessor;
if (_h) {
var args = arguments;
var argLen = args.length;
if (argLen > 3) {
args = arrySlice.call(args, 1);
}
var len = _h.length;
for (var i = 0; i < len;) {
var hItem = _h[i];
if (eventProcessor && eventProcessor.filter && hItem.query != null && !eventProcessor.filter(type, hItem.query)) {
i++;
continue;
} // Optimize advise from backbone
switch (argLen) {
case 1:
hItem.h.call(hItem.ctx);
break;
case 2:
hItem.h.call(hItem.ctx, args[1]);
break;
case 3:
hItem.h.call(hItem.ctx, args[1], args[2]);
break;
default:
// have more than 2 given arguments
hItem.h.apply(hItem.ctx, args);
break;
}
if (hItem.one) {
_h.splice(i, 1);
len--;
} else {
i++;
}
}
}
eventProcessor && eventProcessor.afterTrigger && eventProcessor.afterTrigger(type);
return this;
},
/**
* Dispatch a event with context, which is specified at the last parameter.
*
* @param {string} type The event name.
*/
triggerWithContext: function (type) {
var _h = this._$handlers[type];
var eventProcessor = this._$eventProcessor;
if (_h) {
var args = arguments;
var argLen = args.length;
if (argLen > 4) {
args = arrySlice.call(args, 1, args.length - 1);
}
var ctx = args[args.length - 1];
var len = _h.length;
for (var i = 0; i < len;) {
var hItem = _h[i];
if (eventProcessor && eventProcessor.filter && hItem.query != null && !eventProcessor.filter(type, hItem.query)) {
i++;
continue;
} // Optimize advise from backbone
switch (argLen) {
case 1:
hItem.h.call(ctx);
break;
case 2:
hItem.h.call(ctx, args[1]);
break;
case 3:
hItem.h.call(ctx, args[1], args[2]);
break;
default:
// have more than 2 given arguments
hItem.h.apply(ctx, args);
break;
}
if (hItem.one) {
_h.splice(i, 1);
len--;
} else {
i++;
}
}
}
eventProcessor && eventProcessor.afterTrigger && eventProcessor.afterTrigger(type);
return this;
}
};
function normalizeQuery(host, query) {
var eventProcessor = host._$eventProcessor;
if (query != null && eventProcessor && eventProcessor.normalizeQuery) {
query = eventProcessor.normalizeQuery(query);
}
return query;
}
function on(eventful, event, query, handler, context, isOnce) {
var _h = eventful._$handlers;
if (typeof query === 'function') {
context = handler;
handler = query;
query = null;
}
if (!handler || !event) {
return eventful;
}
query = normalizeQuery(eventful, query);
if (!_h[event]) {
_h[event] = [];
}
for (var i = 0; i < _h[event].length; i++) {
if (_h[event][i].h === handler) {
return eventful;
}
}
var wrap = {
h: handler,
one: isOnce,
query: query,
ctx: context || eventful,
// FIXME
// Do not publish this feature util it is proved that it makes sense.
callAtLast: handler.zrEventfulCallAtLast
};
var lastIndex = _h[event].length - 1;
var lastWrap = _h[event][lastIndex];
lastWrap && lastWrap.callAtLast ? _h[event].splice(lastIndex, 0, wrap) : _h[event].push(wrap);
return eventful;
} // ----------------------
// The events in zrender
// ----------------------
/**
* @event module:zrender/mixin/Eventful#onclick
* @type {Function}
* @default null
*/
/**
* @event module:zrender/mixin/Eventful#onmouseover
* @type {Function}
* @default null
*/
/**
* @event module:zrender/mixin/Eventful#onmouseout
* @type {Function}
* @default null
*/
/**
* @event module:zrender/mixin/Eventful#onmousemove
* @type {Function}
* @default null
*/
/**
* @event module:zrender/mixin/Eventful#onmousewheel
* @type {Function}
* @default null
*/
/**
* @event module:zrender/mixin/Eventful#onmousedown
* @type {Function}
* @default null
*/
/**
* @event module:zrender/mixin/Eventful#onmouseup
* @type {Function}
* @default null
*/
/**
* @event module:zrender/mixin/Eventful#ondrag
* @type {Function}
* @default null
*/
/**
* @event module:zrender/mixin/Eventful#ondragstart
* @type {Function}
* @default null
*/
/**
* @event module:zrender/mixin/Eventful#ondragend
* @type {Function}
* @default null
*/
/**
* @event module:zrender/mixin/Eventful#ondragenter
* @type {Function}
* @default null
*/
/**
* @event module:zrender/mixin/Eventful#ondragleave
* @type {Function}
* @default null
*/
/**
* @event module:zrender/mixin/Eventful#ondragover
* @type {Function}
* @default null
*/
/**
* @event module:zrender/mixin/Eventful#ondrop
* @type {Function}
* @default null
*/
var _default = Eventful;
module.exports = _default;
/***/ }),
/***/ "HmJG":
/*!****************************************************************!*\
!*** ./src/components/markdown-editor/upload-image/index.less ***!
\****************************************************************/
/*! no static exports found */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports, __webpack_require__) {
// extracted by mini-css-extract-plugin
/***/ }),
/***/ "HpTS":
/*!********************************************************!*\
!*** ./src/assets/images/classrooms/small_program.png ***!
\********************************************************/
/*! no static exports found */
/*! exports used: default */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports, __webpack_require__) {
module.exports = __webpack_require__.p + "static/small_program.f74069ec.png";
/***/ }),
/***/ "I8Z2":
/*!**********************************************************!*\
!*** ./node_modules/mini-store/esm/index.js + 3 modules ***!
\**********************************************************/
/*! exports provided: Provider, connect, create */
/*! exports used: Provider, connect, create */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js (<- Module is not an ECMAScript module) */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/shallowequal/index.js (<- Module is not an ECMAScript module) */
/*! ModuleConcatenation bailout: Cannot concat with external "window.React" (<- Module is not an ECMAScript module) */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
// EXPORTS
__webpack_require__.d(__webpack_exports__, "a", function() { return /* reexport */ Provider_Provider; });
__webpack_require__.d(__webpack_exports__, "b", function() { return /* reexport */ connect; });
__webpack_require__.d(__webpack_exports__, "c", function() { return /* reexport */ create; });
// EXTERNAL MODULE: external "window.React"
var external_window_React_ = __webpack_require__("cDcd");
// CONCATENATED MODULE: ./node_modules/mini-store/esm/Provider.js
var __extends = (undefined && undefined.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
var MiniStoreContext = external_window_React_["createContext"](null);
var Provider_Provider = /** @class */ (function (_super) {
__extends(Provider, _super);
function Provider() {
return _super !== null && _super.apply(this, arguments) || this;
}
Provider.prototype.render = function () {
return (external_window_React_["createElement"](MiniStoreContext.Provider, { value: this.props.store }, this.props.children));
};
return Provider;
}(external_window_React_["Component"]));
// EXTERNAL MODULE: ./node_modules/shallowequal/index.js
var shallowequal = __webpack_require__("Gytx");
var shallowequal_default = /*#__PURE__*/__webpack_require__.n(shallowequal);
// EXTERNAL MODULE: ./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js
var hoist_non_react_statics_cjs = __webpack_require__("2mql");
var hoist_non_react_statics_cjs_default = /*#__PURE__*/__webpack_require__.n(hoist_non_react_statics_cjs);
// CONCATENATED MODULE: ./node_modules/mini-store/esm/connect.js
var connect_extends = (undefined && undefined.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
var __assign = (undefined && undefined.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
function getDisplayName(WrappedComponent) {
return WrappedComponent.displayName || WrappedComponent.name || 'Component';
}
var defaultMapStateToProps = function () { return ({}); };
function connect(mapStateToProps, options) {
if (options === void 0) { options = {}; }
var shouldSubscribe = !!mapStateToProps;
var finalMapStateToProps = mapStateToProps || defaultMapStateToProps;
return function wrapWithConnect(WrappedComponent) {
var Connect = /** @class */ (function (_super) {
connect_extends(Connect, _super);
function Connect(props, context) {
var _this = _super.call(this, props, context) || this;
_this.unsubscribe = null;
_this.handleChange = function () {
if (!_this.unsubscribe) {
return;
}
var nextState = finalMapStateToProps(_this.store.getState(), _this.props);
_this.setState({ subscribed: nextState });
};
_this.store = _this.context;
_this.state = {
subscribed: finalMapStateToProps(_this.store.getState(), props),
store: _this.store,
props: props,
};
return _this;
}
Connect.getDerivedStateFromProps = function (props, prevState) {
// using ownProps
if (mapStateToProps && mapStateToProps.length === 2 && props !== prevState.props) {
return {
subscribed: finalMapStateToProps(prevState.store.getState(), props),
props: props,
};
}
return { props: props };
};
Connect.prototype.componentDidMount = function () {
this.trySubscribe();
};
Connect.prototype.componentWillUnmount = function () {
this.tryUnsubscribe();
};
Connect.prototype.shouldComponentUpdate = function (nextProps, nextState) {
return (!shallowequal_default()(this.props, nextProps) ||
!shallowequal_default()(this.state.subscribed, nextState.subscribed));
};
Connect.prototype.trySubscribe = function () {
if (shouldSubscribe) {
this.unsubscribe = this.store.subscribe(this.handleChange);
this.handleChange();
}
};
Connect.prototype.tryUnsubscribe = function () {
if (this.unsubscribe) {
this.unsubscribe();
this.unsubscribe = null;
}
};
Connect.prototype.render = function () {
var props = __assign(__assign(__assign({}, this.props), this.state.subscribed), { store: this.store });
return external_window_React_["createElement"](WrappedComponent, __assign({}, props, { ref: this.props.miniStoreForwardedRef }));
};
Connect.displayName = "Connect(" + getDisplayName(WrappedComponent) + ")";
Connect.contextType = MiniStoreContext;
return Connect;
}(external_window_React_["Component"]));
if (options.forwardRef) {
var forwarded = external_window_React_["forwardRef"](function (props, ref) {
return external_window_React_["createElement"](Connect, __assign({}, props, { miniStoreForwardedRef: ref }));
});
return hoist_non_react_statics_cjs_default()(forwarded, WrappedComponent);
}
return hoist_non_react_statics_cjs_default()(Connect, WrappedComponent);
};
}
// CONCATENATED MODULE: ./node_modules/mini-store/esm/create.js
var create_assign = (undefined && undefined.__assign) || function () {
create_assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return create_assign.apply(this, arguments);
};
function create(initialState) {
var state = initialState;
var listeners = [];
function setState(partial) {
state = create_assign(create_assign({}, state), partial);
for (var i = 0; i < listeners.length; i++) {
listeners[i]();
}
}
function getState() {
return state;
}
function subscribe(listener) {
listeners.push(listener);
return function unsubscribe() {
var index = listeners.indexOf(listener);
listeners.splice(index, 1);
};
}
return {
setState: setState,
getState: getState,
subscribe: subscribe,
};
}
// CONCATENATED MODULE: ./node_modules/mini-store/esm/index.js
/***/ }),
/***/ "IBYe":
/*!**************************************************!*\
!*** ./node_modules/rc-table/es/sugar/Column.js ***!
\**************************************************/
/*! exports provided: default */
/*! exports used: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* istanbul ignore next */
/**
* This is a syntactic sugar for `columns` prop.
* So HOC will not work on this.
*/
// eslint-disable-next-line @typescript-eslint/no-unused-vars
function Column(_) {
return null;
}
/* harmony default export */ __webpack_exports__["a"] = (Column);
/***/ }),
/***/ "IMiH":
/*!****************************************************!*\
!*** ./node_modules/zrender/lib/core/PathProxy.js ***!
\****************************************************/
/*! no static exports found */
/*! all exports used */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports, __webpack_require__) {
var curve = __webpack_require__(/*! ./curve */ "Sj9i");
var vec2 = __webpack_require__(/*! ./vector */ "QBsz");
var bbox = __webpack_require__(/*! ./bbox */ "4mN7");
var BoundingRect = __webpack_require__(/*! ./BoundingRect */ "mFDi");
var _config = __webpack_require__(/*! ../config */ "LPTA");
var dpr = _config.devicePixelRatio;
/**
* Path 代理,可以在`buildPath`中用于替代`ctx`, 会保存每个path操作的命令到pathCommands属性中
* 可以用于 isInsidePath 判断以及获取boundingRect
*
* @module zrender/core/PathProxy
* @author Yi Shen (http://www.github.com/pissang)
*/
// TODO getTotalLength, getPointAtLength
/* global Float32Array */
var CMD = {
M: 1,
L: 2,
C: 3,
Q: 4,
A: 5,
Z: 6,
// Rect
R: 7
}; // var CMD_MEM_SIZE = {
// M: 3,
// L: 3,
// C: 7,
// Q: 5,
// A: 9,
// R: 5,
// Z: 1
// };
var min = [];
var max = [];
var min2 = [];
var max2 = [];
var mathMin = Math.min;
var mathMax = Math.max;
var mathCos = Math.cos;
var mathSin = Math.sin;
var mathSqrt = Math.sqrt;
var mathAbs = Math.abs;
var hasTypedArray = typeof Float32Array !== 'undefined';
/**
* @alias module:zrender/core/PathProxy
* @constructor
*/
var PathProxy = function (notSaveData) {
this._saveData = !(notSaveData || false);
if (this._saveData) {
/**
* Path data. Stored as flat array
* @type {Array.}
*/
this.data = [];
}
this._ctx = null;
};
/**
* 快速计算Path包围盒(并不是最小包围盒)
* @return {Object}
*/
PathProxy.prototype = {
constructor: PathProxy,
_xi: 0,
_yi: 0,
_x0: 0,
_y0: 0,
// Unit x, Unit y. Provide for avoiding drawing that too short line segment
_ux: 0,
_uy: 0,
_len: 0,
_lineDash: null,
_dashOffset: 0,
_dashIdx: 0,
_dashSum: 0,
/**
* @readOnly
*/
setScale: function (sx, sy, segmentIgnoreThreshold) {
// Compat. Previously there is no segmentIgnoreThreshold.
segmentIgnoreThreshold = segmentIgnoreThreshold || 0;
this._ux = mathAbs(segmentIgnoreThreshold / dpr / sx) || 0;
this._uy = mathAbs(segmentIgnoreThreshold / dpr / sy) || 0;
},
getContext: function () {
return this._ctx;
},
/**
* @param {CanvasRenderingContext2D} ctx
* @return {module:zrender/core/PathProxy}
*/
beginPath: function (ctx) {
this._ctx = ctx;
ctx && ctx.beginPath();
ctx && (this.dpr = ctx.dpr); // Reset
if (this._saveData) {
this._len = 0;
}
if (this._lineDash) {
this._lineDash = null;
this._dashOffset = 0;
}
return this;
},
/**
* @param {number} x
* @param {number} y
* @return {module:zrender/core/PathProxy}
*/
moveTo: function (x, y) {
this.addData(CMD.M, x, y);
this._ctx && this._ctx.moveTo(x, y); // x0, y0, xi, yi 是记录在 _dashedXXXXTo 方法中使用
// xi, yi 记录当前点, x0, y0 在 closePath 的时候回到起始点。
// 有可能在 beginPath 之后直接调用 lineTo,这时候 x0, y0 需要
// 在 lineTo 方法中记录,这里先不考虑这种情况,dashed line 也只在 IE10- 中不支持
this._x0 = x;
this._y0 = y;
this._xi = x;
this._yi = y;
return this;
},
/**
* @param {number} x
* @param {number} y
* @return {module:zrender/core/PathProxy}
*/
lineTo: function (x, y) {
var exceedUnit = mathAbs(x - this._xi) > this._ux || mathAbs(y - this._yi) > this._uy // Force draw the first segment
|| this._len < 5;
this.addData(CMD.L, x, y);
if (this._ctx && exceedUnit) {
this._needsDash() ? this._dashedLineTo(x, y) : this._ctx.lineTo(x, y);
}
if (exceedUnit) {
this._xi = x;
this._yi = y;
}
return this;
},
/**
* @param {number} x1
* @param {number} y1
* @param {number} x2
* @param {number} y2
* @param {number} x3
* @param {number} y3
* @return {module:zrender/core/PathProxy}
*/
bezierCurveTo: function (x1, y1, x2, y2, x3, y3) {
this.addData(CMD.C, x1, y1, x2, y2, x3, y3);
if (this._ctx) {
this._needsDash() ? this._dashedBezierTo(x1, y1, x2, y2, x3, y3) : this._ctx.bezierCurveTo(x1, y1, x2, y2, x3, y3);
}
this._xi = x3;
this._yi = y3;
return this;
},
/**
* @param {number} x1
* @param {number} y1
* @param {number} x2
* @param {number} y2
* @return {module:zrender/core/PathProxy}
*/
quadraticCurveTo: function (x1, y1, x2, y2) {
this.addData(CMD.Q, x1, y1, x2, y2);
if (this._ctx) {
this._needsDash() ? this._dashedQuadraticTo(x1, y1, x2, y2) : this._ctx.quadraticCurveTo(x1, y1, x2, y2);
}
this._xi = x2;
this._yi = y2;
return this;
},
/**
* @param {number} cx
* @param {number} cy
* @param {number} r
* @param {number} startAngle
* @param {number} endAngle
* @param {boolean} anticlockwise
* @return {module:zrender/core/PathProxy}
*/
arc: function (cx, cy, r, startAngle, endAngle, anticlockwise) {
this.addData(CMD.A, cx, cy, r, r, startAngle, endAngle - startAngle, 0, anticlockwise ? 0 : 1);
this._ctx && this._ctx.arc(cx, cy, r, startAngle, endAngle, anticlockwise);
this._xi = mathCos(endAngle) * r + cx;
this._yi = mathSin(endAngle) * r + cy;
return this;
},
// TODO
arcTo: function (x1, y1, x2, y2, radius) {
if (this._ctx) {
this._ctx.arcTo(x1, y1, x2, y2, radius);
}
return this;
},
// TODO
rect: function (x, y, w, h) {
this._ctx && this._ctx.rect(x, y, w, h);
this.addData(CMD.R, x, y, w, h);
return this;
},
/**
* @return {module:zrender/core/PathProxy}
*/
closePath: function () {
this.addData(CMD.Z);
var ctx = this._ctx;
var x0 = this._x0;
var y0 = this._y0;
if (ctx) {
this._needsDash() && this._dashedLineTo(x0, y0);
ctx.closePath();
}
this._xi = x0;
this._yi = y0;
return this;
},
/**
* Context 从外部传入,因为有可能是 rebuildPath 完之后再 fill。
* stroke 同样
* @param {CanvasRenderingContext2D} ctx
* @return {module:zrender/core/PathProxy}
*/
fill: function (ctx) {
ctx && ctx.fill();
this.toStatic();
},
/**
* @param {CanvasRenderingContext2D} ctx
* @return {module:zrender/core/PathProxy}
*/
stroke: function (ctx) {
ctx && ctx.stroke();
this.toStatic();
},
/**
* 必须在其它绘制命令前调用
* Must be invoked before all other path drawing methods
* @return {module:zrender/core/PathProxy}
*/
setLineDash: function (lineDash) {
if (lineDash instanceof Array) {
this._lineDash = lineDash;
this._dashIdx = 0;
var lineDashSum = 0;
for (var i = 0; i < lineDash.length; i++) {
lineDashSum += lineDash[i];
}
this._dashSum = lineDashSum;
}
return this;
},
/**
* 必须在其它绘制命令前调用
* Must be invoked before all other path drawing methods
* @return {module:zrender/core/PathProxy}
*/
setLineDashOffset: function (offset) {
this._dashOffset = offset;
return this;
},
/**
*
* @return {boolean}
*/
len: function () {
return this._len;
},
/**
* 直接设置 Path 数据
*/
setData: function (data) {
var len = data.length;
if (!(this.data && this.data.length === len) && hasTypedArray) {
this.data = new Float32Array(len);
}
for (var i = 0; i < len; i++) {
this.data[i] = data[i];
}
this._len = len;
},
/**
* 添加子路径
* @param {module:zrender/core/PathProxy|Array.} path
*/
appendPath: function (path) {
if (!(path instanceof Array)) {
path = [path];
}
var len = path.length;
var appendSize = 0;
var offset = this._len;
for (var i = 0; i < len; i++) {
appendSize += path[i].len();
}
if (hasTypedArray && this.data instanceof Float32Array) {
this.data = new Float32Array(offset + appendSize);
}
for (var i = 0; i < len; i++) {
var appendPathData = path[i].data;
for (var k = 0; k < appendPathData.length; k++) {
this.data[offset++] = appendPathData[k];
}
}
this._len = offset;
},
/**
* 填充 Path 数据。
* 尽量复用而不申明新的数组。大部分图形重绘的指令数据长度都是不变的。
*/
addData: function (cmd) {
if (!this._saveData) {
return;
}
var data = this.data;
if (this._len + arguments.length > data.length) {
// 因为之前的数组已经转换成静态的 Float32Array
// 所以不够用时需要扩展一个新的动态数组
this._expandData();
data = this.data;
}
for (var i = 0; i < arguments.length; i++) {
data[this._len++] = arguments[i];
}
this._prevCmd = cmd;
},
_expandData: function () {
// Only if data is Float32Array
if (!(this.data instanceof Array)) {
var newData = [];
for (var i = 0; i < this._len; i++) {
newData[i] = this.data[i];
}
this.data = newData;
}
},
/**
* If needs js implemented dashed line
* @return {boolean}
* @private
*/
_needsDash: function () {
return this._lineDash;
},
_dashedLineTo: function (x1, y1) {
var dashSum = this._dashSum;
var offset = this._dashOffset;
var lineDash = this._lineDash;
var ctx = this._ctx;
var x0 = this._xi;
var y0 = this._yi;
var dx = x1 - x0;
var dy = y1 - y0;
var dist = mathSqrt(dx * dx + dy * dy);
var x = x0;
var y = y0;
var dash;
var nDash = lineDash.length;
var idx;
dx /= dist;
dy /= dist;
if (offset < 0) {
// Convert to positive offset
offset = dashSum + offset;
}
offset %= dashSum;
x -= offset * dx;
y -= offset * dy;
while (dx > 0 && x <= x1 || dx < 0 && x >= x1 || dx === 0 && (dy > 0 && y <= y1 || dy < 0 && y >= y1)) {
idx = this._dashIdx;
dash = lineDash[idx];
x += dx * dash;
y += dy * dash;
this._dashIdx = (idx + 1) % nDash; // Skip positive offset
if (dx > 0 && x < x0 || dx < 0 && x > x0 || dy > 0 && y < y0 || dy < 0 && y > y0) {
continue;
}
ctx[idx % 2 ? 'moveTo' : 'lineTo'](dx >= 0 ? mathMin(x, x1) : mathMax(x, x1), dy >= 0 ? mathMin(y, y1) : mathMax(y, y1));
} // Offset for next lineTo
dx = x - x1;
dy = y - y1;
this._dashOffset = -mathSqrt(dx * dx + dy * dy);
},
// Not accurate dashed line to
_dashedBezierTo: function (x1, y1, x2, y2, x3, y3) {
var dashSum = this._dashSum;
var offset = this._dashOffset;
var lineDash = this._lineDash;
var ctx = this._ctx;
var x0 = this._xi;
var y0 = this._yi;
var t;
var dx;
var dy;
var cubicAt = curve.cubicAt;
var bezierLen = 0;
var idx = this._dashIdx;
var nDash = lineDash.length;
var x;
var y;
var tmpLen = 0;
if (offset < 0) {
// Convert to positive offset
offset = dashSum + offset;
}
offset %= dashSum; // Bezier approx length
for (t = 0; t < 1; t += 0.1) {
dx = cubicAt(x0, x1, x2, x3, t + 0.1) - cubicAt(x0, x1, x2, x3, t);
dy = cubicAt(y0, y1, y2, y3, t + 0.1) - cubicAt(y0, y1, y2, y3, t);
bezierLen += mathSqrt(dx * dx + dy * dy);
} // Find idx after add offset
for (; idx < nDash; idx++) {
tmpLen += lineDash[idx];
if (tmpLen > offset) {
break;
}
}
t = (tmpLen - offset) / bezierLen;
while (t <= 1) {
x = cubicAt(x0, x1, x2, x3, t);
y = cubicAt(y0, y1, y2, y3, t); // Use line to approximate dashed bezier
// Bad result if dash is long
idx % 2 ? ctx.moveTo(x, y) : ctx.lineTo(x, y);
t += lineDash[idx] / bezierLen;
idx = (idx + 1) % nDash;
} // Finish the last segment and calculate the new offset
idx % 2 !== 0 && ctx.lineTo(x3, y3);
dx = x3 - x;
dy = y3 - y;
this._dashOffset = -mathSqrt(dx * dx + dy * dy);
},
_dashedQuadraticTo: function (x1, y1, x2, y2) {
// Convert quadratic to cubic using degree elevation
var x3 = x2;
var y3 = y2;
x2 = (x2 + 2 * x1) / 3;
y2 = (y2 + 2 * y1) / 3;
x1 = (this._xi + 2 * x1) / 3;
y1 = (this._yi + 2 * y1) / 3;
this._dashedBezierTo(x1, y1, x2, y2, x3, y3);
},
/**
* 转成静态的 Float32Array 减少堆内存占用
* Convert dynamic array to static Float32Array
*/
toStatic: function () {
var data = this.data;
if (data instanceof Array) {
data.length = this._len;
if (hasTypedArray) {
this.data = new Float32Array(data);
}
}
},
/**
* @return {module:zrender/core/BoundingRect}
*/
getBoundingRect: function () {
min[0] = min[1] = min2[0] = min2[1] = Number.MAX_VALUE;
max[0] = max[1] = max2[0] = max2[1] = -Number.MAX_VALUE;
var data = this.data;
var xi = 0;
var yi = 0;
var x0 = 0;
var y0 = 0;
for (var i = 0; i < data.length;) {
var cmd = data[i++];
if (i === 1) {
// 如果第一个命令是 L, C, Q
// 则 previous point 同绘制命令的第一个 point
//
// 第一个命令为 Arc 的情况下会在后面特殊处理
xi = data[i];
yi = data[i + 1];
x0 = xi;
y0 = yi;
}
switch (cmd) {
case CMD.M:
// moveTo 命令重新创建一个新的 subpath, 并且更新新的起点
// 在 closePath 的时候使用
x0 = data[i++];
y0 = data[i++];
xi = x0;
yi = y0;
min2[0] = x0;
min2[1] = y0;
max2[0] = x0;
max2[1] = y0;
break;
case CMD.L:
bbox.fromLine(xi, yi, data[i], data[i + 1], min2, max2);
xi = data[i++];
yi = data[i++];
break;
case CMD.C:
bbox.fromCubic(xi, yi, data[i++], data[i++], data[i++], data[i++], data[i], data[i + 1], min2, max2);
xi = data[i++];
yi = data[i++];
break;
case CMD.Q:
bbox.fromQuadratic(xi, yi, data[i++], data[i++], data[i], data[i + 1], min2, max2);
xi = data[i++];
yi = data[i++];
break;
case CMD.A:
// TODO Arc 判断的开销比较大
var cx = data[i++];
var cy = data[i++];
var rx = data[i++];
var ry = data[i++];
var startAngle = data[i++];
var endAngle = data[i++] + startAngle; // TODO Arc 旋转
i += 1;
var anticlockwise = 1 - data[i++];
if (i === 1) {
// 直接使用 arc 命令
// 第一个命令起点还未定义
x0 = mathCos(startAngle) * rx + cx;
y0 = mathSin(startAngle) * ry + cy;
}
bbox.fromArc(cx, cy, rx, ry, startAngle, endAngle, anticlockwise, min2, max2);
xi = mathCos(endAngle) * rx + cx;
yi = mathSin(endAngle) * ry + cy;
break;
case CMD.R:
x0 = xi = data[i++];
y0 = yi = data[i++];
var width = data[i++];
var height = data[i++]; // Use fromLine
bbox.fromLine(x0, y0, x0 + width, y0 + height, min2, max2);
break;
case CMD.Z:
xi = x0;
yi = y0;
break;
} // Union
vec2.min(min, min, min2);
vec2.max(max, max, max2);
} // No data
if (i === 0) {
min[0] = min[1] = max[0] = max[1] = 0;
}
return new BoundingRect(min[0], min[1], max[0] - min[0], max[1] - min[1]);
},
/**
* Rebuild path from current data
* Rebuild path will not consider javascript implemented line dash.
* @param {CanvasRenderingContext2D} ctx
*/
rebuildPath: function (ctx) {
var d = this.data;
var x0;
var y0;
var xi;
var yi;
var x;
var y;
var ux = this._ux;
var uy = this._uy;
var len = this._len;
for (var i = 0; i < len;) {
var cmd = d[i++];
if (i === 1) {
// 如果第一个命令是 L, C, Q
// 则 previous point 同绘制命令的第一个 point
//
// 第一个命令为 Arc 的情况下会在后面特殊处理
xi = d[i];
yi = d[i + 1];
x0 = xi;
y0 = yi;
}
switch (cmd) {
case CMD.M:
x0 = xi = d[i++];
y0 = yi = d[i++];
ctx.moveTo(xi, yi);
break;
case CMD.L:
x = d[i++];
y = d[i++]; // Not draw too small seg between
if (mathAbs(x - xi) > ux || mathAbs(y - yi) > uy || i === len - 1) {
ctx.lineTo(x, y);
xi = x;
yi = y;
}
break;
case CMD.C:
ctx.bezierCurveTo(d[i++], d[i++], d[i++], d[i++], d[i++], d[i++]);
xi = d[i - 2];
yi = d[i - 1];
break;
case CMD.Q:
ctx.quadraticCurveTo(d[i++], d[i++], d[i++], d[i++]);
xi = d[i - 2];
yi = d[i - 1];
break;
case CMD.A:
var cx = d[i++];
var cy = d[i++];
var rx = d[i++];
var ry = d[i++];
var theta = d[i++];
var dTheta = d[i++];
var psi = d[i++];
var fs = d[i++];
var r = rx > ry ? rx : ry;
var scaleX = rx > ry ? 1 : rx / ry;
var scaleY = rx > ry ? ry / rx : 1;
var isEllipse = Math.abs(rx - ry) > 1e-3;
var endAngle = theta + dTheta;
if (isEllipse) {
ctx.translate(cx, cy);
ctx.rotate(psi);
ctx.scale(scaleX, scaleY);
ctx.arc(0, 0, r, theta, endAngle, 1 - fs);
ctx.scale(1 / scaleX, 1 / scaleY);
ctx.rotate(-psi);
ctx.translate(-cx, -cy);
} else {
ctx.arc(cx, cy, r, theta, endAngle, 1 - fs);
}
if (i === 1) {
// 直接使用 arc 命令
// 第一个命令起点还未定义
x0 = mathCos(theta) * rx + cx;
y0 = mathSin(theta) * ry + cy;
}
xi = mathCos(endAngle) * rx + cx;
yi = mathSin(endAngle) * ry + cy;
break;
case CMD.R:
x0 = xi = d[i];
y0 = yi = d[i + 1];
ctx.rect(d[i++], d[i++], d[i++], d[i++]);
break;
case CMD.Z:
ctx.closePath();
xi = x0;
yi = y0;
}
}
}
};
PathProxy.CMD = CMD;
var _default = PathProxy;
module.exports = _default;
/***/ }),
/***/ "ItGF":
/*!**********************************************!*\
!*** ./node_modules/zrender/lib/core/env.js ***!
\**********************************************/
/*! no static exports found */
/*! all exports used */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports) {
/**
* echarts设备环境识别
*
* @desc echarts基于Canvas,纯Javascript图表库,提供直观,生动,可交互,可个性化定制的数据统计图表。
* @author firede[firede@firede.us]
* @desc thanks zepto.
*/
/* global wx */
var env = {};
if (typeof wx === 'object' && typeof wx.getSystemInfoSync === 'function') {
// In Weixin Application
env = {
browser: {},
os: {},
node: false,
wxa: true,
// Weixin Application
canvasSupported: true,
svgSupported: false,
touchEventsSupported: true,
domSupported: false
};
} else if (typeof document === 'undefined' && typeof self !== 'undefined') {
// In worker
env = {
browser: {},
os: {},
node: false,
worker: true,
canvasSupported: true,
domSupported: false
};
} else if (typeof navigator === 'undefined') {
// In node
env = {
browser: {},
os: {},
node: true,
worker: false,
// Assume canvas is supported
canvasSupported: true,
svgSupported: true,
domSupported: false
};
} else {
env = detect(navigator.userAgent);
}
var _default = env; // Zepto.js
// (c) 2010-2013 Thomas Fuchs
// Zepto.js may be freely distributed under the MIT license.
function detect(ua) {
var os = {};
var browser = {}; // var webkit = ua.match(/Web[kK]it[\/]{0,1}([\d.]+)/);
// var android = ua.match(/(Android);?[\s\/]+([\d.]+)?/);
// var ipad = ua.match(/(iPad).*OS\s([\d_]+)/);
// var ipod = ua.match(/(iPod)(.*OS\s([\d_]+))?/);
// var iphone = !ipad && ua.match(/(iPhone\sOS)\s([\d_]+)/);
// var webos = ua.match(/(webOS|hpwOS)[\s\/]([\d.]+)/);
// var touchpad = webos && ua.match(/TouchPad/);
// var kindle = ua.match(/Kindle\/([\d.]+)/);
// var silk = ua.match(/Silk\/([\d._]+)/);
// var blackberry = ua.match(/(BlackBerry).*Version\/([\d.]+)/);
// var bb10 = ua.match(/(BB10).*Version\/([\d.]+)/);
// var rimtabletos = ua.match(/(RIM\sTablet\sOS)\s([\d.]+)/);
// var playbook = ua.match(/PlayBook/);
// var chrome = ua.match(/Chrome\/([\d.]+)/) || ua.match(/CriOS\/([\d.]+)/);
var firefox = ua.match(/Firefox\/([\d.]+)/); // var safari = webkit && ua.match(/Mobile\//) && !chrome;
// var webview = ua.match(/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/) && !chrome;
var ie = ua.match(/MSIE\s([\d.]+)/) // IE 11 Trident/7.0; rv:11.0
|| ua.match(/Trident\/.+?rv:(([\d.]+))/);
var edge = ua.match(/Edge\/([\d.]+)/); // IE 12 and 12+
var weChat = /micromessenger/i.test(ua); // Todo: clean this up with a better OS/browser seperation:
// - discern (more) between multiple browsers on android
// - decide if kindle fire in silk mode is android or not
// - Firefox on Android doesn't specify the Android version
// - possibly devide in os, device and browser hashes
// if (browser.webkit = !!webkit) browser.version = webkit[1];
// if (android) os.android = true, os.version = android[2];
// if (iphone && !ipod) os.ios = os.iphone = true, os.version = iphone[2].replace(/_/g, '.');
// if (ipad) os.ios = os.ipad = true, os.version = ipad[2].replace(/_/g, '.');
// if (ipod) os.ios = os.ipod = true, os.version = ipod[3] ? ipod[3].replace(/_/g, '.') : null;
// if (webos) os.webos = true, os.version = webos[2];
// if (touchpad) os.touchpad = true;
// if (blackberry) os.blackberry = true, os.version = blackberry[2];
// if (bb10) os.bb10 = true, os.version = bb10[2];
// if (rimtabletos) os.rimtabletos = true, os.version = rimtabletos[2];
// if (playbook) browser.playbook = true;
// if (kindle) os.kindle = true, os.version = kindle[1];
// if (silk) browser.silk = true, browser.version = silk[1];
// if (!silk && os.android && ua.match(/Kindle Fire/)) browser.silk = true;
// if (chrome) browser.chrome = true, browser.version = chrome[1];
if (firefox) {
browser.firefox = true;
browser.version = firefox[1];
} // if (safari && (ua.match(/Safari/) || !!os.ios)) browser.safari = true;
// if (webview) browser.webview = true;
if (ie) {
browser.ie = true;
browser.version = ie[1];
}
if (edge) {
browser.edge = true;
browser.version = edge[1];
} // It is difficult to detect WeChat in Win Phone precisely, because ua can
// not be set on win phone. So we do not consider Win Phone.
if (weChat) {
browser.weChat = true;
} // os.tablet = !!(ipad || playbook || (android && !ua.match(/Mobile/)) ||
// (firefox && ua.match(/Tablet/)) || (ie && !ua.match(/Phone/) && ua.match(/Touch/)));
// os.phone = !!(!os.tablet && !os.ipod && (android || iphone || webos ||
// (chrome && ua.match(/Android/)) || (chrome && ua.match(/CriOS\/([\d.]+)/)) ||
// (firefox && ua.match(/Mobile/)) || (ie && ua.match(/Touch/))));
return {
browser: browser,
os: os,
node: false,
// 原生canvas支持,改极端点了
// canvasSupported : !(browser.ie && parseFloat(browser.version) < 9)
canvasSupported: !!document.createElement('canvas').getContext,
svgSupported: typeof SVGRect !== 'undefined',
// works on most browsers
// IE10/11 does not support touch event, and MS Edge supports them but not by
// default, so we dont check navigator.maxTouchPoints for them here.
touchEventsSupported: 'ontouchstart' in window && !browser.ie && !browser.edge,
// .
pointerEventsSupported: // (1) Firefox supports pointer but not by default, only MS browsers are reliable on pointer
// events currently. So we dont use that on other browsers unless tested sufficiently.
// For example, in iOS 13 Mobile Chromium 78, if the touching behavior starts page
// scroll, the `pointermove` event can not be fired any more. That will break some
// features like "pan horizontally to move something and pan vertically to page scroll".
// The horizontal pan probably be interrupted by the casually triggered page scroll.
// (2) Although IE 10 supports pointer event, it use old style and is different from the
// standard. So we exclude that. (IE 10 is hardly used on touch device)
'onpointerdown' in window && (browser.edge || browser.ie && browser.version >= 11),
// passiveSupported: detectPassiveSupport()
domSupported: typeof document !== 'undefined'
};
} // See https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md#feature-detection
// function detectPassiveSupport() {
// // Test via a getter in the options object to see if the passive property is accessed
// var supportsPassive = false;
// try {
// var opts = Object.defineProperty({}, 'passive', {
// get: function() {
// supportsPassive = true;
// }
// });
// window.addEventListener('testPassive', function() {}, opts);
// } catch (e) {
// }
// return supportsPassive;
// }
module.exports = _default;
/***/ }),
/***/ "IxHN":
/*!******************************************!*\
!*** ./src/components/Spinner/index.tsx ***!
\******************************************/
/*! exports provided: default */
/*! exports used: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "cDcd");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _index_less_modules__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.less?modules */ "07cG");
/* harmony import */ var _index_less_modules__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_index_less_modules__WEBPACK_IMPORTED_MODULE_1__);
/* harmony default export */ __webpack_exports__["a"] = (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__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
className: "".concat(_index_less_modules__WEBPACK_IMPORTED_MODULE_1___default.a.idsRingWrapper, " ").concat(className)
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
className: _index_less_modules__WEBPACK_IMPORTED_MODULE_1___default.a.ldsRing
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", null)), message ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p", {
style: style
}, message) : null, children);
});
/***/ }),
/***/ "JTSX":
/*!*********************************************************************!*\
!*** ./src/pages/Paths/Detail/components/Banner/index.less?modules ***!
\*********************************************************************/
/*! no static exports found */
/*! exports used: default */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports, __webpack_require__) {
// extracted by mini-css-extract-plugin
module.exports = {"flex_box_center":"flex_box_center___2jvp9","flex_space_between":"flex_space_between___YQ3n3","flex_box_vertical_center":"flex_box_vertical_center___lMDl8","flex_box_center_end":"flex_box_center_end___14pJI","flex_box_column":"flex_box_column___3MPcr","banner":"banner___1CNID","wrp":"wrp___2yuj2","titleWrap":"titleWrap___3rqyq","titleFlexEnd":"titleFlexEnd___3qeo-","title":"title___1sz3A","titleIcon":"titleIcon___oKhIk","contentWrap":"contentWrap___2hSfm","verticalLine":"verticalLine___1hWY5","contentLeftWrap":"contentLeftWrap___3cPFj","openCourseTag":"openCourseTag___2nNhU","ratingWrap":"ratingWrap___QZ8mo","ratingTitle":"ratingTitle___1sMbV","rating":"rating___tJ9xt","popoverWrap":"popoverWrap___16eNE","popverLeft":"popverLeft___1EzpC","popoverRight":"popoverRight___1dYpr","popverScore":"popverScore___2QZ2F","popoverRateWrap":"popoverRateWrap___2O45Q","popoverProgress":"popoverProgress___2jOeY","button":"button___1WaHd","operationWrap":"operationWrap___3_Xdi","forkWrap":"forkWrap___36Nap","fork":"fork___1AtQN","forkNum":"forkNum___3b1MG","buttonTransparent":"buttonTransparent___INxBh","buttonLearnStatistics":"buttonLearnStatistics___350-U","publishPopverWrap":"publishPopverWrap___2uMcI","colorFF6802":"colorFF6802___W5JBU","w140":"w140___20QZ6","nav":"nav___UcDQM","navLeft":"navLeft___1IpLj","navContent":"navContent___g-IkK","flexRow":"flexRow___2Srtn","navRight":"navRight___1wX_D","navLeftIcon":"navLeftIcon___33sNL","colorOrange":"colorOrange___1lWTV","contentItem":"contentItem___3BAmt","contentItemTitle":"contentItemTitle___3X1lp","contentItemText":"contentItemText___2Px0w","classButton":"classButton___1uAy6","bg28e":"bg28e___34ke7","bgGray":"bgGray___1wX3O"};
/***/ }),
/***/ "JWDV":
/*!****************************************************!*\
!*** ./src/assets/images/icons/charpter-white.svg ***!
\****************************************************/
/*! no static exports found */
/*! exports used: default */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports, __webpack_require__) {
module.exports = __webpack_require__.p + "static/charpter-white.5fa14f93.svg";
/***/ }),
/***/ "JeFH":
/*!********************************************!*\
!*** ./src/assets/images/icons/blibli.png ***!
\********************************************/
/*! no static exports found */
/*! exports used: default */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports) {
module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGgAAAAwCAYAAAD9wT87AAAe2UlEQVR4XtVcB5QUVbr+blV1T+ieGWaYBAwgOSgooJLjENeA6a2KCVfZNbum3VXXsG9VdFfc1TXtGlfXLCKgEiRnUAHJWRzAyTl3V9V957vV1dPTM+M4Hn2Pd8/xIHRV9f3vn77/+/9qgVaWlHIggHMB+AA8K4TIbe2ek/FzKWUmgLGw7THQtLlCiBUn4z6j9ySa26SUMg3A+ZDyaljBMTC87mXrAUwSQtT+fxBOSqmbpjnaMIyrYJnToRvtQ/sOAJgihFh1ssvRSEFSysEAroJlXQZdp8VhXUEAS07UYGavBPSIQz10vacQ4vjJLJiUMgPAhZByJoQYyr0erZFYmFOFZK+GK7szGOB3Qoi/nsxycG9KQVLKKyDltbDMbBge5NYD87+twvxjNdhbZiIoJZZMysRpPqsShreXECL/ZBRMSjkAwM2wzIugG2k2gOW59fjgaDU2FNbjRI2Fm/r48eigdtz+TUKIF05GOSL3JKSUDwN4SALYXBRQwqzIrUNBvQ1DAIYm4BHAJxMz0TPOLoJu9BFClJxsglVVVWXGx8d/IYTIOl4rsSCnGvNzarCvIghLAl5NoN6WuKVPAu4dkMjtXyuEeP1kk6NJDpJSHgTQ8+Ht5Xj5UBWoqBhNQAsFP/6dwi2alIlTYq1caEY/IUT5zyGYlLIvgD4AugLIgm0zF3qgaccDgcCbMTExu1v6Xinl6YDc/lWxiWvWF6E04BiYxxUEQK0lcUe/BNx9qlLQFUKIt38mOVIAnA6gG4AugM104Qe0ajo1gA+FEHTwVhc96CoAbzy9txJP7KpAPKWKWFRQrCawZEoHZHnN4yEFVbX65DZeIKW8DVI+DiHimrtVSnlCCDFUCHGihc+TYJl7jwf1DlOW5KHWltCiLqSCfndqIm7vlwDLsi41DOP9Nm6z1cullL0BLATAP1tavxZCvNTqw5iDpJSnwrZ2rC60tKvXFTayOCc/AXGGwNIpHdDRCOZA9/QXQtASfrIlpdQg5TYpxMDXDlVhf7mJ/DoLZQEbNabEnf0TMbVTLL+PCHJZy15kL5EQk6ctK8De8mATWaige09LxC19lYIuMQxj7k8mROhBUsrbAfydOW/pd3XIr7VQXG+jImjjtHYePHlmMmDb7wpdv/yHfDcV5Idt7c0NalmTl+Sh2pTh8OYqiF5FBXXwWEeh6acKIWp+yMPbco2U9icS4pyJSwuwsywQDrM1lsQDA5JwW78EPu4iIcS8lhUkHwfw+1s3l2LesRrE6o2jARV032mJuLlv689qy94bRRwpL2YIe3F/Fe7bVqYiEqMs82CvBAOrpmQA0vpUaAZry1ZXCMXZS22ISVM/L8CBSlPFbnfRg/53FCQfAXD/7VtKMTen4XB5qDf38eO+AUm0+usMw3j1exR0GYB3nttXicd2VSDu/0ZB/WCZuzaU2NqMNYUKZHFRQR3jdKyclgGvZa0XhjGqVe2EYbZlzYGm3fmbjSX47EQtYiIEaxTiPNa3IQ/6SUOc46nyUgDvRh8uFXRlNx+eGKKg8d1CiDktCRYIBM7wGPrW5flBce36IgVuIldkiANwsRDiox9ySG25RkqZEIpInRiRGKKFAGwJtPNqWD4tE8nC3AXNOEMIYbX2bLcOugbA63N2V+CpvZWNLK8RSPCYx6ErFPdzgIRBsK2tn+ebuG5Dw+HWWRLnZsXhxWEERnhMCHH/93hQMqzggaP1RuovPs9TsDpSRZEgAcAvhRAftHZAP+ZzadurLCHGTl5agMNVTkRyz3HxlA7o7LVyoOk/KJe7ChoKyE0Lj9fhpk0ljT0oBLs/m9QBp8SYuSEF/eQwW0oZDyuYc7BWb3/usjyY0qmiA7bEqLQYvD0mlWf1ohDixu9RkICUGwJCDJu4OB/HaixERrn/RZj9NIDbZq4vxvLcOnWeVBBR5fzsTPT3WaXQPb2FEEWtGYBSUHV1dYd4r+fA7hrNf8HyfBCgu5bHB//UhaqUkoVIOoBhAPrRBmzbLtSAWyul1mnSkjzk19nqcIO2xMBkLxZOSCP6eU/oOvNMRI6UQgjBbaolpXwZwHUz1hRhXWF9ozBHBf2UhaqUMgYA+T3Wb8Nh2+2haWUASDBf/PDX5XjpYFU4ItHo3hmThuFJMgiPt4sQIu/7ZOFnrgcZsO3tFdBOzV6Up2BhZKFKzX+cnYFTfXZFdV2gt9/v/1FUjySdBDkLltUVUqbD8BjRFsRYfeGqQmwvCSiYTKG6+XR8PjkDBuQ2CLEItt0NQrSDgAe2TIG0bWh6IYTYzLINwB/u31qG149UNwrXVND1Pf340xlJ/NofTfXU19f39Xq9s2Gb/WHLTjA8ityLXm8crsa928rCe6i3JF4a3h5TM3UJ3fMEbDsTQhB3xwOaH9KKhRAVEPpRAK8KIdaEQ7S07XkQ4oJzlxcqmBtZgfPQPhiXjiGJdn2IizvWmmtGfy6lZFW9RwKxJC4Lak10idPw6M5yFNbb+GXXeFzcNV7ddsvmEnx8rFbBZKKf9FgNi7LTkRLTUHrSy/k3opWgDSRqzt8BnABkp1cPVeOB7eVNFBQBOO4RQjzZVjlCXsrcdUlREDhaaSIzVmDZd3X49EQtuvkN/On0JFU7rs6rw9Xri8NnSQN5cnA7XO6QtY0WQ0CpBcTrjoUBKCAb0aAgKWfT8m7cVIKFx53DcRfDzH9Gp2F0CiQML0HC/rYKpmgcK7hnY4kUV68rUjH53yPb456vSrG33MRV3X145uxk9di/7KrA0/scsELj8BsCn2WnI8unozJo48ZNpThYaeLBgYnYWFiPuTm1qgh8a0wqvJBFsILJK4ulPnNdUSNDI+C4oHMcnh2qAMd/CyEeaqscIQV9CuAXF64sxLqCekUd8bQe31WBjDgNyyZloFO8joMVJs5fUYiAdMAKEd0fByTiJqcOwz8PVOH1w1U4MyUGl54Shxs3l6qQPOesZIzLYItHnBGpoGvpVpGH426ervmv4e0xrRNDrhgshNjWVsEU/LTMfTlBvePUJXmqsv7nsBS8eaQaq/LrMSkzFm+Odto17x2twV1fliojoSKJguaPT0PfJI8SctLnBYoE/duZyYoxeOVQNXonGlg5NQMeKbfBtjKP1GkdiOSCIbDB51KOiR1i8dpI9T1/F0Lc0VY5Qgr6C4B7fr2xRBXE/9UlHqPSY3DP1jL4DIF549JwajuPYkKmLisI51N6ENn0+weoEKsMcfaucozJiFVsyTXrihXyZBg8t5MHEPrASAWNAbD6g6M1uCN0OO7m+WAexi9PUSFoLGPjjxLMNldYQh9PtmBPWQCzB7XDzrIg3jlag8EpHiwYn6YKu/UF9bhibTGMUMyiF707JhVnp3ph2sD0lYX4orgejw9uh5wqCy8erELfRAMrpmRAk3I5YPtroA9lPs0LgQ3ul4hwWGoM3h+bSsDxutB1GmWbl5TySgBv/m1PpTrg4WkxuKG3Hzdsckj+N0elYkxGjArPF6wsxI5SJ2XwHGd08+GvTk2Hlw86bMPZqTGKgmI4DNAZRrTHtEwD0IwBkQrqBjO4f0s5PJeuLmwCTx8+PQmzevn53POFECQD27yklH8D8NvrNhRj/rFaxSxz46y9uvsNLMpOQ5JXw+FKE+etKAzXMTzYV4a3x6SOTnS+bE0RluXW4bFB7VBYZ+Mf+yrRN8nAyikZENL6BEJUAtrl01cUYnvocHgfQzUtm+ESkB8LoV3YZiEcpDgYtvXVkrwgfrWhGF19BmYPSsJvNpWi0rTxzFnJ4XxKL1sUKv7pwdM6xeFfw1WIxYff1uCWLaUYlOzBg6cn4ep1xUqJLzUo6LRIBfnJBp8IGllTluaiNlQB80G86bd9E3DPaYqmv0YI8caPFGwmgNfo2k/srsDlp8Qr6/n91jKkxmjq4Dr79CahgbnjqQYPBhmPD3Nq8OczklAdlHhyTwX6JXlCCpLzIcQOAA+wplsQkU9p0V18uvI0XVqrhWaM+5FyJMMyD3xTr6VOXZoHQwhVSN/5ZamqvR6MyDN/+roc/wpB7UYeDCgjo1JoNGwiXrWuSHGhLSlIwLLWB3R9+ITF+ar76OIEKmhmD5/bibxTCEFPaPOSUp4FaW9ZeCKAK9cWIjszFtf38mPWphIFBOaOS1PJngfJ5LorhCb5/Q8NTMKveysPxj1fluLFA1UqxFF5j+wsR/8kD9ZOy2SIWwCHwnl99s4KPLu/gRlhqGwf49AticLeAaExn7ZKt0QLKqXkWa0L6vqIMZ/l43BVEO+NTsXsXRXYURpU3OEDpzt55pWDVXjwawdN0oO5zwUT0lTk2FJUjwtWFqFPoqFY7l+uLkKVaePVkak4p0NUiOPDpGW9BU2bcdGqQnxV3AC1eQjnd47D8w76mS2EuK/N2nFCQxos8+CROi3pmT3lGJcRi3GZMThQEYTf0NAtwQjDYoaOz79zqnAq6Na+CfiD48F4dl8l3v6mBvcPSFR55aUDVciM1/HyiPZU0GIIQVZ7Fa8hSnRJUwIO/j97W508P5xuaU5WaVkvQdOuZzTgc6/p4VP1I/dDUjQjTle3LT5Ri1kbHXaGhpcVr6tQ7vdoCuUxb9Eo7+yfgPu3laOo3sJ9A5MwJt3DQqIBxSkFSevPgPbHyDqE/67olvQYvD1a0S0vCyFm/UgFMe0vAHBOa/f/cVsZXjvsFJqKMO3uwxODneRKS9SEaJQnSeqSlARAmuVvsM0ja4tsjZ7q1nSN6Ra7HLpBuoX1RpuXlJKMxluhcqzF+1lwX7LaKSu4Rw6tUEHpcboqIUwpm5C6vFYA3wEYFD3Vo6B2dGhwkqsXn2Wn8VsWCE2b3maJQjdIy3oWmnbzoUoTu0sD4J8Mp2VBG+MzY1U9xPX8/ipVxFJBTK6/6BSHf4aSKwWl0tgrMm2pckCiV7iCPsueECwz51Cd3v6cz3PDvB6fy+v/MyYNo5Jhw/D2FUKw5d/mFQgEzvZ4PBtKA7bOsMYocLTKVF6UYGi4f2CiYq+P11j4xfICVAUdVpvjBJ9MSEP3BIdEoWyUg+iNy+fRVLiHo6Ah0QrKZu76z5Fqlbjd0MB7WXitmJoBr5QbhaaNaLNEroKkZKv3+ivWOkhMF05Di0ZwVmqMgtr8+8c5DsJhLUQPJpR9zyFMwVKAwIAWqLwJAt0SdLwxJg0+2NugaUMh7a8qpDYgmrpiuH5uaAqmdyYiFMOEQw+1eUkpR3IqjWiUYcqlxnig3Ne8cakYmhajCutpywuVEfIafv7h2FSckeLF8WoLszYWozhgKzaEi2TJY4OSMaFDDEzTHButIDabdq8sssQ16xoof35hokdg2bQOSBXBQ8Lw9mqzRA0Kuo1h6IHtZSAdE2kEGaR0JqarMECGYMba4jBhyuRKwpR10ltHqnHXV2WID6EY7o/UysppHZCpBQ/C8PRh11IKfdoUNiErzHBNRc8jFUNwYprmVI/Hs+THyCKl7MjWxs4qzXfhinwVwtzD5HfMGZKMy7rFK2WRcXDhPg3qjVGpGJsRg9waC5OXFaAiKMPhmt7E8uFXPX1sUJ4TraBUwsd9NVry+cvyQHjDC9xqfmF2Jnr7ZAU0/WYyF5ZlBXVdZ+uBtHkhgJLWUJGUcjyAFe+G2ILIBO4RAgsmpKJ3ogeHKkyct7IAAduxSCZXwvAEj8CSUOL1hhTkTh4tntwBXY3AMeGN6SKlfB7AjVeuLcaagrpwnHc6tAm4zxm9eoZgIiQiaT1WmoW5ublFHTt2/N62vpTSoJdWSW1g9uI8VY+5XsTvuK1vAn4fAjXXbyjGkhDgoQeTaiLlRDZl2rJCfFcbgZhNiQcGJuGGPgqxXhKtIC9sc0exbfSZuCgX5cGG+QTGblbgrFuaLCtILZZBEzmAthuatgXAJgC7opt7UsosWOb+rytF/EUr8xs11BTnNyoVozNiUFRnYeryQpTUO77PeM7kSnS0pSigilXG9EgD+nRSB/SMDeZB92ax+0p67O4vy/Du0eowt8jDu7RrPJ46y+H9Gi9m7WA9OH+uaQcgxVZo2kYAXzU3TSSl/A/Ht/5rdRE2FzW0NqiECzvH4x9Dne+4f1sZXncBjynxyKAkXNvTr8IzywnSVW5rnB70+9DkkRoNa7LFEB2TvSQfR6ut8HwCFXR1D78q9MgxsQ3AhMeDIyLJ8nnQJUFHsoMunWWrIRNO4XDQYzWngVQNIe2vK0P5gUx2ZL311JBkXNotXiXPc1YUKhDBz0kiMrn2SDAUPD1vRUGYZ6MH8WvnT8xEvzirCIansxr9Bd5+anclntxbEQ6HlKN/Oy+u6BavWHQeJnOyz9CQGqujY7yBLgkecIgozJ1bZiU0fSOEmA/gUyHEtxRPSnkngDkPbCvHq4cb+j7MmUNDlBIP+B97SQk5I200kDv7JeAuZzYPl68pwvqIvlXU5zObKsiy3oCmXXXxKvJdgUYQkBqnYoii3EUrpiAMN0keTYUi4nomyKEZcch05+5tcz804zXCdABPsKl2yaoibClusDxu7u7+ibijv8P2snDbVFQfhslMroNSvMirtVTiLQ84YcWN//MmZGCAzy6F4ekCgHPmq9/5pgZ3R9RCym4kFI0ULQc/Y5jlQTIf9kr04Mz2XgzPiMOApJDlUVm6MS8YDD7r8XiINFa/d7RGuOQun+H2sBiSmRvfP1qjWAYCnqiiHzdvLlG0l9s9iKr5rm+qIOlM1xCZfBLVdmgmJoT/ycX5lnSUyAezah+c4sW5WfGY2iUOPgVx7G+gaXyFZURkrcMHcXNXdPPhLyEy8abNJVgQ2jyN4/WR7RUUJ2SdtrxAQVh6l2svH43PwOl+uxyGh72nNNjmvpWFtrhmXWGTWqM1WYhc6W18NsEIPZdM+PSufvTya4AVtKF7lsK2sr8utz00aNdQ3AERNySvyqvDNaG+ED32vKw4vODMWOCh0ESvm4sV493bj/sHKibixuYUdAOAF6Lbtc0JFIlcmvvchcG8jo2sy06Jx8zeCfCFYke0dTOsTciMxb9HOW0HjiO/dMgJHRTs6RAJGc0Su8Yxd3w6BiXKSuieHirxm8HDe2q0xOlRbfwmYT0CgbUkJ5VFKEwyl3u8oU8CBrRzapnSehtTlxegIMScu6Dq4/FpiiPcWRoE2RlmUxrayLQYvBMqGUj0so8UqaAbeoWpojuaU9D5DOccvPtzqFBsbtOM26xhyoO2StbMEU0eFnEjvYqxmXCZMHdkeoxqa7PKdhc3f1o7L+YTTgsWq5V4dKez+Wg+jiTjyvw6lQe5qDR2fc9MlNUwPD0BFMO29hVYeveJi3OV10VNYYW/l8+vNKkAp6qPGqdrJD4Pn8aSYAjF7nOgkgn+stVF2BgBFKhQth0IeFjvqGLVlGCEcUqGdAX93/3GKRkiFeS25W3bvrc5BZ0NyM3zcupw65aSJtOZ7mEwRr8wNEX1c5Z8V4ttJQGF+qIH1qOVSyUxIb86IgUDkr3IXpoftjx3uI+MBS2VdPxvv2iI3bf2ScAfHHiMO74oxQffNgw48t73xqbj7CS7FoaX7zB9J01zY0DXh41flN8IykbuiV5Lqp9Tn5wJZIf0WLXDn5IiakmpjA40mut6+vDIoHaNvJ33Rno8cyVzZm6t81wW/Qx/CR5NFevkHd0ZPj7zVz39iqlnBGxOQd3ZF9pQCmPGmoIw/IsUyn0Dgl/S1e+4OamOJSfqlJD7Kkz1by1ZIjcxOdTZvDTC8sLt7YnpCmxExu7oZtdjO8rx3IHGEzPvjk3DsCRZF1LQCWnbH0GIC5ubs3DlIay9JwKYENZTSQuP1SqPYK0SPQDp3suQReiwYnK6Ipdd5oOfc78kc2/qk6A8k/0twmlGHRofzy4zTse24gAuWeNEESqD913bw1E6gEeaU1AKK+QDofk0WmZzoYskH2sWkqiRix7yRVFAdQpzqhvPpbnXEUGNSY/BW6NTG1meS2Z+NC4NA5I9qhN58aoiFbvJVU3uGItXRjj5iQz2wzsahkIYUt4Zm47h7WR4sEVKSV7uZhUO8xxmPHrR0i/uEo+nQ/MQkZ/nVJsKIr//bU2TQXxe5+6XHs9zohLckTUe9KyefjzseEIYTtMrvRoUpUWU+E2liXNXFKIuNGTJ+8iMk00g2m1OQSxWdxbZRm8Wq6QhmnNzh85oh8u6NZ5QIXTlLNjf91Y2mex0hWdTikPst/ZLULxaZIs9Eq19W+Vsntczdg9J8aqeEXNeJFfH51JBb49Jx4hkOwAjhm8B5kgp2RZ59M4vStUhRw/T8z4a1NntY/DBuNQmhsgcee/WMhURmosGBA0MjQuz05SXTF3mhDFeq1o0WXF4PoTWIuE0IwV5xbNSvYpc5dyCO+qmFNTdh8cc5v6pZvO6NM11AV0fOWFRPk5E0BCR1sUH3d43Ab8L0Rn8jNwS0R/Hj2itzT2c3tPDb+DDcWmqixqJcHh9ZPeU4YZwmuiI1trDr+PT7HR10Gvz63HVuoa5BSrorTHpGJksAzC8bCN868zhNWXnI+Wg5XcO0Uh+TmiGPOONQ9X4y+4K1cJuLsRxP/Tqv4eQJf9OApjhkddHd08f3F6OV0KIVPWwhrXHlE6xSt5zlheGR4R5rld392G2o6B/NK8g254LIS4i8thd1vQ9G94ZNcKkRlypnCNVZpO3CsKhzZJIi9Xx0vAUDGmvKlirPGjrfJ8nt9ZhFLhB9x0efgeti/PNZKzTYjUsmZiu6ivuiwMZbkihBb/ltBGCIQUdlVKy7/QJhzMeCnU1o0McrZmTOJ9mp6GLz1Dv8/x5RznmH69VRWtz0YP38JDZRAzxbWpMj/ex00tERtRK7yL7QWNlRGEbh0Uw5XpySDtc0d2nDI811JchUoDyX9XNh8edWvCF5hUk5XOcvKRFrA1ZRLRgbmh4dWQKnttXpV6fpBVHDjy691Agbur0ZA/+OiQZpyWzWwjONbAiunJGhOU5yMiP/z4jSVX6v95UonIRn8HD+mBMKrr4DQe6rnD6LG67Qs3uJUsTHhXiqKCz+eotK3WGmOZCHDfCZ88dm6qg9h+3l6mhlehXVyKNjAq9q38iZjkt+BO2bc/RNDw1L6c+jHzpmWkxDjtPg/oop0bVOxSYaeOWvn4FILhmbSjG4ojuccRw5cstKehBAH+6dUsp5kW8qxOpJB4eebgOcbqi0psLaS6lQgqI3NftpybB7zAmfHn3N7ZtX6tp2ov0vGdCg4pU5PSsOLzqzK6pxR81CNJrTaB9aFiY0JXexbEqV0Fvjk7D2BSYMLx80fmIlLIXrODedSVSvzLiXZ1oY6MVD2znwd4KE7Wm3fQtw1CByetGcMhlQJIaEwPkIUCws3oIZvDYvlo9gQM3zE0uA7F0UrpiIbiIbflfre30fZw5WuAPX5XhzW8cQleh1VPinTfxgH+3pKDf8E2C1tgEKoDJO9JruDGGG1oQc8yUjnG4rlcC+iTqpHlKoWlU/nMceJdSjgawhvnk42M1yIo3kBqroXeiF0NTlZftA+R+SMpix4PDj0KvghBZpo0uVNCByqCK+QpcjErD+BRuKIY56JDk/LcZPLCnRk+avjyv0UsB0Uri/Sw4Iw+EMjBSsBgelOLBzB5+nNfZfYXWfh/Q7uJvRvAHMyDlF3UQgx7dXoZYQ1NcXlqsgeyOsTTKenBWAjYhbxxs6YemG3B+EGQY5xo4ekbPZF7j/OEcR0FzW1IQmeCPommI5iyPnkQlURgqhxU26Y3JHeNwXhcfsuL4/p9pQTdIzfP9ngPuc6SU3AU7mo0bgCYrXg/Hi2dETrHyXVa+HS2l5Ft21+6usMBuhMtidE/UECdlDYSggk6oV1psa893Qb3rlCW54ZepouXg37l3d0aAfzL/cNSYZcT0LvEYnuqyvnIrIChHo/dbZYjDbPxslSFLAfGUEIIcZ3gppTpvd6zLqweOVZuI0TUVDRgSOzjVy5yWFKSmTNn6vv2LxlMx7jdEMtiZcbR6h/kdmh7nkIlctlUCiLnQNL7Xs7W5g6mrq+sTExNDg6gM9eE5xFEM4HhLL4pJKYdwvg5msCsgg4AwFceueyptKZ/XNO3pkIdqkPaXVdAGjfwkt1FTzeXveCAN7QYNp/gMDEzxYFhaLAaneaH8xTY5hrvasu1/5ebmzuvcuXOTn8KRUpLZ5sQpWVD+EgvfAKEcBWQ1mjUK554XYFvnw7YEhAhCSr6pYULTv2R6aklBAwC5Y3uJief2VyqtEoHGG5rT/4nVVN+EPaCsBB0pkT0gyyyDpq+HEB8DWNTSa/PNbbgt/yal5NkxyzI90VRVdI3+HSFpmyuk0MeTeGXnkspgrE/0aGgfyxxqoJPPQGe/BxxcDYtiBiQ042to2mfsZwkheGA/ywr9NhJlIBekZBFqOrZ5kgCFhYUJqampbAWzp9LCsgDLrgB/t0foByDkdkB1UrdFv5j0s0j1Ax8qpfxdqP/U8h1mIABN5EEYhyHELgBUBv87IAS98/9utUhA19TUZMXFxc0AcCZbIqG5A+YFvhvEMEQXVm4s6Jon6VKzA053dTI46OH8hMARhbwa5OCbboU/9e8//BRH8j9mLdQoDqqNCwAAAABJRU5ErkJggg=="
/***/ }),
/***/ "Jq4h":
/*!*******************************************!*\
!*** ./src/assets/images/user/qrcode.png ***!
\*******************************************/
/*! no static exports found */
/*! exports used: default */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports, __webpack_require__) {
module.exports = __webpack_require__.p + "static/qrcode.54870d9b.png";
/***/ }),
/***/ "K2GJ":
/*!***************************************************!*\
!*** ./node_modules/zrender/lib/graphic/Style.js ***!
\***************************************************/
/*! no static exports found */
/*! all exports used */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports, __webpack_require__) {
var fixShadow = __webpack_require__(/*! ./helper/fixShadow */ "fW2E");
var _constant = __webpack_require__(/*! ./constant */ "gut8");
var ContextCachedBy = _constant.ContextCachedBy;
var STYLE_COMMON_PROPS = [['shadowBlur', 0], ['shadowOffsetX', 0], ['shadowOffsetY', 0], ['shadowColor', '#000'], ['lineCap', 'butt'], ['lineJoin', 'miter'], ['miterLimit', 10]]; // var SHADOW_PROPS = STYLE_COMMON_PROPS.slice(0, 4);
// var LINE_PROPS = STYLE_COMMON_PROPS.slice(4);
var Style = function (opts) {
this.extendFrom(opts, false);
};
function createLinearGradient(ctx, obj, rect) {
var x = obj.x == null ? 0 : obj.x;
var x2 = obj.x2 == null ? 1 : obj.x2;
var y = obj.y == null ? 0 : obj.y;
var y2 = obj.y2 == null ? 0 : obj.y2;
if (!obj.global) {
x = x * rect.width + rect.x;
x2 = x2 * rect.width + rect.x;
y = y * rect.height + rect.y;
y2 = y2 * rect.height + rect.y;
} // Fix NaN when rect is Infinity
x = isNaN(x) ? 0 : x;
x2 = isNaN(x2) ? 1 : x2;
y = isNaN(y) ? 0 : y;
y2 = isNaN(y2) ? 0 : y2;
var canvasGradient = ctx.createLinearGradient(x, y, x2, y2);
return canvasGradient;
}
function createRadialGradient(ctx, obj, rect) {
var width = rect.width;
var height = rect.height;
var min = Math.min(width, height);
var x = obj.x == null ? 0.5 : obj.x;
var y = obj.y == null ? 0.5 : obj.y;
var r = obj.r == null ? 0.5 : obj.r;
if (!obj.global) {
x = x * width + rect.x;
y = y * height + rect.y;
r = r * min;
}
var canvasGradient = ctx.createRadialGradient(x, y, 0, x, y, r);
return canvasGradient;
}
Style.prototype = {
constructor: Style,
/**
* @type {string}
*/
fill: '#000',
/**
* @type {string}
*/
stroke: null,
/**
* @type {number}
*/
opacity: 1,
/**
* @type {number}
*/
fillOpacity: null,
/**
* @type {number}
*/
strokeOpacity: null,
/**
* `true` is not supported.
* `false`/`null`/`undefined` are the same.
* `false` is used to remove lineDash in some
* case that `null`/`undefined` can not be set.
* (e.g., emphasis.lineStyle in echarts)
* @type {Array.|boolean}
*/
lineDash: null,
/**
* @type {number}
*/
lineDashOffset: 0,
/**
* @type {number}
*/
shadowBlur: 0,
/**
* @type {number}
*/
shadowOffsetX: 0,
/**
* @type {number}
*/
shadowOffsetY: 0,
/**
* @type {number}
*/
lineWidth: 1,
/**
* If stroke ignore scale
* @type {Boolean}
*/
strokeNoScale: false,
// Bounding rect text configuration
// Not affected by element transform
/**
* @type {string}
*/
text: null,
/**
* If `fontSize` or `fontFamily` exists, `font` will be reset by
* `fontSize`, `fontStyle`, `fontWeight`, `fontFamily`.
* So do not visit it directly in upper application (like echarts),
* but use `contain/text#makeFont` instead.
* @type {string}
*/
font: null,
/**
* The same as font. Use font please.
* @deprecated
* @type {string}
*/
textFont: null,
/**
* It helps merging respectively, rather than parsing an entire font string.
* @type {string}
*/
fontStyle: null,
/**
* It helps merging respectively, rather than parsing an entire font string.
* @type {string}
*/
fontWeight: null,
/**
* It helps merging respectively, rather than parsing an entire font string.
* Should be 12 but not '12px'.
* @type {number}
*/
fontSize: null,
/**
* It helps merging respectively, rather than parsing an entire font string.
* @type {string}
*/
fontFamily: null,
/**
* Reserved for special functinality, like 'hr'.
* @type {string}
*/
textTag: null,
/**
* @type {string}
*/
textFill: '#000',
/**
* @type {string}
*/
textStroke: null,
/**
* @type {number}
*/
textWidth: null,
/**
* Only for textBackground.
* @type {number}
*/
textHeight: null,
/**
* textStroke may be set as some color as a default
* value in upper applicaion, where the default value
* of textStrokeWidth should be 0 to make sure that
* user can choose to do not use text stroke.
* @type {number}
*/
textStrokeWidth: 0,
/**
* @type {number}
*/
textLineHeight: null,
/**
* 'inside', 'left', 'right', 'top', 'bottom'
* [x, y]
* Based on x, y of rect.
* @type {string|Array.}
* @default 'inside'
*/
textPosition: 'inside',
/**
* If not specified, use the boundingRect of a `displayable`.
* @type {Object}
*/
textRect: null,
/**
* [x, y]
* @type {Array.}
*/
textOffset: null,
/**
* @type {string}
*/
textAlign: null,
/**
* @type {string}
*/
textVerticalAlign: null,
/**
* @type {number}
*/
textDistance: 5,
/**
* @type {string}
*/
textShadowColor: 'transparent',
/**
* @type {number}
*/
textShadowBlur: 0,
/**
* @type {number}
*/
textShadowOffsetX: 0,
/**
* @type {number}
*/
textShadowOffsetY: 0,
/**
* @type {string}
*/
textBoxShadowColor: 'transparent',
/**
* @type {number}
*/
textBoxShadowBlur: 0,
/**
* @type {number}
*/
textBoxShadowOffsetX: 0,
/**
* @type {number}
*/
textBoxShadowOffsetY: 0,
/**
* Whether transform text.
* Only available in Path and Image element,
* where the text is called as `RectText`.
* @type {boolean}
*/
transformText: false,
/**
* Text rotate around position of Path or Image.
* The origin of the rotation can be specified by `textOrigin`.
* Only available in Path and Image element,
* where the text is called as `RectText`.
*/
textRotation: 0,
/**
* Text origin of text rotation.
* Useful in the case like label rotation of circular symbol.
* Only available in Path and Image element, where the text is called
* as `RectText` and the element is called as "host element".
* The value can be:
* + If specified as a coordinate like `[10, 40]`, it is the `[x, y]`
* base on the left-top corner of the rect of its host element.
* + If specified as a string `center`, it is the center of the rect of
* its host element.
* + By default, this origin is the `textPosition`.
* @type {string|Array.}
*/
textOrigin: null,
/**
* @type {string}
*/
textBackgroundColor: null,
/**
* @type {string}
*/
textBorderColor: null,
/**
* @type {number}
*/
textBorderWidth: 0,
/**
* @type {number}
*/
textBorderRadius: 0,
/**
* Can be `2` or `[2, 4]` or `[2, 3, 4, 5]`
* @type {number|Array.}
*/
textPadding: null,
/**
* Text styles for rich text.
* @type {Object}
*/
rich: null,
/**
* {outerWidth, outerHeight, ellipsis, placeholder}
* @type {Object}
*/
truncate: null,
/**
* https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/globalCompositeOperation
* @type {string}
*/
blend: null,
/**
* @param {CanvasRenderingContext2D} ctx
*/
bind: function (ctx, el, prevEl) {
var style = this;
var prevStyle = prevEl && prevEl.style; // If no prevStyle, it means first draw.
// Only apply cache if the last time cachced by this function.
var notCheckCache = !prevStyle || ctx.__attrCachedBy !== ContextCachedBy.STYLE_BIND;
ctx.__attrCachedBy = ContextCachedBy.STYLE_BIND;
for (var i = 0; i < STYLE_COMMON_PROPS.length; i++) {
var prop = STYLE_COMMON_PROPS[i];
var styleName = prop[0];
if (notCheckCache || style[styleName] !== prevStyle[styleName]) {
// FIXME Invalid property value will cause style leak from previous element.
ctx[styleName] = fixShadow(ctx, styleName, style[styleName] || prop[1]);
}
}
if (notCheckCache || style.fill !== prevStyle.fill) {
ctx.fillStyle = style.fill;
}
if (notCheckCache || style.stroke !== prevStyle.stroke) {
ctx.strokeStyle = style.stroke;
}
if (notCheckCache || style.opacity !== prevStyle.opacity) {
ctx.globalAlpha = style.opacity == null ? 1 : style.opacity;
}
if (notCheckCache || style.blend !== prevStyle.blend) {
ctx.globalCompositeOperation = style.blend || 'source-over';
}
if (this.hasStroke()) {
var lineWidth = style.lineWidth;
ctx.lineWidth = lineWidth / (this.strokeNoScale && el && el.getLineScale ? el.getLineScale() : 1);
}
},
hasFill: function () {
var fill = this.fill;
return fill != null && fill !== 'none';
},
hasStroke: function () {
var stroke = this.stroke;
return stroke != null && stroke !== 'none' && this.lineWidth > 0;
},
/**
* Extend from other style
* @param {zrender/graphic/Style} otherStyle
* @param {boolean} overwrite true: overwrirte any way.
* false: overwrite only when !target.hasOwnProperty
* others: overwrite when property is not null/undefined.
*/
extendFrom: function (otherStyle, overwrite) {
if (otherStyle) {
for (var name in otherStyle) {
if (otherStyle.hasOwnProperty(name) && (overwrite === true || (overwrite === false ? !this.hasOwnProperty(name) : otherStyle[name] != null))) {
this[name] = otherStyle[name];
}
}
}
},
/**
* Batch setting style with a given object
* @param {Object|string} obj
* @param {*} [obj]
*/
set: function (obj, value) {
if (typeof obj === 'string') {
this[obj] = value;
} else {
this.extendFrom(obj, true);
}
},
/**
* Clone
* @return {zrender/graphic/Style} [description]
*/
clone: function () {
var newStyle = new this.constructor();
newStyle.extendFrom(this, true);
return newStyle;
},
getGradient: function (ctx, obj, rect) {
var method = obj.type === 'radial' ? createRadialGradient : createLinearGradient;
var canvasGradient = method(ctx, obj, rect);
var colorStops = obj.colorStops;
for (var i = 0; i < colorStops.length; i++) {
canvasGradient.addColorStop(colorStops[i].offset, colorStops[i].color);
}
return canvasGradient;
}
};
var styleProto = Style.prototype;
for (var i = 0; i < STYLE_COMMON_PROPS.length; i++) {
var prop = STYLE_COMMON_PROPS[i];
if (!(prop[0] in styleProto)) {
styleProto[prop[0]] = prop[1];
}
} // Provide for others
Style.getGradient = styleProto.getGradient;
var _default = Style;
module.exports = _default;
/***/ }),
/***/ "LPTA":
/*!********************************************!*\
!*** ./node_modules/zrender/lib/config.js ***!
\********************************************/
/*! no static exports found */
/*! all exports used */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports) {
var dpr = 1; // If in browser environment
if (typeof window !== 'undefined') {
dpr = Math.max(window.devicePixelRatio || 1, 1);
}
/**
* config默认配置项
* @exports zrender/config
* @author Kener (@Kener-林峰, kener.linfeng@gmail.com)
*/
/**
* Debug log mode:
* 0: Do nothing, for release.
* 1: console.error, for debug.
*/
var debugMode = 0; // retina 屏幕优化
var devicePixelRatio = dpr;
exports.debugMode = debugMode;
exports.devicePixelRatio = devicePixelRatio;
/***/ }),
/***/ "LSTS":
/*!*********************************************************************!*\
!*** ./node_modules/react-infinite-scroller/dist/InfiniteScroll.js ***!
\*********************************************************************/
/*! no static exports found */
/*! all exports used */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
var _react = __webpack_require__(/*! react */ "cDcd");
var _react2 = _interopRequireDefault(_react);
var _propTypes = __webpack_require__(/*! prop-types */ "17x9");
var _propTypes2 = _interopRequireDefault(_propTypes);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
var InfiniteScroll = function (_Component) {
_inherits(InfiniteScroll, _Component);
function InfiniteScroll(props) {
_classCallCheck(this, InfiniteScroll);
var _this = _possibleConstructorReturn(this, (InfiniteScroll.__proto__ || Object.getPrototypeOf(InfiniteScroll)).call(this, props));
_this.scrollListener = _this.scrollListener.bind(_this);
_this.eventListenerOptions = _this.eventListenerOptions.bind(_this);
_this.mousewheelListener = _this.mousewheelListener.bind(_this);
return _this;
}
_createClass(InfiniteScroll, [{
key: 'componentDidMount',
value: function componentDidMount() {
this.pageLoaded = this.props.pageStart;
this.options = this.eventListenerOptions();
this.attachScrollListener();
}
}, {
key: 'componentDidUpdate',
value: function componentDidUpdate() {
if (this.props.isReverse && this.loadMore) {
var parentElement = this.getParentElement(this.scrollComponent);
parentElement.scrollTop = parentElement.scrollHeight - this.beforeScrollHeight + this.beforeScrollTop;
this.loadMore = false;
}
this.attachScrollListener();
}
}, {
key: 'componentWillUnmount',
value: function componentWillUnmount() {
this.detachScrollListener();
this.detachMousewheelListener();
}
}, {
key: 'isPassiveSupported',
value: function isPassiveSupported() {
var passive = false;
var testOptions = {
get passive() {
passive = true;
}
};
try {
document.addEventListener('test', null, testOptions);
document.removeEventListener('test', null, testOptions);
} catch (e) {
// ignore
}
return passive;
}
}, {
key: 'eventListenerOptions',
value: function eventListenerOptions() {
var options = this.props.useCapture;
if (this.isPassiveSupported()) {
options = {
useCapture: this.props.useCapture,
passive: true
};
}
return options;
}
// Set a defaut loader for all your `InfiniteScroll` components
}, {
key: 'setDefaultLoader',
value: function setDefaultLoader(loader) {
this.defaultLoader = loader;
}
}, {
key: 'detachMousewheelListener',
value: function detachMousewheelListener() {
var scrollEl = window;
if (this.props.useWindow === false) {
scrollEl = this.scrollComponent.parentNode;
}
scrollEl.removeEventListener('mousewheel', this.mousewheelListener, this.options ? this.options : this.props.useCapture);
}
}, {
key: 'detachScrollListener',
value: function detachScrollListener() {
var scrollEl = window;
if (this.props.useWindow === false) {
scrollEl = this.getParentElement(this.scrollComponent);
}
scrollEl.removeEventListener('scroll', this.scrollListener, this.options ? this.options : this.props.useCapture);
scrollEl.removeEventListener('resize', this.scrollListener, this.options ? this.options : this.props.useCapture);
}
}, {
key: 'getParentElement',
value: function getParentElement(el) {
var scrollParent = this.props.getScrollParent && this.props.getScrollParent();
if (scrollParent != null) {
return scrollParent;
}
return el && el.parentNode;
}
}, {
key: 'filterProps',
value: function filterProps(props) {
return props;
}
}, {
key: 'attachScrollListener',
value: function attachScrollListener() {
var parentElement = this.getParentElement(this.scrollComponent);
if (!this.props.hasMore || !parentElement) {
return;
}
var scrollEl = window;
if (this.props.useWindow === false) {
scrollEl = parentElement;
}
scrollEl.addEventListener('mousewheel', this.mousewheelListener, this.options ? this.options : this.props.useCapture);
scrollEl.addEventListener('scroll', this.scrollListener, this.options ? this.options : this.props.useCapture);
scrollEl.addEventListener('resize', this.scrollListener, this.options ? this.options : this.props.useCapture);
if (this.props.initialLoad) {
this.scrollListener();
}
}
}, {
key: 'mousewheelListener',
value: function mousewheelListener(e) {
// Prevents Chrome hangups
// See: https://stackoverflow.com/questions/47524205/random-high-content-download-time-in-chrome/47684257#47684257
if (e.deltaY === 1 && !this.isPassiveSupported()) {
e.preventDefault();
}
}
}, {
key: 'scrollListener',
value: function scrollListener() {
var el = this.scrollComponent;
var scrollEl = window;
var parentNode = this.getParentElement(el);
var offset = void 0;
if (this.props.useWindow) {
var doc = document.documentElement || document.body.parentNode || document.body;
var scrollTop = scrollEl.pageYOffset !== undefined ? scrollEl.pageYOffset : doc.scrollTop;
if (this.props.isReverse) {
offset = scrollTop;
} else {
offset = this.calculateOffset(el, scrollTop);
}
} else if (this.props.isReverse) {
offset = parentNode.scrollTop;
} else {
offset = el.scrollHeight - parentNode.scrollTop - parentNode.clientHeight;
}
// Here we make sure the element is visible as well as checking the offset
if (offset < Number(this.props.threshold) && el && el.offsetParent !== null) {
this.detachScrollListener();
this.beforeScrollHeight = parentNode.scrollHeight;
this.beforeScrollTop = parentNode.scrollTop;
// Call loadMore after detachScrollListener to allow for non-async loadMore functions
if (typeof this.props.loadMore === 'function') {
this.props.loadMore(this.pageLoaded += 1);
this.loadMore = true;
}
}
}
}, {
key: 'calculateOffset',
value: function calculateOffset(el, scrollTop) {
if (!el) {
return 0;
}
return this.calculateTopPosition(el) + (el.offsetHeight - scrollTop - window.innerHeight);
}
}, {
key: 'calculateTopPosition',
value: function calculateTopPosition(el) {
if (!el) {
return 0;
}
return el.offsetTop + this.calculateTopPosition(el.offsetParent);
}
}, {
key: 'render',
value: function render() {
var _this2 = this;
var renderProps = this.filterProps(this.props);
var children = renderProps.children,
element = renderProps.element,
hasMore = renderProps.hasMore,
initialLoad = renderProps.initialLoad,
isReverse = renderProps.isReverse,
loader = renderProps.loader,
loadMore = renderProps.loadMore,
pageStart = renderProps.pageStart,
ref = renderProps.ref,
threshold = renderProps.threshold,
useCapture = renderProps.useCapture,
useWindow = renderProps.useWindow,
getScrollParent = renderProps.getScrollParent,
props = _objectWithoutProperties(renderProps, ['children', 'element', 'hasMore', 'initialLoad', 'isReverse', 'loader', 'loadMore', 'pageStart', 'ref', 'threshold', 'useCapture', 'useWindow', 'getScrollParent']);
props.ref = function (node) {
_this2.scrollComponent = node;
if (ref) {
ref(node);
}
};
var childrenArray = [children];
if (hasMore) {
if (loader) {
isReverse ? childrenArray.unshift(loader) : childrenArray.push(loader);
} else if (this.defaultLoader) {
isReverse ? childrenArray.unshift(this.defaultLoader) : childrenArray.push(this.defaultLoader);
}
}
return _react2.default.createElement(element, props, childrenArray);
}
}]);
return InfiniteScroll;
}(_react.Component);
InfiniteScroll.propTypes = {
children: _propTypes2.default.node.isRequired,
element: _propTypes2.default.node,
hasMore: _propTypes2.default.bool,
initialLoad: _propTypes2.default.bool,
isReverse: _propTypes2.default.bool,
loader: _propTypes2.default.node,
loadMore: _propTypes2.default.func.isRequired,
pageStart: _propTypes2.default.number,
ref: _propTypes2.default.func,
getScrollParent: _propTypes2.default.func,
threshold: _propTypes2.default.number,
useCapture: _propTypes2.default.bool,
useWindow: _propTypes2.default.bool
};
InfiniteScroll.defaultProps = {
element: 'div',
hasMore: false,
initialLoad: true,
pageStart: 0,
ref: null,
threshold: 250,
useWindow: true,
isReverse: false,
useCapture: false,
loader: null,
getScrollParent: null
};
exports.default = InfiniteScroll;
module.exports = exports['default'];
/***/ }),
/***/ "LZjx":
/*!************************************!*\
!*** ./src/assets/images/spoc.png ***!
\************************************/
/*! no static exports found */
/*! exports used: default */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports) {
module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAYCAYAAAD+vg1LAAAAAXNSR0IArs4c6QAAAgpJREFUSA3VVT1LHFEUPXdnPxUVU6TwB9j5hQZsElxECBgMgkIaU/kjJH8gmPQ2goWkMSSNWoSA7pIuKGxCmiSkFlQM6JpFd3fm5rzgzs6Ob3CywSKPYd7Mu+ecufe+e+cBMcduSTd2Svo6JhzJuEAFxgTgFW8IPVkhafz0An1VF11RtDsdyBrbzwouojBpB+WeLA6g+JjkLUNglnNOPXREkU7OfUskBgnUqZMVQcYPbXSZ+VPM+/Q2Hij2dn9J5gw10QY/FuX/E7aWWy4FPH8MdP+pg+jIz1gfzzaBSvU6xirsMEEsL/TkrhOCKykHcPztD1pgb5DzS+Dpeivwb99ubfOsqTDe5fuZihtyzG5F4bs9FqvwXTb2y1k7Ibw6vQIclsOrETk+IvDJ2s0em6qwiZrPWD02hh/H5t7+uLXNaworau37d8UU+K3SFBa8/1dh/i59jZa+GX2hi+JhhueE/8/NJNHZ14WRhCBtPuwpqgdllC7r+OU7oqhQaGtvSVYbay3CjcXGXPiiY14N7wjqlgQWeNIoPLxSQZnd/HBiRPYa2PAcKVz8rPddF9sEpCk6nx+WbUPmUTZN+TeMqqYOHk0OyoewqHm3ChdLes9VFGlVHgUzk0OyGyQXP2meKdmk1ZEUHuQHZD9oN8/NzQtYXEEvRb85DqbCogY2MSwFRjHFlHyVOrGW8RupGIelwwS0iwAAAABJRU5ErkJggg=="
/***/ }),
/***/ "LdHM":
/*!********************************************************!*\
!*** ./node_modules/rc-select/es/index.js + 6 modules ***!
\********************************************************/
/*! exports provided: Option, OptGroup, default */
/*! exports used: OptGroup, Option, default */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/@babel/runtime/helpers/esm/createClass.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/@babel/runtime/helpers/esm/createSuper.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/@babel/runtime/helpers/esm/defineProperty.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/@babel/runtime/helpers/esm/inherits.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/@babel/runtime/helpers/esm/objectSpread2.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/@babel/runtime/helpers/esm/typeof.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/classnames/index.js (<- Module is not an ECMAScript module) */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/rc-select/es/TransBtn.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/rc-select/es/generate.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/rc-select/es/utils/commonUtil.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/rc-select/es/utils/valueUtil.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/rc-util/es/Children/toArray.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/rc-util/es/KeyCode.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/rc-util/es/hooks/useMemo.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/rc-util/es/pickAttrs.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/rc-util/es/warning.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/rc-virtual-list/es/index.js */
/*! ModuleConcatenation bailout: Cannot concat with external "window.React" (<- Module is not an ECMAScript module) */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
// EXPORTS
__webpack_require__.d(__webpack_exports__, "b", function() { return /* reexport */ es_Option; });
__webpack_require__.d(__webpack_exports__, "a", function() { return /* reexport */ es_OptGroup; });
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js
var classCallCheck = __webpack_require__("1OyB");
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/createClass.js
var createClass = __webpack_require__("vuIU");
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/inherits.js
var inherits = __webpack_require__("Ji7U");
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/createSuper.js + 1 modules
var createSuper = __webpack_require__("LK+K");
// EXTERNAL MODULE: external "window.React"
var external_window_React_ = __webpack_require__("cDcd");
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js
var defineProperty = __webpack_require__("rePB");
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js
var objectWithoutProperties = __webpack_require__("Ff2n");
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js + 1 modules
var slicedToArray = __webpack_require__("ODXe");
// EXTERNAL MODULE: ./node_modules/rc-util/es/KeyCode.js
var KeyCode = __webpack_require__("4IlW");
// EXTERNAL MODULE: ./node_modules/rc-util/es/pickAttrs.js
var pickAttrs = __webpack_require__("bX4T");
// EXTERNAL MODULE: ./node_modules/rc-util/es/hooks/useMemo.js
var useMemo = __webpack_require__("YrtM");
// EXTERNAL MODULE: ./node_modules/classnames/index.js
var classnames = __webpack_require__("TSYQ");
var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
// EXTERNAL MODULE: ./node_modules/rc-virtual-list/es/index.js + 19 modules
var es = __webpack_require__("+nKL");
// EXTERNAL MODULE: ./node_modules/rc-select/es/TransBtn.js
var TransBtn = __webpack_require__("8OUc");
// CONCATENATED MODULE: ./node_modules/rc-select/es/OptionList.js
/**
* Using virtual list of option display.
* Will fallback to dom if use customize render.
*/
var OptionList_OptionList = function OptionList(_ref, ref) {
var prefixCls = _ref.prefixCls,
id = _ref.id,
flattenOptions = _ref.flattenOptions,
childrenAsData = _ref.childrenAsData,
values = _ref.values,
searchValue = _ref.searchValue,
multiple = _ref.multiple,
defaultActiveFirstOption = _ref.defaultActiveFirstOption,
height = _ref.height,
itemHeight = _ref.itemHeight,
notFoundContent = _ref.notFoundContent,
open = _ref.open,
menuItemSelectedIcon = _ref.menuItemSelectedIcon,
virtual = _ref.virtual,
onSelect = _ref.onSelect,
onToggleOpen = _ref.onToggleOpen,
onActiveValue = _ref.onActiveValue,
onScroll = _ref.onScroll,
onMouseEnter = _ref.onMouseEnter;
var itemPrefixCls = "".concat(prefixCls, "-item");
var memoFlattenOptions = Object(useMemo["a" /* default */])(function () {
return flattenOptions;
}, [open, flattenOptions], function (prev, next) {
return next[0] && prev[1] !== next[1];
}); // =========================== List ===========================
var listRef = external_window_React_["useRef"](null);
var onListMouseDown = function onListMouseDown(event) {
event.preventDefault();
};
var scrollIntoView = function scrollIntoView(index) {
if (listRef.current) {
listRef.current.scrollTo({
index: index
});
}
}; // ========================== Active ==========================
var getEnabledActiveIndex = function getEnabledActiveIndex(index) {
var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
var len = memoFlattenOptions.length;
for (var i = 0; i < len; i += 1) {
var current = (index + i * offset + len) % len;
var _memoFlattenOptions$c = memoFlattenOptions[current],
group = _memoFlattenOptions$c.group,
data = _memoFlattenOptions$c.data;
if (!group && !data.disabled) {
return current;
}
}
return -1;
};
var _React$useState = external_window_React_["useState"](function () {
return getEnabledActiveIndex(0);
}),
_React$useState2 = Object(slicedToArray["a" /* default */])(_React$useState, 2),
activeIndex = _React$useState2[0],
setActiveIndex = _React$useState2[1];
var setActive = function setActive(index) {
setActiveIndex(index); // Trigger active event
var flattenItem = memoFlattenOptions[index];
if (!flattenItem) {
onActiveValue(null, -1);
return;
}
onActiveValue(flattenItem.data.value, index);
}; // Auto active first item when list length or searchValue changed
external_window_React_["useEffect"](function () {
setActive(defaultActiveFirstOption !== false ? getEnabledActiveIndex(0) : -1);
}, [memoFlattenOptions.length, searchValue]); // Auto scroll to item position in single mode
external_window_React_["useEffect"](function () {
/**
* React will skip `onChange` when component update.
* `setActive` function will call root accessibility state update which makes re-render.
* So we need to delay to let Input component trigger onChange first.
*/
var timeoutId = setTimeout(function () {
if (!multiple && open && values.size === 1) {
var value = Array.from(values)[0];
var index = memoFlattenOptions.findIndex(function (_ref2) {
var data = _ref2.data;
return data.value === value;
});
setActive(index);
scrollIntoView(index);
}
});
return function () {
return clearTimeout(timeoutId);
};
}, [open]); // ========================== Values ==========================
var onSelectValue = function onSelectValue(value) {
if (value !== undefined) {
onSelect(value, {
selected: !values.has(value)
});
} // Single mode should always close by select
if (!multiple) {
onToggleOpen(false);
}
}; // ========================= Keyboard =========================
external_window_React_["useImperativeHandle"](ref, function () {
return {
onKeyDown: function onKeyDown(event) {
var which = event.which;
switch (which) {
// >>> Arrow keys
case KeyCode["a" /* default */].UP:
case KeyCode["a" /* default */].DOWN:
{
var offset = 0;
if (which === KeyCode["a" /* default */].UP) {
offset = -1;
} else if (which === KeyCode["a" /* default */].DOWN) {
offset = 1;
}
if (offset !== 0) {
var nextActiveIndex = getEnabledActiveIndex(activeIndex + offset, offset);
scrollIntoView(nextActiveIndex);
setActive(nextActiveIndex);
}
break;
}
// >>> Select
case KeyCode["a" /* default */].ENTER:
{
// value
var item = memoFlattenOptions[activeIndex];
if (item && !item.data.disabled) {
onSelectValue(item.data.value);
} else {
onSelectValue(undefined);
}
if (open) {
event.preventDefault();
}
break;
}
// >>> Close
case KeyCode["a" /* default */].ESC:
{
onToggleOpen(false);
}
}
},
onKeyUp: function onKeyUp() {},
scrollTo: function scrollTo(index) {
scrollIntoView(index);
}
};
}); // ========================== Render ==========================
if (memoFlattenOptions.length === 0) {
return external_window_React_["createElement"]("div", {
role: "listbox",
id: "".concat(id, "_list"),
className: "".concat(itemPrefixCls, "-empty"),
onMouseDown: onListMouseDown
}, notFoundContent);
}
function renderItem(index) {
var item = memoFlattenOptions[index];
if (!item) return null;
var itemData = item.data || {};
var value = itemData.value,
label = itemData.label,
children = itemData.children;
var attrs = Object(pickAttrs["a" /* default */])(itemData, true);
var mergedLabel = childrenAsData ? children : label;
return item ? external_window_React_["createElement"]("div", Object.assign({
"aria-label": typeof mergedLabel === 'string' ? mergedLabel : null
}, attrs, {
key: index,
role: "option",
id: "".concat(id, "_list_").concat(index),
"aria-selected": values.has(value)
}), value) : null;
}
return external_window_React_["createElement"](external_window_React_["Fragment"], null, external_window_React_["createElement"]("div", {
role: "listbox",
id: "".concat(id, "_list"),
style: {
height: 0,
width: 0,
overflow: 'hidden'
}
}, renderItem(activeIndex - 1), renderItem(activeIndex), renderItem(activeIndex + 1)), external_window_React_["createElement"](es["a" /* default */], {
itemKey: "key",
ref: listRef,
data: memoFlattenOptions,
height: height,
itemHeight: itemHeight,
fullHeight: false,
onMouseDown: onListMouseDown,
onScroll: onScroll,
virtual: virtual,
onMouseEnter: onMouseEnter
}, function (_ref3, itemIndex) {
var _classNames;
var group = _ref3.group,
groupOption = _ref3.groupOption,
data = _ref3.data;
var label = data.label,
key = data.key; // Group
if (group) {
return external_window_React_["createElement"]("div", {
className: classnames_default()(itemPrefixCls, "".concat(itemPrefixCls, "-group"))
}, label !== undefined ? label : key);
}
var disabled = data.disabled,
value = data.value,
title = data.title,
children = data.children,
style = data.style,
className = data.className,
otherProps = Object(objectWithoutProperties["a" /* default */])(data, ["disabled", "value", "title", "children", "style", "className"]); // Option
var selected = values.has(value);
var optionPrefixCls = "".concat(itemPrefixCls, "-option");
var optionClassName = classnames_default()(itemPrefixCls, optionPrefixCls, className, (_classNames = {}, Object(defineProperty["a" /* default */])(_classNames, "".concat(optionPrefixCls, "-grouped"), groupOption), Object(defineProperty["a" /* default */])(_classNames, "".concat(optionPrefixCls, "-active"), activeIndex === itemIndex && !disabled), Object(defineProperty["a" /* default */])(_classNames, "".concat(optionPrefixCls, "-disabled"), disabled), Object(defineProperty["a" /* default */])(_classNames, "".concat(optionPrefixCls, "-selected"), selected), _classNames));
var mergedLabel = childrenAsData ? children : label;
var iconVisible = !menuItemSelectedIcon || typeof menuItemSelectedIcon === 'function' || selected;
return external_window_React_["createElement"]("div", Object.assign({}, otherProps, {
"aria-selected": selected,
className: optionClassName,
title: title,
onMouseMove: function onMouseMove() {
if (activeIndex === itemIndex || disabled) {
return;
}
setActive(itemIndex);
},
onClick: function onClick() {
if (!disabled) {
onSelectValue(value);
}
},
style: style
}), external_window_React_["createElement"]("div", {
className: "".concat(optionPrefixCls, "-content")
}, mergedLabel || value), external_window_React_["isValidElement"](menuItemSelectedIcon) || selected, iconVisible && external_window_React_["createElement"](TransBtn["a" /* default */], {
className: "".concat(itemPrefixCls, "-option-state"),
customizeIcon: menuItemSelectedIcon,
customizeIconProps: {
isSelected: selected
}
}, selected ? '✓' : null));
}));
};
var RefOptionList = external_window_React_["forwardRef"](OptionList_OptionList);
RefOptionList.displayName = 'OptionList';
/* harmony default export */ var es_OptionList = (RefOptionList);
// CONCATENATED MODULE: ./node_modules/rc-select/es/Option.js
/** This is a placeholder, not real render in dom */
var Option = function Option() {
return null;
};
Option.isSelectOption = true;
/* harmony default export */ var es_Option = (Option);
// CONCATENATED MODULE: ./node_modules/rc-select/es/OptGroup.js
/** This is a placeholder, not real render in dom */
var OptGroup = function OptGroup() {
return null;
};
OptGroup.isSelectOptGroup = true;
/* harmony default export */ var es_OptGroup = (OptGroup);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectSpread2.js
var objectSpread2 = __webpack_require__("VTBJ");
// EXTERNAL MODULE: ./node_modules/rc-util/es/Children/toArray.js
var toArray = __webpack_require__("Zm9Q");
// CONCATENATED MODULE: ./node_modules/rc-select/es/utils/legacyUtil.js
function convertNodeToOption(node) {
var key = node.key,
_node$props = node.props,
children = _node$props.children,
value = _node$props.value,
restProps = Object(objectWithoutProperties["a" /* default */])(_node$props, ["children", "value"]);
return Object(objectSpread2["a" /* default */])({
key: key,
value: value !== undefined ? value : key,
children: children
}, restProps);
}
function convertChildrenToData(nodes) {
var optionOnly = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
return Object(toArray["a" /* default */])(nodes).map(function (node, index) {
if (!external_window_React_["isValidElement"](node) || !node.type) {
return null;
}
var isSelectOptGroup = node.type.isSelectOptGroup,
key = node.key,
_node$props2 = node.props,
children = _node$props2.children,
restProps = Object(objectWithoutProperties["a" /* default */])(_node$props2, ["children"]);
if (optionOnly || !isSelectOptGroup) {
return convertNodeToOption(node);
}
return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({
key: "__RC_SELECT_GRP__".concat(key === null ? index : key, "__"),
label: key
}, restProps), {}, {
options: convertChildrenToData(children)
});
}).filter(function (data) {
return data;
});
}
// EXTERNAL MODULE: ./node_modules/rc-select/es/utils/valueUtil.js
var valueUtil = __webpack_require__("2Qr1");
// EXTERNAL MODULE: ./node_modules/rc-select/es/generate.js + 11 modules
var generate = __webpack_require__("qNPg");
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/typeof.js
var esm_typeof = __webpack_require__("U8pU");
// EXTERNAL MODULE: ./node_modules/rc-util/es/warning.js
var warning = __webpack_require__("Kwbf");
// EXTERNAL MODULE: ./node_modules/rc-select/es/utils/commonUtil.js
var commonUtil = __webpack_require__("WKfj");
// CONCATENATED MODULE: ./node_modules/rc-select/es/utils/warningPropsUtil.js
function warningProps(props) {
var mode = props.mode,
options = props.options,
children = props.children,
backfill = props.backfill,
allowClear = props.allowClear,
placeholder = props.placeholder,
getInputElement = props.getInputElement,
showSearch = props.showSearch,
onSearch = props.onSearch,
defaultOpen = props.defaultOpen,
autoFocus = props.autoFocus,
labelInValue = props.labelInValue,
value = props.value,
inputValue = props.inputValue,
optionLabelProp = props.optionLabelProp;
var multiple = mode === 'multiple' || mode === 'tags';
var mergedShowSearch = showSearch !== undefined ? showSearch : multiple || mode === 'combobox';
var mergedOptions = options || convertChildrenToData(children); // `tags` should not set option as disabled
Object(warning["a" /* default */])(mode !== 'tags' || mergedOptions.every(function (opt) {
return !opt.disabled;
}), 'Please avoid setting option to disabled in tags mode since user can always type text as tag.'); // `combobox` & `tags` should option be `string` type
if (mode === 'tags' || mode === 'combobox') {
var hasNumberValue = mergedOptions.some(function (item) {
if (item.options) {
return item.options.some(function (opt) {
return typeof ('value' in opt ? opt.value : opt.key) === 'number';
});
}
return typeof ('value' in item ? item.value : item.key) === 'number';
});
Object(warning["a" /* default */])(!hasNumberValue, '`value` of Option should not use number type when `mode` is `tags` or `combobox`.');
} // `combobox` should not use `optionLabelProp`
Object(warning["a" /* default */])(mode !== 'combobox' || !optionLabelProp, '`combobox` mode not support `optionLabelProp`. Please set `value` on Option directly.'); // Only `combobox` support `backfill`
Object(warning["a" /* default */])(mode === 'combobox' || !backfill, '`backfill` only works with `combobox` mode.'); // Only `combobox` support `getInputElement`
Object(warning["a" /* default */])(mode === 'combobox' || !getInputElement, '`getInputElement` only work with `combobox` mode.'); // Customize `getInputElement` should not use `allowClear` & `placeholder`
Object(warning["b" /* noteOnce */])(mode !== 'combobox' || !getInputElement || !allowClear || !placeholder, 'Customize `getInputElement` should customize clear and placeholder logic instead of configuring `allowClear` and `placeholder`.'); // `onSearch` should use in `combobox` or `showSearch`
if (onSearch && !mergedShowSearch && mode !== 'combobox' && mode !== 'tags') {
Object(warning["a" /* default */])(false, '`onSearch` should work with `showSearch` instead of use alone.');
}
Object(warning["b" /* noteOnce */])(!defaultOpen || autoFocus, '`defaultOpen` makes Select open without focus which means it will not close by click outside. You can set `autoFocus` if needed.');
if (value !== undefined && value !== null) {
var values = Object(commonUtil["d" /* toArray */])(value);
Object(warning["a" /* default */])(!labelInValue || values.every(function (val) {
return Object(esm_typeof["a" /* default */])(val) === 'object' && ('key' in val || 'value' in val);
}), '`value` should in shape of `{ value: string | number, label?: ReactNode }` when you set `labelInValue` to `true`');
Object(warning["a" /* default */])(!multiple || Array.isArray(value), '`value` should be array when `mode` is `multiple` or `tags`');
} // Syntactic sugar should use correct children type
if (children) {
var invalidateChildType = null;
Object(toArray["a" /* default */])(children).some(function (node) {
if (!external_window_React_["isValidElement"](node) || !node.type) {
return false;
}
var type = node.type;
if (type.isSelectOption) {
return false;
}
if (type.isSelectOptGroup) {
var allChildrenValid = Object(toArray["a" /* default */])(node.props.children).every(function (subNode) {
if (!external_window_React_["isValidElement"](subNode) || !node.type || subNode.type.isSelectOption) {
return true;
}
invalidateChildType = subNode.type;
return false;
});
if (allChildrenValid) {
return false;
}
return true;
}
invalidateChildType = type;
return true;
});
if (invalidateChildType) {
Object(warning["a" /* default */])(false, "`children` should be `Select.Option` or `Select.OptGroup` instead of `".concat(invalidateChildType.displayName || invalidateChildType.name || invalidateChildType, "`."));
}
Object(warning["a" /* default */])(inputValue === undefined, '`inputValue` is deprecated, please use `searchValue` instead.');
}
}
/* harmony default export */ var warningPropsUtil = (warningProps);
// CONCATENATED MODULE: ./node_modules/rc-select/es/Select.js
/**
* To match accessibility requirement, we always provide an input in the component.
* Other element will not set `tabIndex` to avoid `onBlur` sequence problem.
* For focused select, we set `aria-live="polite"` to update the accessibility content.
*
* ref:
* - keyboard: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/listbox_role#Keyboard_interactions
*
* New api:
* - listHeight
* - listItemHeight
* - component
*
* Remove deprecated api:
* - multiple
* - tags
* - combobox
* - firstActiveValue
* - dropdownMenuStyle
* - openClassName (Not list in api)
*
* Update:
* - `backfill` only support `combobox` mode
* - `combobox` mode not support `labelInValue` since it's meaningless
* - `getInputElement` only support `combobox` mode
* - `onChange` return OptionData instead of ReactNode
* - `filterOption` `onChange` `onSelect` accept OptionData instead of ReactNode
* - `combobox` mode trigger `onChange` will get `undefined` if no `value` match in Option
* - `combobox` mode not support `optionLabelProp`
*/
var RefSelect = Object(generate["a" /* default */])({
prefixCls: 'rc-select',
components: {
optionList: es_OptionList
},
convertChildrenToData: convertChildrenToData,
flattenOptions: valueUtil["d" /* flattenOptions */],
getLabeledValue: valueUtil["e" /* getLabeledValue */],
filterOptions: valueUtil["b" /* filterOptions */],
isValueDisabled: valueUtil["g" /* isValueDisabled */],
findValueOption: valueUtil["c" /* findValueOption */],
warningProps: warningPropsUtil,
fillOptionsWithMissingValue: valueUtil["a" /* fillOptionsWithMissingValue */]
});
/**
* Typescript not support generic with function component,
* we have to wrap an class component to handle this.
*/
var Select_Select = /*#__PURE__*/function (_React$Component) {
Object(inherits["a" /* default */])(Select, _React$Component);
var _super = Object(createSuper["a" /* default */])(Select);
function Select() {
var _this;
Object(classCallCheck["a" /* default */])(this, Select);
_this = _super.apply(this, arguments);
_this.selectRef = external_window_React_["createRef"]();
_this.focus = function () {
_this.selectRef.current.focus();
};
_this.blur = function () {
_this.selectRef.current.blur();
};
return _this;
}
Object(createClass["a" /* default */])(Select, [{
key: "render",
value: function render() {
return external_window_React_["createElement"](RefSelect, Object.assign({
ref: this.selectRef
}, this.props));
}
}]);
return Select;
}(external_window_React_["Component"]);
Select_Select.Option = es_Option;
Select_Select.OptGroup = es_OptGroup;
/* harmony default export */ var es_Select = (Select_Select);
// CONCATENATED MODULE: ./node_modules/rc-select/es/index.js
/* harmony default export */ var rc_select_es = __webpack_exports__["c"] = (es_Select);
/***/ }),
/***/ "M8RZ":
/*!**********************************!*\
!*** ./src/components/modal.tsx ***!
\**********************************/
/*! exports provided: default */
/*! exports used: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Dialog; });
/* harmony import */ var _Users_dingyongkang_Documents_workspace_zhiqing_educoder_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@umijs/babel-preset-umi/node_modules/@babel/runtime/helpers/esm/classCallCheck */ "fWQN");
/* harmony import */ var _Users_dingyongkang_Documents_workspace_zhiqing_educoder_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/@umijs/babel-preset-umi/node_modules/@babel/runtime/helpers/esm/createClass */ "mtLc");
/* harmony import */ var _Users_dingyongkang_Documents_workspace_zhiqing_educoder_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@umijs/babel-preset-umi/node_modules/@babel/runtime/helpers/esm/inherits */ "yKVA");
/* harmony import */ var _Users_dingyongkang_Documents_workspace_zhiqing_educoder_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_createSuper__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./node_modules/@umijs/babel-preset-umi/node_modules/@babel/runtime/helpers/esm/createSuper */ "879j");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ "cDcd");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_4__);
/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-dom */ "faye");
/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_5__);
var Dialog = /*#__PURE__*/function (_React$Component) {
Object(_Users_dingyongkang_Documents_workspace_zhiqing_educoder_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"])(Dialog, _React$Component);
var _super = Object(_Users_dingyongkang_Documents_workspace_zhiqing_educoder_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_createSuper__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"])(Dialog);
function Dialog(props) {
var _this;
Object(_Users_dingyongkang_Documents_workspace_zhiqing_educoder_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(this, Dialog);
_this = _super.call(this, props);
var doc = window.document;
_this.node = doc.createElement('div');
doc.body.appendChild(_this.node);
return _this;
}
Object(_Users_dingyongkang_Documents_workspace_zhiqing_educoder_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(Dialog, [{
key: "render",
value: function render() {
var children = this.props.children;
return /*#__PURE__*/Object(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___default.a.Component);
/***/ }),
/***/ "MEGo":
/*!***************************************************!*\
!*** ./node_modules/zrender/lib/tool/parseSVG.js ***!
\***************************************************/
/*! no static exports found */
/*! all exports used */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports, __webpack_require__) {
var Group = __webpack_require__(/*! ../container/Group */ "4fz+");
var ZImage = __webpack_require__(/*! ../graphic/Image */ "Dagg");
var Text = __webpack_require__(/*! ../graphic/Text */ "dqUG");
var Circle = __webpack_require__(/*! ../graphic/shape/Circle */ "2fw6");
var Rect = __webpack_require__(/*! ../graphic/shape/Rect */ "x6Kt");
var Ellipse = __webpack_require__(/*! ../graphic/shape/Ellipse */ "rmlV");
var Line = __webpack_require__(/*! ../graphic/shape/Line */ "yxFR");
var Path = __webpack_require__(/*! ../graphic/Path */ "y+Vt");
var Polygon = __webpack_require__(/*! ../graphic/shape/Polygon */ "h7HQ");
var Polyline = __webpack_require__(/*! ../graphic/shape/Polyline */ "1Jh7");
var LinearGradient = __webpack_require__(/*! ../graphic/LinearGradient */ "SKnc");
var Style = __webpack_require__(/*! ../graphic/Style */ "K2GJ");
var matrix = __webpack_require__(/*! ../core/matrix */ "Fofx");
var _path = __webpack_require__(/*! ./path */ "NC18");
var createFromString = _path.createFromString;
var _util = __webpack_require__(/*! ../core/util */ "bYtY");
var isString = _util.isString;
var extend = _util.extend;
var defaults = _util.defaults;
var trim = _util.trim;
var each = _util.each;
// import RadialGradient from '../graphic/RadialGradient';
// import Pattern from '../graphic/Pattern';
// import * as vector from '../core/vector';
// Most of the values can be separated by comma and/or white space.
var DILIMITER_REG = /[\s,]+/;
/**
* For big svg string, this method might be time consuming.
*
* @param {string} svg xml string
* @return {Object} xml root.
*/
function parseXML(svg) {
if (isString(svg)) {
var parser = new DOMParser();
svg = parser.parseFromString(svg, 'text/xml');
} // Document node. If using $.get, doc node may be input.
if (svg.nodeType === 9) {
svg = svg.firstChild;
} // nodeName of is also 'svg'.
while (svg.nodeName.toLowerCase() !== 'svg' || svg.nodeType !== 1) {
svg = svg.nextSibling;
}
return svg;
}
function SVGParser() {
this._defs = {};
this._root = null;
this._isDefine = false;
this._isText = false;
}
SVGParser.prototype.parse = function (xml, opt) {
opt = opt || {};
var svg = parseXML(xml);
if (!svg) {
throw new Error('Illegal svg');
}
var root = new Group();
this._root = root; // parse view port
var viewBox = svg.getAttribute('viewBox') || ''; // If width/height not specified, means "100%" of `opt.width/height`.
// TODO: Other percent value not supported yet.
var width = parseFloat(svg.getAttribute('width') || opt.width);
var height = parseFloat(svg.getAttribute('height') || opt.height); // If width/height not specified, set as null for output.
isNaN(width) && (width = null);
isNaN(height) && (height = null); // Apply inline style on svg element.
parseAttributes(svg, root, null, true);
var child = svg.firstChild;
while (child) {
this._parseNode(child, root);
child = child.nextSibling;
}
var viewBoxRect;
var viewBoxTransform;
if (viewBox) {
var viewBoxArr = trim(viewBox).split(DILIMITER_REG); // Some invalid case like viewBox: 'none'.
if (viewBoxArr.length >= 4) {
viewBoxRect = {
x: parseFloat(viewBoxArr[0] || 0),
y: parseFloat(viewBoxArr[1] || 0),
width: parseFloat(viewBoxArr[2]),
height: parseFloat(viewBoxArr[3])
};
}
}
if (viewBoxRect && width != null && height != null) {
viewBoxTransform = makeViewBoxTransform(viewBoxRect, width, height);
if (!opt.ignoreViewBox) {
// If set transform on the output group, it probably bring trouble when
// some users only intend to show the clipped content inside the viewBox,
// but not intend to transform the output group. So we keep the output
// group no transform. If the user intend to use the viewBox as a
// camera, just set `opt.ignoreViewBox` as `true` and set transfrom
// manually according to the viewBox info in the output of this method.
var elRoot = root;
root = new Group();
root.add(elRoot);
elRoot.scale = viewBoxTransform.scale.slice();
elRoot.position = viewBoxTransform.position.slice();
}
} // Some shapes might be overflow the viewport, which should be
// clipped despite whether the viewBox is used, as the SVG does.
if (!opt.ignoreRootClip && width != null && height != null) {
root.setClipPath(new Rect({
shape: {
x: 0,
y: 0,
width: width,
height: height
}
}));
} // Set width/height on group just for output the viewport size.
return {
root: root,
width: width,
height: height,
viewBoxRect: viewBoxRect,
viewBoxTransform: viewBoxTransform
};
};
SVGParser.prototype._parseNode = function (xmlNode, parentGroup) {
var nodeName = xmlNode.nodeName.toLowerCase(); // TODO
// support in svg, where nodeName is 'style',
// CSS classes is defined globally wherever the style tags are declared.
if (nodeName === 'defs') {
// define flag
this._isDefine = true;
} else if (nodeName === 'text') {
this._isText = true;
}
var el;
if (this._isDefine) {
var parser = defineParsers[nodeName];
if (parser) {
var def = parser.call(this, xmlNode);
var id = xmlNode.getAttribute('id');
if (id) {
this._defs[id] = def;
}
}
} else {
var parser = nodeParsers[nodeName];
if (parser) {
el = parser.call(this, xmlNode, parentGroup);
parentGroup.add(el);
}
}
var child = xmlNode.firstChild;
while (child) {
if (child.nodeType === 1) {
this._parseNode(child, el);
} // Is text
if (child.nodeType === 3 && this._isText) {
this._parseText(child, el);
}
child = child.nextSibling;
} // Quit define
if (nodeName === 'defs') {
this._isDefine = false;
} else if (nodeName === 'text') {
this._isText = false;
}
};
SVGParser.prototype._parseText = function (xmlNode, parentGroup) {
if (xmlNode.nodeType === 1) {
var dx = xmlNode.getAttribute('dx') || 0;
var dy = xmlNode.getAttribute('dy') || 0;
this._textX += parseFloat(dx);
this._textY += parseFloat(dy);
}
var text = new Text({
style: {
text: xmlNode.textContent,
transformText: true
},
position: [this._textX || 0, this._textY || 0]
});
inheritStyle(parentGroup, text);
parseAttributes(xmlNode, text, this._defs);
var fontSize = text.style.fontSize;
if (fontSize && fontSize < 9) {
// PENDING
text.style.fontSize = 9;
text.scale = text.scale || [1, 1];
text.scale[0] *= fontSize / 9;
text.scale[1] *= fontSize / 9;
}
var rect = text.getBoundingRect();
this._textX += rect.width;
parentGroup.add(text);
return text;
};
var nodeParsers = {
'g': function (xmlNode, parentGroup) {
var g = new Group();
inheritStyle(parentGroup, g);
parseAttributes(xmlNode, g, this._defs);
return g;
},
'rect': function (xmlNode, parentGroup) {
var rect = new Rect();
inheritStyle(parentGroup, rect);
parseAttributes(xmlNode, rect, this._defs);
rect.setShape({
x: parseFloat(xmlNode.getAttribute('x') || 0),
y: parseFloat(xmlNode.getAttribute('y') || 0),
width: parseFloat(xmlNode.getAttribute('width') || 0),
height: parseFloat(xmlNode.getAttribute('height') || 0)
}); // console.log(xmlNode.getAttribute('transform'));
// console.log(rect.transform);
return rect;
},
'circle': function (xmlNode, parentGroup) {
var circle = new Circle();
inheritStyle(parentGroup, circle);
parseAttributes(xmlNode, circle, this._defs);
circle.setShape({
cx: parseFloat(xmlNode.getAttribute('cx') || 0),
cy: parseFloat(xmlNode.getAttribute('cy') || 0),
r: parseFloat(xmlNode.getAttribute('r') || 0)
});
return circle;
},
'line': function (xmlNode, parentGroup) {
var line = new Line();
inheritStyle(parentGroup, line);
parseAttributes(xmlNode, line, this._defs);
line.setShape({
x1: parseFloat(xmlNode.getAttribute('x1') || 0),
y1: parseFloat(xmlNode.getAttribute('y1') || 0),
x2: parseFloat(xmlNode.getAttribute('x2') || 0),
y2: parseFloat(xmlNode.getAttribute('y2') || 0)
});
return line;
},
'ellipse': function (xmlNode, parentGroup) {
var ellipse = new Ellipse();
inheritStyle(parentGroup, ellipse);
parseAttributes(xmlNode, ellipse, this._defs);
ellipse.setShape({
cx: parseFloat(xmlNode.getAttribute('cx') || 0),
cy: parseFloat(xmlNode.getAttribute('cy') || 0),
rx: parseFloat(xmlNode.getAttribute('rx') || 0),
ry: parseFloat(xmlNode.getAttribute('ry') || 0)
});
return ellipse;
},
'polygon': function (xmlNode, parentGroup) {
var points = xmlNode.getAttribute('points');
if (points) {
points = parsePoints(points);
}
var polygon = new Polygon({
shape: {
points: points || []
}
});
inheritStyle(parentGroup, polygon);
parseAttributes(xmlNode, polygon, this._defs);
return polygon;
},
'polyline': function (xmlNode, parentGroup) {
var path = new Path();
inheritStyle(parentGroup, path);
parseAttributes(xmlNode, path, this._defs);
var points = xmlNode.getAttribute('points');
if (points) {
points = parsePoints(points);
}
var polyline = new Polyline({
shape: {
points: points || []
}
});
return polyline;
},
'image': function (xmlNode, parentGroup) {
var img = new ZImage();
inheritStyle(parentGroup, img);
parseAttributes(xmlNode, img, this._defs);
img.setStyle({
image: xmlNode.getAttribute('xlink:href'),
x: xmlNode.getAttribute('x'),
y: xmlNode.getAttribute('y'),
width: xmlNode.getAttribute('width'),
height: xmlNode.getAttribute('height')
});
return img;
},
'text': function (xmlNode, parentGroup) {
var x = xmlNode.getAttribute('x') || 0;
var y = xmlNode.getAttribute('y') || 0;
var dx = xmlNode.getAttribute('dx') || 0;
var dy = xmlNode.getAttribute('dy') || 0;
this._textX = parseFloat(x) + parseFloat(dx);
this._textY = parseFloat(y) + parseFloat(dy);
var g = new Group();
inheritStyle(parentGroup, g);
parseAttributes(xmlNode, g, this._defs);
return g;
},
'tspan': function (xmlNode, parentGroup) {
var x = xmlNode.getAttribute('x');
var y = xmlNode.getAttribute('y');
if (x != null) {
// new offset x
this._textX = parseFloat(x);
}
if (y != null) {
// new offset y
this._textY = parseFloat(y);
}
var dx = xmlNode.getAttribute('dx') || 0;
var dy = xmlNode.getAttribute('dy') || 0;
var g = new Group();
inheritStyle(parentGroup, g);
parseAttributes(xmlNode, g, this._defs);
this._textX += dx;
this._textY += dy;
return g;
},
'path': function (xmlNode, parentGroup) {
// TODO svg fill rule
// https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill-rule
// path.style.globalCompositeOperation = 'xor';
var d = xmlNode.getAttribute('d') || ''; // Performance sensitive.
var path = createFromString(d);
inheritStyle(parentGroup, path);
parseAttributes(xmlNode, path, this._defs);
return path;
}
};
var defineParsers = {
'lineargradient': function (xmlNode) {
var x1 = parseInt(xmlNode.getAttribute('x1') || 0, 10);
var y1 = parseInt(xmlNode.getAttribute('y1') || 0, 10);
var x2 = parseInt(xmlNode.getAttribute('x2') || 10, 10);
var y2 = parseInt(xmlNode.getAttribute('y2') || 0, 10);
var gradient = new LinearGradient(x1, y1, x2, y2);
_parseGradientColorStops(xmlNode, gradient);
return gradient;
},
'radialgradient': function (xmlNode) {}
};
function _parseGradientColorStops(xmlNode, gradient) {
var stop = xmlNode.firstChild;
while (stop) {
if (stop.nodeType === 1) {
var offset = stop.getAttribute('offset');
if (offset.indexOf('%') > 0) {
// percentage
offset = parseInt(offset, 10) / 100;
} else if (offset) {
// number from 0 to 1
offset = parseFloat(offset);
} else {
offset = 0;
}
var stopColor = stop.getAttribute('stop-color') || '#000000';
gradient.addColorStop(offset, stopColor);
}
stop = stop.nextSibling;
}
}
function inheritStyle(parent, child) {
if (parent && parent.__inheritedStyle) {
if (!child.__inheritedStyle) {
child.__inheritedStyle = {};
}
defaults(child.__inheritedStyle, parent.__inheritedStyle);
}
}
function parsePoints(pointsString) {
var list = trim(pointsString).split(DILIMITER_REG);
var points = [];
for (var i = 0; i < list.length; i += 2) {
var x = parseFloat(list[i]);
var y = parseFloat(list[i + 1]);
points.push([x, y]);
}
return points;
}
var attributesMap = {
'fill': 'fill',
'stroke': 'stroke',
'stroke-width': 'lineWidth',
'opacity': 'opacity',
'fill-opacity': 'fillOpacity',
'stroke-opacity': 'strokeOpacity',
'stroke-dasharray': 'lineDash',
'stroke-dashoffset': 'lineDashOffset',
'stroke-linecap': 'lineCap',
'stroke-linejoin': 'lineJoin',
'stroke-miterlimit': 'miterLimit',
'font-family': 'fontFamily',
'font-size': 'fontSize',
'font-style': 'fontStyle',
'font-weight': 'fontWeight',
'text-align': 'textAlign',
'alignment-baseline': 'textBaseline'
};
function parseAttributes(xmlNode, el, defs, onlyInlineStyle) {
var zrStyle = el.__inheritedStyle || {};
var isTextEl = el.type === 'text'; // TODO Shadow
if (xmlNode.nodeType === 1) {
parseTransformAttribute(xmlNode, el);
extend(zrStyle, parseStyleAttribute(xmlNode));
if (!onlyInlineStyle) {
for (var svgAttrName in attributesMap) {
if (attributesMap.hasOwnProperty(svgAttrName)) {
var attrValue = xmlNode.getAttribute(svgAttrName);
if (attrValue != null) {
zrStyle[attributesMap[svgAttrName]] = attrValue;
}
}
}
}
}
var elFillProp = isTextEl ? 'textFill' : 'fill';
var elStrokeProp = isTextEl ? 'textStroke' : 'stroke';
el.style = el.style || new Style();
var elStyle = el.style;
zrStyle.fill != null && elStyle.set(elFillProp, getPaint(zrStyle.fill, defs));
zrStyle.stroke != null && elStyle.set(elStrokeProp, getPaint(zrStyle.stroke, defs));
each(['lineWidth', 'opacity', 'fillOpacity', 'strokeOpacity', 'miterLimit', 'fontSize'], function (propName) {
var elPropName = propName === 'lineWidth' && isTextEl ? 'textStrokeWidth' : propName;
zrStyle[propName] != null && elStyle.set(elPropName, parseFloat(zrStyle[propName]));
});
if (!zrStyle.textBaseline || zrStyle.textBaseline === 'auto') {
zrStyle.textBaseline = 'alphabetic';
}
if (zrStyle.textBaseline === 'alphabetic') {
zrStyle.textBaseline = 'bottom';
}
if (zrStyle.textAlign === 'start') {
zrStyle.textAlign = 'left';
}
if (zrStyle.textAlign === 'end') {
zrStyle.textAlign = 'right';
}
each(['lineDashOffset', 'lineCap', 'lineJoin', 'fontWeight', 'fontFamily', 'fontStyle', 'textAlign', 'textBaseline'], function (propName) {
zrStyle[propName] != null && elStyle.set(propName, zrStyle[propName]);
});
if (zrStyle.lineDash) {
el.style.lineDash = trim(zrStyle.lineDash).split(DILIMITER_REG);
}
if (elStyle[elStrokeProp] && elStyle[elStrokeProp] !== 'none') {
// enable stroke
el[elStrokeProp] = true;
}
el.__inheritedStyle = zrStyle;
}
var urlRegex = /url\(\s*#(.*?)\)/;
function getPaint(str, defs) {
// if (str === 'none') {
// return;
// }
var urlMatch = defs && str && str.match(urlRegex);
if (urlMatch) {
var url = trim(urlMatch[1]);
var def = defs[url];
return def;
}
return str;
}
var transformRegex = /(translate|scale|rotate|skewX|skewY|matrix)\(([\-\s0-9\.e,]*)\)/g;
function parseTransformAttribute(xmlNode, node) {
var transform = xmlNode.getAttribute('transform');
if (transform) {
transform = transform.replace(/,/g, ' ');
var m = null;
var transformOps = [];
transform.replace(transformRegex, function (str, type, value) {
transformOps.push(type, value);
});
for (var i = transformOps.length - 1; i > 0; i -= 2) {
var value = transformOps[i];
var type = transformOps[i - 1];
m = m || matrix.create();
switch (type) {
case 'translate':
value = trim(value).split(DILIMITER_REG);
matrix.translate(m, m, [parseFloat(value[0]), parseFloat(value[1] || 0)]);
break;
case 'scale':
value = trim(value).split(DILIMITER_REG);
matrix.scale(m, m, [parseFloat(value[0]), parseFloat(value[1] || value[0])]);
break;
case 'rotate':
value = trim(value).split(DILIMITER_REG);
matrix.rotate(m, m, parseFloat(value[0]));
break;
case 'skew':
value = trim(value).split(DILIMITER_REG);
console.warn('Skew transform is not supported yet');
break;
case 'matrix':
var value = trim(value).split(DILIMITER_REG);
m[0] = parseFloat(value[0]);
m[1] = parseFloat(value[1]);
m[2] = parseFloat(value[2]);
m[3] = parseFloat(value[3]);
m[4] = parseFloat(value[4]);
m[5] = parseFloat(value[5]);
break;
}
}
node.setLocalTransform(m);
}
} // Value may contain space.
var styleRegex = /([^\s:;]+)\s*:\s*([^:;]+)/g;
function parseStyleAttribute(xmlNode) {
var style = xmlNode.getAttribute('style');
var result = {};
if (!style) {
return result;
}
var styleList = {};
styleRegex.lastIndex = 0;
var styleRegResult;
while ((styleRegResult = styleRegex.exec(style)) != null) {
styleList[styleRegResult[1]] = styleRegResult[2];
}
for (var svgAttrName in attributesMap) {
if (attributesMap.hasOwnProperty(svgAttrName) && styleList[svgAttrName] != null) {
result[attributesMap[svgAttrName]] = styleList[svgAttrName];
}
}
return result;
}
/**
* @param {Array.} viewBoxRect
* @param {number} width
* @param {number} height
* @return {Object} {scale, position}
*/
function makeViewBoxTransform(viewBoxRect, width, height) {
var scaleX = width / viewBoxRect.width;
var scaleY = height / viewBoxRect.height;
var scale = Math.min(scaleX, scaleY); // preserveAspectRatio 'xMidYMid'
var viewBoxScale = [scale, scale];
var viewBoxPosition = [-(viewBoxRect.x + viewBoxRect.width / 2) * scale + width / 2, -(viewBoxRect.y + viewBoxRect.height / 2) * scale + height / 2];
return {
scale: viewBoxScale,
position: viewBoxPosition
};
}
/**
* @param {string|XMLElement} xml
* @param {Object} [opt]
* @param {number} [opt.width] Default width if svg width not specified or is a percent value.
* @param {number} [opt.height] Default height if svg height not specified or is a percent value.
* @param {boolean} [opt.ignoreViewBox]
* @param {boolean} [opt.ignoreRootClip]
* @return {Object} result:
* {
* root: Group, The root of the the result tree of zrender shapes,
* width: number, the viewport width of the SVG,
* height: number, the viewport height of the SVG,
* viewBoxRect: {x, y, width, height}, the declared viewBox rect of the SVG, if exists,
* viewBoxTransform: the {scale, position} calculated by viewBox and viewport, is exists.
* }
*/
function parseSVG(xml, opt) {
var parser = new SVGParser();
return parser.parse(xml, opt);
}
exports.parseXML = parseXML;
exports.makeViewBoxTransform = makeViewBoxTransform;
exports.parseSVG = parseSVG;
/***/ }),
/***/ "MKOG":
/*!*********************************************************!*\
!*** ./node_modules/zrender/lib/animation/Animation.js ***!
\*********************************************************/
/*! no static exports found */
/*! all exports used */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports, __webpack_require__) {
var util = __webpack_require__(/*! ../core/util */ "bYtY");
var _event = __webpack_require__(/*! ../core/event */ "YH21");
var Dispatcher = _event.Dispatcher;
var requestAnimationFrame = __webpack_require__(/*! ./requestAnimationFrame */ "mLcG");
var Animator = __webpack_require__(/*! ./Animator */ "Bq2U");
/**
* Animation main class, dispatch and manage all animation controllers
*
* @module zrender/animation/Animation
* @author pissang(https://github.com/pissang)
*/
// TODO Additive animation
// http://iosoteric.com/additive-animations-animatewithduration-in-ios-8/
// https://developer.apple.com/videos/wwdc2014/#236
/**
* @typedef {Object} IZRenderStage
* @property {Function} update
*/
/**
* @alias module:zrender/animation/Animation
* @constructor
* @param {Object} [options]
* @param {Function} [options.onframe]
* @param {IZRenderStage} [options.stage]
* @example
* var animation = new Animation();
* var obj = {
* x: 100,
* y: 100
* };
* animation.animate(node.position)
* .when(1000, {
* x: 500,
* y: 500
* })
* .when(2000, {
* x: 100,
* y: 100
* })
* .start('spline');
*/
var Animation = function (options) {
options = options || {};
this.stage = options.stage || {};
this.onframe = options.onframe || function () {}; // private properties
this._clips = [];
this._running = false;
this._time;
this._pausedTime;
this._pauseStart;
this._paused = false;
Dispatcher.call(this);
};
Animation.prototype = {
constructor: Animation,
/**
* Add clip
* @param {module:zrender/animation/Clip} clip
*/
addClip: function (clip) {
this._clips.push(clip);
},
/**
* Add animator
* @param {module:zrender/animation/Animator} animator
*/
addAnimator: function (animator) {
animator.animation = this;
var clips = animator.getClips();
for (var i = 0; i < clips.length; i++) {
this.addClip(clips[i]);
}
},
/**
* Delete animation clip
* @param {module:zrender/animation/Clip} clip
*/
removeClip: function (clip) {
var idx = util.indexOf(this._clips, clip);
if (idx >= 0) {
this._clips.splice(idx, 1);
}
},
/**
* Delete animation clip
* @param {module:zrender/animation/Animator} animator
*/
removeAnimator: function (animator) {
var clips = animator.getClips();
for (var i = 0; i < clips.length; i++) {
this.removeClip(clips[i]);
}
animator.animation = null;
},
_update: function () {
var time = new Date().getTime() - this._pausedTime;
var delta = time - this._time;
var clips = this._clips;
var len = clips.length;
var deferredEvents = [];
var deferredClips = [];
for (var i = 0; i < len; i++) {
var clip = clips[i];
var e = clip.step(time, delta); // Throw out the events need to be called after
// stage.update, like destroy
if (e) {
deferredEvents.push(e);
deferredClips.push(clip);
}
} // Remove the finished clip
for (var i = 0; i < len;) {
if (clips[i]._needsRemove) {
clips[i] = clips[len - 1];
clips.pop();
len--;
} else {
i++;
}
}
len = deferredEvents.length;
for (var i = 0; i < len; i++) {
deferredClips[i].fire(deferredEvents[i]);
}
this._time = time;
this.onframe(delta); // 'frame' should be triggered before stage, because upper application
// depends on the sequence (e.g., echarts-stream and finish
// event judge)
this.trigger('frame', delta);
if (this.stage.update) {
this.stage.update();
}
},
_startLoop: function () {
var self = this;
this._running = true;
function step() {
if (self._running) {
requestAnimationFrame(step);
!self._paused && self._update();
}
}
requestAnimationFrame(step);
},
/**
* Start animation.
*/
start: function () {
this._time = new Date().getTime();
this._pausedTime = 0;
this._startLoop();
},
/**
* Stop animation.
*/
stop: function () {
this._running = false;
},
/**
* Pause animation.
*/
pause: function () {
if (!this._paused) {
this._pauseStart = new Date().getTime();
this._paused = true;
}
},
/**
* Resume animation.
*/
resume: function () {
if (this._paused) {
this._pausedTime += new Date().getTime() - this._pauseStart;
this._paused = false;
}
},
/**
* Clear animation.
*/
clear: function () {
this._clips = [];
},
/**
* Whether animation finished.
*/
isFinished: function () {
return !this._clips.length;
},
/**
* Creat animator for a target, whose props can be animated.
*
* @param {Object} target
* @param {Object} options
* @param {boolean} [options.loop=false] Whether loop animation.
* @param {Function} [options.getter=null] Get value from target.
* @param {Function} [options.setter=null] Set value to target.
* @return {module:zrender/animation/Animation~Animator}
*/
// TODO Gap
animate: function (target, options) {
options = options || {};
var animator = new Animator(target, options.loop, options.getter, options.setter);
this.addAnimator(animator);
return animator;
}
};
util.mixin(Animation, Dispatcher);
var _default = Animation;
module.exports = _default;
/***/ }),
/***/ "MKdu":
/*!**********************************************************!*\
!*** ./src/pages/Paths/Detail/components/Banner/fsz.svg ***!
\**********************************************************/
/*! no static exports found */
/*! exports used: default */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports, __webpack_require__) {
module.exports = __webpack_require__.p + "static/fsz.c0b87223.svg";
/***/ }),
/***/ "NC18":
/*!***********************************************!*\
!*** ./node_modules/zrender/lib/tool/path.js ***!
\***********************************************/
/*! no static exports found */
/*! all exports used */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports, __webpack_require__) {
var Path = __webpack_require__(/*! ../graphic/Path */ "y+Vt");
var PathProxy = __webpack_require__(/*! ../core/PathProxy */ "IMiH");
var transformPath = __webpack_require__(/*! ./transformPath */ "7oTu");
// command chars
// var cc = [
// 'm', 'M', 'l', 'L', 'v', 'V', 'h', 'H', 'z', 'Z',
// 'c', 'C', 'q', 'Q', 't', 'T', 's', 'S', 'a', 'A'
// ];
var mathSqrt = Math.sqrt;
var mathSin = Math.sin;
var mathCos = Math.cos;
var PI = Math.PI;
var vMag = function (v) {
return Math.sqrt(v[0] * v[0] + v[1] * v[1]);
};
var vRatio = function (u, v) {
return (u[0] * v[0] + u[1] * v[1]) / (vMag(u) * vMag(v));
};
var vAngle = function (u, v) {
return (u[0] * v[1] < u[1] * v[0] ? -1 : 1) * Math.acos(vRatio(u, v));
};
function processArc(x1, y1, x2, y2, fa, fs, rx, ry, psiDeg, cmd, path) {
var psi = psiDeg * (PI / 180.0);
var xp = mathCos(psi) * (x1 - x2) / 2.0 + mathSin(psi) * (y1 - y2) / 2.0;
var yp = -1 * mathSin(psi) * (x1 - x2) / 2.0 + mathCos(psi) * (y1 - y2) / 2.0;
var lambda = xp * xp / (rx * rx) + yp * yp / (ry * ry);
if (lambda > 1) {
rx *= mathSqrt(lambda);
ry *= mathSqrt(lambda);
}
var f = (fa === fs ? -1 : 1) * mathSqrt((rx * rx * (ry * ry) - rx * rx * (yp * yp) - ry * ry * (xp * xp)) / (rx * rx * (yp * yp) + ry * ry * (xp * xp))) || 0;
var cxp = f * rx * yp / ry;
var cyp = f * -ry * xp / rx;
var cx = (x1 + x2) / 2.0 + mathCos(psi) * cxp - mathSin(psi) * cyp;
var cy = (y1 + y2) / 2.0 + mathSin(psi) * cxp + mathCos(psi) * cyp;
var theta = vAngle([1, 0], [(xp - cxp) / rx, (yp - cyp) / ry]);
var u = [(xp - cxp) / rx, (yp - cyp) / ry];
var v = [(-1 * xp - cxp) / rx, (-1 * yp - cyp) / ry];
var dTheta = vAngle(u, v);
if (vRatio(u, v) <= -1) {
dTheta = PI;
}
if (vRatio(u, v) >= 1) {
dTheta = 0;
}
if (fs === 0 && dTheta > 0) {
dTheta = dTheta - 2 * PI;
}
if (fs === 1 && dTheta < 0) {
dTheta = dTheta + 2 * PI;
}
path.addData(cmd, cx, cy, rx, ry, theta, dTheta, psi, fs);
}
var commandReg = /([mlvhzcqtsa])([^mlvhzcqtsa]*)/ig; // Consider case:
// (1) delimiter can be comma or space, where continuous commas
// or spaces should be seen as one comma.
// (2) value can be like:
// '2e-4', 'l.5.9' (ignore 0), 'M-10-10', 'l-2.43e-1,34.9983',
// 'l-.5E1,54', '121-23-44-11' (no delimiter)
var numberReg = /-?([0-9]*\.)?[0-9]+([eE]-?[0-9]+)?/g; // var valueSplitReg = /[\s,]+/;
function createPathProxyFromString(data) {
if (!data) {
return new PathProxy();
} // var data = data.replace(/-/g, ' -')
// .replace(/ /g, ' ')
// .replace(/ /g, ',')
// .replace(/,,/g, ',');
// var n;
// create pipes so that we can split the data
// for (n = 0; n < cc.length; n++) {
// cs = cs.replace(new RegExp(cc[n], 'g'), '|' + cc[n]);
// }
// data = data.replace(/-/g, ',-');
// create array
// var arr = cs.split('|');
// init context point
var cpx = 0;
var cpy = 0;
var subpathX = cpx;
var subpathY = cpy;
var prevCmd;
var path = new PathProxy();
var CMD = PathProxy.CMD; // commandReg.lastIndex = 0;
// var cmdResult;
// while ((cmdResult = commandReg.exec(data)) != null) {
// var cmdStr = cmdResult[1];
// var cmdContent = cmdResult[2];
var cmdList = data.match(commandReg);
for (var l = 0; l < cmdList.length; l++) {
var cmdText = cmdList[l];
var cmdStr = cmdText.charAt(0);
var cmd; // String#split is faster a little bit than String#replace or RegExp#exec.
// var p = cmdContent.split(valueSplitReg);
// var pLen = 0;
// for (var i = 0; i < p.length; i++) {
// // '' and other invalid str => NaN
// var val = parseFloat(p[i]);
// !isNaN(val) && (p[pLen++] = val);
// }
var p = cmdText.match(numberReg) || [];
var pLen = p.length;
for (var i = 0; i < pLen; i++) {
p[i] = parseFloat(p[i]);
}
var off = 0;
while (off < pLen) {
var ctlPtx;
var ctlPty;
var rx;
var ry;
var psi;
var fa;
var fs;
var x1 = cpx;
var y1 = cpy; // convert l, H, h, V, and v to L
switch (cmdStr) {
case 'l':
cpx += p[off++];
cpy += p[off++];
cmd = CMD.L;
path.addData(cmd, cpx, cpy);
break;
case 'L':
cpx = p[off++];
cpy = p[off++];
cmd = CMD.L;
path.addData(cmd, cpx, cpy);
break;
case 'm':
cpx += p[off++];
cpy += p[off++];
cmd = CMD.M;
path.addData(cmd, cpx, cpy);
subpathX = cpx;
subpathY = cpy;
cmdStr = 'l';
break;
case 'M':
cpx = p[off++];
cpy = p[off++];
cmd = CMD.M;
path.addData(cmd, cpx, cpy);
subpathX = cpx;
subpathY = cpy;
cmdStr = 'L';
break;
case 'h':
cpx += p[off++];
cmd = CMD.L;
path.addData(cmd, cpx, cpy);
break;
case 'H':
cpx = p[off++];
cmd = CMD.L;
path.addData(cmd, cpx, cpy);
break;
case 'v':
cpy += p[off++];
cmd = CMD.L;
path.addData(cmd, cpx, cpy);
break;
case 'V':
cpy = p[off++];
cmd = CMD.L;
path.addData(cmd, cpx, cpy);
break;
case 'C':
cmd = CMD.C;
path.addData(cmd, p[off++], p[off++], p[off++], p[off++], p[off++], p[off++]);
cpx = p[off - 2];
cpy = p[off - 1];
break;
case 'c':
cmd = CMD.C;
path.addData(cmd, p[off++] + cpx, p[off++] + cpy, p[off++] + cpx, p[off++] + cpy, p[off++] + cpx, p[off++] + cpy);
cpx += p[off - 2];
cpy += p[off - 1];
break;
case 'S':
ctlPtx = cpx;
ctlPty = cpy;
var len = path.len();
var pathData = path.data;
if (prevCmd === CMD.C) {
ctlPtx += cpx - pathData[len - 4];
ctlPty += cpy - pathData[len - 3];
}
cmd = CMD.C;
x1 = p[off++];
y1 = p[off++];
cpx = p[off++];
cpy = p[off++];
path.addData(cmd, ctlPtx, ctlPty, x1, y1, cpx, cpy);
break;
case 's':
ctlPtx = cpx;
ctlPty = cpy;
var len = path.len();
var pathData = path.data;
if (prevCmd === CMD.C) {
ctlPtx += cpx - pathData[len - 4];
ctlPty += cpy - pathData[len - 3];
}
cmd = CMD.C;
x1 = cpx + p[off++];
y1 = cpy + p[off++];
cpx += p[off++];
cpy += p[off++];
path.addData(cmd, ctlPtx, ctlPty, x1, y1, cpx, cpy);
break;
case 'Q':
x1 = p[off++];
y1 = p[off++];
cpx = p[off++];
cpy = p[off++];
cmd = CMD.Q;
path.addData(cmd, x1, y1, cpx, cpy);
break;
case 'q':
x1 = p[off++] + cpx;
y1 = p[off++] + cpy;
cpx += p[off++];
cpy += p[off++];
cmd = CMD.Q;
path.addData(cmd, x1, y1, cpx, cpy);
break;
case 'T':
ctlPtx = cpx;
ctlPty = cpy;
var len = path.len();
var pathData = path.data;
if (prevCmd === CMD.Q) {
ctlPtx += cpx - pathData[len - 4];
ctlPty += cpy - pathData[len - 3];
}
cpx = p[off++];
cpy = p[off++];
cmd = CMD.Q;
path.addData(cmd, ctlPtx, ctlPty, cpx, cpy);
break;
case 't':
ctlPtx = cpx;
ctlPty = cpy;
var len = path.len();
var pathData = path.data;
if (prevCmd === CMD.Q) {
ctlPtx += cpx - pathData[len - 4];
ctlPty += cpy - pathData[len - 3];
}
cpx += p[off++];
cpy += p[off++];
cmd = CMD.Q;
path.addData(cmd, ctlPtx, ctlPty, cpx, cpy);
break;
case 'A':
rx = p[off++];
ry = p[off++];
psi = p[off++];
fa = p[off++];
fs = p[off++];
x1 = cpx, y1 = cpy;
cpx = p[off++];
cpy = p[off++];
cmd = CMD.A;
processArc(x1, y1, cpx, cpy, fa, fs, rx, ry, psi, cmd, path);
break;
case 'a':
rx = p[off++];
ry = p[off++];
psi = p[off++];
fa = p[off++];
fs = p[off++];
x1 = cpx, y1 = cpy;
cpx += p[off++];
cpy += p[off++];
cmd = CMD.A;
processArc(x1, y1, cpx, cpy, fa, fs, rx, ry, psi, cmd, path);
break;
}
}
if (cmdStr === 'z' || cmdStr === 'Z') {
cmd = CMD.Z;
path.addData(cmd); // z may be in the middle of the path.
cpx = subpathX;
cpy = subpathY;
}
prevCmd = cmd;
}
path.toStatic();
return path;
} // TODO Optimize double memory cost problem
function createPathOptions(str, opts) {
var pathProxy = createPathProxyFromString(str);
opts = opts || {};
opts.buildPath = function (path) {
if (path.setData) {
path.setData(pathProxy.data); // Svg and vml renderer don't have context
var ctx = path.getContext();
if (ctx) {
path.rebuildPath(ctx);
}
} else {
var ctx = path;
pathProxy.rebuildPath(ctx);
}
};
opts.applyTransform = function (m) {
transformPath(pathProxy, m);
this.dirty(true);
};
return opts;
}
/**
* Create a Path object from path string data
* http://www.w3.org/TR/SVG/paths.html#PathData
* @param {Object} opts Other options
*/
function createFromString(str, opts) {
return new Path(createPathOptions(str, opts));
}
/**
* Create a Path class from path string data
* @param {string} str
* @param {Object} opts Other options
*/
function extendFromString(str, opts) {
return Path.extend(createPathOptions(str, opts));
}
/**
* Merge multiple paths
*/
// TODO Apply transform
// TODO stroke dash
// TODO Optimize double memory cost problem
function mergePath(pathEls, opts) {
var pathList = [];
var len = pathEls.length;
for (var i = 0; i < len; i++) {
var pathEl = pathEls[i];
if (!pathEl.path) {
pathEl.createPathProxy();
}
if (pathEl.__dirtyPath) {
pathEl.buildPath(pathEl.path, pathEl.shape, true);
}
pathList.push(pathEl.path);
}
var pathBundle = new Path(opts); // Need path proxy.
pathBundle.createPathProxy();
pathBundle.buildPath = function (path) {
path.appendPath(pathList); // Svg and vml renderer don't have context
var ctx = path.getContext();
if (ctx) {
path.rebuildPath(ctx);
}
};
return pathBundle;
}
exports.createFromString = createFromString;
exports.extendFromString = extendFromString;
exports.mergePath = mergePath;
/***/ }),
/***/ "NLgs":
/*!***********************************!*\
!*** ./src/utils/verifyLogin.tsx ***!
\***********************************/
/*! exports provided: handleVerify, handleVerifyLogin, handleProfleCompletedModal, handleProfessionalCertificationModal, handleCanShixunAddModal, AuthorizeModel, ShixunStatusModel */
/*! exports used: AuthorizeModel, ShixunStatusModel, handleCanShixunAddModal, handleProfessionalCertificationModal, handleVerify, handleVerifyLogin */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return handleVerify; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return handleVerifyLogin; });
/* unused harmony export handleProfleCompletedModal */
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return handleProfessionalCertificationModal; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return handleCanShixunAddModal; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return AuthorizeModel; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return ShixunStatusModel; });
/* harmony import */ var antd_es_message_style__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! antd/es/message/style */ "miYZ");
/* harmony import */ var antd_es_message__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! antd/es/message */ "tsqr");
/* harmony import */ var _Users_dingyongkang_Documents_workspace_zhiqing_educoder_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@umijs/babel-preset-umi/node_modules/@babel/runtime/helpers/esm/asyncToGenerator */ "9og8");
/* harmony import */ var antd_es_modal_style__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! antd/es/modal/style */ "2qtc");
/* harmony import */ var antd_es_modal__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! antd/es/modal */ "kLXV");
/* harmony import */ var _Users_dingyongkang_Documents_workspace_zhiqing_educoder_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./node_modules/@umijs/babel-preset-umi/node_modules/@babel/runtime/regenerator */ "WmNS");
/* harmony import */ var _Users_dingyongkang_Documents_workspace_zhiqing_educoder_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_Users_dingyongkang_Documents_workspace_zhiqing_educoder_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_5__);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react */ "cDcd");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_6__);
/* harmony import */ var umi__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! umi */ "9kvl");
/* harmony import */ var _authority__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./authority */ "xKgJ");
/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./util */ "1vsH");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @ant-design/icons */ "RCxd");
/* harmony import */ var _assets_images_403Qrcode_png__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/assets/images/403Qrcode.png */ "mOS8");
/* harmony import */ var _assets_images_403Qrcode_png__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_assets_images_403Qrcode_png__WEBPACK_IMPORTED_MODULE_11__);
/* harmony import */ var _assets_images_Authorize_png__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @/assets/images/Authorize.png */ "1ZF9");
/* harmony import */ var _assets_images_Authorize_png__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_assets_images_Authorize_png__WEBPACK_IMPORTED_MODULE_12__);
/* harmony import */ var _assets_images_studnetqun_png__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @/assets/images/studnetqun.png */ "WdTA");
/* harmony import */ var _assets_images_studnetqun_png__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(_assets_images_studnetqun_png__WEBPACK_IMPORTED_MODULE_13__);
/* harmony import */ var _env__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./env */ "m3rI");
var handleVerify = function handleVerify(dispatch) {
var isShixun = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
if (handleVerifyLogin(dispatch) && handleProfleCompletedModal(isShixun)) {
return true;
}
return false;
};
var handleVerifyLogin = function handleVerifyLogin(dispatch) {
if (!Object(_authority__WEBPACK_IMPORTED_MODULE_8__[/* isLogin */ "p"])()) {
dispatch({
type: 'user/showPopLogin',
payload: {
showPopLogin: true,
showClosable: true
}
});
return false;
}
return true;
};
var handleProfleCompletedModal = function handleProfleCompletedModal() {
var _user$userInfo;
var isShixun = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
var _getDvaApp$_store$get = Object(umi__WEBPACK_IMPORTED_MODULE_7__[/* getDvaApp */ "c"])()._store.getState(),
user = _getDvaApp$_store$get.user;
if (!((_user$userInfo = user.userInfo) !== null && _user$userInfo !== void 0 && _user$userInfo.profile_completed)) {
antd_es_modal__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"].confirm({
title: '提示',
width: 530,
centered: true,
content: isShixun ? '按照有关政策规定,特殊实验需要先绑定手机号才能使用,请先绑定手机号码' : '您需要去完善您的个人资料,才能使用此功能',
okText: "\u7ACB\u5373\u5B8C\u5584",
cancelText: "稍后完善",
onOk: function onOk() {
umi__WEBPACK_IMPORTED_MODULE_7__[/* history */ "d"].push('/account/profile/edit');
}
});
return false;
}
return true;
};
var handleProfessionalCertificationModal = function handleProfessionalCertificationModal() {
var _user$userInfo2;
var _getDvaApp$_store$get2 = Object(umi__WEBPACK_IMPORTED_MODULE_7__[/* getDvaApp */ "c"])()._store.getState(),
user = _getDvaApp$_store$get2.user;
if (!((_user$userInfo2 = user.userInfo) !== null && _user$userInfo2 !== void 0 && _user$userInfo2.professional_certification)) {
antd_es_modal__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"].confirm({
title: '提示',
centered: true,
content: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("div", {
className: "tc"
}, "\u60A8\u9700\u8981\u53BB\u5B8C\u6210\u60A8\u7684\u804C\u4E1A\u8BA4\u8BC1\uFF0C\u624D\u80FD\u4F7F\u7528\u6B64\u529F\u80FD"),
okText: "\u7ACB\u5373\u5B8C\u5584",
cancelText: "稍后完善",
onOk: function onOk() {
Object(_util__WEBPACK_IMPORTED_MODULE_9__[/* openNewWindow */ "Q"])('/account/certification');
}
});
return false;
}
return true;
};
var handleCanShixunAddModal = function handleCanShixunAddModal() {
if (Object(_authority__WEBPACK_IMPORTED_MODULE_8__[/* canShixunAdd */ "a"])()) {
return true;
}
antd_es_modal__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"].warning({
centered: true,
width: 530,
title: '提示',
content: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("div", {
className: "tc",
style: {
marginLeft: -38
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("p", null, "\u60A8\u53EF\u4EE5\u626B\u7801\u52A0\u7FA4@\u7FA4\u7BA1\u7406\u5458\uFF0C\u7533\u8BF7\u64CD\u4F5C\u6743\u9650\u54E6\uFF01"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("img", {
src: Object(_authority__WEBPACK_IMPORTED_MODULE_8__[/* isStudents */ "t"])() ? _assets_images_studnetqun_png__WEBPACK_IMPORTED_MODULE_13___default.a : "".concat(_env__WEBPACK_IMPORTED_MODULE_14__[/* default */ "a"].IMG_SERVER, "/images/educoder/qqqun20191230.png"),
width: 200
})),
okText: "\u6211\u77E5\u9053\u4E86",
maskClosable: true
});
return false;
};
var AuthorizeModel = function AuthorizeModel(type, text) {
if (type) {
return true;
}
antd_es_modal__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"].confirm({
centered: true,
zIndex: 10000,
width: 530,
title: '提示',
content: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("p", null, text || '该实践资源需授权后才可使用。 您可以在QQ服务群向管理员申请,获得继续操作的权限。'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("div", {
style: {
marginLeft: '110px'
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("img", {
src: _assets_images_Authorize_png__WEBPACK_IMPORTED_MODULE_12___default.a,
width: 200
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("div", {
style: {
marginLeft: '35px'
}
}, "\u7FA4\u53F7\uFF1A", '714336072'))),
okText: "\u7ACB\u5373\u8054\u7CFB",
cancelText: '取消',
onOk: function onOk() {
Object(_util__WEBPACK_IMPORTED_MODULE_9__[/* openNewWindow */ "Q"])("https://qm.qq.com/cgi-bin/qm/qr?k=tIyDPXUtE0yEk-MOJxhH55lTUJS-nYAM&jump_from=webapi");
}
});
return false;
};
var ShixunStatusModel = function ShixunStatusModel(dispatch) {
var text = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
var _getDvaApp$_store$get3 = Object(umi__WEBPACK_IMPORTED_MODULE_7__[/* getDvaApp */ "c"])()._store.getState(),
detail = _getDvaApp$_store$get3.shixunsDetail.detail;
if ((detail === null || detail === void 0 ? void 0 : detail.public) === 2 || (detail === null || detail === void 0 ? void 0 : detail.public) === 1 || (detail === null || detail === void 0 ? void 0 : detail.shixun_status) === 3) {
antd_es_modal__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"].info({
centered: true,
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_10__[/* default */ "a"], {
style: {
color: '#faad14'
}
}),
width: 460,
title: '提示',
content: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("div", {
className: "tc",
style: {
marginLeft: -38
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("div", {
style: {
display: 'flex',
flexDirection: 'column',
alignItems: 'flex-start',
paddingLeft: 38,
margin: '12px 0'
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("span", null, "\u8BE5\u5B9E\u8DF5\u9879\u76EE\u7684\u72B6\u6001\u4E3A", (detail === null || detail === void 0 ? void 0 : detail.public) === 2 ? '已公开' : (detail === null || detail === void 0 ? void 0 : detail.public) === 1 ? '待审核' : '已关闭', "\uFF0C", text, "\u3002"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("p", null, "\u5982\u6709\u9700\u8981\uFF0C\u8BF7\u8054\u7CFB\u5E73\u53F0\u7BA1\u7406\u5458\u8FDB\u884C\u6280\u672F\u652F\u6301\u3002")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("img", {
style: {
border: '4px solid #0152d9',
borderRadius: '4px'
},
src: _assets_images_403Qrcode_png__WEBPACK_IMPORTED_MODULE_11___default.a,
alt: "\u4E8C\u7EF4\u7801",
width: 160
})),
okText: '我知道了'
});
return true;
}
if ((detail === null || detail === void 0 ? void 0 : detail.shixun_status) === 2) {
antd_es_modal__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"].confirm({
centered: true,
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_10__[/* default */ "a"], null),
title: '提示',
content: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("span", null, "\u8BE5\u5B9E\u8DF5\u9879\u76EE\u5DF2\u53D1\u5E03\uFF0C", text, "\u3002"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("br", null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement("span", null, "\u5982\u6709\u9700\u8981\uFF0C\u60A8\u53EF\u4EE5\u64A4\u9500\u53D1\u5E03\u540E\uFF0C\u518D\u8FDB\u884C\u64CD\u4F5C\u3002")),
okText: "\u64A4\u9500\u53D1\u5E03",
cancelText: '取消',
onOk: function onOk() {
antd_es_modal__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"].confirm({
width: 440,
centered: true,
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_10__[/* default */ "a"], {
style: {
color: '#faad14'
}
}),
title: '提示',
content: '撤销发布后,学员将无法进行练习。是否确认撤销发布?',
okText: "\u786E\u5B9A\u64A4\u9500\u53D1\u5E03",
cancelText: '取消',
onOk: function () {
var _onOk = Object(_Users_dingyongkang_Documents_workspace_zhiqing_educoder_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"])( /*#__PURE__*/_Users_dingyongkang_Documents_workspace_zhiqing_educoder_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_5___default.a.mark(function _callee() {
var res;
return _Users_dingyongkang_Documents_workspace_zhiqing_educoder_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_5___default.a.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return dispatch({
type: 'shixunsDetail/cancelRelease',
payload: {
id: detail === null || detail === void 0 ? void 0 : detail.identifier
}
});
case 2:
res = _context.sent;
if (res.status !== 401) {
antd_es_message__WEBPACK_IMPORTED_MODULE_1__[/* default */ "b"].success('撤销发布成功。实训回到未发布的状态。');
dispatch({
type: 'shixunsDetail/getShixunsDetail',
payload: {
id: detail === null || detail === void 0 ? void 0 : detail.identifier
}
});
dispatch({
type: 'practiceSetting/getCommonData',
payload: {
id: detail === null || detail === void 0 ? void 0 : detail.identifier
}
});
}
case 4:
case "end":
return _context.stop();
}
}
}, _callee);
}));
function onOk() {
return _onOk.apply(this, arguments);
}
return onOk;
}()
});
}
});
return true;
}
return false;
};
/***/ }),
/***/ "Nddv":
/*!*********************************************************!*\
!*** ./src/pages/Paths/Detail/components/Banner/sz.svg ***!
\*********************************************************/
/*! no static exports found */
/*! exports used: default */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports, __webpack_require__) {
module.exports = __webpack_require__.p + "static/sz.d6b17ad9.svg";
/***/ }),
/***/ "Nmxd":
/*!*******************************************!*\
!*** ./src/assets/images/icons/done2.png ***!
\*******************************************/
/*! no static exports found */
/*! exports used: default */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports) {
module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAF4ElEQVRoQ91aW2wUVRj+/rPbSivURIgKjZcHjUYTgZ0lthgv3V0LSqB9IAQeNNEIaKKwZbcFnuQJoZ1piyYawJjIiwZDwiVBaHd28QItaWeLD4KJPgimiA+YCAZj6Z7fzPZiu7e57WriJE0f5v++//tm/j3nn3MOoQyXcmJ/LdfeCBOjEUA9EdUzUA9g0ST9VQJGmXkU5n/CAN2q043Vm295TU9uCRS9MwCiFWBqAmD++R1yjQNIgTgF5tNGuCPtEJ8Nd2xgWarzPil9UbBsA1G1m6R5GOYxkOgRItM71NRxzQmnIwMBvStKoCiAB50kcRB7mcG96XB7r12MLQNPJXrvzdD4QQZW2yX2EkfACR/7N56PRH+14rE0sDSpLRaM4wA/YEVW3vt0RRLWjIRi35biLWkgmOhaz0SflleYMzZi3jAcaf+sGKqoAUVX3wbwnrN0FYveYoTj7xdiL2ggqKsvMnCyYnJcEBPw0nA4/kUuNM9AINX9MMnMIEDzXeSpIISvs/A1pJu2/TgzSZ4BRVf7ALxQQSVeqPuNcLy5qIHJcb7HS4ZKYxncNnOemH4DyqmehaiW58D8UKVFeOIn+gljYrmxsu2XWa2Eomt7AN7uidwd+CKBPy8EZdA7hSlprxGO7Zg2EPxSW8q35WDZehv7Ri4KEuuGQtu+y4UoSe0DML9ZkIp5jKpEw/BzsZFsCSkpNQYJ1X7eskQWF6+rbwD4sGQWgbjRFNcmDCS0oyBuKYsseyRFxS/TteWSZT+IaktSMR0zIrFWajzcXTM2X95w0c/bk5ofVVT8k6e77vT7qY+A5TbIx6uvizoKJNUVxDhlA1COkKLis5Wgq2bZmOVj62LCSlIS2m4Q77SF8BZkJd667nPzM71LSqLrExC94k2bJbqk+Im65xQIzr7wmA9RUFcTDIQtJWQDaB3A5lT+ur34bFRJ8WbdV1VRAowGB5wTagCdFF29BOAxSzAjbkTiWrZWU+oCSJgTScwCV1K8m7rPyfe9acAcgeaVFsIHjXD7ptyYxw/vqq5ZMHcHGOZvaE7OfTvindf97CQ3bRkgorXDodiRUiYDuhYlZAeDe6zKxuTJ1j34awDC8u0XD7hht4RuwkctxvOxlFWyYFJ7jUDnC7UHU1iz7qurxBlmDlrxlb5Pl5z8iC8LIVuHmjoueEtqjvddBwDa6JWHCQlnwyjjAu7wtxjPRK+4Ta7Y6XPskpvDqJLUdoMdTWTJOX9kWs+2bL9pN89U3GTdn3WKKxpvTmRuWglmPpKOtK91IiQ73vvJFL/YCa5UbLaVaDzXXTP2p4tmjvGREYnbruOgrn7MwKvlEg9gvLpG1E2000ntKNh5O82EznQobvkVF9S732LIgus6rg0RHTNCsdYJA7oWB7jLJdlOIxzfUwwbTHY+zSy+ccldAkbtRjimThroCYAzA46bqUl6JmxOh+IH8mbq1K65NXLuIIAnymqAMQbyNRrhtvT0qkQgqe4lRof7RHKdEe6Y9XEe0NVDBLzsnrMwcmbp/rOs8lXPQtzODHhY+/9LEq0aCcV0M22wX21jge5yiwdwGVW+RuPZnGUVM9FkP+NlYesaIFcJ8s+TLM9UQDwY1JYOx6Y3QPLXRpNqPzEiHpJfBOAD8KgHjoJQs3VIh+Kzlj3zDCzp63zEJ8QgCHeXW4AnPsZvGSkbLjR3/DCT5/+3vD7lTkl0bQHRPk9PrVxg5q1GpL3gZkvpLaZU93qW8r/dYhJiw3DTNudbTFMPb1lf5xIpxHEQ7i/XA7XFw/hZSLlmqLn094flLqWZzNzcZikO/JvbrCTkJjub3rYMZJ8YgwJJbSuBK7zRTb3pUGwfCGznTdk3MMm2tG/vIvL7tpJE1G3vlCeMMcYCvTye2TfSvP2qHeFTMY4NTI9Sek8AJFewlCGi7IEPc/JycmWYOUVCJMHitNmYOQF7NjAzmTK8v5Z/N4/biEYI1BN46riNeeTGvEazx21Ao5DmcRs5QHfV6UbQ+3GbvwHH7EQQahyMxwAAAABJRU5ErkJggg=="
/***/ }),
/***/ "NohK":
/*!**************************************************!*\
!*** ./node_modules/size-sensor/lib/debounce.js ***!
\**************************************************/
/*! no static exports found */
/*! all exports used */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
/**
* Created by hustcc on 18/6/9.
* Contract: i@hust.cc
*/
var _default = function _default(fn) {
var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 60;
var timer = null;
return function () {
var _this = this;
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
clearTimeout(timer);
timer = setTimeout(function () {
fn.apply(_this, args);
}, delay);
};
};
exports["default"] = _default;
/***/ }),
/***/ "NvD2":
/*!******************************************************!*\
!*** ./node_modules/rc-tree/es/utils/conductUtil.js ***!
\******************************************************/
/*! exports provided: isCheckDisabled, conductCheck */
/*! exports used: conductCheck */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* unused harmony export isCheckDisabled */
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return conductCheck; });
/* harmony import */ var rc_util_es_warning__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! rc-util/es/warning */ "Kwbf");
function removeFromCheckedKeys(halfCheckedKeys, checkedKeys) {
var filteredKeys = new Set();
halfCheckedKeys.forEach(function (key) {
if (!checkedKeys.has(key)) {
filteredKeys.add(key);
}
});
return filteredKeys;
}
function isCheckDisabled(node) {
var _ref = node || {},
disabled = _ref.disabled,
disableCheckbox = _ref.disableCheckbox,
checkable = _ref.checkable;
return !!(disabled || disableCheckbox) || checkable === false;
} // Fill miss keys
function fillConductCheck(keys, levelEntities, maxLevel, syntheticGetCheckDisabled) {
var checkedKeys = new Set(keys);
var halfCheckedKeys = new Set(); // Add checked keys top to bottom
for (var level = 0; level <= maxLevel; level += 1) {
var entities = levelEntities.get(level) || new Set();
entities.forEach(function (entity) {
var key = entity.key,
node = entity.node,
_entity$children = entity.children,
children = _entity$children === void 0 ? [] : _entity$children;
if (checkedKeys.has(key) && !syntheticGetCheckDisabled(node)) {
children.filter(function (childEntity) {
return !syntheticGetCheckDisabled(childEntity.node);
}).forEach(function (childEntity) {
checkedKeys.add(childEntity.key);
});
}
});
} // Add checked keys from bottom to top
var visitedKeys = new Set();
for (var _level = maxLevel; _level >= 0; _level -= 1) {
var _entities = levelEntities.get(_level) || new Set();
_entities.forEach(function (entity) {
var parent = entity.parent,
node = entity.node; // Skip if no need to check
if (syntheticGetCheckDisabled(node) || !entity.parent || visitedKeys.has(entity.parent.key)) {
return;
} // Skip if parent is disabled
if (syntheticGetCheckDisabled(entity.parent.node)) {
visitedKeys.add(parent.key);
return;
}
var allChecked = true;
var partialChecked = false;
(parent.children || []).filter(function (childEntity) {
return !syntheticGetCheckDisabled(childEntity.node);
}).forEach(function (_ref2) {
var key = _ref2.key;
var checked = checkedKeys.has(key);
if (allChecked && !checked) {
allChecked = false;
}
if (!partialChecked && (checked || halfCheckedKeys.has(key))) {
partialChecked = true;
}
});
if (allChecked) {
checkedKeys.add(parent.key);
}
if (partialChecked) {
halfCheckedKeys.add(parent.key);
}
visitedKeys.add(parent.key);
});
}
return {
checkedKeys: Array.from(checkedKeys),
halfCheckedKeys: Array.from(removeFromCheckedKeys(halfCheckedKeys, checkedKeys))
};
} // Remove useless key
function cleanConductCheck(keys, halfKeys, levelEntities, maxLevel, syntheticGetCheckDisabled) {
var checkedKeys = new Set(keys);
var halfCheckedKeys = new Set(halfKeys); // Remove checked keys from top to bottom
for (var level = 0; level <= maxLevel; level += 1) {
var entities = levelEntities.get(level) || new Set();
entities.forEach(function (entity) {
var key = entity.key,
node = entity.node,
_entity$children2 = entity.children,
children = _entity$children2 === void 0 ? [] : _entity$children2;
if (!checkedKeys.has(key) && !halfCheckedKeys.has(key) && !syntheticGetCheckDisabled(node)) {
children.filter(function (childEntity) {
return !syntheticGetCheckDisabled(childEntity.node);
}).forEach(function (childEntity) {
checkedKeys.delete(childEntity.key);
});
}
});
} // Remove checked keys form bottom to top
halfCheckedKeys = new Set();
var visitedKeys = new Set();
for (var _level2 = maxLevel; _level2 >= 0; _level2 -= 1) {
var _entities2 = levelEntities.get(_level2) || new Set();
_entities2.forEach(function (entity) {
var parent = entity.parent,
node = entity.node; // Skip if no need to check
if (syntheticGetCheckDisabled(node) || !entity.parent || visitedKeys.has(entity.parent.key)) {
return;
} // Skip if parent is disabled
if (syntheticGetCheckDisabled(entity.parent.node)) {
visitedKeys.add(parent.key);
return;
}
var allChecked = true;
var partialChecked = false;
(parent.children || []).filter(function (childEntity) {
return !syntheticGetCheckDisabled(childEntity.node);
}).forEach(function (_ref3) {
var key = _ref3.key;
var checked = checkedKeys.has(key);
if (allChecked && !checked) {
allChecked = false;
}
if (!partialChecked && (checked || halfCheckedKeys.has(key))) {
partialChecked = true;
}
});
if (!allChecked) {
checkedKeys.delete(parent.key);
}
if (partialChecked) {
halfCheckedKeys.add(parent.key);
}
visitedKeys.add(parent.key);
});
}
return {
checkedKeys: Array.from(checkedKeys),
halfCheckedKeys: Array.from(removeFromCheckedKeys(halfCheckedKeys, checkedKeys))
};
}
/**
* Conduct with keys.
* @param keyList current key list
* @param keyEntities key - dataEntity map
* @param mode `fill` to fill missing key, `clean` to remove useless key
*/
function conductCheck(keyList, checked, keyEntities, getCheckDisabled) {
var warningMissKeys = [];
var syntheticGetCheckDisabled;
if (getCheckDisabled) {
syntheticGetCheckDisabled = getCheckDisabled;
} else {
syntheticGetCheckDisabled = isCheckDisabled;
} // We only handle exist keys
var keys = new Set(keyList.filter(function (key) {
var hasEntity = !!keyEntities[key];
if (!hasEntity) {
warningMissKeys.push(key);
}
return hasEntity;
}));
var levelEntities = new Map();
var maxLevel = 0; // Convert entities by level for calculation
Object.keys(keyEntities).forEach(function (key) {
var entity = keyEntities[key];
var level = entity.level;
var levelSet = levelEntities.get(level);
if (!levelSet) {
levelSet = new Set();
levelEntities.set(level, levelSet);
}
levelSet.add(entity);
maxLevel = Math.max(maxLevel, level);
});
Object(rc_util_es_warning__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(!warningMissKeys.length, "Tree missing follow keys: ".concat(warningMissKeys.slice(0, 100).map(function (key) {
return "'".concat(key, "'");
}).join(', ')));
var result;
if (checked === true) {
result = fillConductCheck(keys, levelEntities, maxLevel, syntheticGetCheckDisabled);
} else {
result = cleanConductCheck(keys, checked.halfCheckedKeys, levelEntities, maxLevel, syntheticGetCheckDisabled);
}
return result;
}
/***/ }),
/***/ "OC45":
/*!**************************************************************************!*\
!*** ./src/pages/Paths/Detail/components/ApplyPublic/index.less?modules ***!
\**************************************************************************/
/*! no static exports found */
/*! exports used: default */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports, __webpack_require__) {
// extracted by mini-css-extract-plugin
module.exports = {"applyPublicContainer":"applyPublicContainer___3sK8L","applyPublicContent":"applyPublicContent___3Hye1","spin":"spin___3-Uh7","tips":"tips___3d-sF","action":"action___3Uny2"};
/***/ }),
/***/ "OLES":
/*!*********************************************************!*\
!*** ./node_modules/rc-tooltip/es/index.js + 2 modules ***!
\*********************************************************/
/*! exports provided: default */
/*! exports used: default */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/@babel/runtime/helpers/esm/objectSpread2.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/@babel/runtime/helpers/esm/typeof.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/rc-tooltip/es/placements.js because of ./node_modules/antd/es/tooltip/placements.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/rc-trigger/es/index.js */
/*! ModuleConcatenation bailout: Cannot concat with external "window.React" (<- Module is not an ECMAScript module) */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/typeof.js
var esm_typeof = __webpack_require__("U8pU");
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectSpread2.js
var objectSpread2 = __webpack_require__("VTBJ");
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js
var objectWithoutProperties = __webpack_require__("Ff2n");
// EXTERNAL MODULE: external "window.React"
var external_window_React_ = __webpack_require__("cDcd");
// EXTERNAL MODULE: ./node_modules/rc-trigger/es/index.js + 5 modules
var es = __webpack_require__("uciX");
// EXTERNAL MODULE: ./node_modules/rc-tooltip/es/placements.js
var placements = __webpack_require__("7ixt");
// CONCATENATED MODULE: ./node_modules/rc-tooltip/es/Content.js
var Content_Content = function Content(props) {
var overlay = props.overlay,
prefixCls = props.prefixCls,
id = props.id,
overlayInnerStyle = props.overlayInnerStyle;
return external_window_React_["createElement"]("div", {
className: "".concat(prefixCls, "-inner"),
id: id,
role: "tooltip",
style: overlayInnerStyle
}, typeof overlay === 'function' ? overlay() : overlay);
};
/* harmony default export */ var es_Content = (Content_Content);
// CONCATENATED MODULE: ./node_modules/rc-tooltip/es/Tooltip.js
var Tooltip_Tooltip = function Tooltip(props, ref) {
var overlayClassName = props.overlayClassName,
_props$trigger = props.trigger,
trigger = _props$trigger === void 0 ? ['hover'] : _props$trigger,
_props$mouseEnterDela = props.mouseEnterDelay,
mouseEnterDelay = _props$mouseEnterDela === void 0 ? 0 : _props$mouseEnterDela,
_props$mouseLeaveDela = props.mouseLeaveDelay,
mouseLeaveDelay = _props$mouseLeaveDela === void 0 ? 0.1 : _props$mouseLeaveDela,
overlayStyle = props.overlayStyle,
_props$prefixCls = props.prefixCls,
prefixCls = _props$prefixCls === void 0 ? 'rc-tooltip' : _props$prefixCls,
children = props.children,
onVisibleChange = props.onVisibleChange,
afterVisibleChange = props.afterVisibleChange,
transitionName = props.transitionName,
animation = props.animation,
_props$placement = props.placement,
placement = _props$placement === void 0 ? 'right' : _props$placement,
_props$align = props.align,
align = _props$align === void 0 ? {} : _props$align,
_props$destroyTooltip = props.destroyTooltipOnHide,
destroyTooltipOnHide = _props$destroyTooltip === void 0 ? false : _props$destroyTooltip,
defaultVisible = props.defaultVisible,
getTooltipContainer = props.getTooltipContainer,
overlayInnerStyle = props.overlayInnerStyle,
restProps = Object(objectWithoutProperties["a" /* default */])(props, ["overlayClassName", "trigger", "mouseEnterDelay", "mouseLeaveDelay", "overlayStyle", "prefixCls", "children", "onVisibleChange", "afterVisibleChange", "transitionName", "animation", "placement", "align", "destroyTooltipOnHide", "defaultVisible", "getTooltipContainer", "overlayInnerStyle"]);
var domRef = Object(external_window_React_["useRef"])(null);
Object(external_window_React_["useImperativeHandle"])(ref, function () {
return domRef.current;
});
var extraProps = Object(objectSpread2["a" /* default */])({}, restProps);
if ('visible' in props) {
extraProps.popupVisible = props.visible;
}
var getPopupElement = function getPopupElement() {
var _props$arrowContent = props.arrowContent,
arrowContent = _props$arrowContent === void 0 ? null : _props$arrowContent,
overlay = props.overlay,
id = props.id;
return [external_window_React_["createElement"]("div", {
className: "".concat(prefixCls, "-arrow"),
key: "arrow"
}, arrowContent), external_window_React_["createElement"](es_Content, {
key: "content",
prefixCls: prefixCls,
id: id,
overlay: overlay,
overlayInnerStyle: overlayInnerStyle
})];
};
var destroyTooltip = false;
var autoDestroy = false;
if (typeof destroyTooltipOnHide === 'boolean') {
destroyTooltip = destroyTooltipOnHide;
} else if (destroyTooltipOnHide && Object(esm_typeof["a" /* default */])(destroyTooltipOnHide) === 'object') {
var keepParent = destroyTooltipOnHide.keepParent;
destroyTooltip = keepParent === true;
autoDestroy = keepParent === false;
}
return external_window_React_["createElement"](es["a" /* default */], Object.assign({
popupClassName: overlayClassName,
prefixCls: prefixCls,
popup: getPopupElement,
action: trigger,
builtinPlacements: placements["a" /* placements */],
popupPlacement: placement,
ref: domRef,
popupAlign: align,
getPopupContainer: getTooltipContainer,
onPopupVisibleChange: onVisibleChange,
afterPopupVisibleChange: afterVisibleChange,
popupTransitionName: transitionName,
popupAnimation: animation,
defaultPopupVisible: defaultVisible,
destroyPopupOnHide: destroyTooltip,
autoDestroy: autoDestroy,
mouseLeaveDelay: mouseLeaveDelay,
popupStyle: overlayStyle,
mouseEnterDelay: mouseEnterDelay
}, extraProps), children);
};
/* harmony default export */ var es_Tooltip = (Object(external_window_React_["forwardRef"])(Tooltip_Tooltip));
// CONCATENATED MODULE: ./node_modules/rc-tooltip/es/index.js
/* harmony default export */ var rc_tooltip_es = __webpack_exports__["a"] = (es_Tooltip);
/***/ }),
/***/ "OS9S":
/*!********************************************************************!*\
!*** ./node_modules/zrender/lib/graphic/IncrementalDisplayable.js ***!
\********************************************************************/
/*! no static exports found */
/*! all exports used */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports, __webpack_require__) {
var _util = __webpack_require__(/*! ../core/util */ "bYtY");
var inherits = _util.inherits;
var Displayble = __webpack_require__(/*! ./Displayable */ "Gev7");
var BoundingRect = __webpack_require__(/*! ../core/BoundingRect */ "mFDi");
/**
* Displayable for incremental rendering. It will be rendered in a separate layer
* IncrementalDisplay have two main methods. `clearDisplayables` and `addDisplayables`
* addDisplayables will render the added displayables incremetally.
*
* It use a not clearFlag to tell the painter don't clear the layer if it's the first element.
*/
// TODO Style override ?
function IncrementalDisplayble(opts) {
Displayble.call(this, opts);
this._displayables = [];
this._temporaryDisplayables = [];
this._cursor = 0;
this.notClear = true;
}
IncrementalDisplayble.prototype.incremental = true;
IncrementalDisplayble.prototype.clearDisplaybles = function () {
this._displayables = [];
this._temporaryDisplayables = [];
this._cursor = 0;
this.dirty();
this.notClear = false;
};
IncrementalDisplayble.prototype.addDisplayable = function (displayable, notPersistent) {
if (notPersistent) {
this._temporaryDisplayables.push(displayable);
} else {
this._displayables.push(displayable);
}
this.dirty();
};
IncrementalDisplayble.prototype.addDisplayables = function (displayables, notPersistent) {
notPersistent = notPersistent || false;
for (var i = 0; i < displayables.length; i++) {
this.addDisplayable(displayables[i], notPersistent);
}
};
IncrementalDisplayble.prototype.eachPendingDisplayable = function (cb) {
for (var i = this._cursor; i < this._displayables.length; i++) {
cb && cb(this._displayables[i]);
}
for (var i = 0; i < this._temporaryDisplayables.length; i++) {
cb && cb(this._temporaryDisplayables[i]);
}
};
IncrementalDisplayble.prototype.update = function () {
this.updateTransform();
for (var i = this._cursor; i < this._displayables.length; i++) {
var displayable = this._displayables[i]; // PENDING
displayable.parent = this;
displayable.update();
displayable.parent = null;
}
for (var i = 0; i < this._temporaryDisplayables.length; i++) {
var displayable = this._temporaryDisplayables[i]; // PENDING
displayable.parent = this;
displayable.update();
displayable.parent = null;
}
};
IncrementalDisplayble.prototype.brush = function (ctx, prevEl) {
// Render persistant displayables.
for (var i = this._cursor; i < this._displayables.length; i++) {
var displayable = this._displayables[i];
displayable.beforeBrush && displayable.beforeBrush(ctx);
displayable.brush(ctx, i === this._cursor ? null : this._displayables[i - 1]);
displayable.afterBrush && displayable.afterBrush(ctx);
}
this._cursor = i; // Render temporary displayables.
for (var i = 0; i < this._temporaryDisplayables.length; i++) {
var displayable = this._temporaryDisplayables[i];
displayable.beforeBrush && displayable.beforeBrush(ctx);
displayable.brush(ctx, i === 0 ? null : this._temporaryDisplayables[i - 1]);
displayable.afterBrush && displayable.afterBrush(ctx);
}
this._temporaryDisplayables = [];
this.notClear = true;
};
var m = [];
IncrementalDisplayble.prototype.getBoundingRect = function () {
if (!this._rect) {
var rect = new BoundingRect(Infinity, Infinity, -Infinity, -Infinity);
for (var i = 0; i < this._displayables.length; i++) {
var displayable = this._displayables[i];
var childRect = displayable.getBoundingRect().clone();
if (displayable.needLocalTransform()) {
childRect.applyTransform(displayable.getLocalTransform(m));
}
rect.union(childRect);
}
this._rect = rect;
}
return this._rect;
};
IncrementalDisplayble.prototype.contain = function (x, y) {
var localPos = this.transformCoordToLocal(x, y);
var rect = this.getBoundingRect();
if (rect.contain(localPos[0], localPos[1])) {
for (var i = 0; i < this._displayables.length; i++) {
var displayable = this._displayables[i];
if (displayable.contain(x, y)) {
return true;
}
}
}
return false;
};
inherits(IncrementalDisplayble, Displayble);
var _default = IncrementalDisplayble;
module.exports = _default;
/***/ }),
/***/ "OZM5":
/*!*****************************************!*\
!*** ./node_modules/rc-tree/es/util.js ***!
\*****************************************/
/*! exports provided: arrDel, arrAdd, posToArr, getPosition, isTreeNode, getDragNodesKeys, calcDropPosition, calcSelectedKeys, convertDataToTree, parseCheckedKeys, conductExpandParent, getDataAndAria */
/*! exports used: arrAdd, arrDel, calcDropPosition, calcSelectedKeys, conductExpandParent, getDataAndAria, getDragNodesKeys, getPosition, isTreeNode, parseCheckedKeys, posToArr */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return arrDel; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return arrAdd; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "k", function() { return posToArr; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "h", function() { return getPosition; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "i", function() { return isTreeNode; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return getDragNodesKeys; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return calcDropPosition; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return calcSelectedKeys; });
/* unused harmony export convertDataToTree */
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "j", function() { return parseCheckedKeys; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return conductExpandParent; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return getDataAndAria; });
/* harmony import */ var _babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/toConsumableArray */ "KQm4");
/* harmony import */ var _babel_runtime_helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/typeof */ "U8pU");
/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutProperties */ "Ff2n");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ "cDcd");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var rc_util_es_warning__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! rc-util/es/warning */ "Kwbf");
/* harmony import */ var _TreeNode__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./TreeNode */ "WaYH");
/**
* Legacy code. Should avoid to use if you are new to import these code.
*/
var DRAG_SIDE_RANGE = 0.25;
var DRAG_MIN_GAP = 2;
function arrDel(list, value) {
var clone = list.slice();
var index = clone.indexOf(value);
if (index >= 0) {
clone.splice(index, 1);
}
return clone;
}
function arrAdd(list, value) {
var clone = list.slice();
if (clone.indexOf(value) === -1) {
clone.push(value);
}
return clone;
}
function posToArr(pos) {
return pos.split('-');
}
function getPosition(level, index) {
return "".concat(level, "-").concat(index);
}
function isTreeNode(node) {
return node && node.type && node.type.isTreeNode;
}
function getDragNodesKeys(dragNodeKey, keyEntities) {
var dragNodesKeys = [dragNodeKey];
var entity = keyEntities[dragNodeKey];
function dig() {
var list = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
list.forEach(function (_ref) {
var key = _ref.key,
children = _ref.children;
dragNodesKeys.push(key);
dig(children);
});
}
dig(entity.children);
return dragNodesKeys;
} // Only used when drag, not affect SSR.
function calcDropPosition(event, treeNode) {
var clientY = event.clientY;
var _treeNode$selectHandl = treeNode.selectHandle.getBoundingClientRect(),
top = _treeNode$selectHandl.top,
bottom = _treeNode$selectHandl.bottom,
height = _treeNode$selectHandl.height;
var des = Math.max(height * DRAG_SIDE_RANGE, DRAG_MIN_GAP);
if (clientY <= top + des) {
return -1;
}
if (clientY >= bottom - des) {
return 1;
}
return 0;
}
/**
* Return selectedKeys according with multiple prop
* @param selectedKeys
* @param props
* @returns [string]
*/
function calcSelectedKeys(selectedKeys, props) {
if (!selectedKeys) return undefined;
var multiple = props.multiple;
if (multiple) {
return selectedKeys.slice();
}
if (selectedKeys.length) {
return [selectedKeys[0]];
}
return selectedKeys;
}
var internalProcessProps = function internalProcessProps(props) {
return props;
};
function convertDataToTree(treeData, processor) {
if (!treeData) return [];
var _ref2 = processor || {},
_ref2$processProps = _ref2.processProps,
processProps = _ref2$processProps === void 0 ? internalProcessProps : _ref2$processProps;
var list = Array.isArray(treeData) ? treeData : [treeData];
return list.map(function (_ref3) {
var children = _ref3.children,
props = Object(_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"])(_ref3, ["children"]);
var childrenNodes = convertDataToTree(children, processor);
return react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(_TreeNode__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"], Object.assign({}, processProps(props)), childrenNodes);
});
}
/**
* Parse `checkedKeys` to { checkedKeys, halfCheckedKeys } style
*/
function parseCheckedKeys(keys) {
if (!keys) {
return null;
} // Convert keys to object format
var keyProps;
if (Array.isArray(keys)) {
// [Legacy] Follow the api doc
keyProps = {
checkedKeys: keys,
halfCheckedKeys: undefined
};
} else if (Object(_babel_runtime_helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(keys) === 'object') {
keyProps = {
checkedKeys: keys.checked || undefined,
halfCheckedKeys: keys.halfChecked || undefined
};
} else {
Object(rc_util_es_warning__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"])(false, '`checkedKeys` is not an array or an object');
return null;
}
return keyProps;
}
/**
* If user use `autoExpandParent` we should get the list of parent node
* @param keyList
* @param keyEntities
*/
function conductExpandParent(keyList, keyEntities) {
var expandedKeys = new Set();
function conductUp(key) {
if (expandedKeys.has(key)) return;
var entity = keyEntities[key];
if (!entity) return;
expandedKeys.add(key);
var parent = entity.parent,
node = entity.node;
if (node.disabled) return;
if (parent) {
conductUp(parent.key);
}
}
(keyList || []).forEach(function (key) {
conductUp(key);
});
return Object(_babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(expandedKeys);
}
/**
* Returns only the data- and aria- key/value pairs
*/
function getDataAndAria(props) {
var omitProps = {};
Object.keys(props).forEach(function (key) {
if (key.startsWith('data-') || key.startsWith('aria-')) {
omitProps[key] = props[key];
}
});
return omitProps;
}
/***/ }),
/***/ "Ohmc":
/*!*******************************************!*\
!*** ./src/assets/images/certificate.jpg ***!
\*******************************************/
/*! no static exports found */
/*! exports used: default */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports, __webpack_require__) {
module.exports = __webpack_require__.p + "static/certificate.fc32dc1b.jpg";
/***/ }),
/***/ "OljG":
/*!*************************************************************!*\
!*** ./src/pages/Paths/Detail/components/Banner/banner.png ***!
\*************************************************************/
/*! no static exports found */
/*! exports used: default */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports, __webpack_require__) {
module.exports = __webpack_require__.p + "static/banner.4c45dd73.png";
/***/ }),
/***/ "Ot1p":
/*!**************************************************************!*\
!*** ./src/components/markdown-editor/index.tsx + 6 modules ***!
\**************************************************************/
/*! exports provided: default */
/*! exports used: default */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/@umijs/babel-preset-umi/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/@umijs/babel-preset-umi/node_modules/@babel/runtime/helpers/esm/defineProperty.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/@umijs/babel-preset-umi/node_modules/@babel/runtime/helpers/esm/extends.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/@umijs/babel-preset-umi/node_modules/@babel/runtime/helpers/esm/slicedToArray.js */
/*! ModuleConcatenation bailout: Cannot concat with ./src/components/RenderHtml/index.tsx */
/*! ModuleConcatenation bailout: Cannot concat with ./src/components/markdown-editor/code-block/index.tsx */
/*! ModuleConcatenation bailout: Cannot concat with ./src/components/modal.tsx */
/*! ModuleConcatenation bailout: Cannot concat with ./src/components/useInterval.tsx */
/*! ModuleConcatenation bailout: Cannot concat with ./src/pages/tasks/util.js because of ./src/pages/tasks/index.jsx */
/*! ModuleConcatenation bailout: Cannot concat with ./src/utils/env.ts */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/button/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/button/style/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/form/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/form/style/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/input-number/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/input-number/style/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/input/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/input/style/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/message/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/message/style/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/modal/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/modal/style/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/radio/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/antd/es/radio/style/index.js */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/codemirror/lib/codemirror.js (<- Module is not an ECMAScript module) */
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js (<- Module uses injected variables (global)) */
/*! ModuleConcatenation bailout: Cannot concat with external "window.React" (<- Module is not an ECMAScript module) */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
// EXTERNAL MODULE: ./node_modules/antd/es/modal/style/index.js
var modal_style = __webpack_require__("2qtc");
// EXTERNAL MODULE: ./node_modules/antd/es/modal/index.js + 7 modules
var modal = __webpack_require__("kLXV");
// EXTERNAL MODULE: ./node_modules/@umijs/babel-preset-umi/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js
var createForOfIteratorHelper = __webpack_require__("rAM+");
// EXTERNAL MODULE: ./node_modules/antd/es/message/style/index.js
var message_style = __webpack_require__("miYZ");
// EXTERNAL MODULE: ./node_modules/antd/es/message/index.js + 1 modules
var message = __webpack_require__("tsqr");
// EXTERNAL MODULE: ./node_modules/@umijs/babel-preset-umi/node_modules/@babel/runtime/helpers/esm/slicedToArray.js + 1 modules
var slicedToArray = __webpack_require__("tJVT");
// EXTERNAL MODULE: ./node_modules/@umijs/babel-preset-umi/node_modules/@babel/runtime/helpers/esm/defineProperty.js
var defineProperty = __webpack_require__("jrin");
// EXTERNAL MODULE: external "window.React"
var external_window_React_ = __webpack_require__("cDcd");
var external_window_React_default = /*#__PURE__*/__webpack_require__.n(external_window_React_);
// EXTERNAL MODULE: ./node_modules/codemirror/lib/codemirror.js
var codemirror = __webpack_require__("VrN/");
var codemirror_default = /*#__PURE__*/__webpack_require__.n(codemirror);
// EXTERNAL MODULE: ./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js
var ResizeObserver_es = __webpack_require__("bdgK");
// EXTERNAL MODULE: ./node_modules/codemirror/lib/codemirror.css
var lib_codemirror = __webpack_require__("p77/");
// EXTERNAL MODULE: ./node_modules/codemirror/addon/edit/closetag.js
var closetag = __webpack_require__("Bd2K");
// EXTERNAL MODULE: ./node_modules/codemirror/addon/edit/closebrackets.js
var closebrackets = __webpack_require__("ELLl");
// EXTERNAL MODULE: ./node_modules/codemirror/addon/display/placeholder.js
var display_placeholder = __webpack_require__("19Vz");
// EXTERNAL MODULE: ./node_modules/codemirror/mode/markdown/markdown.js
var markdown = __webpack_require__("lZu9");
// EXTERNAL MODULE: ./node_modules/codemirror/mode/stex/stex.js
var stex = __webpack_require__("+NIl");
// EXTERNAL MODULE: ./src/components/markdown-editor/index.less
var markdown_editor = __webpack_require__("kSUc");
// EXTERNAL MODULE: ./src/components/RenderHtml/index.tsx + 1 modules
var RenderHtml = __webpack_require__("9Bee");
// 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 = Object(external_window_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__*/external_window_React_default.a.createElement(external_window_React_default.a.Fragment, null, /*#__PURE__*/external_window_React_default.a.createElement("div", {
dangerouslySetInnerHTML: {
__html: html
}
}));
});
// EXTERNAL MODULE: ./node_modules/@umijs/babel-preset-umi/node_modules/@babel/runtime/helpers/esm/extends.js
var esm_extends = __webpack_require__("0Owb");
// EXTERNAL MODULE: ./src/components/markdown-editor/toolbar/index.less
var toolbar = __webpack_require__("dejd");
// EXTERNAL MODULE: ./src/components/markdown-editor/css/iconfont.css
var iconfont = __webpack_require__("C+DQ");
// CONCATENATED MODULE: ./src/components/markdown-editor/toolbar/index.tsx
var DEFAULTICONS = [{
title: '粗体',
icon: 'icon-bold',
actionName: 'bold'
}, {
title: '斜体',
icon: 'icon-italic',
actionName: 'italic'
}, '|', {
title: '无序列表',
icon: 'icon-unorder-list',
actionName: 'list-ul'
}, {
title: '有序列表',
icon: 'icon-order-list',
actionName: 'list-ol'
}, '|', {
title: '行内代码',
icon: 'icon-code',
actionName: 'code'
}, {
title: '代码块(多语言风格)',
icon: 'icon-file-code',
actionName: 'code-block'
}, {
title: '链接',
icon: 'icon-link',
actionName: 'link'
}, '|', {
title: '行内公式',
icon: 'icon-sum',
actionName: 'inline-latex'
}, {
title: '多行公式',
icon: 'icon-formula',
actionName: 'latex'
}, '|', {
title: '添加图片',
icon: 'icon-picture',
actionName: 'upload-image'
}, {
title: '表格',
icon: 'icon-table',
actionName: 'add-table'
}, '|', {
title: '换行',
icon: 'icon-minus',
actionName: 'line-break'
}, {
title: '清空',
icon: '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__*/external_window_React_default.a.createElement("a", {
title: title,
className: className,
onClick: onAction
}, /*#__PURE__*/external_window_React_default.a.createElement("i", {
className: "md-iconfont ".concat(icon)
}), children);
}
/* harmony default export */ var markdown_editor_toolbar = (function (_ref2) {
var watch = _ref2.watch,
showNullButton = _ref2.showNullButton,
onActionCallback = _ref2.onActionCallback,
fullScreen = _ref2.fullScreen,
insertTemp = _ref2.insertTemp,
hidetoolBar = _ref2.hidetoolBar;
var icons = [].concat(DEFAULTICONS, [{
title: "".concat(watch ? '关闭实时预览' : '开启实时预览'),
icon: "".concat(watch ? 'icon-eye-slash' : 'icon-eye'),
actionName: 'trigger-watch'
}]);
return /*#__PURE__*/external_window_React_default.a.createElement("ul", {
className: "markdown-toolbar-container"
}, !hidetoolBar && icons.map(function (item, index) {
return /*#__PURE__*/external_window_React_default.a.createElement("li", {
key: index
}, item.actionName ? /*#__PURE__*/external_window_React_default.a.createElement(AButton, Object(esm_extends["a" /* default */])({}, item, {
onActionCallback: onActionCallback
})) : /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: "v-line"
}));
}), showNullButton ? /*#__PURE__*/external_window_React_default.a.createElement("li", null, /*#__PURE__*/external_window_React_default.a.createElement(AButton, {
icon: "icon-edit",
className: "btn-null",
title: "\u589E\u52A0\u586B\u7A7A",
actionName: "add-null-ch",
onActionCallback: onActionCallback
}, /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: "fill-tip"
}, "\u70B9\u51FB\u63D2\u5165\b\u586B\u7A7A\u9879"))) : null, insertTemp && /*#__PURE__*/external_window_React_default.a.createElement("li", null, /*#__PURE__*/external_window_React_default.a.createElement(AButton, {
icon: "icon-edit",
className: "btn-null",
title: "\u63D2\u5165\u6A21\u677F",
actionName: "inster-template-".concat(insertTemp),
onActionCallback: onActionCallback
}, /*#__PURE__*/external_window_React_default.a.createElement("span", {
className: "fill-tip"
}, "\u63D2\u5165\u6A21\u677F"))), /*#__PURE__*/external_window_React_default.a.createElement("li", {
className: "btn-full-screen"
}, /*#__PURE__*/external_window_React_default.a.createElement(AButton, {
icon: "".concat(fullScreen ? 'icon-shrink' : 'icon-enlarge'),
title: fullScreen ? '关闭全屏' : '开启全屏',
actionName: "trigger-full-screen",
onActionCallback: onActionCallback
})));
});
// EXTERNAL MODULE: ./src/components/modal.tsx
var components_modal = __webpack_require__("M8RZ");
// EXTERNAL MODULE: ./node_modules/antd/es/button/style/index.js
var button_style = __webpack_require__("+L6B");
// EXTERNAL MODULE: ./node_modules/antd/es/button/index.js
var es_button = __webpack_require__("2/Rp");
// EXTERNAL MODULE: ./node_modules/antd/es/form/style/index.js
var form_style = __webpack_require__("y8nQ");
// EXTERNAL MODULE: ./node_modules/antd/es/form/index.js + 11 modules
var es_form = __webpack_require__("Vl3Y");
// EXTERNAL MODULE: ./node_modules/antd/es/input/style/index.js
var input_style = __webpack_require__("5NDa");
// EXTERNAL MODULE: ./node_modules/antd/es/input/index.js + 3 modules
var input = __webpack_require__("5rEg");
// 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__*/external_window_React_default.a.createElement(es_form["a" /* default */], Object(esm_extends["a" /* default */])({}, formItemLayout, {
initialValues: {
link: 'http://',
title: ''
},
className: "link-panel",
onFinish: onSubmit
}), /*#__PURE__*/external_window_React_default.a.createElement(es_form["a" /* default */].Item, {
label: "\u94FE\u63A5\u5730\u5740",
name: "link",
rules: [{
required: true,
message: '请输入链接地址'
}]
}, /*#__PURE__*/external_window_React_default.a.createElement(input["a" /* default */], null)), /*#__PURE__*/external_window_React_default.a.createElement(es_form["a" /* default */].Item, {
label: "\u94FE\u63A5\u6807\u9898",
name: "title",
rules: [{
required: true,
message: '请输入链接标题'
}]
}, /*#__PURE__*/external_window_React_default.a.createElement(input["a" /* default */], null)), /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "flex-container flex-end"
}, /*#__PURE__*/external_window_React_default.a.createElement(es_button["a" /* default */], {
type: "primary",
htmlType: "submit",
style: {
marginRight: 10
}
}, "\u786E\u5B9A"), /*#__PURE__*/external_window_React_default.a.createElement(es_button["a" /* default */], {
type: "ghost",
onClick: onCancel
}, "\u53D6\u6D88")));
});
// EXTERNAL MODULE: ./src/components/markdown-editor/code-block/index.tsx
var code_block = __webpack_require__("7ahc");
// EXTERNAL MODULE: ./src/components/markdown-editor/upload-image/index.less
var upload_image = __webpack_require__("HmJG");
// EXTERNAL MODULE: ./src/pages/tasks/util.js
var util = __webpack_require__("BjJ7");
// CONCATENATED MODULE: ./src/components/markdown-editor/upload-image/index.tsx
var useForm = es_form["a" /* default */].useForm;
var upload_image_style = {
width: 280,
marginRight: 10
};
var upload_image_formItemLayout = {
labelCol: {
span: 5
},
wrapperCol: {
span: 19
}
};
/* harmony default export */ var markdown_editor_upload_image = (function (_ref) {
var callback = _ref.callback,
onCancel = _ref.onCancel;
var _useForm = useForm(),
_useForm2 = Object(slicedToArray["a" /* default */])(_useForm, 1),
form = _useForm2[0];
function onSubmit(values) {
callback(values);
}
function onAddUrl(data, file) {
form.setFieldsValue({
src: "/api/attachments/".concat(data.id),
type: file.type
});
}
function onFileChange(e) {
var file = e.target.files[0];
uploadImage(file, onAddUrl);
}
return /*#__PURE__*/external_window_React_default.a.createElement(es_form["a" /* default */], Object(esm_extends["a" /* default */])({
form: form
}, upload_image_formItemLayout, {
className: "upload-image-panel",
onFinish: onSubmit
}), /*#__PURE__*/external_window_React_default.a.createElement(es_form["a" /* default */].Item, {
label: "\u56FE\u7247\u5730\u5740",
required: true
}, /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "flex-container"
}, /*#__PURE__*/external_window_React_default.a.createElement(es_form["a" /* default */].Item, {
noStyle: true,
name: "src",
rules: [{
required: true,
message: '请输入图片地址'
}]
}, /*#__PURE__*/external_window_React_default.a.createElement(input["a" /* default */], {
style: upload_image_style
})), /*#__PURE__*/external_window_React_default.a.createElement(UploadButton, {
onFileChange: onFileChange
}))), /*#__PURE__*/external_window_React_default.a.createElement(es_form["a" /* default */].Item, {
label: "\u56FE\u7247\u63CF\u8FF0",
name: "alt",
rules: [{
required: true,
message: '请输入图片描述'
}]
}, /*#__PURE__*/external_window_React_default.a.createElement(input["a" /* default */], {
style: {
width: 264
}
})), /*#__PURE__*/external_window_React_default.a.createElement(es_form["a" /* default */].Item, {
style: {
textAlign: "right"
}
}, /*#__PURE__*/external_window_React_default.a.createElement(es_button["a" /* default */], {
type: "primary",
htmlType: "submit",
style: {
marginRight: 10
}
}, "\u786E\u5B9A"), /*#__PURE__*/external_window_React_default.a.createElement(es_button["a" /* default */], {
type: "ghost",
onClick: onCancel
}, "\u53D6\u6D88")));
});
function UploadButton(_ref2) {
var onFileChange = _ref2.onFileChange;
return /*#__PURE__*/external_window_React_default.a.createElement("a", {
className: "upload-button"
}, "\u672C\u5730\u4E0A\u4F20", /*#__PURE__*/external_window_React_default.a.createElement("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["a" /* apiPref */], "/api/attachments.json"));
xhr.send(formData);
}
// EXTERNAL MODULE: ./node_modules/antd/es/input-number/style/index.js
var input_number_style = __webpack_require__("giR+");
// EXTERNAL MODULE: ./node_modules/antd/es/input-number/index.js
var input_number = __webpack_require__("fyUT");
// EXTERNAL MODULE: ./node_modules/antd/es/radio/style/index.js
var radio_style = __webpack_require__("7Kak");
// EXTERNAL MODULE: ./node_modules/antd/es/radio/index.js + 4 modules
var es_radio = __webpack_require__("9yH6");
// CONCATENATED MODULE: ./src/components/markdown-editor/add-table-panel/index.tsx
var RadioGroup = es_radio["a" /* default */].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__*/external_window_React_default.a.createElement(es_form["a" /* default */], {
className: "add-table-panel",
initialValues: {
row: 3,
col: 2,
align: 'default'
},
onFinish: onSubmit
}, /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "flex-container"
}, /*#__PURE__*/external_window_React_default.a.createElement("span", {
style: add_table_panel_style
}, "\u5355\u5143\u683C\u6570\uFF1A"), /*#__PURE__*/external_window_React_default.a.createElement("span", {
style: add_table_panel_style
}, "\u884C\u6570"), /*#__PURE__*/external_window_React_default.a.createElement(es_form["a" /* default */].Item, {
name: "row",
rules: [{
required: true,
message: '请输入行数'
}]
}, /*#__PURE__*/external_window_React_default.a.createElement(input_number["a" /* default */], null)), /*#__PURE__*/external_window_React_default.a.createElement("span", {
style: add_table_panel_style
}, "\u5217\u6570"), /*#__PURE__*/external_window_React_default.a.createElement(es_form["a" /* default */].Item, {
name: "col",
rules: [{
required: true,
message: '请输入列数'
}]
}, /*#__PURE__*/external_window_React_default.a.createElement(input_number["a" /* default */], null))), /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "flex-container",
style: {
marginTop: 12
}
}, /*#__PURE__*/external_window_React_default.a.createElement("span", {
style: add_table_panel_style
}, "\u5BF9\u9F50\u65B9\u5F0F\uFF1A"), /*#__PURE__*/external_window_React_default.a.createElement(es_form["a" /* default */].Item, {
name: "align"
}, /*#__PURE__*/external_window_React_default.a.createElement(RadioGroup, null, /*#__PURE__*/external_window_React_default.a.createElement(es_radio["a" /* default */], {
value: "default"
}, /*#__PURE__*/external_window_React_default.a.createElement("i", {
className: "fa fa-align-justify"
})), /*#__PURE__*/external_window_React_default.a.createElement(es_radio["a" /* default */], {
value: "left"
}, /*#__PURE__*/external_window_React_default.a.createElement("i", {
className: "fa fa-align-left"
})), /*#__PURE__*/external_window_React_default.a.createElement(es_radio["a" /* default */], {
value: "center"
}, /*#__PURE__*/external_window_React_default.a.createElement("i", {
className: "fa fa-align-center"
})), /*#__PURE__*/external_window_React_default.a.createElement(es_radio["a" /* default */], {
value: "right"
}, /*#__PURE__*/external_window_React_default.a.createElement("i", {
className: "fa fa-align-right"
}))))), /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "flex-container flex-end"
}, /*#__PURE__*/external_window_React_default.a.createElement(es_button["a" /* default */], {
type: "primary",
htmlType: "submit",
style: {
marginRight: 10
}
}, "\u786E\u5B9A"), /*#__PURE__*/external_window_React_default.a.createElement(es_button["a" /* default */], {
type: "ghost",
onClick: onCancel
}, "\u53D6\u6D88")));
});
// EXTERNAL MODULE: ./src/utils/env.ts + 1 modules
var env = __webpack_require__("m3rI");
// CONCATENATED MODULE: ./src/components/markdown-editor/constant.ts
var LINK = 'link';
var UPLOAD_IMAGE = 'upload-image';
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__("9VGf");
// CONCATENATED MODULE: ./src/components/markdown-editor/index.tsx
var _DEFAULTKEYMAP, _TitleDesc;
function noop() {}
var pending = 0;
var StorageTimeTicket = 10000;
var NULL_CH = '▁';
var TEMP1 = '\n**模板标题**\n模板正文内容,可输入文本内容和粘贴图片等操作'; //课程须知模板
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 = (_DEFAULTKEYMAP = {}, Object(defineProperty["a" /* default */])(_DEFAULTKEYMAP, key + '-B', 'bold'), Object(defineProperty["a" /* default */])(_DEFAULTKEYMAP, key + '-I', 'italic'), _DEFAULTKEYMAP);
var TitleDesc = (_TitleDesc = {}, Object(defineProperty["a" /* default */])(_TitleDesc, LINK, '添加链接'), Object(defineProperty["a" /* default */])(_TitleDesc, CODE_BLOCK, '添加代码块'), Object(defineProperty["a" /* default */])(_TitleDesc, UPLOAD_IMAGE, '添加图片'), Object(defineProperty["a" /* default */])(_TitleDesc, ADD_TABLE, '添加表格'), _TitleDesc); //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 components_markdown_editor = __webpack_exports__["a"] = (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$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$placeholder = _ref.placeholder,
placeholder = _ref$placeholder === void 0 ? '' : _ref$placeholder,
_ref$values = _ref.values,
values = _ref$values === void 0 ? '' : _ref$values;
var _useState = Object(external_window_React_["useState"])(null),
_useState2 = Object(slicedToArray["a" /* default */])(_useState, 2),
cm = _useState2[0],
setCm = _useState2[1];
var _useState3 = Object(external_window_React_["useState"])(defaultValue),
_useState4 = Object(slicedToArray["a" /* default */])(_useState3, 2),
value = _useState4[0],
setValue = _useState4[1];
var _useState5 = Object(external_window_React_["useState"])(watch),
_useState6 = Object(slicedToArray["a" /* default */])(_useState5, 2),
preview = _useState6[0],
setPreview = _useState6[1];
var _useState7 = Object(external_window_React_["useState"])(fullScreen),
_useState8 = Object(slicedToArray["a" /* default */])(_useState7, 2),
isFull = _useState8[0],
setIsFull = _useState8[1];
var _useState9 = Object(external_window_React_["useState"])(''),
_useState10 = Object(slicedToArray["a" /* default */])(_useState9, 2),
action = _useState10[0],
setAction = _useState10[1];
var _useState11 = Object(external_window_React_["useState"])(0),
_useState12 = Object(slicedToArray["a" /* default */])(_useState11, 2),
lastedUpdateTime = _useState12[0],
setLastedUpdateTime = _useState12[1];
var _useState13 = Object(external_window_React_["useState"])(height),
_useState14 = Object(slicedToArray["a" /* default */])(_useState13, 2),
h = _useState14[0],
setH = _useState14[1];
var _useState15 = Object(external_window_React_["useState"])(false),
_useState16 = Object(slicedToArray["a" /* default */])(_useState15, 2),
tip = _useState16[0],
setTip = _useState16[1];
var cmEl = Object(external_window_React_["useRef"])();
var containerEl = Object(external_window_React_["useRef"])();
var resizeBarEl = Object(external_window_React_["useRef"])();
var previewEl = Object(external_window_React_["useRef"])(); // useEffect(() => {
// setValue(defaultValue)
// cm?.setValue(defaultValue)
// },[])
Object(external_window_React_["useEffect"])(function () {
setValue(values);
cm === null || cm === void 0 ? void 0 : cm.setValue(values);
}, [values]);
Object(external_window_React_["useEffect"])(function () {
onFullScreen === null || onFullScreen === void 0 ? void 0 : onFullScreen(isFull);
}, [isFull]);
Object(external_window_React_["useEffect"])(function () {
if (cmEl.current) {
var instance = codemirror_default.a.fromTextArea(cmEl.current, {
mode: mode,
// inputStyle: 'contenteditable',
lineNumbers: miniToolbar ? false : true,
lineWrapping: true,
value: defaultValue,
autoCloseTags: true,
autoCloseBrackets: true
});
isFocus && instance.focus();
function onPaste(_, e) {
if (disablePaste) {
e.preventDefault();
return;
}
var clipboardData = e.clipboardData;
if (clipboardData) {
var types = clipboardData.types.toString();
var items = clipboardData.items;
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"];
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 ? 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 ? 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 ? 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["a" /* default */].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["b" /* default */].warn("请使用chrome浏览器粘贴");
}
return true;
} else {
//toMarkdown ?
// let html = clipboardData.getData('text/html')
return true;
}
}
return true;
}
instance.on('paste', onPaste);
setCm(instance);
return function () {
instance.off('paste', onPaste);
};
}
}, []);
var resizeEditorBodyHeight = Object(external_window_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]);
Object(external_window_React_["useEffect"])(function () {
function onLayout() {
var ro = new ResizeObserver_es["default"](function (entries) {
var _iterator = Object(createForOfIteratorHelper["a" /* 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 () {
ro.unobserve(cmEl.current.parentElement);
};
}
}, [cm, resizeEditorBodyHeight]); //keymap
Object(external_window_React_["useEffect"])(function () {
if (cm) {
var keymap = [];
var _loop = function _loop() {
var _ref2 = _Object$entries[_i];
_ref3 = Object(slicedToArray["a" /* default */])(_ref2, 2);
var k = _ref3[0];
var value = _ref3[1];
var map = Object(defineProperty["a" /* 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++) {
var _ref3;
_loop();
}
return function () {
var _iterator2 = Object(createForOfIteratorHelper["a" /* default */])(keymap),
_step2;
try {
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
var m = _step2.value;
cm.removeKeyMap(m);
}
} catch (err) {
_iterator2.e(err);
} finally {
_iterator2.f();
}
};
}
}, [cm]);
Object(external_window_React_["useEffect"])(function () {
if (fullScreen !== isFull) {
setIsFull(fullScreen);
}
}, [fullScreen]);
Object(useInterval["a" /* default */])(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);
Object(external_window_React_["useEffect"])(function () {
setPreview(watch);
}, [cm, watch]);
Object(external_window_React_["useEffect"])(function () {
if (cm) {
isFocus && cm.focus();
}
}, [cm, isFocus]);
Object(external_window_React_["useEffect"])(function () {
if (preview && cm) {
var scrollEl = cm.getScrollerElement();
function syncScroll(e) {
var target = e.target;
if (previewEl.current) {
var ratio = target.scrollTop / target.scrollHeight;
previewEl.current.scrollTop = previewEl.current.scrollHeight * ratio;
}
}
scrollEl.addEventListener('scroll', syncScroll);
return function () {
scrollEl.removeEventListener('scroll', syncScroll);
};
}
}, [cm, preview]);
Object(external_window_React_["useEffect"])(function () {
if (cm && onCMBeforeChange) {
function onChangeHandler(cm, change) {
onCMBeforeChange(cm, change);
}
cm.on('beforeChange', onChangeHandler);
return function () {
cm.off('beforeChange', onChangeHandler);
};
}
}, [cm, onCMBeforeChange]);
Object(external_window_React_["useEffect"])(function () {
if (cm && onBlur) {
function onBlurHandler() {
onBlur(cm.getValue());
}
cm.on('blur', onBlurHandler);
return function () {
cm.off('blur', onBlurHandler);
};
}
}, [cm, onBlur]);
Object(external_window_React_["useEffect"])(function () {
if (cm) {
function onChangeHandler(cm) {
var content = cm.getValue();
setValue(content);
setLastedUpdateTime(new Date().getTime());
cm.getScrollerElement().dispatchEvent(new CustomEvent('scroll'));
onChange && onChange(content);
}
cm.on('change', onChangeHandler);
return function () {
cm.off('change', onChangeHandler);
};
}
}, [cm, onChange]);
Object(external_window_React_["useEffect"])(function () {
if (cm) {
// isFocus && cm.focus()
if (defaultValue === null || defaultValue === undefined) {
cm.setValue('');
setValue('');
} else {
if (defaultValue !== cm.getValue()) {
cm.setValue(defaultValue);
setValue(defaultValue);
cm.setCursor(cm.lineCount(), 0);
}
}
}
}, [cm, defaultValue]);
var onActionCallback = Object(external_window_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':
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 + 1);
}
cm.replaceSelection(NULL_CH);
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 ADD_TABLE:
setAction(ADD_TABLE);
return;
default:
throw new Error();
}
}, [cm, preview, isFull]);
var ExecutePluginAction = Object(external_window_React_["useCallback"])(function (values) {
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 UPLOAD_IMAGE:
var src = values.src,
alt = values.alt;
cm.replaceSelection(".concat(src, " \"").concat(alt, "\" )"));
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 = Object(external_window_React_["useMemo"])(function () {
switch (action) {
case LINK:
return /*#__PURE__*/external_window_React_default.a.createElement(markdown_editor_link, {
callback: ExecutePluginAction,
onCancel: onCancel
});
case CODE_BLOCK:
return /*#__PURE__*/external_window_React_default.a.createElement(code_block["b" /* default */], {
callback: ExecutePluginAction,
onCancel: onCancel
});
case UPLOAD_IMAGE:
return /*#__PURE__*/external_window_React_default.a.createElement(markdown_editor_upload_image, {
callback: ExecutePluginAction,
onCancel: onCancel
});
case ADD_TABLE:
return /*#__PURE__*/external_window_React_default.a.createElement(add_table_panel, {
callback: ExecutePluginAction,
onCancel: onCancel
});
default:
return null;
}
}, [action]);
function onCancel() {
setAction('');
}
Object(external_window_React_["useEffect"])(function () {
if (resizeBarEl.current) {
var resizeBar = resizeBarEl.current;
var dragging = false;
var startY = 0;
function onMouseDown(e) {
dragging = true;
startY = e.pageY;
}
function onMouseUp() {
dragging = false;
}
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);
}
}
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]);
Object(external_window_React_["useEffect"])(function () {
setH(height);
}, [height]);
var fixedWidth = processSize(width);
var fixedHeight = processSize(h);
var style = {
width: fixedWidth,
height: fixedHeight
};
var saveTime = Object(external_window_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]);
function onCancelStorage() {
window.sessionStorage.removeItem(id);
setTip(false);
setLastedUpdateTime(0);
}
function onReset() {
setTip(false);
setLastedUpdateTime(0);
cm.setValue(window.sessionStorage.getItem(id));
}
return /*#__PURE__*/external_window_React_default.a.createElement(external_window_React_["Fragment"], null, /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "markdown-editor-wrapper",
ref: containerEl
}, /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "markdown-editor-container ".concat(className, " ").concat(preview ? 'on-preview' : '', " ").concat(miniToolbar ? 'mini' : '', " ").concat(isFull ? 'full-screen' : ''),
style: style
}, /*#__PURE__*/external_window_React_default.a.createElement(markdown_editor_toolbar, {
insertTemp: insertTemp,
watch: preview,
fullScreen: isFull,
showNullButton: showNullButton,
onActionCallback: onActionCallback,
hidetoolBar: hidetoolBar
}), /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "markdown-editor-body"
}, /*#__PURE__*/external_window_React_default.a.createElement("div", {
className: "codemirror-container"
}, /*#__PURE__*/external_window_React_default.a.createElement("textarea", {
ref: cmEl,
placeholder: placeholder
})), preview ? /*#__PURE__*/external_window_React_default.a.createElement("div", {
ref: previewEl,
className: "preview-container"
}, mode === "stex" && /*#__PURE__*/external_window_React_default.a.createElement(RenderHtml_stex, {
value: value
}), mode !== "stex" && /*#__PURE__*/external_window_React_default.a.createElement(RenderHtml["a" /* default */], {
value: value
})) : null))), showResizeBar ? /*#__PURE__*/external_window_React_default.a.createElement("a", {
ref: resizeBarEl,
className: "editor-resize"
}) : null, /*#__PURE__*/external_window_React_default.a.createElement(components_modal["a" /* default */], null, TitleDesc[action] ? /*#__PURE__*/external_window_React_default.a.createElement(modal["a" /* default */], {
centered: true,
title: TitleDesc[action],
visible: true,
onCancel: onCancel,
footer: null
}, PluginEl) : null));
});
/***/ }),
/***/ "P47w":
/*!*************************************************!*\
!*** ./node_modules/zrender/lib/svg/graphic.js ***!
\*************************************************/
/*! no static exports found */
/*! all exports used */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports, __webpack_require__) {
var _core = __webpack_require__(/*! ./core */ "hydK");
var createElement = _core.createElement;
var PathProxy = __webpack_require__(/*! ../core/PathProxy */ "IMiH");
var BoundingRect = __webpack_require__(/*! ../core/BoundingRect */ "mFDi");
var matrix = __webpack_require__(/*! ../core/matrix */ "Fofx");
var textContain = __webpack_require__(/*! ../contain/text */ "6GrX");
var textHelper = __webpack_require__(/*! ../graphic/helper/text */ "pzxd");
var Text = __webpack_require__(/*! ../graphic/Text */ "dqUG");
// TODO
// 1. shadow
// 2. Image: sx, sy, sw, sh
var CMD = PathProxy.CMD;
var arrayJoin = Array.prototype.join;
var NONE = 'none';
var mathRound = Math.round;
var mathSin = Math.sin;
var mathCos = Math.cos;
var PI = Math.PI;
var PI2 = Math.PI * 2;
var degree = 180 / PI;
var EPSILON = 1e-4;
function round4(val) {
return mathRound(val * 1e4) / 1e4;
}
function isAroundZero(val) {
return val < EPSILON && val > -EPSILON;
}
function pathHasFill(style, isText) {
var fill = isText ? style.textFill : style.fill;
return fill != null && fill !== NONE;
}
function pathHasStroke(style, isText) {
var stroke = isText ? style.textStroke : style.stroke;
return stroke != null && stroke !== NONE;
}
function setTransform(svgEl, m) {
if (m) {
attr(svgEl, 'transform', 'matrix(' + arrayJoin.call(m, ',') + ')');
}
}
function attr(el, key, val) {
if (!val || val.type !== 'linear' && val.type !== 'radial') {
// Don't set attribute for gradient, since it need new dom nodes
el.setAttribute(key, val);
}
}
function attrXLink(el, key, val) {
el.setAttributeNS('http://www.w3.org/1999/xlink', key, val);
}
function bindStyle(svgEl, style, isText, el) {
if (pathHasFill(style, isText)) {
var fill = isText ? style.textFill : style.fill;
fill = fill === 'transparent' ? NONE : fill;
attr(svgEl, 'fill', fill);
attr(svgEl, 'fill-opacity', style.fillOpacity != null ? style.fillOpacity * style.opacity : style.opacity);
} else {
attr(svgEl, 'fill', NONE);
}
if (pathHasStroke(style, isText)) {
var stroke = isText ? style.textStroke : style.stroke;
stroke = stroke === 'transparent' ? NONE : stroke;
attr(svgEl, 'stroke', stroke);
var strokeWidth = isText ? style.textStrokeWidth : style.lineWidth;
var strokeScale = !isText && style.strokeNoScale ? el.getLineScale() : 1;
attr(svgEl, 'stroke-width', strokeWidth / strokeScale); // stroke then fill for text; fill then stroke for others
attr(svgEl, 'paint-order', isText ? 'stroke' : 'fill');
attr(svgEl, 'stroke-opacity', style.strokeOpacity != null ? style.strokeOpacity : style.opacity);
var lineDash = style.lineDash;
if (lineDash) {
attr(svgEl, 'stroke-dasharray', style.lineDash.join(','));
attr(svgEl, 'stroke-dashoffset', mathRound(style.lineDashOffset || 0));
} else {
attr(svgEl, 'stroke-dasharray', '');
} // PENDING
style.lineCap && attr(svgEl, 'stroke-linecap', style.lineCap);
style.lineJoin && attr(svgEl, 'stroke-linejoin', style.lineJoin);
style.miterLimit && attr(svgEl, 'stroke-miterlimit', style.miterLimit);
} else {
attr(svgEl, 'stroke', NONE);
}
}
/***************************************************
* PATH
**************************************************/
function pathDataToString(path) {
var str = [];
var data = path.data;
var dataLength = path.len();
for (var i = 0; i < dataLength;) {
var cmd = data[i++];
var cmdStr = '';
var nData = 0;
switch (cmd) {
case CMD.M:
cmdStr = 'M';
nData = 2;
break;
case CMD.L:
cmdStr = 'L';
nData = 2;
break;
case CMD.Q:
cmdStr = 'Q';
nData = 4;
break;
case CMD.C:
cmdStr = 'C';
nData = 6;
break;
case CMD.A:
var cx = data[i++];
var cy = data[i++];
var rx = data[i++];
var ry = data[i++];
var theta = data[i++];
var dTheta = data[i++];
var psi = data[i++];
var clockwise = data[i++];
var dThetaPositive = Math.abs(dTheta);
var isCircle = isAroundZero(dThetaPositive - PI2) || (clockwise ? dTheta >= PI2 : -dTheta >= PI2); // Mapping to 0~2PI
var unifiedTheta = dTheta > 0 ? dTheta % PI2 : dTheta % PI2 + PI2;
var large = false;
if (isCircle) {
large = true;
} else if (isAroundZero(dThetaPositive)) {
large = false;
} else {
large = unifiedTheta >= PI === !!clockwise;
}
var x0 = round4(cx + rx * mathCos(theta));
var y0 = round4(cy + ry * mathSin(theta)); // It will not draw if start point and end point are exactly the same
// We need to shift the end point with a small value
// FIXME A better way to draw circle ?
if (isCircle) {
if (clockwise) {
dTheta = PI2 - 1e-4;
} else {
dTheta = -PI2 + 1e-4;
}
large = true;
if (i === 9) {
// Move to (x0, y0) only when CMD.A comes at the
// first position of a shape.
// For instance, when drawing a ring, CMD.A comes
// after CMD.M, so it's unnecessary to move to
// (x0, y0).
str.push('M', x0, y0);
}
}
var x = round4(cx + rx * mathCos(theta + dTheta));
var y = round4(cy + ry * mathSin(theta + dTheta)); // FIXME Ellipse
str.push('A', round4(rx), round4(ry), mathRound(psi * degree), +large, +clockwise, x, y);
break;
case CMD.Z:
cmdStr = 'Z';
break;
case CMD.R:
var x = round4(data[i++]);
var y = round4(data[i++]);
var w = round4(data[i++]);
var h = round4(data[i++]);
str.push('M', x, y, 'L', x + w, y, 'L', x + w, y + h, 'L', x, y + h, 'L', x, y);
break;
}
cmdStr && str.push(cmdStr);
for (var j = 0; j < nData; j++) {
// PENDING With scale
str.push(round4(data[i++]));
}
}
return str.join(' ');
}
var svgPath = {};
svgPath.brush = function (el) {
var style = el.style;
var svgEl = el.__svgEl;
if (!svgEl) {
svgEl = createElement('path');
el.__svgEl = svgEl;
}
if (!el.path) {
el.createPathProxy();
}
var path = el.path;
if (el.__dirtyPath) {
path.beginPath();
path.subPixelOptimize = false;
el.buildPath(path, el.shape);
el.__dirtyPath = false;
var pathStr = pathDataToString(path);
if (pathStr.indexOf('NaN') < 0) {
// Ignore illegal path, which may happen such in out-of-range
// data in Calendar series.
attr(svgEl, 'd', pathStr);
}
}
bindStyle(svgEl, style, false, el);
setTransform(svgEl, el.transform);
if (style.text != null) {
svgTextDrawRectText(el, el.getBoundingRect());
} else {
removeOldTextNode(el);
}
};
/***************************************************
* IMAGE
**************************************************/
var svgImage = {};
svgImage.brush = function (el) {
var style = el.style;
var image = style.image;
if (image instanceof HTMLImageElement) {
var src = image.src;
image = src;
}
if (!image) {
return;
}
var x = style.x || 0;
var y = style.y || 0;
var dw = style.width;
var dh = style.height;
var svgEl = el.__svgEl;
if (!svgEl) {
svgEl = createElement('image');
el.__svgEl = svgEl;
}
if (image !== el.__imageSrc) {
attrXLink(svgEl, 'href', image); // Caching image src
el.__imageSrc = image;
}
attr(svgEl, 'width', dw);
attr(svgEl, 'height', dh);
attr(svgEl, 'x', x);
attr(svgEl, 'y', y);
setTransform(svgEl, el.transform);
if (style.text != null) {
svgTextDrawRectText(el, el.getBoundingRect());
} else {
removeOldTextNode(el);
}
};
/***************************************************
* TEXT
**************************************************/
var svgText = {};
var _tmpTextHostRect = new BoundingRect();
var _tmpTextBoxPos = {};
var _tmpTextTransform = [];
var TEXT_ALIGN_TO_ANCHRO = {
left: 'start',
right: 'end',
center: 'middle',
middle: 'middle'
};
/**
* @param {module:zrender/Element} el
* @param {Object|boolean} [hostRect] {x, y, width, height}
* If set false, rect text is not used.
*/
var svgTextDrawRectText = function (el, hostRect) {
var style = el.style;
var elTransform = el.transform;
var needTransformTextByHostEl = el instanceof Text || style.transformText;
el.__dirty && textHelper.normalizeTextStyle(style, true);
var text = style.text; // Convert to string
text != null && (text += '');
if (!textHelper.needDrawText(text, style)) {
return;
} // render empty text for svg if no text but need draw text.
text == null && (text = ''); // Follow the setting in the canvas renderer, if not transform the
// text, transform the hostRect, by which the text is located.
if (!needTransformTextByHostEl && elTransform) {
_tmpTextHostRect.copy(hostRect);
_tmpTextHostRect.applyTransform(elTransform);
hostRect = _tmpTextHostRect;
}
var textSvgEl = el.__textSvgEl;
if (!textSvgEl) {
textSvgEl = createElement('text');
el.__textSvgEl = textSvgEl;
} // style.font has been normalized by `normalizeTextStyle`.
var textSvgElStyle = textSvgEl.style;
var font = style.font || textContain.DEFAULT_FONT;
var computedFont = textSvgEl.__computedFont;
if (font !== textSvgEl.__styleFont) {
textSvgElStyle.font = textSvgEl.__styleFont = font; // The computedFont might not be the orginal font if it is illegal font.
computedFont = textSvgEl.__computedFont = textSvgElStyle.font;
}
var textPadding = style.textPadding;
var textLineHeight = style.textLineHeight;
var contentBlock = el.__textCotentBlock;
if (!contentBlock || el.__dirtyText) {
contentBlock = el.__textCotentBlock = textContain.parsePlainText(text, computedFont, textPadding, textLineHeight, style.truncate);
}
var outerHeight = contentBlock.outerHeight;
var lineHeight = contentBlock.lineHeight;
textHelper.getBoxPosition(_tmpTextBoxPos, el, style, hostRect);
var baseX = _tmpTextBoxPos.baseX;
var baseY = _tmpTextBoxPos.baseY;
var textAlign = _tmpTextBoxPos.textAlign || 'left';
var textVerticalAlign = _tmpTextBoxPos.textVerticalAlign;
setTextTransform(textSvgEl, needTransformTextByHostEl, elTransform, style, hostRect, baseX, baseY);
var boxY = textContain.adjustTextY(baseY, outerHeight, textVerticalAlign);
var textX = baseX;
var textY = boxY; // TODO needDrawBg
if (textPadding) {
textX = getTextXForPadding(baseX, textAlign, textPadding);
textY += textPadding[0];
} // `textBaseline` is set as 'middle'.
textY += lineHeight / 2;
bindStyle(textSvgEl, style, true, el); // FIXME
// Add a