Source of file GroupedDropdown2AutocompleteField.php
Size: 1,571 Bytes - Last Modified: 2021-12-23T10:39:29+00:00
/var/www/docs.ssmods.com/process/src/code/forms/GroupedDropdown2AutocompleteField.php
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 | <?php /** * just like a GroupDropdownField but now with an autocomplete * system baked into it. * * */ class GroupedDropdown2AutocompleteField extends DropdownField { /** * @var boolean */ private $autocomplete = true; /** * * @return $this */ public function turnOnAutocomplete() { $this->autocomplete = true; return $this; } /** * * @return $this */ public function turnOffAutocomplete() { $this->autocomplete = false; return $this; } /** * @param array $parameters * @return string */ public function Field($parameters = array()) { $field = parent::Field($parameters); if ($this->autocomplete) { $this->addExtraClass("chosenAutocompleteField"); $field = parent::Field($parameters); Requirements::css("dropdown2autocomplete/javascript/chosen/chosen.min.css"); Requirements::javascript(THIRDPARTY_DIR . '/jquery/jquery.js'); Requirements::javascript("dropdown2autocomplete/javascript/chosen/chosen.jquery.min.js"); Requirements::customScript( ' jQuery("#'.$this->ID().'").chosen('.$this->Config()->get("js_settings").'); jQuery("body").on( "focus", ".chosenAutocompleteField:visible", function(){ jQuery(this).chosen('.$this->Config()->get("js_settings").'); } ); ', $this->ID()."_chosen_setup" ); } return $field; } } |