feat: Added more button in advance search widget
This commit is contained in:
parent
fb4ef2e3d2
commit
fdb71ae10f
2 changed files with 21 additions and 5 deletions
|
|
@ -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)
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue