Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move all usage of versioned_static to media methods #5694

Merged
merged 11 commits into from
Jan 7, 2020
16 changes: 9 additions & 7 deletions wagtail/admin/rich_text/editors/draftail/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,7 @@ def __init__(self, *args, **kwargs):
kwargs.pop('options', None)
self.options = {}

self._media = Media(js=[
versioned_static('wagtailadmin/js/draftail.js'),
], css={
'all': [versioned_static('wagtailadmin/css/panels/draftail.css')]
})
self.plugin_media = Media()

self.features = kwargs.pop('features', None)
if self.features is None:
Expand All @@ -38,7 +34,7 @@ def __init__(self, *args, **kwargs):
plugin = feature_registry.get_editor_plugin('draftail', feature)
if plugin:
plugin.construct_options(self.options)
self._media += plugin.media
self.plugin_media += plugin.media

self.converter = ContentstateConverter(self.features)

Expand Down Expand Up @@ -73,4 +69,10 @@ def value_from_datadict(self, data, files, name):

@property
def media(self):
return self._media
media = Media(js=[
versioned_static('wagtailadmin/js/draftail.js'),
], css={
'all': [versioned_static('wagtailadmin/css/panels/draftail.css')]
})

return media + self.plugin_media
11 changes: 8 additions & 3 deletions wagtail/admin/rich_text/editors/hallo.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ class HalloPlugin:
def __init__(self, **kwargs):
self.name = kwargs.get('name', None)
self.options = kwargs.get('options', {})
self.js = kwargs.get('js', None)
self.css = kwargs.get('css', None)
self.js = kwargs.get('js', [])
self.css = kwargs.get('css', {})
self.order = kwargs.get('order', 100)

def construct_plugins_list(self, plugins):
Expand All @@ -23,7 +23,12 @@ def construct_plugins_list(self, plugins):

@property
def media(self):
return Media(js=self.js, css=self.css)
js = [versioned_static(js_file) for js_file in self.js]
tomkins marked this conversation as resolved.
Show resolved Hide resolved
css = {}
for media_type, css_files in self.css.items():
css[media_type] = [versioned_static(css_file) for css_file in css_files]

return Media(js=js, css=css)


class HalloFormatPlugin(HalloPlugin):
Expand Down
11 changes: 11 additions & 0 deletions wagtail/admin/tests/test_rich_text.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
from wagtail.admin.rich_text import (
DraftailRichTextArea, HalloRichTextArea, get_rich_text_editor_widget)
from wagtail.admin.rich_text.converters.editor_html import PageLinkHandler
from wagtail.admin.rich_text.editors.hallo import HalloPlugin
from wagtail.core.blocks import RichTextBlock
from wagtail.core.models import Page, get_page_models
from wagtail.core.rich_text import features as feature_registry
Expand Down Expand Up @@ -756,3 +757,13 @@ def test_hallo(self):
HalloRichTextArea().is_hidden,
False,
)


class TestHalloPlugin(SimpleTestCase):
def test_versioned_static_media(self):
plugin = HalloPlugin(js=['wagtailadmin/js/vendor/hallo.js'], css={
'all': ['wagtailadmin/css/panels/hallo.css'],
})
media_html = str(plugin.media)
self.assertRegex(media_html, r'hallo.js\?v=(\w+)')
self.assertRegex(media_html, r'hallo.css\?v=(\w+)')
9 changes: 4 additions & 5 deletions wagtail/admin/wagtail_hooks.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
BlockElementHandler, ExternalLinkElementHandler, HorizontalRuleHandler,
InlineStyleElementHandler, ListElementHandler, ListItemElementHandler, PageLinkElementHandler)
from wagtail.admin.search import SearchArea
from wagtail.admin.staticfiles import versioned_static
from wagtail.admin.views.account import email_management_enabled, password_management_enabled
from wagtail.admin.viewsets import viewsets
from wagtail.admin.widgets import Button, ButtonWithDropdownFromHook, PageListingButton
Expand Down Expand Up @@ -280,7 +279,7 @@ def register_core_features(features):
'hallo', 'hr',
HalloPlugin(
name='hallohr',
js=[versioned_static('wagtailadmin/js/hallo-plugins/hallo-hr.js')],
js=['wagtailadmin/js/hallo-plugins/hallo-hr.js'],
order=45,
)
)
Expand All @@ -293,8 +292,8 @@ def register_core_features(features):
HalloPlugin(
name='hallowagtaillink',
js=[
versioned_static('wagtailadmin/js/page-chooser-modal.js'),
versioned_static('wagtailadmin/js/hallo-plugins/hallo-wagtaillink.js'),
'wagtailadmin/js/page-chooser-modal.js',
'wagtailadmin/js/hallo-plugins/hallo-wagtaillink.js',
],
)
)
Expand Down Expand Up @@ -542,7 +541,7 @@ def register_core_features(features):
'href': "^(http:|https:|undefined$)",
}
}, js=[
versioned_static('wagtailadmin/js/page-chooser-modal.js'),
'wagtailadmin/js/page-chooser-modal.js',
])
)
features.register_converter_rule('contentstate', 'link', {
Expand Down
7 changes: 3 additions & 4 deletions wagtail/documents/wagtail_hooks.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
from wagtail.admin.rich_text import HalloPlugin
from wagtail.admin.search import SearchArea
from wagtail.admin.site_summary import SummaryItem
from wagtail.admin.staticfiles import versioned_static
from wagtail.core import hooks
from wagtail.core.models import BaseViewRestriction
from wagtail.core.wagtail_hooks import require_wagtail_login
Expand Down Expand Up @@ -76,8 +75,8 @@ def register_document_feature(features):
HalloPlugin(
name='hallowagtaildoclink',
js=[
versioned_static('wagtaildocs/js/document-chooser-modal.js'),
versioned_static('wagtaildocs/js/hallo-plugins/hallo-wagtaildoclink.js'),
'wagtaildocs/js/document-chooser-modal.js',
'wagtaildocs/js/hallo-plugins/hallo-wagtaildoclink.js',
],
)
)
Expand All @@ -86,7 +85,7 @@ def register_document_feature(features):
'type': 'DOCUMENT',
'icon': 'doc-full',
'description': ugettext('Document'),
}, js=[versioned_static('wagtaildocs/js/document-chooser-modal.js')])
}, js=['wagtaildocs/js/document-chooser-modal.js'])
)

features.register_converter_rule(
Expand Down
7 changes: 3 additions & 4 deletions wagtail/embeds/wagtail_hooks.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@

import wagtail.admin.rich_text.editors.draftail.features as draftail_features
from wagtail.admin.rich_text import HalloPlugin
from wagtail.admin.staticfiles import versioned_static
from wagtail.core import hooks
from wagtail.embeds import urls
from wagtail.embeds.rich_text import MediaEmbedHandler
Expand Down Expand Up @@ -43,8 +42,8 @@ def register_embed_feature(features):
HalloPlugin(
name='hallowagtailembeds',
js=[
versioned_static('wagtailembeds/js/embed-chooser-modal.js'),
versioned_static('wagtailembeds/js/hallo-plugins/hallo-wagtailembeds.js'),
'wagtailembeds/js/embed-chooser-modal.js',
'wagtailembeds/js/hallo-plugins/hallo-wagtailembeds.js',
],
)
)
Expand All @@ -59,7 +58,7 @@ def register_embed_feature(features):
'type': 'EMBED',
'icon': 'media',
'description': _('Embed'),
}, js=[versioned_static('wagtailembeds/js/embed-chooser-modal.js')])
}, js=['wagtailembeds/js/embed-chooser-modal.js'])
)

# define how to convert between contentstate's representation of embeds and
Expand Down
7 changes: 3 additions & 4 deletions wagtail/images/wagtail_hooks.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
from wagtail.admin.rich_text import HalloPlugin
from wagtail.admin.search import SearchArea
from wagtail.admin.site_summary import SummaryItem
from wagtail.admin.staticfiles import versioned_static
from wagtail.core import hooks
from wagtail.images import admin_urls, get_image_model, image_operations
from wagtail.images.api.admin.endpoints import ImagesAdminAPIEndpoint
Expand Down Expand Up @@ -71,8 +70,8 @@ def register_image_feature(features):
HalloPlugin(
name='hallowagtailimage',
js=[
versioned_static('wagtailimages/js/image-chooser-modal.js'),
versioned_static('wagtailimages/js/hallo-plugins/hallo-wagtailimage.js'),
'wagtailimages/js/image-chooser-modal.js',
'wagtailimages/js/hallo-plugins/hallo-wagtailimage.js',
],
)
)
Expand All @@ -95,7 +94,7 @@ def register_image_feature(features):
'id': True,
}
}, js=[
versioned_static('wagtailimages/js/image-chooser-modal.js'),
'wagtailimages/js/image-chooser-modal.js',
tomkins marked this conversation as resolved.
Show resolved Hide resolved
])
)

Expand Down