%PDF- %PDF-
Direktori : /home/bitrix/www/bitrix/modules/report/lib/visualconstructor/runtimeprovider/ |
Current File : /home/bitrix/www/bitrix/modules/report/lib/visualconstructor/runtimeprovider/categoryprovider.php |
<?php namespace Bitrix\Report\VisualConstructor\RuntimeProvider; use Bitrix\Report\VisualConstructor\Category; use Bitrix\Report\VisualConstructor\Internal\Manager\CategoryManager; /** * @method Category|null getFirstResult() * Class CategoryProvider * @package Bitrix\Report\VisualConstructor\RuntimeProvider */ class CategoryProvider extends Base { /** * @return array */ protected function availableFilterKeys() { return array('primary', 'parent_keys'); } /** * @return array */ protected function availableRelations() { return array('parent', 'children'); } /** * @return CategoryManager */ protected function getManagerInstance() { return CategoryManager::getInstance(); } /** * @return array */ protected function getEntitiesList() { return $this->getManagerInstance()->getCategoriesList(); } /** * @return array */ protected function getIndices() { return $this->getManagerInstance()->getIndices(); } /** * @param Category $entity */ protected function processWithParent(Category $entity) { $categoryProvider = new CategoryProvider(); $categoryProvider->addFilter('primary', $entity->getParentKey()); $categoryProvider->execute(); $entity->parent = $categoryProvider->getResults(); } /** * @param Category $entity */ protected function processWithChildren(Category $entity) { $categoryProvider = new CategoryProvider(); $categoryProvider->addFilter('parent_keys', $entity->getKey()); $categoryProvider->addRelation('children'); $categoryProvider->execute(); $entity->children = $categoryProvider->getResults(); } }