@@ -253,13 +253,29 @@ class WrapperBuilder {
253253 final filters = config['filters' ] as List <dynamic >? ;
254254 if (filters == null || filters.isEmpty) return true ;
255255
256+ // Get navigation params from registry for template resolution
257+ final navigationParams = screenKey != null
258+ ? FlowCrudStateRegistry ().getNavigationParams (screenKey! ) ?? {}
259+ : < String , dynamic > {};
260+
261+ // Build context for resolving equalsFrom templates
262+ final resolveContext = < String , dynamic > {
263+ 'navigation' : navigationParams,
264+ };
265+
256266 for (final filter in filters) {
257267 final field = filter['field' ];
258268 final equals = filter['equals' ];
269+ final equalsFrom = filter['equalsFrom' ] as String ? ;
259270
260271 if (! filter.containsKey ('entity' )) {
261272 final value = EnhancedEntityFieldAccessor .getFieldValue (root, field);
262- if (equals != null && value != equals) return false ;
273+
274+ // Handle equalsFrom with template resolution
275+ if (equalsFrom != null ) {
276+ final resolvedEquals = _resolveValue (equalsFrom, root, resolveContext);
277+ if (resolvedEquals != null && value != resolvedEquals) return false ;
278+ } else if (equals != null && value != equals) return false ;
263279 } else {
264280 final entityType = filter['entity' ];
265281 final condition = filter['condition' ];
0 commit comments