interactive lists & non-interactive lists
This commit is contained in:
parent
23a8bee053
commit
01f6f89c7d
|
@ -411,6 +411,10 @@ nav {
|
||||||
--__horizontal-gap: 0.75em;
|
--__horizontal-gap: 0.75em;
|
||||||
--__vertical-gap: 0.5em;
|
--__vertical-gap: 0.5em;
|
||||||
|
|
||||||
|
&.-non-interactive {
|
||||||
|
cursor: auto;
|
||||||
|
}
|
||||||
|
|
||||||
&.-active,
|
&.-active,
|
||||||
&:hover {
|
&:hover {
|
||||||
border-top-width: 1px;
|
border-top-width: 1px;
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
v-for="item in items"
|
v-for="item in items"
|
||||||
:key="getKey(item)"
|
:key="getKey(item)"
|
||||||
class="list-item"
|
class="list-item"
|
||||||
:class="getClass(item)"
|
:class="[getClass(item), nonInteractive ? '-non-interactive' : '']"
|
||||||
role="listitem"
|
role="listitem"
|
||||||
>
|
>
|
||||||
<slot
|
<slot
|
||||||
|
@ -38,6 +38,10 @@ export default {
|
||||||
getClass: {
|
getClass: {
|
||||||
type: Function,
|
type: Function,
|
||||||
default: item => ''
|
default: item => ''
|
||||||
|
},
|
||||||
|
nonInteractive: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,7 @@ export default {
|
||||||
selector: '.list-item',
|
selector: '.list-item',
|
||||||
states: {
|
states: {
|
||||||
active: '.-active',
|
active: '.-active',
|
||||||
hover: ':hover'
|
hover: ':hover:not(.-non-interactive)'
|
||||||
},
|
},
|
||||||
validInnerComponents: [
|
validInnerComponents: [
|
||||||
'Text',
|
'Text',
|
||||||
|
|
|
@ -29,11 +29,13 @@
|
||||||
<div
|
<div
|
||||||
class="selectable-list-item-inner"
|
class="selectable-list-item-inner"
|
||||||
:class="{ 'selectable-list-item-selected-inner': isSelected(item) }"
|
:class="{ 'selectable-list-item-selected-inner': isSelected(item) }"
|
||||||
|
@click.stop="toggle(!isSelected(item), item)"
|
||||||
>
|
>
|
||||||
<div class="selectable-list-checkbox-wrapper">
|
<div class="selectable-list-checkbox-wrapper">
|
||||||
<Checkbox
|
<Checkbox
|
||||||
:model-value="isSelected(item)"
|
:model-value="isSelected(item)"
|
||||||
@update:model-value="checked => toggle(checked, item)"
|
@update:model-value="checked => toggle(checked, item)"
|
||||||
|
@click.stop
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<slot
|
<slot
|
||||||
|
|
|
@ -75,7 +75,7 @@
|
||||||
:label="$t('user_card.followees')"
|
:label="$t('user_card.followees')"
|
||||||
:disabled="!user.friends_count"
|
:disabled="!user.friends_count"
|
||||||
>
|
>
|
||||||
<FriendList :user-id="userId">
|
<FriendList :user-id="userId" :non-interactive="true">
|
||||||
<template #item="{item}">
|
<template #item="{item}">
|
||||||
<FollowCard :user="item" />
|
<FollowCard :user="item" />
|
||||||
</template>
|
</template>
|
||||||
|
@ -87,7 +87,7 @@
|
||||||
:label="$t('user_card.followers')"
|
:label="$t('user_card.followers')"
|
||||||
:disabled="!user.followers_count"
|
:disabled="!user.followers_count"
|
||||||
>
|
>
|
||||||
<FollowerList :user-id="userId">
|
<FollowerList :user-id="userId" :non-interactive="true">
|
||||||
<template #item="{item}">
|
<template #item="{item}">
|
||||||
<FollowCard
|
<FollowCard
|
||||||
:user="item"
|
:user="item"
|
||||||
|
|
Loading…
Reference in New Issue