(function ($) { $.fn.UmbQuickSearch = function (url) { var getSearchApp = function () { if (UmbClientMgr.mainWindow().location.hash != "") { switch (UmbClientMgr.mainWindow().location.hash.toLowerCase().substring(1).toLowerCase()) { case "media": return "Media"; break; case "content": return "Content"; break; case "member": return "Member"; break; default: return "Content"; } } return "Content"; /* return (UmbClientMgr.mainWindow().location.hash != "" && UmbClientMgr.mainWindow().location.hash.toLowerCase().substring(1)) == "media".toLowerCase() ? "Media" : "Content"; */ }; var acOptions = { minChars: 2, max: 100, cacheLength: 1, dataType: 'json', matchCase: true, matchContains: false, selectFirst: false, // FR: This enabled the search popup to show, otherwise it selects the first item extraParams: { //return the current app, if it's not media, then it's Content as this is the only searches that are supported. app: function () { return getSearchApp(); }, rnd: function () { return Umbraco.Utils.generateRandom(); } }, parse: function (data) { var parsed = []; for (var i = 0; i < data.length; i++) { parsed[parsed.length] = { data: data[i], value: data[i].Id, result: data[i].Fields.nodeName }; } return parsed; }, formatItem: function (item) { return item.Fields.nodeName + " (" + item.Id + ") "; }, focus: function (event, ui) { $(ui).attr("title", $(ui).find("span[title]").attr("title")); } }; $(this) .autocomplete(url, acOptions) .result(function (e, data) { var url = ""; switch (getSearchApp()) { case "Media": url = "editMedia.aspx"; break; case "Content": url = "editContent.aspx"; break; case "Member": url = "members/editMember.aspx"; break; default: url = "editContent.aspx"; } UmbClientMgr.contentFrame().location.href = url + "?id=" + data.Id; $("#umbSearchField").val(UmbClientMgr.uiKeys()["general_typeToSearch"]); right.focus(); }); $(this).focus(function () { $(this).val(''); }); $(this).blur(function () { $(this).val(UmbClientMgr.uiKeys()["general_typeToSearch"]); }); $(this).keyup(function (e) { if (e.keyCode == 13) { UmbClientMgr.openModalWindow('dialogs/search.aspx?rndo=' + Umbraco.Utils.generateRandom() + '&search=' + jQuery(this).val() + '&app=' + getSearchApp(), 'Search', true, 620, 470); return false; } }); } })(jQuery);