Habari\FormControlAutocomplete::pre_out PHP Метод

pre_out() публичный Метод

Return the HTML/script required for this control. Do it only once.
public pre_out ( ) : string
Результат string The HTML/javascript required for this control.
    public function pre_out()
    {
        $out = '';
        if (!self::$outpre) {
            self::$outpre = true;
            $out = <<<CUSTOM_AUTOCOMPLETE_JS
\t\t\t\t<script type="text/javascript">
controls.init(function(){
\t\$('.autocomplete_control').each(function(){
\t\tvar self = \$(this);
\t\tvar autocomplete_config = self.data('autocomplete-config');
\t\tif(autocomplete_config.ajax_url) {
\t\t\t\$.extend(autocomplete_config, {
\t\t\t\tajax: {
\t\t\t\t\turl: autocomplete_config.ajax_url,
\t\t\t\t\tdataType: 'json',
\t\t\t\t\tdata: function (term, page) { return {q: term} },
\t\t\t\t\tresults: function (data, page) { return data.data; }
\t\t\t\t}
\t\t\t});
\t\t}
\t\tif(autocomplete_config.ajax_ishtml) {
\t\t\t\$.extend(autocomplete_config, {
\t\t\t\tescapeMarkup: function(m) { return m; }
\t\t\t});
\t\t}
\t\tif(autocomplete_config.allow_new) {
\t\t\t\$.extend(autocomplete_config, {
\t\t\t\tcreateSearchChoice: function(term) {
\t\t\t\t\treturn {id:term, text:term};
\t\t\t\t}
\t\t\t});
\t\t}
\t\tif(autocomplete_config.init_selection) {
\t\t\t\$.extend(autocomplete_config, {
\t\t\t\tinitSelection: function(element, callback) {
\t\t\t\t\tvar data = [];
\t\t\t\t\t\$(element.val().split(',')).each(function () {
\t\t\t\t\t\tdata.push({id: this, text: this});
\t\t\t\t\t});
\t\t\t\t\tcallback(data);
\t\t\t\t}
\t\t\t});
\t\t}
\t\t\$.extend(autocomplete_config, {
\t\t\twidth: 'resolve'
\t\t});
\t\tconsole.log(autocomplete_config);
\t\tself.select2(autocomplete_config);
\t});

\t\$('.autocomplete_control').closest('form').submit(function(){
\t});
});
\t\t\t\t</script>
CUSTOM_AUTOCOMPLETE_JS;
        }
        return $this->controls_js($out);
    }