1
0
Fork 0
mirror of https://gitlab.com/bramw/baserow.git synced 2025-04-02 20:28:00 +00:00
bramw_baserow/web-frontend/modules/builder/components/page/header/DeviceSelector.vue
2024-05-24 11:09:00 +00:00

38 lines
915 B
Vue

<template>
<ul class="header__filter">
<li
v-for="(deviceType, index) in deviceTypes"
:key="deviceType.getType()"
class="header__filter-item"
:class="{ 'header__filter-item--no-margin-left': index === 0 }"
>
<a
class="header__filter-link"
:class="{
'active active--primary': deviceTypeSelected === deviceType.getType(),
}"
@click="$emit('selected', deviceType.getType())"
>
<i :class="`header__filter-icon ${deviceType.iconClass}`"></i>
</a>
<slot name="deviceTypeControl" :device-type="deviceType"></slot>
</li>
</ul>
</template>
<script>
export default {
name: 'DeviceSelector',
props: {
deviceTypeSelected: {
type: String,
required: true,
},
},
computed: {
deviceTypes() {
return Object.values(this.$registry.getOrderedList('device'))
},
},
}
</script>