import React, { Component } from 'react';
import {getImageUrl} from 'educoder';
import {Tooltip,Modal,Icon,Spin,message} from 'antd';
import '../../paths/ShixunPaths.css';
import DetailCardsEditAndAdd from './DetailCardsEditAndAdd';
import DetailCardsEditAndEdit from './DetailCardsEditAndEdit';
import { BrowserRouter as Router, Route, Link } from "react-router-dom";
import axios from 'axios';
import { DragDropContext , Draggable, Droppable} from 'react-beautiful-dnd';
import Modals from '../../modals/Modals';
const $ = window.$
//
// //a little function to help us with reordering the result
// const reorder = (list, startIndex, endIndex) => {
// let newlist=list;
// const result = Array.from(newlist.shixuns_list);
// const [removed] = result.splice(startIndex, 1);
// result.splice(endIndex, 0, removed);
// newlist.shixuns_list=result;
// return newlist;
// };
//
class DetailCards extends Component{
constructor(props){
super(props)
this.state={
pathCardsList:undefined,
dropid:undefined,
dropidtype:false,
idsum:undefined,
pathCardsedittype:false,
pathlistedit:undefined,
pathid:undefined,
Modalstype:false,
Modalstopval:'',
Modalsbottomval:'',
cardsModalsave:this.cardsModalsave,
cardsModalcancel:this.cardsModalcancel,
delecttype:false,
editdelectid:undefined,
editbuttomtype:false,
editbuttomtypeadd:false,
showparagraph:false,
showparagraphkey:"",
showparagraphindex:"",
isSpin:false
}
// this.onDragEnd = this.onDragEnd.bind(this);
}
getPathCardsList(){
let pathid=this.props.match.params.pathId;
let url=`/stages.json?subject_id=`+pathid;
axios.get(url).then((result)=>{
if(result.status===200){
this.setState({
pathCardsList:result.data.stages,
})
}
}).catch((error)=>{
console.log(error);
})
}
for_paragraph = (index) =>{
$("#detail_for_paragraph_"+index).slideToggle(500);
}
componentDidMount(){
let pathid=this.props.match.params.pathId;
this.setState({
pathid:pathid
})
this.getPathCardsList();
}
// onDragStart = () => {
// /*...*/
// };
// onDragUpdate = () => {
// /*...*/
// }
//
// onDragEnd (result) {
//
// let{pathCardsList}=this.state;
// // dropped outside the list
// let newpathCardsList=pathCardsList;
// if(!result.destination) {
// return;
// }
// var sum=result.source.droppableId.replace('ids','')
// sum=parseInt(sum)
//
// const items = reorder(
// newpathCardsList[sum],
// result.source.index,
// result.destination.index
// );
// newpathCardsList[sum]=items
// this.setState({
// pathCardsList:newpathCardsList
// })
// }
pathCardsedit=(key,pathid)=>{
let url=`/stages/`+pathid+`/edit.json`;
axios.get(url).then((result)=>{
if(result.status===200){
this.setState({
idsum:key,
pathCardsedittype:true,
pathlistedit:result.data,
editbuttomtype:true,
editbuttomtypeadd:true
})
}
}).catch((error)=>{
console.log(error);
})
}
updatapathCardsedit=()=>{
this.setState({
idsum:undefined,
pathCardsedittype:false,
editbuttomtype:false,
editbuttomtypeadd:false
})
this.getPathCardsList();
this.props.updatadetailInfoLists();
}
delectpathCardsedit=(id)=>{
this.setState({
Modalstype:true,
Modalstopval:'是否删除该章节?',
Modalsbottomval:'',
editdelectid:id,
delecttype:true,
})
}
delectpathCardseditfun=()=>{
let {delecttype,editdelectid}=this.state;
let id=editdelectid;
if(delecttype===true){
let url ='/stages/'+id+'.json'
axios.delete(url).then((response) => {
if(response.data.status===1){
// window.location.href = "/paths/" + response.data.subject_id
this.setState({
idsum:undefined,
pathCardsedittype:false,
Modalstype:false,
Modalstopval:'',
Modalsbottomval:'',
cardsModalsave:this.cardsModalsave,
delecttype:false,
editdelectid:undefined
})
this.getPathCardsList();
}
}).catch((error) => {
console.log(error)
})
}
}
// 关卡的上移下移操作
operations = (url) => {
let newurl = url+".json"
axios.get(newurl).then((response) => {
if(response.data.status===1){
this.getPathCardsList();
}
}).catch((error) => {
console.log(error);
})
}
startgameid=(id)=>{
let url = "/shixuns/" + id + "/shixun_exec.json";
axios.get(url).then((response) => {
if (response.data.status === -2) {
this.setState({
shixunsreplace:true,
hidestartshixunsreplacevalue:response.data.message+".json"
})
} else if (response.data.status === -1) {
console.log(response)
}else if(response.data.status===-3){
this.setState({
shixunsmessage:response.data.message,
startshixunCombattype:true,
})
} else {
window.location.href = "/tasks/" + response.data.game_identifier;
// window.location.href = path
// let path="/tasks/"+response.data.game_identifier;
// this.props.history.push(path);
}
}).catch((error) => {
});
}
hidestartshixunsreplace=(url)=>{
this.setState({
isSpin:true,
})
axios.get(url).then((response) => {
debugger
if(response.status===200){
// let path="/shixuns/"+response.data.shixun_identifier+"/challenges";
// this.props.history.push(path);
message.success('重置成功,正在进入实训!');
this.startgameid(response.data.shixun_identifier);
this.setState({
shixunsreplace:false,
isSpin:false,
startbtn:false,
})
// message.success('重置成功,正在进入实训!');
// this.startshixunCombat();
}}
).catch((error) => {
});
}
cardsModalcancel=()=>{
this.setState({
Modalstype:false,
Modalstopval:'',
Modalsbottomval:'',
editdelectid:undefined
})
}
cardsModalsave=()=>{
this.setState({
Modalstype:false,
Modalstopval:'',
Modalsbottomval:'',
editdelectid:undefined
})
}
editeditbuttomtypecanle=()=>{
this.setState({
editbuttomtype:true,
editbuttomtypeadd:false
})
}
showparagraph=(key,index)=>{
this.setState({
showparagraph:true,
showparagraphkey:key,
showparagraphindex:index
})
}
hideparagraph=()=>{
this.setState({
showparagraph:false
})
}
hidestartshixunCombattype=()=>{
this.setState({
startshixunCombattype:false
})
}
render(){
let { pathCardsList,
dropid,
dropidtype,
idsum,
pathCardsedittype,
pathlistedit,
pathid,
Modalstype,
Modalstopval,
Modalsbottomval,
cardsModalsave,
cardsModalcancel,
delecttype,
hidestartshixunsreplacevalue,
editbuttomtype,
editbuttomtypeadd,
showparagraph,
showparagraphkey,
showparagraphindex
}=this.state;
const antIcon =
本实训的开启时间:{this.state.shixunsmessage}
开启时间之前不能挑战
*/} {/*知道了*/} {/*
*/}实训已经更新了,正在为您重置!
{item.stage_name}
{
idsum===key&&pathCardsedittype===true?'':
this.props.detailInfoList===undefined?"":this.props.detailInfoList.allow_statistics===true?
{ editbuttomtype===true?'':
{item.stage_description}
{item.stage_description}
// // //