mirror of
https://github.com/arnaucube/commonroutesLandingPage.git
synced 2026-02-07 03:16:44 +01:00
added webapp to view travels
This commit is contained in:
52
app/views/travels/travels.html
Executable file
52
app/views/travels/travels.html
Executable file
@@ -0,0 +1,52 @@
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
<div class="panel">
|
||||
<div class="panel-heading c_deepPurple300">
|
||||
<h3 class="panel-title">All travels</h3>
|
||||
</div>
|
||||
<div class="panel-body" style="max-height: 500px;overflow-y: scroll;">
|
||||
<table class="table table-striped table-hover ">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Type</th>
|
||||
<th>From</th>
|
||||
<th>To</th>
|
||||
<th>Date</th>
|
||||
<!-- <th>User</th> -->
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr ng-repeat="travel in travels">
|
||||
<td>
|
||||
<i ng-show="travel.type=='offering'" class="fa fa-car fa-2x"></i>
|
||||
<i ng-show="travel.type=='asking'" class="fa fa-question fa-2x"></i>
|
||||
<i ng-show="travel.type=='package'" class="fa fa-archive fa-2x"></i>
|
||||
</td>
|
||||
<td>{{travel.from.name}}</td>
|
||||
<td>{{travel.to.name}}</td>
|
||||
<td>{{travel.date | date:'yyyy/MM/dd'}}</td>
|
||||
<!-- <td>
|
||||
<img style="width:30px;" ng-src="{{travel.user.avatar}}" title="{{travel.user.username}}">
|
||||
</td> -->
|
||||
<td><a ng-href="#!/travel/{{travel._id}}">View</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<div class="panel">
|
||||
<div class="panel-heading c_deepPurple300">
|
||||
<h3 class="panel-title">Map</h3>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<leaflet width="100%" height="500px" markers="markers" paths="paths" center="center"
|
||||
tiles="tiles" id="map-simple-map"></leaflet>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
73
app/views/travels/travels.js
Executable file
73
app/views/travels/travels.js
Executable file
@@ -0,0 +1,73 @@
|
||||
'use strict';
|
||||
|
||||
angular.module('app.travels', ['ngRoute', 'ui-leaflet'])
|
||||
|
||||
.config(['$routeProvider', function($routeProvider) {
|
||||
$routeProvider.when('/travels', {
|
||||
templateUrl: 'views/travels/travels.html',
|
||||
controller: 'TravelsCtrl'
|
||||
});
|
||||
}])
|
||||
|
||||
.controller('TravelsCtrl', function($scope, $http) {
|
||||
$scope.travels = [];
|
||||
$scope.loadMorePagination = true;
|
||||
$scope.page = 0;
|
||||
|
||||
//map
|
||||
$scope.center = {};
|
||||
$scope.bounds = {};
|
||||
$scope.markers = [];
|
||||
$scope.paths = [];
|
||||
$scope.tiles = {
|
||||
url: "http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",
|
||||
options: {
|
||||
attribution: '<a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'
|
||||
}
|
||||
};
|
||||
|
||||
$http.get(urlapi + 'travels?page=' + $scope.page)
|
||||
.then(function(data) {
|
||||
console.log('data success');
|
||||
console.log(data);
|
||||
$scope.travels = data.data;
|
||||
//draw markers on map
|
||||
$scope.markers = [];
|
||||
for (var i = 0; i < $scope.travels.length; i++) {
|
||||
$scope.markers.push({
|
||||
lat: Number($scope.travels[i].from.lat),
|
||||
lng: Number($scope.travels[i].from.long),
|
||||
message: $scope.travels[i].from.name
|
||||
});
|
||||
$scope.markers.push({
|
||||
lat: Number($scope.travels[i].to.lat),
|
||||
lng: Number($scope.travels[i].to.long),
|
||||
message: $scope.travels[i].to.name
|
||||
});
|
||||
}
|
||||
//draw lines between markers on map
|
||||
$scope.paths = {};
|
||||
var paths = [];
|
||||
for (var i = 0; i < $scope.markers.length; i++) {
|
||||
var x = $scope.markers[i].lat;
|
||||
var y = $scope.markers[i].lng;
|
||||
paths.push([x, y]);
|
||||
}
|
||||
$scope.paths = {
|
||||
p1: {
|
||||
color: '#9575CD',
|
||||
weight: 8,
|
||||
latlngs: paths
|
||||
}
|
||||
};
|
||||
//var maplines = L.polyline(lines).addTo(map)
|
||||
|
||||
$scope.center = {
|
||||
lat: (Number($scope.travels[0].from.lat) + Number($scope.travels[0].to.lat)) / 2,
|
||||
lng: (Number($scope.travels[0].from.long) + Number($scope.travels[0].to.long)) / 2,
|
||||
zoom: 4
|
||||
};
|
||||
}, function(data) {
|
||||
console.log('data error');
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user