Filter on List view onload

I am working on the library management app, and in library transaction i have created library_transaction_list.js and i that i am running this code
/ var data; // Declare data as a global variable

// frappe.listview_settings[‘Library Transaction’] = {
// onload(listview) {
// frappe.call({
// method: ‘library_management.library_management.doctype.library_transaction.library_transaction.get_session_data’,
// callback: function(response) {
// var member_id = response.message;
// data = member_id;
// frappe.msgprint(Member ID: ${member_id});
// frappe.msgprint(Member ID: ${data});
// },
// filters: [
// [‘library_member’, ‘=’, data]
// ]
// });
// }
// };

in this i am able to fetch the values of member_id and data, but when iam appyling filter, then its not working. i have used similar filter condition on get indicator method, it’s working fine. but on filter it’s not working. help me out on this

Hi @abhay19,

I think the syntax is not proper so please check it.

frappe.listview_settings['Library Transaction'] = {
  onload: function(listview) {
    frappe.call({
      method: 'library_management.library_management.doctype.library_transaction.library_transaction.get_session_data',
      callback: function(response) {
        var member_id = response.message;
        var data = member_id;
        frappe.msgprint('Member ID: ' + member_id);
        frappe.msgprint('Member ID: ' + data);

        // Apply filter inside the callback
        listview.filter_area.add_filter('library_member', '=', data);
        listview.refresh();
      }
    });
  }
};

Please set your fieldname, doctype, and code according.

Thank You!