![]() 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/Component/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Ui\Component; use Magento\Framework\Api\FilterBuilder; use Magento\Framework\View\Element\UiComponent\ContextInterface; use Magento\Ui\Api\BookmarkManagementInterface; use Magento\Ui\Api\BookmarkRepositoryInterface; /** * Class Bookmark */ class Bookmark extends AbstractComponent { const NAME = 'bookmark'; /** * @var BookmarkRepositoryInterface */ protected $bookmarkRepository; /** * @var FilterBuilder */ protected $filterBuilder; /** * @var BookmarkManagementInterface */ protected $bookmarkManagement; /** * @param ContextInterface $context * @param BookmarkRepositoryInterface $bookmarkRepository * @param BookmarkManagementInterface $bookmarkManagement * @param array $components * @param array $data */ public function __construct( ContextInterface $context, BookmarkRepositoryInterface $bookmarkRepository, BookmarkManagementInterface $bookmarkManagement, array $components = [], array $data = [] ) { parent::__construct($context, $components, $data); $this->bookmarkRepository = $bookmarkRepository; $this->bookmarkManagement = $bookmarkManagement; } /** * Get component name * * @return string */ public function getComponentName() { return static::NAME; } /** * Register component * * @return void */ public function prepare() { $namespace = $this->getContext()->getRequestParam('namespace', $this->getContext()->getNamespace()); $config = []; if (!empty($namespace)) { $bookmarks = $this->bookmarkManagement->loadByNamespace($namespace); /** @var \Magento\Ui\Api\Data\BookmarkInterface $bookmark */ foreach ($bookmarks->getItems() as $bookmark) { if ($bookmark->isCurrent()) { $config['activeIndex'] = $bookmark->getIdentifier(); } $config = array_merge_recursive($config, $bookmark->getConfig()); } } $this->setData('config', array_replace_recursive($config, $this->getConfiguration())); parent::prepare(); $jsConfig = $this->getConfiguration(); $this->getContext()->addComponentDefinition($this->getComponentName(), $jsConfig); } }