Browse Source

added webapp to view travels

master
arnaucode 5 years ago
parent
commit
1d9f657bba
19 changed files with 924 additions and 1 deletions
  1. +2
    -0
      app/.gitignore
  2. +20
    -0
      app/app.js
  3. +18
    -0
      app/bower.json
  4. +531
    -0
      app/css/colors.css
  5. +0
    -0
      app/css/style.css
  6. BIN
      app/img/asking.png
  7. BIN
      app/img/faircoinpublickey_sample.png
  8. BIN
      app/img/offering.png
  9. BIN
      app/img/package.png
  10. BIN
      app/img/userProfileBackground.png
  11. +67
    -0
      app/index.html
  12. +20
    -0
      app/package.json
  13. +11
    -0
      app/views/navbar.html
  14. +14
    -0
      app/views/navbar.js
  15. +48
    -0
      app/views/travel/travel.html
  16. +61
    -0
      app/views/travel/travel.js
  17. +52
    -0
      app/views/travels/travels.html
  18. +73
    -0
      app/views/travels/travels.js
  19. +7
    -1
      index.html

+ 2
- 0
app/.gitignore

@ -0,0 +1,2 @@
bower_components
node_modules

+ 20
- 0
app/app.js

@ -0,0 +1,20 @@
'use strict';
// var urlapi = "http://localhost:3000/api/";
//var urlapi = "http://192.168.1.36:3000/api/";
var urlapi = "http://routes.fair.coop:3000/api/";
// Declare app level module which depends on views, and components
angular.module('app', [
'ngRoute',
'ngMessages',
'angularBootstrapMaterial',
'app.navbar',
'app.travels',
'app.travel'
]).
config(['$locationProvider', '$routeProvider', function($locationProvider, $routeProvider) {
$locationProvider.hashPrefix('!');
$routeProvider.otherwise({redirectTo: '/travels'});
}]);

+ 18
- 0
app/bower.json

@ -0,0 +1,18 @@
{
"name": "commonroutesAdminWeb",
"description": "commonroutesAdminWeb",
"version": "0.0.0",
"homepage": "https://github.com/arnaucode/commonroutesAdminWeb",
"license": "MIT",
"private": true,
"dependencies": {
"angular": "^1.6.2",
"angular-route": "^1.6.1",
"angular-chart.js": "^1.1.1",
"angular-bootstrap-material": "abm#^0.1.4",
"angular-bootstrap": "^2.5.0",
"angular-messages": "^1.6.5",
"components-font-awesome": "^4.7.0",
"ui-leaflet": "^2.0.0"
}
}

+ 531
- 0
app/css/colors.css

@ -0,0 +1,531 @@
/* red */
.c_red50{
background: #FFEBEE!important;
color: #000000!important;
}
.c_red100{
background: #FFCDD2!important;
color: #000000!important;
}
.c_red200{
background: #EF9A9A!important;
color: #000000!important;
}
.c_red300{
background: #E57373!important;
color: #ffffff!important;
}
.c_red400{
background: #EF5350!important;
color: #ffffff!important;
}
.c_red500{
background: #F44336!important;
color: #ffffff!important;
}
.c_red600{
background: #E53935!important;
color: #ffffff!important;
}
.c_red700{
background: #D32F2F!important;
color: #ffffff!important;
}
.c_red800{
background: #C62828!important;
color: #ffffff!important;
}
.c_red900{
background: #B71C1C!important;
color: #ffffff!important;
}
.ctext_red400{
color: #EF5350!important;
}
.ctext_red500{
color: #F44336!important;
}
.ctext_red600{
color: #E53935!important;
}
/* pink */
.c_pink50{
background: #FCE4EC!important;
color: #000000!important;
}
.c_pink100{
background: #F8BBD0!important;
color: #000000!important;
}
.c_pink200{
background: #F48FB1!important;
color: #000000!important;
}
.c_pink300{
background: #F06292!important;
color: #ffffff!important;
}
.c_pink400{
background: #EC407A!important;
color: #ffffff!important;
}
.c_pink500{
background: #E91E63!important;
color: #ffffff!important;
}
.c_pink600{
background: #D81B60!important;
color: #ffffff!important;
}
.c_pink700{
background: #C2185B!important;
color: #ffffff!important;
}
.c_pink800{
background: #AD1457!important;
color: #ffffff!important;
}
.c_pink900{
background: #880E4F!important;
color: #ffffff!important;
}
/* deepPurple */
.c_deepPurple50{
background: #EDE7F6!important;
color: #000000!important;
}
.c_deepPurple100{
background: #D1C4E9!important;
color: #000000!important;
}
.c_deepPurple200{
background: #B39DDB!important;
color: #000000!important;
}
.c_deepPurple300{
background: #9575CD!important;
color: #ffffff!important;
}
.c_deepPurple400{
background: #7E57C2!important;
color: #ffffff!important;
}
.c_deepPurple500{
background: #673AB7!important;
color: #ffffff!important;
}
.c_deepPurple600{
background: #5E35B1!important;
color: #ffffff!important;
}
.c_deepPurple700{
background: #512DA8!important;
color: #ffffff!important;
}
.c_deepPurple800{
background: #4527A0!important;
color: #ffffff!important;
}
.c_deepPurple900{
background: #311B92!important;
color: #ffffff!important;
}
.c_deepPurpleG000to200{
background: -moz-linear-gradient(0deg, #ffffff 0%, #D1C4E9 100%)!important; /* ff3.6+ */
background: -webkit-gradient(linear, left top, right top, color-stop(0%, #ffffff), color-stop(100%, #D1C4E9))!important; /* safari4+,chrome */
background: -webkit-linear-gradient(0deg, #ffffff 0%, #D1C4E9 100%)!important; /* safari5.1+,chrome10+ */
background: -o-linear-gradient(0deg, #ffffff 0%, #D1C4E9 100%)!important; /* opera 11.10+ */
background: -ms-linear-gradient(0deg, #ffffff 0%, #D1C4E9 100%)!important; /* ie10+ */
background: linear-gradient(90deg, #ffffff 0%, #D1C4E9 100%)!important; /* w3c */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#D1C4E9',GradientType=1 )!important; /* ie6-9 */
}
.c_deepPurpleG500to300{
background: -moz-linear-gradient(219deg, #9575CD 0%, #673AB7 100%)!important; /* ff3.6+ */
background: -webkit-gradient(linear, left bottom, right top, color-stop(0%, #673AB7), color-stop(100%, #9575CD))!important; /* safari4+,chrome */
background: -webkit-linear-gradient(219deg, #9575CD 0%, #673AB7 100%)!important; /* safari5.1+,chrome10+ */
background: -o-linear-gradient(219deg, #9575CD 0%, #673AB7 100%)!important; /* opera 11.10+ */
background: -ms-linear-gradient(219deg, #9575CD 0%, #673AB7 100%)!important; /* ie10+ */
background: linear-gradient(231deg, #9575CD 0%, #673AB7 100%)!important; /* w3c */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#673AB7', endColorstr='#9575CD',GradientType=1 )!important; /* ie6-9 */
color: #ffffff!important;
}
.c_deepPurpleG300to500{
background: -moz-linear-gradient(42deg, #9575CD 0%, #673AB7 100%)!important; /* ff3.6+ */
background: -webkit-gradient(linear, left bottom, right top, color-stop(0%, #9575CD), color-stop(100%, #673AB7))!important; /* safari4+,chrome */
background: -webkit-linear-gradient(42deg, #9575CD 0%, #673AB7 100%)!important; /* safari5.1+,chrome10+ */
background: -o-linear-gradient(42deg, #9575CD 0%, #673AB7 100%)!important; /* opera 11.10+ */
background: -ms-linear-gradient(42deg, #9575CD 0%, #673AB7 100%)!important; /* ie10+ */
background: linear-gradient(48deg, #9575CD 0%, #673AB7 100%)!important; /* w3c */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#9575CD', endColorstr='#673AB7',GradientType=1 )!important; /* ie6-9 */
color: #ffffff!important;
}
/* indigo */
.c_indigo50{
background:#E8EAF6!important;
color: #000000!important;
}
.c_indigo100{
background:#C5CAE9!important;
color: #000000!important;
}
.c_indigo200{
background:#9FA8DA!important;
color: #000000!important;
}
.c_indigo300{
background:#7986CB!important;
color: #ffffff!important;
}
.c_indigo400{
background:#5C6BC0!important;
color: #ffffff!important;
}
.c_indigo500{
background:#3F51B5!important;
color: #ffffff!important;
}
.c_indigo600{
background:#3949AB!important;
color: #ffffff!important;
}
.c_indigo700{
background:#303F9F!important;
color: #ffffff!important;
}
.c_indigo800{
background:#283593!important;
color: #ffffff!important;
}
.c_indigo900{
background:#1A237E!important;
color: #ffffff!important;
}
.ctext_indigo500{
color: #3F51B5!important;
}
/* blue */
.c_blue50{
background: #E3F2FD!important;
color: #000000!important;
}
.c_blue100{
background: #BBDEFB!important;
color: #000000!important;
}
.c_blue200{
background: #90CAF9!important;
color: #000000!important;
}
.c_blue300{
background: #64B5F6!important;
color: #ffffff!important;
}
.c_blue400{
background: #42A5F5!important;
color: #ffffff!important;
}
.c_blue500{
background: #2196F3!important;
color: #ffffff!important;
}
.c_blue600{
background: #1E88E5!important;
color: #ffffff!important;
}
.c_blue700{
background: #1976D2!important;
color: #ffffff!important;
}
.c_blue800{
background: #1565C0!important;
color: #ffffff!important;
}
.c_blue900{
background: #0D47A1!important;
color: #ffffff!important;
}
/* cyan */
.c_cyan50{
background: #E0F7FA!important;
color: #000000!important;
}
.c_cyan100{
background: #B2EBF2!important;
color: #000000!important;
}
.c_cyan200{
background: #80DEEA!important;
color: #000000!important;
}
.c_cyan300{
background: #4DD0E1!important;
color: #ffffff!important;
}
.c_cyan400{
background: #26C6DA!important;
color: #ffffff!important;
}
.c_cyan500{
background: #00BCD4!important;
color: #ffffff!important;
}
.c_cyan600{
background: #00ACC1!important;
color: #ffffff!important;
}
.c_cyan700{
background: #0097A7!important;
color: #ffffff!important;
}
.c_cyan800{
background: #00838F!important;
color: #ffffff!important;
}
.c_cyan900{
background: #006064!important;
color: #ffffff!important;
}
/* green */
.c_green50{
background: #E8F5E9!important;
color: #000000!important;
}
.c_green100{
background: #C8E6C9!important;
color: #000000!important;
}
.c_green200{
background: #A5D6A7!important;
color: #000000!important;
}
.c_green300{
background: #81C784!important;
color: #ffffff!important;
}
.c_green400{
background: #66BB6A!important;
color: #ffffff!important;
}
.c_green500{
background: #4CAF50!important;
color: #ffffff!important;
}
.c_green600{
background: #43A047!important;
color: #ffffff!important;
}
.c_green700{
background: #388E3C!important;
color: #ffffff!important;
}
.c_green800{
background: #2E7D32!important;
color: #ffffff!important;
}
.c_green900{
background: #1B5E20!important;
color: #ffffff!important;
}
/* yellow */
.c_yellow50{
background: #FFFDE7!important;
color: #000000!important;
}
.c_yellow100{
background: #FFF9C4!important;
color: #000000!important;
}
.c_yellow200{
background: #FFF59D!important;
color: #000000!important;
}
.c_yellow300{
background: #FFF176!important;
color: #ffffff!important;
}
.c_yellow400{
background: #FFEE58!important;
color: #ffffff!important;
}
.c_yellow500{
background: #FFEB3B!important;
color: #ffffff!important;
}
.c_yellow600{
background: #FDD835!important;
color: #ffffff!important;
}
.c_yellow700{
background: #FBC02D!important;
color: #ffffff!important;
}
.c_yellow800{
background: #F9A825!important;
color: #ffffff!important;
}
.c_yellow900{
background: #F57F17!important;
color: #ffffff!important;
}
/* orange */
.c_orange50{
background: #FFF3E0!important;
color: #000000!important;
}
.c_orange100{
background: #FFE0B2!important;
color: #000000!important;
}
.c_orange200{
background: #FFCC80!important;
color: #000000!important;
}
.c_orange300{
background: #FFB74D!important;
color: #ffffff!important;
}
.c_orange400{
background: #FFA726!important;
color: #ffffff!important;
}
.c_orange500{
background: #FF9800!important;
color: #ffffff!important;
}
.c_orange600{
background: #FB8C00!important;
color: #ffffff!important;
}
.c_orange700{
background: #F57C00!important;
color: #ffffff!important;
}
.c_orange800{
background: #EF6C00!important;
color: #ffffff!important;
}
.c_orange900{
background: #E65100!important;
color: #ffffff!important;
}
/* grey */
.c_grey50{
background: #FAFAFA!important;
color: #000000!important;
}
.c_grey100{
background: #F5F5F5!important;
color: #000000!important;
}
.c_grey200{
background: #EEEEEE!important;
color: #000000!important;
}
.c_grey300{
background: #E0E0E0!important;
color: #ffffff!important;
}
.c_grey400{
background: #BDBDBD!important;
color: #ffffff!important;
}
.c_grey500{
background: #9E9E9E!important;
color: #ffffff!important;
}
.c_grey600{
background: #757575!important;
color: #ffffff!important;
}
.c_grey700{
background: #616161!important;
color: #ffffff!important;
}
.c_grey800{
background: #424242!important;
color: #ffffff!important;
}
.c_grey900{
background: #212121!important;
color: #ffffff!important;
}
/* blue grey */
.c_blueGrey50{
background: #ECEFF1!important;
color: #000000!important;
}
.c_blueGrey100{
background: #CFD8DC!important;
color: #000000!important;
}
.c_blueGrey200{
background: #B0BEC5!important;
color: #000000!important;
}
.c_blueGrey300{
background: #90A4AE!important;
color: #ffffff!important;
}
.c_blueGrey400{
background: #78909C!important;
color: #ffffff!important;
}
.c_blueGrey500{
background: #607D8B!important;
color: #ffffff!important;
}
.c_blueGrey600{
background: #546E7A!important;
color: #ffffff!important;
}
.c_blueGrey700{
background: #455A64!important;
color: #ffffff!important;
}
.c_blueGrey800{
background: #37474F!important;
color: #ffffff!important;
}
.c_blueGrey900{
background: #263238!important;
color: #ffffff!important;
}
.ctext_blueGrey500{
color: #607D8B!important;
}
.c_blueGradient1{
background: #2d4a56!important;
background: -moz-linear-gradient(left, #2d4a56 0%, #1c2b36 100%)!important;
background: -webkit-linear-gradient(left, #2d4a56 0%,#1c2b36 100%)!important;
background: linear-gradient(to right, #2d4a56 0%,#1c2b36 100%)!important;
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#2d4a56', endColorstr='#1c2b36',GradientType=1 )!important;
color: rgba(255,255,255,0.9)!important;
}
.c_blue2{
background: rgb(28,43,54)!important;
color: rgba(255,255,255,0.8)!important;
}
.cf_green2{
color: rgb(32,158,145)!important;
}

+ 0
- 0
app/css/style.css


BIN
app/img/asking.png

Before After
Width: 30  |  Height: 36  |  Size: 564 B

BIN
app/img/faircoinpublickey_sample.png

Before After
Width: 375  |  Height: 377  |  Size: 21 KiB

BIN
app/img/offering.png

Before After
Width: 41  |  Height: 35  |  Size: 806 B

BIN
app/img/package.png

Before After
Width: 34  |  Height: 36  |  Size: 288 B

BIN
app/img/userProfileBackground.png

Before After
Width: 634  |  Height: 393  |  Size: 245 KiB

+ 67
- 0
app/index.html

@ -0,0 +1,67 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>CommonRoutes - Travels</title>
<link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Open+Sans:400,700'>
<!-- Material Design fonts -->
<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Roboto:300,400,500,700">
<link rel="stylesheet" href="//fonts.googleapis.com/icon?family=Material+Icons">
<link rel="stylesheet" href="bower_components/components-font-awesome/css/font-awesome.min.css">
<link href="css/style.css" rel="stylesheet">
<link href="css/colors.css" rel="stylesheet">
<!-- IF using Sass (run gulp sass first), then uncomment below and remove the CSS includes above
<link href="css/ionic.app.css" rel="stylesheet">
-->
</head>
<body ng-app="app">
<div ng-include="'views/navbar.html'"></div>
<div ng-view></div>
<!-- Angular js -->
<script src="bower_components/angular/angular.js"></script>
<script src="bower_components/angular-route/angular-route.js"></script>
<script src="bower_components/angular-messages/angular-messages.js"></script>
<!-- Bootstrap -->
<link rel="stylesheet" href="bower_components/bootstrap/dist/css/bootstrap.css">
<!-- Bootstrap Material Design -->
<link rel="stylesheet" href="bower_components/bootstrap-material-design/dist/css/bootstrap-material-design.css">
<link rel="stylesheet" href="bower_components/bootstrap-material-design/dist/css/ripples.css">
<script src="bower_components/angular-bootstrap/ui-bootstrap-tpls.js"></script>
<script src="bower_components/angular-bootstrap-material/dist/angular-bootstrap-material.js"></script>
<!-- Angular Chart -->
<script src="bower_components/chart.js/dist/Chart.min.js"></script>
<script src="bower_components/angular-chart.js/dist/angular-chart.min.js"></script>
<!-- openstreetmaps angular - leaflet -->
<script src="bower_components/leaflet/dist/leaflet.js"></script>
<script src="bower_components/angular-simple-logger/dist/angular-simple-logger.js"></script>
<script src="bower_components/ui-leaflet/dist/ui-leaflet.js"></script>
<link rel="stylesheet" href="bower_components/leaflet/dist/leaflet.css" />
<!-- app's js -->
<script src="app.js"></script>
<script src="views/navbar.js"></script>
<script src="views/travels/travels.js"></script>
<script src="views/travel/travel.js"></script>
</body>
</html>

+ 20
- 0
app/package.json

@ -0,0 +1,20 @@
{
"name": "commonroutesAdminWeb",
"private": true,
"version": "0.0.0",
"description": "commonroutesAdminWeb",
"repository": "https://github.com/arnaucode/commonroutesLandingPage",
"license": "MIT",
"devDependencies": {
"bower": "^1.7.7",
"http-server": "^0.9.0"
},
"scripts": {
"postinstall": "bower install",
"prestart": "npm install",
"start": "http-server -p 8080 -c-1 ./"
},
"dependencies": {
"bower": "latest"
}
}

+ 11
- 0
app/views/navbar.html

@ -0,0 +1,11 @@
<div ng-controller="NavbarCtrl">
<div class="navbar c_grey700">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="/">CommonRoutes</a>
<a class="navbar-brand">|</a>
<a class="navbar-brand" href="/app/#!/travels">Travels</a>
</div>
</div>
</div>
</div>

+ 14
- 0
app/views/navbar.js

@ -0,0 +1,14 @@
'use strict';
angular.module('app.navbar', ['ngRoute'])
.config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/navbar', {
templateUrl: 'views/navbar/navbar.html',
controller: 'NavbarCtrl'
});
}])
.controller('NavbarCtrl', function($scope) {
});

+ 48
- 0
app/views/travel/travel.html

@ -0,0 +1,48 @@
<div class="container">
<div class="row">
<div class="col-sm-3"></div>
<div class="col-sm-6">
<div class="panel">
<div class="panel-body">
<div class="pull-right">
<!-- <div class="row-picture" style="font-size:140%; text-align:right;" title="user">
<img style="width:40px;" class="circle" ng-src="{{travel.user.avatar}}" alt="icon"> {{travel.user.username}}
</div> -->
{{travel.date | date:"dd/MM HH:mm a"}}
</div>
<div class="list-group">
<div class="list-group-item">
<div class="pull-right"></div>
<h4>
<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>
{{travel.title}}
</h4>
</div>
</div>
<p>
From: <b>{{travel.from.name}}</b>
</p>
<p>
To: <b>{{travel.from.name}}</b>
</p>
<p ng-show="travel.description">
Description: <b>{{travel.description}}</b>
</p>
<p ng-show="travel.package">
Can carry package
</p>
</div>
</div>
<div class="panel">
<div class="panel-heading c_deepPurple300">
<h3 class="panel-title">Map</h3>
</div>
<div class="panel-body">
<leaflet width="100%" height="400px" markers="markers" center="center"
tiles="tiles" id="map-simple-map"></leaflet>
</div>
</div>
</div>
</div>

+ 61
- 0
app/views/travel/travel.js

@ -0,0 +1,61 @@
'use strict';
angular.module('app.travel', ['ngRoute', 'ui-leaflet'])
.config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/travel/:travelid', {
templateUrl: 'views/travel/travel.html',
controller: 'TravelCtrl'
});
}])
.controller('TravelCtrl', function($scope, $http, $routeParams,
leafletData, leafletBoundsHelpers) {
$scope.travel = {};
//map
$scope.center = {
/*lat: 0,
lng: 0,
zoom: 1*/
};
$scope.bounds = {};
$scope.markers = [];
$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/id/' + $routeParams.travelid)
.then(function(data, status, headers, config) {
console.log('data success');
console.log(data);
$scope.travel = data.data;
//map
$scope.markers = [];
$scope.markers.push({
lat: Number($scope.travel.from.lat),
lng: Number($scope.travel.from.long),
message: $scope.travel.from.name
});
$scope.markers.push({
lat: Number($scope.travel.to.lat),
lng: Number($scope.travel.to.long),
message: $scope.travel.to.name
});
$scope.center = {
lat: (Number($scope.travel.from.lat) + Number($scope.travel.to.lat)) / 2,
lng: (Number($scope.travel.from.long) + Number($scope.travel.to.long)) / 2,
zoom: 4
};
}, function(data, status, headers, config) {
console.log('data error');
});
});

+ 52
- 0
app/views/travels/travels.html

@ -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
- 0
app/views/travels/travels.js

@ -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');
});
});

+ 7
- 1
index.html

@ -60,9 +60,15 @@
<li>
<a class="page-scroll" href="#download">Download</a>
</li>
<li>
<a href="https://github.com/arnaucode/commonroutesServer" target="_blank">Code</a>
</li>
<li>
<a href="https://fair.coop" target="_blank">FairCoop</a>
</li>
<li>
<a href="/app">Travels</a>
</li>
</ul>
</div>
<!-- /.navbar-collapse -->
@ -167,7 +173,7 @@
<p>
Under development
</p>
<a href="/commonroutes.apk" target="_blank" class="btn btn-default btn-lg">
<a href="https://github.com/arnaucode/commonroutesApp/blob/master/releases/commonroutes.apk" target="_blank" class="btn btn-default btn-lg">
<i class="fa fa-android fa-fw"></i> Download (pre-alpha version)
</a>
</div>

Loading…
Cancel
Save