;(function($) { if (!$.suggest) { alert("$.suggest required"); } $.suggest("suggestterm", $.extend(true, {}, $.suggest.suggest.prototype, { create_item: function(data,response_data) { var css = this.options.css; var li = $("<li>").addClass(css.item); var name = $("<div>").addClass(css.item_name) .append($("<label>") .append($.suggest.strongify(data.name,response_data.prefix))); // this converts html escaped strings like "&" // back to "&" data.name = name.text(); li.append(name); name.prepend($("<div>").addClass(css.item_type).text(data.id)); return li; }, flyout_request:function(data){ var self = this; var o = this.options, sug_data = this.flyoutpane.data("data.suggest"); if (sug_data && data.id === sug_data.id) { if (!this.flyoutpane.is(":visible")) { var s = this.get_selected(); this.flyout_position(s); this.flyoutpane.show(); this.input.trigger("fb-flyoutpane-show", this); } return; } // check $.suggest.flyout.cache var cached = $.suggest.flyout.cache[data.id]; if (cached) { this.flyout_response(cached); return; } clearTimeout(this.flyout_request.timeout); this.flyout_request.timeout = setTimeout(function(){self.flyout_response(data);}, o.xhr_delay); }, flyout_response:function(data){ var o = this.options, p = this.pane, s = this.get_selected() || []; if (p.is(":visible") && s.length) { var sug_data = s.data("data.suggest"); if (sug_data && data.id === sug_data.id) { this.flyoutpane.html('<div class="fbs-flyout-content">' + data.description + '</div>'); this.flyout_position(s); this.flyoutpane.show() .data("data.suggest", sug_data); this.input.trigger("fb-flyoutpane-show", this); } } } })); $.extend($.suggest.suggestterm, { defaults: $.extend(true, {}, $.suggest.suggest.defaults, { service_url: "", service_path: "/command/rdf-exporter-extension/suggest-term", type_strict:"classes", suggest_new:"Add it" }) }); })(jQuery);