1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Search\Model\Synonym;
- use Magento\Search\Model\ResourceModel\SynonymGroup\CollectionFactory;
- use Magento\Framework\View\Element\UiComponent\DataProvider\FilterPool;
- /**
- * Class DataProvider
- */
- class DataProvider extends \Magento\Ui\DataProvider\AbstractDataProvider
- {
- /**
- * @var \Magento\Search\Model\ResourceModel\SynonymGroup\Collection
- */
- protected $collection;
- /**
- * @var FilterPool
- */
- protected $filterPool;
- /**
- * @var array
- */
- protected $loadedData;
- /**
- * Constructor
- *
- * @param string $name
- * @param string $primaryFieldName
- * @param string $requestFieldName
- * @param CollectionFactory $blockCollectionFactory
- * @param FilterPool $filterPool
- * @param array $meta
- * @param array $data
- */
- public function __construct(
- $name,
- $primaryFieldName,
- $requestFieldName,
- CollectionFactory $blockCollectionFactory,
- FilterPool $filterPool,
- array $meta = [],
- array $data = []
- ) {
- parent::__construct($name, $primaryFieldName, $requestFieldName, $meta, $data);
- $this->collection = $blockCollectionFactory->create();
- $this->filterPool = $filterPool;
- }
- /**
- * Get data
- *
- * @return array
- */
- public function getData()
- {
- if (isset($this->loadedData)) {
- return $this->loadedData;
- }
- $items = $this->collection->getItems();
- /** @var \Magento\Search\Model\SynonymGroup $synGroup */
- foreach ($items as $synGroup) {
- // Set the virtual 'scope_id' column to appropriate value.
- // This is necessary to display the correct selection set
- // in 'scope' field on the GUI.
- $synGroup->setScope();
- $this->loadedData[$synGroup->getId()] = $synGroup->getData();
- }
- return $this->loadedData;
- }
- }
|