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(() => { +