5 * Contains dropzonejs.module.
8 use Drupal\Core\Routing\RouteMatchInterface;
11 * Implements hook_help().
13 function dropzonejs_help($route_name, RouteMatchInterface $route_match) {
15 switch ($route_name) {
16 // Main module help for the dropzonejs module.
17 case 'help.page.dropzonejs':
18 $output .= '<h3>' . t('About') . '</h3>';
19 $output .= '<p>' . t('DropzoneJS') . '</p>';
26 * Implements hook_theme().
28 function dropzonejs_theme() {
31 'render element' => 'element',
37 * Prepares variables for dropzone form element.
39 * Default template: dropzonejs.html.twig.
41 * @param array $variables
42 * An associative array containing:
43 * - element: A render element representing the file.
45 function template_preprocess_dropzonejs(array &$variables) {
46 $element = $variables['element'];
48 $variables['attributes'] = [];
49 if (isset($element['#id'])) {
50 $variables['attributes']['id'] = $element['#id'];
52 if (!empty($element['#attributes']['class'])) {
53 $variables['attributes']['class'] = (array) $element['#attributes']['class'];
56 $variables['dropzone_description'] = $element['#dropzone_description'];
57 $variables['or_text'] = t('or');
58 $variables['select_files_button_text'] = t('Select files');
59 $variables['uploaded_files'] = $element['uploaded_files'];
63 * Implements hook_library_info_alter().
65 function dropzonejs_library_info_alter(&$libraries, $extension) {
66 if ($extension == 'dropzonejs' && \Drupal::moduleHandler()->moduleExists('libraries')) {
67 $libraries['dropzonejs']['js'] = ['/' . libraries_get_path('dropzone') . '/dist/min/dropzone.min.js' => []];
68 $libraries['dropzonejs']['css']['component'] = ['/' . libraries_get_path('dropzone') . '/dist/min/dropzone.min.css' => []];