misc: refactor get_all_cell_types to support a filtering function (#21052)
This commit is contained in:
parent
15848fa74a
commit
ecf47358aa
|
@ -374,13 +374,20 @@ class CellBase(models.Model):
|
|||
return self.__class__.__name__.lower() + ' ' + self.extra_css_class
|
||||
|
||||
@classmethod
|
||||
def get_all_cell_types(cls):
|
||||
cell_types = []
|
||||
def get_cell_classes(cls, class_filter=lambda x: True):
|
||||
for klass in get_cell_classes():
|
||||
if not class_filter(klass):
|
||||
continue
|
||||
if not klass.is_enabled():
|
||||
continue
|
||||
if klass.visible is False:
|
||||
continue
|
||||
yield klass
|
||||
|
||||
@classmethod
|
||||
def get_all_cell_types(cls, *args, **kwargs):
|
||||
cell_types = []
|
||||
for klass in cls.get_cell_classes(*args, **kwargs):
|
||||
cell_types.extend(klass.get_cell_types())
|
||||
return cell_types
|
||||
|
||||
|
|
Loading…
Reference in New Issue