2019-04-03 22:17:42 -04:00
|
|
|
<template>
|
2023-02-21 00:39:16 -05:00
|
|
|
<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"
|
2024-02-29 17:49:56 +02:00
|
|
|
:class="getClass(item)"
|
2023-02-21 00:39:16 -05:00
|
|
|
role="listitem"
|
2019-07-05 10:17:44 +03:00
|
|
|
>
|
|
|
|
|
<slot
|
|
|
|
|
name="item"
|
|
|
|
|
:item="item"
|
|
|
|
|
/>
|
2019-04-03 23:45:45 -04:00
|
|
|
</div>
|
2019-07-05 10:17:44 +03:00
|
|
|
<div
|
|
|
|
|
v-if="items.length === 0 && !!$slots.empty"
|
|
|
|
|
class="list-empty-content faint"
|
|
|
|
|
>
|
2019-04-03 22:17:42 -04:00
|
|
|
<slot name="empty" />
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
export default {
|
|
|
|
|
props: {
|
|
|
|
|
items: {
|
|
|
|
|
type: Array,
|
|
|
|
|
default: () => []
|
2019-04-03 23:45:45 -04:00
|
|
|
},
|
|
|
|
|
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 => ''
|
2019-04-03 22:17:42 -04:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</script>
|