/**
  * {@inheritdoc}
  */
 public function viewElements(FieldItemListInterface $items, $langcode)
 {
     $elements = parent::viewElements($items, $langcode);
     $conversion = $this->getSetting('conversion');
     $catalog_id = $this->getFieldSetting('catalog_id');
     /** @var \Drupal\embridge\EmbridgeCatalogInterface $catalog */
     $catalog = EmbridgeCatalog::load($catalog_id);
     foreach ($elements as $delta => $element) {
         $elements[$delta]['#theme'] = 'embridge_image';
         $elements[$delta]['#conversion'] = $conversion;
         $elements[$delta]['#application_id'] = $catalog->getApplicationId();
     }
     return $elements;
 }
Esempio n. 2
0
 /**
  * {@inheritdoc}
  */
 public function fieldSettingsForm(array $form, FormStateInterface $form_state)
 {
     $element = array();
     $field_settings = $this->getSettings();
     $embridge_settings = \Drupal::config('embridge.settings');
     /** @var EmbridgeCatalog[] $entities */
     $entities = EmbridgeCatalog::loadMultiple();
     $options = [];
     foreach ($entities as $entity) {
         $options[$entity->id()] = $entity->label();
     }
     $element['catalog_id'] = array('#type' => 'select', '#title' => t('Catalog'), '#default_value' => $field_settings['catalog_id'], '#options' => $options, '#description' => t("Select the Catalog to source media from for this field."), '#required' => TRUE, '#weight' => 6);
     $libraries_admin = Link::fromTextAndUrl('libraries admin', Url::fromUri($embridge_settings->get('uri') . '/' . $field_settings['catalog_id'] . '/views/modules/library/index.html'));
     $element['library_id'] = array('#type' => 'textfield', '#title' => t('Library'), '#default_value' => $field_settings['library_id'], '#description' => t("Limit uploads via this field to a specific library. This will also provide a default library on the asset search advanced filter. To identify the library ID, select the library on the @libraries_admin page and note the ID.", ['@libraries_admin' => $libraries_admin->toString()]), '#required' => FALSE, '#size' => 10, '#weight' => 6);
     $element['allow_search'] = array('#type' => 'checkbox', '#title' => t('Allow search'), '#default_value' => $field_settings['allow_search'], '#description' => t("Check this to allow users to search EMDB for existing assets, requires <em>search embridge assets</em> permission."), '#weight' => 6);
     return $element + parent::fieldSettingsForm($form, $form_state);
 }
Esempio n. 3
0
 /**
  * {@inheritdoc}
  *
  * @see editor_image_upload_settings_form()
  */
 public function settingsForm(array $form, FormStateInterface $form_state, Editor $editor)
 {
     $editor_settings = $editor->getSettings();
     $plugin_settings = !empty($editor_settings['plugins']['embridgeimage']['embridge_image_upload']) ? $editor_settings['plugins']['embridgeimage']['embridge_image_upload'] : [];
     $plugin_settings += ['directory' => 'embridge-inline-images', 'max_size' => '', 'catalog_id' => '', 'enabled' => FALSE];
     $sub_form = [];
     $sub_form['warning'] = ['#markup' => t("<strong>Warning: This plugin overrides the standard drupal image plugin.</strong>")];
     $sub_form['enabled'] = ['#type' => 'checkbox', '#default_value' => $plugin_settings['enabled'], '#title' => t('Enable plugin'), '#description' => t("Tick this to connect the image dialog with EMDB."), '#attributes' => array('data-editor-embridge-upload' => 'enabled')];
     $show_if_plugin_uploads_enabled = array('visible' => array(':input[data-editor-embridge-upload="enabled"]' => array('checked' => TRUE)));
     $sub_form['directory'] = ['#type' => 'textfield', '#default_value' => $plugin_settings['directory'], '#title' => t('Upload directory'), '#description' => t("A temporary directory to upload images into before sending to EMDB."), '#states' => $show_if_plugin_uploads_enabled];
     $default_max_size = format_size(file_upload_max_size());
     $sub_form['max_size'] = ['#type' => 'textfield', '#default_value' => $plugin_settings['max_size'], '#title' => t('Maximum file size'), '#description' => t('If this is left empty, then the file size will be limited by the PHP maximum upload size of @size.', ['@size' => $default_max_size]), '#maxlength' => 20, '#size' => 10, '#placeholder' => $default_max_size, '#states' => $show_if_plugin_uploads_enabled];
     /** @var EmbridgeCatalog[] $entities */
     $entities = EmbridgeCatalog::loadMultiple();
     $options = [];
     foreach ($entities as $entity) {
         $options[$entity->id()] = $entity->label();
     }
     $sub_form['catalog_id'] = ['#type' => 'select', '#title' => t('Catalog'), '#default_value' => $plugin_settings['catalog_id'], '#options' => $options, '#description' => t("Select the Catalog to source media from for this field."), '#required' => TRUE, '#weight' => 6, '#states' => $show_if_plugin_uploads_enabled];
     $sub_form['library_id'] = array('#type' => 'textfield', '#title' => t('Library'), '#default_value' => $plugin_settings['library_id'], '#description' => t("Limit uploads via this field to a specific library."), '#required' => FALSE, '#size' => 10, '#weight' => 6);
     $sub_form['#attached']['library'][] = 'embridge_ckeditor/drupal.embridge_ckeditor.embridgeimage.admin';
     $form['embridge_image_upload'] = $sub_form;
     return $form;
 }