diff --git a/frontend/src/components/activity/ScheduleEntry.vue b/frontend/src/components/activity/ScheduleEntry.vue
index d113ff21d8..5d776fcfd7 100644
--- a/frontend/src/components/activity/ScheduleEntry.vue
+++ b/frontend/src/components/activity/ScheduleEntry.vue
@@ -61,9 +61,19 @@ Displays a single scheduleEntry
-
- {{ activity.title }}
-
+
@@ -398,6 +409,16 @@ export default {
padding: 1.5rem 16px;
}
+.ec-activity-title {
+ .v-icon {
+ opacity: 0;
+ }
+
+ &:hover .v-icon {
+ opacity: 1;
+ }
+}
+
.e-category-chip-save-icon {
font-size: 18px;
}
diff --git a/frontend/src/components/activity/content/LAThematicArea.vue b/frontend/src/components/activity/content/LAThematicArea.vue
index e950732004..c287b33af0 100644
--- a/frontend/src/components/activity/content/LAThematicArea.vue
+++ b/frontend/src/components/activity/content/LAThematicArea.vue
@@ -1,26 +1,27 @@
-
-
+
+
-
+
-
- {{
- $tc(`contentNode.laThematicArea.entity.option.${key}.name`)
- }}
- {{
- $tc(`contentNode.laThematicArea.entity.option.${key}.description`)
- }}
+
+ {{ $tc(`contentNode.laThematicArea.entity.option.${key}.name`) }}
+
+ {{ $tc(`contentNode.laThematicArea.entity.option.${key}.description`) }}
+
@@ -37,6 +38,13 @@ export default {
name: 'LAThematicArea',
components: { CardContentNode, ApiCheckbox },
mixins: [contentNodeMixin],
+ computed: {
+ model() {
+ return Object.entries(this.contentNode.data.options)
+ .filter(([, option]) => option.checked)
+ .map(([key]) => key)
+ },
+ },
methods: {
async refreshContent() {
await this.api.reload(this.contentNode)
@@ -44,3 +52,10 @@ export default {
},
}
+
+
diff --git a/frontend/src/components/buttons/IconButton.vue b/frontend/src/components/buttons/IconButton.vue
index 12a73b5d38..98d1af996e 100644
--- a/frontend/src/components/buttons/IconButton.vue
+++ b/frontend/src/components/buttons/IconButton.vue
@@ -34,15 +34,6 @@ export default {
diff --git a/frontend/src/components/form/api/ApiCheckbox.vue b/frontend/src/components/form/api/ApiCheckbox.vue
index 0672564e46..fb6a76698a 100644
--- a/frontend/src/components/form/api/ApiCheckbox.vue
+++ b/frontend/src/components/form/api/ApiCheckbox.vue
@@ -16,7 +16,14 @@ Displays a field as a e-checkbox + write access via API wrapper
@input="wrapper.on.input"
>
-
+
@@ -25,11 +32,11 @@ Displays a field as a e-checkbox + write access via API wrapper
-
+
diff --git a/frontend/src/components/form/api/ApiColorPicker.vue b/frontend/src/components/form/api/ApiColorPicker.vue
index 91ea041e84..b00f47b8c3 100644
--- a/frontend/src/components/form/api/ApiColorPicker.vue
+++ b/frontend/src/components/form/api/ApiColorPicker.vue
@@ -16,7 +16,7 @@ Displays a field as a color picker + write access via API wrapper
@input="wrapper.on.input"
>
-
+
diff --git a/frontend/src/components/form/api/ApiDatePicker.vue b/frontend/src/components/form/api/ApiDatePicker.vue
index 6b1f23d45d..889b6c60e3 100644
--- a/frontend/src/components/form/api/ApiDatePicker.vue
+++ b/frontend/src/components/form/api/ApiDatePicker.vue
@@ -16,7 +16,7 @@ Displays a field as a date picker + write access via API wrapper
@input="wrapper.on.input"
>
-
+
diff --git a/frontend/src/components/form/api/ApiRichtext.vue b/frontend/src/components/form/api/ApiRichtext.vue
index 238dd1ac60..dd2cf0c456 100644
--- a/frontend/src/components/form/api/ApiRichtext.vue
+++ b/frontend/src/components/form/api/ApiRichtext.vue
@@ -16,7 +16,7 @@ Displays a field as a e-textarea + write access via API wrapper
@input="wrapper.on.input"
>
-
+
diff --git a/frontend/src/components/form/api/ApiSelect.vue b/frontend/src/components/form/api/ApiSelect.vue
index 282ce33f89..a614a83a99 100644
--- a/frontend/src/components/form/api/ApiSelect.vue
+++ b/frontend/src/components/form/api/ApiSelect.vue
@@ -7,6 +7,7 @@ Displays a field as a e-select + write access via API wrapper
v-slot="wrapper"
v-bind="$props"
:auto-save-delay="autoSaveDelayComputed"
+ wrapper-input-type="select"
v-on="$listeners"
>
- mdi-menu-down
-
+
@@ -33,11 +33,11 @@ Displays a field as a e-select + write access via API wrapper
-
+
diff --git a/frontend/src/components/form/api/ApiSwitch.vue b/frontend/src/components/form/api/ApiSwitch.vue
index 4ac1b97aaf..9bb8d579a3 100644
--- a/frontend/src/components/form/api/ApiSwitch.vue
+++ b/frontend/src/components/form/api/ApiSwitch.vue
@@ -16,7 +16,7 @@ Displays a field as a e-checkbox + write access via API wrapper
@input="wrapper.on.input"
>
-
+
diff --git a/frontend/src/components/form/api/ApiTextField.vue b/frontend/src/components/form/api/ApiTextField.vue
index f7a607771e..8362f98f09 100644
--- a/frontend/src/components/form/api/ApiTextField.vue
+++ b/frontend/src/components/form/api/ApiTextField.vue
@@ -18,7 +18,7 @@ Displays a field as a e-text-field + write access via API wrapper
@input="wrapper.on.input"
>
-
+
diff --git a/frontend/src/components/form/api/ApiTextarea.vue b/frontend/src/components/form/api/ApiTextarea.vue
index b5af667bc7..6533ed48f6 100644
--- a/frontend/src/components/form/api/ApiTextarea.vue
+++ b/frontend/src/components/form/api/ApiTextarea.vue
@@ -17,7 +17,7 @@ Displays a field as a e-textarea + write access via API wrapper
@input="wrapper.on.input"
>
-
+
diff --git a/frontend/src/components/form/api/ApiTimePicker.vue b/frontend/src/components/form/api/ApiTimePicker.vue
index dab6c55b28..cf5a31f56c 100644
--- a/frontend/src/components/form/api/ApiTimePicker.vue
+++ b/frontend/src/components/form/api/ApiTimePicker.vue
@@ -16,7 +16,7 @@ Displays a field as a time picker + write access via API wrapper
@input="wrapper.on.input"
>
-
+
diff --git a/frontend/src/components/form/api/ApiWrapper.vue b/frontend/src/components/form/api/ApiWrapper.vue
index f58f0e03db..afe4923caf 100644
--- a/frontend/src/components/form/api/ApiWrapper.vue
+++ b/frontend/src/components/form/api/ApiWrapper.vue
@@ -5,8 +5,16 @@ Wrapper component for form components to save data back to API
diff --git a/frontend/src/mixins/apiPropsMixin.js b/frontend/src/mixins/apiPropsMixin.js
index c1586a7da7..769d718077 100644
--- a/frontend/src/mixins/apiPropsMixin.js
+++ b/frontend/src/mixins/apiPropsMixin.js
@@ -31,6 +31,7 @@ export const apiPropsMixin = {
/* enable/disable edit mode */
readonly: { type: Boolean, required: false, default: false }, // vuetify readonly: same look and feel as normal, but no changes possible
disabled: { type: Boolean, required: false, default: false }, // vuetify disabled: input greyed out, not focusable
+ resettable: { type: Boolean, required: false, default: false }, // reset field to previous value
/* enable/disable auto save */
autoSave: { type: Boolean, default: true, required: false },
diff --git a/frontend/src/scss/global.scss b/frontend/src/scss/global.scss
index 06c415e5a7..8632d6ee92 100644
--- a/frontend/src/scss/global.scss
+++ b/frontend/src/scss/global.scss
@@ -205,3 +205,12 @@ body {
.justify-items-center {
justify-items: center;
}
+
+@keyframes spin-only {
+ from {
+ transform: scale(1) rotate(0deg);
+ }
+ to {
+ transform: scale(1) rotate(360deg);
+ }
+}