| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 | <style>    .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); }    .autocomplete-suggestion { padding: 2px 5px; white-space: nowrap; overflow: hidden; }    .autocomplete-no-suggestion { padding: 2px 5px;}    .autocomplete-selected { background: #F0F0F0; }    .autocomplete-suggestions strong { font-weight: bold; color: #000; }    .autocomplete-group { padding: 2px 5px; font-weight: bold; font-size: 16px; color: #000; display: block; border-bottom: 1px solid #000; }</style>@include('admin::form.input')<script init="{!! $selector !!}" require="@autocomplete">    var configs = {!! $configs !!};    @if(isset($ajax))    configs = $.extend(configs, {        serviceUrl: '{{ $ajax['url'] }}',        groupBy: '{{ $ajax['groupField'] }}',        dataType: 'json',        transformResult: function (response) {            return {                suggestions: (function (data, valueField) {                    if (!data) {                        return [];                    }                    if (valueField) {                        return $.map(data, function (dat) {                            return {value: Dcat.helpers.get(dat, valueField) + '', data: dat};                        });                    }                    return data;                })(response.data, '{{ $ajax['valueField'] }}')            };        }    });    @else    configs = $.extend(configs, {        lookup: {!! $options !!}    });    @endif    @if(isset($depends))    var fields = {!! $depends['fields'] !!};    configs = $.extend(configs, {        'onSearchStart': function (params) {            var formData = $this.closest('form').serializeArray();            var p = {};            for (var field of fields) {                for (var data of formData) {                    if (!data.value.length){                        continue;                    }                    if (data.name === field) {                        p[field] = data.value                    }                    if (data.name === field + '[]') {                        if(!Array.isArray(p[field])){                            p[field] = []                        }                        p[field].push(data.value);                    }                }                if (!p.hasOwnProperty(field)){                    return false;                }            }            params = $.extend(params, p);        }    })    @if($depends['clear'])    $.map(fields, function (field) {        var _selectors = [            '[name="' + field + '"]',            '[name="' + field + '[]"]'        ];        $.map(_selectors, function(_selector){            $this.closest('form').off('change.depends', _selector)                .on('change.depends', _selector, function () {                    $this.val('');                });        })    });    @endif    @endif    $this.autocomplete(configs);</script>
 |