Skip to content

Commit 0951aa5

Browse files
committed
allow default behave for actionable fields
1 parent 220857b commit 0951aa5

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed

src/Actions/Action.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,13 @@ abstract class Action implements JsonSerializable
4747
*/
4848
public bool $standalone = false;
4949

50+
/**
51+
* Indicates if Restify should skip the field default update behavior in case it's actionable field.
52+
*
53+
* @var bool
54+
*/
55+
public bool $skipFieldFill = true;
56+
5057
/**
5158
* Default uri key for the action.
5259
* @var string
@@ -197,6 +204,11 @@ public function handleRequest(ActionRequest $request)
197204
return $response;
198205
}
199206

207+
public function skipFieldFill(RestifyRequest $request): bool
208+
{
209+
return $this->skipFieldFill;
210+
}
211+
200212
#[ReturnTypeWillChange]
201213
public function jsonSerialize()
202214
{

src/Fields/FieldCollection.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ public function withActions(RestifyRequest $request, $repository, $row = null):
8989
public function withoutActions(RestifyRequest $request, $repository): self
9090
{
9191
return $this
92-
->reject(fn (Field $field) => $field->isActionable())
92+
->reject(fn (Field $field) => $field->isActionable() && $field->actionHandler?->skipFieldFill($request))
9393
->values();
9494
}
9595

0 commit comments

Comments
 (0)