diff --git a/src/Common/BaseItemList.php b/src/Common/BaseItemList.php index ce0946c8..b9b08abb 100644 --- a/src/Common/BaseItemList.php +++ b/src/Common/BaseItemList.php @@ -15,6 +15,11 @@ abstract class BaseItemList extends BaseHtmlElement { use BaseFilter; + /** @var string Emitted while assembling the list after adding each list item */ + public const ON_ITEM_ADD = 'item-added'; + + public const BEFORE_ITEM_ADD = 'before-item-add'; + /** @var array */ protected $baseAttributes = [ 'class' => ['item-list', 'default-layout'], @@ -62,7 +67,9 @@ protected function assemble(): void foreach ($this->data as $data) { /** @var BaseListItem|BaseTableRowItem $item */ $item = new $itemClass($data, $this); + $this->emit(self::BEFORE_ITEM_ADD, [$item, $data]); $this->addHtml($item); + $this->emit(self::ON_ITEM_ADD, [$item, $data]); } if ($this->isEmpty()) {