![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-ui/DataProvider/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Ui\DataProvider; use Magento\Framework\Model\ResourceModel\Db\Collection\AbstractCollection; use Magento\Framework\View\Element\UiComponent\DataProvider\DataProviderInterface; // phpcs:disable Magento2.Classes.AbstractApi /** * @inheritdoc * * @api * @since 100.0.2 */ abstract class AbstractDataProvider implements DataProviderInterface, \Countable { /** * Data Provider name * * @var string */ protected $name; /** * Data Provider Primary Identifier name * * @var string */ protected $primaryFieldName; /** * Data Provider Request Parameter Identifier name * * @var string */ protected $requestFieldName; /** * @var array */ protected $meta = []; /** * Provider configuration data * * @var array */ protected $data = []; /** * @var AbstractCollection */ protected $collection; /** * @param string $name * @param string $primaryFieldName * @param string $requestFieldName * @param array $meta * @param array $data */ public function __construct( $name, $primaryFieldName, $requestFieldName, array $meta = [], array $data = [] ) { $this->name = $name; $this->primaryFieldName = $primaryFieldName; $this->requestFieldName = $requestFieldName; $this->meta = $meta; $this->data = $data; } /** * Return collection * * @return AbstractCollection */ public function getCollection() { return $this->collection; } /** * Get Data Provider name * * @return string */ public function getName() { return $this->name; } /** * Get primary field name * * @return string */ public function getPrimaryFieldName() { return $this->primaryFieldName; } /** * Get field name in request * * @return string */ public function getRequestFieldName() { return $this->requestFieldName; } /** * Return Meta * * @return array */ public function getMeta() { return $this->meta; } /** * Get field Set meta info * * @param string $fieldSetName * @return array */ public function getFieldSetMetaInfo($fieldSetName) { return $this->meta[$fieldSetName] ?? []; } /** * Return fields meta info * * @param string $fieldSetName * @return array */ public function getFieldsMetaInfo($fieldSetName) { return $this->meta[$fieldSetName]['children'] ?? []; } /** * Return field meta info * * @param string $fieldSetName * @param string $fieldName * @return array */ public function getFieldMetaInfo($fieldSetName, $fieldName) { return $this->meta[$fieldSetName]['children'][$fieldName] ?? []; } /** * @inheritdoc */ public function addFilter(\Magento\Framework\Api\Filter $filter) { // @phpstan-ignore-next-line as adding return statement cause of backward compatibility issue $this->getCollection()->addFieldToFilter( $filter->getField(), [$filter->getConditionType() => $filter->getValue()] ); } /** * Returns search criteria * * @return null */ public function getSearchCriteria() { //TODO: Technical dept, should be implemented as part of SearchAPI support for Catalog Grids return null; } /** * Returns SearchResult * * @return \Magento\Framework\Api\Search\SearchResultInterface */ public function getSearchResult() { //TODO: Technical dept, should be implemented as part of SearchAPI support for Catalog Grids return $this->getCollection(); } /** * Add field to select * * @param string|array $field * @param string|null $alias * @return void */ public function addField($field, $alias = null) { $this->getCollection()->addFieldToSelect($field, $alias); } /** * Alias for self::setOrder() * * @param string $field * @param string $direction * @return void */ public function addOrder($field, $direction) { $this->getCollection()->addOrder($field, $direction); } /** * Set Query limit * * @param int $offset * @param int $size * @return void */ public function setLimit($offset, $size) { $this->getCollection()->setPageSize($size); $this->getCollection()->setCurPage($offset); } /** * Removes field from select * * @param string|null $field * @param bool $isAlias Alias identifier * @return void */ public function removeField($field, $isAlias = false) { $this->getCollection()->removeFieldFromSelect($field, $isAlias); } /** * Removes all fields from select * * @return void */ public function removeAllFields() { $this->getCollection()->removeAllFieldsFromSelect(); } /** * Get data * * @return array */ public function getData() { return $this->getCollection()->toArray(); } /** * Retrieve count of loaded items * * @return int */ #[\ReturnTypeWillChange] public function count() { return $this->getCollection()->count(); } /** * Get config data * * @return mixed */ public function getConfigData() { return $this->data['config'] ?? []; } /** * Set data * * @param mixed $config * @return void */ public function setConfigData($config) { $this->data['config'] = $config; } /** * Retrieve all ids from collection * * @return int[] * @since 101.0.0 */ public function getAllIds() { return $this->getCollection()->getAllIds(); } }