summaryrefslogtreecommitdiffstats
path: root/src/mixins/public.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/mixins/public.js')
-rw-r--r--src/mixins/public.js55
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;
+ }
+ },
+ }
+};