feat: Added more button in advance search widget

This commit is contained in:
Rohit Waghchaure 2019-04-09 15:40:44 +05:30
parent fb4ef2e3d2
commit fdb71ae10f
2 changed files with 21 additions and 5 deletions

View file

@ -57,10 +57,13 @@ def search_link(doctype, txt, query=None, filters=None, page_length=20, searchfi
# this is called by the search box
@frappe.whitelist()
def search_widget(doctype, txt, query=None, searchfield=None, start=0,
page_length=10, filters=None, filter_fields=None, as_dict=False, reference_doctype=None, ignore_user_permissions=False):
page_length=20, filters=None, filter_fields=None, as_dict=False, reference_doctype=None, ignore_user_permissions=False):
start = cint(start)
if isinstance(filters, string_types):
filters = json.loads(filters)
if searchfield:
sanitize_searchfield(searchfield)

View file

@ -18,6 +18,7 @@ frappe.ui.form.LinkSelector = Class.extend({
make: function () {
var me = this;
this.start = 0;
this.dialog = new frappe.ui.Dialog({
title: __("Select {0}", [(this.doctype == '[Select]') ? __("value") : __(this.doctype)]),
fields: [
@ -27,10 +28,17 @@ frappe.ui.form.LinkSelector = Class.extend({
},
{
fieldtype: "HTML", fieldname: "results"
},
{
fieldtype: "Button", fieldname: "more", label: __("More"), click: () => {
me.start += 20;
me.search();
}
}
],
primary_action_label: __("Search"),
primary_action: function () {
me.start = 0;
me.search();
}
});
@ -40,6 +48,7 @@ frappe.ui.form.LinkSelector = Class.extend({
this.dialog.get_input("txt").on("keypress", function (e) {
if (e.which === 13) {
me.start = 0;
me.search();
}
});
@ -49,7 +58,8 @@ frappe.ui.form.LinkSelector = Class.extend({
search: function () {
var args = {
txt: this.dialog.fields_dict.txt.get_value(),
searchfield: "name"
searchfield: "name",
start: this.start
};
var me = this;
@ -66,7 +76,10 @@ frappe.ui.form.LinkSelector = Class.extend({
frappe.link_search(this.doctype, args, function (r) {
var parent = me.dialog.fields_dict.results.$wrapper;
parent.empty();
if (args.start == 0) {
parent.empty();
}
if (r.values.length) {
$.each(r.values, function (i, v) {
var row = $(repl('<div class="row link-select-row">\
@ -140,7 +153,7 @@ frappe.ui.form.LinkSelector = Class.extend({
]);
}
}, __("Set Quantity"), __("Set"));
} else if (me.dynamic_link_field) {
} else if (me.dynamic_link_field) {
var d = me.target.add_new_row();
frappe.model.set_value(d.doctype, d.name, me.dynamic_link_field, me.dynamic_link_reference);
frappe.model.set_value(d.doctype, d.name, me.fieldname, value);