Skip to content

Commit 3eeae29

Browse files
authored
[6.x] Contextual sort icon (#13321)
1 parent 458efc7 commit 3eeae29

File tree

4 files changed

+9
-2
lines changed

4 files changed

+9
-2
lines changed

resources/js/components/ui/Listing/HeaderCell.vue

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,12 @@ const props = defineProps({
1010
},
1111
});
1212
13-
const { sortColumn, setSortColumn } = injectListingContext();
13+
const { sortColumn, sortDirection, setSortColumn } = injectListingContext();
1414
const isCurrentSortColumn = computed(() => props.column.field === sortColumn.value);
15+
const sortIcon = computed(() => {
16+
if (!isCurrentSortColumn.value) return null;
17+
return sortDirection.value === 'asc' ? 'sort-asc' : 'sort-desc';
18+
});
1519
</script>
1620

1721
<template>
@@ -20,7 +24,7 @@ const isCurrentSortColumn = computed(() => props.column.field === sortColumn.val
2024
<Button
2125
v-else
2226
:text="__(column.label)"
23-
:icon-append="isCurrentSortColumn ? 'up-down' : null"
27+
:icon-append="sortIcon"
2428
size="sm"
2529
variant="ghost"
2630
class="-mt-2 -mb-1 -ms-3 text-sm! font-medium! text-gray-900! dark:text-gray-400!"

resources/js/components/ui/Listing/Listing.vue

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -596,6 +596,7 @@ provideListingContext({
596596
isColumnVisible,
597597
hiddenColumns,
598598
sortColumn,
599+
sortDirection,
599600
setSortColumn,
600601
selections,
601602
maxSelections: toRef(() => props.maxSelections),

resources/svg/icons/sort-asc.svg

Lines changed: 1 addition & 0 deletions
Loading

resources/svg/icons/sort-desc.svg

Lines changed: 1 addition & 0 deletions
Loading

0 commit comments

Comments
 (0)