|
9 | 9 | Stack, |
10 | 10 | } from '@ui'; |
11 | 11 | import { injectListingContext } from '../Listing/Listing.vue'; |
| 12 | +import { dateFormatter } from '@/api'; |
12 | 13 | import { computed, ref, watch, nextTick } from 'vue'; |
13 | 14 | import FieldFilter from './FieldFilter.vue'; |
14 | 15 | import DataListFilter from './Filter.vue'; |
@@ -41,7 +42,16 @@ function removeFieldFilter(filterHandle, fieldHandle) { |
41 | 42 |
|
42 | 43 | function getFieldFilterBadgeLabel(handle, badge) { |
43 | 44 | if (handle === 'date') { |
44 | | - return [badge.field, badge.translatedOperator].filter(Boolean).join(' '); |
| 45 | + const df = dateFormatter.options('date'); |
| 46 | + const parts = [badge.field, badge.translatedOperator]; |
| 47 | +
|
| 48 | + if (badge.operator === 'between') { |
| 49 | + parts.push(df.date(badge.value.start), __('and'), df.date(badge.value.end)); |
| 50 | + } else { |
| 51 | + parts.push(df.date(badge.value)); |
| 52 | + } |
| 53 | +
|
| 54 | + return parts.filter(Boolean).join(' '); |
45 | 55 | } |
46 | 56 |
|
47 | 57 | return badge; |
@@ -191,22 +201,7 @@ function handleStackClosed() { |
191 | 201 | class="cursor-default ps-4 gap-1 text-gray-900 dark:text-gray-200 last:me-12 hover:bg-gray-950/5 dark:hover:bg-white/4" |
192 | 202 | :class="reorderable ? 'pe-4 text-gray-400 dark:text-gray-600' : 'pe-2'" |
193 | 203 | > |
194 | | - <div class="flex items-center gap-1.5 whitespace-nowrap"> |
195 | | - <template v-if="handle == 'date'"> |
196 | | - {{ badge.field }} |
197 | | - {{ badge.translatedOperator }} |
198 | | - <template v-if="badge.operator === 'between'"> |
199 | | - <date-time :of="badge.value.start" options="date" /> |
200 | | - {{ __('and') }} |
201 | | - <date-time :of="badge.value.end" options="date" /> |
202 | | - </template> |
203 | | - <date-time v-else :of="badge.value" options="date" /> |
204 | | - </template> |
205 | | - |
206 | | - <template v-else> |
207 | | - {{ badge }} |
208 | | - </template> |
209 | | - </div> |
| 204 | + <span class="whitespace-nowrap" v-text="getFieldFilterBadgeLabel(handle, badge)" /> |
210 | 205 |
|
211 | 206 | <Button |
212 | 207 | v-if="!reorderable" |
|
0 commit comments