annotate client/src/components/ui/UISpinnerButton.vue @ 5348:45b03e8ca47e extented-report

Toggles in user overview and in details section as well established This commit introduces toggles to change the state for administrative users to be able to receive the DQL Report. For quick access there is the possibility to change via overview. If you want to edit this in the details or if you change the role of the user to a non administrative, there is the possibility to change the flag in a fast way. When the user looses administrative privilege the option is not available and the according flag is set to "false". Aside: Changed user.go to resolve inconsitencies in frontend where the key "reports" was missing due to "omitempty" in marshalling the go objects.
author Thomas Junk <thomas.junk@intevation.de>
date Mon, 21 Jun 2021 16:41:39 +0200
parents b22f84d312f2
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2898
d57c951aec65 client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
1 <template>
2918
b22f84d312f2 client: ui: removed animation from spinner button
Markus Kottlaender <markus@intevation.de>
parents: 2898
diff changeset
2 <div :class="classesString" @click="$emit('click')">
b22f84d312f2 client: ui: removed animation from spinner button
Markus Kottlaender <markus@intevation.de>
parents: 2898
diff changeset
3 <font-awesome-icon :icon="iconString" :spin="loading" fixed-width />
b22f84d312f2 client: ui: removed animation from spinner button
Markus Kottlaender <markus@intevation.de>
parents: 2898
diff changeset
4 <slot />
b22f84d312f2 client: ui: removed animation from spinner button
Markus Kottlaender <markus@intevation.de>
parents: 2898
diff changeset
5 </div>
2898
d57c951aec65 client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
6 </template>
d57c951aec65 client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
7
d57c951aec65 client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
8 <script>
d57c951aec65 client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
9 /* This is Free Software under GNU Affero General Public License v >= 3.0
d57c951aec65 client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
10 * without warranty, see README.md and license for details.
d57c951aec65 client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
11 *
d57c951aec65 client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
12 * SPDX-License-Identifier: AGPL-3.0-or-later
d57c951aec65 client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
13 * License-Filename: LICENSES/AGPL-3.0.txt
d57c951aec65 client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
14 *
d57c951aec65 client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
15 * Copyright (C) 2018 by via donau
d57c951aec65 client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
16 * – Österreichische Wasserstraßen-Gesellschaft mbH
d57c951aec65 client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
17 * Software engineering by Intevation GmbH
d57c951aec65 client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
18 *
d57c951aec65 client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
19 * Author(s):
d57c951aec65 client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
20 * Markus Kottländer <markus.kottlaender@intevation.de>
d57c951aec65 client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
21 */
d57c951aec65 client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
22 export default {
d57c951aec65 client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
23 props: {
d57c951aec65 client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
24 loading: {
d57c951aec65 client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
25 type: Boolean,
d57c951aec65 client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
26 default: false
d57c951aec65 client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
27 },
d57c951aec65 client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
28 state: [Number, Boolean],
d57c951aec65 client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
29 icons: {
d57c951aec65 client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
30 type: [String, Array],
d57c951aec65 client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
31 default: () => ["angle-down", "angle-up"]
d57c951aec65 client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
32 },
d57c951aec65 client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
33 classes: {
d57c951aec65 client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
34 type: [String, Array],
d57c951aec65 client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
35 default: () => ["text-info", "text-white"]
d57c951aec65 client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
36 }
d57c951aec65 client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
37 },
d57c951aec65 client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
38 computed: {
d57c951aec65 client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
39 classesString() {
d57c951aec65 client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
40 return (
d57c951aec65 client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
41 "pointer " +
d57c951aec65 client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
42 (Array.isArray(this.classes)
d57c951aec65 client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
43 ? this.classes[Number(this.state)]
d57c951aec65 client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
44 : this.classes)
d57c951aec65 client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
45 );
d57c951aec65 client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
46 },
d57c951aec65 client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
47 iconString() {
d57c951aec65 client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
48 return this.loading
d57c951aec65 client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
49 ? "spinner"
d57c951aec65 client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
50 : Array.isArray(this.icons)
d57c951aec65 client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
51 ? this.icons[Number(this.state)]
d57c951aec65 client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
52 : this.icons;
d57c951aec65 client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
53 }
d57c951aec65 client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
54 }
d57c951aec65 client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
55 };
d57c951aec65 client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff changeset
56 </script>