{"version":3,"sources":["components/DisplayNode.jsx","components/GeneratorInfo.jsx","components/SolverInfo.jsx","components/DisplayGrid.jsx","components/Settings.jsx","components/Menu.jsx","components/MenuKey.jsx","components/Footer.jsx","App.js","reportWebVitals.js","index.js"],"names":["DisplayNode","props","state","style","height","width","handelDragStart","bind","handelDragLeave","handelDragOver","handelDrop","this","setDragObject","start","end","setState","pos","e","preventDefault","backgroundColor","classList","draggable","wallLeft","push","wallBottom","type","filter","x","index","animation","animationDelay","speed","className","join","onDragStart","onDrop","onDragOver","onDragLeave","React","Component","GeneratorInfo","info","title","generator","SolverInfo","solver","heuristic","DisplayGrid","dragObject","renderTable","setStart","setEnd","Array","from","grid","keys","map","_","i","j","nodes","padding","generateAlgorithm","solveAlgorithm","Settings","show","handelSizeChange","setHeuristic","handleClickOutside","document","addEventListener","removeEventListener","event","domNode","ReactDOM","findDOMNode","contains","target","value","setSize","size","min","onChange","name","id","defaultValue","max","step","setSpeed","onClick","renderSettings","Menu","setAlgorithm","generate","setSolve","solve","clearGrid","MenuKey","Footer","marginTop","marginLeft","color","href","App","algorithm","solved","maze","api_endpoint","fetchGrid","solveGrid","should_solve","alert","node","a","clear_node_index","then","Promise","resolve","fetch","json","method","body","JSON","stringify","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","render","StrictMode","getElementById"],"mappings":"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","file":"static/js/main.b0ff8b27.chunk.js","sourcesContent":["import React from \"react\"\nexport default class DisplayNode extends React.Component{\n constructor(props){\n super(props)\n this.state = {\n style:{height:600/this.props.height, width:600/this.props.width}\n }\n //bind the methods to the object so that the \"this\" keyword refers to the object no matter where the method is called from\n this.handelDragStart = this.handelDragStart.bind(this);\n this.handelDragLeave = this.handelDragLeave.bind(this);\n this.handelDragOver = this.handelDragOver.bind(this);\n this.handelDrop = this.handelDrop.bind(this);\n }\n handelDragStart(){//set the type of node that is being dragged\n this.props.setDragObject(this.start ? \"start\" : this.end ? \"end\" : \"\")\n }\n handelDrop(){//move the node that was being dragged to the new position\n this.setState({style:{height:600/this.props.height, width:600/this.props.width}});\n this.props.handelDrop(this.props.pos)\n }\n handelDragOver(e){//when another node is dragged over this node, set the style of the node to be pink\n e.preventDefault();\n this.setState({\n style:{\n backgroundColor:\"pink\",\n height:600/this.props.height,\n width:600/this.props.width\n }\n })\n }\n handelDragLeave(){//remove the pink style when the node is no longer being dragged over\n this.setState({\n style:{height:600/this.props.height, width:600/this.props.width}\n })\n }\n render(){//render the node as a table cell\n //generate a list of css classes for this node\n this.classList = [\"node\"];\n //set default values for the node\n this.draggable = false;\n this.start = false;\n this.end = false;\n //add walls to the node classList\n if (this.props.wallLeft){\n this.classList.push(\"wall_left\")\n }\n if (this.props.wallBottom){\n this.classList.push(\"wall_bottom\")\n }\n //add path to node classList\n if (this.props.type === \"path\"){\n this.classList.push(\"node_path\")\n }else{\n //Remove the \"node_path\" item from the classList if it isn't a path, as when maze is resolved the nodes would remain a path node if it was a path node before.\n this.classList.filter(x => {return x !== \"node_path\"})\n }\n //add attributes for the start node or remove them if this node is no longer the start node\n if (this.props.pos[0] === this.props.start[0] && this.props.pos[1] === this.props.start[1]){\n this.classList.push(\"node_start\")\n this.draggable = true\n this.start = true\n }else{\n this.classList.filter(x => {return x !== \"node_start\"})\n this.start = false\n }\n //add attributes for the end node or remove them if this node is no longer the end node\n if (this.props.pos[0] === this.props.end[0] && this.props.pos[1] === this.props.end[1]){\n this.classList.push(\"node_end\")\n this.draggable = true\n this.end=true\n }else{\n this.classList.filter(x => {return x !== \"node_end\"})\n this.end=false\n }\n\n if(this.props.index){//Each node is given an index when it is visited so the order of the visited nodes can be visualized\n if (this.props.type !== \"path\"){//Add css animations for to show the visited nodes\n this.state.style = {\n animation: `visit_node 2s linear forwards`,\n animationDelay: `${this.props.index*this.props.speed}s`,\n height:600/this.props.height,\n width:600/this.props.width\n }\n }else{//Add css animations for to show the path nodes\n this.state.style = {\n animation: \"visit_node_path 2s linear forwards\",\n animationDelay: `${this.props.index*this.props.speed}s`,\n height:600/this.props.height,\n width:600/this.props.width\n } \n }\n }else{\n //removes the colour if the node is no longer visited after the maze is solved again\n if (!this.state.style.backgroundColor){\n this.state.style = {\n height:600/this.props.height,\n width:600/this.props.width\n }\n }\n }\n \n return(\n
\n {info}\n
\n\n {info}\n
\nSize
\n this.handelSizeChange(e)}/>\nGreedy Heuristic
\n \nSpeed
\n {this.props.setSpeed(0.3 - e.target.value)}} /> \nStart Node
\nFinish Node
\nPath Node
\nVisited Node
\nGitHub | This website was created by Oliver Temple for a Computer Science A Level NEA
\n