2019-09-23 08:46:31 +00:00
|
|
|
|
<template>
|
|
|
|
|
<b-card no-body :id="accordionId">
|
|
|
|
|
|
|
|
|
|
<b-card-header header-tag="header" role="tab">
|
|
|
|
|
<a :href="href" v-b-toggle="accordionBodyId">
|
2019-10-24 12:35:46 +00:00
|
|
|
|
<slot name="title"></slot>
|
2019-09-23 08:46:31 +00:00
|
|
|
|
</a>
|
|
|
|
|
</b-card-header>
|
|
|
|
|
|
|
|
|
|
<b-collapse :accordion="accordion" :id="accordionBodyId" role="tabpanel">
|
|
|
|
|
<b-card-body>
|
|
|
|
|
|
|
|
|
|
<b-card-text>
|
|
|
|
|
<slot></slot>
|
|
|
|
|
</b-card-text>
|
|
|
|
|
|
|
|
|
|
</b-card-body>
|
|
|
|
|
</b-collapse>
|
|
|
|
|
</b-card>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
import { BCollapse, BCard, BCardHeader, BCardBody, BCardText, VBToggle } from 'bootstrap-vue'
|
|
|
|
|
|
|
|
|
|
export default {
|
|
|
|
|
components: {
|
|
|
|
|
BCollapse,
|
|
|
|
|
BCard,
|
|
|
|
|
BCardHeader,
|
|
|
|
|
BCardBody,
|
|
|
|
|
BCardText
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
directives: {
|
|
|
|
|
'b-toggle': VBToggle
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
props: {
|
|
|
|
|
title: String,
|
|
|
|
|
id: String,
|
|
|
|
|
accordion: String
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
computed: {
|
|
|
|
|
accordionId: function () {
|
|
|
|
|
return this.id.toLowerCase()
|
2019-10-24 12:58:26 +00:00
|
|
|
|
.replace(/[ /'’]/g, '-')
|
2019-09-23 08:46:31 +00:00
|
|
|
|
.replace(/[?!.,]/g, '')
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
href: function () {
|
|
|
|
|
return '#' + this.accordionId
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
accordionBodyId: function () {
|
|
|
|
|
return this.accordionId + '-body'
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</script>
|