Portal: Performance optimization in BrowseBrick by removing unnecessary objects reload.

SVN:2.3[4680]
This commit is contained in:
Guillaume Lajarige
2017-04-14 10:08:31 +00:00
parent 82552c7c98
commit 7246f957fd

View File

@@ -41,6 +41,7 @@ use \Combodo\iTop\Portal\Brick\BrowseBrick;
class BrowseBrickController extends BrickController
{
const LEVEL_SEPARATOR = '-';
public static $aOptionalAttributes = array('tooltip_att');
public function DisplayAction(Request $oRequest, Application $oApp, $sBrickId, $sBrowseMode = null, $sDataLoading = null)
{
@@ -285,7 +286,16 @@ class BrowseBrickController extends BrickController
$aTmpColumnAttrs[] = $aTmpField['code'];
}
}
$aColumnAttrs[$sTmpClassAlias] = $aTmpColumnAttrs;
// Optional attributes
foreach(static::$aOptionalAttributes as $sOptionalAttribute)
{
if($aTmpLevelProperties[$sOptionalAttribute] !== null)
{
$aTmpColumnAttrs[] = $aTmpLevelProperties[$sOptionalAttribute];
}
}
$aColumnAttrs[$sTmpClassAlias] = $aTmpColumnAttrs;
}
}
$oSet->OptimizeColumnLoad($aColumnAttrs);