12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Customer\Ui\Component;
- use Magento\Customer\Api\Data\AttributeMetadataInterface;
- use Magento\Customer\Ui\Component\Listing\AttributeRepository;
- use Magento\Framework\Api\FilterBuilder;
- use Magento\Framework\Api\Search\SearchCriteriaBuilder;
- use Magento\Framework\App\RequestInterface;
- use Magento\Framework\View\Element\UiComponent\DataProvider\Reporting;
- class DataProvider extends \Magento\Framework\View\Element\UiComponent\DataProvider\DataProvider
- {
- /**
- * @var AttributeRepository
- */
- private $attributeRepository;
- /**
- * @param string $name
- * @param string $primaryFieldName
- * @param string $requestFieldName
- * @param Reporting $reporting
- * @param SearchCriteriaBuilder $searchCriteriaBuilder
- * @param RequestInterface $request
- * @param FilterBuilder $filterBuilder
- * @param AttributeRepository $attributeRepository
- * @param array $meta
- * @param array $data
- * @SuppressWarnings(PHPMD.ExcessiveParameterList)
- */
- public function __construct(
- $name,
- $primaryFieldName,
- $requestFieldName,
- Reporting $reporting,
- SearchCriteriaBuilder $searchCriteriaBuilder,
- RequestInterface $request,
- FilterBuilder $filterBuilder,
- AttributeRepository $attributeRepository,
- array $meta = [],
- array $data = []
- ) {
- $this->attributeRepository = $attributeRepository;
- parent::__construct(
- $name,
- $primaryFieldName,
- $requestFieldName,
- $reporting,
- $searchCriteriaBuilder,
- $request,
- $filterBuilder,
- $meta,
- $data
- );
- }
- /**
- * {@inheritdoc}
- */
- public function getData()
- {
- $data = parent::getData();
- foreach ($this->attributeRepository->getList() as $attributeCode => $attributeData) {
- foreach ($data['items'] as &$item) {
- if (isset($item[$attributeCode]) && !empty($attributeData[AttributeMetadataInterface::OPTIONS])) {
- $item[$attributeCode] = explode(',', $item[$attributeCode]);
- }
- }
- }
- return $data;
- }
- }
|