Skip to content

Commit 9273de0

Browse files
committed
✔Delete Method: Incomplete
1 parent d457c58 commit 9273de0

File tree

5 files changed

+71
-61
lines changed

5 files changed

+71
-61
lines changed

src/NodeViewer.js

Lines changed: 0 additions & 21 deletions
This file was deleted.

src/components/File.js

Lines changed: 0 additions & 7 deletions
This file was deleted.

src/components/Folder.js

Lines changed: 0 additions & 7 deletions
This file was deleted.

src/components/Tree.js

Lines changed: 70 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import React, { Component } from 'react'
2-
import {Treebeard} from 'react-treebeard';
2+
import {Treebeard, animations} from 'react-treebeard';
33
import Modal from 'react-modal';
44
import './Tree.css'
55

@@ -17,9 +17,9 @@ const customStyles = {
1717
overflow : 'hidden'
1818
}
1919
};
20+
// Modal.setAppElement('#root')
2021

21-
22-
const data = {
22+
let data = {
2323
name: 'root',
2424
toggled: true,
2525
children: [
@@ -56,50 +56,83 @@ export default class Tree extends Component {
5656
super(props);
5757
this.state = {
5858
data,
59-
modalIsOpen: false,
59+
modalAddIsOpen: false,
6060
value: "",
61-
activeNode:{}
61+
deleteNode: "",
62+
activeNode:{},
63+
elToDel: {}
6264
};
6365
}
6466

65-
openModal = (node)=> {
66-
this.setState({ modalIsOpen: true, activeNode:node });
67+
openAddModal = (node) => {
68+
this.setState({ modalAddIsOpen: true, activeNode:node });
69+
const found = this.state.data.children.filter((data)=> data.name === node.name)
70+
console.log(found);
71+
// this.findParent(node);
6772
}
68-
69-
70-
closeModal = ()=> {
71-
this.setState({modalIsOpen: false});
73+
closeModal = () => {
74+
this.setState({modalAddIsOpen: false, modalDeleteIsOpen: false});
7275
}
7376

74-
addIcon = (node) => {
75-
console.log(node);
76-
77-
node.map((child)=> {
77+
addIcon = (node) => {
78+
79+
node.map((child, index)=> {
7880
const name1 = child.name;
7981
(name1.indexOf('.') === -1) ?
80-
child.name = <div><i className="far fa-folder px-2"></i>
81-
{name1} <span onClick={(e)=>this.openModal(child,e)}><i className="far fa-plus-square pl-2"/></span></div>
82-
: child.name = <div><i className="far fa-file-code px-2"></i> {name1}</div>
82+
child.name = <div ref={selected => this.selected = selected}>
83+
<i className="far fa-folder px-2"></i>
84+
{name1} <span onClick={(e)=>this.openAddModal(child, e)}><i className="far fa-plus-square pl-2"/></span>
85+
<span><i onClick={(e)=>this.deleteElement(child, index, e)} className="far fa-trash-alt pl-2"></i></span>
86+
</div>
87+
: child.name = <div>
88+
<i className="far fa-file-code px-2"></i> {name1}
89+
<span><i onClick={(e)=>this.deleteElement(child, index, e)} className="far fa-trash-alt pl-2"></i></span>
90+
</div>
8391
if(child.children){
84-
this.addIcon(child.children)
92+
this.addIcon(child.children);
8593
}
8694
})
8795
}
88-
8996
componentWillMount = () => {
9097
this.addIcon(this.state.data.children)
9198
}
9299

100+
// findParent = (item) => {
101+
// const data = this.state.data;
102+
// let member, i, array;
103+
// for (member in data) {
104+
// if (data.hasOwnProperty(member) && typeof data[member] === 'object' && data[member] instanceof Array) {
105+
// array = data[member];
106+
// for(i = 0; i < array.length; i += 1) {
107+
// if (array[i] === item) {
108+
// console.log(array)
109+
// if(array.children){
110+
// this.findParent(array[i].children[0])
111+
// debugger;
112+
// }//
113+
// return array;
114+
// }
115+
// }
116+
// }
117+
// }
118+
// }
93119

94120
handleSubmit = (e) =>{
95121
e.preventDefault();
96122
if(this.state.activeNode.children){
97123
this.state.activeNode.children.push({name: this.state.value});
98124
}
99125
const newData = this.state.data;
100-
// this.setState({data: newData});
126+
this.setState({data: newData});
101127
this.closeModal();
102128
}
129+
deleteElement = (_,index,e) => {
130+
e.preventDefault();
131+
console.log(index);
132+
const newData = this.state.data.children.splice(index,1);
133+
this.setState({data: newData})
134+
}
135+
103136
handleChange(event) {
104137
this.setState({value: event.target.value});
105138
}
@@ -120,22 +153,34 @@ export default class Tree extends Component {
120153
return (
121154
<React.Fragment>
122155
<Modal
123-
isOpen={this.state.modalIsOpen}
156+
isOpen={this.state.modalAddIsOpen}
124157
onAfterOpen={this.afterOpenModal}
125158
onRequestClose={this.closeModal}
126159
style={customStyles}
127-
contentLabel="Example Modal"
160+
ariaHideApp={false}
161+
contentLabel="Add Modal"
128162
>
129163
<form onSubmit={(e)=>{this.handleSubmit(e)}}>
130-
<input id= "child-name" type="text" value={this.state.value} onChange={(e)=>{this.handleChange(e)}} />
164+
<input id= "child-name" type="text" value={this.state.value} onChange={(e)=>{this.handleChange(e)}} required/>
131165
<input className='btn btn-md btn-dark submit' type="submit" value="ENTER"/>
132166
</form>
133-
134167
</Modal>
168+
{/* <Modal
169+
isOpen={this.state.modalDeleteIsOpen}
170+
onRequestClose={this.closeModal}
171+
style={customStyles}
172+
contentLabel="Delete Modal"
173+
>
174+
<form onSubmit={(e)=>{this.handleSubmit(e)}}>
175+
{this.state.activeNode.}
176+
<input className='btn btn-md btn-dark submit' type="submit" value="ENTER"/>
177+
</form>
178+
</Modal> */}
135179
<Treebeard
136180
data={this.state.data}
137181
onToggle={this.onToggle}
138182
style = {style}
183+
animations = {animations}
139184
/>
140185
</React.Fragment>
141186

src/components/XML.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,4 +141,4 @@ export default class XML extends Component {
141141
</div>
142142
)
143143
}
144-
}
144+
}

0 commit comments

Comments
 (0)