-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathopenai_image.module
33 lines (29 loc) · 1.03 KB
/
openai_image.module
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
/**
* @file
* Primary module hooks for OpenAI Image module.
*/
use Drupal\Core\Form\FormStateInterface;
use Drupal\openai_image\OpenAIFileField;
/**
* Implements hook_field_widget_single_element_form_alter().
*/
function openai_image_field_widget_single_element_form_alter(&$element, FormStateInterface $form_state, $context) {
if ($context['widget']->getPluginId() === 'openai_image_openai_image_generator') {
$class = OpenAIFileField::class;
$element['#process'][] = [$class, 'processWidget'];
if (empty($element['#file_value_callbacks'])) {
$info = \Drupal::service('element_info')->getInfo($element['#type']);
if (!empty($info['#file_value_callbacks'])) {
$element['#file_value_callbacks'] = $info['#file_value_callbacks'];
}
}
$element['#file_value_callbacks'][] = [$class, 'setWidgetValue'];
}
}
/**
* Implements hook_filefield_preprocess().
*/
function openai_image_preprocess(&$variables, $hook) {
$variables['#attached']['library'][] = 'openai_image/openai_image_filefield';
}