Skip to content

Commit

Permalink
Merge branch '3.x' into 4.x
Browse files Browse the repository at this point in the history
  • Loading branch information
danharrin committed May 16, 2024
2 parents e184f00 + 328b541 commit 8343a99
Show file tree
Hide file tree
Showing 13 changed files with 75 additions and 38 deletions.
2 changes: 1 addition & 1 deletion packages/actions/resources/lang/nl/export.php
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@

'started' => [
'title' => 'Exporteren gestart',
'body' => 'Je export is begonnen en 1 rij wordt op de achtergrond verwerkt.|Je export is begonnen en :count rijen worden op de achtergrond verwerkt.',
'body' => 'Je export is begonnen en 1 rij wordt op de achtergrond verwerkt. Je ontvangt een melding met de downloadlink wanneer deze is voltooid.|Je export is begonnen en :count rijen worden op de achtergrond verwerkt. Je ontvangt een melding met de downloadlink wanneer deze is voltooid.',
],

],
Expand Down
2 changes: 1 addition & 1 deletion packages/actions/resources/lang/sv/export.php
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@

'started' => [
'title' => 'Exporten startades',
'body' => 'Din export har börjat och 1 rad kommer att bearbetas i bakgrunden.|Din export har börjat och :count rader kommer att bearbetas i bakgrunden.',
'body' => 'Din export har börjat och 1 rad kommer att bearbetas i bakgrunden. Du får en notis med en nedladdningslänk när den är slutförd.|Din export har börjat och :count rader kommer att bearbetas i bakgrunden. Du får en notis med en nedladdningslänk när den är slutförd.',
],

],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,7 @@
x-trap.noscroll="isEditorOpen"
x-on:keydown.escape.window="closeEditor"
@class([
'fixed inset-0 isolate z-50 h-screen w-screen p-2 sm:p-10 md:p-20',
'fixed inset-0 isolate z-50 h-[100dvh] w-screen p-2 sm:p-10 md:p-20',
'fi-fo-file-upload-circle-cropper' => $hasCircleCropper,
])
>
Expand Down
8 changes: 8 additions & 0 deletions packages/panels/resources/lang/sv/layout.php
Original file line number Diff line number Diff line change
Expand Up @@ -52,4 +52,12 @@

],

'avatar' => [
'alt' => 'Avatar för :name',
],

'logo' => [
'alt' => ':name logotyp',
],

];
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
],

'messages' => [
'notification_not_received' => 'Inte fått mejlmeddelandet vi skickade?',
'notification_not_received' => 'Inte fått mejlet vi skickade?',
'notification_sent' => 'Vi skickade ett meddelande till :email med instruktioner på hur du verifierar din mejladress.',
],

Expand Down
7 changes: 7 additions & 0 deletions packages/panels/resources/lang/sv/unsaved-changes-alert.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<?php

return [

'body' => 'Du har osparade ändringar. Är du säker på att du vill lämna sidan?',

];
2 changes: 1 addition & 1 deletion packages/schema/src/Components/Concerns/HasState.php
Original file line number Diff line number Diff line change
Expand Up @@ -288,7 +288,7 @@ public function hydrateDefaultState(?array &$hydratedDefaultState): void
}

if (! $this->hasDefaultState()) {
$this->state(null);
$this->hasStatePath() && $this->state(null);

return;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@
'ring-1 ring-gray-950/10 dark:ring-white/20' => (($color === 'gray') || ($tag === 'label')) && (! $grouped),
'bg-custom-600 text-white hover:bg-custom-500 focus-visible:ring-custom-500/50 dark:bg-custom-500 dark:hover:bg-custom-400 dark:focus-visible:ring-custom-400/50' => ($color !== 'gray') && ($tag !== 'label'),
'[input:checked+&]:bg-custom-600 [input:checked+&]:text-white [input:checked+&]:ring-0 [input:checked+&]:hover:bg-custom-500 dark:[input:checked+&]:bg-custom-500 dark:[input:checked+&]:hover:bg-custom-400 [input:checked:focus-visible+&]:ring-custom-500/50 dark:[input:checked:focus-visible+&]:ring-custom-400/50 [input:focus-visible+&]:z-10 [input:focus-visible+&]:ring-2 [input:focus-visible+&]:ring-gray-950/10 dark:[input:focus-visible+&]:ring-white/20' => ($color !== 'gray') && ($tag === 'label'),
]
]
),
]);
Expand Down
11 changes: 11 additions & 0 deletions packages/tables/src/Columns/Summarizers/Summarizer.php
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,17 @@ function (EloquentBuilder $relatedQuery) use ($baseQuery, $query): EloquentBuild
return $relatedQuery;
},
);
} elseif (str($attribute)->startsWith('pivot.')) {
// https://github.com/filamentphp/filament/issues/12501

$pivotAttribute = (string) str($attribute)
->after('pivot.')
->prepend('pivot_');

$isPivotAttributeSelected = collect($query->getQuery()->getColumns())
->contains(fn (string $column): bool => str($column)->endsWith(" as {$pivotAttribute}"));

$attribute = $isPivotAttributeSelected ? $pivotAttribute : $attribute;
}

$asName = (string) str($query->getModel()->getTable())->afterLast('.');
Expand Down
19 changes: 7 additions & 12 deletions packages/tables/src/Concerns/CanSortRecords.php
Original file line number Diff line number Diff line change
Expand Up @@ -97,29 +97,24 @@ protected function applySortingToTableQuery(Builder $query): Builder

protected function applyDefaultSortingToTableQuery(Builder $query): Builder
{
$sortColumnName = $this->getTable()->getDefaultSortColumn();
$sortDirection = ($this->getTable()->getDefaultSortDirection() ?? $this->tableSortDirection) === 'desc' ? 'desc' : 'asc';
$defaultSort = $this->getTable()->getDefaultSort($query, $sortDirection);

if (
$sortColumnName &&
($sortColumn = $this->getTable()->getSortableVisibleColumn($sortColumnName))
is_string($defaultSort) &&
($sortColumn = $this->getTable()->getSortableVisibleColumn($defaultSort))
) {
$sortColumn->applySort($query, $sortDirection);

return $query;
}

if ($sortColumnName) {
return $query->orderBy($sortColumnName, $sortDirection);
if (is_string($defaultSort)) {
return $query->orderBy($defaultSort, $sortDirection);
}

if ($sortQueryUsing = $this->getTable()->getDefaultSortQuery()) {
app()->call($sortQueryUsing, [
'direction' => $sortDirection,
'query' => $query,
]);

return $query;
if ($defaultSort instanceof Builder) {
return $defaultSort;
}

if (filled($query->toBase()->orders)) {
Expand Down
46 changes: 31 additions & 15 deletions packages/tables/src/Table/Concerns/CanSortRecords.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,26 +4,20 @@

use Closure;
use Filament\Tables\Columns\Column;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Support\Str;

trait CanSortRecords
{
protected ?string $defaultSortColumn = null;
protected string | Closure | null $defaultSort = null;

protected string | Closure | null $defaultSortDirection = null;

protected ?Closure $defaultSortQuery = null;

protected bool | Closure | null $persistsSortInSession = false;

public function defaultSort(string | Closure | null $column, string | Closure | null $direction = 'asc'): static
{
if ($column instanceof Closure) {
$this->defaultSortQuery = $column;
} else {
$this->defaultSortColumn = $column;
}

$this->defaultSort = $column;
$this->defaultSortDirection = $direction;

return $this;
Expand Down Expand Up @@ -55,9 +49,36 @@ public function getSortableVisibleColumn(string $name): ?Column
return $column;
}

public function getDefaultSort(Builder $query, string $direction): string | Builder | null
{
return $this->evaluate($this->defaultSort, [
'direction' => $direction,
'query' => $query,
]);
}

/**
* @deprecated Use `getDefaultSort()` instead.
*/
public function getDefaultSortColumn(): ?string
{
return $this->defaultSortColumn;
if (! is_string($this->defaultSort)) {
return null;
}

return $this->defaultSort;
}

/**
* @deprecated Use `getDefaultSort()` instead.
*/
public function getDefaultSortQuery(): ?Closure
{
if (! ($this->defaultSort instanceof Closure)) {
return null;
}

return $this->defaultSort;
}

public function getDefaultSortDirection(): ?string
Expand All @@ -71,11 +92,6 @@ public function getDefaultSortDirection(): ?string
return $direction;
}

public function getDefaultSortQuery(): ?Closure
{
return $this->defaultSortQuery;
}

public function getSortColumn(): ?string
{
return $this->getLivewire()->getTableSortColumn();
Expand Down
6 changes: 3 additions & 3 deletions packages/widgets/src/StatsOverviewWidget/Stat.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
class Stat extends Component implements Htmlable
{
/**
* @var array<string, mixed> | null
* @var array<float> | null
*/
protected ?array $chart = null;

Expand Down Expand Up @@ -153,7 +153,7 @@ public function url(?string $url, bool $shouldOpenInNewTab = false): static
}

/**
* @param array<int> | null $chart
* @param array<float> | null $chart
*/
public function chart(?array $chart): static
{
Expand Down Expand Up @@ -187,7 +187,7 @@ public function value($value): static
}

/**
* @return array<string, mixed> | null
* @return array<float> | null
*/
public function getChart(): ?array
{
Expand Down
4 changes: 2 additions & 2 deletions tests/src/Panels/Fixtures/Resources/PostResource.php
Original file line number Diff line number Diff line change
Expand Up @@ -31,13 +31,13 @@ public static function form(Schema $form): Schema
{
return $form
->schema([
Forms\Components\TextInput::make('title')->required(),
TextInput::make('title')->required(),
Forms\Components\MarkdownEditor::make('content'),
Forms\Components\Select::make('author_id')
->relationship('author', 'name')
->required(),
Forms\Components\TagsInput::make('tags'),
Forms\Components\TextInput::make('rating')
TextInput::make('rating')
->numeric()
->required(),
]);
Expand Down

0 comments on commit 8343a99

Please sign in to comment.