add featured block
This commit is contained in:
@ -1,6 +1,7 @@
|
||||
from grapple.helpers import register_streamfield_block
|
||||
from grapple.models import (
|
||||
GraphQLImage,
|
||||
GraphQLPage,
|
||||
GraphQLStreamfield,
|
||||
GraphQLString,
|
||||
)
|
||||
@ -90,3 +91,48 @@ class HorizontalRuleBlock(blocks.StructBlock):
|
||||
|
||||
class Meta:
|
||||
icon = "minus"
|
||||
|
||||
|
||||
@register_streamfield_block
|
||||
class FeaturedBlock(blocks.StructBlock):
|
||||
IMAGE_POSITION_CHOICES = (
|
||||
("left", "Venstre"),
|
||||
("right", "Høyre"),
|
||||
)
|
||||
|
||||
title = blocks.CharBlock(max_length=64, required=True, label="Tittel")
|
||||
text = blocks.RichTextBlock(features=["bold", "italic", "link"], required=True, label="Tekst")
|
||||
featured_page = blocks.PageChooserBlock(header="Fremhevet side", required=True)
|
||||
link_text = blocks.CharBlock(
|
||||
max_length=64,
|
||||
label="Lenketekst",
|
||||
default="Les mer",
|
||||
required=True,
|
||||
help_text='Lenketeksten som tar deg videre til siden. Tips: Ikke start med "Trykk her"',
|
||||
)
|
||||
image_position = blocks.ChoiceBlock(
|
||||
required=True,
|
||||
choices=IMAGE_POSITION_CHOICES,
|
||||
label="Bildeplassering",
|
||||
)
|
||||
featured_image_override = ImageChooserBlock(
|
||||
header="Overstyr bilde",
|
||||
help_text=(
|
||||
"Bildet som er tilknyttet undersiden du vil fremheve, vil automatisk brukes. "
|
||||
"Om det mangler eller du vil overstyre hvilket bilde som et brukes, "
|
||||
"kan du velge et her."
|
||||
),
|
||||
required=False,
|
||||
)
|
||||
|
||||
graphql_fields = [
|
||||
GraphQLString("title", required=True),
|
||||
GraphQLString("text", required=True),
|
||||
GraphQLString("link_text", required=True),
|
||||
GraphQLString("image_position", required=True),
|
||||
GraphQLImage("featured_image_override"),
|
||||
GraphQLPage("featured_page", required=True),
|
||||
]
|
||||
|
||||
class Meta:
|
||||
icon = "arrow-right-full"
|
||||
|
@ -1,7 +1,7 @@
|
||||
from wagtail import blocks
|
||||
from wagtail.fields import StreamField
|
||||
|
||||
from dnscms.blocks import HorizontalRuleBlock, ImageSliderBlock, ImageWithTextBlock
|
||||
from dnscms.blocks import FeaturedBlock, HorizontalRuleBlock, ImageSliderBlock, ImageWithTextBlock
|
||||
|
||||
CommonStreamField = StreamField(
|
||||
[
|
||||
@ -9,6 +9,7 @@ CommonStreamField = StreamField(
|
||||
("image", ImageWithTextBlock(label="Bilde")),
|
||||
("image_slider", ImageSliderBlock(label="Bildegalleri")),
|
||||
("horizontal_rule", HorizontalRuleBlock(label="Skillelinje")),
|
||||
("featured", FeaturedBlock(label="Fremhevet underside")),
|
||||
],
|
||||
default=[("paragraph", "")],
|
||||
)
|
||||
|
12
dnscms/poetry.lock
generated
12
dnscms/poetry.lock
generated
@ -721,13 +721,13 @@ files = [
|
||||
|
||||
[[package]]
|
||||
name = "requests"
|
||||
version = "2.32.0"
|
||||
version = "2.32.2"
|
||||
description = "Python HTTP for Humans."
|
||||
optional = false
|
||||
python-versions = ">=3.8"
|
||||
files = [
|
||||
{file = "requests-2.32.0-py3-none-any.whl", hash = "sha256:f2c3881dddb70d056c5bd7600a4fae312b2a300e39be6a118d30b90bd27262b5"},
|
||||
{file = "requests-2.32.0.tar.gz", hash = "sha256:fa5490319474c82ef1d2c9bc459d3652e3ae4ef4c4ebdd18a21145a47ca4b6b8"},
|
||||
{file = "requests-2.32.2-py3-none-any.whl", hash = "sha256:fc06670dd0ed212426dfeb94fc1b983d917c4f9847c863f313c9dfaaffb7c23c"},
|
||||
{file = "requests-2.32.2.tar.gz", hash = "sha256:dd951ff5ecf3e3b3aa26b40703ba77495dab41da839ae72ef3c8e5d8e2433289"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
@ -858,13 +858,13 @@ zstd = ["zstandard (>=0.18.0)"]
|
||||
|
||||
[[package]]
|
||||
name = "wagtail"
|
||||
version = "6.1"
|
||||
version = "6.1.1"
|
||||
description = "A Django content management system."
|
||||
optional = false
|
||||
python-versions = ">=3.8"
|
||||
files = [
|
||||
{file = "wagtail-6.1-py3-none-any.whl", hash = "sha256:6c5ccabc5ac1701e4107241077a880f3fabd34c4ac20bdc412e8961e7b17b4a8"},
|
||||
{file = "wagtail-6.1.tar.gz", hash = "sha256:ad33ed1ccad1f9f1b4faba216c6cc92ba1a2dfefdbfd97c23ffbf7db99dd93c5"},
|
||||
{file = "wagtail-6.1.1-py3-none-any.whl", hash = "sha256:084f5911ddc742d4e7797cc40ea53ec6f696b06b91cd0857c1e28a944eceddda"},
|
||||
{file = "wagtail-6.1.1.tar.gz", hash = "sha256:d7b6e5e09970dd74efb63953c42a26fe6c25902e2a6dca4ad7e74ae00facb394"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
|
Reference in New Issue
Block a user