diff --git a/CHANGELOG.txt b/CHANGELOG.txt
index 0e4ac80630..f8ec4afa7f 100644
--- a/CHANGELOG.txt
+++ b/CHANGELOG.txt
@@ -23,6 +23,7 @@ Changelog
* Allow `{% pageurl %}` fallback to be a direct URL or an object with a `get_absolute_url` method (Andy Babic)
* Add support for exporting redirects (Martin Sandström)
* Support slicing on StreamField / StreamBlock values (Matt Westcott)
+ * Switch Wagtail choosers to use SVG icons instead of font icon (Storm Heg)
* Fix: StreamField required status is now consistently handled by the `blank` keyword argument (Matt Westcott)
* Fix: Show 'required' asterisks for blocks inside required StreamFields (Matt Westcott)
* Fix: Make image chooser "Select format" fields translatable (Helen Chapman, Thibaud Colas)
diff --git a/client/scss/components/_chooser.scss b/client/scss/components/_chooser.scss
index 907ea9f3d0..851fbace2a 100644
--- a/client/scss/components/_chooser.scss
+++ b/client/scss/components/_chooser.scss
@@ -26,6 +26,14 @@ overriden here? hmm.
.chosen {
position: relative;
+ .icon {
+ color: $color-grey-3;
+ @include svg-icon(2.5em);
+ vertical-align: middle;
+ margin-right: 0.625rem;
+ }
+
+ // TODO: [icon-font] remove when the Wagtail icon font is removed
&:before {
vertical-align: middle;
font-family: wagtail;
@@ -81,46 +89,25 @@ overriden here? hmm.
}
}
-.page-chooser {
+// TODO: [icon-font] remove when the Wagtail icon font is removed
+.page-chooser,
+.snippet-chooser,
+.document-chooser,
+.image-chooser {
.unchosen,
.chosen {
&:before {
- content: map-get($icons, 'doc-empty-inverse');
- }
- }
-}
-
-.snippet-chooser {
- .unchosen,
- .chosen {
- &:before {
- content: map-get($icons, 'snippet');
- }
- }
-}
-
-.document-chooser {
- .unchosen,
- .chosen {
- &:before {
- content: map-get($icons, 'doc-full-inverse');
+ display: none;
}
}
}
.image-chooser {
- .unchosen,
- .chosen {
- &:before {
- content: map-get($icons, 'image');
- }
- }
-
.chosen {
padding-left: $thumbnail-width;
&:before {
- content: '';
+ display: inline-block;
}
.preview-image {
diff --git a/docs/releases/2.13.rst b/docs/releases/2.13.rst
index 7e22697882..94395d754e 100644
--- a/docs/releases/2.13.rst
+++ b/docs/releases/2.13.rst
@@ -46,6 +46,7 @@ Other features
* Allow ``{% pageurl %}`` fallback to be a direct URL or an object with a ``get_absolute_url`` method (Andy Babic)
* Add support for exporting redirects (Martin Sandström)
* Support slicing on StreamField / StreamBlock values (Matt Westcott)
+* Switch Wagtail choosers to use SVG icons instead of font icon (Storm Heg)
Bug fixes
diff --git a/wagtail/admin/templates/wagtailadmin/widgets/chooser.html b/wagtail/admin/templates/wagtailadmin/widgets/chooser.html
index dd9611b591..3b13390e71 100644
--- a/wagtail/admin/templates/wagtailadmin/widgets/chooser.html
+++ b/wagtail/admin/templates/wagtailadmin/widgets/chooser.html
@@ -5,10 +5,10 @@
Any element with the 'action-choose' class will open the page chooser modal
when clicked.
{% endcomment %}
-
+ {% block chosen_icon %}{% endblock chosen_icon %}
{% block chosen_state_view %}
{{ display_title }}
{% endblock %}
@@ -29,6 +29,7 @@
+ {% block unchosen_icon %}{% endblock unchosen_icon %}
diff --git a/wagtail/admin/templates/wagtailadmin/widgets/page_chooser.html b/wagtail/admin/templates/wagtailadmin/widgets/page_chooser.html
index a02bc39385..ecee25848e 100644
--- a/wagtail/admin/templates/wagtailadmin/widgets/page_chooser.html
+++ b/wagtail/admin/templates/wagtailadmin/widgets/page_chooser.html
@@ -1,2 +1,6 @@
{% extends "wagtailadmin/widgets/chooser.html" %}
+{% load wagtailadmin_tags %}
+
+{% block unchosen_icon %}{% icon name="doc-empty-inverse" %}{% endblock unchosen_icon %}
+{% block chosen_icon %}{% icon name="doc-empty-inverse" %}{% endblock chosen_icon %}
{% block chooser_attributes %}data-chooser-url="{% url "wagtailadmin_choose_page" %}"{% endblock %}
diff --git a/wagtail/documents/templates/wagtaildocs/widgets/document_chooser.html b/wagtail/documents/templates/wagtaildocs/widgets/document_chooser.html
index efe6049f9d..31847dd739 100644
--- a/wagtail/documents/templates/wagtaildocs/widgets/document_chooser.html
+++ b/wagtail/documents/templates/wagtaildocs/widgets/document_chooser.html
@@ -1,3 +1,7 @@
{% extends "wagtailadmin/widgets/chooser.html" %}
+{% load wagtailadmin_tags %}
+
+{% block unchosen_icon %}{% icon name="doc-full-inverse" %}{% endblock unchosen_icon %}
+{% block chosen_icon %}{% icon name="doc-full-inverse" %}{% endblock chosen_icon %}
{% block chooser_class %}document-chooser{% endblock %}
{% block chooser_attributes %}data-chooser-url="{% url "wagtaildocs:chooser" %}"{% endblock %}
diff --git a/wagtail/images/templates/wagtailimages/widgets/image_chooser.html b/wagtail/images/templates/wagtailimages/widgets/image_chooser.html
index 815397eb8f..5834f99c1f 100644
--- a/wagtail/images/templates/wagtailimages/widgets/image_chooser.html
+++ b/wagtail/images/templates/wagtailimages/widgets/image_chooser.html
@@ -1,6 +1,9 @@
{% extends "wagtailadmin/widgets/chooser.html" %}
-{% load wagtailimages_tags %}
+{% load wagtailadmin_tags wagtailimages_tags %}
+{% block unchosen_icon %}{% icon name="image" %}{% endblock unchosen_icon %}
+{# Image chooser doesn't have a chosen icon. It shows an preview of the chosen image instead .#}
+{% block chosen_icon %}{% endblock chosen_icon %}
{% block chooser_class %}image-chooser{% endblock %}
{% block chooser_attributes %}data-chooser-url="{% url "wagtailimages:chooser" %}"{% endblock %}
diff --git a/wagtail/snippets/templates/wagtailsnippets/widgets/snippet_chooser.html b/wagtail/snippets/templates/wagtailsnippets/widgets/snippet_chooser.html
index 1d272c0f94..1de5bf516c 100644
--- a/wagtail/snippets/templates/wagtailsnippets/widgets/snippet_chooser.html
+++ b/wagtail/snippets/templates/wagtailsnippets/widgets/snippet_chooser.html
@@ -1,5 +1,7 @@
{% extends "wagtailadmin/widgets/chooser.html" %}
{% load wagtailadmin_tags %}
+{% block unchosen_icon %}{% icon name="snippet" %}{% endblock unchosen_icon %}
+{% block chosen_icon %}{% icon name="snippet" %}{% endblock chosen_icon %}
{% block chooser_class %}snippet-chooser{% endblock %}
{% block chooser_attributes %}data-chooser-url="{% url 'wagtailsnippets:choose_generic' %}"{% endblock %}