pleroma-fe/src/components/list/list.vue

48 lines
813 B
Vue
Raw Normal View History

<template>
<div
class="list"
role="list"
>
2019-07-05 10:17:44 +03:00
<div
v-for="item in items"
:key="getKey(item)"
class="list-item"
:class="[getClass(item), nonInteractive ? '-non-interactive' : '']"
role="listitem"
2019-07-05 10:17:44 +03:00
>
<slot
name="item"
:item="item"
/>
</div>
2019-07-05 10:17:44 +03:00
<div
v-if="items.length === 0 && !!$slots.empty"
class="list-empty-content faint"
>
<slot name="empty" />
</div>
</div>
</template>
<script>
export default {
props: {
items: {
type: Array,
default: () => []
},
getKey: {
type: Function,
2019-04-04 00:00:21 -04:00
default: item => item.id
2024-02-29 17:49:56 +02:00
},
getClass: {
type: Function,
default: item => ''
},
nonInteractive: {
type: Boolean,
default: false
}
}
}
</script>