1
1
import { useState } from 'react' ;
2
- import { Button , Popover , Space , Tag , Popconfirm , Input } from '@arco-design/web-react' ;
3
- import { IconEdit , IconDelete , IconMessage , IconPlus , IconMinus , IconPalette } from '@arco-design/web-react/icon' ;
2
+ import {
3
+ Button ,
4
+ Popover ,
5
+ Space ,
6
+ Tag ,
7
+ Popconfirm ,
8
+ Input ,
9
+ } from '@arco-design/web-react' ;
10
+ import {
11
+ IconEdit ,
12
+ IconDelete ,
13
+ IconMessage ,
14
+ IconPlus ,
15
+ IconMinus ,
16
+ IconPalette ,
17
+ } from '@arco-design/web-react/icon' ;
4
18
5
19
import themes from '../data/theme' ;
6
20
@@ -44,14 +58,36 @@ export default function Table(props) {
44
58
</ div >
45
59
< div className = "content" >
46
60
< Space wrap size = { 4 } >
47
- { field . pk && < Tag size = "small" color = "gold" > PRIMARY</ Tag > }
48
- { field . unique && < Tag size = "small" color = "green" > UNIQUE</ Tag > }
49
- { field . not_null && < Tag size = "small" color = "magenta" > NOT NULL</ Tag > }
50
- { field . increment && < Tag size = "small" color = "lime" > INCREMENT</ Tag > }
61
+ { field . pk && (
62
+ < Tag size = "small" color = "gold" >
63
+ PRIMARY
64
+ </ Tag >
65
+ ) }
66
+ { field . unique && (
67
+ < Tag size = "small" color = "green" >
68
+ UNIQUE
69
+ </ Tag >
70
+ ) }
71
+ { field . not_null && (
72
+ < Tag size = "small" color = "magenta" >
73
+ NOT NULL
74
+ </ Tag >
75
+ ) }
76
+ { field . increment && (
77
+ < Tag size = "small" color = "lime" >
78
+ INCREMENT
79
+ </ Tag >
80
+ ) }
51
81
</ Space >
52
82
53
- < div className = "field-item dbdefault" > < span > DEFAULT:</ span > { field . dbdefault } </ div >
54
- < div className = "field-item note" > < span > COMMENT:</ span > { field . note } </ div >
83
+ < div className = "field-item dbdefault" >
84
+ < span > DEFAULT:</ span >
85
+ { field . dbdefault }
86
+ </ div >
87
+ < div className = "field-item note" >
88
+ < span > COMMENT:</ span >
89
+ { field . note }
90
+ </ div >
55
91
</ div >
56
92
</ div >
57
93
) ;
@@ -78,10 +114,11 @@ export default function Table(props) {
78
114
className = { `table ${ editable ? 'editable' : '' } ` }
79
115
style = { { borderColor : table . theme } }
80
116
>
81
- < div className = "table-title" style = { { background : table . theme } } >
82
- < span >
83
- { table . name }
84
- </ span >
117
+ < div
118
+ className = "table-title"
119
+ style = { { background : table . theme } }
120
+ >
121
+ < span className = "table-name" > { table . name } </ span >
85
122
86
123
{ editable && (
87
124
< Space size = { 4 } >
@@ -119,36 +156,55 @@ export default function Table(props) {
119
156
setNote ( props . table . note ) ;
120
157
} }
121
158
>
122
- < Button
123
- size = "mini"
124
- icon = { < IconMessage /> }
125
- />
159
+ < Button size = "mini" icon = { < IconMessage /> } />
126
160
</ Popconfirm >
127
161
< Popover
128
162
position = "tr"
129
163
title = {
130
164
< >
131
165
Theme
132
-
133
166
< Button
134
167
size = "mini"
135
- style = { { float : 'right' , fontSize : '12px' } }
136
- onClick = { ( ) => props . updateTable ( { ...props . table , theme : undefined } ) }
168
+ style = { {
169
+ float : 'right' ,
170
+ fontSize : '12px' ,
171
+ } }
172
+ onClick = { ( ) =>
173
+ props . updateTable ( {
174
+ ...props . table ,
175
+ theme : undefined ,
176
+ } )
177
+ }
137
178
>
138
179
Clear
139
180
</ Button >
140
181
</ >
141
182
}
142
183
content = {
143
- < Space warp direction = "vertical" size = "medium" style = { { margin : '8px 0 4px' } } >
184
+ < Space
185
+ warp
186
+ direction = "vertical"
187
+ size = "medium"
188
+ style = { { margin : '8px 0 4px' } }
189
+ >
144
190
{ themes . map ( list => (
145
- < Space size = "medium" key = { list . toString ( ) } >
191
+ < Space
192
+ size = "medium"
193
+ key = { list . toString ( ) }
194
+ >
146
195
{ list . map ( item => (
147
196
< Button
148
197
key = { item }
149
198
shape = "circle"
150
- style = { { background : item } }
151
- onClick = { ( ) => props . updateTable ( { ...props . table , theme : item } ) }
199
+ style = { {
200
+ background : item ,
201
+ } }
202
+ onClick = { ( ) =>
203
+ props . updateTable ( {
204
+ ...props . table ,
205
+ theme : item ,
206
+ } )
207
+ }
152
208
/>
153
209
) ) }
154
210
</ Space >
@@ -157,10 +213,7 @@ export default function Table(props) {
157
213
}
158
214
trigger = "click"
159
215
>
160
- < Button
161
- size = "mini"
162
- icon = { < IconPalette /> }
163
- />
216
+ < Button size = "mini" icon = { < IconPalette /> } />
164
217
</ Popover >
165
218
< Popconfirm
166
219
position = "tr"
@@ -172,7 +225,7 @@ export default function Table(props) {
172
225
} }
173
226
>
174
227
< Button
175
- status = ' danger'
228
+ status = " danger"
176
229
size = "mini"
177
230
icon = { < IconDelete /> }
178
231
/>
@@ -204,13 +257,29 @@ export default function Table(props) {
204
257
< div >
205
258
{ field . name }
206
259
{ field . pk && (
207
- < img style = { { width : 10 , height : 10 , marginLeft : 4 } } src = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB30lEQVR4AYySg44eURxHm75MbdvmCzQso0a1bdsKatu2MTNre3fMT6c3t1gjyS+6Oef+1QpoMgVXR+4X4W/2131vEZwIs2UakjQPe5+JKo4Ttx8DKSnJuTD8aJOCmnBYso2o8tS/3wHIOdWPt/v6PWlCIMuWcFC4nLBsr8hDpOTicFIJnayD3aWkUYEoWcIyRaukJG49xEnfgpc1jmT4jPSdXWm8guCXqGATQlBDtBpbGYP5ua9o7zLK0nYNwq1F9pe/nCuAlVjfBuFlTMPPmYOjTsX41JO4sQ5lRTvur++p1d/39VGUv5pPTL8ofusn4Eni9xnYnwdivOsuYXVVBx5s7PUTwdUUiOFYxK0H+IVLML+3xfvZBz93DQXnBpNwToqyz6Gu7sCTLb2+/ONqXhpR+QUcbTLGuw44yiCCvM2839xdv7umR6ayrB3auo482977Q82W//5sipKv4moj0N+2xVWHEeRv4sOW7lXXN/Y909CgawrsmPEA61s/9Fdt8TMnC3gd77d0129t6XekUbhmBXH3NZYyAi9jLF7eat5u7Gbe2dbvYHOwFORdHP4pqHiJn7eCoPgE7zZ3N+7v7L+rJfDvgQ04Ndeu+uI0s6dnJhi/Bvn50FTrdpAEsRgA3aj/RFymC/IAAAAASUVORK5CYII=" />
260
+ < img
261
+ style = { {
262
+ width : 10 ,
263
+ height : 10 ,
264
+ marginLeft : 4 ,
265
+ } }
266
+ src = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB30lEQVR4AYySg44eURxHm75MbdvmCzQso0a1bdsKatu2MTNre3fMT6c3t1gjyS+6Oef+1QpoMgVXR+4X4W/2131vEZwIs2UakjQPe5+JKo4Ttx8DKSnJuTD8aJOCmnBYso2o8tS/3wHIOdWPt/v6PWlCIMuWcFC4nLBsr8hDpOTicFIJnayD3aWkUYEoWcIyRaukJG49xEnfgpc1jmT4jPSdXWm8guCXqGATQlBDtBpbGYP5ua9o7zLK0nYNwq1F9pe/nCuAlVjfBuFlTMPPmYOjTsX41JO4sQ5lRTvur++p1d/39VGUv5pPTL8ofusn4Eni9xnYnwdivOsuYXVVBx5s7PUTwdUUiOFYxK0H+IVLML+3xfvZBz93DQXnBpNwToqyz6Gu7sCTLb2+/ONqXhpR+QUcbTLGuw44yiCCvM2839xdv7umR6ayrB3auo482977Q82W//5sipKv4moj0N+2xVWHEeRv4sOW7lXXN/Y909CgawrsmPEA61s/9Fdt8TMnC3gd77d0129t6XekUbhmBXH3NZYyAi9jLF7eat5u7Gbe2dbvYHOwFORdHP4pqHiJn7eCoPgE7zZ3N+7v7L+rJfDvgQ04Ndeu+uI0s6dnJhi/Bvn50FTrdpAEsRgA3aj/RFymC/IAAAAASUVORK5CYII="
267
+ />
208
268
) }
209
269
{ ( field . unique || field . index ) && (
210
- < img style = { { width : 10 , height : 10 , marginLeft : 4 } } src = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAA7UlEQVR4AW2Qg26GURQEb/rWtW3bts2otm27jdpouv39YTeeuTjH2FNdUo1a4gBB/KVaFQt+Zp9bkFJe5Yo3OKBahUJSZ60CX8KLbHMhoZIfsq1Kta5eVJel3LDIEA+kYxHeWBPwSn20ckkMQRxWXTLEEh1MMMsgzWwSS9Rh4Hs1jHJKJ0PM0U6jcDzRu4HLf7lmgUYJi5RzzLlw3EbI5o51aT3drJDwHnEaSyIJKyGnz+ijll7hxLfIRvt6vq9op4ZhlnU6ptK5Xh7oYZBF4j5jy4wzFWv6HrskfMTnG7dkRWbcJb8kvqWkGtf8ARG87I1KSSe4AAAAAElFTkSuQmCC" />
270
+ < img
271
+ style = { {
272
+ width : 10 ,
273
+ height : 10 ,
274
+ marginLeft : 4 ,
275
+ } }
276
+ src = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAA7UlEQVR4AW2Qg26GURQEb/rWtW3bts2otm27jdpouv39YTeeuTjH2FNdUo1a4gBB/KVaFQt+Zp9bkFJe5Yo3OKBahUJSZ60CX8KLbHMhoZIfsq1Kta5eVJel3LDIEA+kYxHeWBPwSn20ckkMQRxWXTLEEh1MMMsgzWwSS9Rh4Hs1jHJKJ0PM0U6jcDzRu4HLf7lmgUYJi5RzzLlw3EbI5o51aT3drJDwHnEaSyIJKyGnz+ijll7hxLfIRvt6vq9op4ZhlnU6ptK5Xh7oYZBF4j5jy4wzFWv6HrskfMTnG7dkRWbcJb8kvqWkGtf8ARG87I1KSSe4AAAAAElFTkSuQmCC"
277
+ />
211
278
) }
212
279
</ div >
213
- < div className = "field-type" > { field . type } </ div >
280
+ < div className = "field-type" >
281
+ { field . type }
282
+ </ div >
214
283
</ div >
215
284
< div className = "grip-setting" >
216
285
< Button
@@ -219,7 +288,10 @@ export default function Table(props) {
219
288
size = "mini"
220
289
icon = { < IconEdit /> }
221
290
onClick = { ( ) => {
222
- handlerEditingField ( { field, table } ) ;
291
+ handlerEditingField ( {
292
+ field,
293
+ table,
294
+ } ) ;
223
295
} }
224
296
/>
225
297
< Button
@@ -232,7 +304,7 @@ export default function Table(props) {
232
304
} }
233
305
/>
234
306
< Button
235
- status = ' danger'
307
+ status = " danger"
236
308
className = "grip-setting-btn"
237
309
size = "mini"
238
310
icon = { < IconMinus /> }
0 commit comments