mirror of
https://github.com/eitchtee/WYGIWYH.git
synced 2026-04-20 15:51:36 +02:00
changes
This commit is contained in:
54
app/apps/common/widgets/tom_select.py
Normal file
54
app/apps/common/widgets/tom_select.py
Normal file
@@ -0,0 +1,54 @@
|
||||
from django.forms import widgets, SelectMultiple
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
|
||||
class TomSelect(widgets.Select):
|
||||
def __init__(
|
||||
self,
|
||||
attrs=None,
|
||||
remove_button=False,
|
||||
remove_button_text=_("Remove"),
|
||||
create=False,
|
||||
create_text=_("Add"),
|
||||
clear_button=True,
|
||||
clear_text=_("Clear"),
|
||||
no_results_text=_("No results..."),
|
||||
checkboxes=False,
|
||||
*args,
|
||||
**kwargs
|
||||
):
|
||||
super().__init__(attrs, *args, **kwargs)
|
||||
self.remove_button = remove_button
|
||||
self.remove_button_text = remove_button_text
|
||||
self.clear_button = clear_button
|
||||
self.create = create
|
||||
self.create_text = create_text
|
||||
self.clear_text = clear_text
|
||||
self.no_results_text = no_results_text
|
||||
self.checkboxes = checkboxes
|
||||
|
||||
def build_attrs(self, base_attrs, extra_attrs=None):
|
||||
attrs = super().build_attrs(base_attrs, extra_attrs)
|
||||
|
||||
attrs["data-txt-no-results"] = self.no_results_text
|
||||
|
||||
if self.remove_button:
|
||||
attrs["data-remove-button"] = "true"
|
||||
attrs["data-txt-remove"] = self.remove_button_text
|
||||
|
||||
if self.create:
|
||||
attrs["data-create"] = "true"
|
||||
attrs["data-txt-create"] = self.create_text
|
||||
|
||||
if self.clear_button:
|
||||
attrs["data-clear-button"] = "true"
|
||||
attrs["data-txt-clear"] = self.clear_text
|
||||
|
||||
if self.checkboxes:
|
||||
attrs["data-checkboxes"] = "true"
|
||||
|
||||
return attrs
|
||||
|
||||
|
||||
class TomSelectMultiple(SelectMultiple, TomSelect):
|
||||
pass
|
||||
Reference in New Issue
Block a user