mirror of
https://github.com/arnaucube/commonroutesAdminWeb.git
synced 2026-02-07 03:06:44 +01:00
added search (users and travels), added user network, added all travels visualization
This commit is contained in:
36
views/userNetwork/userNetwork.html
Normal file
36
views/userNetwork/userNetwork.html
Normal file
@@ -0,0 +1,36 @@
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-sm-3">
|
||||
<div class="panel">
|
||||
<div class="panel-heading c_deepPurple300">
|
||||
<h3 class="panel-title">All users</h3>
|
||||
</div>
|
||||
<div class="panel-body" style="max-height: 500px;overflow-y: scroll;">
|
||||
<div class="list-group">
|
||||
<a ng-repeat="user in users" ng-click="getUserNetwork(user)" class="list-group-item">
|
||||
<div class="row-picture">
|
||||
<img class="circle" ng-src="{{user.avatar}}" alt="icon">
|
||||
</div>
|
||||
<div class="row-content">
|
||||
<h4 class="list-group-item-heading">{{user.username}}</h4>
|
||||
|
||||
<p class="list-group-item-text">{{user.description}}</p>
|
||||
<p class="list-group-item-text">{{user.travels.length}} published travels</p>
|
||||
<p class="list-group-item-text">{{user.likes.length}} likes</p>
|
||||
</div>
|
||||
<div class="list-group-separator"></div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-9">
|
||||
<div class="panel-heading c_deepPurple300">
|
||||
<h3 class="panel-title">Network</h3>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<div id="mynetwork" style="height:500px;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
98
views/userNetwork/userNetwork.js
Normal file
98
views/userNetwork/userNetwork.js
Normal file
@@ -0,0 +1,98 @@
|
||||
'use strict';
|
||||
|
||||
angular.module('app.userNetwork', ['ngRoute'])
|
||||
|
||||
.config(['$routeProvider', function($routeProvider) {
|
||||
$routeProvider.when('/userNetwork', {
|
||||
templateUrl: 'views/userNetwork/userNetwork.html',
|
||||
controller: 'UserNetworkCtrl'
|
||||
});
|
||||
}])
|
||||
|
||||
.controller('UserNetworkCtrl', function($scope, $http, $routeParams) {
|
||||
$scope.data = [];
|
||||
$scope.nodes = [];
|
||||
$scope.edges = [];
|
||||
var nodes, edges, container;
|
||||
var options = {
|
||||
layout: {
|
||||
improvedLayout: false
|
||||
},
|
||||
interaction: {
|
||||
hover: true
|
||||
},
|
||||
physics: {
|
||||
stabilization: false,
|
||||
//enabled: false
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
$scope.showMap = function() {
|
||||
var nodes = $scope.nodes;
|
||||
var edges = $scope.edges;
|
||||
|
||||
var container = document.getElementById('mynetwork');
|
||||
var data = {
|
||||
nodes: nodes,
|
||||
edges: edges
|
||||
};
|
||||
var network = new vis.Network(container, data, options);
|
||||
network.on("click", function(params) {
|
||||
params.event = "[original event]";
|
||||
//$scope.selectedNode = JSON.stringify(params, null, 4);
|
||||
$scope.selectedNode = params;
|
||||
console.log($scope.selectedNode);
|
||||
console.log($scope.selectedNode.nodes);
|
||||
var options = {
|
||||
// position: {x:positionx,y:positiony}, // this is not relevant when focusing on nodes
|
||||
scale: 1,
|
||||
offset: {
|
||||
x: 0,
|
||||
y: 0
|
||||
},
|
||||
animation: {
|
||||
duration: 500,
|
||||
easingFunction: "easeInOutQuad"
|
||||
}
|
||||
};
|
||||
network.focus($scope.selectedNode.nodes[0], options);
|
||||
});
|
||||
};
|
||||
|
||||
$http.get(urlapi + 'admin/network')
|
||||
.then(function(data, status, headers, config) {
|
||||
console.log('data success');
|
||||
console.log(data);
|
||||
|
||||
$scope.nodes = data.data.nodes;
|
||||
$scope.edges = data.data.edges;
|
||||
$scope.showMap();
|
||||
}, function(data, status, headers, config) {
|
||||
console.log('data error');
|
||||
});
|
||||
$http.get(urlapi + 'users?page=' + $scope.page)
|
||||
.then(function(data) {
|
||||
console.log('data success');
|
||||
console.log(data);
|
||||
$scope.users=data.data;
|
||||
|
||||
}, function(data) {
|
||||
console.log('data error');
|
||||
});
|
||||
|
||||
$scope.getUserNetwork = function(user) {
|
||||
console.log(user);
|
||||
$http.get(urlapi + 'admin/user/network/' + user._id)
|
||||
.then(function(data, status, headers, config) {
|
||||
console.log('data success');
|
||||
console.log(data);
|
||||
$scope.nodes = data.data.nodes;
|
||||
$scope.edges = data.data.edges;
|
||||
$scope.showMap();
|
||||
}, function(data, status, headers, config) {
|
||||
console.log('data error');
|
||||
});
|
||||
};
|
||||
|
||||
});
|
||||
Reference in New Issue
Block a user