diff core/modules/ckeditor/src/Ajax/AddStyleSheetCommand.php @ 0:c75dbcec494b

Initial commit from drush-created site
author Chris Cannam
date Thu, 05 Jul 2018 14:24:15 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/core/modules/ckeditor/src/Ajax/AddStyleSheetCommand.php	Thu Jul 05 14:24:15 2018 +0000
@@ -0,0 +1,64 @@
+<?php
+
+namespace Drupal\ckeditor\Ajax;
+
+use Drupal\Core\Ajax\CommandInterface;
+
+/**
+ * AJAX command to add style sheets to a CKEditor instance.
+ */
+class AddStyleSheetCommand implements CommandInterface {
+
+  /**
+   * The CKEditor instance ID.
+   *
+   * @var string
+   */
+  protected $editorId;
+
+  /**
+   * The style sheet URLs to add to the CKEditor instance.
+   *
+   * @var string[]
+   */
+  protected $styleSheets = [];
+
+  /**
+   * AddStyleSheetCommand constructor.
+   *
+   * @param string $editor_id
+   *   The CKEditor instance ID.
+   * @param string[] $stylesheets
+   *   The style sheet URLs to add to the CKEditor instance.
+   */
+  public function __construct($editor_id, array $stylesheets = []) {
+    $this->editorId = $editor_id;
+    $this->styleSheets = $stylesheets;
+  }
+
+  /**
+   * Adds a style sheet to the CKEditor instance.
+   *
+   * @param string $stylesheet
+   *   The style sheet URL.
+   *
+   * @return $this
+   *   The called object, for chaining.
+   */
+  public function addStyleSheet($stylesheet) {
+    $this->styleSheets[] = $stylesheet;
+    return $this;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function render() {
+    return [
+      'command' => 'ckeditor_add_stylesheet',
+      'editor_id' => $this->editorId,
+      'stylesheets' => $this->styleSheets,
+    ];
+  }
+
+}