aboutsummaryrefslogtreecommitdiffstats
path: root/apps/theming/src/mixins/admin/FieldMixin.js
diff options
context:
space:
mode:
Diffstat (limited to 'apps/theming/src/mixins/admin/FieldMixin.js')
-rw-r--r--apps/theming/src/mixins/admin/FieldMixin.js47
1 files changed, 47 insertions, 0 deletions
diff --git a/apps/theming/src/mixins/admin/FieldMixin.js b/apps/theming/src/mixins/admin/FieldMixin.js
new file mode 100644
index 00000000000..743e711777a
--- /dev/null
+++ b/apps/theming/src/mixins/admin/FieldMixin.js
@@ -0,0 +1,47 @@
+/**
+ * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+
+const styleRefreshFields = [
+ 'color',
+ 'logo',
+ 'background',
+ 'logoheader',
+ 'favicon',
+ 'disable-user-theming',
+]
+
+export default {
+ emits: [
+ 'update:theming',
+ ],
+
+ data() {
+ return {
+ showSuccess: false,
+ errorMessage: '',
+ }
+ },
+
+ computed: {
+ id() {
+ return `admin-theming-${this.name}`
+ },
+ },
+
+ methods: {
+ reset() {
+ this.showSuccess = false
+ this.errorMessage = ''
+ },
+
+ handleSuccess() {
+ this.showSuccess = true
+ setTimeout(() => { this.showSuccess = false }, 2000)
+ if (styleRefreshFields.includes(this.name)) {
+ this.$emit('update:theming')
+ }
+ },
+ },
+}