Update Stats on Save

This commit is contained in:
portree_kid
2020-07-05 21:18:14 +02:00
parent 64685aa1d1
commit 8fcd1f64fb
4 changed files with 118 additions and 20 deletions
+11
View File
@@ -1,3 +1,14 @@
<!--
Copyright 2020 Keith Paterson
This file is part of FG Airports.
FG Airports is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
FG Airports is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with FG Airports. If not, see http://www.gnu.org/licenses/.
-->
<template>
<div>
<el-row>
+50 -7
View File
@@ -22,18 +22,33 @@
<ParkingList></ParkingList>
</el-tab-pane>
<el-tab-pane label="Statistics" name="third">
<el-row>
<el-row><el-col :span="8"><span class="label">Traffic :</span></el-col></el-row>
<el-row>
<el-col :span="8">Flights :</el-col>
<el-col :span="4">{{ flights }}</el-col>
<el-col :span="8">Parking Positions :</el-col>
<el-col :span="4">{{ parking }}</el-col>
</el-row>
<el-row>
<el-col :span="8">Groundnet Nodes :</el-col>
<el-col :span="4">{{groundnet}}</el-col>
<el-col :span="8"></el-col>
<el-col :span="4"></el-col>
</el-row>
<el-row><el-col :span="8"><span class="label">GIT/Terrasync :</span></el-col></el-row>
<el-row>
<el-col :span="8">Parking Positions :</el-col>
<el-col :span="4">{{ parking }}</el-col>
<el-col :span="8">Groundnet Nodes :</el-col>
<el-col :span="4">{{groundnet}}</el-col>
</el-row>
<el-row><el-col :span="8"><span class="label">Work :</span></el-col></el-row>
<el-row v-if="wip">
<el-col :span="8">Work Parking Positions :</el-col>
<el-col :span="4">{{ wipparking }}</el-col>
<el-col :span="8">Work Groundnet Nodes :</el-col>
<el-col :span="4">{{wipgroundnet}}</el-col>
</el-row>
<el-row v-if="wip">
<el-col :span="4">Saved :</el-col>
<el-col :span="8" class="text">{{date}}</el-col>
<el-col :span="4">Uploaded :</el-col>
<el-col :span="8" class="text">{{upload_date}}</el-col>
</el-row>
</el-tab-pane>
</el-tabs>
</div>
@@ -94,6 +109,34 @@ export default {
parking: function () {
return this.$store.state.Airports.currentAirport.parking
},
wipgroundnet: function () {
return this.$store.state.Airports.currentAirport.wipgroundnet
},
wipparking: function () {
return this.$store.state.Airports.currentAirport.wipparking
},
wip: function () {
// .icao
var wip = this.$store.state.Settings.wip.filter(w => w.icao === this.$store.state.Airports.currentAirport.icao)
if (wip.length > 0) {
return true
}
return false
},
date: function () {
var wip = this.$store.state.Settings.wip.filter(w => w.icao === this.$store.state.Airports.currentAirport.icao)
var d = new Date(wip[0].time)
return d.toLocaleDateString() + ' ' + d.toLocaleTimeString()
},
upload_date: function () {
var wip = this.$store.state.Settings.wip.filter(w => w.icao === this.$store.state.Airports.currentAirport.icao)
if (wip[0].upload !== undefined) {
var d = new Date(wip[0].upload)
return d.toLocaleDateString() + ' ' + d.toLocaleTimeString()
} else {
return '-'
}
},
airport: {
get: function () {
return this.$store.state.Airports.currentAirport !== undefined
+34
View File
@@ -142,8 +142,42 @@ You should have received a copy of the GNU General Public License along with FG
saveDefered () {
this.$parent.$parent.$refs.editLayer.save()
this.$parent.$parent.$refs.editLayer.disableEdit()
this.scanGroundnets()
Vue.set(this, 'saveDialogVisible', false)
},
scanGroundnets () {
try {
const winURL = process.env.NODE_ENV === 'development'
? `http://localhost:9080/src/renderer/utils/worker.js`
: `file://${process.resourcesPath}/workers/worker.js`
console.log('make a worker: ', path.resolve(__dirname, 'worker.js'))
var icao = this.$parent.$parent.$refs.editLayer.icao
const worker = new Worker(winURL)
var aptDir = path.join(this.$store.state.Settings.settings.airportsDirectory, icao[0], icao[1], icao[2]);
worker.postMessage(['scan', aptDir ])
// the reply
var store = this.$store
worker.onmessage = function (e) {
if (e.data === 'scanStarted') {
this.progress = 0
this.max = 0
} else if (e.data === 'DONE') {
console.log('DONE')
store.dispatch('getAirports')
worker.terminate()
} else if (e.data.length > 0) {
if (e.data[0] === 'max') {
}
if (e.data[0] === 'progress') {
}
}
}
} catch (err) {
console.error(err)
}
},
pollData () {
var workery = this.worker
var view = this