grocy/public/viewjs/stockreportlastused.js
google-labs-jules[bot] f41cb227fc feat: Adapt Grocy for the Chinese market
This commit introduces a range of features and improvements to make Grocy more suitable for the Chinese market, based on the high-level goal of creating a better item management system for Chinese households.

The key changes include:

1.  **New 'Last Used' Report:** A new stock report has been added to show products that have not been used for a long time. This feature is inspired by the 'Danshari' (断舍离) philosophy of decluttering and helps you identify and reduce waste. This includes a new controller method, a route, a Blade view, and the necessary JavaScript for the interactive data table.

2.  **Chinese Units of Measurement:** A database migration has been added to include common Chinese units of measurement, such as 克 (gram), 斤 (jin), 公斤 (kilogram), and others. This makes inventory and recipe management more intuitive for you. Conversion factors between related units are also included.

3.  **Improved Chinese Localization:** The Chinese (zh_CN) localization file has been significantly updated by filling in a large number of previously missing translations. This provides a more complete and professional experience for you. New translations for the 'Last Used' report have also been added.

4.  **Future Work Planning:** A `TODO.md` file has been created to track the next steps for this project, specifically noting the need to research and integrate a barcode lookup API that is more suitable for Chinese products.
2025-08-13 13:55:17 +00:00

21 lines
604 B
JavaScript

var stockLastUsedTable = $('#stock-last-used-table').DataTable({
'order': [[2, 'asc']], // Order by 'Last used' date by default
'columnDefs': [
{ 'orderable': false, 'targets': 0 },
{ 'searchable': false, "targets": 0 }
].concat($.fn.dataTable.defaults.columnDefs)
});
$('#stock-last-used-table tbody').removeClass("d-none");
stockLastUsedTable.columns.adjust().draw();
$("#search").on("keyup", Delay(function()
{
var value = $(this).val();
if (value === "all")
{
value = "";
}
stockLastUsedTable.search(value).draw();
}, Grocy.FormFocusDelay));