diff --git a/odex25_base/fims_general_search_tree_view/static/src/js/list_search.js b/odex25_base/fims_general_search_tree_view/static/src/js/list_search.js index 19fa7c363..cc000ea40 100644 --- a/odex25_base/fims_general_search_tree_view/static/src/js/list_search.js +++ b/odex25_base/fims_general_search_tree_view/static/src/js/list_search.js @@ -162,6 +162,7 @@ odoo.define('fims_general_search_tree_view.list_search', function (require) { }).then(function() { return self.update({}, {reload: false}); }).then(function() { + // ✅ الإضافة البسيطة الوحيدة: إعادة Focus بعد الـ reload setTimeout(function() { if (self.renderer && self.renderer.$) { var $input = self.renderer.$('.oe_search_input'); @@ -169,7 +170,7 @@ odoo.define('fims_general_search_tree_view.list_search', function (require) { $input.focus(); } } - }, 100); + }, 100); // تأخير بسيط للتأكد من اكتمال الـ rendering }).finally(function() { if (self.renderer) { self.renderer.$('.oe_search_loading').hide(); @@ -408,42 +409,19 @@ odoo.define('fims_general_search_tree_view.list_search', function (require) { return false; } - // **الحل الجديد المبني على view_type:** - try { - var controller = this.getParent(); + // الحل الدقيق الوحيد المؤكد: + // فحص الـ model state للـ ListRenderer + var controller = this.getParent(); + if (controller && controller.model && controller.handle) { + var state = controller.model.get(controller.handle); - // فحص 1: التحقق من action في الـ controller - if (controller && controller.action) { - var action = controller.action; - - // إذا كان view_type = 'list' فهو standalone - if (action.view_type === 'list') { - console.log('FIMS Search: Shown - view_type=list found'); - return true; - } - - // إذا كان view_mode يبدأ بـ 'list' - if (action.view_mode && action.view_mode.startsWith('list')) { - console.log('FIMS Search: Shown - view_mode starts with list'); - return true; - } + // إذا كان parentID موجود، فهذا يعني أن الـ list embedded داخل relational field + if (state && state.parentID) { + return false; // لا نظهر البحث للـ embedded lists } - - // فحص 2: التحقق من URL كـ backup - var url = window.location.hash; - if (url && url.includes('view_type=list')) { - console.log('FIMS Search: Shown - view_type=list found in URL'); - return true; - } - - // إذا لم نجد أي من المؤشرات أعلاه، فهو embedded - console.log('FIMS Search: Hidden - No list action detected'); - return false; - - } catch (error) { - console.warn('FIMS Search: Error detecting view type, defaulting to hidden', error); - return false; } + + return true; // نظهر البحث للـ standalone lists فقط }, _addCustomSearchBox: function() {