Merge pull request #416 from SamR1/modal-fix
fix modal navigation and closing
This commit is contained in:
commit
2ddc1f5cf6
2
fittrackee/dist/index.html
vendored
2
fittrackee/dist/index.html
vendored
@ -1 +1 @@
|
|||||||
<!doctype html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><!--[if IE]><link rel="icon" href="/favicon.ico"><![endif]--><link rel="stylesheet" href="/static/css/fork-awesome.min.css"/><link rel="stylesheet" href="/static/css/leaflet.css"/><title>FitTrackee</title><script defer="defer" src="/static/js/chunk-vendors.fe4fa96d.js"></script><script defer="defer" src="/static/js/app.19032807.js"></script><link href="/static/css/app.0a104971.css" rel="stylesheet"><link rel="icon" type="image/png" sizes="32x32" href="/img/icons/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/img/icons/favicon-16x16.png"><link rel="manifest" href="/manifest.json"><meta name="theme-color" content="#4DBA87"><meta name="apple-mobile-web-app-capable" content="no"><meta name="apple-mobile-web-app-status-bar-style" content="default"><meta name="apple-mobile-web-app-title" content="fittrackee_client"><link rel="apple-touch-icon" href="/img/icons/apple-touch-icon-152x152.png"><link rel="mask-icon" href="/img/icons/safari-pinned-tab.svg" color="#4DBA87"><meta name="msapplication-TileImage" content="/img/icons/msapplication-icon-144x144.png"><meta name="msapplication-TileColor" content="#000000"></head><body><noscript><strong>We're sorry but FitTrackee doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>
|
<!doctype html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><!--[if IE]><link rel="icon" href="/favicon.ico"><![endif]--><link rel="stylesheet" href="/static/css/fork-awesome.min.css"/><link rel="stylesheet" href="/static/css/leaflet.css"/><title>FitTrackee</title><script defer="defer" src="/static/js/chunk-vendors.5345c351.js"></script><script defer="defer" src="/static/js/app.07e92a66.js"></script><link href="/static/css/app.a587cef2.css" rel="stylesheet"><link rel="icon" type="image/png" sizes="32x32" href="/img/icons/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/img/icons/favicon-16x16.png"><link rel="manifest" href="/manifest.json"><meta name="theme-color" content="#4DBA87"><meta name="apple-mobile-web-app-capable" content="no"><meta name="apple-mobile-web-app-status-bar-style" content="default"><meta name="apple-mobile-web-app-title" content="fittrackee_client"><link rel="apple-touch-icon" href="/img/icons/apple-touch-icon-152x152.png"><link rel="mask-icon" href="/img/icons/safari-pinned-tab.svg" color="#4DBA87"><meta name="msapplication-TileImage" content="/img/icons/msapplication-icon-144x144.png"><meta name="msapplication-TileColor" content="#000000"></head><body><noscript><strong>We're sorry but FitTrackee doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>
|
2
fittrackee/dist/service-worker.js
vendored
2
fittrackee/dist/service-worker.js
vendored
File diff suppressed because one or more lines are too long
2
fittrackee/dist/service-worker.js.map
vendored
2
fittrackee/dist/service-worker.js.map
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
2
fittrackee/dist/static/js/app.07e92a66.js
vendored
Normal file
2
fittrackee/dist/static/js/app.07e92a66.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
fittrackee/dist/static/js/app.07e92a66.js.map
vendored
Normal file
1
fittrackee/dist/static/js/app.07e92a66.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
2
fittrackee/dist/static/js/app.19032807.js
vendored
2
fittrackee/dist/static/js/app.19032807.js
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
fittrackee/dist/static/js/chunk-vendors.5345c351.js.map
vendored
Normal file
1
fittrackee/dist/static/js/chunk-vendors.5345c351.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,2 +1,2 @@
|
|||||||
"use strict";(self["webpackChunkfittrackee_client"]=self["webpackChunkfittrackee_client"]||[]).push([[845],{4264:function(e,t,r){r.r(t),r.d(t,{default:function(){return m}});r(7658);var n=r(6252),a=r(2262),s=r(3577),u=r(2201),o=r(7167),i=r(5801),c=r(9917);const l={key:0,id:"account-confirmation",class:"center-card with-margin"},E={class:"error-message"};var _=(0,n.aZ)({__name:"AccountConfirmationView",setup(e){const t=(0,u.yj)(),r=(0,u.tv)(),_=(0,c.o)(),d=(0,n.Fl)((()=>_.getters[i.SY.GETTERS.ERROR_MESSAGES])),S=(0,n.Fl)((()=>t.query.token));function m(){S.value?_.dispatch(i.YN.ACTIONS.CONFIRM_ACCOUNT,{token:S.value}):r.push("/")}return(0,n.wF)((()=>m())),(0,n.Ah)((()=>_.commit(i.SY.MUTATIONS.EMPTY_ERROR_MESSAGES))),(e,t)=>{const r=(0,n.up)("router-link");return(0,a.SU)(d)?((0,n.wg)(),(0,n.iD)("div",l,[(0,n.Wm)(o.Z),(0,n._)("p",E,[(0,n._)("span",null,(0,s.zw)(e.$t("error.SOMETHING_WRONG"))+".",1),(0,n.Wm)(r,{class:"links",to:"/account-confirmation/resend"},{default:(0,n.w5)((()=>[(0,n.Uk)((0,s.zw)(e.$t("buttons.ACCOUNT-CONFIRMATION-RESEND"))+"? ",1)])),_:1})])])):(0,n.kq)("",!0)}}}),d=r(3744);const S=(0,d.Z)(_,[["__scopeId","data-v-785df978"]]);var m=S},8160:function(e,t,r){r.r(t),r.d(t,{default:function(){return m}});r(7658);var n=r(6252),a=r(2262),s=r(3577),u=r(2201),o=r(7167),i=r(5801),c=r(9917);const l={key:0,id:"email-update",class:"center-card with-margin"},E={class:"error-message"};var _=(0,n.aZ)({__name:"EmailUpdateView",setup(e){const t=(0,u.yj)(),r=(0,u.tv)(),_=(0,c.o)(),d=(0,n.Fl)((()=>_.getters[i.YN.GETTERS.AUTH_USER_PROFILE])),S=(0,n.Fl)((()=>_.getters[i.YN.GETTERS.IS_AUTHENTICATED])),m=(0,n.Fl)((()=>_.getters[i.SY.GETTERS.ERROR_MESSAGES])),p=(0,n.Fl)((()=>t.query.token));function R(){p.value?_.dispatch(i.YN.ACTIONS.CONFIRM_EMAIL,{token:p.value,refreshUser:S.value}):r.push("/")}return(0,n.wF)((()=>R())),(0,n.Ah)((()=>_.commit(i.SY.MUTATIONS.EMPTY_ERROR_MESSAGES))),(0,n.YP)((()=>m.value),(e=>{d.value.username&&e&&r.push("/")})),(e,t)=>{const r=(0,n.up)("router-link"),u=(0,n.up)("i18n-t");return(0,a.SU)(m)&&!(0,a.SU)(d).username?((0,n.wg)(),(0,n.iD)("div",l,[(0,n.Wm)(o.Z),(0,n._)("p",E,[(0,n._)("span",null,(0,s.zw)(e.$t("error.SOMETHING_WRONG"))+".",1),(0,n._)("span",null,[(0,n.Wm)(u,{keypath:"user.PROFILE.ERRORED_EMAIL_UPDATE"},{default:(0,n.w5)((()=>[(0,n.Wm)(r,{to:"/login"},{default:(0,n.w5)((()=>[(0,n.Uk)((0,s.zw)(e.$t("user.LOG_IN")),1)])),_:1})])),_:1})])])])):(0,n.kq)("",!0)}}}),d=r(3744);const S=(0,d.Z)(_,[["__scopeId","data-v-8c2ec9ce"]]);var m=S},4669:function(e,t,r){r.r(t),r.d(t,{default:function(){return d}});var n=r(6252),a=r(2262),s=r(5801),u=r(9917);const o=e=>((0,n.dD)("data-v-641164f3"),e=e(),(0,n.Cn)(),e),i={key:0,id:"profile",class:"view"},c=o((()=>(0,n._)("div",{id:"bottom"},null,-1)));var l=(0,n.aZ)({__name:"ProfileView",setup(e){const t=(0,u.o)(),r=(0,n.Fl)((()=>t.getters[s.YN.GETTERS.AUTH_USER_PROFILE]));return(e,t)=>{const s=(0,n.up)("router-view");return(0,a.SU)(r).username?((0,n.wg)(),(0,n.iD)("div",i,[(0,n.Wm)(s,{user:(0,a.SU)(r)},null,8,["user"]),c])):(0,n.kq)("",!0)}}}),E=r(3744);const _=(0,E.Z)(l,[["__scopeId","data-v-641164f3"]]);var d=_},9453:function(e,t,r){r.r(t),r.d(t,{default:function(){return m}});var n=r(6252),a=r(2262),s=r(2201),u=r(2179),o=r(8732),i=r(5801),c=r(9917);const l={key:0,id:"user",class:"view"},E={class:"box"};var _=(0,n.aZ)({__name:"UserView",props:{fromAdmin:{type:Boolean}},setup(e){const t=e,{fromAdmin:r}=(0,a.BK)(t),_=(0,s.yj)(),d=(0,c.o)(),S=(0,n.Fl)((()=>d.getters[i.RT.GETTERS.USER]));return(0,n.wF)((()=>{_.params.username&&"string"===typeof _.params.username&&d.dispatch(i.RT.ACTIONS.GET_USER,_.params.username)})),(0,n.Jd)((()=>{d.dispatch(i.RT.ACTIONS.EMPTY_USER)})),(e,t)=>(0,a.SU)(S).username?((0,n.wg)(),(0,n.iD)("div",l,[(0,n.Wm)(u.Z,{user:(0,a.SU)(S)},null,8,["user"]),(0,n._)("div",E,[(0,n.Wm)(o.Z,{user:(0,a.SU)(S),"from-admin":(0,a.SU)(r)},null,8,["user","from-admin"])])])):(0,n.kq)("",!0)}}),d=r(3744);const S=(0,d.Z)(_,[["__scopeId","data-v-af7007f4"]]);var m=S}}]);
|
"use strict";(self["webpackChunkfittrackee_client"]=self["webpackChunkfittrackee_client"]||[]).push([[845],{4264:function(e,t,r){r.r(t),r.d(t,{default:function(){return m}});r(7658);var n=r(6252),a=r(2262),s=r(3577),u=r(2201),o=r(7167),i=r(5801),c=r(9917);const l={key:0,id:"account-confirmation",class:"center-card with-margin"},E={class:"error-message"};var _=(0,n.aZ)({__name:"AccountConfirmationView",setup(e){const t=(0,u.yj)(),r=(0,u.tv)(),_=(0,c.o)(),d=(0,n.Fl)((()=>_.getters[i.SY.GETTERS.ERROR_MESSAGES])),S=(0,n.Fl)((()=>t.query.token));function m(){S.value?_.dispatch(i.YN.ACTIONS.CONFIRM_ACCOUNT,{token:S.value}):r.push("/")}return(0,n.wF)((()=>m())),(0,n.Ah)((()=>_.commit(i.SY.MUTATIONS.EMPTY_ERROR_MESSAGES))),(e,t)=>{const r=(0,n.up)("router-link");return(0,a.SU)(d)?((0,n.wg)(),(0,n.iD)("div",l,[(0,n.Wm)(o.Z),(0,n._)("p",E,[(0,n._)("span",null,(0,s.zw)(e.$t("error.SOMETHING_WRONG"))+".",1),(0,n.Wm)(r,{class:"links",to:"/account-confirmation/resend"},{default:(0,n.w5)((()=>[(0,n.Uk)((0,s.zw)(e.$t("buttons.ACCOUNT-CONFIRMATION-RESEND"))+"? ",1)])),_:1})])])):(0,n.kq)("",!0)}}}),d=r(3744);const S=(0,d.Z)(_,[["__scopeId","data-v-785df978"]]);var m=S},8160:function(e,t,r){r.r(t),r.d(t,{default:function(){return m}});r(7658);var n=r(6252),a=r(2262),s=r(3577),u=r(2201),o=r(7167),i=r(5801),c=r(9917);const l={key:0,id:"email-update",class:"center-card with-margin"},E={class:"error-message"};var _=(0,n.aZ)({__name:"EmailUpdateView",setup(e){const t=(0,u.yj)(),r=(0,u.tv)(),_=(0,c.o)(),d=(0,n.Fl)((()=>_.getters[i.YN.GETTERS.AUTH_USER_PROFILE])),S=(0,n.Fl)((()=>_.getters[i.YN.GETTERS.IS_AUTHENTICATED])),m=(0,n.Fl)((()=>_.getters[i.SY.GETTERS.ERROR_MESSAGES])),p=(0,n.Fl)((()=>t.query.token));function R(){p.value?_.dispatch(i.YN.ACTIONS.CONFIRM_EMAIL,{token:p.value,refreshUser:S.value}):r.push("/")}return(0,n.wF)((()=>R())),(0,n.Ah)((()=>_.commit(i.SY.MUTATIONS.EMPTY_ERROR_MESSAGES))),(0,n.YP)((()=>m.value),(e=>{d.value.username&&e&&r.push("/")})),(e,t)=>{const r=(0,n.up)("router-link"),u=(0,n.up)("i18n-t");return(0,a.SU)(m)&&!(0,a.SU)(d).username?((0,n.wg)(),(0,n.iD)("div",l,[(0,n.Wm)(o.Z),(0,n._)("p",E,[(0,n._)("span",null,(0,s.zw)(e.$t("error.SOMETHING_WRONG"))+".",1),(0,n._)("span",null,[(0,n.Wm)(u,{keypath:"user.PROFILE.ERRORED_EMAIL_UPDATE"},{default:(0,n.w5)((()=>[(0,n.Wm)(r,{to:"/login"},{default:(0,n.w5)((()=>[(0,n.Uk)((0,s.zw)(e.$t("user.LOG_IN")),1)])),_:1})])),_:1})])])])):(0,n.kq)("",!0)}}}),d=r(3744);const S=(0,d.Z)(_,[["__scopeId","data-v-8c2ec9ce"]]);var m=S},4669:function(e,t,r){r.r(t),r.d(t,{default:function(){return d}});var n=r(6252),a=r(2262),s=r(5801),u=r(9917);const o=e=>((0,n.dD)("data-v-641164f3"),e=e(),(0,n.Cn)(),e),i={key:0,id:"profile",class:"view"},c=o((()=>(0,n._)("div",{id:"bottom"},null,-1)));var l=(0,n.aZ)({__name:"ProfileView",setup(e){const t=(0,u.o)(),r=(0,n.Fl)((()=>t.getters[s.YN.GETTERS.AUTH_USER_PROFILE]));return(e,t)=>{const s=(0,n.up)("router-view");return(0,a.SU)(r).username?((0,n.wg)(),(0,n.iD)("div",i,[(0,n.Wm)(s,{user:(0,a.SU)(r)},null,8,["user"]),c])):(0,n.kq)("",!0)}}}),E=r(3744);const _=(0,E.Z)(l,[["__scopeId","data-v-641164f3"]]);var d=_},9453:function(e,t,r){r.r(t),r.d(t,{default:function(){return m}});var n=r(6252),a=r(2262),s=r(2201),u=r(2179),o=r(9977),i=r(5801),c=r(9917);const l={key:0,id:"user",class:"view"},E={class:"box"};var _=(0,n.aZ)({__name:"UserView",props:{fromAdmin:{type:Boolean}},setup(e){const t=e,{fromAdmin:r}=(0,a.BK)(t),_=(0,s.yj)(),d=(0,c.o)(),S=(0,n.Fl)((()=>d.getters[i.RT.GETTERS.USER]));return(0,n.wF)((()=>{_.params.username&&"string"===typeof _.params.username&&d.dispatch(i.RT.ACTIONS.GET_USER,_.params.username)})),(0,n.Jd)((()=>{d.dispatch(i.RT.ACTIONS.EMPTY_USER)})),(e,t)=>(0,a.SU)(S).username?((0,n.wg)(),(0,n.iD)("div",l,[(0,n.Wm)(u.Z,{user:(0,a.SU)(S)},null,8,["user"]),(0,n._)("div",E,[(0,n.Wm)(o.Z,{user:(0,a.SU)(S),"from-admin":(0,a.SU)(r)},null,8,["user","from-admin"])])])):(0,n.kq)("",!0)}}),d=r(3744);const S=(0,d.Z)(_,[["__scopeId","data-v-af7007f4"]]);var m=S}}]);
|
||||||
//# sourceMappingURL=profile.9d01b6f0.js.map
|
//# sourceMappingURL=profile.df2cbb8b.js.map
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
2
fittrackee/dist/static/js/workouts.6d3e7c51.js
vendored
Normal file
2
fittrackee/dist/static/js/workouts.6d3e7c51.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
fittrackee/dist/static/js/workouts.6d3e7c51.js.map
vendored
Normal file
1
fittrackee/dist/static/js/workouts.6d3e7c51.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div id="modal" role="dialog">
|
<div id="modal" role="dialog" @click.self="emit('cancelAction')">
|
||||||
<div class="custom-modal">
|
<div class="custom-modal">
|
||||||
<Card>
|
<Card>
|
||||||
<template #title>
|
<template #title>
|
||||||
@ -16,14 +16,15 @@
|
|||||||
<div class="modal-buttons">
|
<div class="modal-buttons">
|
||||||
<button
|
<button
|
||||||
class="confirm"
|
class="confirm"
|
||||||
|
id="confirm-button"
|
||||||
v-if="!errorMessages"
|
v-if="!errorMessages"
|
||||||
@click="emit('confirmAction')"
|
@click="emit('confirmAction')"
|
||||||
>
|
>
|
||||||
{{ $t('buttons.YES') }}
|
{{ $t('buttons.YES') }}
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
:tabindex="0"
|
tabindex="0"
|
||||||
:id="`${name}-cancel-button`"
|
id="cancel-button"
|
||||||
class="cancel"
|
class="cancel"
|
||||||
@click="emit('cancelAction')"
|
@click="emit('cancelAction')"
|
||||||
>
|
>
|
||||||
@ -37,7 +38,14 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ComputedRef, computed, toRefs, withDefaults, onUnmounted } from 'vue'
|
import {
|
||||||
|
ComputedRef,
|
||||||
|
computed,
|
||||||
|
onUnmounted,
|
||||||
|
onMounted,
|
||||||
|
toRefs,
|
||||||
|
withDefaults,
|
||||||
|
} from 'vue'
|
||||||
|
|
||||||
import { ROOT_STORE } from '@/store/constants'
|
import { ROOT_STORE } from '@/store/constants'
|
||||||
import { useStore } from '@/use/useStore'
|
import { useStore } from '@/use/useStore'
|
||||||
@ -46,11 +54,9 @@
|
|||||||
title: string
|
title: string
|
||||||
message: string
|
message: string
|
||||||
strongMessage?: string | null
|
strongMessage?: string | null
|
||||||
name?: string | null
|
|
||||||
}
|
}
|
||||||
const props = withDefaults(defineProps<Props>(), {
|
const props = withDefaults(defineProps<Props>(), {
|
||||||
strongMessage: () => null,
|
strongMessage: () => null,
|
||||||
name: 'modal',
|
|
||||||
})
|
})
|
||||||
|
|
||||||
const emit = defineEmits(['cancelAction', 'confirmAction'])
|
const emit = defineEmits(['cancelAction', 'confirmAction'])
|
||||||
@ -61,7 +67,35 @@
|
|||||||
const errorMessages: ComputedRef<string | string[] | null> = computed(
|
const errorMessages: ComputedRef<string | string[] | null> = computed(
|
||||||
() => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]
|
() => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]
|
||||||
)
|
)
|
||||||
onUnmounted(() => store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES))
|
let confirmButton: HTMLElement | null = null
|
||||||
|
let cancelButton: HTMLElement | null = null
|
||||||
|
let previousFocusedElement: Element | null = null
|
||||||
|
|
||||||
|
function focusTrap(e: KeyboardEvent) {
|
||||||
|
if (e.key === 'Tab' || e.keyCode === 9) {
|
||||||
|
e.preventDefault()
|
||||||
|
if (document.activeElement?.id === 'cancel-button') {
|
||||||
|
confirmButton?.focus()
|
||||||
|
} else {
|
||||||
|
cancelButton?.focus()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
onMounted(() => {
|
||||||
|
previousFocusedElement = document.activeElement
|
||||||
|
cancelButton = document.getElementById('cancel-button')
|
||||||
|
confirmButton = document.getElementById('confirm-button')
|
||||||
|
if (cancelButton) {
|
||||||
|
cancelButton.focus()
|
||||||
|
}
|
||||||
|
document.addEventListener('keydown', focusTrap)
|
||||||
|
})
|
||||||
|
onUnmounted(() => {
|
||||||
|
store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)
|
||||||
|
document.removeEventListener('keydown', focusTrap)
|
||||||
|
previousFocusedElement?.focus()
|
||||||
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<header id="nav">
|
<header id="nav">
|
||||||
<Modal
|
<Modal
|
||||||
v-show="displayModal"
|
v-if="displayModal"
|
||||||
:title="$t('common.CONFIRMATION')"
|
:title="$t('common.CONFIRMATION')"
|
||||||
:message="$t('user.LOGOUT_CONFIRMATION')"
|
:message="$t('user.LOGOUT_CONFIRMATION')"
|
||||||
@confirmAction="logout"
|
@confirmAction="logout"
|
||||||
@ -138,12 +138,6 @@
|
|||||||
}
|
}
|
||||||
function updateDisplayModal(display: boolean) {
|
function updateDisplayModal(display: boolean) {
|
||||||
displayModal.value = display
|
displayModal.value = display
|
||||||
if (display) {
|
|
||||||
const button = document.getElementById('modal-cancel-button')
|
|
||||||
if (button) {
|
|
||||||
button.focus()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
@ -2,7 +2,6 @@
|
|||||||
<div id="user-infos" class="description-list">
|
<div id="user-infos" class="description-list">
|
||||||
<Modal
|
<Modal
|
||||||
v-if="displayModal"
|
v-if="displayModal"
|
||||||
name="user"
|
|
||||||
:title="$t('common.CONFIRMATION')"
|
:title="$t('common.CONFIRMATION')"
|
||||||
:message="
|
:message="
|
||||||
displayModal === 'delete'
|
displayModal === 'delete'
|
||||||
@ -192,10 +191,6 @@
|
|||||||
function updateDisplayModal(value: string) {
|
function updateDisplayModal(value: string) {
|
||||||
displayModal.value = value
|
displayModal.value = value
|
||||||
if (value !== '') {
|
if (value !== '') {
|
||||||
const button = document.getElementById('user-cancel-button')
|
|
||||||
if (button) {
|
|
||||||
button.focus()
|
|
||||||
}
|
|
||||||
store.commit(USERS_STORE.MUTATIONS.UPDATE_IS_SUCCESS, false)
|
store.commit(USERS_STORE.MUTATIONS.UPDATE_IS_SUCCESS, false)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,6 @@
|
|||||||
<div id="user-infos-edition">
|
<div id="user-infos-edition">
|
||||||
<Modal
|
<Modal
|
||||||
v-if="displayModal"
|
v-if="displayModal"
|
||||||
name="account"
|
|
||||||
:title="$t('common.CONFIRMATION')"
|
:title="$t('common.CONFIRMATION')"
|
||||||
:message="$t('user.CONFIRM_ACCOUNT_DELETION')"
|
:message="$t('user.CONFIRM_ACCOUNT_DELETION')"
|
||||||
@confirmAction="deleteAccount(user.username)"
|
@confirmAction="deleteAccount(user.username)"
|
||||||
@ -215,12 +214,6 @@
|
|||||||
}
|
}
|
||||||
function updateDisplayModal(value: boolean) {
|
function updateDisplayModal(value: boolean) {
|
||||||
displayModal.value = value
|
displayModal.value = value
|
||||||
if (displayModal.value) {
|
|
||||||
const button = document.getElementById('account-cancel-button')
|
|
||||||
if (button) {
|
|
||||||
button.focus()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
function deleteAccount(username: string) {
|
function deleteAccount(username: string) {
|
||||||
store.dispatch(AUTH_USER_STORE.ACTIONS.DELETE_ACCOUNT, { username })
|
store.dispatch(AUTH_USER_STORE.ACTIONS.DELETE_ACCOUNT, { username })
|
||||||
|
@ -2,7 +2,6 @@
|
|||||||
<div id="oauth2-app" class="description-list">
|
<div id="oauth2-app" class="description-list">
|
||||||
<Modal
|
<Modal
|
||||||
v-if="displayModal"
|
v-if="displayModal"
|
||||||
name="app"
|
|
||||||
:title="$t('common.CONFIRMATION')"
|
:title="$t('common.CONFIRMATION')"
|
||||||
:message="$t(messageToDisplay)"
|
:message="$t(messageToDisplay)"
|
||||||
@confirmAction="confirmAction(client.id)"
|
@confirmAction="confirmAction(client.id)"
|
||||||
@ -180,11 +179,6 @@
|
|||||||
displayModal.value = value
|
displayModal.value = value
|
||||||
if (!value) {
|
if (!value) {
|
||||||
messageToDisplay.value = null
|
messageToDisplay.value = null
|
||||||
} else {
|
|
||||||
const button = document.getElementById('app-cancel-button')
|
|
||||||
if (button) {
|
|
||||||
button.focus()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function confirmAction(clientId: number) {
|
function confirmAction(clientId: number) {
|
||||||
|
@ -45,13 +45,13 @@
|
|||||||
<button
|
<button
|
||||||
id="delete-workout-button"
|
id="delete-workout-button"
|
||||||
class="transparent icon-button"
|
class="transparent icon-button"
|
||||||
@click="displayDeleteModal"
|
@click.prevent="displayDeleteModal"
|
||||||
:aria-label="$t(`workouts.DELETE_WORKOUT`)"
|
:aria-label="$t(`workouts.DELETE_WORKOUT`)"
|
||||||
>
|
>
|
||||||
<i class="fa fa-trash" aria-hidden="true" />
|
<i class="fa fa-trash" aria-hidden="true" />
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="workout-title" v-else>
|
<div class="workout-title" v-else-if="workoutObject.segmentId">
|
||||||
{{ workoutObject.title }}
|
{{ workoutObject.title }}
|
||||||
<span class="workout-segment">
|
<span class="workout-segment">
|
||||||
—
|
—
|
||||||
@ -69,7 +69,7 @@
|
|||||||
v-if="workoutObject.type === 'SEGMENT'"
|
v-if="workoutObject.type === 'SEGMENT'"
|
||||||
:to="{
|
:to="{
|
||||||
name: 'Workout',
|
name: 'Workout',
|
||||||
params: { workoutId: workoutObject.workoutId }
|
params: { workoutId: workoutObject.workoutId },
|
||||||
}"
|
}"
|
||||||
>
|
>
|
||||||
> {{ $t('workouts.BACK_TO_WORKOUT') }}
|
> {{ $t('workouts.BACK_TO_WORKOUT') }}
|
||||||
@ -129,8 +129,7 @@
|
|||||||
gpxLink.click()
|
gpxLink.click()
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
function displayDeleteModal(event: Event & { target: HTMLInputElement }) {
|
function displayDeleteModal() {
|
||||||
event.target.blur()
|
|
||||||
emit('displayModal', true)
|
emit('displayModal', true)
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
@ -2,7 +2,6 @@
|
|||||||
<div class="workout-detail">
|
<div class="workout-detail">
|
||||||
<Modal
|
<Modal
|
||||||
v-if="displayModal"
|
v-if="displayModal"
|
||||||
name="workout"
|
|
||||||
:title="$t('common.CONFIRMATION')"
|
:title="$t('common.CONFIRMATION')"
|
||||||
:message="$t('workouts.WORKOUT_DELETION_CONFIRMATION')"
|
:message="$t('workouts.WORKOUT_DELETION_CONFIRMATION')"
|
||||||
@confirmAction="deleteWorkout(workoutObject.workoutId)"
|
@confirmAction="deleteWorkout(workoutObject.workoutId)"
|
||||||
@ -37,7 +36,6 @@
|
|||||||
ComputedRef,
|
ComputedRef,
|
||||||
Ref,
|
Ref,
|
||||||
computed,
|
computed,
|
||||||
nextTick,
|
|
||||||
ref,
|
ref,
|
||||||
toRefs,
|
toRefs,
|
||||||
watch,
|
watch,
|
||||||
@ -164,21 +162,9 @@
|
|||||||
}
|
}
|
||||||
function updateDisplayModal(value: boolean) {
|
function updateDisplayModal(value: boolean) {
|
||||||
displayModal.value = value
|
displayModal.value = value
|
||||||
if (displayModal.value) {
|
|
||||||
nextTick(() => {
|
|
||||||
const button = document.getElementById('workout-cancel-button')
|
|
||||||
if (button) {
|
|
||||||
button.focus()
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
function cancelDelete() {
|
function cancelDelete() {
|
||||||
updateDisplayModal(false)
|
updateDisplayModal(false)
|
||||||
const button = document.getElementById('delete-workout-button')
|
|
||||||
if (button) {
|
|
||||||
button.focus()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
function deleteWorkout(workoutId: string) {
|
function deleteWorkout(workoutId: string) {
|
||||||
updateDisplayModal(false)
|
updateDisplayModal(false)
|
||||||
|
Loading…
Reference in New Issue
Block a user