embedButtonQuery = $embed_button_query; if (!empty($plugin_definition['embed_type_id'])) { $this->embedButtonQuery->condition('type_id', $plugin_definition['embed_type_id']); } } /** * {@inheritdoc} */ public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) { return new static( $configuration, $plugin_id, $plugin_definition, $container->get('entity.query')->get('embed_button') ); } /** * {@inheritdoc} */ public function getButtons() { $buttons = []; if ($ids = $this->embedButtonQuery->execute()) { $embed_buttons = EmbedButton::loadMultiple($ids); foreach ($embed_buttons as $embed_button) { $buttons[$embed_button->id()] = $this->getButton($embed_button); } } return $buttons; } protected function getButton(EmbedButtonInterface $embed_button) { return [ 'id' => $embed_button->id(), 'name' => Html::escape($embed_button->label()), 'label' => Html::escape($embed_button->label()), 'image' => $embed_button->getIconUrl(), ]; } /** * {@inheritdoc} */ public function getLibraries(Editor $editor) { return [ 'embed/embed', ]; } }