Procházet zdrojové kódy

Convert ActionsMenuItem to dataclass

jeremystretch před 4 roky
rodič
revize
bff7400de4
1 změnil soubory, kde provedl 10 přidání a 4 odebrání
  1. 10 4
      netbox/utilities/tables/columns.py

+ 10 - 4
netbox/utilities/tables/columns.py

@@ -1,4 +1,6 @@
 from collections import namedtuple
+from dataclasses import dataclass
+from typing import Optional
 
 import django_tables2 as tables
 from django.conf import settings
@@ -90,16 +92,20 @@ class TemplateColumn(tables.TemplateColumn):
         return ret
 
 
-ActionsMenuItem = namedtuple('ActionsMenuItem', ['title', 'icon', 'permission'])
+@dataclass
+class ActionsItem:
+    title: str
+    icon: str
+    permission: Optional[str] = None
 
 
 class ActionsColumn(tables.Column):
     attrs = {'td': {'class': 'text-end noprint'}}
     empty_values = ()
     _actions = {
-        'edit': ActionsMenuItem('Edit', 'pencil', 'change'),
-        'delete': ActionsMenuItem('Delete', 'trash-can-outline', 'delete'),
-        'changelog': ActionsMenuItem('Changelog', 'history', None),
+        'edit': ActionsItem('Edit', 'pencil', 'change'),
+        'delete': ActionsItem('Delete', 'trash-can-outline', 'delete'),
+        'changelog': ActionsItem('Changelog', 'history'),
     }
 
     def __init__(self, *args, actions=('edit', 'delete', 'changelog'), **kwargs):