diff --git a/src/Plugin/CKEditorPlugin/DialogPlugin.php b/src/Plugin/CKEditorPlugin/DialogPlugin.php index 86c6ac9393a0a8046cffdfc2cfa9333780fdc04a..97e97fb2e8d8e3dffbea93be278ce1db6a6ef9bf 100644 --- a/src/Plugin/CKEditorPlugin/DialogPlugin.php +++ b/src/Plugin/CKEditorPlugin/DialogPlugin.php @@ -3,7 +3,10 @@ namespace Drupal\uw_cfg_common\Plugin\CKEditorPlugin; use Drupal\ckeditor\CKEditorPluginBase; +use Drupal\Core\Asset\LibrariesDirectoryFileFinder; +use Drupal\Core\Plugin\ContainerFactoryPluginInterface; use Drupal\editor\Entity\Editor; +use Symfony\Component\DependencyInjection\ContainerInterface; /** * Defines the "dialog" plugin. @@ -13,7 +16,38 @@ use Drupal\editor\Entity\Editor; * label = @Translation("Dialog") * ) */ -class DialogPlugin extends CKEditorPluginBase { +class DialogPlugin extends CKEditorPluginBase implements ContainerFactoryPluginInterface { + + /** + * Library file finder. + * + * @var \Drupal\Core\Asset\LibrariesDirectoryFileFinder + */ + protected $libFileFinder; + + /** + * Constructs a BlockComponentRenderArray object. + * + * @param array $configuration + * A configuration array containing information about the plugin instance. + * @param string $plugin_id + * The plugin ID for the plugin instance. + * @param mixed $plugin_definition + * The plugin implementation definition. + * @param \Drupal\Core\Asset\LibrariesDirectoryFileFinder $libFileFinder + * The library file finder. + */ + public function __construct(array $configuration, $plugin_id, $plugin_definition, LibrariesDirectoryFileFinder $libFileFinder) { + parent::__construct($configuration, $plugin_id, $plugin_definition); + $this->libFileFinder = $libFileFinder; + } + + /** + * {@inheritdoc} + */ + public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) { + return new static($configuration, $plugin_id, $plugin_definition, $container->get('library.libraries_directory_file_finder')); + } /** * {@inheritdoc} @@ -33,7 +67,7 @@ class DialogPlugin extends CKEditorPluginBase { * {@inheritdoc} */ public function getFile() { - return drupal_get_path('profile', 'uw_base_profile') . '/libraries/ckeditor-dialog/plugin.js'; + return $this->libFileFinder->find('ckeditor-dialog'). '/plugin.js'; } }