added link full position link.

This commit is contained in:
didier.amyot committed 2014-07-18 10:56:13 -04:00
1 parent 8c7af20188
commit 21a4bb9a80
5 files changed
+65 -8

No files matched your search

@@ -7,9 +7,23 @@ defaultMapCenter =
lng: -72.6169 lng: -72.6169
zoom: 7 zoom: 7
getLocalStorageCenter = () -> getLocalStorageMapCenter = () ->
JSON.parse(localStorage.getItem("mapCenter")) or defaultMapCenter JSON.parse(localStorage.getItem("mapCenter")) or defaultMapCenter
getInitialCenter = (loc) ->
if loc
loc = (Number(x) for x in loc.split(","))
if loc.length != 3
return getLocalStorageMapCenter()
ret =
lat: loc[0]
lng: loc[1]
zoom: loc[2]
return ret
return getLocalStorageMapCenter()
getSingleDataUrl = (routeParams) -> getSingleDataUrl = (routeParams) ->
@@ -48,7 +62,7 @@ root.controllers.controller('geojsonmapCtrl', ['$scope', '$routeParams', '$locat
$scope.geojson = {} $scope.geojson = {}
$scope.geojsonData = {} $scope.geojsonData = {}
$scope.idx = Number($routeParams.idx) $scope.idx = Number($routeParams.idx)
$scope.center = getLocalStorageCenter() $scope.center = getInitialCenter($routeParams.loc)
$scope.queryObject = $routeParams.query or "{}" $scope.queryObject = $routeParams.query or "{}"
$scope.$watch 'center', () -> $scope.$watch 'center', () ->
@@ -122,5 +136,14 @@ root.controllers.controller('geojsonmapCtrl', ['$scope', '$routeParams', '$locat
return "" return ""
r = $routeParams r = $routeParams
$location.path "/#{ r.server }/#{ r.database }/#{ r.collection }/idx/1/query/#{query}/geojson/#{r.key}" $location.path "/#{ r.server }/#{ r.database }/#{ r.collection }/idx/1/query/#{query}/geojson/#{r.key}"
$scope.getUrlWithLocation = () ->
c = $scope.center
if $routeParams.loc
l = $location.absUrl()
rgx = /\/location\/-?\d{0,3}\.?\d*,-?\d{0,3}\.?\d*,\d+/
return l.replace(rgx, "/location/#{c.lat},#{c.lng},#{c.zoom}")
else
return "#{$location.absUrl()}/location/#{c.lat},#{c.lng},#{c.zoom}"
]) ])
@@ -0,0 +1,8 @@
directives.directive "selectOnClick", ->
restrict: "A"
link: (scope, element, attrs) ->
element.on "click", ->
@select()
return
return
+6
View File
@@ -16,6 +16,7 @@ config(['$routeProvider', ($routeProvider) ->
$routeProvider.when('/servers', {templateUrl: 'partials/servers.html', controller: 'serversCtrl'}) $routeProvider.when('/servers', {templateUrl: 'partials/servers.html', controller: 'serversCtrl'})
$routeProvider.when('/about', {templateUrl: 'partials/about.html', controller: 'aboutCtrl'}) $routeProvider.when('/about', {templateUrl: 'partials/about.html', controller: 'aboutCtrl'})
$routeProvider.when('/:server/databases', {templateUrl: 'partials/databases.html', controller: 'databasesCtrl'}) $routeProvider.when('/:server/databases', {templateUrl: 'partials/databases.html', controller: 'databasesCtrl'})
$routeProvider.when('/:server/:database/collections', {templateUrl: 'partials/collections.html', controller: 'collectionsCtrl'}) $routeProvider.when('/:server/:database/collections', {templateUrl: 'partials/collections.html', controller: 'collectionsCtrl'})
$routeProvider.when('/:server/:database/:collection/_id/:id', {templateUrl: 'partials/document.html', controller: 'documentCtrl'}) $routeProvider.when('/:server/:database/:collection/_id/:id', {templateUrl: 'partials/document.html', controller: 'documentCtrl'})
$routeProvider.when('/:server/:database/:collection/_id/:id/field/:field', {templateUrl: 'partials/field.html', controller: 'fieldCtrl'}) $routeProvider.when('/:server/:database/:collection/_id/:id/field/:field', {templateUrl: 'partials/field.html', controller: 'fieldCtrl'})
@@ -23,10 +24,15 @@ config(['$routeProvider', ($routeProvider) ->
$routeProvider.when('/:server/:database/:collection/stats/:key', {templateUrl: 'partials/keyStat.html', controller: 'keyStatCtrl'}) $routeProvider.when('/:server/:database/:collection/stats/:key', {templateUrl: 'partials/keyStat.html', controller: 'keyStatCtrl'})
$routeProvider.when('/:server/:database/:collection/stats/:key/query/:query', {templateUrl: 'partials/keyStat.html', controller: 'keyStatCtrl'}) $routeProvider.when('/:server/:database/:collection/stats/:key/query/:query', {templateUrl: 'partials/keyStat.html', controller: 'keyStatCtrl'})
$routeProvider.when('/:server/:database/:collection/idx/:idx/query/:query', {templateUrl: 'partials/document.html', controller: 'documentCtrl'}) $routeProvider.when('/:server/:database/:collection/idx/:idx/query/:query', {templateUrl: 'partials/document.html', controller: 'documentCtrl'})
$routeProvider.when('/:server/:database/:collection/idx/all/geojson/:key', {templateUrl: 'partials/geojsonmap.html', controller: 'geojsonmapCtrl'}) $routeProvider.when('/:server/:database/:collection/idx/all/geojson/:key', {templateUrl: 'partials/geojsonmap.html', controller: 'geojsonmapCtrl'})
$routeProvider.when('/:server/:database/:collection/idx/all/geojson/:key/location/:loc', {templateUrl: 'partials/geojsonmap.html', controller: 'geojsonmapCtrl'})
$routeProvider.when('/:server/:database/:collection/idx/:idx/geojson/:key', {templateUrl: 'partials/geojsonmap.html', controller: 'geojsonmapCtrl'}) $routeProvider.when('/:server/:database/:collection/idx/:idx/geojson/:key', {templateUrl: 'partials/geojsonmap.html', controller: 'geojsonmapCtrl'})
$routeProvider.when('/:server/:database/:collection/idx/:idx/geojson/:key/location/:loc', {templateUrl: 'partials/geojsonmap.html', controller: 'geojsonmapCtrl'})
$routeProvider.when('/:server/:database/:collection/idx/all/query/:query/geojson/:key', {templateUrl: 'partials/geojsonmap.html', controller: 'geojsonmapCtrl'}) $routeProvider.when('/:server/:database/:collection/idx/all/query/:query/geojson/:key', {templateUrl: 'partials/geojsonmap.html', controller: 'geojsonmapCtrl'})
$routeProvider.when('/:server/:database/:collection/idx/all/query/:query/geojson/:key/location/:loc', {templateUrl: 'partials/geojsonmap.html', controller: 'geojsonmapCtrl'})
$routeProvider.when('/:server/:database/:collection/idx/:idx/query/:query/geojson/:key', {templateUrl: 'partials/geojsonmap.html', controller: 'geojsonmapCtrl'}) $routeProvider.when('/:server/:database/:collection/idx/:idx/query/:query/geojson/:key', {templateUrl: 'partials/geojsonmap.html', controller: 'geojsonmapCtrl'})
$routeProvider.when('/:server/:database/:collection/idx/:idx/query/:query/geojson/:key/location/:loc', {templateUrl: 'partials/geojsonmap.html', controller: 'geojsonmapCtrl'})
$routeProvider.otherwise({redirectTo: '/servers'}) $routeProvider.otherwise({redirectTo: '/servers'})
]) ])
+1
View File
@@ -76,6 +76,7 @@
<script src="js/directives/key.js"></script> <script src="js/directives/key.js"></script>
<script src="js/directives/value.js"></script> <script src="js/directives/value.js"></script>
<script src="js/directives/searchBar.js"></script> <script src="js/directives/searchBar.js"></script>
<script src="js/directives/clickSelect.js"></script>
<script src="js/controllers/aboutCtrl.js"></script> <script src="js/controllers/aboutCtrl.js"></script>
+25 -6
View File
@@ -21,12 +21,31 @@
</div> </div>
</div> </div>
<div class="row" ng-show="mode=='single_document' && idx + meta.count < 1000">
<div class="large-12 columns" style="text-align: center;" > <br>
<a ng-href="{{ getAggredatedUrl() }}">Aggregated representation</a> <div class="row">
</div> <div class="columns large-12">
<div class="large-12 columns" style="text-align: center;" > <ul class="inline-list">
<a ng-href="{{ getGoogleMapLink() }}" target="_blank">see region on google map</a> <li ng-show="mode=='single_document' && idx + meta.count < 1000">
<a ng-href="{{ getAggredatedUrl() }}">aggregated representation</a>
</li>
<li>
<a ng-href="{{ getGoogleMapLink() }}" target="_blank">google map</a>
</li>
<li>
<a ng-click="showCopyLink = !showCopyLink">
<span>copy link</span>
</a>
</li>
</ul>
</div> </div>
</div> </div>
<div class="row" ng-show="showCopyLink">
<div class="columns large-12 text-center">
<span>
<input value="{{ getUrlWithLocation() }}" style="font-size: 0.8em;" select-on-click readonly>
<kbd>Ctrl</kbd> + <kbd>C</kbd>
</span>
</div>
</div>