diff --git a/dashboard/src/models/AppsModel.js b/dashboard/src/models/AppsModel.js
index d0dcebfc3..739491143 100644
--- a/dashboard/src/models/AppsModel.js
+++ b/dashboard/src/models/AppsModel.js
@@ -70,6 +70,11 @@ function appProgressMessage(app) {
return app.message || (app.error ? app.error.message : '');
}
+function pendingChecklistItems(app) {
+ if (!app.checklist) return 0;
+ return Object.keys(app.checklist).filter(function (key) { return !app.checklist[key].acknowledged; }).length;
+}
+
function create() {
const accessToken = localStorage.token;
@@ -458,4 +463,5 @@ export default {
installationStateLabel,
installationActive,
appProgressMessage,
+ pendingChecklistItems,
};
diff --git a/dashboard/src/views/AppsView.vue b/dashboard/src/views/AppsView.vue
index d32578a7c..a5adcee6a 100644
--- a/dashboard/src/views/AppsView.vue
+++ b/dashboard/src/views/AppsView.vue
@@ -97,6 +97,7 @@ const listColumns = {
return checkA - checkB;
},
},
+ checklist: {},
actions: {}
};
@@ -120,8 +121,6 @@ const filteredApps = computed(() => {
});
});
-const installationStateLabel = AppsModel.installationStateLabel;
-
const updateInfo = ref({});
const applinkDialog = useTemplateRef('applinkDialog');
@@ -264,7 +263,10 @@ onUnmounted(() => {
-
+
@@ -296,6 +298,9 @@ onUnmounted(() => {
+
+
+
@@ -485,27 +490,51 @@ onUnmounted(() => {
opacity: 1;
}
-.update-indicator {
+.grid-item-indictors {
position: absolute;
- color: var(--pankow-color-success);
- font-size: 18px;
- cursor: pointer;
- width: 50px;
- height: 50px;
- border-top-right-radius: 10px;
left: 0;
top: 0;
+}
+
+.grid-item-update-indicator {
+ color: var(--pankow-color-success);
+ font-size: 18px;
+ width: 40px;
+ height: 40px;
+ border-top-right-radius: 10px;
display: flex;
justify-content: center;
align-items: center;
}
-.update-indicator:focus,
-.update-indicator:hover {
+.grid-item-update-indicator:focus,
+.grid-item-update-indicator:hover {
opacity: 1;
color: var(--pankow-color-success-hover);
}
+.grid-item-checklist-indicator {
+ color: var(--pankow-color-danger);
+ border-radius: 50px;
+ font-size: 18px;
+ width: 40px;
+ height: 40px;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.list-item-checklist-indicator {
+ color: var(--pankow-color-danger);
+}
+
+.list-item-checklist-indicator:focus,
+.list-item-checklist-indicator:hover,
+.grid-item-checklist-indicator:focus,
+.grid-item-checklist-indicator:hover {
+ color: var(--pankow-color-danger-hover);
+}
+
.empty-placeholder {
font-size: 18px;
margin: 10px;