View | Details | Raw Unified | Return to bug 32925
Collapse All | Expand All

(-)a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ButtonSubmit.vue (-30 / +2 lines)
Lines 1-8 Link Here
1
<template>
1
<template>
2
    <input type="submit" variant="primary" :value="text" @click="submitting = true" />
2
    <input type="submit" variant="primary" :value="text" />
3
    <div v-if="submitting" class="modal">
4
        <div class="spinner dialog alert">Submitting...</div>
5
    </div>
6
</template>
3
</template>
7
4
8
<script>
5
<script>
Lines 14-44 export default { Link Here
14
            default: __("Submit"),
11
            default: __("Submit"),
15
            required: false,
12
            required: false,
16
        },
13
        },
17
        submitting: {
18
            type: Boolean,
19
            default: false,
20
            required: false,
21
        },
22
    },
14
    },
23
};
24
</script>
25
26
<style scoped>
27
.modal {
28
    position: fixed;
29
    z-index: 9998;
30
    display: table;
31
    transition: opacity 0.3s ease;
32
    left: 0px;
33
    top: 0px;
34
    width: 100%;
35
    height: 100%;
36
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.33);
37
}
38
.spinner {
39
    position: absolute;
40
    top: 50%;
41
    left: 40%;
42
    width: 10%
43
}
15
}
44
</style>
16
</script>
(-)a/koha-tmpl/intranet-tmpl/prog/js/vue/components/Dialog.vue (-2 / +25 lines)
Lines 12-17 Link Here
12
        >
12
        >
13
    </div>
13
    </div>
14
    <!-- Must be styled differently -->
14
    <!-- Must be styled differently -->
15
16
    <div class="modal_centered" v-if="is_submitting">
17
        <div class="spinner dialog alert">{{ $__("Submitting...") }}</div>
18
    </div>
15
</template>
19
</template>
16
20
17
<script>
21
<script>
Lines 20-28 import { storeToRefs } from "pinia" Link Here
20
export default {
24
export default {
21
    setup() {
25
    setup() {
22
        const mainStore = inject("mainStore")
26
        const mainStore = inject("mainStore")
23
        const { message, error, warning } = storeToRefs(mainStore)
27
        const { message, error, warning, is_submitting } =
28
            storeToRefs(mainStore)
24
        const { removeMessages } = mainStore
29
        const { removeMessages } = mainStore
25
        return { message, error, warning, removeMessages }
30
        return { message, error, warning, is_submitting, removeMessages }
26
    },
31
    },
27
}
32
}
28
</script>
33
</script>
Lines 42-45 export default { Link Here
42
    float: right;
47
    float: right;
43
    cursor: pointer;
48
    cursor: pointer;
44
}
49
}
50
51
.modal_centered {
52
    position: fixed;
53
    z-index: 9998;
54
    display: table;
55
    transition: opacity 0.3s ease;
56
    left: 0px;
57
    top: 0px;
58
    width: 100%;
59
    height: 100%;
60
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.33);
61
}
62
.spinner {
63
    position: absolute;
64
    top: 50%;
65
    left: 40%;
66
    width: 10%;
67
}
45
</style>
68
</style>
(-)a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/AgreementsFormConfirmDelete.vue (-1 / +1 lines)
Lines 18-24 Link Here
18
                    </ol>
18
                    </ol>
19
                </fieldset>
19
                </fieldset>
20
                <fieldset class="action">
20
                <fieldset class="action">
21
                    <ButtonSubmit :text="$__('Yes, delete')"/>
21
                    <ButtonSubmit :text="$__('Yes, delete')" />
22
                    <router-link
22
                    <router-link
23
                        to="/cgi-bin/koha/erm/agreements"
23
                        to="/cgi-bin/koha/erm/agreements"
24
                        role="button"
24
                        role="button"
(-)a/koha-tmpl/intranet-tmpl/prog/js/vue/messages.js (+10 lines)
Lines 22-24 export const removeMessages = function () { Link Here
22
    const { removeMessages } = mainStore;
22
    const { removeMessages } = mainStore;
23
    removeMessages();
23
    removeMessages();
24
};
24
};
25
export const isSubmitting = function () {
26
    const mainStore = useMainStore();
27
    const { isSubmitting } = mainStore;
28
    isSubmitting();
29
};
30
export const submitted = function () {
31
    const mainStore = useMainStore();
32
    const { submitted } = mainStore;
33
    submitted();
34
};
(-)a/koha-tmpl/intranet-tmpl/prog/js/vue/stores/main.js (-1 / +7 lines)
Lines 8-13 export const useMainStore = defineStore("main", { Link Here
8
        previousMessage: null,
8
        previousMessage: null,
9
        previousError: null,
9
        previousError: null,
10
        displayed_already: false,
10
        displayed_already: false,
11
        is_submitting: false,
11
    }),
12
    }),
12
    actions: {
13
    actions: {
13
        setMessage(message) {
14
        setMessage(message) {
Lines 34-38 export const useMainStore = defineStore("main", { Link Here
34
            }
35
            }
35
            this.displayed_already = true;
36
            this.displayed_already = true;
36
        },
37
        },
38
        isSubmitting(){
39
            this.is_submitting = true;
40
        },
41
        submitted(){
42
            this.is_submitting = false;
43
        },
37
    },
44
    },
38
});
45
});
39
- 

Return to bug 32925