Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/main/lib/grid/column/ |
Upload File : |
<?php namespace Bitrix\Main\Grid\Column; use Bitrix\Main\Grid\Settings; /** * Columns provider. * * Responsible for creating columns, used in the column collection. * * @see \Bitrix\Main\Grid\Column\Columns */ abstract class DataProvider { private ?Settings $settings; /** * @param Settings|null $settings if not used, may be `null` */ public function __construct(?Settings $settings = null) { $this->settings = $settings; } /** * Provider settings. * * @return Settings */ final protected function getSettings(): Settings { return $this->settings; } /** * Create column from params description. * * @param string $columnId * @param array $params * * @return Column */ protected function createColumn(string $columnId, array $params = []): Column { if (!isset($params['id'])) { $params['id'] = $columnId; } return new Column($columnId, $params); } /** * Create columns from params descriptions. * * @param array[] $columns in format `[id => params]`. Params is argument `createColumn` method. * * @return Column[] */ protected function createColumns(array $columns): array { $result = []; foreach ($columns as $id => $description) { $result[$id] = $this->createColumn($id, $description); } return $result; } /** * Provider columns. * * @return Column[] allowed without keys. */ abstract public function prepareColumns(): array; }