arnaucube
arnaucube/commonroutesAdminWebPublic Self-hosted repository
commonroutesAdminWeb/views/network/network.js
views/network/network.jsRaw
 1'use strict';
 2
 3angular.module('app.network', ['ngRoute'])
 4
 5    .config(['$routeProvider', function($routeProvider) {
 6        $routeProvider.when('/network', {
 7            templateUrl: 'views/network/network.html',
 8            controller: 'NetworkCtrl'
 9        });
10    }])
11
12    .controller('NetworkCtrl', function($scope, $http, $routeParams) {
13        $scope.data = [];
14        $scope.nodes = [];
15        $scope.edges = [];
16        var nodes, edges, container;
17        var options = {
18            layout: {
19                improvedLayout: false
20            },
21            interaction: {
22                hover: true
23            },
24            physics: {
25                stabilization: false,
26                //enabled: false
27            }
28        };
29
30
31        $scope.showMap = function() {
32            var nodes = $scope.nodes;
33            var edges = $scope.edges;
34
35            var container = document.getElementById('mynetwork');
36            var data = {
37                nodes: nodes,
38                edges: edges
39            };
40            var network = new vis.Network(container, data, options);
41            network.on("click", function(params) {
42                params.event = "[original event]";
43                //$scope.selectedNode = JSON.stringify(params, null, 4);
44                $scope.selectedNode = params;
45                console.log($scope.selectedNode);
46                console.log($scope.selectedNode.nodes);
47                var options = {
48                    // position: {x:positionx,y:positiony}, // this is not relevant when focusing on nodes
49                    scale: 1,
50                    offset: {
51                        x: 0,
52                        y: 0
53                    },
54                    animation: {
55                        duration: 500,
56                        easingFunction: "easeInOutQuad"
57                    }
58                };
59                network.focus($scope.selectedNode.nodes[0], options);
60            });
61        };
62
63        $http.get(urlapi + 'admin/network')
64            .then(function(data, status, headers, config) {
65                console.log('data success');
66                console.log(data);
67
68                $scope.nodes = data.data.nodes;
69                $scope.edges = data.data.edges;
70                $scope.showMap();
71            }, function(data, status, headers, config) {
72                console.log('data error');
73            });
74
75    });