diff options
Diffstat (limited to 'app/class/Modelhome.php')
-rw-r--r-- | app/class/Modelhome.php | 43 |
1 files changed, 31 insertions, 12 deletions
diff --git a/app/class/Modelhome.php b/app/class/Modelhome.php index 343a879..18ae1a5 100644 --- a/app/class/Modelhome.php +++ b/app/class/Modelhome.php @@ -45,8 +45,10 @@ class Modelhome extends Modelpage * @param array $table * @param Opt $opt * @param string $regex + * + * @return array of `Page` object */ - public function table2(array $table, Opt $opt, string $regex = "", array $searchopt = []) + public function table2(array $table, Opt $opt, string $regex = "", array $searchopt = []) : array { @@ -135,17 +137,11 @@ class Modelhome extends Modelpage /** * Transform list of page into list of nodes and edges */ - public function mapdata(array $pagelist) + public function cytodata(array $pagelist, string $layout = 'random') { - $nodes = []; - $edges = []; - foreach ($pagelist as $page) { - $node['group'] = 'nodes'; - $node['data']['id'] = $page->id(); - $node['classes'] = [$page->secure('string')]; - $nodes[] = $node; - + $datas['elements'] = $this->mapdata($pagelist); +<<<<<<< HEAD foreach ($page->linkto() as $linkto) { $edge['group'] = 'edges'; $edge['data']['id'] = $page->id() . '>' . $linkto; @@ -157,6 +153,11 @@ class Modelhome extends Modelpage $datas['elements'] = array_merge($nodes, $edges); $datas['layout']['name'] = 'cose-bilkent'; +======= + $datas['layout'] = [ + 'name' => $layout, + ]; +>>>>>>> map integration in home $datas['style'] = [ [ 'selector' => 'node', @@ -175,9 +176,27 @@ class Modelhome extends Modelpage return $datas; } - public function cytodata(array $mapdata) + 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; + } + } + return array_merge($nodes, $edges); + } |