assetRepo = $assetRepo; $this->widgetConfig = $widgetConfig; } /** * {@inheritdoc} */ public function getConfig(\Magento\Framework\DataObject $config) : \Magento\Framework\DataObject { $settings = [ 'widget_plugin_src' => $this->getWysiwygJsPluginSrc(), 'widget_window_url' => $this->widgetConfig->getWidgetWindowUrl($config), 'widget_types' => $this->widgetConfig->getAvailableWidgets($config), 'widget_error_image_url' => $this->widgetConfig->getErrorImageUrl(), 'widget_placeholders' => $this->widgetConfig->getWidgetPlaceholderImageUrls() ]; return $config->addData($settings); } /** * Return path to tinymce3 widget plugin * * @return string */ private function getWysiwygJsPluginSrc() : string { $editorPluginJs = 'Magento_Tinymce3::tiny_mce/plugins/magentowidget/editor_plugin.js'; $result = $this->assetRepo->getUrl($editorPluginJs); return $result; } }