added link full position link.
This commit is contained in:
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
|
||||||
@@ -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'})
|
||||||
])
|
])
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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>
|
||||||
Reference in new issue
Block a user