aboutsummaryrefslogtreecommitdiff
path: root/app/class/Modelhome.php
diff options
context:
space:
mode:
authorvincent-peugnet <v.peugnet@free.fr>2020-02-12 21:05:46 +0100
committervincent-peugnet <v.peugnet@free.fr>2020-02-12 21:09:32 +0100
commite115875801c2e32399079c4ef92bb11ceb4f2c1d (patch)
treea5251d843999b7c751c8f040685cc42b4d50f42a /app/class/Modelhome.php
parent0893f20446a6645c5f928f2cb41f688a9fc5fcf1 (diff)
downloadwcms-e115875801c2e32399079c4ef92bb11ceb4f2c1d.tar.gz
wcms-e115875801c2e32399079c4ef92bb11ceb4f2c1d.zip
generate cytoscape datas
Diffstat (limited to 'app/class/Modelhome.php')
-rw-r--r--app/class/Modelhome.php41
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)
+ {
+
+ }
/**