diff --git a/asset/css/list/list-item.less b/asset/css/list/list-item.less index 56a43a39..41b66ff4 100644 --- a/asset/css/list/list-item.less +++ b/asset/css/list/list-item.less @@ -33,6 +33,10 @@ &:hover { color: @list-item-title-hover-color; text-decoration: none; + + .subject { + color: @list-item-title-hover-color; + } } } } diff --git a/src/Common/BaseItemList.php b/src/Common/BaseItemList.php index ce0946c8..8320d1c1 100644 --- a/src/Common/BaseItemList.php +++ b/src/Common/BaseItemList.php @@ -15,6 +15,12 @@ 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'; + + /** @var string Emitted while assembling the list before adding each list item */ + public const BEFORE_ITEM_ADD = 'before-item-add'; + /** @var array */ protected $baseAttributes = [ 'class' => ['item-list', 'default-layout'], @@ -62,7 +68,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()) {