mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-25 01:48:38 -06:00
Convert ActionsMenuItem to dataclass
This commit is contained in:
parent
1024adca72
commit
bff7400de4
@ -1,4 +1,6 @@
|
|||||||
from collections import namedtuple
|
from collections import namedtuple
|
||||||
|
from dataclasses import dataclass
|
||||||
|
from typing import Optional
|
||||||
|
|
||||||
import django_tables2 as tables
|
import django_tables2 as tables
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
@ -90,16 +92,20 @@ class TemplateColumn(tables.TemplateColumn):
|
|||||||
return ret
|
return ret
|
||||||
|
|
||||||
|
|
||||||
ActionsMenuItem = namedtuple('ActionsMenuItem', ['title', 'icon', 'permission'])
|
@dataclass
|
||||||
|
class ActionsItem:
|
||||||
|
title: str
|
||||||
|
icon: str
|
||||||
|
permission: Optional[str] = None
|
||||||
|
|
||||||
|
|
||||||
class ActionsColumn(tables.Column):
|
class ActionsColumn(tables.Column):
|
||||||
attrs = {'td': {'class': 'text-end noprint'}}
|
attrs = {'td': {'class': 'text-end noprint'}}
|
||||||
empty_values = ()
|
empty_values = ()
|
||||||
_actions = {
|
_actions = {
|
||||||
'edit': ActionsMenuItem('Edit', 'pencil', 'change'),
|
'edit': ActionsItem('Edit', 'pencil', 'change'),
|
||||||
'delete': ActionsMenuItem('Delete', 'trash-can-outline', 'delete'),
|
'delete': ActionsItem('Delete', 'trash-can-outline', 'delete'),
|
||||||
'changelog': ActionsMenuItem('Changelog', 'history', None),
|
'changelog': ActionsItem('Changelog', 'history'),
|
||||||
}
|
}
|
||||||
|
|
||||||
def __init__(self, *args, actions=('edit', 'delete', 'changelog'), **kwargs):
|
def __init__(self, *args, actions=('edit', 'delete', 'changelog'), **kwargs):
|
||||||
|
Loading…
Reference in New Issue
Block a user