$textContent = $entity->$textProperty;
$terms = array_merge($options->exacts, $options->searches);
- $matchRefs = $this->getMatchPositions($textContent, $terms);
- $mergedRefs = $this->sortAndMergeMatchPositions($matchRefs);
- $content = $this->formatTextUsingMatchPositions($mergedRefs, $textContent);
-
- $entity->setAttribute('preview_content', new HtmlString($content));
+ $originalContentByNewAttribute = [
+ 'preview_name' => $entity->name,
+ 'preview_content' => $textContent,
+ ];
+
+ foreach ($originalContentByNewAttribute as $attributeName => $content) {
+ $matchRefs = $this->getMatchPositions($content, $terms);
+ $mergedRefs = $this->sortAndMergeMatchPositions($matchRefs);
+ $formatted = $this->formatTextUsingMatchPositions($mergedRefs, $content);
+ $entity->setAttribute($attributeName, new HtmlString($formatted));
+ }
}
/**
<a href="{{ $entity->getUrl() }}" class="{{$type}} {{$type === 'page' && $entity->draft ? 'draft' : ''}} {{$classes ?? ''}} entity-list-item" data-entity-type="{{$type}}" data-entity-id="{{$entity->id}}">
<span role="presentation" class="icon text-{{$type}}">@icon($type)</span>
<div class="content">
- <h4 class="entity-list-item-name break-text">{{ $entity->name }}</h4>
+ <h4 class="entity-list-item-name break-text">{{ $entity->preview_name ?? $entity->name }}</h4>
{{ $slot ?? '' }}
</div>
</a>
\ No newline at end of file