Skip to content

Commit 94f0959

Browse files
committed
feat: refactored ActivityEditor into ActivityView, added better info when missing data
1 parent a0ec9a5 commit 94f0959

4 files changed

Lines changed: 14 additions & 94 deletions

File tree

src/components/SelectableVisualization.vue

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,17 @@ div
55
b-dropdown.mr-1(size="sm" variant="outline-secondary")
66
template(v-slot:button-content)
77
icon(name="cog")
8-
b-dropdown-item(v-for="t in types" :key="t" variant="outline-secondary" @click="$emit('onTypeChange', id, t)" v-bind:disabled="!visualizations[t].available")
9-
| {{ visualizations[t].title }}
8+
b-dropdown-item(v-for="t in types" :key="t" variant="outline-secondary" @click="$emit('onTypeChange', id, t)")
9+
| {{ visualizations[t].title }} #[span.small(v-if="!visualizations[t].available" style="color: #A50") (no data)]
1010
b-button.p-0(size="sm", variant="outline-danger" @click="$emit('onRemove', id)")
1111
icon(name="times")
1212

13+
// Check data prerequisites
14+
div(v-if="!has_prerequisites")
15+
b-alert.small.px-2.py-1(show variant="warning")
16+
| This feature is missing data from a required watcher.
17+
| You can find a list of all watchers in #[a(href="https://activitywatch.readthedocs.io/en/latest/watchers.html") the documentation].
18+
1319
div(v-if="type == 'top_apps'")
1420
aw-summary(:fields="$store.state.activity.window.top_apps",
1521
:namefunc="e => e.data.app",
@@ -183,6 +189,9 @@ export default {
183189
},
184190
};
185191
},
192+
has_prerequisites() {
193+
return this.visualizations[this.type].available;
194+
},
186195
top_categories_hierarchy: function () {
187196
const top_categories = this.$store.state.activity.category.top;
188197
if (top_categories) {

src/store/modules/views.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,9 @@ const defaultViews = [
3131
id: 'editor',
3232
name: 'Editor',
3333
elements: [
34-
// TODO: Migrate ActivityEditor to ActivityView
34+
{ type: 'top_editor_files', size: 3 },
35+
{ type: 'top_editor_projects', size: 3 },
36+
{ type: 'top_editor_languages', size: 3 },
3537
],
3638
},
3739
];

src/views/activity/ActivityEditor.vue

Lines changed: 0 additions & 85 deletions
This file was deleted.

src/views/activity/ActivityView.vue

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
<template lang="pug">
22
div(v-if="view")
3-
div(v-if="view.id == 'editor'")
4-
ActivityEditor
5-
63
div.row
74
div.col-md-6.col-lg-4.p-3(v-for="el, index in view.elements")
85
aw-selectable-vis(:id="index" :type="el.type" @onTypeChange="onTypeChange" @onRemove="onRemove" :editable="editing")
@@ -39,11 +36,8 @@ import 'vue-awesome/icons/times';
3936
import 'vue-awesome/icons/trash';
4037
import 'vue-awesome/icons/undo';
4138
42-
import ActivityEditor from '~/views/activity/ActivityEditor';
43-
4439
export default {
4540
name: 'ActivityView',
46-
components: { ActivityEditor: ActivityEditor },
4741
props: {
4842
view_id: { type: String, default: 'default' },
4943
periodLength: {

0 commit comments

Comments
 (0)