From 4d575f3904458ecf29c6df2285ba8e9ce7ce8e6c Mon Sep 17 00:00:00 2001 From: LT Date: Tue, 14 Jan 2025 12:36:49 +0300 Subject: [PATCH 1/2] feat: Current page sugar --- src/Resources/CrudResource.php | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/Resources/CrudResource.php b/src/Resources/CrudResource.php index 170260f..edef3e3 100644 --- a/src/Resources/CrudResource.php +++ b/src/Resources/CrudResource.php @@ -146,6 +146,11 @@ public function getIndexPage(): ?PageContract return $this->getPages()->indexPage(); } + public function isIndexPage(): bool + { + return $this->getActivePage() instanceof IndexPage; + } + /** * @return null|PageContract|FormPage */ @@ -154,6 +159,21 @@ public function getFormPage(): ?PageContract return $this->getPages()->formPage(); } + public function isFormPage(): bool + { + return $this->getActivePage() instanceof FormPage; + } + + public function isCreateFormPage(): bool + { + return $this->isFormPage() && \is_null($this->getItemID()); + } + + public function isUpdateFormPage(): bool + { + return $this->isFormPage() && !\is_null($this->getItemID()); + } + public function getActivePage(): ?PageContract { return $this->getPages()->activePage(); @@ -167,6 +187,11 @@ public function getDetailPage(): ?PageContract return $this->getPages()->detailPage(); } + public function isDetailPage(): bool + { + return $this->getActivePage() instanceof DetailPage; + } + public function getCaster(): DataCasterContract { return new MixedDataCaster($this->casterKeyName); From 36f945c07d612fca5078fb57d48acd0c8c7a92da Mon Sep 17 00:00:00 2001 From: lee-to Date: Tue, 14 Jan 2025 09:37:22 +0000 Subject: [PATCH 2/2] Fix styling --- src/Resources/CrudResource.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Resources/CrudResource.php b/src/Resources/CrudResource.php index edef3e3..49565e4 100644 --- a/src/Resources/CrudResource.php +++ b/src/Resources/CrudResource.php @@ -171,7 +171,7 @@ public function isCreateFormPage(): bool public function isUpdateFormPage(): bool { - return $this->isFormPage() && !\is_null($this->getItemID()); + return $this->isFormPage() && ! \is_null($this->getItemID()); } public function getActivePage(): ?PageContract