1
- import React , { useState , useContext } from 'react' ;
1
+ import React , { useState , useContext , useEffect } from 'react' ;
2
2
import Modal from 'react-modal'
3
3
import AppContext from "../components/AppContext" ;
4
4
5
5
6
- const ModalUsablePrint = ( { show, handleOK, handleCancel, paperusablesize} ) =>
7
- {
8
- const { GetLocaleString } = useContext ( AppContext ) ;
9
- const [ SelectedSize , setSelectedSize ] = useState ( 0 ) ;
6
+ const ModalUsablePrint = ( { show, handleOK, handleCancel, paperusablesize } ) => {
7
+ const { GetLocaleString } = useContext ( AppContext ) ;
8
+ const [ SelectedSize , setSelectedSize ] = useState ( 1 ) ;
9
+ const [ Name , setName ] = useState ( 'New' ) ;
10
10
const [ usableWidth , setUsableWidth ] = useState ( 210 ) ;
11
- const [ usableHeight , setUsableHeight ] = useState ( 297 - 45 ) ;
11
+ const [ usableHeight , setUsableHeight ] = useState ( 297 - 45 ) ;
12
+ const [ usableSize , setUsableSize ] = useState ( [ ...paperusablesize ] || [ ] ) ;
13
+ console . log ( "ModalUsablePrint" ) ;
14
+ console . log ( paperusablesize ) ;
15
+ console . log ( usableSize ) ;
16
+
12
17
13
- const render_lock = ( locked ) => {
18
+ useEffect ( ( ) => {
19
+ console . log ( "useeffect" ) ;
20
+ if ( usableSize . length === 0 )
21
+ setUsableSize ( [ ...paperusablesize ] || [ ] ) ;
14
22
15
- return locked ? String . fromCodePoint ( 0x1f512 ) : " " ;
23
+ return ( ( ) => { } ) ;
24
+ } , [ usableSize ] ) ;
25
+
26
+ const render_lock = ( locked ) => {
27
+
28
+ return locked ? String . fromCodePoint ( 0x1f512 ) : " " ;
16
29
if ( locked )
17
30
return String . fromCodePoint ( 0x1f512 ) ;
18
- //return "🔒";
19
- //return "🔒";
31
+ //return "🔒";
32
+ //return "🔒";
20
33
else
21
34
return " " ;
22
35
}
23
36
24
- const onOk = ( ) =>
25
- {
26
- console . log ( "onOK()" ) ;
27
- console . log ( handleOK ) ;
37
+ const onOk = ( ) => {
38
+ console . log ( "onOK()" ) ;
39
+ console . log ( handleOK ) ;
28
40
if ( handleOK )
29
- handleOK ( ) ;
41
+ handleOK ( usableSize ) ;
30
42
}
31
- const onCancel = ( ) =>
32
- {
43
+ const onCancel = ( ) => {
33
44
if ( handleCancel )
34
45
handleCancel ( ) ;
35
46
}
36
47
const onAdd = ( ) => {
48
+
49
+ let data = { name :Name , usablewidth :usableWidth , usableheight :usableHeight , lock :false } ;
50
+ setUsableSize ( [ ...usableSize , data ] ) ;
37
51
38
52
}
39
53
const onDelete = ( ) => {
40
54
55
+ }
56
+ const onDuplicate = ( ) => {
57
+
41
58
}
42
59
43
60
return (
44
61
45
- < >
62
+ < >
46
63
< Modal
47
- isOpen = { show }
48
- contentLabel = ""
49
- aria = { { hidden : false , label : ' ' } }
64
+ isOpen = { show }
65
+ contentLabel = ""
66
+ aria = { { hidden : false , label : ' ' } }
50
67
>
51
- < select
52
- id = "usablepaper"
53
- name = "usablepaper"
54
- className = 'select_param'
55
- size = "6"
56
- >
57
- { paperusablesize . map ( ( item , index ) => {
58
- if ( SelectedSize === index )
59
- return ( < option aria-selected = { true } key = { item . name } value = { index } > { render_lock ( item . lock ) } { item . name } [{ item . usablewidth } mm x { item . usableheight } mm]</ option > ) ;
60
- else
61
- return ( < option aria-selected = { false } key = { item . name } value = { index } > { render_lock ( item . lock ) } { item . name } [{ item . usablewidth } mm x { item . usableheight } mm]</ option > ) ;
62
- } )
63
- }
64
- </ select >
65
- < label for = 'myInputWUDiag' >
66
- { GetLocaleString ( "param.usable.diag.name" ) } :
67
- </ label >
68
- < input type = "text"
69
- defaultValue = "New"
70
- name = "myInputNameDiag"
71
- id = "myInputNameDiag"
72
-
73
- onChange = { ( e ) => {
74
- //this.handleChangePaper('usablewidth', e.target.value);
75
- } }
76
- style = { { width : "12em" } }
77
- />
78
- < label for = 'myInputWUDiag' >
79
- { GetLocaleString ( "param.usable.diag.width" ) } :
80
- </ label >
81
- < input type = "number"
82
- min = { 100 }
83
- max = { 420 }
84
- defaultValue = { usableWidth }
85
- name = "myInputWUDiag"
86
- id = "myInputWUDiag"
87
-
88
- onChange = { ( e ) => {
89
- //this.handleChangePaper('usablewidth', e.target.value);
90
- } }
91
- style = { { width : "5em" } }
92
- />
93
-
94
-
95
-
96
- < label for = "myInputHUDiag" >
97
- { GetLocaleString ( "param.usable_height" ) } :
98
- </ label >
99
-
100
- < input type = "number"
101
- min = { 100 }
102
- max = { 550 }
103
- defaultValue = { usableHeight }
104
- id = "myInputHUDiag"
105
- name = "myInputHUDiag"
106
- onChange = { ( e ) => {
107
- //this.handleChangePaper('usableheight', e.target.value);
108
- } }
109
- style = { { width : "5em" } }
110
- />
111
-
112
-
113
- < button className = "pad-button pure-button"
114
- onClick = { ( ) => { onOk ( ) } }
115
- >
116
- Ok
117
-
118
- </ button >
119
- < button className = "pad-button pure-button"
120
- onClick = { ( ) => { onCancel ( ) } }
121
- >
122
- Cancel
123
-
124
- </ button >
125
- < button className = "pad-button pure-button"
126
- onClick = { ( ) => { onAdd ( ) } }
127
- >
128
- Add
129
- </ button >
130
- < button className = "pad-button pure-button"
131
- onClick = { ( ) => { onDelete ( ) } }
132
- >
133
- Delete
134
- </ button >
68
+ < div className = 'MakeColumn100' >
69
+ < div >
70
+ < select
71
+ id = "usablepaper"
72
+ name = "usablepaper"
73
+ className = 'select_param'
74
+ size = "6"
75
+ >
76
+ { usableSize . map ( ( item , index ) => {
77
+ console . log ( index ) ;
78
+ if ( SelectedSize === index )
79
+ return ( < option aria-selected = { true } key = { item . name } value = { index } > { render_lock ( item . lock ) } { item . name } [{ item . usablewidth } mm x { item . usableheight } mm]</ option > ) ;
80
+ else
81
+ return ( < option aria-selected = { false } key = { item . name } value = { index } > { render_lock ( item . lock ) } { item . name } [{ item . usablewidth } mm x { item . usableheight } mm]</ option > ) ;
82
+ } )
83
+ }
84
+ </ select >
85
+ </ div >
86
+ < div >
87
+ < div className = 'pure-form pure-form-aligned' >
88
+ < div className = 'pure-control-group' >
89
+ < legend > A legend for size</ legend >
90
+ < fieldset >
91
+ < label for = 'myInputWUDiag' >
92
+ { GetLocaleString ( "param.usable.diag.name" ) } :
93
+ </ label >
94
+ < input type = "text"
95
+ defaultValue = { Name }
96
+ name = "myInputNameDiag"
97
+ id = "myInputNameDiag"
98
+
99
+ onChange = { ( e ) => {
100
+ //this.handleChangePaper('usablewidth', e.target.value);
101
+ setName ( e . target . value ) ;
102
+ } }
103
+ style = { { width : "12em" } }
104
+ /> < br />
105
+ < label for = 'myInputWUDiag' >
106
+ { GetLocaleString ( "param.usable.diag.width" ) } :
107
+ </ label >
108
+ < input type = "number"
109
+ min = { 100 }
110
+ max = { 420 }
111
+ defaultValue = { usableWidth }
112
+ name = "myInputWUDiag"
113
+ id = "myInputWUDiag"
114
+
115
+ onChange = { ( e ) => {
116
+ //this.handleChangePaper('usablewidth', e.target.value);
117
+ setUsableWidth ( e . target . value ) ;
118
+ } }
119
+ style = { { width : "5em" } }
120
+ /> < br />
121
+
122
+
123
+
124
+ < label for = "myInputHUDiag" >
125
+ { GetLocaleString ( "param.usable_height" ) } :
126
+ </ label >
127
+
128
+ < input type = "number"
129
+ min = { 100 }
130
+ max = { 550 }
131
+ defaultValue = { usableHeight }
132
+ id = "myInputHUDiag"
133
+ name = "myInputHUDiag"
134
+ onChange = { ( e ) => {
135
+ setUsableHeight ( e . target . value ) ; //this.handleChangePaper('usableheight', e.target.value);
136
+ } }
137
+ style = { { width : "5em" } }
138
+ /> < br />
139
+ </ fieldset >
140
+
141
+ < fieldset >
142
+ < button className = "pad-button pure-button"
143
+ onClick = { ( ) => { onAdd ( ) } }
144
+ >
145
+ Add
146
+ </ button >
147
+ < button className = "pad-button pure-button"
148
+ onClick = { ( ) => { onDelete ( ) } }
149
+ >
150
+ Delete
151
+ </ button >
152
+ < button className = "pad-button pure-button"
153
+ onClick = { ( ) => { onDuplicate ( ) } }
154
+ >
155
+ Duplicate
156
+ </ button >
157
+ </ fieldset >
158
+ < fieldset >
159
+ < button className = "pad-button pure-button"
160
+ onClick = { ( ) => { onOk ( ) } }
161
+ >
162
+ Ok
163
+
164
+ </ button >
165
+ < button className = "pad-button pure-button"
166
+ onClick = { ( ) => { onCancel ( ) } }
167
+ >
168
+ Cancel
169
+
170
+ </ button >
171
+ </ fieldset >
172
+
173
+ </ div >
174
+ </ div >
175
+ </ div >
176
+ </ div >
135
177
</ Modal >
136
- </ >
178
+ </ >
137
179
) ;
138
180
}
139
181
export default ModalUsablePrint ;
0 commit comments