70 $this->_adminhtmlData = $adminhtmlData;
74 $this->_customerViewHelper = $customerViewHelper;
85 if (!$this->hasStart() || !$this->hasLimit() || !$this->hasQuery()) {
90 $this->searchCriteriaBuilder->setCurrentPage($this->getStart());
91 $this->searchCriteriaBuilder->setPageSize($this->getLimit());
92 $searchFields = [
'firstname',
'lastname',
'company'];
94 foreach ($searchFields as $field) {
97 ->setConditionType(
'like')
98 ->setValue($this->getQuery() .
'%')
101 $this->searchCriteriaBuilder->addFilters(
$filters);
105 foreach ($searchResults->getItems() as
$customer) {
106 $customerAddresses =
$customer->getAddresses();
116 'id' =>
'customer/1/' .
$customer->getId(),
117 'type' =>
__(
'Customer'),
118 'name' => $this->_customerViewHelper->getCustomerName(
$customer),
119 'description' => $company,
120 'url' => $this->_adminhtmlData->getUrl(
'customer/index/edit', [
'id' =>
$customer->getId()]),
__construct(\Magento\Backend\Helper\Data $adminhtmlData, \Magento\Customer\Api\CustomerRepositoryInterface $customerRepository, \Magento\Framework\Api\SearchCriteriaBuilder $searchCriteriaBuilder, \Magento\Framework\Api\FilterBuilder $filterBuilder, \Magento\Customer\Helper\View $customerViewHelper)