mirror of https://github.com/MISP/MISP
chg: [genericElements:extended] Renamed `extended` related fields into
`tree` and added docpull/6120/head
parent
03a66ddf8f
commit
527fc88cf1
|
@ -1,4 +1,18 @@
|
|||
<?php
|
||||
/**
|
||||
* Generate a tree like hierarchy from the provided data
|
||||
*
|
||||
* @see tree_node.ctp
|
||||
* @param array $field['parent'] If provided, will be echoed verbatim
|
||||
* @param array $field['fields']['tree_data'] The data for each tree level, from parent to children:
|
||||
* array(
|
||||
* 0 => array(
|
||||
* $tree_node_data
|
||||
* ),
|
||||
* 1 => array(...),
|
||||
* )
|
||||
*/
|
||||
|
||||
if (isset($field['parent'])) {
|
||||
echo h($field['parent']);
|
||||
} else {
|
||||
|
@ -9,18 +23,17 @@ if (isset($field['parent'])) {
|
|||
}
|
||||
|
||||
$htmlExtended = '';
|
||||
$datapathLevels = $field['fields']['extend_data'];
|
||||
$datapathLevels = $field['fields']['tree_data'];
|
||||
$levelSkiped = 0;
|
||||
foreach ($datapathLevels as $level => $datapathLevel) {
|
||||
$dataForLevel = Hash::extract($row, $datapathLevel['extend_root_data_path']);
|
||||
$dataForLevel = Hash::extract($row, $datapathLevel['main_data_path']);
|
||||
if (!empty($dataForLevel)) {
|
||||
$htmlExtended .= $this->element(
|
||||
'/genericElements/IndexTable/Fields/extended_by',
|
||||
'/genericElements/IndexTable/Fields/tree_node',
|
||||
array(
|
||||
'datapath' => $datapathLevel,
|
||||
'data' => $dataForLevel,
|
||||
'level' => $level - $levelSkiped,
|
||||
'k' => $k,
|
||||
)
|
||||
);
|
||||
} else {
|
|
@ -1,3 +1,16 @@
|
|||
<?php
|
||||
/**
|
||||
* Tree node used by the tree generic element
|
||||
* @param array $nodeDataPaths Different datapath that can be used to further extract more data or to be passed to other elements
|
||||
* array(
|
||||
* 'main_data_path' => <string>, *required* Array of data to be drawn for this level
|
||||
* 'node_link_path' => <string>, *optional* The data to be used for displayed the link
|
||||
* 'node_link_title' => <string>, *optional* The title to be used for the link if node_link_path provided, otherwise the verbatim value to be displayed
|
||||
* )
|
||||
* @param array $data The data to be used to draw the node
|
||||
* @param int $level The current node depth in the tree
|
||||
*/
|
||||
?>
|
||||
<?php if (!empty($data)): ?>
|
||||
<?php
|
||||
if (!isset($data[0])) {
|
||||
|
@ -8,7 +21,7 @@
|
|||
?>
|
||||
<?php foreach ($data as $item): ?>
|
||||
<?php
|
||||
$linkTitle = Hash::extract($item, $datapath['extend_link_title']);
|
||||
$linkTitle = Hash::extract($item, $datapath['node_link_title']);
|
||||
if (!empty($linkTitle)) {
|
||||
$linkTitle = $linkTitle[0];
|
||||
}
|
||||
|
@ -20,12 +33,12 @@
|
|||
<?php endif; ?>
|
||||
<span style="margin-left: 0.2em;">
|
||||
<?php
|
||||
if (isset($datapath['extend_link_path'])) {
|
||||
if (isset($datapath['node_link_path'])) {
|
||||
echo $this->element('genericElements/IndexTable/Fields/links', array(
|
||||
'row' => $item,
|
||||
'field' => array(
|
||||
'url' => $baseurl . '/galaxy_clusters/view/%s',
|
||||
'data_path' => $datapath['extend_link_path'],
|
||||
'data_path' => $datapath['node_link_path'],
|
||||
'title' => $linkTitle
|
||||
),
|
||||
));
|
|
@ -128,22 +128,22 @@
|
|||
'name' => __('Description'),
|
||||
'sort' => 'description',
|
||||
'data_path' => 'GalaxyCluster.description',
|
||||
'element' => 'extended',
|
||||
'element' => 'tree',
|
||||
'fields' => array(
|
||||
'extend_data' => array(
|
||||
'tree_data' => array(
|
||||
0 => array(
|
||||
'extend_root_data_path' => 'GalaxyCluster.extended_from',
|
||||
'extend_link_path' => 'GalaxyCluster.uuid',
|
||||
'extend_link_title' => 'GalaxyCluster.value',
|
||||
'main_data_path' => 'GalaxyCluster.extended_from',
|
||||
'node_link_path' => 'GalaxyCluster.uuid',
|
||||
'node_link_title' => 'GalaxyCluster.value',
|
||||
),
|
||||
1 => array(
|
||||
'extend_root_data_path' => 'GalaxyCluster',
|
||||
'extend_link_title' => 'value',
|
||||
'main_data_path' => 'GalaxyCluster',
|
||||
'node_link_title' => 'value',
|
||||
),
|
||||
2 => array(
|
||||
'extend_root_data_path' => 'GalaxyCluster.extended_by',
|
||||
'extend_link_path' => 'GalaxyCluster.uuid',
|
||||
'extend_link_title' => 'GalaxyCluster.value',
|
||||
'main_data_path' => 'GalaxyCluster.extended_by',
|
||||
'node_link_path' => 'GalaxyCluster.uuid',
|
||||
'node_link_title' => 'GalaxyCluster.value',
|
||||
),
|
||||
)
|
||||
)
|
||||
|
|
Loading…
Reference in New Issue