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
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>
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>