@@ -506,7 +506,9 @@ onMounted(() => {
506
506
return _getCommand ()
507
507
} else if (type === ' setCommand' ) {
508
508
return _setCommand (options )
509
- } else {
509
+ } else if (type === ' switchAllFoldState' ) {
510
+ return _switchAllFoldState (options )
511
+ }else {
510
512
console .error (` Unsupported event type ${type } in instance ${getName ()} ` )
511
513
}
512
514
})
@@ -1548,6 +1550,25 @@ const _closeGroupFold = (group: MessageGroup) => {
1548
1550
}
1549
1551
}
1550
1552
1553
+ const _enableFold = (group : MessageGroup ) => {
1554
+ return props .enableFold && group .tag !== ' init' && group .logs .length > 1 && group .logs [0 ].type === ' cmdLine'
1555
+ }
1556
+
1557
+ const _switchAllFoldState = (fold : boolean ) => {
1558
+ let count = 0 ;
1559
+ if (props .enableFold ) {
1560
+ for (let group of terminalLog .value ) {
1561
+ if (_enableFold (group ) && group .fold !== fold ) {
1562
+ group .fold = fold
1563
+ count ++ ;
1564
+ }
1565
+ }
1566
+ } else {
1567
+ console .warn (" Before using folding related functions, please set enable-fold to enable the folding function." )
1568
+ }
1569
+ return count
1570
+ }
1571
+
1551
1572
defineExpose ({
1552
1573
pushMessage: _pushMessage ,
1553
1574
fullscreen: _fullscreen ,
@@ -1566,7 +1587,10 @@ defineExpose({
1566
1587
return api .textEditorOpen (getName (), options )
1567
1588
},
1568
1589
textEditorClose: _textEditorClose ,
1569
- clearLog: _clearLog
1590
+ clearLog: _clearLog ,
1591
+ getCommand: _getCommand ,
1592
+ setCommand: _setCommand ,
1593
+ switchAllFoldState: _switchAllFoldState
1570
1594
})
1571
1595
1572
1596
</script >
@@ -1598,7 +1622,7 @@ defineExpose({
1598
1622
:key =" groupIdx"
1599
1623
:class =" `t-log-box t-log-fold-container ${enableHoverStripe && group.logs.length > 1 ? 't-log-box-hover-script' : ''} ${group.fold ? 't-log-box-folded' : ''}`"
1600
1624
:style =" `margin-top:${lineSpace}px;`" >
1601
- <span v-if =" enableFold && group.tag !== 'init' && group.logs.length > 1 " >
1625
+ <span v-if =" _enableFold( group) " >
1602
1626
<span class =" t-log-fold-icon t-log-fold-icon-active" v-if =" group.fold" @click =" _closeGroupFold(group)" >+</span >
1603
1627
<span class =" t-log-fold-icon" v-else @click =" group.fold = true" >-</span >
1604
1628
<span class =" t-log-fold-line" v-if =" !group.fold" />
0 commit comments