PageSourceSearch

https://festivall.com.tr/kurumlar_complate/js/jquery.autocomplete.multiselect.js

js festivall.com.tr collected 2026-09-25 00:48:50 UTC 2,929 bytes, 79 lines download raw bytes

1// http://jsfiddle.net/mekwall/sgxKJ/
2
3$.widget("ui.autocomplete", $.ui.autocomplete, {
4    options : $.extend({}, this.options, {
5        multiselect: false
6    }),
7    _create: function(){
8        this._super();
9
10        var self = this,
11            o = self.options;
12
13        if (o.multiselect) {
14            console.log('multiselect true');
15
16            self.selectedItems = {};           
17            self.multiselect = $("<div></div>")
18                .addClass("ui-autocomplete-multiselect ui-state-default ui-widget")
19                .css("width", self.element.width())
20                .insertBefore(self.element)
21                .append(self.element)
22                .bind("click.autocomplete", function(){
23                    self.element.focus();
24                });
25            
26            var fontSize = parseInt(self.element.css("fontSize"), 10);
27            function autoSize(e){
28                // Hackish autosizing
29                var $this = $(this);
30                $this.width(1).width(this.scrollWidth+fontSize-1);
31            };
32
33            var kc = $.ui.keyCode;
34            self.element.bind({
35                "keydown.autocomplete": function(e){
36                    if ((this.value === "") && (e.keyCode == kc.BACKSPACE)) {
37                        var prev = self.element.prev();
38                        delete self.selectedItems[prev.text()];
39                        prev.remove();
40                    }
41                },
42                // TODO: Implement outline of container
43                "focus.autocomplete blur.autocomplete": function(){
44                    self.multiselect.toggleClass("ui-state-active");
45                },
46                "keypress.autocomplete change.autocomplete focus.autocomplete blur.autocomplete": autoSize
47            }).trigger("change");
48
49            // TODO: There's a better way?
50            o.select = o.select || function(e, ui) {
51                $("<div></div>")
52                    .addClass("ui-autocomplete-multiselect-item")
53                    .text(ui.item.label)
54                    .append(
55                        $("<span></span>")
56                            .addClass("ui-icon ui-icon-close")
57                            .click(function(){
58                                var item = $(this).parent();
59                                delete self.selectedItems[item.text()];
60                                item.remove();
61                            })
62                    )
63                    .insertBefore(self.element);
64                
65                self.selectedItems[ui.item.label] = ui.item;
66                self._value("");
67                return false;
68            }
69
70            /*self.options.open = function(e, ui) {
71                var pos = self.multiselect.position();
72                pos.top += self.multiselect.height();
73                self.menu.element.position(pos);
74            }*/
75        }
76
77        return this;
78    }
79});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.