@@ -124,6 +124,7 @@ export class QueryEditor extends PureComponent<Props> {
124
124
templateVariableOpts : SelectOpts
125
125
runQueryWarning : boolean
126
126
copied : boolean
127
+ collapsed : boolean
127
128
}
128
129
constructor ( props : any ) {
129
130
super ( props )
@@ -170,7 +171,8 @@ export class QueryEditor extends PureComponent<Props> {
170
171
gotBasicData : false ,
171
172
templateVariableOpts : [ ] ,
172
173
runQueryWarning : false ,
173
- copied : false
174
+ copied : false ,
175
+ collapsed : false
174
176
}
175
177
}
176
178
@@ -1188,6 +1190,12 @@ export class QueryEditor extends PureComponent<Props> {
1188
1190
} , 1800 )
1189
1191
}
1190
1192
1193
+ onCollapseBtnClick = ( ) => {
1194
+ this . setState ( {
1195
+ collapsed : ! this . state . collapsed
1196
+ } )
1197
+ }
1198
+
1191
1199
render ( ) {
1192
1200
const {
1193
1201
formConfig,
@@ -1525,13 +1533,30 @@ export class QueryEditor extends PureComponent<Props> {
1525
1533
</ div >
1526
1534
{ appType !== APPTYPE_APP_TRACING_FLAME && this . sqlContent ? (
1527
1535
< div className = "sql-content-wrapper" >
1528
- < div className = "sql-content" dangerouslySetInnerHTML = { { __html : this . sqlContent } } > </ div >
1529
- < Button
1530
- style = { { position : 'absolute' , right : 0 , top : 0 } }
1531
- fill = "text"
1532
- icon = { this . state . copied ? 'check' : 'copy' }
1533
- onClick = { this . onCopySQLBtnClick }
1534
- />
1536
+ < div
1537
+ className = "sql-content"
1538
+ style = { {
1539
+ maxHeight : this . state . collapsed ? '32px' : '' ,
1540
+ padding : this . state . collapsed ? '32px 6px 0 6px' : ''
1541
+ } }
1542
+ dangerouslySetInnerHTML = { { __html : this . sqlContent } }
1543
+ > </ div >
1544
+ < Tooltip content = { this . state . collapsed ? 'Show' : 'Hide' } placement = "top" >
1545
+ < Button
1546
+ style = { { position : 'absolute' , right : '32px' , top : 0 } }
1547
+ fill = "text"
1548
+ icon = { this . state . collapsed ? 'eye' : 'eye-slash' }
1549
+ onClick = { this . onCollapseBtnClick }
1550
+ />
1551
+ </ Tooltip >
1552
+ < Tooltip content = { this . state . copied ? 'Copied' : 'Copy' } placement = "top" >
1553
+ < Button
1554
+ style = { { position : 'absolute' , right : 0 , top : 0 } }
1555
+ fill = "text"
1556
+ icon = { this . state . copied ? 'check' : 'copy' }
1557
+ onClick = { this . onCopySQLBtnClick }
1558
+ />
1559
+ </ Tooltip >
1535
1560
</ div >
1536
1561
) : null }
1537
1562
</ div >
0 commit comments