-
@@ -45,7 +45,15 @@
diff --git a/spring-boot-admin-server-ui/src/main/frontend/views/applications/i18n.de.json b/spring-boot-admin-server-ui/src/main/frontend/views/applications/i18n.de.json
index 3c99a189969..dd260780f6e 100644
--- a/spring-boot-admin-server-ui/src/main/frontend/views/applications/i18n.de.json
+++ b/spring-boot-admin-server-ui/src/main/frontend/views/applications/i18n.de.json
@@ -12,6 +12,14 @@
"suppress_notifications_on": "Benachrichtungen für {name}
für",
"status": "Status",
"label": "Anwendungen",
- "up": "OK"
+ "up": "OK",
+ "shutdown": "Anwendung {name}
herunterfahren?",
+ "restart": "Anwendung {name}
neu starten?",
+ "restarted": "Anwendung {name}
erfolgreich neu gestartet"
+ },
+ "instances": {
+ "shutdown": "Instanz {name}
herunterfahren?",
+ "restart": "Instanz {name}
neu starten?",
+ "restarted": "Instanz erfolgreich neu gestartet"
}
}
diff --git a/spring-boot-admin-server-ui/src/main/frontend/views/applications/i18n.en.json b/spring-boot-admin-server-ui/src/main/frontend/views/applications/i18n.en.json
index b5ebb89eb32..7f623aabe6a 100644
--- a/spring-boot-admin-server-ui/src/main/frontend/views/applications/i18n.en.json
+++ b/spring-boot-admin-server-ui/src/main/frontend/views/applications/i18n.en.json
@@ -12,6 +12,14 @@
"suppress_notifications_on": "Suppress notifications on {name}
for",
"status": "Status",
"label": "Applications",
- "up": "up"
+ "up": "up",
+ "shutdown": "Shutdown application {name}
?",
+ "restart": "Restart application {name}
?",
+ "restarted": "Successfully restarted application {name}
"
+ },
+ "instances": {
+ "shutdown": "Shutdown instance {name}
?",
+ "restart": "Restart instance {name}
?",
+ "restarted": "Successfully restarted instance"
}
}
diff --git a/spring-boot-admin-server-ui/src/main/frontend/views/applications/i18n.fr.json b/spring-boot-admin-server-ui/src/main/frontend/views/applications/i18n.fr.json
index 15cf00fdaac..cc026889f96 100644
--- a/spring-boot-admin-server-ui/src/main/frontend/views/applications/i18n.fr.json
+++ b/spring-boot-admin-server-ui/src/main/frontend/views/applications/i18n.fr.json
@@ -12,6 +12,14 @@
"suppress_notifications_on": "Supression des notifications sur {name}
",
"status": "Statut",
"label": "Applications",
- "up": "OK"
+ "up": "OK",
+ "shutdown": "Shutdown application {name}
?",
+ "restart": "Restart application {name}
?",
+ "restarted": "Successfully restarted application {name}
"
+ },
+ "instances": {
+ "shutdown": "Shutdown instance {name}
?",
+ "restart": "Restart instance {name}
?",
+ "restarted": "Successfully restarted instance"
}
}
diff --git a/spring-boot-admin-server-ui/src/main/frontend/views/applications/i18n.is.json b/spring-boot-admin-server-ui/src/main/frontend/views/applications/i18n.is.json
index 93ef60f840c..c3f73f15cb2 100644
--- a/spring-boot-admin-server-ui/src/main/frontend/views/applications/i18n.is.json
+++ b/spring-boot-admin-server-ui/src/main/frontend/views/applications/i18n.is.json
@@ -12,6 +12,14 @@
"suppress_notifications_on": "Tilkynningar fyrir {name}
fyrir",
"status": "Staða",
"label": "Forrit",
- "up": "OK"
+ "up": "OK",
+ "shutdown": "Shutdown application {name}
?",
+ "restart": "Restart application {name}
?",
+ "restarted": "Successfully restarted application {name}
"
+ },
+ "instances": {
+ "shutdown": "Shutdown instance {name}
?",
+ "restart": "Restart instance {name}
?",
+ "restarted": "Successfully restarted instance"
}
}
diff --git a/spring-boot-admin-server-ui/src/main/frontend/views/applications/i18n.ko.json b/spring-boot-admin-server-ui/src/main/frontend/views/applications/i18n.ko.json
index c1d9a05036e..a3944f62e3d 100644
--- a/spring-boot-admin-server-ui/src/main/frontend/views/applications/i18n.ko.json
+++ b/spring-boot-admin-server-ui/src/main/frontend/views/applications/i18n.ko.json
@@ -12,6 +12,14 @@
"suppress_notifications_on": "{name}
에 대한 알림",
"status": "상태",
"label": "애플리케이션",
- "up": "정상"
+ "up": "정상",
+ "shutdown": "Shutdown application {name}
?",
+ "restart": "Restart application {name}
?",
+ "restarted": "Successfully restarted application {name}
"
+ },
+ "instances": {
+ "shutdown": "Shutdown instance {name}
?",
+ "restart": "Restart instance {name}
?",
+ "restarted": "Successfully restarted instance"
}
}
diff --git a/spring-boot-admin-server-ui/src/main/frontend/views/applications/i18n.pt-BR.json b/spring-boot-admin-server-ui/src/main/frontend/views/applications/i18n.pt-BR.json
index 9224aee4373..7c48eee1b34 100644
--- a/spring-boot-admin-server-ui/src/main/frontend/views/applications/i18n.pt-BR.json
+++ b/spring-boot-admin-server-ui/src/main/frontend/views/applications/i18n.pt-BR.json
@@ -12,6 +12,14 @@
"suppress_notifications_on": "Suspenda notificações de {name}
por",
"status": "Estado",
"label": "Aplicações",
- "up": "up"
+ "up": "up",
+ "shutdown": "Shutdown application {name}
?",
+ "restart": "Restart application {name}
?",
+ "restarted": "Successfully restarted application {name}
"
+ },
+ "instances": {
+ "shutdown": "Shutdown instance {name}
?",
+ "restart": "Restart instance {name}
?",
+ "restarted": "Successfully restarted instance"
}
}
diff --git a/spring-boot-admin-server-ui/src/main/frontend/views/applications/i18n.ru.json b/spring-boot-admin-server-ui/src/main/frontend/views/applications/i18n.ru.json
index b76e2976d67..9b500a47eb9 100644
--- a/spring-boot-admin-server-ui/src/main/frontend/views/applications/i18n.ru.json
+++ b/spring-boot-admin-server-ui/src/main/frontend/views/applications/i18n.ru.json
@@ -12,6 +12,14 @@
"suppress_notifications_on": "Скрыть уведомления для {name}
на",
"status": "Статус",
"label": "Приложения",
- "up": "ОК"
+ "up": "ОК",
+ "shutdown": "Shutdown application {name}
?",
+ "restart": "Restart application {name}
?",
+ "restarted": "Successfully restarted application {name}
"
+ },
+ "instances": {
+ "shutdown": "Shutdown instance {name}
?",
+ "restart": "Restart instance {name}
?",
+ "restarted": "Successfully restarted instance"
}
}
diff --git a/spring-boot-admin-server-ui/src/main/frontend/views/applications/i18n.zh-CN.json b/spring-boot-admin-server-ui/src/main/frontend/views/applications/i18n.zh-CN.json
index 9ed4c84afca..078140c16ca 100644
--- a/spring-boot-admin-server-ui/src/main/frontend/views/applications/i18n.zh-CN.json
+++ b/spring-boot-admin-server-ui/src/main/frontend/views/applications/i18n.zh-CN.json
@@ -12,6 +12,14 @@
"suppress_notifications_on": "Suppress notifications on {name}
for",
"status": "实例状态",
"label": "应用",
- "up": "在线"
+ "up": "在线",
+ "shutdown": "Shutdown application {name}
?",
+ "restart": "Restart application {name}
?",
+ "restarted": "Successfully restarted application {name}
"
+ },
+ "instances": {
+ "shutdown": "Shutdown instance {name}
?",
+ "restart": "Restart instance {name}
?",
+ "restarted": "Successfully restarted instance"
}
}
diff --git a/spring-boot-admin-server-ui/src/main/frontend/views/applications/i18n.zh-TW.json b/spring-boot-admin-server-ui/src/main/frontend/views/applications/i18n.zh-TW.json
index e10069b941b..e0751697650 100644
--- a/spring-boot-admin-server-ui/src/main/frontend/views/applications/i18n.zh-TW.json
+++ b/spring-boot-admin-server-ui/src/main/frontend/views/applications/i18n.zh-TW.json
@@ -12,6 +12,14 @@
"suppress_notifications_on": "Suppress notifications on {name}
for",
"status": "實例狀態",
"label": "應用",
- "up": "正常"
+ "up": "正常",
+ "shutdown": "Shutdown application {name}
?",
+ "restart": "Restart application {name}
?",
+ "restarted": "Successfully restarted application {name}
"
+ },
+ "instances": {
+ "shutdown": "Shutdown instance {name}
?",
+ "restart": "Restart instance {name}
?",
+ "restarted": "Successfully restarted instance"
}
}
diff --git a/spring-boot-admin-server-ui/src/main/frontend/views/applications/index.vue b/spring-boot-admin-server-ui/src/main/frontend/views/applications/index.vue
index 8215ebeec2e..e7eec4f4db9 100644
--- a/spring-boot-admin-server-ui/src/main/frontend/views/applications/index.vue
+++ b/spring-boot-admin-server-ui/src/main/frontend/views/applications/index.vue
@@ -52,6 +52,8 @@
:is-expanded="selected === application.name || Boolean(filter)"
:notification-filters="notificationFilters"
@unregister="unregister"
+ @shutdown="shutdown"
+ @restart="restart"
@click.stop="select(application.name)"
@toggle-notification-filter-settings="toggleNotificationFilterSettings"
/>
@@ -179,6 +181,20 @@ export default {
this.errors.push(e);
}
},
+ shutdown(item) {
+ try {
+ item.shutdown();
+ } catch (e) {
+ this.errors.push(e);
+ }
+ },
+ restart(item) {
+ try {
+ item.restart();
+ } catch (e) {
+ this.errors.push(e);
+ }
+ },
createSubscription() {
const vm = this;
vm.notificationFilterSubject = new Subject();
diff --git a/spring-boot-admin-server-ui/src/main/frontend/views/instances/auditevents/auditevents-list.stories.js b/spring-boot-admin-server-ui/src/main/frontend/views/instances/auditevents/auditevents-list.stories.js
new file mode 100644
index 00000000000..425dfb93066
--- /dev/null
+++ b/spring-boot-admin-server-ui/src/main/frontend/views/instances/auditevents/auditevents-list.stories.js
@@ -0,0 +1,20 @@
+import Index from './index';
+import Instance from "@/services/instance";
+import {applications} from '@/mocks/applications/data'
+
+export default {
+ component: Index,
+ title: 'SBA View/AuditeventsList',
+};
+
+const Template = (args, {argTypes}) => ({
+ components: {Index},
+ props: Object.keys(argTypes),
+ template: ''
+});
+
+export const Test = Template.bind({});
+Test.args = {
+ instance: new Instance({id: 'bba333956ae6', ...applications[0].instances[0]})
+};
+
diff --git a/spring-boot-admin-server-ui/src/main/frontend/views/instances/auditevents/index.vue b/spring-boot-admin-server-ui/src/main/frontend/views/instances/auditevents/index.vue
index 9cf3ee89b2e..e8bf1020239 100644
--- a/spring-boot-admin-server-ui/src/main/frontend/views/instances/auditevents/index.vue
+++ b/spring-boot-admin-server-ui/src/main/frontend/views/instances/auditevents/index.vue
@@ -98,11 +98,12 @@
class Auditevent {
constructor({timestamp, ...event}) {
Object.assign(this, event);
+ this.zonedTimestamp = timestamp;
this.timestamp = moment(timestamp);
}
get key() {
- return `${this.timestamp}-${this.type}-${this.principal}`;
+ return `${this.zonedTimestamp}-${this.type}-${this.principal}`;
}
get remoteAddress() {
diff --git a/spring-boot-admin-server-ui/src/main/frontend/views/instances/beans/index.vue b/spring-boot-admin-server-ui/src/main/frontend/views/instances/beans/index.vue
index 14fd87745f3..d3b601f6ba8 100644
--- a/spring-boot-admin-server-ui/src/main/frontend/views/instances/beans/index.vue
+++ b/spring-boot-admin-server-ui/src/main/frontend/views/instances/beans/index.vue
@@ -104,7 +104,8 @@
return () => true;
}
const regex = new RegExp(this.filter, 'i');
- return bean => (bean.name.match(regex) || bean.aliases.some(alias => alias.match(regex)));
+ return bean => (bean.name.match(regex) ||
+ (bean.aliases && bean.aliases.some(alias => alias.match(regex))));
},
async fetchBeans() {
this.error = null;
diff --git a/spring-boot-admin-server-ui/src/main/frontend/views/instances/caches/caches-list.vue b/spring-boot-admin-server-ui/src/main/frontend/views/instances/caches/caches-list.vue
index ddd6cff92e0..90717d87f8b 100644
--- a/spring-boot-admin-server-ui/src/main/frontend/views/instances/caches/caches-list.vue
+++ b/spring-boot-admin-server-ui/src/main/frontend/views/instances/caches/caches-list.vue
@@ -53,11 +53,11 @@
|