[ 'label' => t('Reference Footnotes'), 'image' => drupal_get_path('module', 'bibcite_footnotes') . '/js/plugins/reference_footnotes/images/icon.png', ], ]; } /** * {@inheritdoc} */ public function getFile() { // Make sure that the path to the plugin.js matches the file structure of // the CKEditor plugin you are implementing. return drupal_get_path('module', 'bibcite_footnotes') . '/js/plugins/reference_footnotes/plugin.js'; } /** * {@inheritdoc} */ public function isInternal() { return FALSE; } /** * {@inheritdoc} */ public function getDependencies(Editor $editor) { return ['fakeobjects']; } /** * {@inheritdoc} */ public function getLibraries(Editor $editor) { return []; } /** * {@inheritdoc} */ public function getConfig(Editor $editor) { $uid = \Drupal::currentUser()->id(); $query = \Drupal::service('entity.query'); $ref_ids = $query ->get('bibcite_reference') ->condition('uid', $uid) ->execute(); $reference_storage = \Drupal::entityTypeManager()->getStorage('bibcite_reference')->loadMultiple($ref_ids); $view_builder = \Drupal::entityTypeManager()->getViewBuilder('bibcite_reference'); $options = []; foreach($reference_storage as $ref_id => $ref_item) { $build = $view_builder->view($ref_item, 'citation'); $render = render($build); $output = trim(strip_tags($render)); //$options[] = [$output, $ref_id]; $options[] = [$output, "[bibcite_reference:$ref_id]"]; } return ['referenceFootnotes_list' => $options]; } }