Skip to content

Commit 588f320

Browse files
authored
Merge pull request #51 from SectorLabs/multiwidget
Copy the widget for each language
2 parents 2393539 + 13e2666 commit 588f320

File tree

3 files changed

+20
-5
lines changed

3 files changed

+20
-5
lines changed
Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,16 @@
1-
{% for widget in widget.subwidgets %}
2-
<label for="{{ widget.attrs.id }}">{{ widget.lang_name }}</label>
3-
{% include widget.template_name %}
4-
{% endfor %}
1+
{% with widget_id=widget.attrs.id %}
2+
<div class="localized-fields-widget" role="tabs" data-synctabs="translation">
3+
<ul class="localized-fields-widget tabs">
4+
{% for widget in widget.subwidgets %}
5+
<li class="localized-fields-widget tab">
6+
<label for="{{ widget_id }}_{{ widget.lang_code }}">{{ widget.lang_name|capfirst }}</label>
7+
</li>
8+
{% endfor %}
9+
</ul>
10+
{% for widget in widget.subwidgets %}
11+
<div role="tabpanel" id="{{ widget_id }}_{{ widget.lang_code }}">
12+
{% include widget.template_name %}
13+
</div>
14+
{% endfor %}
15+
</div>
16+
{% endwith %}

localized_fields/widgets.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import copy
2+
13
from typing import List
24

35
from django.conf import settings
@@ -16,7 +18,7 @@ def __init__(self, *args, **kwargs):
1618
"""Initializes a new instance of :see:LocalizedFieldWidget."""
1719

1820
initial_widgets = [
19-
self.widget
21+
copy.copy(self.widget)
2022
for _ in settings.LANGUAGES
2123
]
2224

tests/test_widget.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ def test_widget_creation():
1616

1717
widget = LocalizedFieldWidget()
1818
assert len(widget.widgets) == len(settings.LANGUAGES)
19+
assert len(set(widget.widgets)) == len(widget.widgets)
1920

2021
@staticmethod
2122
def test_decompress():

0 commit comments

Comments
 (0)