From 61c964b9462df82eab60e4fb45e708c471987774 Mon Sep 17 00:00:00 2001 From: Suherdy Yacob Date: Wed, 17 Jun 2026 18:10:23 +0700 Subject: [PATCH] feat: sync partner search query with input and register patch template in assets --- __manifest__.py | 1 + static/src/app/screens/partner_list_patch.js | 17 +++++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/__manifest__.py b/__manifest__.py index a6d69d3..00146cf 100644 --- a/__manifest__.py +++ b/__manifest__.py @@ -23,6 +23,7 @@ Custom POS Loyalty and Membership management features: ], 'assets': { 'point_of_sale._assets_pos': [ + 'pos_loyalty_member_custom/static/src/app/screens/partner_list_patch.xml', 'pos_loyalty_member_custom/static/src/app/screens/partner_list_patch.js', 'pos_loyalty_member_custom/static/src/app/models/pos_order_patch.js', ] diff --git a/static/src/app/screens/partner_list_patch.js b/static/src/app/screens/partner_list_patch.js index cebe8c1..60044be 100644 --- a/static/src/app/screens/partner_list_patch.js +++ b/static/src/app/screens/partner_list_patch.js @@ -7,10 +7,27 @@ import { normalize } from "@web/core/l10n/utils"; patch(PartnerList.prototype, { setup() { super.setup(...arguments); + this.state.inputQuery = ""; this._filteredLoyaltyCache = new Map(); this._partnersSearchCache = new Map(); }, + onInputQueryChange(newValue) { + if (!newValue) { + this.state.query = ""; + } + }, + + async searchPartner() { + this.state.query = this.state.inputQuery || ""; + return super.searchPartner(...arguments); + }, + + async onEnter() { + this.state.query = this.state.inputQuery || ""; + return super.onEnter(...arguments); + }, + async editPartner() { if (this._filteredLoyaltyCache) { this._filteredLoyaltyCache.clear();