mirror of
https://github.com/filamentphp/filament.git
synced 2026-09-24 15:42:09 +08:00
change to escaping
This commit is contained in:
@@ -506,9 +506,9 @@ use Filament\Support\View\Components\Modal;
|
||||
Modal::closedByClickingAway(false);
|
||||
```
|
||||
|
||||
## Closing the modal by hitting escape
|
||||
## Closing the modal by escaping
|
||||
|
||||
By default, when you hit escape on a modal, it will close itself. If you wish to disable this behavior for a specific action, you can use the `closedByHittingEscape(false)` method:
|
||||
By default, when you press escape on a modal, it will close itself. If you wish to disable this behavior for a specific action, you can use the `closedByEscaping(false)` method:
|
||||
|
||||
```php
|
||||
Action::make('updateAuthor')
|
||||
@@ -518,15 +518,15 @@ Action::make('updateAuthor')
|
||||
->action(function (array $data): void {
|
||||
// ...
|
||||
})
|
||||
->closedByHittingEscape(false)
|
||||
->closedByEscaping(false)
|
||||
```
|
||||
|
||||
If you'd like to change the behaviour for all modals in the application, you can do so by calling `Modal::closedByHittingEscape()` inside a service provider or middleware:
|
||||
If you'd like to change the behaviour for all modals in the application, you can do so by calling `Modal::closedByEscaping()` inside a service provider or middleware:
|
||||
|
||||
```php
|
||||
use Filament\Support\View\Components\Modal;
|
||||
|
||||
Modal::closedByHittingEscape(false);
|
||||
Modal::closedByEscaping(false);
|
||||
```
|
||||
|
||||
## Hiding the modal close button
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
:alignment="$action?->getModalAlignment()"
|
||||
:close-button="$action?->hasModalCloseButton()"
|
||||
:close-by-clicking-away="$action?->isModalClosedByClickingAway()"
|
||||
:close-by-hitting-escape="$action?->isModalClosedByHittingEscape()"
|
||||
:close-by-escaping="$action?->isModalClosedByEscaping()"
|
||||
:description="$action?->getModalDescription()"
|
||||
display-classes="block"
|
||||
:extra-modal-window-attribute-bag="$action?->getExtraModalWindowAttributeBag()"
|
||||
@@ -69,7 +69,7 @@
|
||||
:alignment="$action?->getModalAlignment()"
|
||||
:close-button="$action?->hasModalCloseButton()"
|
||||
:close-by-clicking-away="$action?->isModalClosedByClickingAway()"
|
||||
:close-by-hitting-escape="$action?->isModalClosedByHittingEscape()"
|
||||
:close-by-escaping="$action?->isModalClosedByEscaping()"
|
||||
:description="$action?->getModalDescription()"
|
||||
display-classes="block"
|
||||
:extra-modal-window-attribute-bag="$action?->getExtraModalWindowAttributeBag()"
|
||||
@@ -124,7 +124,7 @@
|
||||
:alignment="$action?->getModalAlignment()"
|
||||
:close-button="$action?->hasModalCloseButton()"
|
||||
:close-by-clicking-away="$action?->isModalClosedByClickingAway()"
|
||||
:close-by-hitting-escape="$action?->isModalClosedByHittingEscape()"
|
||||
:close-by-escaping="$action?->isModalClosedByEscaping()"
|
||||
:description="$action?->getModalDescription()"
|
||||
display-classes="block"
|
||||
:extra-modal-window-attribute-bag="$action?->getExtraModalWindowAttributeBag()"
|
||||
@@ -185,7 +185,7 @@
|
||||
:alignment="$action?->getModalAlignment()"
|
||||
:close-button="$action?->hasModalCloseButton()"
|
||||
:close-by-clicking-away="$action?->isModalClosedByClickingAway()"
|
||||
:close-by-hitting-escape="$action?->isModalClosedByHittingEscape()"
|
||||
:close-by-escaping="$action?->isModalClosedByEscaping()"
|
||||
:description="$action?->getModalDescription()"
|
||||
display-classes="block"
|
||||
:extra-modal-window-attribute-bag="$action?->getExtraModalWindowAttributeBag()"
|
||||
@@ -246,7 +246,7 @@
|
||||
:alignment="$action?->getModalAlignment()"
|
||||
:close-button="$action?->hasModalCloseButton()"
|
||||
:close-by-clicking-away="$action?->isModalClosedByClickingAway()"
|
||||
:close-by-hitting-escape="$action?->isModalClosedByHittingEscape()"
|
||||
:close-by-escaping="$action?->isModalClosedByEscaping()"
|
||||
:description="$action?->getModalDescription()"
|
||||
display-classes="block"
|
||||
:extra-modal-window-attribute-bag="$action?->getExtraModalWindowAttributeBag()"
|
||||
|
||||
@@ -80,7 +80,7 @@ trait CanOpenModal
|
||||
|
||||
protected bool | Closure | null $isModalClosedByClickingAway = null;
|
||||
|
||||
protected bool | Closure | null $isModalClosedByHittingEscape = null;
|
||||
protected bool | Closure | null $isModalClosedByEscaping = null;
|
||||
|
||||
protected string | Closure | null $modalIcon = null;
|
||||
|
||||
@@ -96,9 +96,9 @@ trait CanOpenModal
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function closeModalByHittingEscape(bool | Closure | null $condition = true): static
|
||||
public function closeModalByEscaping(bool | Closure | null $condition = true): static
|
||||
{
|
||||
$this->isModalClosedByHittingEscape = $condition;
|
||||
$this->isModalClosedByEscaping = $condition;
|
||||
|
||||
return $this;
|
||||
}
|
||||
@@ -609,9 +609,9 @@ trait CanOpenModal
|
||||
return (bool) ($this->evaluate($this->isModalClosedByClickingAway) ?? Modal::$isClosedByClickingAway);
|
||||
}
|
||||
|
||||
public function isModalClosedByHittingEscape(): bool
|
||||
public function isModalClosedByEscaping(): bool
|
||||
{
|
||||
return (bool) ($this->evaluate($this->isModalClosedByHittingEscape) ?? Modal::$isClosedByHittingEscape);
|
||||
return (bool) ($this->evaluate($this->isModalClosedByEscaping) ?? Modal::$isClosedByEscaping);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
'ariaLabelledby' => null,
|
||||
'closeButton' => \Filament\Support\View\Components\Modal::$hasCloseButton,
|
||||
'closeByClickingAway' => \Filament\Support\View\Components\Modal::$isClosedByClickingAway,
|
||||
'closeByHittingEscape' => \Filament\Support\View\Components\Modal::$isClosedByHittingEscape,
|
||||
'closeByEscaping' => \Filament\Support\View\Components\Modal::$isClosedByEscaping,
|
||||
'closeEventName' => 'close-modal',
|
||||
'description' => null,
|
||||
'displayClasses' => 'inline-block',
|
||||
@@ -156,7 +156,7 @@
|
||||
$watch('isOpen', () => (isShown = isOpen))
|
||||
})
|
||||
"
|
||||
@if ($closeByHittingEscape)
|
||||
@if ($closeByEscaping)
|
||||
x-on:keydown.window.escape="{{ $closeEventHandler }}"
|
||||
@endif
|
||||
x-show="isShown"
|
||||
|
||||
@@ -8,7 +8,7 @@ class Modal
|
||||
|
||||
public static bool $isClosedByClickingAway = true;
|
||||
|
||||
public static bool $isClosedByHittingEscape = true;
|
||||
public static bool $isClosedByEscaping = true;
|
||||
|
||||
public static function closeButton(bool $condition = true): void
|
||||
{
|
||||
@@ -20,8 +20,8 @@ class Modal
|
||||
static::$isClosedByClickingAway = $condition;
|
||||
}
|
||||
|
||||
public static function closedByHittingEscape(bool $condition = true): void
|
||||
public static function closedByEscaping(bool $condition = true): void
|
||||
{
|
||||
static::$isClosedByHittingEscape = $condition;
|
||||
static::$isClosedByEscaping = $condition;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user