From 7c9ef360005449b0179dc0050700abbf6e951ddf Mon Sep 17 00:00:00 2001 From: ebremner <ebremner@uwaterloo.ca> Date: Wed, 10 Feb 2021 12:40:57 -0500 Subject: [PATCH] ISTWCMS-4506: trying to get libraries api module working with mathjax --- src/Plugin/CKEditorPlugin/MathJaxPlugin.php | 37 ++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/src/Plugin/CKEditorPlugin/MathJaxPlugin.php b/src/Plugin/CKEditorPlugin/MathJaxPlugin.php index bdfd952b..15108e27 100644 --- a/src/Plugin/CKEditorPlugin/MathJaxPlugin.php +++ b/src/Plugin/CKEditorPlugin/MathJaxPlugin.php @@ -4,6 +4,7 @@ namespace Drupal\uw_cfg_common\Plugin\CKEditorPlugin; use Drupal\ckeditor\CKEditorPluginBase; use Drupal\editor\Entity\Editor; +use Drupal\Core\Asset\LibrariesDirectoryFileFinder; /** * Defines the "mathjax" plugin. @@ -15,6 +16,38 @@ use Drupal\editor\Entity\Editor; */ class MathJaxPlugin extends CKEditorPluginBase { + /** + * 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} */ @@ -47,10 +80,12 @@ class MathJaxPlugin extends CKEditorPluginBase { * {@inheritdoc} */ public function getButtons() { + $lib = $this->libFileFinder->find('ckeditor-mathjax'); + $path = \Drupal::service('file_system')->realpath($lib); return [ 'Mathjax' => [ 'label' => $this->t('Math'), - 'image' => drupal_get_path('profile', 'uw_base_profile') . '/libraries/ckeditor-mathjax/icons/mathjax.png', + 'image' => $path . '/icons/mathjax.png', ], ]; } -- GitLab