|
1 | 1 | <?php if ($field->title) { ?><label for="<?php echo $field->id; ?>"><?php echo $field->title; ?></label><?php } ?>
|
2 |
| - |
3 | 2 | <?php
|
4 | 3 | $in_filter_as = $field->getOption('in_filter_as');
|
5 | 4 | if($field->context === 'filter' && $in_filter_as && $in_filter_as !== 'input'){ ?>
|
|
20 | 19 | <?php if(isset($field->suffix)) { ?><span class="suffix"><?php echo $field->suffix; ?></span><?php } ?>
|
21 | 20 | </div>
|
22 | 21 | <?php } ?>
|
23 |
| -<?php if($field->getOption('show_symbol_count')){ ?> |
| 22 | +<?php if($field->getOption('show_symbol_count')){ ob_start(); ?> |
24 | 23 | <script type="text/javascript">
|
25 | 24 | $(function(){
|
26 |
| - icms.forms.initSymbolCount('<?php echo $field->id; ?>', <?php echo intval($field->getOption('max_length')) ?: 0; ?>, <?php echo intval($field->getOption('min_length')) ?: 0; ?>); |
| 25 | + icms.forms.initSymbolCount('<?php echo $field->id; ?>', <?php echo intval($field->getOption('max_length', 0)); ?>, <?php echo intval($field->getOption('min_length', 0)); ?>); |
27 | 26 | });
|
28 | 27 | </script>
|
29 |
| -<?php } ?> |
| 28 | +<?php $this->addBottom(ob_get_clean()); } ?> |
30 | 29 | <?php if($field->data['autocomplete']){ ?>
|
31 |
| - <?php $this->addJSFromContext('templates/default/js/jquery-ui.js'); ?> |
32 |
| - <?php $this->addCSSFromContext('templates/default/css/jquery-ui.css'); ?> |
33 |
| - |
34 |
| -<script type="text/javascript"> |
35 |
| - var cache = {}; |
36 |
| - <?php if(!empty($field->data['autocomplete']['multiple'])) { ?> |
37 |
| - $( "#<?php echo $field->id; ?>" ).bind('keydown', function( event ) { |
38 |
| - if ( event.keyCode === $.ui.keyCode.TAB && |
39 |
| - $( this ).data('ui-autocomplete').menu.active ) { |
40 |
| - event.preventDefault(); |
41 |
| - } |
42 |
| - }).autocomplete({ |
43 |
| - minLength: 2, |
44 |
| - source: function( request, response ) { |
45 |
| - var full_term = request.term; |
46 |
| - var term = full_term.split( /,\s*/ ).pop(); |
47 |
| - if (term.length < 2) { |
48 |
| - return false; |
49 |
| - } |
50 |
| - if (term in cache) { |
51 |
| - response(cache[term]); |
52 |
| - return; |
53 |
| - } |
54 |
| - $.getJSON( '<?php echo $field->data['autocomplete']['url']; ?>', { |
55 |
| - term: term |
56 |
| - }, function(data, status, xhr) { |
57 |
| - cache[term] = data; |
58 |
| - response(data); |
59 |
| - }); |
60 |
| - }, |
61 |
| - focus: function() { |
62 |
| - return false; |
63 |
| - }, |
64 |
| - select: function( event, ui ) { |
65 |
| - var terms = this.value.split( /,\s*/ ); |
66 |
| - terms.pop(); |
67 |
| - terms.push( ui.item.value ); |
68 |
| - terms.push(''); |
69 |
| - this.value = terms.join(', '); |
70 |
| - icms.events.run('autocomplete_select', this); |
71 |
| - return false; |
72 |
| - } |
73 |
| - }); |
74 |
| - <?php } else { ?> |
75 |
| - $( "#<?php echo $field->id; ?>" ).autocomplete({ |
76 |
| - minLength: 2, |
77 |
| - delay: 500, |
78 |
| - source: function( request, response ) { |
79 |
| - var term = request.term; |
80 |
| - if ( term in cache ) { |
81 |
| - response( cache[ term ] ); |
82 |
| - return; |
83 |
| - } |
84 |
| - $.getJSON('<?php echo $field->data['autocomplete']['url']; ?>', request, function( data, status, xhr ) { |
85 |
| - cache[ term ] = data; |
86 |
| - response( data ); |
87 |
| - }); |
88 |
| - }, |
89 |
| - select: function( event, ui ) { |
90 |
| - icms.events.run('autocomplete_select', this); |
91 |
| - } |
92 |
| - }); |
93 |
| - <?php } ?> |
94 |
| -</script> |
| 30 | + <?php $this->addJSFromContext($this->getJavascriptFileName('jquery-ui')); ?> |
| 31 | + <?php $this->addCSSFromContext($this->getTemplateStylesFileName('jquery-ui')); ?> |
| 32 | + <?php ob_start(); ?> |
| 33 | + <script type="text/javascript"> |
| 34 | + initAutocomplete('<?php echo $field->id; ?>', <?php echo (!empty($field->data['autocomplete']['multiple']) ? 'true' : 'false') ?>, '<?php echo $field->data['autocomplete']['url']; ?>', <?php echo (!empty($field->data['autocomplete']['data']) ? json_encode($field->data['autocomplete']['data']) : 'false') ?>, '<?php echo $field->data['autocomplete']['multiple_separator'] ?>'); |
| 35 | + </script> |
| 36 | + <?php $this->addBottom(ob_get_clean()); ?> |
95 | 37 | <?php }
|
96 | 38 | }
|
97 |
| - |
0 commit comments