brotherton-erpnext/erpnext/templates/includes/product_list.js

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

54 lines
1.3 KiB
JavaScript
Raw Normal View History

// Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
// License: GNU General Public License v3. See license.txt
window.get_product_list = function() {
$(".more-btn .btn").click(function() {
window.get_product_list()
});
if(window.start==undefined) {
throw "product list not initialized (no start)"
}
$.ajax({
method: "GET",
url: "/",
data: {
cmd: "erpnext.templates.pages.product_search.get_product_list",
start: window.start,
search: window.search,
product_group: window.product_group
},
dataType: "json",
success: function(data) {
window.render_product_list(data.message || []);
}
})
}
window.render_product_list = function(data) {
2023-07-15 12:33:16 +00:00
let table = $("#search-list .table");
if(data.length) {
if(!table.length)
2023-07-15 12:33:16 +00:00
table = $("<table class='table'>").appendTo("#search-list");
$.each(data, function(i, d) {
$(d).appendTo(table);
});
}
if(data.length < 10) {
if(!table) {
2023-07-15 12:33:16 +00:00
let message = __("No products found.");
$(".more-btn")
2023-07-15 12:33:16 +00:00
.replaceWith(`<div class='alert alert-warning'>{{ ${message} }}</div>`);
} else {
2023-07-15 12:33:16 +00:00
let message = __("Nothing more to show.");
$(".more-btn")
2023-07-15 12:33:16 +00:00
.replaceWith(`<div class='text-muted'>{{ ${message} }}</div>`);
}
} else {
$(".more-btn").toggle(true)
}
window.start += (data.length || 0);
}