meta = array_replace_recursive($meta, $this->prepareMetadata()); $this->additionalFilterPool = $additionalFilterPool; } /** * Get authorization info. * * @deprecated 101.0.7 * @return AuthorizationInterface|mixed */ private function getAuthorizationInstance() { if ($this->authorization === null) { $this->authorization = ObjectManager::getInstance()->get(AuthorizationInterface::class); } return $this->authorization; } /** * Prepares Meta * * @return array */ public function prepareMetadata() { $metadata = []; if (!$this->getAuthorizationInstance()->isAllowed('Magento_Cms::save')) { $metadata = [ 'cms_page_columns' => [ 'arguments' => [ 'data' => [ 'config' => [ 'editorConfig' => [ 'enabled' => false ], 'componentType' => \Magento\Ui\Component\Container::NAME ] ] ] ] ]; } return $metadata; } /** * @inheritdoc */ public function addFilter(Filter $filter) { if (!empty($this->additionalFilterPool[$filter->getField()])) { $this->additionalFilterPool[$filter->getField()]->addFilter($this->searchCriteriaBuilder, $filter); } else { parent::addFilter($filter); } } }