Skip to content

Commit

Permalink
feat: return self for most methods
Browse files Browse the repository at this point in the history
  • Loading branch information
64knl committed Jan 2, 2024
1 parent a7610c3 commit 5b0a17c
Show file tree
Hide file tree
Showing 6 changed files with 58 additions and 20 deletions.
16 changes: 12 additions & 4 deletions src/NotFound/Layout/Elements/LayoutBar.php
Original file line number Diff line number Diff line change
Expand Up @@ -23,23 +23,31 @@ public function noBackground(): self
return $this;
}

public function addBarButton(LayoutBarButton $btn)
public function addBarButton(LayoutBarButton $btn): self
{
$this->items->add($btn->build());

return $this;
}

public function addPager(LayoutPager $pager)
public function addPager(LayoutPager $pager): self
{
$this->items->add($pager->build());

return $this;
}

public function addSearchBox(LayoutSearchBox $searchBox)
public function addSearchBox(LayoutSearchBox $searchBox): self
{
$this->items->add($searchBox->build());

return $this;
}

public function addText(LayoutText $text)
public function addText(LayoutText $text): self
{
$this->items->add($text->build());

return $this;
}
}
8 changes: 6 additions & 2 deletions src/NotFound/Layout/Elements/LayoutBreadcrumb.php
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,11 @@ public function __construct()
*
* @return void
*/
public function addHome(string $title = null, string $link = '/')
public function addHome(string $title = null, string $link = '/'): self
{
$this->properties->items[] = (object) ['title' => $title ?? 'Home', 'link' => $link];

return $this;
}

/**
Expand All @@ -33,8 +35,10 @@ public function addHome(string $title = null, string $link = '/')
* @param mixed $link Link (optional) Last item should always be the current path en should not link anywhere.
* @return void
*/
public function addItem(string $title, string $link = null)
public function addItem(string $title, string $link = null): self
{
$this->properties->items[] = (object) ['title' => $title, 'link' => $link];

return $this;
}
}
24 changes: 18 additions & 6 deletions src/NotFound/Layout/Elements/LayoutForm.php
Original file line number Diff line number Diff line change
Expand Up @@ -18,36 +18,48 @@ public function __construct(string $url)
$this->properties->method = LayoutRequestMethod::POST;
}

public function setMethod(LayoutRequestMethod $method)
public function setMethod(LayoutRequestMethod $method): self
{
$this->properties->method = $method;

return $this;
}

public function addButton(LayoutButton $btn)
public function addButton(LayoutButton $btn): self
{
$this->items->add($btn->build());

return $this;
}

public function addText(LayoutText $text)
public function addText(LayoutText $text): self
{
$this->items->add($text->build());

return $this;
}

public function addInput(AbstractInput $input): void
public function addInput(AbstractInput $input): self
{
$this->items->add($input->build());

return $this;
}

public function addTitle(LayoutTitle $title)
public function addTitle(LayoutTitle $title): self
{
$title->setSize(4);
$title->setUnderline();
$this->items->add($title->build());

return $this;
}

// TODO: think of better solution some time
public function addComponent($component): void
public function addComponent($component): self
{
$this->items->add($component->buildAutoLayoutClass());

return $this;
}
}
20 changes: 15 additions & 5 deletions src/NotFound/Layout/Elements/LayoutPage.php
Original file line number Diff line number Diff line change
Expand Up @@ -18,29 +18,39 @@ public function __construct(string $title)
$this->properties->title = $title;
}

public function addWidget(LayoutWidget $widget)
public function addWidget(LayoutWidget $widget): self
{
$this->items->add($widget->build());

return $this;
}

public function addBreadCrumb(LayoutBreadcrumb $breadcrumb)
public function addBreadCrumb(LayoutBreadcrumb $breadcrumb): self
{
$this->items->add($breadcrumb->build());

return $this;
}

public function addTitle(LayoutTitle $title)
public function addTitle(LayoutTitle $title): self
{
$this->items->add($title->build());

return $this;
}

public function addBar(LayoutBar $bar)
public function addBar(LayoutBar $bar): self
{
$this->items->add($bar->build());

return $this;
}

public function addTabs(LayoutTabs $tabs)
public function addTabs(LayoutTabs $tabs): self
{
$this->items->add($tabs->build());

return $this;
}

public function build(): object
Expand Down
6 changes: 4 additions & 2 deletions src/NotFound/Layout/Elements/LayoutTabs.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,14 @@ public function __construct()
$this->properties->padding = false;
}

public function addPadding()
public function addPadding(): self
{
$this->properties->padding = true;

return $this;
}

public function addTab(LayoutTab $tab)
public function addTab(LayoutTab $tab): self
{
$this->items->add($tab->build());

Expand Down
4 changes: 3 additions & 1 deletion src/NotFound/Layout/Helpers/LayoutWidgetHelper.php
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,10 @@ public function response(): object
* @param mixed $title
* @param mixed $url
*/
public function addBreadcrumb($title, $url = null): void
public function addBreadcrumb($title, $url = null): self
{
$this->breadcrumb->addItem($title, $url);

return $this;
}
}

0 comments on commit 5b0a17c

Please sign in to comment.