kopia lustrzana https://github.com/wagtail/wagtail
Implement multiple choice UI for image chooser
rodzic
45fe5c1b95
commit
2c8c381ca7
|
|
@ -7,10 +7,20 @@
|
||||||
<ul class="listing horiz images chooser">
|
<ul class="listing horiz images chooser">
|
||||||
{% for image in results %}
|
{% for image in results %}
|
||||||
<li>
|
<li>
|
||||||
<a data-chooser-modal-choice class="image-choice" title="{% if collections %}{{ image.collection.name }} » {% endif %}{{ image.title }}" href="{{ image.chosen_url }}">
|
{% if is_multiple_choice %}
|
||||||
<div class="image">{% image image max-165x165 class="show-transparency" %}</div>
|
<a data-chooser-modal-choice class="image-choice" title="{% if collections %}{{ image.collection.name }} » {% endif %}{{ image.title }}" href="{{ image.chosen_url }}">
|
||||||
<h3>{{ image.title|ellipsistrim:60 }}</h3>
|
<div class="image">{% image image max-165x165 class="show-transparency" %}</div>
|
||||||
</a>
|
</a>
|
||||||
|
<h3>
|
||||||
|
<input type="checkbox" name="id" value="{{ image.id }}" title="{% blocktrans trimmed with title=image.title %}Select {{ title }}{% endblocktrans %}">
|
||||||
|
{{ image.title|ellipsistrim:60 }}
|
||||||
|
</h3>
|
||||||
|
{% else %}
|
||||||
|
<a data-chooser-modal-choice class="image-choice" title="{% if collections %}{{ image.collection.name }} » {% endif %}{{ image.title }}" href="{{ image.chosen_url }}">
|
||||||
|
<div class="image">{% image image max-165x165 class="show-transparency" %}</div>
|
||||||
|
<h3>{{ image.title|ellipsistrim:60 }}</h3>
|
||||||
|
</a>
|
||||||
|
{% endif %}
|
||||||
</li>
|
</li>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</ul>
|
</ul>
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,7 @@ from wagtail.admin.views.generic.chooser import (
|
||||||
BaseChooseView,
|
BaseChooseView,
|
||||||
ChooseResultsViewMixin,
|
ChooseResultsViewMixin,
|
||||||
ChooseViewMixin,
|
ChooseViewMixin,
|
||||||
|
ChosenMultipleViewMixin,
|
||||||
ChosenResponseMixin,
|
ChosenResponseMixin,
|
||||||
ChosenViewMixin,
|
ChosenViewMixin,
|
||||||
CreateViewMixin,
|
CreateViewMixin,
|
||||||
|
|
@ -156,6 +157,12 @@ class ImageChosenView(ChosenViewMixin, ImageChosenResponseMixin, View):
|
||||||
return super().get(request, *args, pk, **kwargs)
|
return super().get(request, *args, pk, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
|
class ImageChosenMultipleView(ChosenMultipleViewMixin, ImageChosenResponseMixin, View):
|
||||||
|
def get(self, request, *args, **kwargs):
|
||||||
|
self.model = get_image_model()
|
||||||
|
return super().get(request, *args, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
class SelectFormatResponseMixin(PreserveURLParametersMixin):
|
class SelectFormatResponseMixin(PreserveURLParametersMixin):
|
||||||
def render_select_format_response(self, image, form):
|
def render_select_format_response(self, image, form):
|
||||||
action_url = self.append_preserved_url_parameters(
|
action_url = self.append_preserved_url_parameters(
|
||||||
|
|
@ -299,6 +306,7 @@ class ImageChooserViewSet(ChooserViewSet):
|
||||||
choose_view_class = ImageChooseView
|
choose_view_class = ImageChooseView
|
||||||
choose_results_view_class = ImageChooseResultsView
|
choose_results_view_class = ImageChooseResultsView
|
||||||
chosen_view_class = ImageChosenView
|
chosen_view_class = ImageChosenView
|
||||||
|
chosen_multiple_view_class = ImageChosenMultipleView
|
||||||
create_view_class = ImageUploadView
|
create_view_class = ImageUploadView
|
||||||
select_format_view_class = ImageSelectFormatView
|
select_format_view_class = ImageSelectFormatView
|
||||||
permission_policy = permission_policy
|
permission_policy = permission_policy
|
||||||
|
|
|
||||||
Ładowanie…
Reference in New Issue