From 7246f957fd029afce600b910c8c7d5785d402895 Mon Sep 17 00:00:00 2001 From: Guillaume Lajarige Date: Fri, 14 Apr 2017 10:08:31 +0000 Subject: [PATCH] Portal: Performance optimization in BrowseBrick by removing unnecessary objects reload. SVN:2.3[4680] --- .../controllers/browsebrickcontroller.class.inc.php | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/datamodels/2.x/itop-portal-base/portal/src/controllers/browsebrickcontroller.class.inc.php b/datamodels/2.x/itop-portal-base/portal/src/controllers/browsebrickcontroller.class.inc.php index 313f5867f1..46311ff8e9 100644 --- a/datamodels/2.x/itop-portal-base/portal/src/controllers/browsebrickcontroller.class.inc.php +++ b/datamodels/2.x/itop-portal-base/portal/src/controllers/browsebrickcontroller.class.inc.php @@ -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);