diff options
Diffstat (limited to 'src/mixins/public.js')
-rw-r--r-- | src/mixins/public.js | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/src/mixins/public.js b/src/mixins/public.js new file mode 100644 index 0000000..c87bfb3 --- /dev/null +++ b/src/mixins/public.js @@ -0,0 +1,55 @@ +import axios from "axios"; +import { getDevContainerServerHostname, isDevContainer } from "../util-frontend"; + +const env = process.env.NODE_ENV || "production"; + +// change the axios base url for development +if (env === "development" && isDevContainer()) { + axios.defaults.baseURL = location.protocol + "//" + getDevContainerServerHostname(); +} else if (env === "development" || localStorage.dev === "dev") { + axios.defaults.baseURL = location.protocol + "//" + location.hostname + ":3001"; +} + +export default { + data() { + return { + publicGroupList: [], + }; + }, + computed: { + publicMonitorList() { + let result = {}; + + for (let group of this.publicGroupList) { + for (let monitor of group.monitorList) { + result[monitor.id] = monitor; + } + } + return result; + }, + + publicLastHeartbeatList() { + let result = {}; + + for (let monitorID in this.publicMonitorList) { + if (this.lastHeartbeatList[monitorID]) { + result[monitorID] = this.lastHeartbeatList[monitorID]; + } + } + + return result; + }, + + baseURL() { + if (this.$root.info.primaryBaseURL) { + return this.$root.info.primaryBaseURL; + } + + if (env === "development" || localStorage.dev === "dev") { + return axios.defaults.baseURL; + } else { + return location.protocol + "//" + location.host; + } + }, + } +}; |