11import React , { useRef , useEffect } from 'react' ;
2- import ItRenderer from '../ItRenderer/ItRenderer' ;
3- // import { Draggable } from 'react-beautiful-dnd';
42import cn from 'classnames' ;
3+ import { Draggable , Droppable } from 'react-beautiful-dnd' ;
4+ import ItRenderer from '../ItRenderer/ItRenderer' ;
55import styles from './DescribeRenderer.module.scss' ;
66import { deleteDescribeBlock , addItstatement } from '../../../context/actions/reactTestCaseActions' ;
77
@@ -12,7 +12,6 @@ const DescribeRenderer = ({
1212 describeBlocks,
1313 itStatements,
1414 statements,
15- draggableStatements,
1615 handleChangeDescribeText,
1716 handleChangeItStatementText,
1817 type,
@@ -34,90 +33,75 @@ const DescribeRenderer = ({
3433 dispatcher ( addItstatement ( describeId ) ) ;
3534 } ;
3635
37- return draggableStatements . map ( ( id , i ) => {
36+ return describeBlocks . allIds . map ( ( id , i ) => {
3837 return (
39- < div id = { styles . describeBlock } key = { i } >
40- < label htmlFor = 'describe-label' className = { styles . describeLabel } >
41- Describe Block
42- </ label >
43-
44- < i
45- onClick = { deleteDescribeBlockHandleClick }
46- id = { id }
47- className = { cn ( 'far fa-window-close' , styles . describeClose ) }
48- > </ i >
49- < input
50- ref = { testDescription }
51- id = { id }
52- className = { styles . describeInput }
53- name = 'describe-label'
54- type = 'text'
55- placeholder = { 'The component has basic functionality' }
56- value = { describeBlocks . byId [ id ] . text || '' }
57- onChange = { handleChangeDescribeText }
58- />
59- < div className = { styles . separator } > </ div >
60- < ItRenderer
61- type = { type }
62- key = { `it-${ id } -${ i } ` }
63- itStatements = { itStatements }
64- statements = { statements }
65- describeId = { id }
66- handleChangeItStatementText = { handleChangeItStatementText }
67- />
68- < div className = { styles . buttonContainer } >
69- < button className = { styles . addIt } id = { id } onClick = { addItStatementHandleClick } >
70- +It Statement
71- </ button >
72- </ div >
73- </ div >
74- ) ;
75- } ) ;
76- } ;
77-
78- export default DescribeRenderer ;
79-
80- {
81- /* <Draggable draggableId={`draggable-${id}-${i}`} index={i}>
38+ < Draggable
39+ key = { id }
40+ draggableId = { id }
41+ index = { i }
42+ type = "describe"
43+ >
8244 { ( provided ) => (
8345 < div
46+ id = { styles . describeBlock }
8447 ref = { provided . innerRef }
8548 { ...provided . draggableProps }
8649 { ...provided . dragHandleProps }
87- id={styles.describeBlock}
88- className={styles.describeBlock}
8950 >
9051 < label htmlFor = 'describe-label' className = { styles . describeLabel } >
9152 Describe Block
9253 </ label >
54+
9355 < i
9456 onClick = { deleteDescribeBlockHandleClick }
9557 id = { id }
9658 className = { cn ( 'far fa-window-close' , styles . describeClose ) }
9759 > </ i >
9860 < input
61+ ref = { testDescription }
9962 id = { id }
10063 className = { styles . describeInput }
10164 name = 'describe-label'
10265 type = 'text'
10366 placeholder = { 'The component has basic functionality' }
104- defaultValue={''}
10567 value = { describeBlocks . byId [ id ] . text || '' }
10668 onChange = { handleChangeDescribeText }
10769 />
10870 < div className = { styles . separator } > </ div >
109- <ItRenderer
110- type={type}
111- key={`it-${id}-${i}`}
112- itStatements={itStatements}
113- statements={statements}
114- describeId={id}
115- handleChangeItStatementText={handleChangeItStatementText}
116- />
71+
72+ < Droppable
73+ droppableId = { "droppableReactIt" + id }
74+ type = { id }
75+ >
76+ { ( innerProvided ) => (
77+ < div
78+ ref = { innerProvided . innerRef }
79+ { ...innerProvided . droppableProps }
80+ >
81+ { /* {JSON.stringify(provided)} */ }
82+ < ItRenderer
83+ type = { type }
84+ key = { `it-${ id } -${ i } ` }
85+ itStatements = { itStatements }
86+ statements = { statements }
87+ describeId = { id }
88+ handleChangeItStatementText = { handleChangeItStatementText }
89+ />
90+ { innerProvided . placeholder }
91+ </ div >
92+ ) }
93+ </ Droppable >
11794 < div className = { styles . buttonContainer } >
118- <button className={styles.addIt} id={id} onClick={addItStatementHandleClick}>+It Statement</button>
95+ < button className = { styles . addIt } id = { id } onClick = { addItStatementHandleClick } >
96+ +It Statement
97+ </ button >
11998 </ div >
12099 </ div >
100+
121101 ) }
122- </Draggable> */
123- }
102+ </ Draggable >
103+ ) ;
104+ } ) ;
105+ } ;
106+
107+ export default DescribeRenderer ;
0 commit comments