Set modal as component

This commit is contained in:
Bubka 2019-12-21 23:25:19 +01:00
parent c83ca7a885
commit f968668d82
4 changed files with 41 additions and 37 deletions

View File

@ -2,8 +2,16 @@
<div class="modal modal-otp" v-bind:class="{ 'is-active': isActive }"> <div class="modal modal-otp" v-bind:class="{ 'is-active': isActive }">
<div class="modal-background" @click.stop="closeModal"></div> <div class="modal-background" @click.stop="closeModal"></div>
<div class="modal-content"> <div class="modal-content">
<section class="section">
<div class="columns is-centered">
<div class="column is-three-quarters">
<div class="box has-text-centered has-background-black-ter ">
<slot></slot> <slot></slot>
</div> </div>
</div>
</div>
</section>
</div>
<button class="modal-close is-large" aria-label="close" @click.stop="closeModal"></button> <button class="modal-close is-large" aria-label="close" @click.stop="closeModal"></button>
</div> </div>
</template> </template>

View File

@ -1,26 +0,0 @@
<template>
<section class="section">
<div class="columns is-centered">
<div class="column is-three-quarters">
<div class="box has-text-centered has-background-black-ter ">
<figure class="image is-64x64" style="display: inline-block">
<img :src="icon">
</figure>
<p class="is-size-4 has-text-grey-light">{{ name }}</p>
<p class="is-size-6 has-text-grey">{{ email }}</p>
<slot></slot>
</div>
</div>
</div>
</section>
</template>
<script>
export default {
data() {
return {
}
},
props: ['name', 'email', 'icon'],
}
</script>

View File

@ -0,0 +1,22 @@
<template>
<div>
<router-link :to="{ name: 'edit', params: { twofaccountId: twofaccountid }}">Edit</router-link>
<router-link :to="{ name: 'delete', params: { twofaccountId: twofaccountid }}">Delete</router-link>
<figure class="image is-64x64" style="display: inline-block">
<img :src="icon">
</figure>
<p class="is-size-4 has-text-grey-light">{{ name }}</p>
<p class="is-size-6 has-text-grey">{{ email }}</p>
<slot></slot>
</div>
</template>
<script>
export default {
data() {
return {
}
},
props: ['twofaccountid', 'name', 'email', 'icon'],
}
</script>

View File

@ -9,30 +9,29 @@
</span> </span>
</div> </div>
</div> </div>
<modal v-model="ModalIsActive"> <modal v-model="ShowTwofaccountInModal">
<modal-twofaccount <twofaccount-show
:twofaccountid='twofaccount.id'
:name='twofaccount.name' :name='twofaccount.name'
:icon='twofaccount.icon' :icon='twofaccount.icon'
:email='twofaccount.email'> :email='twofaccount.email'>
<one-time-password ref="OneTimePassword"></one-time-password> <one-time-password ref="OneTimePassword"></one-time-password>
</modal-twofaccount> </twofaccount-show>
</modal> </modal>
</div> </div>
</template> </template>
<script> <script>
import Modal from '../components/Modal' import Modal from '../components/Modal'
import ModalTwofaccount from '../components/ModalTwofaccount' import TwofaccountShow from '../components/TwofaccountShow'
import OneTimePassword from '../components/OneTimePassword' import OneTimePassword from '../components/OneTimePassword'
export default { export default {
data(){ data(){
return { return {
accounts : [], accounts : [],
ModalIsActive : false, ShowTwofaccountInModal : false,
twofaccount: {} twofaccount: {}
} }
}, },
@ -57,10 +56,11 @@
console.log('modalClose triggered') console.log('modalClose triggered')
this.$refs.OneTimePassword.clearOTP() this.$refs.OneTimePassword.clearOTP()
}); });
}, },
components: { components: {
Modal, Modal,
ModalTwofaccount, TwofaccountShow,
OneTimePassword OneTimePassword
}, },
methods: { methods: {
@ -80,7 +80,7 @@
this.$refs.OneTimePassword.AccountId = response.data.id this.$refs.OneTimePassword.AccountId = response.data.id
this.$refs.OneTimePassword.getOTP() this.$refs.OneTimePassword.getOTP()
this.ModalIsActive = true; this.ShowTwofaccountInModal = true;
}) })
} }