gitlab-org--gitlab-foss/app/assets/javascripts/vue_shared/components/tabs/tab.vue

48 lines
712 B
Vue
Raw Normal View History

2018-05-23 10:44:47 +00:00
<script>
export default {
props: {
title: {
type: String,
required: false,
default: '',
},
active: {
type: Boolean,
required: false,
default: false,
},
},
data() {
return {
// props can't be updated, so we map it to data where we can
localActive: this.active,
};
},
watch: {
active() {
this.localActive = this.active;
},
},
created() {
this.isTab = true;
},
updated() {
2018-06-05 08:50:48 +00:00
if (this.$parent) {
this.$parent.$forceUpdate();
}
},
2018-05-23 10:44:47 +00:00
};
</script>
<template>
<div
:class="{
2018-11-16 20:07:38 +00:00
active: localActive,
2018-05-23 10:44:47 +00:00
}"
2018-06-11 09:49:47 +00:00
class="tab-pane"
2018-05-23 10:44:47 +00:00
role="tabpanel"
>
<slot></slot>
</div>
</template>