add autorefresh-toggle + map layer node and geojson
This commit is contained in:
parent
674aa3f4d5
commit
ed6c96cbae
|
@ -18,6 +18,10 @@ angular.module('ffhb', [
|
||||||
//$locationProvider.html5Mode(true).hashPrefix('!');
|
//$locationProvider.html5Mode(true).hashPrefix('!');
|
||||||
//$httpProvider.defaults.withCredentials = true;
|
//$httpProvider.defaults.withCredentials = true;
|
||||||
}]).run(function(amMoment,$cookieStore,$rootScope,$http,config) {
|
}]).run(function(amMoment,$cookieStore,$rootScope,$http,config) {
|
||||||
|
$rootScope.defaults = {
|
||||||
|
maxZoom: config.map.maxZoom,
|
||||||
|
tileLayer: config.map.tileLayer
|
||||||
|
};
|
||||||
amMoment.changeLocale('de');
|
amMoment.changeLocale('de');
|
||||||
$rootScope.globals = $cookieStore.get('globals') || {};
|
$rootScope.globals = $cookieStore.get('globals') || {};
|
||||||
$rootScope.autorefresh = config.refresh;
|
$rootScope.autorefresh = config.refresh;
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
leaflet.map.global(id="globalmap")
|
leaflet.map.global(id="globalmap",defaults="defaults")
|
||||||
|
|
|
@ -2,9 +2,6 @@
|
||||||
|
|
||||||
angular.module('ffhb')
|
angular.module('ffhb')
|
||||||
.controller('MapCtrl',function($state,$stateParams,$scope,store,config,leafletData){
|
.controller('MapCtrl',function($state,$stateParams,$scope,store,config,leafletData){
|
||||||
if($stateParams.nodeid){
|
|
||||||
$scope.nodeid = $stateParams.nodeid.toLowerCase();
|
|
||||||
}
|
|
||||||
var layerControl,geoLayer,nodeLayer,client24Layer,client5Layer;
|
var layerControl,geoLayer,nodeLayer,client24Layer,client5Layer;
|
||||||
leafletData.getMap('globalmap').then(function(map) {
|
leafletData.getMap('globalmap').then(function(map) {
|
||||||
layerControl = L.control.layers().addTo(map);
|
layerControl = L.control.layers().addTo(map);
|
||||||
|
@ -13,7 +10,7 @@ angular.module('ffhb')
|
||||||
store.getGeojson.then(function(data){
|
store.getGeojson.then(function(data){
|
||||||
leafletData.getMap('globalmap').then(function(map) {
|
leafletData.getMap('globalmap').then(function(map) {
|
||||||
geoLayer = L.geoJson(data,config.map.geojson);
|
geoLayer = L.geoJson(data,config.map.geojson);
|
||||||
layerControl.addOverlay(geoLayer,'GEOJSON');
|
layerControl.addOverlay(geoLayer,'Gelände');
|
||||||
geoLayer.addTo(map);
|
geoLayer.addTo(map);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -33,8 +30,8 @@ angular.module('ffhb')
|
||||||
client5Layer.clearLayers();
|
client5Layer.clearLayers();
|
||||||
}
|
}
|
||||||
nodeLayer = L.markerClusterGroup({maxClusterRadius:20});
|
nodeLayer = L.markerClusterGroup({maxClusterRadius:20});
|
||||||
client24Layer = L.heatLayer([],{max: config.map.heatMax.wifi24});
|
client24Layer = L.heatLayer([],{max: config.map.heatMax.wifi24,radius:50,blur:25});
|
||||||
client5Layer = L.heatLayer([],{max: config.map.heatMax.wifi5});
|
client5Layer = L.heatLayer([],{max: config.map.heatMax.wifi5,radius:50,blur:25});
|
||||||
Object.keys(data.merged).map(function(nodeid){
|
Object.keys(data.merged).map(function(nodeid){
|
||||||
var node = data.merged[nodeid];
|
var node = data.merged[nodeid];
|
||||||
if(node.nodeinfo.location !== undefined && node.nodeinfo.location.latitude !== undefined && node.nodeinfo.location.longitude !== undefined){
|
if(node.nodeinfo.location !== undefined && node.nodeinfo.location.latitude !== undefined && node.nodeinfo.location.longitude !== undefined){
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
.form-group(ng-class="rowForm.hostname.$invalid ? 'has-error' : ''")
|
.form-group(ng-class="rowForm.hostname.$invalid ? 'has-error' : ''")
|
||||||
label(for="formHostname") Hostname
|
label(for="formHostname") Hostname
|
||||||
input.form-control(id="formHostname",placeholder="Hostname",type="text",name="hostname",pattern="[a-zA-Z0-9-]*",ng-model='node.nodeinfo.hostname',required)
|
input.form-control(id="formHostname",placeholder="Hostname",type="text",name="hostname",pattern="[a-zA-Z0-9-]*",ng-model='node.nodeinfo.hostname',required)
|
||||||
leaflet.map.node(id="nodemap",geojson="geojson",center="center",markers="markers",event-broadcast="events")
|
leaflet.map.node(id="nodemap",geojson="geojson",center="center",markers="markers",event-broadcast="events",defaults="defaults")
|
||||||
button.btn.btn-default(type="submit")
|
button.btn.btn-default(type="submit")
|
||||||
span.glyphicon.glyphicon-floppy-disk(aria-hidden="true")
|
span.glyphicon.glyphicon-floppy-disk(aria-hidden="true")
|
||||||
| Save
|
| Save
|
||||||
|
|
|
@ -35,6 +35,9 @@ table.table.table-striped.table-condensed(ng-table="tableParams")
|
||||||
span(ng-switch-default) {{row.nodeinfo.wireless.txpower5}}
|
span(ng-switch-default) {{row.nodeinfo.wireless.txpower5}}
|
||||||
div.controls(ng-switch-when="true",ng-class="rowForm.txpower5.$invalid ? 'has-error' : ''")
|
div.controls(ng-switch-when="true",ng-class="rowForm.txpower5.$invalid ? 'has-error' : ''")
|
||||||
input.editable-input.form-control.input-sm(type="text" name="txpower5",ng-model='row.nodeinfo.wireless.txpower5',required)
|
input.editable-input.form-control.input-sm(type="text" name="txpower5",ng-model='row.nodeinfo.wireless.txpower5',required)
|
||||||
|
td.text-right.split(data-title="'CurPower'")
|
||||||
|
span {{row.current.wireless.txpower24}}
|
||||||
|
span {{row.current.wireless.txpower5}}
|
||||||
td(data-title="'Options'")
|
td(data-title="'Options'")
|
||||||
.btn.btn-success.btn-sm(ng-click="save(row, rowForm)",ng-if="row.isEditing",ng-disabled="rowForm.$pristine || rowForm.$invalid")
|
.btn.btn-success.btn-sm(ng-click="save(row, rowForm)",ng-if="row.isEditing",ng-disabled="rowForm.$pristine || rowForm.$invalid")
|
||||||
span.glyphicon.glyphicon-ok
|
span.glyphicon.glyphicon-ok
|
||||||
|
@ -53,4 +56,4 @@ table.table.table-striped.table-condensed(ng-table="tableParams")
|
||||||
td.text-right.split
|
td.text-right.split
|
||||||
span {{sum.client24}}
|
span {{sum.client24}}
|
||||||
span {{sum.client5}}
|
span {{sum.client5}}
|
||||||
td(colspan=3)
|
td(colspan=4)
|
||||||
|
|
|
@ -9,7 +9,7 @@ angular.module('ffhb')
|
||||||
client5: 0
|
client5: 0
|
||||||
};
|
};
|
||||||
$scope.tableParams = new NgTableParams({
|
$scope.tableParams = new NgTableParams({
|
||||||
sorting: { 'hostname': 'asc' },
|
sorting: { 'nodeinfo.owner.contact': 'asc' },
|
||||||
total: 0,
|
total: 0,
|
||||||
count: 100
|
count: 100
|
||||||
}, {
|
}, {
|
||||||
|
@ -45,8 +45,9 @@ angular.module('ffhb')
|
||||||
client5: 0
|
client5: 0
|
||||||
};
|
};
|
||||||
originalData = Object.keys(data.merged).map(function(nodeid){
|
originalData = Object.keys(data.merged).map(function(nodeid){
|
||||||
var merg = data.merged[nodeid];
|
var merg = data.merged[nodeid],node = data.nodes[nodeid];
|
||||||
merg.nodeid = nodeid;
|
merg.nodeid = nodeid;
|
||||||
|
merg.current = { wireless: node.nodeinfo.wireless};
|
||||||
if(merg.flags.online){
|
if(merg.flags.online){
|
||||||
$scope.sum.online++;
|
$scope.sum.online++;
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,9 +5,11 @@ angular.module('config', [])
|
||||||
api: 'https://mgmt.ffhb.de/api',
|
api: 'https://mgmt.ffhb.de/api',
|
||||||
map: {
|
map: {
|
||||||
view: {lat: 53.0702, lng: 8.815, zoom: 16},
|
view: {lat: 53.0702, lng: 8.815, zoom: 16},
|
||||||
|
maxZoom: 19,
|
||||||
|
tileLayer: 'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
|
||||||
heatMax: {
|
heatMax: {
|
||||||
wifi24: 30,
|
wifi24: 15,
|
||||||
wifi5: 100
|
wifi5: 50
|
||||||
},
|
},
|
||||||
icon:{
|
icon:{
|
||||||
warn:{wifi24:20,wifi5:20},
|
warn:{wifi24:20,wifi5:20},
|
||||||
|
|
Loading…
Reference in New Issue