diff --git a/datamodels/2.x/itop-portal-base/portal/src/Controller/ObjectController.php b/datamodels/2.x/itop-portal-base/portal/src/Controller/ObjectController.php index 88f5f6dcd..dbe89f36a 100644 --- a/datamodels/2.x/itop-portal-base/portal/src/Controller/ObjectController.php +++ b/datamodels/2.x/itop-portal-base/portal/src/Controller/ObjectController.php @@ -1408,14 +1408,15 @@ class ObjectController extends BrickController protected function PrepareObjectInformation(DBObject $oObject, $aAttCodes = array()) { $sObjectClass = get_class($oObject); - $aObjectData = array( - 'id' => $oObject->GetKey(), - 'name' => $oObject->GetName(), - 'attributes' => array(), - ); + $aObjectData = [ + 'id' => $oObject->GetKey(), + 'object_class' => $sObjectClass, + 'name' => $oObject->GetName(), + 'attributes' => [], + ]; // Retrieving attributes definitions - $aAttDefs = array(); + $aAttDefs = []; foreach ($aAttCodes as $sAttCode) { if ($sAttCode === 'id') @@ -1429,9 +1430,15 @@ class ObjectController extends BrickController // Preparing attribute data foreach ($aAttDefs as $oAttDef) { - $aAttData = array( + $aAttData = [ 'att_code' => $oAttDef->GetCode(), - ); + 'attribute-type' => get_class($oAttDef), + ]; + + // - Value raw + if ($oAttDef::IsScalar()) { + $aAttData['value-raw'] =utils::HtmlEntities( (string)$oObject->Get($oAttDef->GetCode())); + } if ($oAttDef->IsExternalKey()) { diff --git a/datamodels/2.x/itop-portal-base/portal/templates/bricks/object/mode_search_regular.html.twig b/datamodels/2.x/itop-portal-base/portal/templates/bricks/object/mode_search_regular.html.twig index b0dda5793..8d3b3cf13 100644 --- a/datamodels/2.x/itop-portal-base/portal/templates/bricks/object/mode_search_regular.html.twig +++ b/datamodels/2.x/itop-portal-base/portal/templates/bricks/object/mode_search_regular.html.twig @@ -9,7 +9,7 @@
{#
#}
- +
@@ -80,7 +80,17 @@ { cellElem = $(''); } - cellElem.attr('data-object-id', row.id).html('' + row.attributes[data].value + ''); + //Add markup + cellElem.attr('data-object-id', row.id) + cellElem.attr('data-object-class', row.object_class); + cellElem.attr('data-attribute-type', row.attributes[data]['attribute-type']); + cellElem.attr('data-attribute-code', row.attributes[data]['att_code']); + console.warn('bob'); + if (row.attributes[data]['value-raw']!== undefined) { + cellElem.attr('data-value-raw', row.attributes[data]['value-raw']); + } + + cellElem.html( row.attributes[data].value ); return cellElem.prop('outerHTML'); }, @@ -92,7 +102,6 @@ $(document).ready(function(){ showTableLoader(); - // Note : Those options should be externalized in an library so we can use them on any DataTables for the portal. // We would just have to override / complete the necessary elements oTable = $('#{{ sTableId }}').DataTable({