kopia lustrzana https://github.com/wagtail/wagtail
Add a base class for Telepath adapters for chooser widgets
rodzic
d4c146ad01
commit
0077183682
|
@ -0,0 +1,3 @@
|
|||
import { ChooserFactory } from '../../components/ChooserWidget';
|
||||
|
||||
window.telepath.register('wagtail.admin.widgets.Chooser', ChooserFactory);
|
|
@ -33,6 +33,7 @@ module.exports = function exports(env, argv) {
|
|||
'admin': [
|
||||
'chooser-modal',
|
||||
'chooser-widget',
|
||||
'chooser-widget-telepath',
|
||||
'comments',
|
||||
'core',
|
||||
'date-time-chooser',
|
||||
|
|
|
@ -234,11 +234,35 @@ class BaseChooser(widgets.Input):
|
|||
def render_js_init(self, id_, name, value_data):
|
||||
return "new Chooser({0});".format(json.dumps(id_))
|
||||
|
||||
class Media:
|
||||
js = [
|
||||
"wagtailadmin/js/chooser-widget.js",
|
||||
@cached_property
|
||||
def media(self):
|
||||
return forms.Media(
|
||||
js=[
|
||||
versioned_static("wagtailadmin/js/chooser-widget.js"),
|
||||
]
|
||||
)
|
||||
|
||||
|
||||
class BaseChooserAdapter(WidgetAdapter):
|
||||
js_constructor = "wagtail.admin.widgets.Chooser"
|
||||
|
||||
def js_args(self, widget):
|
||||
return [
|
||||
widget.render_html("__NAME__", None, attrs={"id": "__ID__"}),
|
||||
widget.id_for_label("__ID__"),
|
||||
]
|
||||
|
||||
@cached_property
|
||||
def media(self):
|
||||
return forms.Media(
|
||||
js=[
|
||||
versioned_static("wagtailadmin/js/chooser-widget-telepath.js"),
|
||||
]
|
||||
)
|
||||
|
||||
|
||||
register(BaseChooserAdapter(), BaseChooser)
|
||||
|
||||
|
||||
class AdminPageChooser(BaseChooser):
|
||||
choose_one_text = _("Choose a page")
|
||||
|
|
|
@ -2,22 +2,16 @@ from django import forms
|
|||
from django.utils.functional import cached_property
|
||||
|
||||
from wagtail.admin.staticfiles import versioned_static
|
||||
from wagtail.admin.widgets import BaseChooserAdapter
|
||||
from wagtail.documents.views.chooser import viewset as chooser_viewset
|
||||
from wagtail.telepath import register
|
||||
from wagtail.widget_adapters import WidgetAdapter
|
||||
|
||||
AdminDocumentChooser = chooser_viewset.widget_class
|
||||
|
||||
|
||||
class DocumentChooserAdapter(WidgetAdapter):
|
||||
class DocumentChooserAdapter(BaseChooserAdapter):
|
||||
js_constructor = "wagtail.documents.widgets.DocumentChooser"
|
||||
|
||||
def js_args(self, widget):
|
||||
return [
|
||||
widget.render_html("__NAME__", None, attrs={"id": "__ID__"}),
|
||||
widget.id_for_label("__ID__"),
|
||||
]
|
||||
|
||||
@cached_property
|
||||
def media(self):
|
||||
return forms.Media(
|
||||
|
|
|
@ -5,11 +5,10 @@ from django.utils.functional import cached_property
|
|||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
from wagtail.admin.staticfiles import versioned_static
|
||||
from wagtail.admin.widgets import BaseChooser
|
||||
from wagtail.admin.widgets import BaseChooser, BaseChooserAdapter
|
||||
from wagtail.images import get_image_model
|
||||
from wagtail.images.shortcuts import get_rendition_or_not_found
|
||||
from wagtail.telepath import register
|
||||
from wagtail.widget_adapters import WidgetAdapter
|
||||
|
||||
|
||||
class AdminImageChooser(BaseChooser):
|
||||
|
@ -53,15 +52,9 @@ class AdminImageChooser(BaseChooser):
|
|||
)
|
||||
|
||||
|
||||
class ImageChooserAdapter(WidgetAdapter):
|
||||
class ImageChooserAdapter(BaseChooserAdapter):
|
||||
js_constructor = "wagtail.images.widgets.ImageChooser"
|
||||
|
||||
def js_args(self, widget):
|
||||
return [
|
||||
widget.render_html("__NAME__", None, attrs={"id": "__ID__"}),
|
||||
widget.id_for_label("__ID__"),
|
||||
]
|
||||
|
||||
@cached_property
|
||||
def media(self):
|
||||
return forms.Media(
|
||||
|
|
|
@ -8,10 +8,9 @@ from django.utils.functional import cached_property
|
|||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
from wagtail.admin.staticfiles import versioned_static
|
||||
from wagtail.admin.widgets import BaseChooser
|
||||
from wagtail.admin.widgets import BaseChooser, BaseChooserAdapter
|
||||
from wagtail.admin.widgets.button import ListingButton
|
||||
from wagtail.telepath import register
|
||||
from wagtail.widget_adapters import WidgetAdapter
|
||||
|
||||
|
||||
class AdminSnippetChooser(BaseChooser):
|
||||
|
@ -59,15 +58,9 @@ class AdminSnippetChooser(BaseChooser):
|
|||
)
|
||||
|
||||
|
||||
class SnippetChooserAdapter(WidgetAdapter):
|
||||
class SnippetChooserAdapter(BaseChooserAdapter):
|
||||
js_constructor = "wagtail.snippets.widgets.SnippetChooser"
|
||||
|
||||
def js_args(self, widget):
|
||||
return [
|
||||
widget.render_html("__NAME__", None, attrs={"id": "__ID__"}),
|
||||
widget.id_for_label("__ID__"),
|
||||
]
|
||||
|
||||
@cached_property
|
||||
def media(self):
|
||||
return forms.Media(
|
||||
|
|
Ładowanie…
Reference in New Issue