DefaultConfigProvider.php 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. declare(strict_types=1);
  7. namespace Magento\Cms\Model\Wysiwyg;
  8. /**
  9. * Class DefaultConfigProvider returns data required to render tinymce4 editor
  10. */
  11. class DefaultConfigProvider implements \Magento\Framework\Data\Wysiwyg\ConfigProviderInterface
  12. {
  13. /**
  14. * @var \Magento\Framework\View\Asset\Repository
  15. */
  16. private $assetRepo;
  17. /**
  18. * @param \Magento\Framework\View\Asset\Repository $assetRepo
  19. */
  20. public function __construct(\Magento\Framework\View\Asset\Repository $assetRepo)
  21. {
  22. $this->assetRepo = $assetRepo;
  23. }
  24. /**
  25. * {@inheritdoc}
  26. */
  27. public function getConfig(\Magento\Framework\DataObject $config) : \Magento\Framework\DataObject
  28. {
  29. $config->addData([
  30. 'tinymce4' => [
  31. 'toolbar' => 'formatselect | bold italic underline | alignleft aligncenter alignright | '
  32. . 'bullist numlist | link table charmap',
  33. 'plugins' => implode(
  34. ' ',
  35. [
  36. 'advlist',
  37. 'autolink',
  38. 'lists',
  39. 'link',
  40. 'charmap',
  41. 'media',
  42. 'noneditable',
  43. 'table',
  44. 'contextmenu',
  45. 'paste',
  46. 'code',
  47. 'help',
  48. 'table'
  49. ]
  50. ),
  51. 'content_css' => $this->assetRepo->getUrl('mage/adminhtml/wysiwyg/tiny_mce/themes/ui.css')
  52. ]
  53. ]);
  54. return $config;
  55. }
  56. }