Web: show Flamenco name & version in header
This commit is contained in:
parent
caa3481561
commit
ec814afa91
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<header>Flamenco</header>
|
<header>{{ flamencoName }}<span class='flamenco-version'>version: {{ flamencoVersion }}</span></header>
|
||||||
<div class="col-1">
|
<div class="col-1">
|
||||||
<jobs-table ref="jobsTable" :apiClient="apiClient" @activeJobChange="onActiveJobChanged" />
|
<jobs-table ref="jobsTable" :apiClient="apiClient" @activeJobChange="onActiveJobChanged" />
|
||||||
</div>
|
</div>
|
||||||
@ -11,18 +11,21 @@
|
|||||||
</div>
|
</div>
|
||||||
<footer>Footer
|
<footer>Footer
|
||||||
<update-listener ref="updateListener" :websocketURL="websocketURL" @jobUpdate="onJobUpdate" @message="onChatMessage"
|
<update-listener ref="updateListener" :websocketURL="websocketURL" @jobUpdate="onJobUpdate" @message="onChatMessage"
|
||||||
@reconnected="onReconnected" />
|
@sioReconnected="onSIOReconnected" @sioDisconnected="onSIODisconnected" />
|
||||||
</footer>
|
</footer>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import * as urls from './urls'
|
import * as urls from './urls'
|
||||||
import { ApiClient } from './manager-api';
|
import * as API from './manager-api';
|
||||||
import JobsTable from './components/JobsTable.vue'
|
import JobsTable from './components/JobsTable.vue'
|
||||||
import JobDetails from './components/JobDetails.vue'
|
import JobDetails from './components/JobDetails.vue'
|
||||||
import TaskDetails from './components/TaskDetails.vue'
|
import TaskDetails from './components/TaskDetails.vue'
|
||||||
import UpdateListener from './components/UpdateListener.vue'
|
import UpdateListener from './components/UpdateListener.vue'
|
||||||
|
|
||||||
|
const DEFAULT_FLAMENCO_NAME = "Flamenco";
|
||||||
|
const DEFAULT_FLAMENCO_VERSION = "unknown";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'App',
|
name: 'App',
|
||||||
components: {
|
components: {
|
||||||
@ -30,14 +33,18 @@ export default {
|
|||||||
},
|
},
|
||||||
data: () => {
|
data: () => {
|
||||||
return {
|
return {
|
||||||
apiClient: new ApiClient(urls.api()),
|
apiClient: new API.ApiClient(urls.api()),
|
||||||
websocketURL: urls.ws(),
|
websocketURL: urls.ws(),
|
||||||
messages: [],
|
messages: [],
|
||||||
|
|
||||||
activeJobSummary: {},
|
activeJobSummary: {},
|
||||||
|
flamencoName: DEFAULT_FLAMENCO_NAME,
|
||||||
|
flamencoVersion: DEFAULT_FLAMENCO_VERSION,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
mounted() { },
|
mounted() {
|
||||||
|
this.fetchManagerInfo();
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
// UI component event handlers:
|
// UI component event handlers:
|
||||||
onActiveJobChanged(jobSummary) {
|
onActiveJobChanged(jobSummary) {
|
||||||
@ -45,7 +52,7 @@ export default {
|
|||||||
this.activeJobSummary = jobSummary;
|
this.activeJobSummary = jobSummary;
|
||||||
},
|
},
|
||||||
|
|
||||||
// SocketIO event handlers:
|
// SocketIO data event handlers:
|
||||||
sendMessage(message) {
|
sendMessage(message) {
|
||||||
this.$refs.jobsListener.sendBroadcastMessage("typer", message);
|
this.$refs.jobsListener.sendBroadcastMessage("typer", message);
|
||||||
},
|
},
|
||||||
@ -63,9 +70,24 @@ export default {
|
|||||||
console.log("chat message received:", message);
|
console.log("chat message received:", message);
|
||||||
this.messages.push(`${message.text}`);
|
this.messages.push(`${message.text}`);
|
||||||
},
|
},
|
||||||
onReconnected() {
|
|
||||||
this.$refs.jobsTable.onReconnected();
|
// SocketIO connection event handlers:
|
||||||
|
onSIOReconnected() {
|
||||||
|
this.$refs.jobsTable.onSIOReconnected();
|
||||||
|
this.fetchManagerInfo();
|
||||||
},
|
},
|
||||||
|
onSIODisconnected(reason) {
|
||||||
|
this.flamencoName = DEFAULT_FLAMENCO_NAME;
|
||||||
|
this.flamencoVersion = DEFAULT_FLAMENCO_VERSION;
|
||||||
|
},
|
||||||
|
fetchManagerInfo() {
|
||||||
|
const metaAPI = new API.MetaApi(this.apiClient);
|
||||||
|
metaAPI.getVersion().then((version) => {
|
||||||
|
console.log("version:", version);
|
||||||
|
this.flamencoName = version.name;
|
||||||
|
this.flamencoVersion = version.version;
|
||||||
|
})
|
||||||
|
}
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
@ -101,6 +123,11 @@ header {
|
|||||||
color: #EEE;
|
color: #EEE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
header span.flamenco-version {
|
||||||
|
float: right;
|
||||||
|
font-size: small;
|
||||||
|
}
|
||||||
|
|
||||||
h2.column-title {
|
h2.column-title {
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
font-size: 12pt;
|
font-size: 12pt;
|
||||||
|
@ -7,7 +7,12 @@ import io from "socket.io-client";
|
|||||||
import * as API from "../manager-api"
|
import * as API from "../manager-api"
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
emits: ["jobUpdate", "taskUpdate", "message", "reconnected"],
|
emits: [
|
||||||
|
// Data from Flamenco Manager:
|
||||||
|
"jobUpdate", "taskUpdate", "message",
|
||||||
|
// SocketIO events:
|
||||||
|
"sioReconnected", "sioDisconnected"
|
||||||
|
],
|
||||||
props: ["websocketURL"],
|
props: ["websocketURL"],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@ -42,9 +47,13 @@ export default {
|
|||||||
console.log("socketIO connection timeout:", timeout);
|
console.log("socketIO connection timeout:", timeout);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
this.socket.on("disconnect", (reason) => {
|
||||||
|
console.log("socketIO disconnected:", reason);
|
||||||
|
this.$emit("sioDisconnected", reason);
|
||||||
|
});
|
||||||
this.socket.on("reconnect", (attemptNumber) => {
|
this.socket.on("reconnect", (attemptNumber) => {
|
||||||
console.log("socketIO reconnected after", attemptNumber, "attempts");
|
console.log("socketIO reconnected after", attemptNumber, "attempts");
|
||||||
this.$emit("reconnected");
|
this.$emit("sioReconnected", attemptNumber);
|
||||||
});
|
});
|
||||||
|
|
||||||
this.socket.on("/jobs", (jobUpdate) => {
|
this.socket.on("/jobs", (jobUpdate) => {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user