From 942dd2c1fcd577300df1cf15a702268f61e62af8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ph=C3=A9na=20Proxima?= Date: Mon, 25 Apr 2016 16:19:20 -0400 Subject: [PATCH 1/2] Added configuration options for the DropzoneJS EB widget. --- .../Widget/DropzoneJsEbWidget.php | 34 +++++++++++++++++-- 1 file changed, 31 insertions(+), 3 deletions(-) diff --git a/modules/eb_widget/src/Plugin/EntityBrowser/Widget/DropzoneJsEbWidget.php b/modules/eb_widget/src/Plugin/EntityBrowser/Widget/DropzoneJsEbWidget.php index aadd9ba..7574637 100644 --- a/modules/eb_widget/src/Plugin/EntityBrowser/Widget/DropzoneJsEbWidget.php +++ b/modules/eb_widget/src/Plugin/EntityBrowser/Widget/DropzoneJsEbWidget.php @@ -83,28 +83,56 @@ public static function create(ContainerInterface $container, array $configuratio */ public function defaultConfiguration() { return [ + 'dropzone_title' => $this->t('File upload'), 'upload_location' => 'public://', - 'dropzone_description' => t('Drop files here to upload them'), + 'dropzone_description' => $this->t('Drop files here to upload them'), 'max_filesize' => file_upload_max_size() / pow(Bytes::KILOBYTE, 2) . 'M', 'extensions' => 'jpg jpeg gif png txt doc xls pdf ppt pps odt ods odp', ] + parent::defaultConfiguration(); } + /** + * {@inheritdoc} + */ + public function buildConfigurationForm(array $form, FormStateInterface $form_state) { + $config = $this->getConfiguration(); + + $form['dropzone_title'] = [ + '#type' => 'textfield', + '#title' => $this->t('Dropzone label'), + '#default_value' => $config['settings']['dropzone_title'], + ]; + $form['dropzone_description'] = [ + '#type' => 'textarea', + '#title' => $this->t('Dropzone description'), + '#default_value' => $config['settings']['dropzone_description'], + ]; + $form['extensions'] = [ + '#type' => 'textfield', + '#title' => $this->t('Allowed extensions'), + '#required' => TRUE, + '#default_value' => $config['settings']['extensions'], + ]; + return $form; + } + /** * {@inheritdoc} */ public function getForm(array &$original_form, FormStateInterface $form_state, array $aditional_widget_parameters) { $config = $this->getConfiguration(); $form['upload'] = [ - '#title' => t('File upload'), '#type' => 'dropzonejs', '#required' => TRUE, '#dropzone_description' => $config['settings']['dropzone_description'], '#max_filesize' => $config['settings']['max_filesize'], '#extensions' => $config['settings']['extensions'], ]; + if (!empty($config['settings']['dropzone_title'])) { + $form['upload']['#title'] = $config['settings']['dropzone_title']; + } - // Disable the submit button until the upload sucesfully completed. + // Disable the submit button until the upload successfully completes. $form['#attached']['library'][] = 'dropzonejs_eb_widget/common'; $original_form['#attributes']['class'][] = 'dropzonejs-disable-submit'; From ef61dd09b5f4461af092e4222a01506843c1c363 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ph=C3=A9na=20Proxima?= Date: Tue, 26 Apr 2016 08:41:50 -0400 Subject: [PATCH 2/2] Added max_filesize field to widget settings form. --- .../src/Plugin/EntityBrowser/Widget/DropzoneJsEbWidget.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/eb_widget/src/Plugin/EntityBrowser/Widget/DropzoneJsEbWidget.php b/modules/eb_widget/src/Plugin/EntityBrowser/Widget/DropzoneJsEbWidget.php index 7574637..4109d55 100644 --- a/modules/eb_widget/src/Plugin/EntityBrowser/Widget/DropzoneJsEbWidget.php +++ b/modules/eb_widget/src/Plugin/EntityBrowser/Widget/DropzoneJsEbWidget.php @@ -107,6 +107,11 @@ public function buildConfigurationForm(array $form, FormStateInterface $form_sta '#title' => $this->t('Dropzone description'), '#default_value' => $config['settings']['dropzone_description'], ]; + $form['max_filesize'] = [ + '#type' => 'textfield', + '#title' => $this->t('Maximum file size'), + '#default_value' => $config['settings']['max_filesize'], + ]; $form['extensions'] = [ '#type' => 'textfield', '#title' => $this->t('Allowed extensions'),