diff --git a/public/js/wn/ui/toolbar/toolbar.js b/public/js/wn/ui/toolbar/toolbar.js
index 8be3706a87..c49240096b 100644
--- a/public/js/wn/ui/toolbar/toolbar.js
+++ b/public/js/wn/ui/toolbar/toolbar.js
@@ -25,6 +25,7 @@ wn.ui.toolbar.Toolbar = Class.extend({
init: function() {
this.make();
//this.make_modules();
+ this.make_quick_search();
this.make_file();
//this.make_actions();
wn.ui.toolbar.recent = new wn.ui.toolbar.RecentDocs();
@@ -115,6 +116,86 @@ wn.ui.toolbar.Toolbar = Class.extend({
}
},
+ make_quick_search: function() {
+ $('.navbar .nav:first').append('
\
+ '+wn._("Go")+'\
+ \
+ ');
+
+ this.bind_quick_search_events();
+ },
+
+ bind_quick_search_events: function() {
+ // render searchable doctype list
+ $("#go-doctype-list")
+ .empty().add_options(wn.boot.profile.can_search.sort())
+ .on("change", function() {
+ if(wn.boot.profile.can_create.indexOf($(this).val()) === -1) {
+ $("#go-new-btn").attr("disabled", "disabled");
+ } else {
+ $("#go-new-btn").removeAttr("disabled");
+ }
+ })
+ .trigger("change");
+
+ $("#go-search-input").keypress(function(ev){
+ if(ev.which==13) { $("#go-search-btn").trigger("click"); }
+ });
+
+ // new button
+ $("#go-new-btn").on("click", function() {
+ $("#go-dropdown").removeClass("open");
+ new_doc($("#go-doctype-list").val());
+ });
+
+ // search button
+ $("#go-search-btn").on("click", function() {
+ var doctype = doctype = $("#go-doctype-list").val(),
+ search_string = $("#go-search-input").val();
+
+ if(search_string) {
+ wn.call({
+ type: "GET",
+ method: 'webnotes.client.get_value',
+ args: {
+ doctype: doctype,
+ fieldname: "name",
+ filters: {name: ["like", "%" + search_string + "%"]}
+ },
+ callback: function(r) {
+ if(!r.exc && r.message && r.message.name) {
+ console.log("opening " + doctype + " " + r.message.name);
+ $("#go-dropdown").removeClass("open");
+ wn.set_route("Form", doctype, r.message.name);
+ }
+ }
+ });
+ } else {
+ $("#go-dropdown").removeClass("open");
+ wn.set_route("List", $("#go-doctype-list").val());
+ }
+ });
+ },
+
make_file: function() {
wn.ui.toolbar.new_dialog = new wn.ui.toolbar.NewDialog();
wn.ui.toolbar.search = new wn.ui.toolbar.Search();