Skip to content

Commit c41836c

Browse files
authored
[6.x] Date filter badges use local time (#13573)
1 parent b4b61fc commit c41836c

File tree

2 files changed

+24
-7
lines changed

2 files changed

+24
-7
lines changed

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

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -164,11 +164,25 @@ function handleStackClosed() {
164164
:key="handle"
165165
variant="filled"
166166
:icon-append="reorderable ? null : 'x'"
167-
:text="badge"
168167
:disabled="reorderable"
169168
class="last:me-12"
170169
@click="removeFieldFilter(handle)"
171-
/>
170+
>
171+
<template v-if="handle == 'date'">
172+
{{ badge.field }}
173+
{{ badge.translatedOperator }}
174+
<template v-if="badge.operator === 'between'">
175+
<date-time :of="badge.value.start" options="date" />
176+
{{ __('and') }}
177+
<date-time :of="badge.value.end" options="date" />
178+
</template>
179+
<date-time v-else :of="badge.value" options="date" />
180+
</template>
181+
182+
<template v-else>
183+
{{ badge }}
184+
</template>
185+
</Button>
172186
<Button
173187
v-for="(badge, handle, index) in standardBadges"
174188
:key="handle"

src/Query/Scopes/Filters/Fields/Date.php

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -65,13 +65,16 @@ public function badge($values)
6565
{
6666
$field = $this->fieldtype->field()->display();
6767
$operator = $values['operator'];
68-
$translatedOperator = Arr::get($this->fieldItems(), "operator.options.{$operator}");
68+
$translatedOperator = strtolower(Arr::get($this->fieldItems(), "operator.options.{$operator}"));
6969

70-
if ($operator == 'between') {
71-
return $field.' '.strtolower($translatedOperator).' '.$values['range_value']['start'].' '.__('and').' '.$values['range_value']['end'];
72-
}
70+
$value = ($operator == 'between')
71+
? [
72+
'start' => Carbon::parse($values['range_value']['start'])->toIso8601ZuluString('millisecond'),
73+
'end' => Carbon::parse($values['range_value']['end'])->toIso8601ZuluString('millisecond'),
74+
]
75+
: Carbon::parse(Arr::get($values, 'value'))->toIso8601ZuluString('millisecond');
7376

74-
return $field.' '.strtolower($translatedOperator).' '.$values['value'];
77+
return compact('field', 'operator', 'translatedOperator', 'value');
7578
}
7679

7780
public function isComplete($values): bool

0 commit comments

Comments
 (0)