Mercurial > gemma
annotate client/src/components/ui/UISpinnerButton.vue @ 2916:ea54e63deb40
client:logs:add catch method
author | Fadi Abbud <fadi.abbud@intevation.de> |
---|---|
date | Wed, 03 Apr 2019 15:32:59 +0200 |
parents | d57c951aec65 |
children | b22f84d312f2 |
rev | line source |
---|---|
2898
d57c951aec65
client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
1 <template> |
d57c951aec65
client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
2 <transition name="fade"> |
d57c951aec65
client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
3 <div :class="classesString" @click="$emit('click')"> |
d57c951aec65
client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
4 <font-awesome-icon :icon="iconString" :spin="loading" fixed-width /> |
d57c951aec65
client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
5 <slot /> |
d57c951aec65
client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
6 </div> |
d57c951aec65
client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
7 </transition> |
d57c951aec65
client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
8 </template> |
d57c951aec65
client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
9 |
d57c951aec65
client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
10 <script> |
d57c951aec65
client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
11 /* 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
|
12 * without warranty, see README.md and license for details. |
d57c951aec65
client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
13 * |
d57c951aec65
client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
14 * SPDX-License-Identifier: AGPL-3.0-or-later |
d57c951aec65
client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
15 * License-Filename: LICENSES/AGPL-3.0.txt |
d57c951aec65
client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
16 * |
d57c951aec65
client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
17 * Copyright (C) 2018 by via donau |
d57c951aec65
client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
18 * – Österreichische Wasserstraßen-Gesellschaft mbH |
d57c951aec65
client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
19 * Software engineering by Intevation GmbH |
d57c951aec65
client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
20 * |
d57c951aec65
client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
21 * Author(s): |
d57c951aec65
client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
22 * Markus Kottländer <markus.kottlaender@intevation.de> |
d57c951aec65
client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
23 */ |
d57c951aec65
client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
24 export default { |
d57c951aec65
client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
25 props: { |
d57c951aec65
client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
26 loading: { |
d57c951aec65
client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
27 type: Boolean, |
d57c951aec65
client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
28 default: false |
d57c951aec65
client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
29 }, |
d57c951aec65
client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
30 state: [Number, Boolean], |
d57c951aec65
client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
31 icons: { |
d57c951aec65
client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
32 type: [String, Array], |
d57c951aec65
client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
33 default: () => ["angle-down", "angle-up"] |
d57c951aec65
client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
34 }, |
d57c951aec65
client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
35 classes: { |
d57c951aec65
client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
36 type: [String, Array], |
d57c951aec65
client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
37 default: () => ["text-info", "text-white"] |
d57c951aec65
client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
38 } |
d57c951aec65
client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
39 }, |
d57c951aec65
client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
40 computed: { |
d57c951aec65
client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
41 classesString() { |
d57c951aec65
client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
42 return ( |
d57c951aec65
client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
43 "pointer " + |
d57c951aec65
client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
44 (Array.isArray(this.classes) |
d57c951aec65
client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
45 ? this.classes[Number(this.state)] |
d57c951aec65
client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
46 : this.classes) |
d57c951aec65
client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
47 ); |
d57c951aec65
client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
48 }, |
d57c951aec65
client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
49 iconString() { |
d57c951aec65
client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
50 return this.loading |
d57c951aec65
client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
51 ? "spinner" |
d57c951aec65
client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
52 : Array.isArray(this.icons) |
d57c951aec65
client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
53 ? this.icons[Number(this.state)] |
d57c951aec65
client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
54 : this.icons; |
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 } |
d57c951aec65
client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
57 }; |
d57c951aec65
client: added spinner button component
Markus Kottlaender <markus@intevation.de>
parents:
diff
changeset
|
58 </script> |