(self["webpackChunk"] = self["webpackChunk"] || []).push([[54928],{ /***/ 78263: /*!***********************************************************************!*\ !*** ./src/pages/Classrooms/Lists/LearningPath/index.tsx + 2 modules ***! \***********************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; // ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); // EXPORTS __webpack_require__.d(__webpack_exports__, { "default": function() { return /* binding */ LearningPath; } }); // EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/objectSpread2.js var objectSpread2 = __webpack_require__(26801); var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2); // EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/slicedToArray.js var slicedToArray = __webpack_require__(11006); var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray); // EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js var _react_17_0_2_react = __webpack_require__(59301); // EXTERNAL MODULE: ./src/.umi-production/exports.ts + 8 modules var _umi_production_exports = __webpack_require__(66660); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/skeleton/index.js + 12 modules var skeleton = __webpack_require__(59981); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/modal/index.js + 16 modules var modal = __webpack_require__(43418); ;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/LearningPath/index.less?modules // extracted by mini-css-extract-plugin /* harmony default export */ var LearningPathmodules = ({"flex_box_center":"flex_box_center___yF0Vb","flex_space_between":"flex_space_between___vsNYO","flex_box_vertical_center":"flex_box_vertical_center___C4UqH","flex_box_center_end":"flex_box_center_end___EGtmE","flex_box_column":"flex_box_column___uX9g9","bg":"bg___sRga2","menu":"menu___s8xQl","desc":"desc___poG1Z","listItem":"listItem___ml9kN","info":"info___Z8R2Z","add":"add___jH8te","addForm":"addForm___O999t","attendanceCode":"attendanceCode___hPKyl","signInStatus":"signInStatus___usMPT","colorE02020":"colorE02020___hZvSz","color0152d9":"color0152d9___RgXzd","colorFA6400":"colorFA6400___g2yU6","iframe":"iframe___HRzMh"}); // EXTERNAL MODULE: ./src/utils/authority.ts var authority = __webpack_require__(76107); ;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/LearningPath/data.ts var learningData = { init: [{ "stage_name": "初始学习", "parent": 9999999, "key": 0 }, { "stage_name": "绪论", "parent": 0, "key": 1 }, { "discipline_name": "绪论", "shixun_count": "1", "video_count": "2", "parent": 1, "key": "11" }, { "shixun_name": "绪论1", "shixun_type": "视频", "url": "https://video.educoder.net/f066ae1a9a8f418f837e5bf8d02b2690/76df907c20efd95bea0fa23424f10693-hd.m3u8", "parent": "11", "key": "111" }, { "shixun_name": "绪论2", "shixun_type": "视频", "url": "https://video.educoder.net/068ca7853da448c794eeffb0dee8bed4/5bb446a882043683e37474ff408f601b-hd.m3u8", "parent": "11", "key": "112" }, { "shixun_name": "C++开发环境应用入门", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/zxb937qn/challenges", "parent": "11", "key": "113" }, { "stage_name": "简单程序设计", "parent": 0, "key": 2 }, { "discipline_name": "基础数据类型和表达式", "shixun_count": "1", "video_count": "1", "parent": 2, "key": "21" }, { "shixun_name": "基础数据类型和表达式", "shixun_type": "视频", "url": "https://video.educoder.net/f5f9c87860cb4a98ba86da37b5bfac70/8d50a9c4d5d4d3382c09bad3f4c5dcb6-hd.m3u8", "parent": "21", "key": "211" }, { "shixun_name": "C++简单程序设计", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/lg5afhzv/challenges", "parent": "21", "key": "212" }, { "discipline_name": "判断语句", "shixun_count": "2", "video_count": "2", "parent": 2, "key": "22" }, { "shixun_name": "if语句", "shixun_type": "视频", "url": "https://video.educoder.net/3b4e821b200443948c553e4c6b51d940/b9601216238e60440192c2deb58adc53-hd.m3u8", "parent": "22", "key": "221" }, { "shixun_name": "C++选择结构——(if多重选择)", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/23xkyrmn/challenges", "parent": "22", "key": "222" }, { "shixun_name": "switch语句", "shixun_type": "视频", "url": "https://video.educoder.net/3b4e821b200443948c553e4c6b51d940/b9601216238e60440192c2deb58adc53-hd.m3u8", "parent": "22", "key": "223" }, { "shixun_name": "C++选择结构——(巧用switch)", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/sm3c5a7v/challenges", "parent": "22", "key": "224" }, { "discipline_name": "循环", "shixun_count": "2", "video_count": "2", "parent": 2, "key": "23" }, { "shixun_name": "while语句", "shixun_type": "视频", "url": "https://video.educoder.net/dda06371a1594f5d865479a0fadc77bb/cb504e3af36ebe2ba979e8fe5fbb2222-hd.m3u8", "parent": "23", "key": "231" }, { "shixun_name": "C++循环结构——(熟悉while)", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/8yhf4sn6/challenges", "parent": "23", "key": "232" }, { "shixun_name": "for语句", "shixun_type": "视频", "url": "https://video.educoder.net/503194c483f44ccfacc7f9ee14cda70a/36cbd964c6657d1bbc43eb33b98f0c51-hd.m3u8", "parent": "23", "key": "233" }, { "shixun_name": "C++选择结构——(巧用switch)", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/sm3c5a7v/challenges", "parent": "23", "key": "234" }, { "stage_name": "函数", "parent": 0, "key": 3 }, { "discipline_name": "函数的定义与调用", "shixun_count": "2", "video_count": "1", "parent": 3, "key": "31" }, { "shixun_name": "函数的定义与调用", "shixun_type": "视频", "url": "https://video.educoder.net/c10e39b3afb14ad0b890368aa1751821/ef361445294452e1d9bfacae80b3ec2f-hd.m3u8", "parent": "31", "key": "311" }, { "shixun_name": "C++函数的定义与调用1", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/3q4isevr/challenges", "parent": "31", "key": "312" }, { "shixun_name": "C++函数的定义与调用2", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/tlhxwo64/challenges", "parent": "31", "key": "313" }, { "discipline_name": "传输传递", "shixun_count": "2", "video_count": "1", "parent": 3, "key": "32" }, { "shixun_name": "函数的参数", "shixun_type": "视频", "url": "https://www.educoder.net/video/7785?subject_id=jpl5vs26", "parent": "32", "key": "321" }, { "shixun_name": "C++参数传递1", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/2phrn8yk/challenges", "parent": "32", "key": "322" }, { "shixun_name": "C++参数传递2", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/xsq7p4a6/challenges", "parent": "32", "key": "323" }, { "discipline_name": "函数重载", "shixun_count": "1", "video_count": "1", "parent": 3, "key": "33" }, { "shixun_name": "函数重载", "shixun_type": "视频", "url": "https://www.educoder.net/video/7785?subject_id=jpl5vs26", "parent": "33", "key": "331" }, { "shixun_name": "C++函数重载", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/6hbqpv7e/challenges", "parent": "33", "key": "332" }, { "discipline_name": "递归函数", "shixun_count": "2", "video_count": "1", "parent": 3, "key": "34" }, { "shixun_name": "函数的递归调用", "shixun_type": "视频", "url": "https://video.educoder.net/51a0935ddc884f1b9f6c1395f2011425/7308cd65a7fe1d13eebe2600054d29c7-hd.m3u8", "parent": "34", "key": "341" }, { "shixun_name": "递归函数编写入门", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/4qjw9t32/challenges", "parent": "34", "key": "342" }, { "shixun_name": "逆序输出(使用递归解决)", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/oxtrf27l/challenges", "parent": "34", "key": "343" }, { "stage_name": "类和对象", "parent": 0, "key": 4 }, { "discipline_name": "构造函数和析构函数", "shixun_count": "2", "video_count": "1", "parent": 4, "key": "41" }, { "shixun_name": "构造函数和析构函数", "shixun_type": "视频", "url": "https://video.educoder.net/b4e17c1e8c8d449f862af9ea94fa9522/bad9e739addf73679a70e38a9d2cc32c-hd.m3u8", "parent": "41", "key": "411" }, { "shixun_name": "定义和使用结构", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/igwom4hs/challenges", "parent": "41", "key": "412" }, { "shixun_name": "定义和使用结构体", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/5yo6rw3f/challenges", "parent": "41", "key": "413" }, { "stage_name": "数据的共享与保护", "parent": 0, "key": 5 }, { "discipline_name": "数据的共享与保护", "shixun_count": "1", "video_count": "1", "parent": 5, "key": "51" }, { "shixun_name": "数据的共享与保护", "shixun_type": "视频", "url": "https://video.educoder.net/fde33b24ff2b4bf5bc5e238dc473df8e/3cf407a74af29554226084d17fa17858-hd.m3u8", "parent": "51", "key": "511" }, { "shixun_name": "C++程序的结构", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/yqbh3fx5/challenges", "parent": "51", "key": "512" }, { "stage_name": "数组、指针与字符串", "parent": 0, "key": 6 }, { "discipline_name": "数组", "shixun_count": "1", "video_count": "1", "parent": 6, "key": "61" }, { "shixun_name": "数组", "shixun_type": "视频", "url": "https://www.educoder.net/video/7785?subject_id=jpl5vs26", "parent": "61", "key": "611" }, { "shixun_name": "平均成绩与简单统计", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/4wcfgm5q/challenges", "parent": "61", "key": "612" }, { "discipline_name": "指针", "shixun_count": "3", "video_count": "1", "parent": 6, "key": "62" }, { "shixun_name": "指针", "shixun_type": "视频", "url": "https://video.educoder.net/00a5448862c84c42b1a369ac2be88ae9/9b9627710a725e570ede478663c2589d-hd.m3u8", "parent": "62", "key": "621" }, { "shixun_name": "指针练手-字符串倒序", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/lkn6xuc3/challenges", "parent": "62", "key": "622" }, { "shixun_name": "指针数组-单词倒序", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/vtk73ny2/challenges", "parent": "62", "key": "623" }, { "shixun_name": "用指针解决问题-文本格式处理", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/xfnp73fz/challenges", "parent": "62", "key": "624" }, { "stage_name": "类的继承", "parent": 0, "key": 7 }, { "discipline_name": "类的继承", "shixun_count": "1", "video_count": "3", "parent": 7, "key": "71" }, { "shixun_name": "类的继承(1)", "shixun_type": "视频", "url": "https://video.educoder.net/1eedcdb9ec43442c93780f04859c9aa9/631b8c88eb263877d24637d5b8d54dc5-hd.m3u8", "parent": "71", "key": "711" }, { "shixun_name": "类的继承(2)", "shixun_type": "视频", "url": "https://video.educoder.net/fc1e7d8d8140469ba1bc01ee64fcc3c1/9256d13f4a14ae17ba9cac9f895b8a9d-hd.m3u8", "parent": "71", "key": "712" }, { "shixun_name": "类的继承(3)", "shixun_type": "视频", "url": "https://www.educoder.net/video/7806?subject_id=jpl5vs26", "parent": "71", "key": "713" }, { "shixun_name": "继承与派生", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/f83ipgyo/challenges", "parent": "71", "key": "714" }, { "stage_name": "多态性", "parent": 0, "key": 8 }, { "discipline_name": "多态性", "shixun_count": "1", "video_count": "2", "parent": 8, "key": "81" }, { "shixun_name": "多态性(1)", "shixun_type": "视频", "url": "https://video.educoder.net/5a960b51ebf346d2b77afb3b70d00768/73d6fa00824f4c73b885d33f688c3294-hd.m3u8", "parent": "81", "key": "811" }, { "shixun_name": "多态性(2)", "shixun_type": "视频", "url": "https://video.educoder.net/08fe97a36e184cf1bf27cdd7a24794c9/625c4e9e863840443f5332ccc02761fc-hd.m3u8", "parent": "81", "key": "812" }, { "shixun_name": "虚函数与多态性", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/9pjmg7uf/challenges", "parent": "81", "key": "813" }, { "stage_name": "模板与群体数据", "parent": 0, "key": 9 }, { "discipline_name": "模板与群体数据", "shixun_count": "1", "video_count": "3", "parent": 9, "key": "91" }, { "shixun_name": "模板与群体数据(1)", "shixun_type": "视频", "url": "https://video.educoder.net/8dcf418d2d16404d91af1780f669e549/eb538592d8a3b98e1c2f7f844f85b778-hd.m3u8", "parent": "91", "key": "911" }, { "shixun_name": "模板与群体数据(2)", "shixun_type": "视频", "url": "https://video.educoder.net/459f2693af7b48f8b854033e666a77f8/f5b140c5adc0f24ac56b72492373306a-hd.m3u8", "parent": "91", "key": "912" }, { "shixun_name": "模板与群体数据(3)", "shixun_type": "视频", "url": "https://video.educoder.net/ccea50bc15d2468aab99aff19eb69e16/a5ecac1ee0c07360d07880187a787085-hd.m3u8", "parent": "91", "key": "913" }, { "shixun_name": "群体类和群体数据的组织", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/kfv3my9o/challenges", "parent": "91", "key": "914" }, { "stage_name": "泛型程序设计与C++标准模板库", "parent": 0, "key": 10 }, { "discipline_name": "泛型程序设计与C++标准模板库", "shixun_count": "1", "video_count": "3", "parent": 10, "key": "101" }, { "shixun_name": "泛型程序设计与C++标准模板库(1)", "shixun_type": "视频", "url": "https://video.educoder.net/2f3154d695a542fbaba5c483d8d7f7a9/aea4302c51501634469ed4b91462c810-hd.m3u8", "parent": "101", "key": "1011" }, { "shixun_name": "泛型程序设计与C++标准模板库(2)", "shixun_type": "视频", "url": "https://video.educoder.net/23be6a61e4e54db398b9172b1213a1f2/3f1e88f97957369e29ef2bde63640004-hd.m3u8", "parent": "101", "key": "1012" }, { "shixun_name": "泛型程序设计与C++标准模板库(3)", "shixun_type": "视频", "url": "https://video.educoder.net/a5887adcc34445bba695de7dcadb781e/0fb3a6a6ad38f7a107054c5f2f0de262-hd.m3u8", "parent": "101", "key": "1013" }, { "shixun_name": "泛型程序设计与C++标准模板库", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/hmtw5iq6/challenges", "parent": "101", "key": "1014" }, { "stage_name": "流类库与输入/输出11", "parent": 0, "key": 1911 }, { "discipline_name": "流类库与输入/输出", "shixun_count": "1", "video_count": "2", "parent": 1911, "key": 9111 }, { "shixun_name": "流类库与输入输出(1)22222", "shixun_type": "视频", "url": "https://video.educoder.net/c9e76b949ee847fbb89a926220526692/b80ff8d09a87bfde1064f5b73ae7c34b-hd.m3u8", "parent": 9111, "key": "91111" }, { "shixun_name": "流类库与输入输出(2)", "shixun_type": "视频", "url": "https://video.educoder.net/65c02365a4ad40858b69b8cbe3ca4aa1/18a2c5697d4a84a971c500565509f038-hd.m3u8", "parent": "9111", "key": "91112" }, { "shixun_name": "流类库与输入/输出", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/hsvuixpm/challenges", "parent": "9111", "key": "91113" }, { "stage_name": "异常处理", "parent": 0, "key": 12 }, { "discipline_name": "异常处理", "shixun_count": "1", "video_count": "1", "parent": 12, "key": "121" }, { "shixun_name": "异常处理", "shixun_type": "视频", "url": "https://video.educoder.net/c95499dd4c064584914e32fca9563717/98a8be24326e3eb35375713f5ccbb8bb-hd.m3u8", "parent": "121", "key": "1211" }, { "shixun_name": "编写异常处理的类", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/nlt6f7ae/challenges", "parent": "121", "key": "1212" }].map(function (item) { item.parent = Number(item.parent); item.key = Number(item.key); return item; }), review: [{ "stage_name": "复习学习", "parent": 9999999, "key": 0 }, { "stage_name": "简单程序设计", "parent": 0, "key": 1 }, { "discipline_name": "基础数据类型和表达式", "shixun_count": "1", "video_count": "1", "parent": 1, "key": "11" }, { "shixun_name": "基础数据类型和表达式", "shixun_type": "视频", "url": "https://video.educoder.net/f5f9c87860cb4a98ba86da37b5bfac70/8d50a9c4d5d4d3382c09bad3f4c5dcb6-hd.m3u8", "parent": "11", "key": "111" }, { "shixun_name": "C++简单程序设计", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/lg5afhzv/challenges", "parent": "11", "key": "112" }, { "discipline_name": "循环", "shixun_count": "2", "video_count": "2", "parent": 1, "key": "12" }, { "shixun_name": "while语句", "shixun_type": "视频", "url": "https://video.educoder.net/dda06371a1594f5d865479a0fadc77bb/cb504e3af36ebe2ba979e8fe5fbb2222-hd.m3u8", "parent": "12", "key": "121" }, { "shixun_name": "C++循环结构——(熟悉while)", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/8yhf4sn6/challenges", "parent": "12", "key": "122" }, { "shixun_name": "for语句", "shixun_type": "视频", "url": "https://video.educoder.net/503194c483f44ccfacc7f9ee14cda70a/36cbd964c6657d1bbc43eb33b98f0c51-hd.m3u8", "parent": "12", "key": "123" }, { "shixun_name": "C++选择结构——(巧用switch)", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/sm3c5a7v/challenges", "parent": "12", "key": "124" }, { "stage_name": "函数", "parent": 0, "key": 2 }, { "discipline_name": "函数的定义与调用", "shixun_count": "2", "video_count": "1", "parent": 2, "key": "21" }, { "shixun_name": "函数的定义与调用", "shixun_type": "视频", "url": "https://video.educoder.net/c10e39b3afb14ad0b890368aa1751821/ef361445294452e1d9bfacae80b3ec2f-hd.m3u8", "parent": "21", "key": "211" }, { "shixun_name": "C++函数的定义与调用1", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/3q4isevr/challenges", "parent": "21", "key": "212" }, { "shixun_name": "C++函数的定义与调用2", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/tlhxwo64/challenges", "parent": "21", "key": "213" }, { "discipline_name": "传输传递", "shixun_count": "2", "video_count": "1", "parent": 2, "key": "22" }, { "shixun_name": "函数的参数", "shixun_type": "视频", "url": "https://www.educoder.net/video/7785?subject_id=jpl5vs26", "parent": "22", "key": "221" }, { "shixun_name": "C++参数传递1", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/2phrn8yk/challenges", "parent": "22", "key": "222" }, { "shixun_name": "C++参数传递2", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/xsq7p4a6/challenges", "parent": "22", "key": "223" }, { "discipline_name": "递归函数", "shixun_count": "2", "video_count": "2", "parent": 2, "key": "23" }, { "shixun_name": "函数的递归调用", "shixun_type": "视频", "url": "https://video.educoder.net/51a0935ddc884f1b9f6c1395f2011425/7308cd65a7fe1d13eebe2600054d29c7-hd.m3u8", "parent": "23", "key": "231" }, { "shixun_name": "递归函数编写入门", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/4qjw9t32/challenges", "parent": "23", "key": "232" }, { "shixun_name": "逆序输出(使用递归解决)", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/oxtrf27l/challenges", "parent": "23", "key": "233" }, { "stage_name": "类和对象", "parent": 0, "key": 3 }, { "discipline_name": "构造函数和析构函数", "shixun_count": "2", "video_count": "1", "parent": 3, "key": "31" }, { "shixun_name": "构造函数和析构函数", "shixun_type": "视频", "url": "https://video.educoder.net/b4e17c1e8c8d449f862af9ea94fa9522/bad9e739addf73679a70e38a9d2cc32c-hd.m3u8", "parent": "31", "key": "311" }, { "shixun_name": "定义和使用结构", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/igwom4hs/challenges", "parent": "31", "key": "312" }, { "shixun_name": "定义和使用结构体", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/5yo6rw3f/challenges", "parent": "31", "key": "313" }, { "stage_name": "数据的共享与保护", "parent": 0, "key": 4 }, { "discipline_name": "数据的共享与保护", "shixun_count": "1", "video_count": "1", "parent": 4, "key": "41" }, { "shixun_name": "数据的共享与保护", "shixun_type": "视频", "url": "https://video.educoder.net/fde33b24ff2b4bf5bc5e238dc473df8e/3cf407a74af29554226084d17fa17858-hd.m3u8", "parent": "41", "key": "411" }, { "shixun_name": "C++程序的结构", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/yqbh3fx5/challenges", "parent": "41", "key": "412" }, { "stage_name": "数组、指针与字符串", "parent": 0, "key": 5 }, { "discipline_name": "数组", "shixun_count": "1", "video_count": "1", "parent": 5, "key": "51" }, { "shixun_name": "数组", "shixun_type": "视频", "url": "https://www.educoder.net/video/7785?subject_id=jpl5vs26", "parent": "51", "key": "511" }, { "shixun_name": "平均成绩与简单统计", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/4wcfgm5q/challenges", "parent": "51", "key": "512" }, { "discipline_name": "指针", "shixun_count": "1", "video_count": "1", "parent": 5, "key": "52" }, { "shixun_name": "指针", "shixun_type": "视频", "url": "https://video.educoder.net/00a5448862c84c42b1a369ac2be88ae9/9b9627710a725e570ede478663c2589d-hd.m3u8", "parent": "52", "key": "521" }, { "shixun_name": "用指针解决问题-文本格式处理", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/xfnp73fz/challenges", "parent": "52", "key": "522" }, { "stage_name": "类的继承", "parent": 0, "key": 6 }, { "discipline_name": "类的继承", "shixun_count": "0", "video_count": "2", "parent": 6, "key": "61" }, { "shixun_name": "类的继承(1)", "shixun_type": "视频", "url": "https://video.educoder.net/1eedcdb9ec43442c93780f04859c9aa9/631b8c88eb263877d24637d5b8d54dc5-hd.m3u8", "parent": "61", "key": "611" }, { "shixun_name": "类的继承(2)", "shixun_type": "视频", "url": "https://video.educoder.net/fc1e7d8d8140469ba1bc01ee64fcc3c1/9256d13f4a14ae17ba9cac9f895b8a9d-hd.m3u8", "parent": "61", "key": "612" }, { "stage_name": "多态性", "parent": 0, "key": 7 }, { "discipline_name": "多态性", "shixun_count": "1", "video_count": "2", "parent": 7, "key": "71" }, { "shixun_name": "多态性(1)", "shixun_type": "视频", "url": "https://video.educoder.net/5a960b51ebf346d2b77afb3b70d00768/73d6fa00824f4c73b885d33f688c3294-hd.m3u8", "parent": "71", "key": "711" }, { "shixun_name": "多态性(2)", "shixun_type": "视频", "url": "https://video.educoder.net/08fe97a36e184cf1bf27cdd7a24794c9/625c4e9e863840443f5332ccc02761fc-hd.m3u8", "parent": "71", "key": "712" }, { "shixun_name": "虚函数与多态性", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/9pjmg7uf/challenges", "parent": "71", "key": "713" }, { "stage_name": "模板与群体数据", "parent": 0, "key": 8 }, { "discipline_name": "模板与群体数据", "shixun_count": "1", "video_count": "1", "parent": 8, "key": "81" }, { "shixun_name": "模板与群体数据(1)", "shixun_type": "视频", "url": "https://video.educoder.net/8dcf418d2d16404d91af1780f669e549/eb538592d8a3b98e1c2f7f844f85b778-hd.m3u8", "parent": "81", "key": "811" }, { "shixun_name": "群体类和群体数据的组织", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/kfv3my9o/challenges", "parent": "81", "key": "812" }, { "stage_name": "泛型程序设计与C++标准模板库", "parent": 0, "key": 9 }, { "discipline_name": "泛型程序设计与C++标准模板库", "shixun_count": "1", "video_count": "1", "parent": 9, "key": "91" }, { "shixun_name": "泛型程序设计与C++标准模板库(1)", "shixun_type": "视频", "url": "https://video.educoder.net/2f3154d695a542fbaba5c483d8d7f7a9/aea4302c51501634469ed4b91462c810-hd.m3u8", "parent": "91", "key": "911" }, { "shixun_name": "泛型程序设计与C++标准模板库", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/hmtw5iq6/challenges", "parent": "91", "key": "912" }, { "stage_name": "流类库与输入/输出", "parent": 0, "key": 10 }, { "discipline_name": "流类库与输入/输出", "shixun_count": "0", "video_count": "2", "parent": 10, "key": "101" }, { "shixun_name": "流类库与输入输出(1)", "shixun_type": "视频", "url": "https://video.educoder.net/c9e76b949ee847fbb89a926220526692/b80ff8d09a87bfde1064f5b73ae7c34b-hd.m3u8", "parent": "101", "key": "1011" }, { "shixun_name": "流类库与输入输出(2)", "shixun_type": "视频", "url": "https://video.educoder.net/65c02365a4ad40858b69b8cbe3ca4aa1/18a2c5697d4a84a971c500565509f038-hd.m3u8", "parent": "101", "key": "1012" }, { "shixun_name": "流类库与输入/输出", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/hsvuixpm/challenges", "parent": "101", "key": "1013" }, { "stage_name": "异常处理", "parent": 0, "key": 9911 }, { "discipline_name": "异常处理", "shixun_count": "1", "video_count": "1", "parent": 9911, "key": "99111" }, { "shixun_name": "异常处理", "shixun_type": "视频", "url": "https://video.educoder.net/c95499dd4c064584914e32fca9563717/98a8be24326e3eb35375713f5ccbb8bb-hd.m3u8", "parent": "99111", "key": "991111" }, { "shixun_name": "编写异常处理的类", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/nlt6f7ae/challenges", "parent": "99111", "key": "991112" }].map(function (item) { item.parent = Number(item.parent); item.key = Number(item.key); return item; }), before: [{ "stage_name": "考前学习", "parent": 9999999, "key": 0 }, { "stage_name": "绪论", "parent": 0, "key": 1 }, { "discipline_name": "绪论", "shixun_count": "1", "video_count": "2", "parent": 1, "key": "11" }, { "shixun_name": "绪论1", "shixun_type": "视频", "url": "https://video.educoder.net/f066ae1a9a8f418f837e5bf8d02b2690/76df907c20efd95bea0fa23424f10693-hd.m3u8", "parent": "11", "key": "111" }, { "shixun_name": "绪论2", "shixun_type": "视频", "url": "https://video.educoder.net/068ca7853da448c794eeffb0dee8bed4/5bb446a882043683e37474ff408f601b-hd.m3u8", "parent": "11", "key": "112" }, { "shixun_name": "C++开发环境应用入门", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/zxb937qn/challenges", "parent": "11", "key": "113" }, { "stage_name": "简单程序设计", "parent": 0, "key": 2 }, { "discipline_name": "基础数据类型和表达式", "shixun_count": "1", "video_count": "1", "parent": 2, "key": "21" }, { "shixun_name": "基础数据类型和表达式", "shixun_type": "视频", "url": "https://video.educoder.net/f5f9c87860cb4a98ba86da37b5bfac70/8d50a9c4d5d4d3382c09bad3f4c5dcb6-hd.m3u8", "parent": "21", "key": "211" }, { "shixun_name": "C++简单程序设计", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/lg5afhzv/challenges", "parent": "21", "key": "212" }, { "stage_name": "函数", "parent": 0, "key": 3 }, { "discipline_name": "函数的定义与调用", "shixun_count": "2", "video_count": "1", "parent": 3, "key": "31" }, { "shixun_name": "函数的定义与调用", "shixun_type": "视频", "url": "https://video.educoder.net/c10e39b3afb14ad0b890368aa1751821/ef361445294452e1d9bfacae80b3ec2f-hd.m3u8", "parent": "31", "key": "311" }, { "shixun_name": "C++函数的定义与调用1", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/3q4isevr/challenges", "parent": "31", "key": "312" }, { "shixun_name": "C++函数的定义与调用2", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/tlhxwo64/challenges", "parent": "31", "key": "313" }, { "discipline_name": "递归函数", "shixun_count": "2", "video_count": "1", "parent": 3, "key": "32" }, { "shixun_name": "函数的递归调用", "shixun_type": "视频", "url": "https://video.educoder.net/51a0935ddc884f1b9f6c1395f2011425/7308cd65a7fe1d13eebe2600054d29c7-hd.m3u8", "parent": "32", "key": "321" }, { "shixun_name": "递归函数编写入门", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/4qjw9t32/challenges", "parent": "32", "key": "322" }, { "shixun_name": "逆序输出(使用递归解决)", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/oxtrf27l/challenges", "parent": "32", "key": "323" }, { "stage_name": "类和对象", "parent": 0, "key": 4 }, { "discipline_name": "构造函数和析构函数", "shixun_count": "2", "video_count": "1", "parent": 4, "key": "41" }, { "shixun_name": "构造函数和析构函数", "shixun_type": "视频", "url": "https://video.educoder.net/b4e17c1e8c8d449f862af9ea94fa9522/bad9e739addf73679a70e38a9d2cc32c-hd.m3u8", "parent": "41", "key": "411" }, { "shixun_name": "定义和使用结构", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/igwom4hs/challenges", "parent": "41", "key": "412" }, { "shixun_name": "定义和使用结构体", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/5yo6rw3f/challenges", "parent": "41", "key": "413" }, { "stage_name": "数据的共享与保护", "parent": 0, "key": 5 }, { "discipline_name": "数据的共享与保护", "shixun_count": "1", "video_count": "1", "parent": 5, "key": "51" }, { "shixun_name": "数据的共享与保护", "shixun_type": "视频", "url": "https://video.educoder.net/fde33b24ff2b4bf5bc5e238dc473df8e/3cf407a74af29554226084d17fa17858-hd.m3u8", "parent": "51", "key": "511" }, { "shixun_name": "C++程序的结构", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/yqbh3fx5/challenges", "parent": "51", "key": "512" }, { "stage_name": "数组、指针与字符串", "parent": 0, "key": 6 }, { "discipline_name": "数组", "shixun_count": "1", "video_count": "1", "parent": 6, "key": "61" }, { "shixun_name": "数组", "shixun_type": "视频", "url": "https://www.educoder.net/video/7785?subject_id=jpl5vs26", "parent": "61", "key": "611" }, { "shixun_name": "平均成绩与简单统计", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/4wcfgm5q/challenges", "parent": "61", "key": "612" }, { "stage_name": "类的继承", "parent": 0, "key": 7 }, { "discipline_name": "类的继承", "shixun_count": "1", "video_count": "3", "parent": 7, "key": "71" }, { "shixun_name": "类的继承(1)", "shixun_type": "视频", "url": "https://video.educoder.net/1eedcdb9ec43442c93780f04859c9aa9/631b8c88eb263877d24637d5b8d54dc5-hd.m3u8", "parent": "71", "key": "711" }, { "shixun_name": "类的继承(2)", "shixun_type": "视频", "url": "https://video.educoder.net/fc1e7d8d8140469ba1bc01ee64fcc3c1/9256d13f4a14ae17ba9cac9f895b8a9d-hd.m3u8", "parent": "71", "key": "712" }, { "shixun_name": "类的继承(3)", "shixun_type": "视频", "url": "https://www.educoder.net/video/7806?subject_id=jpl5vs26", "parent": "71", "key": "713" }, { "shixun_name": "继承与派生", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/f83ipgyo/challenges", "parent": "71", "key": "714" }, { "stage_name": "模板与群体数据", "parent": 0, "key": 8 }, { "discipline_name": "模板与群体数据", "shixun_count": "0", "video_count": "1", "parent": 8, "key": "81" }, { "shixun_name": "模板与群体数据(1)", "shixun_type": "视频", "url": "https://video.educoder.net/8dcf418d2d16404d91af1780f669e549/eb538592d8a3b98e1c2f7f844f85b778-hd.m3u8", "parent": "81", "key": "811" }, { "stage_name": "泛型程序设计与C++标准模板库", "parent": 0, "key": 9 }, { "discipline_name": "泛型程序设计与C++标准模板库", "shixun_count": "0", "video_count": "1", "parent": 9, "key": "91" }, { "shixun_name": "泛型程序设计与C++标准模板库(1)", "shixun_type": "视频", "url": "https://video.educoder.net/2f3154d695a542fbaba5c483d8d7f7a9/aea4302c51501634469ed4b91462c810-hd.m3u8", "parent": "91", "key": "911" }, { "shixun_name": "泛型程序设计与C++标准模板库(2)", "shixun_type": "视频", "url": "https://video.educoder.net/23be6a61e4e54db398b9172b1213a1f2/3f1e88f97957369e29ef2bde63640004-hd.m3u8", "parent": "91", "key": "912" }, { "stage_name": "流类库与输入/输出", "parent": 0, "key": 10 }, { "discipline_name": "流类库与输入/输出", "shixun_count": "0", "video_count": "1", "parent": 10, "key": "101" }, { "shixun_name": "流类库与输入输出(1)", "shixun_type": "视频", "url": "https://video.educoder.net/c9e76b949ee847fbb89a926220526692/b80ff8d09a87bfde1064f5b73ae7c34b-hd.m3u8", "parent": "101", "key": "1011" }, { "stage_name": "异常处理", "parent": 0, "key": 9911 }, { "discipline_name": "异常处理", "shixun_count": "1", "video_count": "1", "parent": 9911, "key": "99111" }, { "shixun_name": "异常处理", "shixun_type": "视频", "url": "https://video.educoder.net/c95499dd4c064584914e32fca9563717/98a8be24326e3eb35375713f5ccbb8bb-hd.m3u8", "parent": "99111", "key": "991111" }, { "shixun_name": "编写异常处理的类", "shixun_type": "实训", "url": "https://www.educoder.net/shixuns/nlt6f7ae/challenges", "parent": "99111", "key": "991112" }].map(function (item) { item.parent = Number(item.parent); item.key = Number(item.key); return item; }) }; // EXTERNAL MODULE: ./src/pages/Classrooms/Lists/components/TabMenu/index.tsx + 1 modules var TabMenu = __webpack_require__(63989); // EXTERNAL MODULE: ./src/components/Video/Play/index.jsx + 1 modules var Play = __webpack_require__(74321); // EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js var jsx_runtime = __webpack_require__(37712); ;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/LearningPath/index.tsx var ShixunsListPage = function ShixunsListPage(_ref) { var classroomList = _ref.classroomList, loading = _ref.loading, dispatch = _ref.dispatch; var _useSearchParams = (0,_umi_production_exports.useSearchParams)(), _useSearchParams2 = slicedToArray_default()(_useSearchParams, 1), searchParams = _useSearchParams2[0]; var _useState = (0,_react_17_0_2_react.useState)(objectSpread2_default()({}, (0,_umi_production_exports.useParams)())), _useState2 = slicedToArray_default()(_useState, 1), params = _useState2[0]; var _useState3 = (0,_react_17_0_2_react.useState)("init"), _useState4 = slicedToArray_default()(_useState3, 2), currentKey = _useState4[0], setCurrentKey = _useState4[1]; var _useState5 = (0,_react_17_0_2_react.useState)(""), _useState6 = slicedToArray_default()(_useState5, 2), videoUrl = _useState6[0], setVideoUrl = _useState6[1]; var iframeRef = (0,_react_17_0_2_react.useRef)(); (0,_react_17_0_2_react.useEffect)(function () { var key = searchParams.get("tabId"); if (key) { setCurrentKey(key); params.status = key; //似乎没用到 } }, [params['categoryId'], searchParams.get("tabId")]); var onMenuSelect = function onMenuSelect(v) { setCurrentKey(v.key); }; var Menus = [{ name: '初始学习', id: 'init' }, { name: '复习学习', id: 'review' }, { name: '考前学习', id: 'before' }]; var onMessage = function onMessage(data) { if (data.data.type === "playVideo") { setVideoUrl(data.data.url); } }; (0,_react_17_0_2_react.useEffect)(function () { if (currentKey) { sendData(); } window.addEventListener("message", onMessage); }, [currentKey]); var sendData = function sendData() { var _iframeRef$current$co; (_iframeRef$current$co = iframeRef.current.contentWindow) === null || _iframeRef$current$co === void 0 || _iframeRef$current$co.postMessage({ data: learningData[currentKey] }, '*'); // Fetch(`/api/courses/${params.coursesId}/ilearning_study.json`, { // method: 'get', // params: { // scene: currentKey == 'init' ? 0 : (currentKey == 'review' ? 1 : 2) // } // }).then((res) => { // if (res.status === 0) { // iframeRef.current.contentWindow?.postMessage( // { // data: learningData[currentKey] // // data: res?.data?.stages // }, // '*', // ); // } // }) }; return /*#__PURE__*/(0,jsx_runtime.jsxs)("section", { children: [/*#__PURE__*/(0,jsx_runtime.jsx)(TabMenu/* default */.Z, { isLoading: loading['classroomList/getClassroomAttendancesList'], tabDataSource: Menus, isAdmin: (0,authority/* isAdmin */.GJ)(), onTabMenuClick: onMenuSelect, defaultSelectedKeys: [currentKey] }), /*#__PURE__*/(0,jsx_runtime.jsx)("section", { children: /*#__PURE__*/(0,jsx_runtime.jsx)(skeleton/* default */.Z, { loading: loading['classroomList/getClassroomAttendancesList'], active: true, avatar: { size: 40 }, paragraph: { rows: 5 }, className: "mt30", children: /*#__PURE__*/(0,jsx_runtime.jsx)("iframe", { src: "/knowledgegraph/parseTree.html", onLoad: sendData, className: LearningPathmodules.iframe, ref: iframeRef }) }) }), /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, { open: !!videoUrl, onCancel: function onCancel() { return setVideoUrl(""); }, width: 800, footer: null, bodyStyle: { padding: 0 }, centered: true, destroyOnClose: true, children: /*#__PURE__*/(0,jsx_runtime.jsx)(Play/* default */.Z // ref={videoRef} // startTime={video_item?.last_point} , { src: videoUrl, autoPlay: true, toLog: false // videoId={video_item?.video_id} // logWatchHistory={handlLogWatchHistory} // handlePause={handlePause} // handlePlay={handlePlay} // videoSpeed={radioValue} // handlePlayEnded={handlePlayEnded} }) })] }); }; /* harmony default export */ var LearningPath = ((0,_umi_production_exports.connect)(function (_ref2) { var classroomList = _ref2.classroomList, loading = _ref2.loading, globalSetting = _ref2.globalSetting; return { classroomList: classroomList, globalSetting: globalSetting, loading: loading.effects }; })(ShixunsListPage)); /***/ }), /***/ 63989: /*!*****************************************************************************!*\ !*** ./src/pages/Classrooms/Lists/components/TabMenu/index.tsx + 1 modules ***! \*****************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; // EXPORTS __webpack_require__.d(__webpack_exports__, { Z: function() { return /* binding */ components_TabMenu; } }); // EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js var _react_17_0_2_react = __webpack_require__(59301); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/row/index.js var row = __webpack_require__(95237); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/col/index.js var col = __webpack_require__(43604); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/menu/index.js + 11 modules var menu = __webpack_require__(20834); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/dropdown/index.js + 1 modules var dropdown = __webpack_require__(38854); ;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/components/TabMenu/index.less?modules // extracted by mini-css-extract-plugin /* harmony default export */ var TabMenumodules = ({"tabMenuContainer":"tabMenuContainer___uf5IP","control":"control___GheLs","iconH":"iconH___Wzw_r","selectBtn":"selectBtn___mfEnI"}); // EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js var jsx_runtime = __webpack_require__(37712); ;// CONCATENATED MODULE: ./src/pages/Classrooms/Lists/components/TabMenu/index.tsx var TabMenu = function TabMenu(_ref) { var isLoading = _ref.isLoading, addText = _ref.addText, tabDataSource = _ref.tabDataSource, isAdmin = _ref.isAdmin, defaultSelectedKeys = _ref.defaultSelectedKeys, onTabMenuClick = _ref.onTabMenuClick, getDropdownMenu = _ref.getDropdownMenu, showControlButton = _ref.showControlButton, buttonText = _ref.buttonText, _ref$buttonIcon = _ref.buttonIcon, buttonIcon = _ref$buttonIcon === void 0 ? 'icon-tianjiadaohang' : _ref$buttonIcon, extraNode = _ref.extraNode, _ref$onButtonClick = _ref.onButtonClick, onButtonClick = _ref$onButtonClick === void 0 ? function () {} : _ref$onButtonClick; return /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: TabMenumodules.tabMenuContainer, children: /*#__PURE__*/(0,jsx_runtime.jsxs)(row/* default */.Z, { children: [/*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, { flex: "1", children: /*#__PURE__*/(0,jsx_runtime.jsx)(menu/* default */.Z, { onSelect: function onSelect(v) { return !isLoading ? onTabMenuClick(v) : {}; }, mode: "horizontal", selectedKeys: defaultSelectedKeys, children: tabDataSource.map(function (item) { return /*#__PURE__*/(0,jsx_runtime.jsxs)(menu/* default */.Z.Item, { children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", { className: "c-grey-666", children: item.name }), item.total !== undefined && isAdmin && /*#__PURE__*/(0,jsx_runtime.jsx)("span", { className: "c-grey-999 ml20", children: item.total || 0 })] }, typeof item.index === 'number' ? item.index : item.id); }) }) }), isAdmin && /*#__PURE__*/(0,jsx_runtime.jsx)(col/* default */.Z, { className: "mr20", children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: TabMenumodules.control, children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: TabMenumodules.extra, children: extraNode }), showControlButton && /*#__PURE__*/(0,jsx_runtime.jsxs)("span", { onClick: onButtonClick, style: { cursor: 'pointer' }, className: TabMenumodules.selectBtn, children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", { children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", { className: "iconfont ".concat(buttonIcon) }) }), /*#__PURE__*/(0,jsx_runtime.jsx)("span", { children: buttonText })] }), !!getDropdownMenu && /*#__PURE__*/(0,jsx_runtime.jsx)(dropdown/* default */.Z, { className: "ml10", dropdownRender: getDropdownMenu, children: /*#__PURE__*/(0,jsx_runtime.jsxs)("span", { className: TabMenumodules.selectBtn, children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", { children: /*#__PURE__*/(0,jsx_runtime.jsx)("i", { className: "iconfont icon-tianjiadaohang" }) }), /*#__PURE__*/(0,jsx_runtime.jsx)("span", { children: addText ? addText : '创建试卷' })] }) })] }) })] }) }); }; /* harmony default export */ var components_TabMenu = (TabMenu); /***/ }), /***/ 38854: /*!************************************************************************!*\ !*** ./node_modules/_antd@5.9.0@antd/es/dropdown/index.js + 1 modules ***! \************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; // EXPORTS __webpack_require__.d(__webpack_exports__, { Z: function() { return /* binding */ es_dropdown; } }); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/dropdown/dropdown.js var dropdown = __webpack_require__(91857); // EXTERNAL MODULE: ./node_modules/_classnames@2.3.2@classnames/index.js var _classnames_2_3_2_classnames = __webpack_require__(12124); var _classnames_2_3_2_classnames_default = /*#__PURE__*/__webpack_require__.n(_classnames_2_3_2_classnames); // EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js var _react_17_0_2_react = __webpack_require__(59301); // EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.2.6@@ant-design/icons/es/icons/EllipsisOutlined.js + 1 modules var EllipsisOutlined = __webpack_require__(93319); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/button/index.js var es_button = __webpack_require__(3113); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/config-provider/context.js var context = __webpack_require__(36355); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/space/index.js + 3 modules var space = __webpack_require__(81327); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/space/Compact.js var Compact = __webpack_require__(33234); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/dropdown/style/index.js + 1 modules var style = __webpack_require__(47211); ;// CONCATENATED MODULE: ./node_modules/_antd@5.9.0@antd/es/dropdown/dropdown-button.js "use client"; var __rest = undefined && undefined.__rest || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]]; } return t; }; const DropdownButton = props => { const { getPopupContainer: getContextPopupContainer, getPrefixCls, direction } = _react_17_0_2_react.useContext(context/* ConfigContext */.E_); const { prefixCls: customizePrefixCls, type = 'default', danger, disabled, loading, onClick, htmlType, children, className, menu, arrow, autoFocus, overlay, trigger, align, open, onOpenChange, placement, getPopupContainer, href, icon = /*#__PURE__*/_react_17_0_2_react.createElement(EllipsisOutlined/* default */.Z, null), title, buttonsRender = buttons => buttons, mouseEnterDelay, mouseLeaveDelay, overlayClassName, overlayStyle, destroyPopupOnHide, dropdownRender } = props, restProps = __rest(props, ["prefixCls", "type", "danger", "disabled", "loading", "onClick", "htmlType", "children", "className", "menu", "arrow", "autoFocus", "overlay", "trigger", "align", "open", "onOpenChange", "placement", "getPopupContainer", "href", "icon", "title", "buttonsRender", "mouseEnterDelay", "mouseLeaveDelay", "overlayClassName", "overlayStyle", "destroyPopupOnHide", "dropdownRender"]); const prefixCls = getPrefixCls('dropdown', customizePrefixCls); const buttonPrefixCls = `${prefixCls}-button`; const [wrapSSR, hashId] = (0,style/* default */.Z)(prefixCls); const dropdownProps = { menu, arrow, autoFocus, align, disabled, trigger: disabled ? [] : trigger, onOpenChange, getPopupContainer: getPopupContainer || getContextPopupContainer, mouseEnterDelay, mouseLeaveDelay, overlayClassName, overlayStyle, destroyPopupOnHide, dropdownRender }; const { compactSize, compactItemClassnames } = (0,Compact/* useCompactItemContext */.ri)(prefixCls, direction); const classes = _classnames_2_3_2_classnames_default()(buttonPrefixCls, compactItemClassnames, className, hashId); if ('overlay' in props) { dropdownProps.overlay = overlay; } if ('open' in props) { dropdownProps.open = open; } if ('placement' in props) { dropdownProps.placement = placement; } else { dropdownProps.placement = direction === 'rtl' ? 'bottomLeft' : 'bottomRight'; } const leftButton = /*#__PURE__*/_react_17_0_2_react.createElement(es_button/* default */.ZP, { type: type, danger: danger, disabled: disabled, loading: loading, onClick: onClick, htmlType: htmlType, href: href, title: title }, children); const rightButton = /*#__PURE__*/_react_17_0_2_react.createElement(es_button/* default */.ZP, { type: type, danger: danger, icon: icon }); const [leftButtonToRender, rightButtonToRender] = buttonsRender([leftButton, rightButton]); return wrapSSR( /*#__PURE__*/_react_17_0_2_react.createElement(space/* default */.Z.Compact, Object.assign({ className: classes, size: compactSize, block: true }, restProps), leftButtonToRender, /*#__PURE__*/_react_17_0_2_react.createElement(dropdown/* default */.Z, Object.assign({}, dropdownProps), rightButtonToRender))); }; DropdownButton.__ANT_BUTTON = true; /* harmony default export */ var dropdown_button = (DropdownButton); ;// CONCATENATED MODULE: ./node_modules/_antd@5.9.0@antd/es/dropdown/index.js "use client"; const Dropdown = dropdown/* default */.Z; Dropdown.Button = dropdown_button; /* harmony default export */ var es_dropdown = (Dropdown); /***/ }), /***/ 81327: /*!*********************************************************************!*\ !*** ./node_modules/_antd@5.9.0@antd/es/space/index.js + 3 modules ***! \*********************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; // EXPORTS __webpack_require__.d(__webpack_exports__, { Z: function() { return /* binding */ space; } }); // UNUSED EXPORTS: SpaceContext // EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js var _react_17_0_2_react = __webpack_require__(59301); // EXTERNAL MODULE: ./node_modules/_classnames@2.3.2@classnames/index.js var _classnames_2_3_2_classnames = __webpack_require__(12124); var _classnames_2_3_2_classnames_default = /*#__PURE__*/__webpack_require__.n(_classnames_2_3_2_classnames); // EXTERNAL MODULE: ./node_modules/_rc-util@5.38.1@rc-util/es/Children/toArray.js var toArray = __webpack_require__(45659); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/config-provider/context.js var context = __webpack_require__(36355); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/space/Compact.js var Compact = __webpack_require__(33234); ;// CONCATENATED MODULE: ./node_modules/_antd@5.9.0@antd/es/space/context.js const SpaceContext = /*#__PURE__*/_react_17_0_2_react.createContext({ latestIndex: 0 }); const SpaceContextProvider = SpaceContext.Provider; ;// CONCATENATED MODULE: ./node_modules/_antd@5.9.0@antd/es/space/Item.js "use client"; const Item = _ref => { let { className, index, children, split, style } = _ref; const { latestIndex } = _react_17_0_2_react.useContext(SpaceContext); if (children === null || children === undefined) { return null; } return /*#__PURE__*/_react_17_0_2_react.createElement(_react_17_0_2_react.Fragment, null, /*#__PURE__*/_react_17_0_2_react.createElement("div", { className: className, style: style }, children), index < latestIndex && split && /*#__PURE__*/_react_17_0_2_react.createElement("span", { className: `${className}-split` }, split)); }; /* harmony default export */ var space_Item = (Item); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/space/style/index.js + 1 modules var space_style = __webpack_require__(2856); ;// CONCATENATED MODULE: ./node_modules/_antd@5.9.0@antd/es/space/utils.js function isPresetSize(size) { return ['small', 'middle', 'large'].includes(size); } function isValidGapNumber(size) { if (!size) { // The case of size = 0 is deliberately excluded here, because the default value of the gap attribute in CSS is 0, so if the user passes 0 in, we can directly ignore it. return false; } return typeof size === 'number' && !Number.isNaN(size); } ;// CONCATENATED MODULE: ./node_modules/_antd@5.9.0@antd/es/space/index.js "use client"; var __rest = undefined && undefined.__rest || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]]; } return t; }; const Space = /*#__PURE__*/_react_17_0_2_react.forwardRef((props, ref) => { var _a, _b; const { getPrefixCls, space, direction: directionConfig } = _react_17_0_2_react.useContext(context/* ConfigContext */.E_); const { size = (space === null || space === void 0 ? void 0 : space.size) || 'small', align, className, rootClassName, children, direction = 'horizontal', prefixCls: customizePrefixCls, split, style, wrap = false, classNames: customClassNames, styles } = props, otherProps = __rest(props, ["size", "align", "className", "rootClassName", "children", "direction", "prefixCls", "split", "style", "wrap", "classNames", "styles"]); const [horizontalSize, verticalSize] = Array.isArray(size) ? size : [size, size]; const isPresetVerticalSize = isPresetSize(verticalSize); const isPresetHorizontalSize = isPresetSize(horizontalSize); const isValidVerticalSize = isValidGapNumber(verticalSize); const isValidHorizontalSize = isValidGapNumber(horizontalSize); const childNodes = (0,toArray/* default */.Z)(children, { keepEmpty: true }); const mergedAlign = align === undefined && direction === 'horizontal' ? 'center' : align; const prefixCls = getPrefixCls('space', customizePrefixCls); const [wrapSSR, hashId] = (0,space_style/* default */.Z)(prefixCls); const cls = _classnames_2_3_2_classnames_default()(prefixCls, space === null || space === void 0 ? void 0 : space.className, hashId, `${prefixCls}-${direction}`, { [`${prefixCls}-rtl`]: directionConfig === 'rtl', [`${prefixCls}-align-${mergedAlign}`]: mergedAlign, [`${prefixCls}-gap-row-${verticalSize}`]: isPresetVerticalSize, [`${prefixCls}-gap-col-${horizontalSize}`]: isPresetHorizontalSize }, className, rootClassName); const itemClassName = _classnames_2_3_2_classnames_default()(`${prefixCls}-item`, (_a = customClassNames === null || customClassNames === void 0 ? void 0 : customClassNames.item) !== null && _a !== void 0 ? _a : (_b = space === null || space === void 0 ? void 0 : space.classNames) === null || _b === void 0 ? void 0 : _b.item); // Calculate latest one let latestIndex = 0; const nodes = childNodes.map((child, i) => { var _a, _b; if (child !== null && child !== undefined) { latestIndex = i; } const key = child && child.key || `${itemClassName}-${i}`; return /*#__PURE__*/_react_17_0_2_react.createElement(space_Item, { className: itemClassName, key: key, index: i, split: split, style: (_a = styles === null || styles === void 0 ? void 0 : styles.item) !== null && _a !== void 0 ? _a : (_b = space === null || space === void 0 ? void 0 : space.styles) === null || _b === void 0 ? void 0 : _b.item }, child); }); const spaceContext = _react_17_0_2_react.useMemo(() => ({ latestIndex }), [latestIndex]); // =========================== Render =========================== if (childNodes.length === 0) { return null; } const gapStyle = {}; if (wrap) { gapStyle.flexWrap = 'wrap'; } if (!isPresetHorizontalSize && isValidHorizontalSize) { gapStyle.columnGap = horizontalSize; } if (!isPresetVerticalSize && isValidVerticalSize) { gapStyle.rowGap = verticalSize; } return wrapSSR( /*#__PURE__*/_react_17_0_2_react.createElement("div", Object.assign({ ref: ref, className: cls, style: Object.assign(Object.assign(Object.assign({}, gapStyle), space === null || space === void 0 ? void 0 : space.style), style) }, otherProps), /*#__PURE__*/_react_17_0_2_react.createElement(SpaceContextProvider, { value: spaceContext }, nodes))); }); if (false) {} const CompoundedSpace = Space; CompoundedSpace.Compact = Compact/* default */.ZP; /* harmony default export */ var space = (CompoundedSpace); /***/ }), /***/ 92899: /*!***************************************************************!*\ !*** ./node_modules/_antd@5.9.0@antd/es/style/motion/move.js ***! \***************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ Fm: function() { return /* binding */ initMoveMotion; } /* harmony export */ }); /* unused harmony exports moveDownIn, moveDownOut, moveLeftIn, moveLeftOut, moveRightIn, moveRightOut, moveUpIn, moveUpOut */ /* harmony import */ var _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ant-design/cssinjs */ 84608); /* harmony import */ var _motion__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./motion */ 95406); const moveDownIn = new _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__.Keyframes('antMoveDownIn', { '0%': { transform: 'translate3d(0, 100%, 0)', transformOrigin: '0 0', opacity: 0 }, '100%': { transform: 'translate3d(0, 0, 0)', transformOrigin: '0 0', opacity: 1 } }); const moveDownOut = new _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__.Keyframes('antMoveDownOut', { '0%': { transform: 'translate3d(0, 0, 0)', transformOrigin: '0 0', opacity: 1 }, '100%': { transform: 'translate3d(0, 100%, 0)', transformOrigin: '0 0', opacity: 0 } }); const moveLeftIn = new _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__.Keyframes('antMoveLeftIn', { '0%': { transform: 'translate3d(-100%, 0, 0)', transformOrigin: '0 0', opacity: 0 }, '100%': { transform: 'translate3d(0, 0, 0)', transformOrigin: '0 0', opacity: 1 } }); const moveLeftOut = new _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__.Keyframes('antMoveLeftOut', { '0%': { transform: 'translate3d(0, 0, 0)', transformOrigin: '0 0', opacity: 1 }, '100%': { transform: 'translate3d(-100%, 0, 0)', transformOrigin: '0 0', opacity: 0 } }); const moveRightIn = new _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__.Keyframes('antMoveRightIn', { '0%': { transform: 'translate3d(100%, 0, 0)', transformOrigin: '0 0', opacity: 0 }, '100%': { transform: 'translate3d(0, 0, 0)', transformOrigin: '0 0', opacity: 1 } }); const moveRightOut = new _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__.Keyframes('antMoveRightOut', { '0%': { transform: 'translate3d(0, 0, 0)', transformOrigin: '0 0', opacity: 1 }, '100%': { transform: 'translate3d(100%, 0, 0)', transformOrigin: '0 0', opacity: 0 } }); const moveUpIn = new _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__.Keyframes('antMoveUpIn', { '0%': { transform: 'translate3d(0, -100%, 0)', transformOrigin: '0 0', opacity: 0 }, '100%': { transform: 'translate3d(0, 0, 0)', transformOrigin: '0 0', opacity: 1 } }); const moveUpOut = new _ant_design_cssinjs__WEBPACK_IMPORTED_MODULE_0__.Keyframes('antMoveUpOut', { '0%': { transform: 'translate3d(0, 0, 0)', transformOrigin: '0 0', opacity: 1 }, '100%': { transform: 'translate3d(0, -100%, 0)', transformOrigin: '0 0', opacity: 0 } }); const moveMotion = { 'move-up': { inKeyframes: moveUpIn, outKeyframes: moveUpOut }, 'move-down': { inKeyframes: moveDownIn, outKeyframes: moveDownOut }, 'move-left': { inKeyframes: moveLeftIn, outKeyframes: moveLeftOut }, 'move-right': { inKeyframes: moveRightIn, outKeyframes: moveRightOut } }; const initMoveMotion = (token, motionName) => { const { antCls } = token; const motionCls = `${antCls}-${motionName}`; const { inKeyframes, outKeyframes } = moveMotion[motionName]; return [(0,_motion__WEBPACK_IMPORTED_MODULE_1__/* .initMotion */ .R)(motionCls, inKeyframes, outKeyframes, token.motionDurationMid), { [` ${motionCls}-enter, ${motionCls}-appear `]: { opacity: 0, animationTimingFunction: token.motionEaseOutCirc }, [`${motionCls}-leave`]: { animationTimingFunction: token.motionEaseInOutCirc } }]; }; /***/ }), /***/ 25769: /*!**************************************************************************!*\ !*** ./node_modules/_copy-to-clipboard@3.3.3@copy-to-clipboard/index.js ***! \**************************************************************************/ /***/ (function(module, __unused_webpack_exports, __webpack_require__) { "use strict"; var deselectCurrent = __webpack_require__(/*! toggle-selection */ 98040); var clipboardToIE11Formatting = { "text/plain": "Text", "text/html": "Url", "default": "Text" } var defaultMessage = "Copy to clipboard: #{key}, Enter"; function format(message) { var copyKey = (/mac os x/i.test(navigator.userAgent) ? "⌘" : "Ctrl") + "+C"; return message.replace(/#{\s*key\s*}/g, copyKey); } function copy(text, options) { var debug, message, reselectPrevious, range, selection, mark, success = false; if (!options) { options = {}; } debug = options.debug || false; try { reselectPrevious = deselectCurrent(); range = document.createRange(); selection = document.getSelection(); mark = document.createElement("span"); mark.textContent = text; // avoid screen readers from reading out loud the text mark.ariaHidden = "true" // reset user styles for span element mark.style.all = "unset"; // prevents scrolling to the end of the page mark.style.position = "fixed"; mark.style.top = 0; mark.style.clip = "rect(0, 0, 0, 0)"; // used to preserve spaces and line breaks mark.style.whiteSpace = "pre"; // do not inherit user-select (it may be `none`) mark.style.webkitUserSelect = "text"; mark.style.MozUserSelect = "text"; mark.style.msUserSelect = "text"; mark.style.userSelect = "text"; mark.addEventListener("copy", function(e) { e.stopPropagation(); if (options.format) { e.preventDefault(); if (typeof e.clipboardData === "undefined") { // IE 11 debug && console.warn("unable to use e.clipboardData"); debug && console.warn("trying IE specific stuff"); window.clipboardData.clearData(); var format = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting["default"] window.clipboardData.setData(format, text); } else { // all other browsers e.clipboardData.clearData(); e.clipboardData.setData(options.format, text); } } if (options.onCopy) { e.preventDefault(); options.onCopy(e.clipboardData); } }); document.body.appendChild(mark); range.selectNodeContents(mark); selection.addRange(range); var successful = document.execCommand("copy"); if (!successful) { throw new Error("copy command was unsuccessful"); } success = true; } catch (err) { debug && console.error("unable to copy using execCommand: ", err); debug && console.warn("trying IE specific stuff"); try { window.clipboardData.setData(options.format || "text", text); options.onCopy && options.onCopy(window.clipboardData); success = true; } catch (err) { debug && console.error("unable to copy using clipboardData: ", err); debug && console.error("falling back to prompt"); message = format("message" in options ? options.message : defaultMessage); window.prompt(message, text); } } finally { if (selection) { if (typeof selection.removeRange == "function") { selection.removeRange(range); } else { selection.removeAllRanges(); } } if (mark) { document.body.removeChild(mark); } reselectPrevious(); } return success; } module.exports = copy; /***/ }), /***/ 83145: /*!**********************************************************************************************!*\ !*** ./node_modules/_react-copy-to-clipboard@5.0.2@react-copy-to-clipboard/lib/Component.js ***! \**********************************************************************************************/ /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.CopyToClipboard = void 0; var _react = _interopRequireDefault(__webpack_require__(/*! react */ 59301)); var _copyToClipboard = _interopRequireDefault(__webpack_require__(/*! copy-to-clipboard */ 25769)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } var CopyToClipboard = /*#__PURE__*/ function (_React$PureComponent) { _inherits(CopyToClipboard, _React$PureComponent); function CopyToClipboard() { var _getPrototypeOf2; var _this; _classCallCheck(this, CopyToClipboard); for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(CopyToClipboard)).call.apply(_getPrototypeOf2, [this].concat(args))); _defineProperty(_assertThisInitialized(_this), "onClick", function (event) { var _this$props = _this.props, text = _this$props.text, onCopy = _this$props.onCopy, children = _this$props.children, options = _this$props.options; var elem = _react["default"].Children.only(children); var result = (0, _copyToClipboard["default"])(text, options); if (onCopy) { onCopy(text, result); } // Bypass onClick if it was present if (elem && elem.props && typeof elem.props.onClick === 'function') { elem.props.onClick(event); } }); return _this; } _createClass(CopyToClipboard, [{ key: "render", value: function render() { var _this$props2 = this.props, _text = _this$props2.text, _onCopy = _this$props2.onCopy, _options = _this$props2.options, children = _this$props2.children, props = _objectWithoutProperties(_this$props2, ["text", "onCopy", "options", "children"]); var elem = _react["default"].Children.only(children); return _react["default"].cloneElement(elem, _objectSpread({}, props, { onClick: this.onClick })); } }]); return CopyToClipboard; }(_react["default"].PureComponent); exports.CopyToClipboard = CopyToClipboard; _defineProperty(CopyToClipboard, "defaultProps", { onCopy: undefined, options: undefined }); /***/ }), /***/ 56102: /*!******************************************************************************************!*\ !*** ./node_modules/_react-copy-to-clipboard@5.0.2@react-copy-to-clipboard/lib/index.js ***! \******************************************************************************************/ /***/ (function(module, __unused_webpack_exports, __webpack_require__) { "use strict"; var _require = __webpack_require__(/*! ./Component */ 83145), CopyToClipboard = _require.CopyToClipboard; CopyToClipboard.CopyToClipboard = CopyToClipboard; module.exports = CopyToClipboard; /***/ }), /***/ 98040: /*!************************************************************************!*\ !*** ./node_modules/_toggle-selection@1.0.6@toggle-selection/index.js ***! \************************************************************************/ /***/ (function(module) { module.exports = function () { var selection = document.getSelection(); if (!selection.rangeCount) { return function () {}; } var active = document.activeElement; var ranges = []; for (var i = 0; i < selection.rangeCount; i++) { ranges.push(selection.getRangeAt(i)); } switch (active.tagName.toUpperCase()) { // .toUpperCase handles XHTML case 'INPUT': case 'TEXTAREA': active.blur(); break; default: active = null; break; } selection.removeAllRanges(); return function () { selection.type === 'Caret' && selection.removeAllRanges(); if (!selection.rangeCount) { ranges.forEach(function(range) { selection.addRange(range); }); } active && active.focus(); }; }; /***/ }) }]);