primevue-mirror/components/lib/splitterpanel/SplitterPanel.vue

37 lines
808 B
Vue
Raw Normal View History

2022-09-06 12:03:37 +00:00
<template>
2024-02-11 23:48:31 +00:00
<div ref="container" :class="cx('root')" v-bind="ptmi('root', getPTOptions)">
2022-09-06 12:03:37 +00:00
<slot></slot>
</div>
</template>
<script>
2023-05-24 08:54:19 +00:00
import BaseSplitterPanel from './BaseSplitterPanel.vue';
2023-03-27 07:13:31 +00:00
2022-09-06 12:03:37 +00:00
export default {
name: 'SplitterPanel',
2023-05-24 08:54:19 +00:00
extends: BaseSplitterPanel,
2024-02-11 23:48:31 +00:00
inheritAttrs: false,
data() {
return {
nestedState: null
};
},
2022-09-06 12:03:37 +00:00
computed: {
isNested() {
2022-09-14 11:26:01 +00:00
return this.$slots.default().some((child) => {
this.nestedState = child.type.name === 'Splitter' ? true : null;
return this.nestedState;
2022-09-06 12:03:37 +00:00
});
2023-07-25 09:22:30 +00:00
},
getPTOptions() {
return {
context: {
nested: this.isNested
}
};
2022-09-06 12:03:37 +00:00
}
}
2022-09-14 11:26:01 +00:00
};
2022-09-06 12:03:37 +00:00
</script>