fix(navigation): highlight saved filters in project view and prevent them from being dragged around
This commit is contained in:
parent
7b92028e67
commit
b50adaf4b5
@ -10,17 +10,19 @@
|
|||||||
tag="menu"
|
tag="menu"
|
||||||
item-key="id"
|
item-key="id"
|
||||||
:disabled="!canEditOrder"
|
:disabled="!canEditOrder"
|
||||||
|
filter=".drag-disabled"
|
||||||
:component-data="{
|
:component-data="{
|
||||||
type: 'transition-group',
|
type: 'transition-group',
|
||||||
name: !drag ? 'flip-list' : null,
|
name: !drag ? 'flip-list' : null,
|
||||||
class: [
|
class: [
|
||||||
'menu-list can-be-hidden',
|
'menu-list can-be-hidden',
|
||||||
{ 'dragging-disabled': !canEditOrder }
|
{ 'dragging-disabled': !canEditOrder }
|
||||||
]
|
],
|
||||||
}"
|
}"
|
||||||
>
|
>
|
||||||
<template #item="{element: project}">
|
<template #item="{element: project}">
|
||||||
<ProjectsNavigationItem
|
<ProjectsNavigationItem
|
||||||
|
:class="{'drag-disabled': project.id < 0}"
|
||||||
:project="project"
|
:project="project"
|
||||||
:is-loading="projectUpdating[project.id]"
|
:is-loading="projectUpdating[project.id]"
|
||||||
:can-collapse="canCollapse"
|
:can-collapse="canCollapse"
|
||||||
|
@ -20,12 +20,16 @@
|
|||||||
v-if="!canCollapse || childProjects?.length === 0"
|
v-if="!canCollapse || childProjects?.length === 0"
|
||||||
class="collapse-project-button-placeholder"
|
class="collapse-project-button-placeholder"
|
||||||
></span>
|
></span>
|
||||||
<div class="color-bubble-handle-wrapper">
|
<div class="color-bubble-handle-wrapper" :class="{'is-draggable': project.id > 0}">
|
||||||
<ColorBubble
|
<ColorBubble
|
||||||
v-if="project.hexColor !== ''"
|
v-if="project.hexColor !== ''"
|
||||||
:color="project.hexColor"
|
:color="project.hexColor"
|
||||||
/>
|
/>
|
||||||
|
<span v-else-if="project.id < -1" class="saved-filter-icon icon menu-item-icon">
|
||||||
|
<icon icon="filter"/>
|
||||||
|
</span>
|
||||||
<span
|
<span
|
||||||
|
v-if="project.id > 0"
|
||||||
class="icon menu-item-icon handle lines-handle"
|
class="icon menu-item-icon handle lines-handle"
|
||||||
:class="{'has-color-bubble': project.hexColor !== ''}"
|
:class="{'has-color-bubble': project.hexColor !== ''}"
|
||||||
>
|
>
|
||||||
@ -133,8 +137,11 @@ const canNestDeeper = computed(() => canNestProjectDeeper(props.level))
|
|||||||
opacity: 1;
|
opacity: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
.list-menu:hover > div > a > .color-bubble-handle-wrapper > .color-bubble {
|
.list-menu:hover > div > a > .color-bubble-handle-wrapper.is-draggable > {
|
||||||
opacity: 0;
|
.saved-filter-icon,
|
||||||
|
.color-bubble {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.color-bubble-handle-wrapper {
|
.color-bubble-handle-wrapper {
|
||||||
@ -160,4 +167,9 @@ const canNestDeeper = computed(() => canNestProjectDeeper(props.level))
|
|||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.saved-filter-icon {
|
||||||
|
color: var(--grey-300) !important;
|
||||||
|
font-size: .75rem;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -54,7 +54,11 @@
|
|||||||
/>
|
/>
|
||||||
<template v-else>
|
<template v-else>
|
||||||
<nav class="menu" v-if="favoriteProjects">
|
<nav class="menu" v-if="favoriteProjects">
|
||||||
<ProjectsNavigation :model-value="favoriteProjects" :can-edit-order="false" :can-collapse="false"/>
|
<ProjectsNavigation
|
||||||
|
:model-value="favoriteProjects"
|
||||||
|
:can-edit-order="false"
|
||||||
|
:can-collapse="false"
|
||||||
|
/>
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
<nav class="menu">
|
<nav class="menu">
|
||||||
|
@ -17,7 +17,12 @@
|
|||||||
/>
|
/>
|
||||||
<span v-if="project.isArchived" class="is-archived" >{{ $t('project.archived') }}</span>
|
<span v-if="project.isArchived" class="is-archived" >{{ $t('project.archived') }}</span>
|
||||||
|
|
||||||
<div class="project-title" aria-hidden="true">{{ project.title }}</div>
|
<div class="project-title" aria-hidden="true">
|
||||||
|
<span v-if="project.id < -1" class="saved-filter-icon icon">
|
||||||
|
<icon icon="filter"/>
|
||||||
|
</span>
|
||||||
|
{{ project.title }}
|
||||||
|
</div>
|
||||||
<BaseButton
|
<BaseButton
|
||||||
class="project-button"
|
class="project-button"
|
||||||
:aria-label="project.title"
|
:aria-label="project.title"
|
||||||
@ -179,4 +184,9 @@ const projectStore = useProjectStore()
|
|||||||
opacity: 1;
|
opacity: 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.saved-filter-icon {
|
||||||
|
color: var(--grey-300);
|
||||||
|
font-size: .75em;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user