diff --git a/CHANGELOG.md b/CHANGELOG.md index 7646902..afc3133 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ # CHANGELOG +## v1.1.0 +- Add optional default heading level setting for care cards + ## v1.0.0 ### Upgrade Considerations diff --git a/docs/components/care_card.md b/docs/components/care_card.md index ef66bb6..300a05a 100644 --- a/docs/components/care_card.md +++ b/docs/components/care_card.md @@ -45,6 +45,12 @@ class MyPage(Page): ]) ``` +# Default Heading Level + +The default heading level for care cards is 3 but this can be overwritten using a Django setting. +See testapp/testapp/settings/base.py as an example. +If no setting is supplied the default will remain 3. + ## Reference * [Service Manual](https://service-manual.nhs.uk/design-system/components/care-cards) diff --git a/testapp/testapp/settings/base.py b/testapp/testapp/settings/base.py index 8d55db2..05b2e90 100644 --- a/testapp/testapp/settings/base.py +++ b/testapp/testapp/settings/base.py @@ -165,3 +165,7 @@ # Default field for primary keys DEFAULT_AUTO_FIELD = 'django.db.models.AutoField' + +# Default heading level for care cards +# Uncomment the line below and change the value to what you want (min=2 max=6) +# DEFAULT_CARE_CARD_HEADING_LEVEL = 3 diff --git a/wagtailnhsukfrontend/blocks.py b/wagtailnhsukfrontend/blocks.py index b15e364..c3fb541 100644 --- a/wagtailnhsukfrontend/blocks.py +++ b/wagtailnhsukfrontend/blocks.py @@ -1,4 +1,5 @@ from django.core.exceptions import ValidationError +from django.conf import settings from django.forms.utils import ErrorList from wagtail.core.blocks import ( BooleanBlock, @@ -328,6 +329,12 @@ class Meta: template = 'wagtailnhsukfrontend/expander_group.html' +if hasattr(settings, 'DEFAULT_CARE_CARD_HEADING_LEVEL'): + CARE_CARD_HEADING_LEVEL = settings.DEFAULT_CARE_CARD_HEADING_LEVEL +else: + CARE_CARD_HEADING_LEVEL = 3 + + class CareCardBlock(FlattenValueContext, StructBlock): type = ChoiceBlock([ @@ -335,7 +342,7 @@ class CareCardBlock(FlattenValueContext, StructBlock): ('urgent', 'Urgent'), ('immediate', 'Immediate'), ], required=True, default='primary',) - heading_level = IntegerBlock(required=True, min_value=2, max_value=6, default=3, help_text='The heading level affects users with screen readers. Default=3, Min=2, Max=4.') + heading_level = IntegerBlock(required=True, min_value=2, max_value=6, default=CARE_CARD_HEADING_LEVEL, help_text='The heading level affects users with screen readers. Default=' + str(CARE_CARD_HEADING_LEVEL) + ', Min=2, Max=4.') title = CharBlock(required=True) class BodyStreamBlock(StreamBlock):