diff options
Diffstat (limited to 'app/class/Modelhome.php')
-rw-r--r-- | app/class/Modelhome.php | 41 |
1 files changed, 40 insertions, 1 deletions
diff --git a/app/class/Modelhome.php b/app/class/Modelhome.php index 6352282..37eb549 100644 --- a/app/class/Modelhome.php +++ b/app/class/Modelhome.php @@ -130,7 +130,46 @@ class Modelhome extends Modelpage } } return $pageselected; - } + } + + /** + * Transform list of page into list of nodes and edges + */ + public function mapdata(array $pagelist) + { + $nodes = []; + $edges = []; + foreach ($pagelist as $page) { + $node['group'] = 'nodes'; + $node['data']['id'] = $page->id(); + $node['classes'] = [$page->secure('string')]; + $nodes[] = $node; + + + foreach ($page->linkto() as $linkto) { + $edge['group'] = 'edges'; + $edge['data']['id'] = $page->id() . '>' . $linkto; + $edge['data']['source'] = $page->id(); + $edge['data']['target'] = $linkto; + $edges[] = $edge; + } + } + $datas['elements'] = array_merge($nodes, $edges); + + $datas['layout']['name'] = 'preset'; + $datas['style'] = [ + 'selector' => 'node', + 'style' => [ + 'label' => 'data(id)' + ] + ]; + return $datas; + } + + public function cytodata(array $mapdata) + { + + } /** |