Skip to content

Commit a28fc02

Browse files
author
Samuel Akopyan
committed
Added possibility to close debug panel to minimum size
1 parent 20fbe10 commit a28fc02

File tree

3 files changed

+42
-2
lines changed

3 files changed

+42
-2
lines changed

CHANGELOG

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
Version 1.4.x -
22
----------------------------
33
- Enh: added possibility to hide system queries in debug panel
4+
- Enh: added possibility to close debug panel to minimum size
45
- Bug: fixed wrong assignment of _isRendered in CView
56

67

framework/core/CDebug.php

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -416,10 +416,12 @@ function appGetCookie(name){ if(document.cookie.length > 0){ start_c = document.
416416
function appTabsMiddle(){ appExpandTabs("middle", appGetCookie("debugBarTab")); }
417417
function appTabsMaximize(){ appExpandTabs("max", appGetCookie("debugBarTab")); }
418418
function appTabsMinimize(){ appExpandTabs("min", "General"); }
419+
function appTabsClose(){ appExpandTabs("close", appGetCookie("debugBarTab")); }
419420
function appExpandTabs(act, key){
420421
if(act == "max"){ debugTabsHeight = "500px"; }
421422
else if(act == "middle"){ debugTabsHeight = "200px"; }
422423
else if(act == "min"){ debugTabsHeight = "0px"; }
424+
else if(act == "close"){ debugTabsHeight = "0px"; }
423425
else if(act == "auto"){
424426
if(debugTabsHeight == "0px"){ debugTabsHeight = "200px"; act = "middle"; }
425427
else if(debugTabsHeight == "200px"){ act = "middle"; }
@@ -437,6 +439,14 @@ function appExpandTabs(act, key){
437439
}
438440
}
439441
if(act != "min"){
442+
x = document.getElementsByClassName("item");
443+
if(act == "close"){
444+
for (i = 0; i < x.length; i++) x[i].style.display = "none";
445+
document.getElementsByClassName("narrow-close")[0].style.display = "none";
446+
}else{
447+
for (i = 0; i < x.length; i++) x[i].style.display = "";
448+
document.getElementsByClassName("narrow-close")[0].style.display = "";
449+
}
440450
document.getElementById("content"+keyTab).style.display = "";
441451
document.getElementById("content"+keyTab).style.cssText = "width:100%;height:"+debugTabsHeight+";overflow-y:auto;";
442452
if(document.getElementById("tab"+keyTab).className == "tab-orange"){
@@ -458,7 +468,7 @@ function appExpandTabs(act, key){
458468
<legend id="debug-panel-legend">
459469
<ul>
460470
<li class="title" style="display:flex">
461-
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAmRJREFUeNpcUz1vE0EQfbu3Pp99jo/YB7FkCloKoIlQYuAPhIICBEIgJ3TIRkKiAqeBnhCFAhoiWUJCKBREiCYJHxWiSIWE4CcgURDZDo4/7oPZuTs75qS73Zud9/btzhthu+Zcr+19FRKQhgCEoJEGSfNDTxiECHw90WNI/4CVV/PCMGWogcIYA6URvYcfDYqAEVEY/wtlEYGSDJZKwNDzlGCi3IyJi49PotfysFn7HpEMI6BPoyZRMt6ZwaaEkZI86ljhhE0JafT3hlCWgcAL4IsQGASsyqfjKC1d75aAr708w4vv7v6AU8rCVGkM2/u4sn6K4xuL3+grEfb96Nh0Z6MzL76uwErZeH/vJxQRFsoO0ioL7y84pteqryoEHGNkcmn1zQXY5hFs1HZJCSlKS7jlaQb1Wz7H3tR3Oaf+doF3B2uhp/GxiimriBfVLSZLSIslF5ay0et4fEc6tr60zbmNnSp06ZUmyGdcaL7JwgHHSjNImQa6rd5E3KH8MJ6zgvvnnyBvHcXKziOuc0i3m3Ns5HPTyKTyaP/usHEojJWth5z74MIqx5hA17M+16CFIp5/eMq1dgoOMqZNJTNw0BlQ3QM8217jnDvzy4xhBSOHkbuWZmt0SQ6an5souvr8U+j+GcDrB2h+avLarbO12I2RKxVLo5dNQnqunr5BnhC4fPsSVSBL8rvwDnxcn71JOSE8MlHiRm1pxZ6WI8dHZL5A6XiZTJTF3q8OK2CAF1mZSfzIyqNm0v4fmSNuLiGTThw3z/jIcTNRO1f6+94XISY7Ukj8186Y6ERdqXROnfsnwADuWSOCrzpCtgAAAABJRU5ErkJggg==">
471+
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAmRJREFUeNpcUz1vE0EQfbu3Pp99jo/YB7FkCloKoIlQYuAPhIICBEIgJ3TIRkKiAqeBnhCFAhoiWUJCKBREiCYJHxWiSIWE4CcgURDZDo4/7oPZuTs75qS73Zud9/btzhthu+Zcr+19FRKQhgCEoJEGSfNDTxiECHw90WNI/4CVV/PCMGWogcIYA6URvYcfDYqAEVEY/wtlEYGSDJZKwNDzlGCi3IyJi49PotfysFn7HpEMI6BPoyZRMt6ZwaaEkZI86ljhhE0JafT3hlCWgcAL4IsQGASsyqfjKC1d75aAr708w4vv7v6AU8rCVGkM2/u4sn6K4xuL3+grEfb96Nh0Z6MzL76uwErZeH/vJxQRFsoO0ioL7y84pteqryoEHGNkcmn1zQXY5hFs1HZJCSlKS7jlaQb1Wz7H3tR3Oaf+doF3B2uhp/GxiimriBfVLSZLSIslF5ay0et4fEc6tr60zbmNnSp06ZUmyGdcaL7JwgHHSjNImQa6rd5E3KH8MJ6zgvvnnyBvHcXKziOuc0i3m3Ns5HPTyKTyaP/usHEojJWth5z74MIqx5hA17M+16CFIp5/eMq1dgoOMqZNJTNw0BlQ3QM8217jnDvzy4xhBSOHkbuWZmt0SQ6an5souvr8U+j+GcDrB2h+avLarbO12I2RKxVLo5dNQnqunr5BnhC4fPsSVSBL8rvwDnxcn71JOSE8MlHiRm1pxZ6WI8dHZL5A6XiZTJTF3q8OK2CAF1mZSfzIyqNm0v4fmSNuLiGTThw3z/jIcTNRO1f6+94XISY7Ukj8186Y6ERdqXROnfsnwADuWSOCrzpCtgAAAABJRU5ErkJggg==" alt="logo" />
462472
<b class="item-debug" style="color:#222;margin-left:7px;">' . A::t('core', 'Debug') . ':&nbsp;</b>
463473
</li>
464474
@@ -474,7 +484,7 @@ function appExpandTabs(act, key){
474484
<li class="narrow"><a id="debugArrowCollapse" class="debugArrow" style="display:none;" href="javascript:void(0)" title="Collapse" onclick="javascript:appTabsMinimize()">&#9660;</a></li>
475485
<li class="narrow"><a id="debugArrowMaximize" class="debugArrow" style="display:;" href="javascript:void(0)" title="Maximize" onclick="javascript:appTabsMaximize()">&#9744;</a></li>
476486
<li class="narrow"><a id="debugArrowMinimize" class="debugArrow" style="display:none;" href="javascript:void(0)" title="Minimize" onclick="javascript:appTabsMiddle()">&#9635;</a></li>
477-
<li class="narrow"><a class="debugArrow" href="javascript:void(0)" title="Close">&times;</a></li>
487+
<li class="narrow narrow-close"><a class="debugArrow" href="javascript:void(0)" onclick="javascript:appTabsClose()" title="Close">&times;</a></li>
478488
</ul>
479489
</legend>
480490
@@ -685,6 +695,8 @@ function appExpandTabs(act, key){
685695
$output .= '<script type="text/javascript">appTabsMaximize();</script>';
686696
} elseif ($debugBarState == 'middle') {
687697
$output .= '<script type="text/javascript">appTabsMiddle();</script>';
698+
} elseif ($debugBarState == 'close') {
699+
$output .= '<script type="text/javascript">appTabsClose();</script>';
688700
} else {
689701
$output .= '<script type="text/javascript">appTabsMinimize();</script>';
690702
}

framework/db/CActiveRecord.php

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@
4343
* getTranslations
4444
* saveTranslations
4545
*
46+
* chunk
47+
*
4648
* find
4749
* findByPk
4850
* findByAttributes
@@ -576,6 +578,31 @@ private function _createObjectFromTable()
576578

577579
return true;
578580
}
581+
582+
/**
583+
* Split AR result into parts (chunks)
584+
* @param int $size
585+
* @param null $callback
586+
*/
587+
public function chunk(int $size, callable $callback = null)
588+
{
589+
if (is_int($size) && $size > 0 && !empty($callback)) {
590+
$from = 0;
591+
// echo('limit'."$from, $size");
592+
while ($result = $this->findAll(array('limit'=>"$from, $size"))){
593+
$callback($result);
594+
$from += $size;
595+
// echo('limit'."$from, $size");
596+
// if ($from > 10){
597+
// return;
598+
// }
599+
}
600+
} else {
601+
CDebug::AddMessage('errors', 'chunk', A::t('core', 'Wrong params for chunk: {size} or callback method is callable.', array('{size}' => $size)));
602+
}
603+
604+
return null;
605+
}
579606

580607
/**
581608
* This method queries your database to find first related object

0 commit comments

Comments
 (0)