diff --git a/frappe/public/css/desk.css b/frappe/public/css/desk.css index fbe4fa7890..1280c4f110 100644 --- a/frappe/public/css/desk.css +++ b/frappe/public/css/desk.css @@ -712,9 +712,9 @@ fieldset[disabled] .form-control { font-size: 20px; display: block; } -.search-dialog .results-area a { +/*.search-dialog .results-area a { color: #5E64FF; -} +}*/ .search-dialog .results-area .single-link a { color: #36414c; } diff --git a/frappe/public/js/frappe/ui/toolbar/awesome_bar.js b/frappe/public/js/frappe/ui/toolbar/awesome_bar.js index fd1037a0df..7d0eee6d8a 100644 --- a/frappe/public/js/frappe/ui/toolbar/awesome_bar.js +++ b/frappe/public/js/frappe/ui/toolbar/awesome_bar.js @@ -58,7 +58,7 @@ frappe.search.AwesomeBar = Class.extend({ sort: function(a, b) { var a_index = a.split("%%%")[3]; var b_index = b.split("%%%")[3]; - return (a_index - b_index); + return (a_index*10 - b_index*10); } }); @@ -217,7 +217,7 @@ frappe.search.AwesomeBar = Class.extend({ out.label = match[0].bold(); out.value = match[0]; } - out.index = 29; + out.index = 30; out.default = "Recent"; return out; }, true); @@ -263,9 +263,7 @@ frappe.search.AwesomeBar = Class.extend({ var ilen = item.length; var tlen = txt.length; - var match_level1 = 0.5; - var match_level2 = 0.8; - var index = ((tlen/ilen) > match_level1) ? 24 : index; + var match_level = tlen/ilen; var rendered_label = ""; var i, j, skips = 0, mismatches = 0; @@ -273,14 +271,9 @@ frappe.search.AwesomeBar = Class.extend({ return []; } if (item.indexOf(txt) !== -1) { - // prefer single words - index = (item.indexOf(' ') === -1) ? index-1 : index; - index = ((tlen/ilen) > match_level2) ? 21 : index; - var regEx = new RegExp("("+ txt +")", "ig"); rendered_label = _item.replace(regEx, '$1'); - - return [_item, index, rendered_label]; + return [_item, ilen/50, rendered_label]; } outer: for (i = 0, j = 0; i < tlen; i++) { var t_ch = txt.charCodeAt(i); @@ -307,7 +300,7 @@ frappe.search.AwesomeBar = Class.extend({ return []; } rendered_label += _item.slice(j); - return [_item, index + 10, rendered_label]; + return [_item, 20 + ilen/50, rendered_label]; }, set_specifics: function(txt, end_txt) { @@ -315,9 +308,6 @@ frappe.search.AwesomeBar = Class.extend({ var results = this.build_options(txt); results.forEach(function(r) { if((r.type).toLowerCase().indexOf(end_txt.toLowerCase()) === 0) { - if(r.index < 25) { - r.index = 21; - } me.options.push(r); } }); @@ -348,7 +338,7 @@ frappe.search.AwesomeBar = Class.extend({ label: __("Search for '" + txt.bold() + "'"), value: __("Search for '" + txt + "'"), match: txt, - index: 19, + index: 10, default: "Search", onclick: function() { me.search.search_dialog.show(); @@ -369,7 +359,7 @@ frappe.search.AwesomeBar = Class.extend({ label: __('Find {0} in {1}', [txt.bold(), route[1].bold()]), value: __('Find {0} in {1}', [txt, route[1]]), route_options: options, - index: 23, + index: 11, onclick: function() { cur_list.refresh(); }, @@ -392,7 +382,7 @@ frappe.search.AwesomeBar = Class.extend({ label: formatted_value, value: __('{0} = {1}', [txt, val]), match: val, - index: 24, + index: 12, default: "Calculator", onclick: function() { msgprint(formatted_value, "Result"); @@ -410,13 +400,13 @@ frappe.search.AwesomeBar = Class.extend({ if(in_list(txt.split(" "), "in") && (txt.slice(-2) !== "in")) { parts = txt.split(" in "); frappe.boot.user.can_read.forEach(function (item) { - var target = me.fuzzy_search(parts[1], item, 21)[0]; + var target = me.fuzzy_search(parts[1], item, 13)[0]; if(target) { out.push({ label: __('Find {0} in {1}', [__(parts[0]).bold(), __(target).bold()]), value: __('Find {0} in {1}', [__(parts[0]), __(target)]), route_options: {"name": ["like", "%" + parts[0] + "%"]}, - index: 21, + index: 13, default: "In List", route: ["List", target] }); @@ -431,14 +421,15 @@ frappe.search.AwesomeBar = Class.extend({ var out = []; if(txt.split(" ")[0]==="new") { frappe.boot.user.can_create.forEach(function (item) { - var result = me.fuzzy_search(txt.substr(4), item, 21); + var result = me.fuzzy_search(txt.substr(4), item, 14); var target = result[0]; + var index = result[1]; var rendered_label = result[2]; if(target) { out.push({ label: rendered_label, value: __("New {0}", [target]), - index: 21, + index: 14 + index, type: "New", prefix: "New", match: target, @@ -455,18 +446,18 @@ frappe.search.AwesomeBar = Class.extend({ var out = []; var result, target, index, rendered_label; - var option = function(type, route) { + var option = function(type, route, order) { return { label: rendered_label, value: __(target), route: route, - index: index, + index: 15 + index + order, match: target, type: type } }; frappe.boot.user.can_read.forEach(function (item) { - result = me.fuzzy_search(txt, item, 25); + result = me.fuzzy_search(txt, item, 15); target = result[0]; index = result[1]; rendered_label = result[2]; @@ -483,24 +474,25 @@ frappe.search.AwesomeBar = Class.extend({ // }); // } if(in_list(frappe.boot.single_types, target)) { - out.push(option("", ["Form", target, target])); + out.push(option("", ["Form", target, target], 0)); } else if(in_list(frappe.boot.treeviews, target)) { - out.push(option("Tree", ["Tree", target])); + out.push(option("Tree", ["Tree", target], 0)); } else { - out.push(option("List", ["List", target])); + out.push(option("List", ["List", target], 0)); if(frappe.model.can_get_report(target)) { - out.push(option("Report", ["Report", target])); + out.push(option("Report", ["Report", target], 0.001)); } if(frappe.boot.calendars.indexOf(target) !== -1) { - out.push(option("Calendar", ["List", target, "Calendar"])); - out.push(option("Gantt", ["List", target, "Gantt"])); + out.push(option("Calendar", ["List", target, "Calendar"], 0.002)); + out.push(option("Gantt", ["List", target, "Gantt"], 0.003)); } } } }); + console.log(out); return out; }, @@ -508,7 +500,7 @@ frappe.search.AwesomeBar = Class.extend({ var me = this; var out = []; Object.keys(frappe.boot.user.all_reports).forEach(function(item) { - var result = me.fuzzy_search(txt, item, 26); + var result = me.fuzzy_search(txt, item, 20); var target = result[0]; var index = result[1]; var rendered_label = result[2]; @@ -524,7 +516,7 @@ frappe.search.AwesomeBar = Class.extend({ label: rendered_label, value: __("Report {0}" , [__(target)]), match: txt, - index: index, + index: 20 + index, type: "Report", prefix: "Report", route: route @@ -543,7 +535,7 @@ frappe.search.AwesomeBar = Class.extend({ p.name = name; }); Object.keys(this.pages).forEach(function(item) { - var result = me.fuzzy_search(txt, item, 27); + var result = me.fuzzy_search(txt, item, 21); var target = result[0]; var index = result[1]; var rendered_label = result[2]; @@ -553,7 +545,7 @@ frappe.search.AwesomeBar = Class.extend({ label: rendered_label, value: __("Open {0}", [__(target)]), match: txt, - index: index, + index: 21 + index, type: "Page", prefix: "Open", route: [page.route || page.name] @@ -567,7 +559,7 @@ frappe.search.AwesomeBar = Class.extend({ label: rendered_label, value: __("Open {0}", [__(target)]), route: [target, 'Event'], - index: 27, + index: 21, type: "Calendar", prefix: "Open", match: target @@ -580,7 +572,7 @@ frappe.search.AwesomeBar = Class.extend({ var me = this; var out = []; Object.keys(frappe.modules).forEach(function(item) { - var result = me.fuzzy_search(txt, item, 28); + var result = me.fuzzy_search(txt, item, 22); var target = result[0]; var index = result[1]; var rendered_label = result[2]; @@ -591,7 +583,7 @@ frappe.search.AwesomeBar = Class.extend({ label: rendered_label, value: __("Open {0}", [__(target)]), match: txt, - index: index, + index: 22 + index, type: "Module", prefix: "Open" } diff --git a/frappe/public/js/frappe/ui/toolbar/search.js b/frappe/public/js/frappe/ui/toolbar/search.js index a891a388dd..3347399cc1 100644 --- a/frappe/public/js/frappe/ui/toolbar/search.js +++ b/frappe/public/js/frappe/ui/toolbar/search.js @@ -73,7 +73,6 @@ frappe.search.UnifiedSearch = Class.extend({ var me = this; if(this.current === 0) { this.reset() } results_obj.sidelist.forEach(function(list_item) { - // Don't append to main sidebar here me.sidelist.append(list_item); }) this.results_area.find('.results-status').remove(); @@ -502,7 +501,7 @@ frappe.search.GlobalSearch = Class.extend({ value: __("{0}: {1}", [__(data.doctype), data.name]), route: ["Form", data.doctype, data.name], match: data.doctype, - index: 41, + index: 40, default: "Global", description: me.get_finds(data.content, keywords).slice(0,86) + '...' } @@ -541,11 +540,14 @@ frappe.search.NavSearch = frappe.search.GlobalSearch.extend({ set_nav_results: function(keywords) { var me = this; this.awesome_bar = new frappe.search.AwesomeBar(); + var compare = function(a, b) { + return a.index - b.index; + } this.nav_results = { - "Lists": me.awesome_bar.get_doctypes(keywords), - "Reports": me.awesome_bar.get_reports(keywords), - "Pages": me.awesome_bar.get_pages(keywords), - "Modules": me.awesome_bar.get_modules(keywords) + "Lists": me.awesome_bar.get_doctypes(keywords).sort(compare), + "Reports": me.awesome_bar.get_reports(keywords).sort(compare), + "Pages": me.awesome_bar.get_pages(keywords).sort(compare), + "Modules": me.awesome_bar.get_modules(keywords).sort(compare) } }, diff --git a/frappe/public/less/desk.less b/frappe/public/less/desk.less index 07500c6a13..96b2632d6d 100644 --- a/frappe/public/less/desk.less +++ b/frappe/public/less/desk.less @@ -596,9 +596,9 @@ textarea.form-control { } } - a { - color: #5E64FF; - } + // a { + // color: #5E64FF; + // } .single-link a { color: #36414c;