kopia lustrzana https://github.com/wagtail/wagtail
Register comparison classes at the field level instead of overriding get_comparison_class on panels
rodzic
6e34b2fdcc
commit
179a867669
|
@ -11,7 +11,7 @@ from django.utils.translation import gettext_lazy as _
|
|||
from taggit.managers import TaggableManager
|
||||
|
||||
from wagtail.core import blocks
|
||||
from wagtail.core.fields import RichTextField
|
||||
from wagtail.core.fields import RichTextField, StreamField
|
||||
from wagtail.utils.registry import ModelFieldRegistry
|
||||
|
||||
|
||||
|
@ -319,6 +319,9 @@ class StreamFieldComparison(FieldComparison):
|
|||
).to_html()
|
||||
|
||||
|
||||
register_comparison_class(StreamField, comparison_class=StreamFieldComparison)
|
||||
|
||||
|
||||
class ChoiceFieldComparison(FieldComparison):
|
||||
def htmldiff(self):
|
||||
val_a = force_str(
|
||||
|
|
|
@ -603,8 +603,7 @@ class FieldPanel(EditHandler):
|
|||
|
||||
|
||||
class RichTextFieldPanel(FieldPanel):
|
||||
def get_comparison_class(self):
|
||||
return compare.RichTextFieldComparison
|
||||
pass
|
||||
|
||||
|
||||
class BaseChooserPanel(FieldPanel):
|
||||
|
@ -1012,9 +1011,6 @@ class StreamFieldPanel(FieldPanel):
|
|||
|
||||
return classes
|
||||
|
||||
def get_comparison_class(self):
|
||||
return compare.StreamFieldComparison
|
||||
|
||||
def id_for_label(self):
|
||||
# a StreamField may consist of many input fields, so it's not meaningful to
|
||||
# attach the label to any specific one
|
||||
|
|
|
@ -24,3 +24,13 @@ class WagtailImagesAppConfig(AppConfig):
|
|||
register_form_field_override(
|
||||
ForeignKey, to=Image, override={"widget": AdminImageChooser}
|
||||
)
|
||||
|
||||
# Set up image ForeignKeys to use ImageFieldComparison as the comparison class
|
||||
# when comparing page revisions
|
||||
from wagtail.admin.compare import register_comparison_class
|
||||
|
||||
from .edit_handlers import ImageFieldComparison
|
||||
|
||||
register_comparison_class(
|
||||
ForeignKey, to=Image, comparison_class=ImageFieldComparison
|
||||
)
|
||||
|
|
|
@ -5,8 +5,7 @@ from wagtail.admin.edit_handlers import BaseChooserPanel
|
|||
|
||||
|
||||
class ImageChooserPanel(BaseChooserPanel):
|
||||
def get_comparison_class(self):
|
||||
return ImageFieldComparison
|
||||
pass
|
||||
|
||||
|
||||
class ImageFieldComparison(ForeignObjectComparison):
|
||||
|
|
Ładowanie…
Reference in New Issue