Issue #2536456 by mbovan, Berdir, Wim Leers, dawehner: Autocomplete is broken (its JS it not loaded)
parent
e8e883f9c8
commit
f678e370ff
|
@ -128,10 +128,10 @@ abstract class FormElement extends RenderElement implements FormElementInterface
|
|||
$metadata = BubbleableMetadata::createFromRenderArray($element);
|
||||
if ($access->isAllowed()) {
|
||||
$element['#attributes']['class'][] = 'form-autocomplete';
|
||||
$element['#attached']['library'][] = 'core/drupal.autocomplete';
|
||||
$metadata->addAttachments(['library' => ['core/drupal.autocomplete']]);
|
||||
// Provide a data attribute for the JavaScript behavior to bind to.
|
||||
$element['#attributes']['data-autocomplete-path'] = $url->getGeneratedUrl();
|
||||
$metadata->merge($url);
|
||||
$metadata = $metadata->merge($url);
|
||||
}
|
||||
$metadata
|
||||
->merge(BubbleableMetadata::createFromObject($access))
|
||||
|
|
|
@ -151,6 +151,9 @@ class ElementTest extends WebTestBase {
|
|||
$this->drupalLogin($user);
|
||||
$this->drupalGet('form-test/autocomplete');
|
||||
|
||||
// Make sure that the autocomplete library is added.
|
||||
$this->assertRaw('core/misc/autocomplete.js');
|
||||
|
||||
$result = $this->xpath('//input[@id="edit-autocomplete-1" and contains(@data-autocomplete-path, "form-test/autocomplete-1")]');
|
||||
$this->assertEqual(count($result), 1, 'Ensure that the user does have access to the autocompletion');
|
||||
$result = $this->xpath('//input[@id="edit-autocomplete-2" and contains(@data-autocomplete-path, "form-test/autocomplete-2/value")]');
|
||||
|
|
Loading…
Reference in New Issue