autocomplete.blade.php 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <style>
  2. .autocomplete-suggestions { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; border: 1px solid #999; background: #FFF; cursor: default; overflow: auto; -webkit-box-shadow: 1px 4px 3px rgba(50, 50, 50, 0.64); -moz-box-shadow: 1px 4px 3px rgba(50, 50, 50, 0.64); box-shadow: 1px 4px 3px rgba(50, 50, 50, 0.64); }
  3. .autocomplete-suggestion { padding: 2px 5px; white-space: nowrap; overflow: hidden; }
  4. .autocomplete-no-suggestion { padding: 2px 5px;}
  5. .autocomplete-selected { background: #F0F0F0; }
  6. .autocomplete-suggestions strong { font-weight: bold; color: #000; }
  7. .autocomplete-group { padding: 2px 5px; font-weight: bold; font-size: 16px; color: #000; display: block; border-bottom: 1px solid #000; }
  8. </style>
  9. <div class="{{$viewClass['form-group']}}">
  10. <div class="{{$viewClass['label']}} control-label">
  11. <span>{!! $label !!}</span>
  12. </div>
  13. <div class="{{$viewClass['field']}}">
  14. @include('admin::form.error')
  15. <div class="input-group">
  16. @if ($prepend)
  17. <span class="input-group-prepend"><span class="input-group-text bg-white">{!! $prepend !!}</span></span>
  18. @endif
  19. <input {!! $attributes !!} />
  20. @if ($append)
  21. <span class="input-group-append">{!! $append !!}</span>
  22. @endif
  23. </div>
  24. @include('admin::form.help-block')
  25. </div>
  26. </div>
  27. <script init="{!! $selector !!}" require="@autocomplete">
  28. var configs = {!! $configs !!};
  29. @if(isset($ajax))
  30. configs = $.extend(configs, {
  31. serviceUrl: '{{ $ajax['url'] }}',
  32. dataType: 'json',
  33. transformResult: function (response, originalQuery) {
  34. return {
  35. suggestions: (function (data, valueField, groupField) {
  36. if (valueField) {
  37. return $.map(data, function (dat) {
  38. return {value: Dcat.helpers.get(dat,valueField), data: {group: Dcat.helpers.get(dat,groupField)}};
  39. });
  40. }
  41. return data;
  42. })(response.data, '{{ $ajax['valueField'] }}', '{{ $ajax['groupField'] }}')
  43. };
  44. }
  45. });
  46. @else
  47. configs = $.extend(configs, {
  48. lookup: {!! $options !!}
  49. });
  50. @endif
  51. $this.autocomplete(configs);
  52. </script>