many improvments

This commit is contained in:
didier.amyot committed 2014-07-03 09:41:25 -04:00
1 parent 0e3fcb0cc2
commit 759aecd425
14 files changed
+92 -32

No files matched your search

@@ -49,6 +49,7 @@ root.controllers.controller('geojsonmapCtrl', ['$scope', '$routeParams', '$locat
$scope.geojsonData = {}
$scope.idx = Number($routeParams.idx)
$scope.center = getLocalStorageCenter()
$scope.queryObject = $routeParams.query or "{}"
$scope.$watch 'center', () ->
localStorage.setItem("mapCenter", JSON.stringify($scope.center))
@@ -113,5 +114,11 @@ root.controllers.controller('geojsonmapCtrl', ['$scope', '$routeParams', '$locat
else
$scope.mode = 'all'
$scope.initAllDocuments()
$scope.changeQuery = (query) ->
if query == ""
return ""
r = $routeParams
$location.path "/#{ r.server }/#{ r.database }/#{ r.collection }/idx/1/query/#{query}/geojson/#{r.key}"
])
+10 -3
View File
@@ -19,11 +19,12 @@ findHistogramMax = (stats) ->
getAxisLabel = (min, stepSize, numberOfBins) ->
return (min + 0.5 * stepSize + i * stepSize for i in [0... numberOfBins])
root.controllers.controller('keyStatCtrl', ['$scope', '$routeParams', 'util', ($scope, $routeParams, util) ->
root.controllers.controller('keyStatCtrl', ['$scope', '$routeParams', '$location', 'util', ($scope, $routeParams, $location, util) ->
$scope.name = $routeParams.key
$scope.stats = []
base_url = "/api/#{ $routeParams.server }/#{ $routeParams.database }/#{ $routeParams.collection }"
$scope.queryObject = $routeParams.query or '{}'
base_url = "/api/#{ $routeParams.server }/#{ $routeParams.database }/#{ $routeParams.collection }/query/#{$scope.queryObject}"
stat_url = "#{ base_url }/stats/#{$routeParams.key}"
$scope.alert=alert
@@ -47,6 +48,12 @@ root.controllers.controller('keyStatCtrl', ['$scope', '$routeParams', 'util', ($
name: $routeParams.key
color: '#008CBA'
}]
$scope.changeQuery = (query) ->
if query == ""
return ""
r = $routeParams
$location.path "/#{ r.server }/#{ r.database }/#{ r.collection }/stats/#{ r.key }/query/#{query}"
util.get(stat_url).then((res) ->
+11 -1
View File
@@ -5,6 +5,12 @@ hasIndex = (keyName, indexes) ->
return true
return false
hasUniqueIndex = (keyName, indexes) ->
for index in indexes
if _.indexOf(index.keys, keyName) != -1
return index.unique
return false
hasIndexAsc = (keyName, indexes) ->
hasIndex(keyName, indexes)
@@ -17,7 +23,10 @@ has2dIndex = (keyName, indexes) ->
getStatsUrl = (keyName, routeParams)->
r = routeParams
"#/#{r.server}/#{r.database}/#{r.collection}/stats/#{ keyName }"
ret = "#/#{r.server}/#{r.database}/#{r.collection}/stats/#{ keyName }"
if r.query
ret = "#{ ret }/query/#{ r.query }"
return ret
directive = () ->
directive =
@@ -34,6 +43,7 @@ directive = () ->
$scope.statsUrl = getStatsUrl($scope.keyName, $routeParams)
$scope.hasIndexDesc = hasIndexDesc($scope.keyName, $scope.indexes)
$scope.hasIndexAsc = hasIndexAsc($scope.keyName, $scope.indexes)
$scope.isIndexUnique = hasUniqueIndex($scope.keyName, $scope.indexes)
$scope.has2DIndex = has2dIndex($scope.keyName, $scope.indexes)
$scope.showTools = false
$scope.hasIndex = $scope.hasIndexDown or $scope.hasIndexUp or $scope.has2DIndex
+1
View File
@@ -21,6 +21,7 @@ config(['$routeProvider', ($routeProvider) ->
$routeProvider.when('/:server/:database/:collection/_id/:id/field/:field', {templateUrl: 'partials/field.html', controller: 'fieldCtrl'})
$routeProvider.when('/:server/:database/:collection/idx/:idx', {templateUrl: 'partials/document.html', controller: 'documentCtrl'})
$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/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/:idx/geojson/:key', {templateUrl: 'partials/geojsonmap.html', controller: 'geojsonmapCtrl'})
+7 -8
View File
@@ -1,13 +1,12 @@
<span ng-mouseenter="showTools=true" ng-mouseleave="showTools=false">
{{keyName}}
<span ng-style="{visibility: showTools ? 'inline': 'hidden'}">
<!-- place to but some hoover information-->
<a ng-href="{{ statsUrl }}"><i class="fa fa-signal" ng-show="canMakeHistogram"></i></a>
</span>
<span class="right" style="color:#008CBA;">
<i class="fa fa-sort-numeric-asc" ng-show="hasIndexAsc"></i>
<i class="fa fa-sort-numeric-desc" ng-show="hasIndexDesc"></i>
<a class="fa fa-globe" ng-show="has2DIndex" ng-href="{{ getGeoJsonUrl() }}" target="_blank"></a>
<span class="right" >
<a ng-href="{{ statsUrl }}" title="histogram"><i class="fa fa-signal" ng-show="canMakeHistogram"></i></a>
<span ng-show="isIndexUnique" title="unique index">&exist;!</span>
<i class="fa fa-sort-numeric-asc" title="ascending index" ng-show="hasIndexAsc"></i>
<i class="fa fa-sort-numeric-desc" title="descending index" ng-show="hasIndexDesc"></i>
<a class="fa fa-globe" ng-show="has2DIndex" ng-href="{{ getGeoJsonUrl() }}" target="_blank" title="2dsphere index"></a>
</span>
</span>
+1 -1
View File
@@ -1,7 +1,7 @@
<div>
<div class="row">
<div class="large-9 columns">
<input type="text" ng-model="newQuery" style="font-family: monospace;font-size: 1.2em;">
<input type="text" ng-model="newQuery" style="font-family: monospace;font-size: 1.1em;">
</div>
<div class="large-3 columns right">
<ul class="button-group">
+1 -1
View File
@@ -4,7 +4,7 @@
<div class="row">
<div class="large-12 columns" style="text-align: center;">
<a class="fa fa-chevron-left" ng-href="{{ previousDocumentUrl() }}" ng-show="{{ hasPreviousDocument() }}"></a>
<kbd>{{idx}} / {{ meta.count || 0 | number | replaceAllCommasBySpaces }}</kbd>
<kbd>{{idx}} / {{ meta.count + idx - 1 || 0 | number | replaceAllCommasBySpaces }}</kbd>
<a class="fa fa-chevron-right" ng-href="{{ nextDocumentUrl() }}"></a>
</div>
</div>
+5 -2
View File
@@ -1,14 +1,17 @@
<vul-search-bar query="{{ queryObject }}" callback="changeQuery"></vul-search-bar>
<div class="row" ng-show="mode=='single_document'">
<div class="large-12 columns" style="text-align: center;">
<a class="fa fa-chevron-left" ng-href="{{ previousDocumentUrl() }}" ng-show="{{ hasPreviousDocument() }}"></a>
<kbd>{{idx}} / {{ meta.count }}</kbd>
<kbd>{{idx}} / {{ meta.count + idx - 1}}</kbd>
<a class="fa fa-chevron-right" ng-href="{{ nextDocumentUrl() }}"></a>
</div>
</div>
<div class="row" ng-show="mode=='all'">
<div class="large-12 columns" style="text-align: center;">
<span>Showing a data set of {{geojsonData.data.geometries.length}} datum.</span>
<span>Showing {{meta.count}} documents on the same map.</span>
</div>
</div>
+2 -2
View File
@@ -1,5 +1,5 @@
<vul-search-bar query="queryObject" callback="alert"></vul-search-bar>
<vul-search-bar query="{{ queryObject }}" callback="changeQuery"></vul-search-bar>
<div class="row">
<div class="columns large-12">
@@ -13,5 +13,5 @@
</div>
<div class="row">
<highchart id="chart1" config="chartConfig" class="columns large-12"></highchart>
<highchart id="chart1" config="chartConfig" class="columns large-12"></highchart>
</div>