diff --git a/dashboard/src/components/app/Backups.vue b/dashboard/src/components/app/Backups.vue
index 4998c4b50..be141fa69 100644
--- a/dashboard/src/components/app/Backups.vue
+++ b/dashboard/src/components/app/Backups.vue
@@ -262,9 +262,6 @@ onMounted(async () => {
- {{ $t('app.backups.auto.enabled') }}
- {{ $t('app.backups.auto.disabled') }}
-
-
+
diff --git a/dashboard/src/components/app/Graphs.vue b/dashboard/src/components/app/Graphs.vue
new file mode 100644
index 000000000..b31cda060
--- /dev/null
+++ b/dashboard/src/components/app/Graphs.vue
@@ -0,0 +1,177 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dashboard/src/models/AppsModel.js b/dashboard/src/models/AppsModel.js
index 204f4e6e5..f9ca372e7 100644
--- a/dashboard/src/models/AppsModel.js
+++ b/dashboard/src/models/AppsModel.js
@@ -350,6 +350,17 @@ function create() {
if (result.status !== 202) return [result];
return [null];
},
+ async graphs(id, fromMinutes) {
+ let result;
+ try {
+ result = await fetcher.get(`${API_ORIGIN}/api/v1/apps/${id}/graphs`, { fromMinutes, access_token: accessToken });
+ } catch (e) {
+ return [e];
+ }
+
+ if (result.status !== 200) return [result];
+ return [null, result.body];
+ },
};
}
diff --git a/dashboard/src/views/AppConfigureView.vue b/dashboard/src/views/AppConfigureView.vue
index 64776bdf2..c2bc7e2c6 100644
--- a/dashboard/src/views/AppConfigureView.vue
+++ b/dashboard/src/views/AppConfigureView.vue
@@ -12,6 +12,7 @@ import Cron from '../components/app/Cron.vue';
import Display from '../components/app/Display.vue';
import Email from '../components/app/Email.vue';
import Eventlog from '../components/app/Eventlog.vue';
+import Graphs from '../components/app/Graphs.vue';
import Info from '../components/app/Info.vue';
import Location from '../components/app/Location.vue';
import Resources from '../components/app/Resources.vue';
@@ -220,7 +221,7 @@ onBeforeUnmount(() => {
-
+