1 <?php
2
3 4 5 6 7 8 9 10 11 12 13 14 15
16 class AutoCompleteField extends TextField {
17
18 19 20 21 22 23 24
25 public static function render($results) {
26 if(!$results) return false;
27
28 $template = new SSViewer('AutoComplete_default');
29 return $template->process(new ArrayData(array (
30 'Results' => $results
31 )));
32 }
33
34 35 36 37 38 39 40
41 public function __construct($name, $title, $url = "autocomplete", $val = null) {
42 parent::__construct($name, $title, $val);
43 if(!stristr($url,'/')) {
44
45 $url = Controller::curr()->Link($url);
46 }
47 $this->addExtraClass("autocomplete_input");
48 $this->addExtraClass("{'url' : '$url'}");
49 }
50
51 52 53 54 55 56
57 public function Field() {
58 Requirements::javascript(THIRDPARTY_DIR.'/jquery/jquery.js');
59 Requirements::javascript(THIRDPARTY_DIR.'/jquery-metadata/jquery.metadata.js');
60 Requirements::javascript('dataobject_manager/code/autocomplete_field/javascript/autocomplete_field.js');
61 Requirements::css('dataobject_manager/code/autocomplete_field/css/autocomplete_field.css');
62 return '<div class="autocomplete_holder">'.parent::Field().'<div class="autocomplete_results"></div></div>';
63 }
64 }
[Raise a SilverStripe Framework issue/bug](https://github.com/silverstripe/silverstripe-framework/issues/new)
- [Raise a SilverStripe CMS issue/bug](https://github.com/silverstripe/silverstripe-cms/issues/new)
- Please use the
Silverstripe Forums to ask development related questions.
-