platypush-app/app/src/main/assets/web/js/main.js

51 lines
1.2 KiB
JavaScript

new Vue({
el: '#app',
data: function() {
return {
loading: false,
splash: false,
services: {},
addModalVisible: false,
addModalHost: undefined,
addModalPort: 8008,
}
},
methods: {
refresh: function() {
this.services = {
...this.services,
...JSON.parse(app.pollServices()),
}
},
onClick: function(service) {
this.loadService(service.host, service.port)
},
onConnect: function() {
this.loadService(this.addModalHost, this.addModalPort)
},
loadService: function(host, port) {
this.loading = true
app.stopServicesPoll()
window.location.href = `http://${host}:${port}/`
},
splashScreen: function(duration) {
var self = this
this.splash = true
window.setTimeout(() => {
self.splash = false
}, duration)
},
},
mounted: function() {
this.splashScreen(2500)
app.startServicesPoll()
window.setInterval(this.refresh, 500)
}
})