// Copyright (c) 2016, Frappe Technologies Pvt. Ltd. and contributors // For license information, please see license.txt /* eslint-disable */ frappe.query_reports["Stock Analytics"] = { "filters": [ { fieldname: "item_group", label: __("Item Group"), fieldtype: "Link", options:"Item Group", default: "", }, { fieldname: "item_code", label: __("Item"), fieldtype: "Link", options:"Item", default: "", }, { fieldname: "value_quantity", label: __("Value Or Qty"), fieldtype: "Select", options: [ { "value": "Value", "label": __("Value") }, { "value": "Quantity", "label": __("Quantity") } ], default: "Value", reqd: 1 }, { fieldname: "brand", label: __("Brand"), fieldtype: "Link", options:"Brand", default: "", }, { fieldname: "company", label: __("Company"), fieldtype: "Link", options: "Company", default: frappe.defaults.get_user_default("Company"), reqd: 1, }, { fieldname: "warehouse", label: __("Warehouse"), fieldtype: "Link", options: "Warehouse", default: "", get_query: function() { const company = frappe.query_report.get_filter_value('company'); return { filters: { 'company': company } } } }, { fieldname: "from_date", label: __("From Date"), fieldtype: "Date", default: frappe.defaults.get_global_default("year_start_date"), reqd: 1 }, { fieldname:"to_date", label: __("To Date"), fieldtype: "Date", default: frappe.defaults.get_global_default("year_end_date"), reqd: 1 }, { fieldname: "range", label: __("Range"), fieldtype: "Select", options: [ { "value": "Weekly", "label": __("Weekly") }, { "value": "Monthly", "label": __("Monthly") }, { "value": "Quarterly", "label": __("Quarterly") }, { "value": "Yearly", "label": __("Yearly") } ], default: "Monthly", reqd: 1 } ], after_datatable_render: function(datatable_obj) { $(datatable_obj.wrapper).find(".dt-row-0").find('input[type=checkbox]').click(); }, get_datatable_options(options) { return Object.assign(options, { checkboxColumn: true, events: { onCheckRow: function(data) { row_name = data[2].content; row_values = data.slice(7).map(function (column) { return column.content; }) entry = { 'name':row_name, 'values':row_values } let raw_data = frappe.query_report.chart.data; let new_datasets = raw_data.datasets; var found = false; for(var i=0; i < new_datasets.length;i++){ if(new_datasets[i].name == row_name){ found = true; new_datasets.splice(i,1); break; } } if(!found){ new_datasets.push(entry); } let new_data = { labels: raw_data.labels, datasets: new_datasets } setTimeout(() => { frappe.query_report.chart.update(new_data) },500) setTimeout(() => { frappe.query_report.chart.draw(true); }, 1000) frappe.query_report.raw_chart_data = new_data; }, } }); } }