From 92c1347350f4d6b234fd5f54b4c3baaf7160bccf Mon Sep 17 00:00:00 2001 From: Sam Light Date: Wed, 2 Apr 2025 22:23:36 +0100 Subject: Changed adding items to prepend and append --- src/Toolbar.php | 40 +++++++++++++++++++++++++++++++++------- 1 file changed, 33 insertions(+), 7 deletions(-) (limited to 'src/Toolbar.php') diff --git a/src/Toolbar.php b/src/Toolbar.php index 8539e0e..27d495d 100644 --- a/src/Toolbar.php +++ b/src/Toolbar.php @@ -30,7 +30,7 @@ class Toolbar $this->filterItems = collect(); } - private function addItem(Collection $list, ToolbarItem $item): static + private function processItem(ToolbarItem $item): void { $item->setToolbar($this); @@ -43,24 +43,50 @@ class Toolbar else if ($item instanceof SearchItem) { $this->searchItem = $item; } + } + + private function prependItem(Collection $list, ToolbarItem $item): static + { + $this->processItem($item); + $list->prepend($item); + return $this; + } + private function appendItem(Collection $list, ToolbarItem $item): static + { + $this->processItem($item); $list->push($item); return $this; } - public function addStartItem(ToolbarItem $item): static + public function prependStartItem(ToolbarItem $item): static + { + return $this->prependItem($this->startItems, $item); + } + + public function appendStartItem(ToolbarItem $item): static + { + return $this->appendItem($this->startItems, $item); + } + + public function prependMidItem(ToolbarItem $item): static + { + return $this->prependItem($this->midItems, $item); + } + + public function appendMidItem(ToolbarItem $item): static { - return $this->addItem($this->startItems, $item); + return $this->appendItem($this->midItems, $item); } - public function addMidItem(ToolbarItem $item): static + public function prependEndItem(ToolbarItem $item): static { - return $this->addItem($this->midItems, $item); + return $this->prependItem($this->endItems, $item); } - public function addEndItem(ToolbarItem $item): static + public function appendEndItem(ToolbarItem $item): static { - return $this->addItem($this->endItems, $item); + return $this->appendItem($this->endItems, $item); } public function getTable(): TableComponent -- cgit v1.2.3