Filter linked to a menu bar in perspective

this is just a basic way of filtering a nested array. There are shorter ways to write this but this should give you an idea xd

	if not value.filter:
		return value.allItems
	filteredItems = []
	def recursiveFilter(menuItem, toFilter):		
		for item in menuItem:
			if toFilter.lower() in item.label.text.lower():
				filteredItems.append(item)
			elif len(item.items):
				recursiveFilter(item.items, toFilter)	
	recursiveFilter(value.allItems, value.filter)
	return filteredItems


image
image