diff --git a/district/migrations/0170_districtpersonpage_after_name_and_more.py b/district/migrations/0170_districtpersonpage_after_name_and_more.py index fe8e0e47316c9a07126e921710e760dbd5e5b17f..0df093d123415c2cf0f00e79e350d72aa2adc311 100644 --- a/district/migrations/0170_districtpersonpage_after_name_and_more.py +++ b/district/migrations/0170_districtpersonpage_after_name_and_more.py @@ -6,46 +6,89 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ - ('district', '0169_alter_districtcontactpage_contact_people_and_more'), + ("district", "0169_alter_districtcontactpage_contact_people_and_more"), ] operations = [ migrations.AddField( - model_name='districtpersonpage', - name='after_name', - field=models.CharField(blank=True, max_length=16, null=True, verbose_name='Tituly za jménem'), + model_name="districtpersonpage", + name="after_name", + field=models.CharField( + blank=True, max_length=16, null=True, verbose_name="Tituly za jménem" + ), ), migrations.AddField( - model_name='districtpersonpage', - name='before_name', - field=models.CharField(blank=True, max_length=32, null=True, verbose_name='Tituly před jménem'), + model_name="districtpersonpage", + name="before_name", + field=models.CharField( + blank=True, max_length=32, null=True, verbose_name="Tituly před jménem" + ), ), migrations.AddField( - model_name='districtpersonpage', - name='perex', - field=models.TextField(default=''), + model_name="districtpersonpage", + name="perex", + field=models.TextField(default=""), preserve_default=False, ), migrations.AddField( - model_name='districtpersonpage', - name='position', - field=models.CharField(blank=True, max_length=200, null=True, verbose_name='Pozice/povolání'), + model_name="districtpersonpage", + name="position", + field=models.CharField( + blank=True, max_length=200, null=True, verbose_name="Pozice/povolání" + ), ), migrations.AddField( - model_name='districtpersonpage', - name='primary_group', - field=models.CharField(blank=True, help_text="např. 'Europarlament' nebo 'Sněmovna'", max_length=32, null=True, verbose_name='Kategorie'), + model_name="districtpersonpage", + name="primary_group", + field=models.CharField( + blank=True, + help_text="např. 'Europarlament' nebo 'Sněmovna'", + max_length=32, + null=True, + verbose_name="Kategorie", + ), ), migrations.AddField( - model_name='districtpersonpage', - name='related_people', - field=wagtail.fields.StreamField([('person', wagtail.blocks.PageChooserBlock(label='Detail osoby', page_type=['main.MainPersonPage']))], blank=True, verbose_name='Další lidé'), + model_name="districtpersonpage", + name="related_people", + field=wagtail.fields.StreamField( + [ + ( + "person", + wagtail.blocks.PageChooserBlock( + label="Detail osoby", page_type=["main.MainPersonPage"] + ), + ) + ], + blank=True, + verbose_name="Další lidé", + ), ), migrations.AddField( - model_name='districtpersonpage', - name='social_links', - field=wagtail.fields.StreamField([('social_links', wagtail.blocks.StructBlock([('text', wagtail.blocks.CharBlock(label='Název')), ('link', wagtail.blocks.URLBlock(label='Odkaz')), ('icon', wagtail.blocks.CharBlock(help_text='Seznam ikon - https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons <br/>Název ikony zadejte bez tečky na začátku', label='Ikona'))]))], blank=True, verbose_name='Odkazy na sociální sítě'), + model_name="districtpersonpage", + name="social_links", + field=wagtail.fields.StreamField( + [ + ( + "social_links", + wagtail.blocks.StructBlock( + [ + ("text", wagtail.blocks.CharBlock(label="Název")), + ("link", wagtail.blocks.URLBlock(label="Odkaz")), + ( + "icon", + wagtail.blocks.CharBlock( + help_text="Seznam ikon - https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons <br/>Název ikony zadejte bez tečky na začátku", + label="Ikona", + ), + ), + ] + ), + ) + ], + blank=True, + verbose_name="Odkazy na sociální sítě", + ), ), ] diff --git a/district/migrations/0171_auto_20240515_1115.py b/district/migrations/0171_auto_20240515_1115.py index 7167b25f8a4c203fe910c777791d22e8838a0b6e..2f7383003cd5d7124ae091e9a13722e2fae47616 100644 --- a/district/migrations/0171_auto_20240515_1115.py +++ b/district/migrations/0171_auto_20240515_1115.py @@ -10,14 +10,11 @@ def add_name_titles(apps, schema_editor): title = person_page.title.lower() if "bc. et bc." in title: - person_page.title = person_page.title.replace( - "Bc. et Bc. ", "" - ).replace( - "BC. et BC. ", "" - ).replace( - "Bc. et Bc.", "" - ).replace( - "BC. et BC.", "" + person_page.title = ( + person_page.title.replace("Bc. et Bc. ", "") + .replace("BC. et BC. ", "") + .replace("Bc. et Bc.", "") + .replace("BC. et BC.", "") ) title = person_page.title.lower() @@ -25,14 +22,11 @@ def add_name_titles(apps, schema_editor): person_page.before_name = "Bc. et Bc." if "bc." in title: - person_page.title = person_page.title.replace( - "Bc. ", "" - ).replace( - "BC. ", "" - ).replace( - "Bc.", "" - ).replace( - "BC.", "" + person_page.title = ( + person_page.title.replace("Bc. ", "") + .replace("BC. ", "") + .replace("Bc.", "") + .replace("BC.", "") ) title = person_page.title.lower() @@ -40,14 +34,11 @@ def add_name_titles(apps, schema_editor): person_page.before_name = "Bc." if "ing." in title: - person_page.title = person_page.title.replace( - "Ing. ", "" - ).replace( - "ING. ", "" - ).replace( - "Ing.", "" - ).replace( - "ING.", "" + person_page.title = ( + person_page.title.replace("Ing. ", "") + .replace("ING. ", "") + .replace("Ing.", "") + .replace("ING.", "") ) title = person_page.title.lower() @@ -55,14 +46,11 @@ def add_name_titles(apps, schema_editor): person_page.before_name = "Ing." if "mgr. et mgr." in title: - person_page.title = person_page.title.replace( - "Mgr. et Mgr. ", "" - ).replace( - "MGR. et MGR. ", "" - ).replace( - "Mgr. et Mgr.", "" - ).replace( - "MGR. et MGR.", "" + person_page.title = ( + person_page.title.replace("Mgr. et Mgr. ", "") + .replace("MGR. et MGR. ", "") + .replace("Mgr. et Mgr.", "") + .replace("MGR. et MGR.", "") ) title = person_page.title.lower() @@ -70,14 +58,11 @@ def add_name_titles(apps, schema_editor): person_page.before_name = "Mgr. et Mgr." if "mgr." in title: - person_page.title = person_page.title.replace( - "Mgr. ", "" - ).replace( - "MGR. ", "" - ).replace( - "Mgr.", "" - ).replace( - "MGR.", "" + person_page.title = ( + person_page.title.replace("Mgr. ", "") + .replace("MGR. ", "") + .replace("Mgr.", "") + .replace("MGR.", "") ) title = person_page.title.lower() @@ -85,14 +70,11 @@ def add_name_titles(apps, schema_editor): person_page.before_name = "Mgr." if "mudr. et mudr." in title: - person_page.title = person_page.title.replace( - "MUDr. et MUDr. ", "" - ).replace( - "MUDR. et MUDR. ", "" - ).replace( - "MUDr. et MUDr.", "" - ).replace( - "MUDR. et MUDR.", "" + person_page.title = ( + person_page.title.replace("MUDr. et MUDr. ", "") + .replace("MUDR. et MUDR. ", "") + .replace("MUDr. et MUDr.", "") + .replace("MUDR. et MUDR.", "") ) title = person_page.title.lower() @@ -100,14 +82,11 @@ def add_name_titles(apps, schema_editor): person_page.before_name = "MUDr. et MUDr." if "mudr." in title: - person_page.title = person_page.title.replace( - "MUDr. ", "" - ).replace( - "MUDR. ", "" - ).replace( - "MUDr.", "" - ).replace( - "MUDR.", "" + person_page.title = ( + person_page.title.replace("MUDr. ", "") + .replace("MUDR. ", "") + .replace("MUDr.", "") + .replace("MUDR.", "") ) title = person_page.title.lower() @@ -115,14 +94,11 @@ def add_name_titles(apps, schema_editor): person_page.before_name = "MUDr." if "rndr. et rndr." in title: - person_page.title = person_page.title.replace( - "RNDr. et RNDr. ", "" - ).replace( - "RNDR. et RNDR. ", "" - ).replace( - "RNDr. et RNDr.", "" - ).replace( - "RNDR. et RNDR.", "" + person_page.title = ( + person_page.title.replace("RNDr. et RNDr. ", "") + .replace("RNDR. et RNDR. ", "") + .replace("RNDr. et RNDr.", "") + .replace("RNDR. et RNDR.", "") ) title = person_page.title.lower() @@ -130,14 +106,11 @@ def add_name_titles(apps, schema_editor): person_page.before_name = "RNDr. et RNDr" if "rndr." in title: - person_page.title = person_page.title.replace( - "RNDr. ", "" - ).replace( - "RNDR. ", "" - ).replace( - "RNDr.", "" - ).replace( - "RNDR.", "" + person_page.title = ( + person_page.title.replace("RNDr. ", "") + .replace("RNDR. ", "") + .replace("RNDr.", "") + .replace("RNDR.", "") ) title = person_page.title.lower() @@ -145,14 +118,11 @@ def add_name_titles(apps, schema_editor): person_page.before_name = "RNDr." if "phdr. et phdr." in title: - person_page.title = person_page.title.replace( - "PhDr. et PhDr. ", "" - ).replace( - "PHDR. et PHDR. ", "" - ).replace( - "PhDr. et PhDr.", "" - ).replace( - "PHDR. et PHDR.", "" + person_page.title = ( + person_page.title.replace("PhDr. et PhDr. ", "") + .replace("PHDR. et PHDR. ", "") + .replace("PhDr. et PhDr.", "") + .replace("PHDR. et PHDR.", "") ) title = person_page.title.lower() @@ -160,14 +130,11 @@ def add_name_titles(apps, schema_editor): person_page.before_name = "PhDr. et PhDr." if "phdr." in title: - person_page.title = person_page.title.replace( - "PhDr. ", "" - ).replace( - "PHDR. ", "" - ).replace( - "PhDr.", "" - ).replace( - "PHDR.", "" + person_page.title = ( + person_page.title.replace("PhDr. ", "") + .replace("PHDR. ", "") + .replace("PhDr.", "") + .replace("PHDR.", "") ) title = person_page.title.lower() @@ -175,14 +142,11 @@ def add_name_titles(apps, schema_editor): person_page.before_name = "PhDr." if "ph.d." in title: - person_page.title = person_page.title.replace( - "Ph.D. ", "" - ).replace( - "PH.D. ", "" - ).replace( - "Ph.D.", "" - ).replace( - "PH.D.", "" + person_page.title = ( + person_page.title.replace("Ph.D. ", "") + .replace("PH.D. ", "") + .replace("Ph.D.", "") + .replace("PH.D.", "") ) title = person_page.title.lower() @@ -190,14 +154,11 @@ def add_name_titles(apps, schema_editor): person_page.after_name = "Ph.D." if "ph.d. et ph.d." in title: - person_page.title = person_page.title.replace( - "Ph.D. et Ph.D. ", "" - ).replace( - "PH.D. et PH.D. ", "" - ).replace( - "Ph.D. et Ph.D.", "" - ).replace( - "PH.D. et PH.D.", "" + person_page.title = ( + person_page.title.replace("Ph.D. et Ph.D. ", "") + .replace("PH.D. et PH.D. ", "") + .replace("Ph.D. et Ph.D.", "") + .replace("PH.D. et PH.D.", "") ) title = person_page.title.lower() @@ -208,11 +169,8 @@ def add_name_titles(apps, schema_editor): class Migration(migrations.Migration): - dependencies = [ - ('district', '0170_districtpersonpage_after_name_and_more'), + ("district", "0170_districtpersonpage_after_name_and_more"), ] - operations = [ - migrations.RunPython(add_name_titles) - ] + operations = [migrations.RunPython(add_name_titles)] diff --git a/district/migrations/0172_auto_20240515_1215.py b/district/migrations/0172_auto_20240515_1215.py index 0a6ad1a40604978bdabbb740ef60ede6853eb0ea..cd7632a95becb52cbbb56791d2a7bde73c723db5 100644 --- a/district/migrations/0172_auto_20240515_1215.py +++ b/district/migrations/0172_auto_20240515_1215.py @@ -4,9 +4,8 @@ from django.db import migrations class Migration(migrations.Migration): - dependencies = [ - ('district', '0171_auto_20240515_1115'), + ("district", "0171_auto_20240515_1115"), ] operations = [ @@ -18,5 +17,5 @@ class Migration(migrations.Migration): model_name="districtpersonpage", old_name="job_function", new_name="position", - ) + ), ] diff --git a/district/migrations/0173_alter_districtpersonpage_options.py b/district/migrations/0173_alter_districtpersonpage_options.py index 3c6110b02de0d36d221d38283c5ba8a9d57a7312..de5091a93bee0125cb573ce1159c33968567da18 100644 --- a/district/migrations/0173_alter_districtpersonpage_options.py +++ b/district/migrations/0173_alter_districtpersonpage_options.py @@ -4,14 +4,13 @@ from django.db import migrations class Migration(migrations.Migration): - dependencies = [ - ('district', '0172_auto_20240515_1215'), + ("district", "0172_auto_20240515_1215"), ] operations = [ migrations.AlterModelOptions( - name='districtpersonpage', - options={'verbose_name': 'Detail osoby'}, + name="districtpersonpage", + options={"verbose_name": "Detail osoby"}, ), ] diff --git a/district/migrations/0174_alter_districtpersonpage_position.py b/district/migrations/0174_alter_districtpersonpage_position.py index cd53bf04e2e438cf60f83e4efcc87098c553fcc9..50d8d205ee97ca9a9a86939dcd86e110b5beba53 100644 --- a/district/migrations/0174_alter_districtpersonpage_position.py +++ b/district/migrations/0174_alter_districtpersonpage_position.py @@ -4,15 +4,20 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ - ('district', '0173_alter_districtpersonpage_options'), + ("district", "0173_alter_districtpersonpage_options"), ] operations = [ migrations.AlterField( - model_name='districtpersonpage', - name='position', - field=models.CharField(blank=True, help_text="Např. 'Předseda'", max_length=200, null=True, verbose_name='Funkce'), + model_name="districtpersonpage", + name="position", + field=models.CharField( + blank=True, + help_text="Např. 'Předseda'", + max_length=200, + null=True, + verbose_name="Funkce", + ), ), ] diff --git a/district/migrations/0175_auto_20240515_1240.py b/district/migrations/0175_auto_20240515_1240.py index be420a5303410261e56a8b7512abc7567a643235..d8682b1d36b2a91e1bc02d084bf8a398bdba65ad 100644 --- a/district/migrations/0175_auto_20240515_1240.py +++ b/district/migrations/0175_auto_20240515_1240.py @@ -1,6 +1,7 @@ # Generated by Django 5.0.4 on 2024-05-15 10:40 from django.db import migrations + from shared.blocks import SocialLinkBlock @@ -9,84 +10,109 @@ def add_social_media_blocks(apps, schema_editor): for person_page in DistrictPersonPage.objects.all(): if person_page.facebook_url: - person_page.social_links.append(( - "social_links", - SocialLinkBlock().to_python({ - "icon": "ico--facebook", - "text": "Facebook", - "link": person_page.facebook_url, - }) - )) + person_page.social_links.append( + ( + "social_links", + SocialLinkBlock().to_python( + { + "icon": "ico--facebook", + "text": "Facebook", + "link": person_page.facebook_url, + } + ), + ) + ) if person_page.instagram_url: - person_page.social_links.append(( - "social_links", - SocialLinkBlock().to_python({ - "icon": "ico--instagram", - "text": "Instagram", - "link": person_page.instagram_url, - }) - )) + person_page.social_links.append( + ( + "social_links", + SocialLinkBlock().to_python( + { + "icon": "ico--instagram", + "text": "Instagram", + "link": person_page.instagram_url, + } + ), + ) + ) if person_page.twitter_url: - person_page.social_links.append(( - "social_links", - SocialLinkBlock().to_python({ - "icon": "ico--twitter", - "text": "Twitter", - "link": person_page.twitter_url, - }) - )) + person_page.social_links.append( + ( + "social_links", + SocialLinkBlock().to_python( + { + "icon": "ico--twitter", + "text": "Twitter", + "link": person_page.twitter_url, + } + ), + ) + ) if person_page.youtube_url: - person_page.social_links.append(( - "social_links", - SocialLinkBlock().to_python({ - "icon": "ico--youtube", - "text": "YouTube", - "link": person_page.youtube_url, - }) - )) + person_page.social_links.append( + ( + "social_links", + SocialLinkBlock().to_python( + { + "icon": "ico--youtube", + "text": "YouTube", + "link": person_page.youtube_url, + } + ), + ) + ) if person_page.flickr_url: - person_page.social_links.append(( - "social_links", - SocialLinkBlock().to_python({ - "icon": "ico--flickr", - "text": "Flickr", - "link": person_page.flickr_url, - }) - )) + person_page.social_links.append( + ( + "social_links", + SocialLinkBlock().to_python( + { + "icon": "ico--flickr", + "text": "Flickr", + "link": person_page.flickr_url, + } + ), + ) + ) if person_page.custom_web_url: - person_page.social_links.append(( - "social_links", - SocialLinkBlock().to_python({ - "icon": "ico--globe", - "text": "Stránky", - "link": person_page.custom_web_url, - }) - )) + person_page.social_links.append( + ( + "social_links", + SocialLinkBlock().to_python( + { + "icon": "ico--globe", + "text": "Stránky", + "link": person_page.custom_web_url, + } + ), + ) + ) for other_link_block in person_page.other_urls.get_prep_value(): - person_page.social_links.append(( - "social_links", - SocialLinkBlock().to_python({ - "icon": other_link_block["value"]["custom_icon"], - "text": other_link_block["value"]["title"], - "link": other_link_block["value"]["url"], - }) - )) + person_page.social_links.append( + ( + "social_links", + SocialLinkBlock().to_python( + { + "icon": other_link_block["value"]["custom_icon"], + "text": other_link_block["value"]["title"], + "link": other_link_block["value"]["url"], + } + ), + ) + ) person_page.save() class Migration(migrations.Migration): - dependencies = [ - ('district', '0174_alter_districtpersonpage_position'), + ("district", "0174_alter_districtpersonpage_position"), ] - operations = [ - migrations.RunPython(add_social_media_blocks) - ] + operations = [migrations.RunPython(add_social_media_blocks)] diff --git a/district/migrations/0176_remove_districtpersonpage_custom_web_url_and_more.py b/district/migrations/0176_remove_districtpersonpage_custom_web_url_and_more.py index c78d618ab419bfc968f0257e1f18e0e322d532e6..003f294de2311f7651f331d58f606c91de5f91da 100644 --- a/district/migrations/0176_remove_districtpersonpage_custom_web_url_and_more.py +++ b/district/migrations/0176_remove_districtpersonpage_custom_web_url_and_more.py @@ -5,49 +5,62 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ - ('district', '0175_auto_20240515_1240'), - ('wagtailimages', '0026_delete_uploadedimage'), + ("district", "0175_auto_20240515_1240"), + ("wagtailimages", "0026_delete_uploadedimage"), ] operations = [ migrations.RemoveField( - model_name='districtpersonpage', - name='custom_web_url', + model_name="districtpersonpage", + name="custom_web_url", ), migrations.RemoveField( - model_name='districtpersonpage', - name='facebook_url', + model_name="districtpersonpage", + name="facebook_url", ), migrations.RemoveField( - model_name='districtpersonpage', - name='flickr_url', + model_name="districtpersonpage", + name="flickr_url", ), migrations.RemoveField( - model_name='districtpersonpage', - name='instagram_url', + model_name="districtpersonpage", + name="instagram_url", ), migrations.RemoveField( - model_name='districtpersonpage', - name='other_urls', + model_name="districtpersonpage", + name="other_urls", ), migrations.RemoveField( - model_name='districtpersonpage', - name='twitter_url', + model_name="districtpersonpage", + name="twitter_url", ), migrations.RemoveField( - model_name='districtpersonpage', - name='youtube_url', + model_name="districtpersonpage", + name="youtube_url", ), migrations.AlterField( - model_name='districtpersonpage', - name='main_image', - field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='+', to='wagtailimages.image', verbose_name='Hlavní obrázek'), + model_name="districtpersonpage", + name="main_image", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.PROTECT, + related_name="+", + to="wagtailimages.image", + verbose_name="Hlavní obrázek", + ), ), migrations.AlterField( - model_name='districtpersonpage', - name='profile_image', - field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='+', to='wagtailimages.image', verbose_name='Profilový obrázek'), + model_name="districtpersonpage", + name="profile_image", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.PROTECT, + related_name="+", + to="wagtailimages.image", + verbose_name="Profilový obrázek", + ), ), ] diff --git a/district/migrations/0177_remove_districtpersonpage_show_email_and_more.py b/district/migrations/0177_remove_districtpersonpage_show_email_and_more.py index 98b569a8ed14bb6fd01c449f6bb3a6c5813f5269..e83d321ce49cf9466a88c93026e90b5346562c3f 100644 --- a/district/migrations/0177_remove_districtpersonpage_show_email_and_more.py +++ b/district/migrations/0177_remove_districtpersonpage_show_email_and_more.py @@ -4,24 +4,27 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ - ('district', '0176_remove_districtpersonpage_custom_web_url_and_more'), + ("district", "0176_remove_districtpersonpage_custom_web_url_and_more"), ] operations = [ migrations.RemoveField( - model_name='districtpersonpage', - name='show_email', + model_name="districtpersonpage", + name="show_email", ), migrations.AlterField( - model_name='districtpersonpage', - name='email', - field=models.CharField(blank=True, max_length=128, null=True, verbose_name='E-mail'), + model_name="districtpersonpage", + name="email", + field=models.CharField( + blank=True, max_length=128, null=True, verbose_name="E-mail" + ), ), migrations.AlterField( - model_name='districtpersonpage', - name='phone', - field=models.CharField(blank=True, max_length=16, null=True, verbose_name='Telefonní kontakt'), + model_name="districtpersonpage", + name="phone", + field=models.CharField( + blank=True, max_length=16, null=True, verbose_name="Telefonní kontakt" + ), ), ] diff --git a/district/migrations/0178_auto_20240515_1505.py b/district/migrations/0178_auto_20240515_1505.py index ce963ebfff52f2ee02f1ead902dee72481f4ca24..17baca41fa3ee97a1b08726bada375cefcb72e67 100644 --- a/district/migrations/0178_auto_20240515_1505.py +++ b/district/migrations/0178_auto_20240515_1505.py @@ -1,7 +1,7 @@ # Generated by Django 5.0.4 on 2024-05-15 13:05 -from django.db import migrations, models import wagtail +from django.db import migrations, models def update_person_page_primary_group(apps, schema_editor): @@ -21,7 +21,9 @@ def update_person_page_primary_group(apps, schema_editor): person_pages = [] for id in person_page_ids: - person_pages.append(DistrictPersonPage.objects.filter(id=id["value"]).first()) + person_pages.append( + DistrictPersonPage.objects.filter(id=id["value"]).first() + ) if len(primary_group) > 64: continue # Too long! @@ -37,21 +39,26 @@ def update_person_page_primary_group(apps, schema_editor): class Migration(migrations.Migration): - dependencies = [ - ('district', '0177_remove_districtpersonpage_show_email_and_more'), + ("district", "0177_remove_districtpersonpage_show_email_and_more"), ] operations = [ migrations.AlterField( - model_name='districtpersonpage', - name='primary_group', - field=models.CharField(blank=True, help_text="např. 'Europarlament' nebo 'Sněmovna'", max_length=64, null=True, verbose_name='Kategorie'), + model_name="districtpersonpage", + name="primary_group", + field=models.CharField( + blank=True, + help_text="např. 'Europarlament' nebo 'Sněmovna'", + max_length=64, + null=True, + verbose_name="Kategorie", + ), ), migrations.AlterField( - model_name='districtpersonpage', - name='text', + model_name="districtpersonpage", + name="text", field=wagtail.fields.RichTextField(), ), - migrations.RunPython(update_person_page_primary_group) + migrations.RunPython(update_person_page_primary_group), ] diff --git a/district/migrations/0179_rename_text_districtcontactpage_text_backup.py b/district/migrations/0179_rename_text_districtcontactpage_text_backup.py new file mode 100644 index 0000000000000000000000000000000000000000..9f90811d32e43944c76b60658747505bb2fef4b1 --- /dev/null +++ b/district/migrations/0179_rename_text_districtcontactpage_text_backup.py @@ -0,0 +1,17 @@ +# Generated by Django 5.0.4 on 2024-05-16 11:15 + +from django.db import migrations + + +class Migration(migrations.Migration): + dependencies = [ + ("district", "0178_auto_20240515_1505"), + ] + + operations = [ + migrations.RenameField( + model_name="districtcontactpage", + old_name="text", + new_name="text_backup", + ), + ] diff --git a/district/migrations/0180_districtcontactpage_text.py b/district/migrations/0180_districtcontactpage_text.py new file mode 100644 index 0000000000000000000000000000000000000000..9703c2a617a557e4cd4d923300ae47e573e29ba5 --- /dev/null +++ b/district/migrations/0180_districtcontactpage_text.py @@ -0,0 +1,43 @@ +# Generated by Django 5.0.4 on 2024-05-16 11:15 + +import wagtail.blocks +import wagtail.fields +from django.db import migrations + + +class Migration(migrations.Migration): + dependencies = [ + ("district", "0179_rename_text_districtcontactpage_text_backup"), + ] + + operations = [ + migrations.AddField( + model_name="districtcontactpage", + name="text", + field=wagtail.fields.StreamField( + [ + ( + "two_columns_text", + wagtail.blocks.StructBlock( + [ + ( + "text_column_1", + wagtail.blocks.RichTextBlock( + label="První sloupec textu" + ), + ), + ( + "text_column_2", + wagtail.blocks.RichTextBlock( + label="Druhý sloupec textu" + ), + ), + ] + ), + ) + ], + blank=True, + verbose_name="Kontaktní informace", + ), + ), + ] diff --git a/district/migrations/0181_auto_20240516_1315.py b/district/migrations/0181_auto_20240516_1315.py new file mode 100644 index 0000000000000000000000000000000000000000..d7b9e2dc06e993fd514934bb0f46ddc5cb81596d --- /dev/null +++ b/district/migrations/0181_auto_20240516_1315.py @@ -0,0 +1,32 @@ +# Generated by Django 5.0.4 on 2024-05-16 11:15 + +from django.db import migrations + +from shared.blocks import TwoTextColumnBlock + + +def migrate_contact_page_text(apps, schema_editor): + DistrictContactPage = apps.get_model("district", "DistrictContactPage") + + for page in DistrictContactPage.objects.all(): + if not page.text_backup: + continue + + page.text.append( + ( + "two_columns_text", + TwoTextColumnBlock().to_python( + {"text_column_1": page.text_backup, "text_column_2": ""} + ), + ) + ) + + page.save() + + +class Migration(migrations.Migration): + dependencies = [ + ("district", "0180_districtcontactpage_text"), + ] + + operations = [migrations.RunPython(migrate_contact_page_text)] diff --git a/district/migrations/0183_alter_districtcustompage_options_and_more.py b/district/migrations/0183_alter_districtcustompage_options_and_more.py new file mode 100644 index 0000000000000000000000000000000000000000..b1611b3d4a36d14a9fdf5a18ad8f29cfd3ec0367 --- /dev/null +++ b/district/migrations/0183_alter_districtcustompage_options_and_more.py @@ -0,0 +1,30 @@ +# Generated by Django 5.0.4 on 2024-05-16 12:01 + +import django.db.models.deletion +from django.db import migrations, models + + +class Migration(migrations.Migration): + dependencies = [ + ("district", "0181_auto_20240516_1315"), + ("wagtailimages", "0026_delete_uploadedimage"), + ] + + operations = [ + migrations.AlterModelOptions( + name="districtcustompage", + options={"verbose_name": "Jednoduchá stárnka"}, + ), + migrations.AddField( + model_name="districtcustompage", + name="main_image", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.PROTECT, + related_name="+", + to="wagtailimages.image", + verbose_name="Obrázek na pozadí hlavičky", + ), + ), + ] diff --git a/district/migrations/0184_auto_20240516_1341.py b/district/migrations/0184_auto_20240516_1341.py new file mode 100644 index 0000000000000000000000000000000000000000..a114ad97441660289156c96660d90fadce8be0f8 --- /dev/null +++ b/district/migrations/0184_auto_20240516_1341.py @@ -0,0 +1,26 @@ +# Generated by Django 5.0.4 on 2024-05-16 11:41 + +from django.db import migrations + + +def migrate_custom_page_headers(apps, schema_editor): + DistrictCustomPage = apps.get_model("district", "DistrictCustomPage") + Image = apps.get_model("wagtailimages", "Image") + + for page in DistrictCustomPage.objects.all(): + for block in page.content.get_prep_value(): + if block["type"] != "image_banner": + continue + + page.title = block["value"]["headline"] + page.main_image = Image.objects.filter(id=block["value"]["image"]).first() + + page.save() + + +class Migration(migrations.Migration): + dependencies = [ + ("district", "0183_alter_districtcustompage_options_and_more"), + ] + + operations = [migrations.RunPython(migrate_custom_page_headers)] diff --git a/district/migrations/0185_alter_districtcustompage_content.py b/district/migrations/0185_alter_districtcustompage_content.py new file mode 100644 index 0000000000000000000000000000000000000000..6ef9b704fec2f989747349fc50c6e842e383dce9 --- /dev/null +++ b/district/migrations/0185_alter_districtcustompage_content.py @@ -0,0 +1,6086 @@ +# Generated by Django 5.0.4 on 2024-05-16 12:24 + +import wagtail.blocks +import wagtail.contrib.table_block.blocks +import wagtail.fields +import wagtail.images.blocks +from django.db import migrations + +import shared.blocks.base + + +class Migration(migrations.Migration): + dependencies = [ + ("district", "0184_auto_20240516_1341"), + ] + + operations = [ + migrations.AlterField( + model_name="districtcustompage", + name="content", + field=wagtail.fields.StreamField( + [ + ( + "text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="Textový editor", + ), + ), + ( + "headline", + wagtail.blocks.StructBlock( + [ + ( + "headline", + wagtail.blocks.CharBlock( + label="Headline", max_length=300, required=True + ), + ), + ( + "style", + wagtail.blocks.ChoiceBlock( + choices=[ + ("head-alt-xl", "Bebas XL"), + ("head-alt-lg", "Bebas L"), + ("head-alt-md", "Bebas M"), + ("head-alt-base", "Bebas base"), + ("head-alt-sm", "Bebas SM"), + ("head-alt-xs", "Bebas XS"), + ("head-alt-2xs", "Bebas 2XS"), + ("head-heavy-base", "Roboto base"), + ("head-heavy-sm", "Roboto SM"), + ("head-heavy-xs", "Roboto XS"), + ("head-heavy-2xs", "Roboto 2XS"), + ("head-allcaps-2xs", "Allcaps 2XS"), + ("head-allcaps-3xs", "Allcaps 3XS"), + ("head-allcaps-4xs", "Allcaps 4XS"), + ( + "head-heavy-allcaps-2xs", + "Allcaps heavy 2XS", + ), + ( + "head-heavy-allcaps-3xs", + "Allcaps heavy 3XS", + ), + ( + "head-heavy-allcaps-4xs", + "Allcaps heavy 4XS", + ), + ], + help_text="Náhled si prohlédněte na https://styleguide.pir-test.eu/latest/?p=viewall-atoms-text.", + label="Styl", + ), + ), + ( + "tag", + wagtail.blocks.ChoiceBlock( + choices=[ + ("h1", "H1"), + ("h2", "H2"), + ("h3", "H3"), + ("h4", "H4"), + ("h5", "H5"), + ("h6", "H6"), + ], + help_text="Čím nižší číslo, tím vyšší úroveň.", + label="Úroveň nadpisu", + ), + ), + ( + "align", + wagtail.blocks.ChoiceBlock( + choices=[ + ("auto", "Automaticky"), + ("center", "Na střed"), + ], + label="Zarovnání", + ), + ), + ] + ), + ), + ( + "table", + wagtail.contrib.table_block.blocks.TableBlock( + template="shared/blocks/table_block.html" + ), + ), + ( + "gallery", + wagtail.blocks.StructBlock( + [ + ( + "gallery_items", + wagtail.blocks.ListBlock( + wagtail.images.blocks.ImageChooserBlock( + label="obrázek", required=True + ), + group="ostatní", + icon="image", + label="Galerie", + ), + ) + ], + label="Galerie", + ), + ), + ( + "figure", + wagtail.blocks.StructBlock( + [ + ( + "img", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", required=True + ), + ), + ( + "caption", + wagtail.blocks.TextBlock( + label="Popisek", required=False + ), + ), + ] + ), + ), + ( + "card", + wagtail.blocks.StructBlock( + [ + ( + "img", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", required=False + ), + ), + ( + "elevation", + wagtail.blocks.IntegerBlock( + default=2, + help_text="0 = žádný stín, 21 = maximální stín", + label="Velikost stínu", + max_value=21, + min_value=0, + ), + ), + ( + "headline", + wagtail.blocks.TextBlock( + label="Titulek", required=False + ), + ), + ( + "hoveractive", + wagtail.blocks.BooleanBlock( + default=False, + help_text="Pokud je zapnuto, stín se zvýrazní, když na kartu uživatel najede myší.", + label="Zvýraznit stín na hover", + required=False, + ), + ), + ( + "content", + wagtail.blocks.StreamBlock( + [ + ( + "text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="Textový editor", + ), + ), + ( + "table", + wagtail.contrib.table_block.blocks.TableBlock( + template="shared/blocks/table_block.html" + ), + ), + ( + "figure", + wagtail.blocks.StructBlock( + [ + ( + "img", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", + required=True, + ), + ), + ( + "caption", + wagtail.blocks.TextBlock( + label="Popisek", + required=False, + ), + ), + ] + ), + ), + ( + "youtube", + wagtail.blocks.StructBlock( + [ + ( + "poster_image", + wagtail.images.blocks.ImageChooserBlock( + help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.", + label="Náhled videa (automatické pole)", + required=False, + ), + ), + ( + "video_url", + wagtail.blocks.URLBlock( + help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.", + label="Odkaz na video", + required=False, + ), + ), + ( + "video_id", + wagtail.blocks.CharBlock( + help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.", + label="ID videa (automatické pole)", + required=False, + ), + ), + ] + ), + ), + ( + "map_point", + wagtail.blocks.StructBlock( + [ + ( + "lat", + wagtail.blocks.DecimalBlock( + help_text="Např. 50.04075", + label="Zeměpisná šířka", + ), + ), + ( + "lon", + wagtail.blocks.DecimalBlock( + help_text="Např. 15.77659", + label="Zeměpisná délka", + ), + ), + ( + "hex_color", + wagtail.blocks.CharBlock( + default="000000", + help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", + label="Barva špendlíku (HEX)", + ), + ), + ( + "zoom", + wagtail.blocks.IntegerBlock( + default=15, + label="Výchozí zoom", + max_value=18, + min_value=1, + ), + ), + ( + "style", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "osm-mapnik", + "OSM Mapnik", + ), + ( + "stadia-osm-bright", + "Stadia OSM Bright", + ), + ( + "stadia-outdoors", + "Stadia Outdoors", + ), + ( + "mapbox-streets", + "Mapbox Streets", + ), + ( + "mapbox-outdoors", + "Mapbox Outdoors", + ), + ( + "mapbox-light", + "Mapbox Light", + ), + ( + "mapbox-dark", + "Mapbox Dark", + ), + ( + "mapbox-satellite", + "Mapbox Satellite", + ), + ( + "mapbox-pirate", + "Mapbox Pirate Theme", + ), + ], + label="Styl", + ), + ), + ( + "height", + wagtail.blocks.IntegerBlock( + label="Výška v px", + max_value=1000, + min_value=100, + ), + ), + ], + label="Špendlík na mapě", + ), + ), + ( + "map_collection", + wagtail.blocks.StructBlock( + [ + ( + "features", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", + required=True, + ), + ), + ( + "description", + wagtail.blocks.TextBlock( + label="Popisek", + required=False, + ), + ), + ( + "geojson", + wagtail.blocks.TextBlock( + help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.", + label="Geodata", + required=True, + ), + ), + ( + "image", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ( + "hex_color", + wagtail.blocks.CharBlock( + default="000000", + help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", + label="Barva (HEX)", + ), + ), + ], + required=True, + ), + label="Součásti", + ), + ), + ( + "zoom", + wagtail.blocks.IntegerBlock( + default=15, + label="Výchozí zoom", + max_value=18, + min_value=1, + ), + ), + ( + "style", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "osm-mapnik", + "OSM Mapnik", + ), + ( + "stadia-osm-bright", + "Stadia OSM Bright", + ), + ( + "stadia-outdoors", + "Stadia Outdoors", + ), + ( + "mapbox-streets", + "Mapbox Streets", + ), + ( + "mapbox-outdoors", + "Mapbox Outdoors", + ), + ( + "mapbox-light", + "Mapbox Light", + ), + ( + "mapbox-dark", + "Mapbox Dark", + ), + ( + "mapbox-satellite", + "Mapbox Satellite", + ), + ( + "mapbox-pirate", + "Mapbox Pirate Theme", + ), + ], + label="Styl", + ), + ), + ( + "height", + wagtail.blocks.IntegerBlock( + label="Výška v px", + max_value=1000, + min_value=100, + ), + ), + ], + label="Mapová kolekce", + ), + ), + ], + label="Obsah", + required=False, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", required=False + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", required=False + ), + ), + ] + ), + ), + ( + "two_columns", + wagtail.blocks.StructBlock( + [ + ( + "left_column_content", + wagtail.blocks.StreamBlock( + [ + ( + "text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="Textový editor", + ), + ), + ( + "table", + wagtail.contrib.table_block.blocks.TableBlock( + template="shared/blocks/table_block.html" + ), + ), + ( + "card", + wagtail.blocks.StructBlock( + [ + ( + "img", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", + required=False, + ), + ), + ( + "elevation", + wagtail.blocks.IntegerBlock( + default=2, + help_text="0 = žádný stín, 21 = maximální stín", + label="Velikost stínu", + max_value=21, + min_value=0, + ), + ), + ( + "headline", + wagtail.blocks.TextBlock( + label="Titulek", + required=False, + ), + ), + ( + "hoveractive", + wagtail.blocks.BooleanBlock( + default=False, + help_text="Pokud je zapnuto, stín se zvýrazní, když na kartu uživatel najede myší.", + label="Zvýraznit stín na hover", + required=False, + ), + ), + ( + "content", + wagtail.blocks.StreamBlock( + [ + ( + "text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="Textový editor", + ), + ), + ( + "table", + wagtail.contrib.table_block.blocks.TableBlock( + template="shared/blocks/table_block.html" + ), + ), + ( + "figure", + wagtail.blocks.StructBlock( + [ + ( + "img", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", + required=True, + ), + ), + ( + "caption", + wagtail.blocks.TextBlock( + label="Popisek", + required=False, + ), + ), + ] + ), + ), + ( + "youtube", + wagtail.blocks.StructBlock( + [ + ( + "poster_image", + wagtail.images.blocks.ImageChooserBlock( + help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.", + label="Náhled videa (automatické pole)", + required=False, + ), + ), + ( + "video_url", + wagtail.blocks.URLBlock( + help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.", + label="Odkaz na video", + required=False, + ), + ), + ( + "video_id", + wagtail.blocks.CharBlock( + help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.", + label="ID videa (automatické pole)", + required=False, + ), + ), + ] + ), + ), + ( + "map_point", + wagtail.blocks.StructBlock( + [ + ( + "lat", + wagtail.blocks.DecimalBlock( + help_text="Např. 50.04075", + label="Zeměpisná šířka", + ), + ), + ( + "lon", + wagtail.blocks.DecimalBlock( + help_text="Např. 15.77659", + label="Zeměpisná délka", + ), + ), + ( + "hex_color", + wagtail.blocks.CharBlock( + default="000000", + help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", + label="Barva špendlíku (HEX)", + ), + ), + ( + "zoom", + wagtail.blocks.IntegerBlock( + default=15, + label="Výchozí zoom", + max_value=18, + min_value=1, + ), + ), + ( + "style", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "osm-mapnik", + "OSM Mapnik", + ), + ( + "stadia-osm-bright", + "Stadia OSM Bright", + ), + ( + "stadia-outdoors", + "Stadia Outdoors", + ), + ( + "mapbox-streets", + "Mapbox Streets", + ), + ( + "mapbox-outdoors", + "Mapbox Outdoors", + ), + ( + "mapbox-light", + "Mapbox Light", + ), + ( + "mapbox-dark", + "Mapbox Dark", + ), + ( + "mapbox-satellite", + "Mapbox Satellite", + ), + ( + "mapbox-pirate", + "Mapbox Pirate Theme", + ), + ], + label="Styl", + ), + ), + ( + "height", + wagtail.blocks.IntegerBlock( + label="Výška v px", + max_value=1000, + min_value=100, + ), + ), + ], + label="Špendlík na mapě", + ), + ), + ( + "map_collection", + wagtail.blocks.StructBlock( + [ + ( + "features", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", + required=True, + ), + ), + ( + "description", + wagtail.blocks.TextBlock( + label="Popisek", + required=False, + ), + ), + ( + "geojson", + wagtail.blocks.TextBlock( + help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.", + label="Geodata", + required=True, + ), + ), + ( + "image", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ( + "hex_color", + wagtail.blocks.CharBlock( + default="000000", + help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", + label="Barva (HEX)", + ), + ), + ], + required=True, + ), + label="Součásti", + ), + ), + ( + "zoom", + wagtail.blocks.IntegerBlock( + default=15, + label="Výchozí zoom", + max_value=18, + min_value=1, + ), + ), + ( + "style", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "osm-mapnik", + "OSM Mapnik", + ), + ( + "stadia-osm-bright", + "Stadia OSM Bright", + ), + ( + "stadia-outdoors", + "Stadia Outdoors", + ), + ( + "mapbox-streets", + "Mapbox Streets", + ), + ( + "mapbox-outdoors", + "Mapbox Outdoors", + ), + ( + "mapbox-light", + "Mapbox Light", + ), + ( + "mapbox-dark", + "Mapbox Dark", + ), + ( + "mapbox-satellite", + "Mapbox Satellite", + ), + ( + "mapbox-pirate", + "Mapbox Pirate Theme", + ), + ], + label="Styl", + ), + ), + ( + "height", + wagtail.blocks.IntegerBlock( + label="Výška v px", + max_value=1000, + min_value=100, + ), + ), + ], + label="Mapová kolekce", + ), + ), + ], + label="Obsah", + required=False, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ] + ), + ), + ( + "figure", + wagtail.blocks.StructBlock( + [ + ( + "img", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", + required=True, + ), + ), + ( + "caption", + wagtail.blocks.TextBlock( + label="Popisek", + required=False, + ), + ), + ] + ), + ), + ( + "youtube", + wagtail.blocks.StructBlock( + [ + ( + "poster_image", + wagtail.images.blocks.ImageChooserBlock( + help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.", + label="Náhled videa (automatické pole)", + required=False, + ), + ), + ( + "video_url", + wagtail.blocks.URLBlock( + help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.", + label="Odkaz na video", + required=False, + ), + ), + ( + "video_id", + wagtail.blocks.CharBlock( + help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.", + label="ID videa (automatické pole)", + required=False, + ), + ), + ] + ), + ), + ( + "map_point", + wagtail.blocks.StructBlock( + [ + ( + "lat", + wagtail.blocks.DecimalBlock( + help_text="Např. 50.04075", + label="Zeměpisná šířka", + ), + ), + ( + "lon", + wagtail.blocks.DecimalBlock( + help_text="Např. 15.77659", + label="Zeměpisná délka", + ), + ), + ( + "hex_color", + wagtail.blocks.CharBlock( + default="000000", + help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", + label="Barva špendlíku (HEX)", + ), + ), + ( + "zoom", + wagtail.blocks.IntegerBlock( + default=15, + label="Výchozí zoom", + max_value=18, + min_value=1, + ), + ), + ( + "style", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "osm-mapnik", + "OSM Mapnik", + ), + ( + "stadia-osm-bright", + "Stadia OSM Bright", + ), + ( + "stadia-outdoors", + "Stadia Outdoors", + ), + ( + "mapbox-streets", + "Mapbox Streets", + ), + ( + "mapbox-outdoors", + "Mapbox Outdoors", + ), + ( + "mapbox-light", + "Mapbox Light", + ), + ( + "mapbox-dark", + "Mapbox Dark", + ), + ( + "mapbox-satellite", + "Mapbox Satellite", + ), + ( + "mapbox-pirate", + "Mapbox Pirate Theme", + ), + ], + label="Styl", + ), + ), + ( + "height", + wagtail.blocks.IntegerBlock( + label="Výška v px", + max_value=1000, + min_value=100, + ), + ), + ], + label="Špendlík na mapě", + ), + ), + ( + "map_collection", + wagtail.blocks.StructBlock( + [ + ( + "features", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", + required=True, + ), + ), + ( + "description", + wagtail.blocks.TextBlock( + label="Popisek", + required=False, + ), + ), + ( + "geojson", + wagtail.blocks.TextBlock( + help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.", + label="Geodata", + required=True, + ), + ), + ( + "image", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ( + "hex_color", + wagtail.blocks.CharBlock( + default="000000", + help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", + label="Barva (HEX)", + ), + ), + ], + required=True, + ), + label="Součásti", + ), + ), + ( + "zoom", + wagtail.blocks.IntegerBlock( + default=15, + label="Výchozí zoom", + max_value=18, + min_value=1, + ), + ), + ( + "style", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "osm-mapnik", + "OSM Mapnik", + ), + ( + "stadia-osm-bright", + "Stadia OSM Bright", + ), + ( + "stadia-outdoors", + "Stadia Outdoors", + ), + ( + "mapbox-streets", + "Mapbox Streets", + ), + ( + "mapbox-outdoors", + "Mapbox Outdoors", + ), + ( + "mapbox-light", + "Mapbox Light", + ), + ( + "mapbox-dark", + "Mapbox Dark", + ), + ( + "mapbox-satellite", + "Mapbox Satellite", + ), + ( + "mapbox-pirate", + "Mapbox Pirate Theme", + ), + ], + label="Styl", + ), + ), + ( + "height", + wagtail.blocks.IntegerBlock( + label="Výška v px", + max_value=1000, + min_value=100, + ), + ), + ], + label="Mapová kolekce", + ), + ), + ( + "button", + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", + max_length=128, + required=True, + ), + ), + ( + "icon", + wagtail.blocks.CharBlock( + help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.", + label="Ikonka", + max_length=128, + required=False, + ), + ), + ( + "size", + wagtail.blocks.ChoiceBlock( + choices=[ + ("sm", "Malá"), + ("base", "Střední"), + ("lg", "Velká"), + ], + label="Velikost", + ), + ), + ( + "color", + wagtail.blocks.ChoiceBlock( + choices=[ + ("black", "Černá"), + ("white", "Bílá"), + ( + "grey-125", + "Světle šedá", + ), + ( + "blue-300", + "Modrá", + ), + ( + "cyan-200", + "Tyrkysová", + ), + ( + "green-400", + "Zelené", + ), + ( + "violet-400", + "Vínová", + ), + ( + "red-600", + "Červená", + ), + ], + label="Barva", + ), + ), + ( + "hoveractive", + wagtail.blocks.BooleanBlock( + default=True, + help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.", + label="Animovat na hover", + required=False, + ), + ), + ( + "mobile_fullwidth", + wagtail.blocks.BooleanBlock( + default=True, + help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.", + label="Plná šířka na mobilních zařízeních", + required=False, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ( + "align", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "auto", + "Automaticky", + ), + ( + "center", + "Na střed", + ), + ], + label="Zarovnání", + ), + ), + ] + ), + ), + ( + "button_group", + wagtail.blocks.StructBlock( + [ + ( + "buttons", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", + max_length=128, + required=True, + ), + ), + ( + "icon", + wagtail.blocks.CharBlock( + help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.", + label="Ikonka", + max_length=128, + required=False, + ), + ), + ( + "size", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "sm", + "Malá", + ), + ( + "base", + "Střední", + ), + ( + "lg", + "Velká", + ), + ], + label="Velikost", + ), + ), + ( + "color", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "black", + "Černá", + ), + ( + "white", + "Bílá", + ), + ( + "grey-125", + "Světle šedá", + ), + ( + "blue-300", + "Modrá", + ), + ( + "cyan-200", + "Tyrkysová", + ), + ( + "green-400", + "Zelené", + ), + ( + "violet-400", + "Vínová", + ), + ( + "red-600", + "Červená", + ), + ], + label="Barva", + ), + ), + ( + "hoveractive", + wagtail.blocks.BooleanBlock( + default=True, + help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.", + label="Animovat na hover", + required=False, + ), + ), + ( + "mobile_fullwidth", + wagtail.blocks.BooleanBlock( + default=True, + help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.", + label="Plná šířka na mobilních zařízeních", + required=False, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ( + "align", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "auto", + "Automaticky", + ), + ( + "center", + "Na střed", + ), + ], + label="Zarovnání", + ), + ), + ] + ), + label="Tlačítka", + ), + ) + ] + ), + ), + ], + label="Obsah levého sloupce", + required=True, + ), + ), + ( + "right_column_content", + wagtail.blocks.StreamBlock( + [ + ( + "text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="Textový editor", + ), + ), + ( + "table", + wagtail.contrib.table_block.blocks.TableBlock( + template="shared/blocks/table_block.html" + ), + ), + ( + "card", + wagtail.blocks.StructBlock( + [ + ( + "img", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", + required=False, + ), + ), + ( + "elevation", + wagtail.blocks.IntegerBlock( + default=2, + help_text="0 = žádný stín, 21 = maximální stín", + label="Velikost stínu", + max_value=21, + min_value=0, + ), + ), + ( + "headline", + wagtail.blocks.TextBlock( + label="Titulek", + required=False, + ), + ), + ( + "hoveractive", + wagtail.blocks.BooleanBlock( + default=False, + help_text="Pokud je zapnuto, stín se zvýrazní, když na kartu uživatel najede myší.", + label="Zvýraznit stín na hover", + required=False, + ), + ), + ( + "content", + wagtail.blocks.StreamBlock( + [ + ( + "text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="Textový editor", + ), + ), + ( + "table", + wagtail.contrib.table_block.blocks.TableBlock( + template="shared/blocks/table_block.html" + ), + ), + ( + "figure", + wagtail.blocks.StructBlock( + [ + ( + "img", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", + required=True, + ), + ), + ( + "caption", + wagtail.blocks.TextBlock( + label="Popisek", + required=False, + ), + ), + ] + ), + ), + ( + "youtube", + wagtail.blocks.StructBlock( + [ + ( + "poster_image", + wagtail.images.blocks.ImageChooserBlock( + help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.", + label="Náhled videa (automatické pole)", + required=False, + ), + ), + ( + "video_url", + wagtail.blocks.URLBlock( + help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.", + label="Odkaz na video", + required=False, + ), + ), + ( + "video_id", + wagtail.blocks.CharBlock( + help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.", + label="ID videa (automatické pole)", + required=False, + ), + ), + ] + ), + ), + ( + "map_point", + wagtail.blocks.StructBlock( + [ + ( + "lat", + wagtail.blocks.DecimalBlock( + help_text="Např. 50.04075", + label="Zeměpisná šířka", + ), + ), + ( + "lon", + wagtail.blocks.DecimalBlock( + help_text="Např. 15.77659", + label="Zeměpisná délka", + ), + ), + ( + "hex_color", + wagtail.blocks.CharBlock( + default="000000", + help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", + label="Barva špendlíku (HEX)", + ), + ), + ( + "zoom", + wagtail.blocks.IntegerBlock( + default=15, + label="Výchozí zoom", + max_value=18, + min_value=1, + ), + ), + ( + "style", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "osm-mapnik", + "OSM Mapnik", + ), + ( + "stadia-osm-bright", + "Stadia OSM Bright", + ), + ( + "stadia-outdoors", + "Stadia Outdoors", + ), + ( + "mapbox-streets", + "Mapbox Streets", + ), + ( + "mapbox-outdoors", + "Mapbox Outdoors", + ), + ( + "mapbox-light", + "Mapbox Light", + ), + ( + "mapbox-dark", + "Mapbox Dark", + ), + ( + "mapbox-satellite", + "Mapbox Satellite", + ), + ( + "mapbox-pirate", + "Mapbox Pirate Theme", + ), + ], + label="Styl", + ), + ), + ( + "height", + wagtail.blocks.IntegerBlock( + label="Výška v px", + max_value=1000, + min_value=100, + ), + ), + ], + label="Špendlík na mapě", + ), + ), + ( + "map_collection", + wagtail.blocks.StructBlock( + [ + ( + "features", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", + required=True, + ), + ), + ( + "description", + wagtail.blocks.TextBlock( + label="Popisek", + required=False, + ), + ), + ( + "geojson", + wagtail.blocks.TextBlock( + help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.", + label="Geodata", + required=True, + ), + ), + ( + "image", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ( + "hex_color", + wagtail.blocks.CharBlock( + default="000000", + help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", + label="Barva (HEX)", + ), + ), + ], + required=True, + ), + label="Součásti", + ), + ), + ( + "zoom", + wagtail.blocks.IntegerBlock( + default=15, + label="Výchozí zoom", + max_value=18, + min_value=1, + ), + ), + ( + "style", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "osm-mapnik", + "OSM Mapnik", + ), + ( + "stadia-osm-bright", + "Stadia OSM Bright", + ), + ( + "stadia-outdoors", + "Stadia Outdoors", + ), + ( + "mapbox-streets", + "Mapbox Streets", + ), + ( + "mapbox-outdoors", + "Mapbox Outdoors", + ), + ( + "mapbox-light", + "Mapbox Light", + ), + ( + "mapbox-dark", + "Mapbox Dark", + ), + ( + "mapbox-satellite", + "Mapbox Satellite", + ), + ( + "mapbox-pirate", + "Mapbox Pirate Theme", + ), + ], + label="Styl", + ), + ), + ( + "height", + wagtail.blocks.IntegerBlock( + label="Výška v px", + max_value=1000, + min_value=100, + ), + ), + ], + label="Mapová kolekce", + ), + ), + ], + label="Obsah", + required=False, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ] + ), + ), + ( + "figure", + wagtail.blocks.StructBlock( + [ + ( + "img", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", + required=True, + ), + ), + ( + "caption", + wagtail.blocks.TextBlock( + label="Popisek", + required=False, + ), + ), + ] + ), + ), + ( + "youtube", + wagtail.blocks.StructBlock( + [ + ( + "poster_image", + wagtail.images.blocks.ImageChooserBlock( + help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.", + label="Náhled videa (automatické pole)", + required=False, + ), + ), + ( + "video_url", + wagtail.blocks.URLBlock( + help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.", + label="Odkaz na video", + required=False, + ), + ), + ( + "video_id", + wagtail.blocks.CharBlock( + help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.", + label="ID videa (automatické pole)", + required=False, + ), + ), + ] + ), + ), + ( + "map_point", + wagtail.blocks.StructBlock( + [ + ( + "lat", + wagtail.blocks.DecimalBlock( + help_text="Např. 50.04075", + label="Zeměpisná šířka", + ), + ), + ( + "lon", + wagtail.blocks.DecimalBlock( + help_text="Např. 15.77659", + label="Zeměpisná délka", + ), + ), + ( + "hex_color", + wagtail.blocks.CharBlock( + default="000000", + help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", + label="Barva špendlíku (HEX)", + ), + ), + ( + "zoom", + wagtail.blocks.IntegerBlock( + default=15, + label="Výchozí zoom", + max_value=18, + min_value=1, + ), + ), + ( + "style", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "osm-mapnik", + "OSM Mapnik", + ), + ( + "stadia-osm-bright", + "Stadia OSM Bright", + ), + ( + "stadia-outdoors", + "Stadia Outdoors", + ), + ( + "mapbox-streets", + "Mapbox Streets", + ), + ( + "mapbox-outdoors", + "Mapbox Outdoors", + ), + ( + "mapbox-light", + "Mapbox Light", + ), + ( + "mapbox-dark", + "Mapbox Dark", + ), + ( + "mapbox-satellite", + "Mapbox Satellite", + ), + ( + "mapbox-pirate", + "Mapbox Pirate Theme", + ), + ], + label="Styl", + ), + ), + ( + "height", + wagtail.blocks.IntegerBlock( + label="Výška v px", + max_value=1000, + min_value=100, + ), + ), + ], + label="Špendlík na mapě", + ), + ), + ( + "map_collection", + wagtail.blocks.StructBlock( + [ + ( + "features", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", + required=True, + ), + ), + ( + "description", + wagtail.blocks.TextBlock( + label="Popisek", + required=False, + ), + ), + ( + "geojson", + wagtail.blocks.TextBlock( + help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.", + label="Geodata", + required=True, + ), + ), + ( + "image", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ( + "hex_color", + wagtail.blocks.CharBlock( + default="000000", + help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", + label="Barva (HEX)", + ), + ), + ], + required=True, + ), + label="Součásti", + ), + ), + ( + "zoom", + wagtail.blocks.IntegerBlock( + default=15, + label="Výchozí zoom", + max_value=18, + min_value=1, + ), + ), + ( + "style", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "osm-mapnik", + "OSM Mapnik", + ), + ( + "stadia-osm-bright", + "Stadia OSM Bright", + ), + ( + "stadia-outdoors", + "Stadia Outdoors", + ), + ( + "mapbox-streets", + "Mapbox Streets", + ), + ( + "mapbox-outdoors", + "Mapbox Outdoors", + ), + ( + "mapbox-light", + "Mapbox Light", + ), + ( + "mapbox-dark", + "Mapbox Dark", + ), + ( + "mapbox-satellite", + "Mapbox Satellite", + ), + ( + "mapbox-pirate", + "Mapbox Pirate Theme", + ), + ], + label="Styl", + ), + ), + ( + "height", + wagtail.blocks.IntegerBlock( + label="Výška v px", + max_value=1000, + min_value=100, + ), + ), + ], + label="Mapová kolekce", + ), + ), + ( + "button", + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", + max_length=128, + required=True, + ), + ), + ( + "icon", + wagtail.blocks.CharBlock( + help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.", + label="Ikonka", + max_length=128, + required=False, + ), + ), + ( + "size", + wagtail.blocks.ChoiceBlock( + choices=[ + ("sm", "Malá"), + ("base", "Střední"), + ("lg", "Velká"), + ], + label="Velikost", + ), + ), + ( + "color", + wagtail.blocks.ChoiceBlock( + choices=[ + ("black", "Černá"), + ("white", "Bílá"), + ( + "grey-125", + "Světle šedá", + ), + ( + "blue-300", + "Modrá", + ), + ( + "cyan-200", + "Tyrkysová", + ), + ( + "green-400", + "Zelené", + ), + ( + "violet-400", + "Vínová", + ), + ( + "red-600", + "Červená", + ), + ], + label="Barva", + ), + ), + ( + "hoveractive", + wagtail.blocks.BooleanBlock( + default=True, + help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.", + label="Animovat na hover", + required=False, + ), + ), + ( + "mobile_fullwidth", + wagtail.blocks.BooleanBlock( + default=True, + help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.", + label="Plná šířka na mobilních zařízeních", + required=False, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ( + "align", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "auto", + "Automaticky", + ), + ( + "center", + "Na střed", + ), + ], + label="Zarovnání", + ), + ), + ] + ), + ), + ( + "button_group", + wagtail.blocks.StructBlock( + [ + ( + "buttons", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", + max_length=128, + required=True, + ), + ), + ( + "icon", + wagtail.blocks.CharBlock( + help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.", + label="Ikonka", + max_length=128, + required=False, + ), + ), + ( + "size", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "sm", + "Malá", + ), + ( + "base", + "Střední", + ), + ( + "lg", + "Velká", + ), + ], + label="Velikost", + ), + ), + ( + "color", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "black", + "Černá", + ), + ( + "white", + "Bílá", + ), + ( + "grey-125", + "Světle šedá", + ), + ( + "blue-300", + "Modrá", + ), + ( + "cyan-200", + "Tyrkysová", + ), + ( + "green-400", + "Zelené", + ), + ( + "violet-400", + "Vínová", + ), + ( + "red-600", + "Červená", + ), + ], + label="Barva", + ), + ), + ( + "hoveractive", + wagtail.blocks.BooleanBlock( + default=True, + help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.", + label="Animovat na hover", + required=False, + ), + ), + ( + "mobile_fullwidth", + wagtail.blocks.BooleanBlock( + default=True, + help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.", + label="Plná šířka na mobilních zařízeních", + required=False, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ( + "align", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "auto", + "Automaticky", + ), + ( + "center", + "Na střed", + ), + ], + label="Zarovnání", + ), + ), + ] + ), + label="Tlačítka", + ), + ) + ] + ), + ), + ], + label="Obsah pravého sloupce", + required=True, + ), + ), + ] + ), + ), + ( + "three_columns", + wagtail.blocks.StructBlock( + [ + ( + "left_column_content", + wagtail.blocks.StreamBlock( + [ + ( + "text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="Textový editor", + ), + ), + ( + "table", + wagtail.contrib.table_block.blocks.TableBlock( + template="shared/blocks/table_block.html" + ), + ), + ( + "card", + wagtail.blocks.StructBlock( + [ + ( + "img", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", + required=False, + ), + ), + ( + "elevation", + wagtail.blocks.IntegerBlock( + default=2, + help_text="0 = žádný stín, 21 = maximální stín", + label="Velikost stínu", + max_value=21, + min_value=0, + ), + ), + ( + "headline", + wagtail.blocks.TextBlock( + label="Titulek", + required=False, + ), + ), + ( + "hoveractive", + wagtail.blocks.BooleanBlock( + default=False, + help_text="Pokud je zapnuto, stín se zvýrazní, když na kartu uživatel najede myší.", + label="Zvýraznit stín na hover", + required=False, + ), + ), + ( + "content", + wagtail.blocks.StreamBlock( + [ + ( + "text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="Textový editor", + ), + ), + ( + "table", + wagtail.contrib.table_block.blocks.TableBlock( + template="shared/blocks/table_block.html" + ), + ), + ( + "figure", + wagtail.blocks.StructBlock( + [ + ( + "img", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", + required=True, + ), + ), + ( + "caption", + wagtail.blocks.TextBlock( + label="Popisek", + required=False, + ), + ), + ] + ), + ), + ( + "youtube", + wagtail.blocks.StructBlock( + [ + ( + "poster_image", + wagtail.images.blocks.ImageChooserBlock( + help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.", + label="Náhled videa (automatické pole)", + required=False, + ), + ), + ( + "video_url", + wagtail.blocks.URLBlock( + help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.", + label="Odkaz na video", + required=False, + ), + ), + ( + "video_id", + wagtail.blocks.CharBlock( + help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.", + label="ID videa (automatické pole)", + required=False, + ), + ), + ] + ), + ), + ( + "map_point", + wagtail.blocks.StructBlock( + [ + ( + "lat", + wagtail.blocks.DecimalBlock( + help_text="Např. 50.04075", + label="Zeměpisná šířka", + ), + ), + ( + "lon", + wagtail.blocks.DecimalBlock( + help_text="Např. 15.77659", + label="Zeměpisná délka", + ), + ), + ( + "hex_color", + wagtail.blocks.CharBlock( + default="000000", + help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", + label="Barva špendlíku (HEX)", + ), + ), + ( + "zoom", + wagtail.blocks.IntegerBlock( + default=15, + label="Výchozí zoom", + max_value=18, + min_value=1, + ), + ), + ( + "style", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "osm-mapnik", + "OSM Mapnik", + ), + ( + "stadia-osm-bright", + "Stadia OSM Bright", + ), + ( + "stadia-outdoors", + "Stadia Outdoors", + ), + ( + "mapbox-streets", + "Mapbox Streets", + ), + ( + "mapbox-outdoors", + "Mapbox Outdoors", + ), + ( + "mapbox-light", + "Mapbox Light", + ), + ( + "mapbox-dark", + "Mapbox Dark", + ), + ( + "mapbox-satellite", + "Mapbox Satellite", + ), + ( + "mapbox-pirate", + "Mapbox Pirate Theme", + ), + ], + label="Styl", + ), + ), + ( + "height", + wagtail.blocks.IntegerBlock( + label="Výška v px", + max_value=1000, + min_value=100, + ), + ), + ], + label="Špendlík na mapě", + ), + ), + ( + "map_collection", + wagtail.blocks.StructBlock( + [ + ( + "features", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", + required=True, + ), + ), + ( + "description", + wagtail.blocks.TextBlock( + label="Popisek", + required=False, + ), + ), + ( + "geojson", + wagtail.blocks.TextBlock( + help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.", + label="Geodata", + required=True, + ), + ), + ( + "image", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ( + "hex_color", + wagtail.blocks.CharBlock( + default="000000", + help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", + label="Barva (HEX)", + ), + ), + ], + required=True, + ), + label="Součásti", + ), + ), + ( + "zoom", + wagtail.blocks.IntegerBlock( + default=15, + label="Výchozí zoom", + max_value=18, + min_value=1, + ), + ), + ( + "style", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "osm-mapnik", + "OSM Mapnik", + ), + ( + "stadia-osm-bright", + "Stadia OSM Bright", + ), + ( + "stadia-outdoors", + "Stadia Outdoors", + ), + ( + "mapbox-streets", + "Mapbox Streets", + ), + ( + "mapbox-outdoors", + "Mapbox Outdoors", + ), + ( + "mapbox-light", + "Mapbox Light", + ), + ( + "mapbox-dark", + "Mapbox Dark", + ), + ( + "mapbox-satellite", + "Mapbox Satellite", + ), + ( + "mapbox-pirate", + "Mapbox Pirate Theme", + ), + ], + label="Styl", + ), + ), + ( + "height", + wagtail.blocks.IntegerBlock( + label="Výška v px", + max_value=1000, + min_value=100, + ), + ), + ], + label="Mapová kolekce", + ), + ), + ], + label="Obsah", + required=False, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ] + ), + ), + ( + "figure", + wagtail.blocks.StructBlock( + [ + ( + "img", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", + required=True, + ), + ), + ( + "caption", + wagtail.blocks.TextBlock( + label="Popisek", + required=False, + ), + ), + ] + ), + ), + ( + "youtube", + wagtail.blocks.StructBlock( + [ + ( + "poster_image", + wagtail.images.blocks.ImageChooserBlock( + help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.", + label="Náhled videa (automatické pole)", + required=False, + ), + ), + ( + "video_url", + wagtail.blocks.URLBlock( + help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.", + label="Odkaz na video", + required=False, + ), + ), + ( + "video_id", + wagtail.blocks.CharBlock( + help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.", + label="ID videa (automatické pole)", + required=False, + ), + ), + ] + ), + ), + ( + "map_point", + wagtail.blocks.StructBlock( + [ + ( + "lat", + wagtail.blocks.DecimalBlock( + help_text="Např. 50.04075", + label="Zeměpisná šířka", + ), + ), + ( + "lon", + wagtail.blocks.DecimalBlock( + help_text="Např. 15.77659", + label="Zeměpisná délka", + ), + ), + ( + "hex_color", + wagtail.blocks.CharBlock( + default="000000", + help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", + label="Barva špendlíku (HEX)", + ), + ), + ( + "zoom", + wagtail.blocks.IntegerBlock( + default=15, + label="Výchozí zoom", + max_value=18, + min_value=1, + ), + ), + ( + "style", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "osm-mapnik", + "OSM Mapnik", + ), + ( + "stadia-osm-bright", + "Stadia OSM Bright", + ), + ( + "stadia-outdoors", + "Stadia Outdoors", + ), + ( + "mapbox-streets", + "Mapbox Streets", + ), + ( + "mapbox-outdoors", + "Mapbox Outdoors", + ), + ( + "mapbox-light", + "Mapbox Light", + ), + ( + "mapbox-dark", + "Mapbox Dark", + ), + ( + "mapbox-satellite", + "Mapbox Satellite", + ), + ( + "mapbox-pirate", + "Mapbox Pirate Theme", + ), + ], + label="Styl", + ), + ), + ( + "height", + wagtail.blocks.IntegerBlock( + label="Výška v px", + max_value=1000, + min_value=100, + ), + ), + ], + label="Špendlík na mapě", + ), + ), + ( + "map_collection", + wagtail.blocks.StructBlock( + [ + ( + "features", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", + required=True, + ), + ), + ( + "description", + wagtail.blocks.TextBlock( + label="Popisek", + required=False, + ), + ), + ( + "geojson", + wagtail.blocks.TextBlock( + help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.", + label="Geodata", + required=True, + ), + ), + ( + "image", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ( + "hex_color", + wagtail.blocks.CharBlock( + default="000000", + help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", + label="Barva (HEX)", + ), + ), + ], + required=True, + ), + label="Součásti", + ), + ), + ( + "zoom", + wagtail.blocks.IntegerBlock( + default=15, + label="Výchozí zoom", + max_value=18, + min_value=1, + ), + ), + ( + "style", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "osm-mapnik", + "OSM Mapnik", + ), + ( + "stadia-osm-bright", + "Stadia OSM Bright", + ), + ( + "stadia-outdoors", + "Stadia Outdoors", + ), + ( + "mapbox-streets", + "Mapbox Streets", + ), + ( + "mapbox-outdoors", + "Mapbox Outdoors", + ), + ( + "mapbox-light", + "Mapbox Light", + ), + ( + "mapbox-dark", + "Mapbox Dark", + ), + ( + "mapbox-satellite", + "Mapbox Satellite", + ), + ( + "mapbox-pirate", + "Mapbox Pirate Theme", + ), + ], + label="Styl", + ), + ), + ( + "height", + wagtail.blocks.IntegerBlock( + label="Výška v px", + max_value=1000, + min_value=100, + ), + ), + ], + label="Mapová kolekce", + ), + ), + ( + "button", + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", + max_length=128, + required=True, + ), + ), + ( + "icon", + wagtail.blocks.CharBlock( + help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.", + label="Ikonka", + max_length=128, + required=False, + ), + ), + ( + "size", + wagtail.blocks.ChoiceBlock( + choices=[ + ("sm", "Malá"), + ("base", "Střední"), + ("lg", "Velká"), + ], + label="Velikost", + ), + ), + ( + "color", + wagtail.blocks.ChoiceBlock( + choices=[ + ("black", "Černá"), + ("white", "Bílá"), + ( + "grey-125", + "Světle šedá", + ), + ( + "blue-300", + "Modrá", + ), + ( + "cyan-200", + "Tyrkysová", + ), + ( + "green-400", + "Zelené", + ), + ( + "violet-400", + "Vínová", + ), + ( + "red-600", + "Červená", + ), + ], + label="Barva", + ), + ), + ( + "hoveractive", + wagtail.blocks.BooleanBlock( + default=True, + help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.", + label="Animovat na hover", + required=False, + ), + ), + ( + "mobile_fullwidth", + wagtail.blocks.BooleanBlock( + default=True, + help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.", + label="Plná šířka na mobilních zařízeních", + required=False, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ( + "align", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "auto", + "Automaticky", + ), + ( + "center", + "Na střed", + ), + ], + label="Zarovnání", + ), + ), + ] + ), + ), + ( + "button_group", + wagtail.blocks.StructBlock( + [ + ( + "buttons", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", + max_length=128, + required=True, + ), + ), + ( + "icon", + wagtail.blocks.CharBlock( + help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.", + label="Ikonka", + max_length=128, + required=False, + ), + ), + ( + "size", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "sm", + "Malá", + ), + ( + "base", + "Střední", + ), + ( + "lg", + "Velká", + ), + ], + label="Velikost", + ), + ), + ( + "color", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "black", + "Černá", + ), + ( + "white", + "Bílá", + ), + ( + "grey-125", + "Světle šedá", + ), + ( + "blue-300", + "Modrá", + ), + ( + "cyan-200", + "Tyrkysová", + ), + ( + "green-400", + "Zelené", + ), + ( + "violet-400", + "Vínová", + ), + ( + "red-600", + "Červená", + ), + ], + label="Barva", + ), + ), + ( + "hoveractive", + wagtail.blocks.BooleanBlock( + default=True, + help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.", + label="Animovat na hover", + required=False, + ), + ), + ( + "mobile_fullwidth", + wagtail.blocks.BooleanBlock( + default=True, + help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.", + label="Plná šířka na mobilních zařízeních", + required=False, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ( + "align", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "auto", + "Automaticky", + ), + ( + "center", + "Na střed", + ), + ], + label="Zarovnání", + ), + ), + ] + ), + label="Tlačítka", + ), + ) + ] + ), + ), + ], + label="Obsah levého sloupce", + required=True, + ), + ), + ( + "middle_column_content", + wagtail.blocks.StreamBlock( + [ + ( + "text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="Textový editor", + ), + ), + ( + "table", + wagtail.contrib.table_block.blocks.TableBlock( + template="shared/blocks/table_block.html" + ), + ), + ( + "card", + wagtail.blocks.StructBlock( + [ + ( + "img", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", + required=False, + ), + ), + ( + "elevation", + wagtail.blocks.IntegerBlock( + default=2, + help_text="0 = žádný stín, 21 = maximální stín", + label="Velikost stínu", + max_value=21, + min_value=0, + ), + ), + ( + "headline", + wagtail.blocks.TextBlock( + label="Titulek", + required=False, + ), + ), + ( + "hoveractive", + wagtail.blocks.BooleanBlock( + default=False, + help_text="Pokud je zapnuto, stín se zvýrazní, když na kartu uživatel najede myší.", + label="Zvýraznit stín na hover", + required=False, + ), + ), + ( + "content", + wagtail.blocks.StreamBlock( + [ + ( + "text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="Textový editor", + ), + ), + ( + "table", + wagtail.contrib.table_block.blocks.TableBlock( + template="shared/blocks/table_block.html" + ), + ), + ( + "figure", + wagtail.blocks.StructBlock( + [ + ( + "img", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", + required=True, + ), + ), + ( + "caption", + wagtail.blocks.TextBlock( + label="Popisek", + required=False, + ), + ), + ] + ), + ), + ( + "youtube", + wagtail.blocks.StructBlock( + [ + ( + "poster_image", + wagtail.images.blocks.ImageChooserBlock( + help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.", + label="Náhled videa (automatické pole)", + required=False, + ), + ), + ( + "video_url", + wagtail.blocks.URLBlock( + help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.", + label="Odkaz na video", + required=False, + ), + ), + ( + "video_id", + wagtail.blocks.CharBlock( + help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.", + label="ID videa (automatické pole)", + required=False, + ), + ), + ] + ), + ), + ( + "map_point", + wagtail.blocks.StructBlock( + [ + ( + "lat", + wagtail.blocks.DecimalBlock( + help_text="Např. 50.04075", + label="Zeměpisná šířka", + ), + ), + ( + "lon", + wagtail.blocks.DecimalBlock( + help_text="Např. 15.77659", + label="Zeměpisná délka", + ), + ), + ( + "hex_color", + wagtail.blocks.CharBlock( + default="000000", + help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", + label="Barva špendlíku (HEX)", + ), + ), + ( + "zoom", + wagtail.blocks.IntegerBlock( + default=15, + label="Výchozí zoom", + max_value=18, + min_value=1, + ), + ), + ( + "style", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "osm-mapnik", + "OSM Mapnik", + ), + ( + "stadia-osm-bright", + "Stadia OSM Bright", + ), + ( + "stadia-outdoors", + "Stadia Outdoors", + ), + ( + "mapbox-streets", + "Mapbox Streets", + ), + ( + "mapbox-outdoors", + "Mapbox Outdoors", + ), + ( + "mapbox-light", + "Mapbox Light", + ), + ( + "mapbox-dark", + "Mapbox Dark", + ), + ( + "mapbox-satellite", + "Mapbox Satellite", + ), + ( + "mapbox-pirate", + "Mapbox Pirate Theme", + ), + ], + label="Styl", + ), + ), + ( + "height", + wagtail.blocks.IntegerBlock( + label="Výška v px", + max_value=1000, + min_value=100, + ), + ), + ], + label="Špendlík na mapě", + ), + ), + ( + "map_collection", + wagtail.blocks.StructBlock( + [ + ( + "features", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", + required=True, + ), + ), + ( + "description", + wagtail.blocks.TextBlock( + label="Popisek", + required=False, + ), + ), + ( + "geojson", + wagtail.blocks.TextBlock( + help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.", + label="Geodata", + required=True, + ), + ), + ( + "image", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ( + "hex_color", + wagtail.blocks.CharBlock( + default="000000", + help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", + label="Barva (HEX)", + ), + ), + ], + required=True, + ), + label="Součásti", + ), + ), + ( + "zoom", + wagtail.blocks.IntegerBlock( + default=15, + label="Výchozí zoom", + max_value=18, + min_value=1, + ), + ), + ( + "style", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "osm-mapnik", + "OSM Mapnik", + ), + ( + "stadia-osm-bright", + "Stadia OSM Bright", + ), + ( + "stadia-outdoors", + "Stadia Outdoors", + ), + ( + "mapbox-streets", + "Mapbox Streets", + ), + ( + "mapbox-outdoors", + "Mapbox Outdoors", + ), + ( + "mapbox-light", + "Mapbox Light", + ), + ( + "mapbox-dark", + "Mapbox Dark", + ), + ( + "mapbox-satellite", + "Mapbox Satellite", + ), + ( + "mapbox-pirate", + "Mapbox Pirate Theme", + ), + ], + label="Styl", + ), + ), + ( + "height", + wagtail.blocks.IntegerBlock( + label="Výška v px", + max_value=1000, + min_value=100, + ), + ), + ], + label="Mapová kolekce", + ), + ), + ], + label="Obsah", + required=False, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ] + ), + ), + ( + "figure", + wagtail.blocks.StructBlock( + [ + ( + "img", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", + required=True, + ), + ), + ( + "caption", + wagtail.blocks.TextBlock( + label="Popisek", + required=False, + ), + ), + ] + ), + ), + ( + "youtube", + wagtail.blocks.StructBlock( + [ + ( + "poster_image", + wagtail.images.blocks.ImageChooserBlock( + help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.", + label="Náhled videa (automatické pole)", + required=False, + ), + ), + ( + "video_url", + wagtail.blocks.URLBlock( + help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.", + label="Odkaz na video", + required=False, + ), + ), + ( + "video_id", + wagtail.blocks.CharBlock( + help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.", + label="ID videa (automatické pole)", + required=False, + ), + ), + ] + ), + ), + ( + "map_point", + wagtail.blocks.StructBlock( + [ + ( + "lat", + wagtail.blocks.DecimalBlock( + help_text="Např. 50.04075", + label="Zeměpisná šířka", + ), + ), + ( + "lon", + wagtail.blocks.DecimalBlock( + help_text="Např. 15.77659", + label="Zeměpisná délka", + ), + ), + ( + "hex_color", + wagtail.blocks.CharBlock( + default="000000", + help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", + label="Barva špendlíku (HEX)", + ), + ), + ( + "zoom", + wagtail.blocks.IntegerBlock( + default=15, + label="Výchozí zoom", + max_value=18, + min_value=1, + ), + ), + ( + "style", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "osm-mapnik", + "OSM Mapnik", + ), + ( + "stadia-osm-bright", + "Stadia OSM Bright", + ), + ( + "stadia-outdoors", + "Stadia Outdoors", + ), + ( + "mapbox-streets", + "Mapbox Streets", + ), + ( + "mapbox-outdoors", + "Mapbox Outdoors", + ), + ( + "mapbox-light", + "Mapbox Light", + ), + ( + "mapbox-dark", + "Mapbox Dark", + ), + ( + "mapbox-satellite", + "Mapbox Satellite", + ), + ( + "mapbox-pirate", + "Mapbox Pirate Theme", + ), + ], + label="Styl", + ), + ), + ( + "height", + wagtail.blocks.IntegerBlock( + label="Výška v px", + max_value=1000, + min_value=100, + ), + ), + ], + label="Špendlík na mapě", + ), + ), + ( + "map_collection", + wagtail.blocks.StructBlock( + [ + ( + "features", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", + required=True, + ), + ), + ( + "description", + wagtail.blocks.TextBlock( + label="Popisek", + required=False, + ), + ), + ( + "geojson", + wagtail.blocks.TextBlock( + help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.", + label="Geodata", + required=True, + ), + ), + ( + "image", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ( + "hex_color", + wagtail.blocks.CharBlock( + default="000000", + help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", + label="Barva (HEX)", + ), + ), + ], + required=True, + ), + label="Součásti", + ), + ), + ( + "zoom", + wagtail.blocks.IntegerBlock( + default=15, + label="Výchozí zoom", + max_value=18, + min_value=1, + ), + ), + ( + "style", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "osm-mapnik", + "OSM Mapnik", + ), + ( + "stadia-osm-bright", + "Stadia OSM Bright", + ), + ( + "stadia-outdoors", + "Stadia Outdoors", + ), + ( + "mapbox-streets", + "Mapbox Streets", + ), + ( + "mapbox-outdoors", + "Mapbox Outdoors", + ), + ( + "mapbox-light", + "Mapbox Light", + ), + ( + "mapbox-dark", + "Mapbox Dark", + ), + ( + "mapbox-satellite", + "Mapbox Satellite", + ), + ( + "mapbox-pirate", + "Mapbox Pirate Theme", + ), + ], + label="Styl", + ), + ), + ( + "height", + wagtail.blocks.IntegerBlock( + label="Výška v px", + max_value=1000, + min_value=100, + ), + ), + ], + label="Mapová kolekce", + ), + ), + ( + "button", + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", + max_length=128, + required=True, + ), + ), + ( + "icon", + wagtail.blocks.CharBlock( + help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.", + label="Ikonka", + max_length=128, + required=False, + ), + ), + ( + "size", + wagtail.blocks.ChoiceBlock( + choices=[ + ("sm", "Malá"), + ("base", "Střední"), + ("lg", "Velká"), + ], + label="Velikost", + ), + ), + ( + "color", + wagtail.blocks.ChoiceBlock( + choices=[ + ("black", "Černá"), + ("white", "Bílá"), + ( + "grey-125", + "Světle šedá", + ), + ( + "blue-300", + "Modrá", + ), + ( + "cyan-200", + "Tyrkysová", + ), + ( + "green-400", + "Zelené", + ), + ( + "violet-400", + "Vínová", + ), + ( + "red-600", + "Červená", + ), + ], + label="Barva", + ), + ), + ( + "hoveractive", + wagtail.blocks.BooleanBlock( + default=True, + help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.", + label="Animovat na hover", + required=False, + ), + ), + ( + "mobile_fullwidth", + wagtail.blocks.BooleanBlock( + default=True, + help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.", + label="Plná šířka na mobilních zařízeních", + required=False, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ( + "align", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "auto", + "Automaticky", + ), + ( + "center", + "Na střed", + ), + ], + label="Zarovnání", + ), + ), + ] + ), + ), + ( + "button_group", + wagtail.blocks.StructBlock( + [ + ( + "buttons", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", + max_length=128, + required=True, + ), + ), + ( + "icon", + wagtail.blocks.CharBlock( + help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.", + label="Ikonka", + max_length=128, + required=False, + ), + ), + ( + "size", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "sm", + "Malá", + ), + ( + "base", + "Střední", + ), + ( + "lg", + "Velká", + ), + ], + label="Velikost", + ), + ), + ( + "color", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "black", + "Černá", + ), + ( + "white", + "Bílá", + ), + ( + "grey-125", + "Světle šedá", + ), + ( + "blue-300", + "Modrá", + ), + ( + "cyan-200", + "Tyrkysová", + ), + ( + "green-400", + "Zelené", + ), + ( + "violet-400", + "Vínová", + ), + ( + "red-600", + "Červená", + ), + ], + label="Barva", + ), + ), + ( + "hoveractive", + wagtail.blocks.BooleanBlock( + default=True, + help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.", + label="Animovat na hover", + required=False, + ), + ), + ( + "mobile_fullwidth", + wagtail.blocks.BooleanBlock( + default=True, + help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.", + label="Plná šířka na mobilních zařízeních", + required=False, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ( + "align", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "auto", + "Automaticky", + ), + ( + "center", + "Na střed", + ), + ], + label="Zarovnání", + ), + ), + ] + ), + label="Tlačítka", + ), + ) + ] + ), + ), + ], + label="Obsah prostředního sloupce", + required=True, + ), + ), + ( + "right_column_content", + wagtail.blocks.StreamBlock( + [ + ( + "text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="Textový editor", + ), + ), + ( + "table", + wagtail.contrib.table_block.blocks.TableBlock( + template="shared/blocks/table_block.html" + ), + ), + ( + "card", + wagtail.blocks.StructBlock( + [ + ( + "img", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", + required=False, + ), + ), + ( + "elevation", + wagtail.blocks.IntegerBlock( + default=2, + help_text="0 = žádný stín, 21 = maximální stín", + label="Velikost stínu", + max_value=21, + min_value=0, + ), + ), + ( + "headline", + wagtail.blocks.TextBlock( + label="Titulek", + required=False, + ), + ), + ( + "hoveractive", + wagtail.blocks.BooleanBlock( + default=False, + help_text="Pokud je zapnuto, stín se zvýrazní, když na kartu uživatel najede myší.", + label="Zvýraznit stín na hover", + required=False, + ), + ), + ( + "content", + wagtail.blocks.StreamBlock( + [ + ( + "text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="Textový editor", + ), + ), + ( + "table", + wagtail.contrib.table_block.blocks.TableBlock( + template="shared/blocks/table_block.html" + ), + ), + ( + "figure", + wagtail.blocks.StructBlock( + [ + ( + "img", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", + required=True, + ), + ), + ( + "caption", + wagtail.blocks.TextBlock( + label="Popisek", + required=False, + ), + ), + ] + ), + ), + ( + "youtube", + wagtail.blocks.StructBlock( + [ + ( + "poster_image", + wagtail.images.blocks.ImageChooserBlock( + help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.", + label="Náhled videa (automatické pole)", + required=False, + ), + ), + ( + "video_url", + wagtail.blocks.URLBlock( + help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.", + label="Odkaz na video", + required=False, + ), + ), + ( + "video_id", + wagtail.blocks.CharBlock( + help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.", + label="ID videa (automatické pole)", + required=False, + ), + ), + ] + ), + ), + ( + "map_point", + wagtail.blocks.StructBlock( + [ + ( + "lat", + wagtail.blocks.DecimalBlock( + help_text="Např. 50.04075", + label="Zeměpisná šířka", + ), + ), + ( + "lon", + wagtail.blocks.DecimalBlock( + help_text="Např. 15.77659", + label="Zeměpisná délka", + ), + ), + ( + "hex_color", + wagtail.blocks.CharBlock( + default="000000", + help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", + label="Barva špendlíku (HEX)", + ), + ), + ( + "zoom", + wagtail.blocks.IntegerBlock( + default=15, + label="Výchozí zoom", + max_value=18, + min_value=1, + ), + ), + ( + "style", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "osm-mapnik", + "OSM Mapnik", + ), + ( + "stadia-osm-bright", + "Stadia OSM Bright", + ), + ( + "stadia-outdoors", + "Stadia Outdoors", + ), + ( + "mapbox-streets", + "Mapbox Streets", + ), + ( + "mapbox-outdoors", + "Mapbox Outdoors", + ), + ( + "mapbox-light", + "Mapbox Light", + ), + ( + "mapbox-dark", + "Mapbox Dark", + ), + ( + "mapbox-satellite", + "Mapbox Satellite", + ), + ( + "mapbox-pirate", + "Mapbox Pirate Theme", + ), + ], + label="Styl", + ), + ), + ( + "height", + wagtail.blocks.IntegerBlock( + label="Výška v px", + max_value=1000, + min_value=100, + ), + ), + ], + label="Špendlík na mapě", + ), + ), + ( + "map_collection", + wagtail.blocks.StructBlock( + [ + ( + "features", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", + required=True, + ), + ), + ( + "description", + wagtail.blocks.TextBlock( + label="Popisek", + required=False, + ), + ), + ( + "geojson", + wagtail.blocks.TextBlock( + help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.", + label="Geodata", + required=True, + ), + ), + ( + "image", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ( + "hex_color", + wagtail.blocks.CharBlock( + default="000000", + help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", + label="Barva (HEX)", + ), + ), + ], + required=True, + ), + label="Součásti", + ), + ), + ( + "zoom", + wagtail.blocks.IntegerBlock( + default=15, + label="Výchozí zoom", + max_value=18, + min_value=1, + ), + ), + ( + "style", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "osm-mapnik", + "OSM Mapnik", + ), + ( + "stadia-osm-bright", + "Stadia OSM Bright", + ), + ( + "stadia-outdoors", + "Stadia Outdoors", + ), + ( + "mapbox-streets", + "Mapbox Streets", + ), + ( + "mapbox-outdoors", + "Mapbox Outdoors", + ), + ( + "mapbox-light", + "Mapbox Light", + ), + ( + "mapbox-dark", + "Mapbox Dark", + ), + ( + "mapbox-satellite", + "Mapbox Satellite", + ), + ( + "mapbox-pirate", + "Mapbox Pirate Theme", + ), + ], + label="Styl", + ), + ), + ( + "height", + wagtail.blocks.IntegerBlock( + label="Výška v px", + max_value=1000, + min_value=100, + ), + ), + ], + label="Mapová kolekce", + ), + ), + ], + label="Obsah", + required=False, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ] + ), + ), + ( + "figure", + wagtail.blocks.StructBlock( + [ + ( + "img", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", + required=True, + ), + ), + ( + "caption", + wagtail.blocks.TextBlock( + label="Popisek", + required=False, + ), + ), + ] + ), + ), + ( + "youtube", + wagtail.blocks.StructBlock( + [ + ( + "poster_image", + wagtail.images.blocks.ImageChooserBlock( + help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.", + label="Náhled videa (automatické pole)", + required=False, + ), + ), + ( + "video_url", + wagtail.blocks.URLBlock( + help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.", + label="Odkaz na video", + required=False, + ), + ), + ( + "video_id", + wagtail.blocks.CharBlock( + help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.", + label="ID videa (automatické pole)", + required=False, + ), + ), + ] + ), + ), + ( + "map_point", + wagtail.blocks.StructBlock( + [ + ( + "lat", + wagtail.blocks.DecimalBlock( + help_text="Např. 50.04075", + label="Zeměpisná šířka", + ), + ), + ( + "lon", + wagtail.blocks.DecimalBlock( + help_text="Např. 15.77659", + label="Zeměpisná délka", + ), + ), + ( + "hex_color", + wagtail.blocks.CharBlock( + default="000000", + help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", + label="Barva špendlíku (HEX)", + ), + ), + ( + "zoom", + wagtail.blocks.IntegerBlock( + default=15, + label="Výchozí zoom", + max_value=18, + min_value=1, + ), + ), + ( + "style", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "osm-mapnik", + "OSM Mapnik", + ), + ( + "stadia-osm-bright", + "Stadia OSM Bright", + ), + ( + "stadia-outdoors", + "Stadia Outdoors", + ), + ( + "mapbox-streets", + "Mapbox Streets", + ), + ( + "mapbox-outdoors", + "Mapbox Outdoors", + ), + ( + "mapbox-light", + "Mapbox Light", + ), + ( + "mapbox-dark", + "Mapbox Dark", + ), + ( + "mapbox-satellite", + "Mapbox Satellite", + ), + ( + "mapbox-pirate", + "Mapbox Pirate Theme", + ), + ], + label="Styl", + ), + ), + ( + "height", + wagtail.blocks.IntegerBlock( + label="Výška v px", + max_value=1000, + min_value=100, + ), + ), + ], + label="Špendlík na mapě", + ), + ), + ( + "map_collection", + wagtail.blocks.StructBlock( + [ + ( + "features", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", + required=True, + ), + ), + ( + "description", + wagtail.blocks.TextBlock( + label="Popisek", + required=False, + ), + ), + ( + "geojson", + wagtail.blocks.TextBlock( + help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.", + label="Geodata", + required=True, + ), + ), + ( + "image", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ( + "hex_color", + wagtail.blocks.CharBlock( + default="000000", + help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", + label="Barva (HEX)", + ), + ), + ], + required=True, + ), + label="Součásti", + ), + ), + ( + "zoom", + wagtail.blocks.IntegerBlock( + default=15, + label="Výchozí zoom", + max_value=18, + min_value=1, + ), + ), + ( + "style", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "osm-mapnik", + "OSM Mapnik", + ), + ( + "stadia-osm-bright", + "Stadia OSM Bright", + ), + ( + "stadia-outdoors", + "Stadia Outdoors", + ), + ( + "mapbox-streets", + "Mapbox Streets", + ), + ( + "mapbox-outdoors", + "Mapbox Outdoors", + ), + ( + "mapbox-light", + "Mapbox Light", + ), + ( + "mapbox-dark", + "Mapbox Dark", + ), + ( + "mapbox-satellite", + "Mapbox Satellite", + ), + ( + "mapbox-pirate", + "Mapbox Pirate Theme", + ), + ], + label="Styl", + ), + ), + ( + "height", + wagtail.blocks.IntegerBlock( + label="Výška v px", + max_value=1000, + min_value=100, + ), + ), + ], + label="Mapová kolekce", + ), + ), + ( + "button", + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", + max_length=128, + required=True, + ), + ), + ( + "icon", + wagtail.blocks.CharBlock( + help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.", + label="Ikonka", + max_length=128, + required=False, + ), + ), + ( + "size", + wagtail.blocks.ChoiceBlock( + choices=[ + ("sm", "Malá"), + ("base", "Střední"), + ("lg", "Velká"), + ], + label="Velikost", + ), + ), + ( + "color", + wagtail.blocks.ChoiceBlock( + choices=[ + ("black", "Černá"), + ("white", "Bílá"), + ( + "grey-125", + "Světle šedá", + ), + ( + "blue-300", + "Modrá", + ), + ( + "cyan-200", + "Tyrkysová", + ), + ( + "green-400", + "Zelené", + ), + ( + "violet-400", + "Vínová", + ), + ( + "red-600", + "Červená", + ), + ], + label="Barva", + ), + ), + ( + "hoveractive", + wagtail.blocks.BooleanBlock( + default=True, + help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.", + label="Animovat na hover", + required=False, + ), + ), + ( + "mobile_fullwidth", + wagtail.blocks.BooleanBlock( + default=True, + help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.", + label="Plná šířka na mobilních zařízeních", + required=False, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ( + "align", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "auto", + "Automaticky", + ), + ( + "center", + "Na střed", + ), + ], + label="Zarovnání", + ), + ), + ] + ), + ), + ( + "button_group", + wagtail.blocks.StructBlock( + [ + ( + "buttons", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", + max_length=128, + required=True, + ), + ), + ( + "icon", + wagtail.blocks.CharBlock( + help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.", + label="Ikonka", + max_length=128, + required=False, + ), + ), + ( + "size", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "sm", + "Malá", + ), + ( + "base", + "Střední", + ), + ( + "lg", + "Velká", + ), + ], + label="Velikost", + ), + ), + ( + "color", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "black", + "Černá", + ), + ( + "white", + "Bílá", + ), + ( + "grey-125", + "Světle šedá", + ), + ( + "blue-300", + "Modrá", + ), + ( + "cyan-200", + "Tyrkysová", + ), + ( + "green-400", + "Zelené", + ), + ( + "violet-400", + "Vínová", + ), + ( + "red-600", + "Červená", + ), + ], + label="Barva", + ), + ), + ( + "hoveractive", + wagtail.blocks.BooleanBlock( + default=True, + help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.", + label="Animovat na hover", + required=False, + ), + ), + ( + "mobile_fullwidth", + wagtail.blocks.BooleanBlock( + default=True, + help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.", + label="Plná šířka na mobilních zařízeních", + required=False, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ( + "align", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "auto", + "Automaticky", + ), + ( + "center", + "Na střed", + ), + ], + label="Zarovnání", + ), + ), + ] + ), + label="Tlačítka", + ), + ) + ] + ), + ), + ], + label="Obsah pravého sloupce", + required=True, + ), + ), + ] + ), + ), + ( + "youtube", + wagtail.blocks.StructBlock( + [ + ( + "poster_image", + wagtail.images.blocks.ImageChooserBlock( + help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.", + label="Náhled videa (automatické pole)", + required=False, + ), + ), + ( + "video_url", + wagtail.blocks.URLBlock( + help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.", + label="Odkaz na video", + required=False, + ), + ), + ( + "video_id", + wagtail.blocks.CharBlock( + help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.", + label="ID videa (automatické pole)", + required=False, + ), + ), + ], + label="YouTube video", + ), + ), + ( + "map_point", + wagtail.blocks.StructBlock( + [ + ( + "lat", + wagtail.blocks.DecimalBlock( + help_text="Např. 50.04075", + label="Zeměpisná šířka", + ), + ), + ( + "lon", + wagtail.blocks.DecimalBlock( + help_text="Např. 15.77659", + label="Zeměpisná délka", + ), + ), + ( + "hex_color", + wagtail.blocks.CharBlock( + default="000000", + help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", + label="Barva špendlíku (HEX)", + ), + ), + ( + "zoom", + wagtail.blocks.IntegerBlock( + default=15, + label="Výchozí zoom", + max_value=18, + min_value=1, + ), + ), + ( + "style", + wagtail.blocks.ChoiceBlock( + choices=[ + ("osm-mapnik", "OSM Mapnik"), + ("stadia-osm-bright", "Stadia OSM Bright"), + ("stadia-outdoors", "Stadia Outdoors"), + ("mapbox-streets", "Mapbox Streets"), + ("mapbox-outdoors", "Mapbox Outdoors"), + ("mapbox-light", "Mapbox Light"), + ("mapbox-dark", "Mapbox Dark"), + ("mapbox-satellite", "Mapbox Satellite"), + ("mapbox-pirate", "Mapbox Pirate Theme"), + ], + label="Styl", + ), + ), + ( + "height", + wagtail.blocks.IntegerBlock( + label="Výška v px", + max_value=1000, + min_value=100, + ), + ), + ], + label="Špendlík na mapě", + ), + ), + ( + "map_collection", + wagtail.blocks.StructBlock( + [ + ( + "features", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", required=True + ), + ), + ( + "description", + wagtail.blocks.TextBlock( + label="Popisek", required=False + ), + ), + ( + "geojson", + wagtail.blocks.TextBlock( + help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.", + label="Geodata", + required=True, + ), + ), + ( + "image", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", required=False + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", required=False + ), + ), + ( + "hex_color", + wagtail.blocks.CharBlock( + default="000000", + help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", + label="Barva (HEX)", + ), + ), + ], + required=True, + ), + label="Součásti", + ), + ), + ( + "zoom", + wagtail.blocks.IntegerBlock( + default=15, + label="Výchozí zoom", + max_value=18, + min_value=1, + ), + ), + ( + "style", + wagtail.blocks.ChoiceBlock( + choices=[ + ("osm-mapnik", "OSM Mapnik"), + ("stadia-osm-bright", "Stadia OSM Bright"), + ("stadia-outdoors", "Stadia Outdoors"), + ("mapbox-streets", "Mapbox Streets"), + ("mapbox-outdoors", "Mapbox Outdoors"), + ("mapbox-light", "Mapbox Light"), + ("mapbox-dark", "Mapbox Dark"), + ("mapbox-satellite", "Mapbox Satellite"), + ("mapbox-pirate", "Mapbox Pirate Theme"), + ], + label="Styl", + ), + ), + ( + "height", + wagtail.blocks.IntegerBlock( + label="Výška v px", + max_value=1000, + min_value=100, + ), + ), + ], + label="Mapová kolekce", + ), + ), + ( + "button", + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", max_length=128, required=True + ), + ), + ( + "icon", + wagtail.blocks.CharBlock( + help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.", + label="Ikonka", + max_length=128, + required=False, + ), + ), + ( + "size", + wagtail.blocks.ChoiceBlock( + choices=[ + ("sm", "Malá"), + ("base", "Střední"), + ("lg", "Velká"), + ], + label="Velikost", + ), + ), + ( + "color", + wagtail.blocks.ChoiceBlock( + choices=[ + ("black", "Černá"), + ("white", "Bílá"), + ("grey-125", "Světle šedá"), + ("blue-300", "Modrá"), + ("cyan-200", "Tyrkysová"), + ("green-400", "Zelené"), + ("violet-400", "Vínová"), + ("red-600", "Červená"), + ], + label="Barva", + ), + ), + ( + "hoveractive", + wagtail.blocks.BooleanBlock( + default=True, + help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.", + label="Animovat na hover", + required=False, + ), + ), + ( + "mobile_fullwidth", + wagtail.blocks.BooleanBlock( + default=True, + help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.", + label="Plná šířka na mobilních zařízeních", + required=False, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", required=False + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", required=False + ), + ), + ( + "align", + wagtail.blocks.ChoiceBlock( + choices=[ + ("auto", "Automaticky"), + ("center", "Na střed"), + ], + label="Zarovnání", + ), + ), + ] + ), + ), + ( + "button_group", + wagtail.blocks.StructBlock( + [ + ( + "buttons", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "button_link", + wagtail.blocks.URLBlock( + label="Odkaz tlačítka" + ), + ), + ( + "button_text", + wagtail.blocks.CharBlock( + label="Text tlačítka" + ), + ), + ], + label="Tlačítko", + ), + label="Tlačítka", + ), + ) + ] + ), + ), + ( + "image_banner", + wagtail.blocks.StructBlock( + [ + ( + "image", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", required=True + ), + ), + ( + "headline", + wagtail.blocks.CharBlock( + label="Headline", max_length=128, required=True + ), + ), + ( + "content", + wagtail.blocks.StreamBlock( + [ + ( + "text", + wagtail.blocks.RichTextBlock( + features=( + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + "blockquote", + ), + label="Textový editor", + ), + ), + ( + "button", + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", + max_length=128, + required=True, + ), + ), + ( + "icon", + wagtail.blocks.CharBlock( + help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.", + label="Ikonka", + max_length=128, + required=False, + ), + ), + ( + "size", + wagtail.blocks.ChoiceBlock( + choices=[ + ("sm", "Malá"), + ("base", "Střední"), + ("lg", "Velká"), + ], + label="Velikost", + ), + ), + ( + "color", + wagtail.blocks.ChoiceBlock( + choices=[ + ("black", "Černá"), + ("white", "Bílá"), + ( + "grey-125", + "Světle šedá", + ), + ( + "blue-300", + "Modrá", + ), + ( + "cyan-200", + "Tyrkysová", + ), + ( + "green-400", + "Zelené", + ), + ( + "violet-400", + "Vínová", + ), + ( + "red-600", + "Červená", + ), + ], + label="Barva", + ), + ), + ( + "hoveractive", + wagtail.blocks.BooleanBlock( + default=True, + help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.", + label="Animovat na hover", + required=False, + ), + ), + ( + "mobile_fullwidth", + wagtail.blocks.BooleanBlock( + default=True, + help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.", + label="Plná šířka na mobilních zařízeních", + required=False, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ( + "align", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "auto", + "Automaticky", + ), + ( + "center", + "Na střed", + ), + ], + label="Zarovnání", + ), + ), + ] + ), + ), + ( + "button_group", + wagtail.blocks.StructBlock( + [ + ( + "buttons", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", + max_length=128, + required=True, + ), + ), + ( + "icon", + wagtail.blocks.CharBlock( + help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.", + label="Ikonka", + max_length=128, + required=False, + ), + ), + ( + "size", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "sm", + "Malá", + ), + ( + "base", + "Střední", + ), + ( + "lg", + "Velká", + ), + ], + label="Velikost", + ), + ), + ( + "color", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "black", + "Černá", + ), + ( + "white", + "Bílá", + ), + ( + "grey-125", + "Světle šedá", + ), + ( + "blue-300", + "Modrá", + ), + ( + "cyan-200", + "Tyrkysová", + ), + ( + "green-400", + "Zelené", + ), + ( + "violet-400", + "Vínová", + ), + ( + "red-600", + "Červená", + ), + ], + label="Barva", + ), + ), + ( + "hoveractive", + wagtail.blocks.BooleanBlock( + default=True, + help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.", + label="Animovat na hover", + required=False, + ), + ), + ( + "mobile_fullwidth", + wagtail.blocks.BooleanBlock( + default=True, + help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.", + label="Plná šířka na mobilních zařízeních", + required=False, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ( + "align", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "auto", + "Automaticky", + ), + ( + "center", + "Na střed", + ), + ], + label="Zarovnání", + ), + ), + ] + ), + label="Tlačítka", + ), + ) + ] + ), + ), + ], + label="Obsah pravého sloupce", + required=False, + ), + ), + ] + ), + ), + ( + "chart", + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Název", max_length=120 + ), + ), + ( + "chart_type", + wagtail.blocks.ChoiceBlock( + choices=[ + ("bar", "Graf se sloupci"), + ( + "horizontalBar", + "Graf s vodorovnými sloupci", + ), + ("pie", "Koláčový graf"), + ("doughnut", "Donutový graf"), + ("polarArea", "Graf polární oblasti"), + ("radar", "Radarový graf"), + ("line", "Graf s liniemi"), + ], + label="Typ", + ), + ), + ( + "hide_points", + wagtail.blocks.BooleanBlock( + help_text="Mění vzhled pouze u linových grafů.", + label="Schovat body", + required=False, + ), + ), + ( + "local_labels", + wagtail.blocks.ListBlock( + wagtail.blocks.CharBlock( + label="Skupina", max_length=40 + ), + blank=True, + collapsed=True, + default=[], + label="Místně definované skupiny", + required=False, + ), + ), + ( + "local_datasets", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "label", + wagtail.blocks.CharBlock( + label="Označení zdroje dat", + max_length=120, + ), + ), + ( + "data", + wagtail.blocks.ListBlock( + wagtail.blocks.IntegerBlock(), + default=[0], + label="Data", + ), + ), + ] + ), + blank=True, + collapsed=True, + default=[], + label="Místní zdroje dat", + required=False, + ), + ), + ( + "redmine_issue_datasets", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "projects", + wagtail.blocks.MultipleChoiceBlock( + choices=shared.blocks.base.get_redmine_projects, + label="Projekty", + ), + ), + ( + "is_open", + wagtail.blocks.BooleanBlock( + label="Jen otevřené", + required=False, + ), + ), + ( + "is_closed", + wagtail.blocks.BooleanBlock( + label="Jen uzavřené", + required=False, + ), + ), + ( + "created_on_min_date", + wagtail.blocks.DateBlock( + label="Min. datum vytvoření", + required=True, + ), + ), + ( + "created_on_max_date", + wagtail.blocks.DateBlock( + label="Max. datum vytvoření", + required=True, + ), + ), + ( + "updated_on", + wagtail.blocks.CharBlock( + help_text="Např. <=2023-01-01. Více informací na pi2.cz/redmine-api", + label="Filtr pro datum aktualizace", + max_length=128, + required=False, + ), + ), + ( + "issue_label", + wagtail.blocks.CharBlock( + label="Označení úkolů uvnitř grafu", + max_length=128, + required=True, + ), + ), + ( + "split_per_project", + wagtail.blocks.BooleanBlock( + label="Rozdělit podle projektu", + required=False, + ), + ), + ( + "only_grow", + wagtail.blocks.BooleanBlock( + label="Pouze růst nahoru", + required=False, + ), + ), + ], + label="Redmine úkoly", + ), + blank=True, + default=[], + help_text="Úkoly, podle doby vytvoření. Pokud definuješ více zdrojů, datumy v nich musí být stejné.", + label="Zdroje dat z Redmine (úkoly)", + required=False, + ), + ), + ], + template="district/blocks/chart.html", + ), + ), + ( + "related", + wagtail.blocks.StructBlock( + [ + ( + "articles", + wagtail.blocks.ListBlock( + wagtail.blocks.PageChooserBlock( + "district.DistrictArticlePage", + label="Aktualita", + required=True, + ), + label="Seznam aktualit", + required=True, + ), + ) + ] + ), + ), + ( + "related_links", + wagtail.blocks.StructBlock( + [ + ( + "articles", + wagtail.blocks.ListBlock( + wagtail.blocks.PageChooserBlock( + "district.DistrictArticlePage", + label="Aktualita", + required=True, + ), + label="Seznam aktualit", + required=True, + ), + ) + ] + ), + ), + ( + "badge", + wagtail.blocks.StructBlock( + [ + ( + "person", + wagtail.blocks.PageChooserBlock( + label="Osoba", + page_type=["district.DistrictPersonPage"], + required=True, + ), + ), + ( + "wrap_in_card", + wagtail.blocks.BooleanBlock( + default=False, + label="Zabalit do karty", + required=False, + ), + ), + ( + "caption", + wagtail.blocks.CharBlock( + help_text="Vlastní popisek na vizitce. Pokud není uvedeno, použije se výchozí profese osoby.", + label="Popisek", + required=False, + ), + ), + ] + ), + ), + ( + "people_group", + wagtail.blocks.StructBlock( + [ + ( + "group_title", + wagtail.blocks.CharBlock( + label="Titulek", required=True + ), + ), + ( + "person_list", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "position", + wagtail.blocks.CharBlock( + label="Název pozice", + required=False, + ), + ), + ( + "person", + wagtail.blocks.PageChooserBlock( + label="Osoba", + page_type=[ + "district.DistrictPersonPage" + ], + ), + ), + ] + ), + label="List osob", + ), + ), + ] + ), + ), + ( + "newsletter", + wagtail.blocks.StructBlock( + [ + ( + "list_id", + wagtail.blocks.CharBlock( + label="ID newsletteru", required=True + ), + ), + ( + "description", + wagtail.blocks.CharBlock( + default="Fake news tam nenajdeš, ale dozvíš se, co chystáme doopravdy!", + label="Popis newsletteru", + required=True, + ), + ), + ] + ), + ), + ], + blank=True, + verbose_name="Obsah", + ), + ), + ] diff --git a/district/migrations/0186_auto_20240516_1424.py b/district/migrations/0186_auto_20240516_1424.py new file mode 100644 index 0000000000000000000000000000000000000000..af7cd4446c58d77b68d3c3faba800b9ecfa22810 --- /dev/null +++ b/district/migrations/0186_auto_20240516_1424.py @@ -0,0 +1,11 @@ +# Generated by Django 5.0.4 on 2024-05-16 12:24 + +from django.db import migrations + + +class Migration(migrations.Migration): + dependencies = [ + ("district", "0185_alter_districtcustompage_content"), + ] + + operations = [] diff --git a/district/migrations/0187_districtcustompage_new_content_and_more.py b/district/migrations/0187_districtcustompage_new_content_and_more.py new file mode 100644 index 0000000000000000000000000000000000000000..fac08b4baa7fc54f3658b59f07a9f02e47a63d08 --- /dev/null +++ b/district/migrations/0187_districtcustompage_new_content_and_more.py @@ -0,0 +1,6197 @@ +# Generated by Django 5.0.4 on 2024-05-16 12:26 + +import wagtail.blocks +import wagtail.contrib.table_block.blocks +import wagtail.fields +import wagtail.images.blocks +from django.db import migrations + +import shared.blocks.base + + +class Migration(migrations.Migration): + dependencies = [ + ("district", "0186_auto_20240516_1424"), + ] + + operations = [ + migrations.AddField( + model_name="districtcustompage", + name="new_content", + field=wagtail.fields.StreamField( + [ + ( + "button_group", + wagtail.blocks.StructBlock( + [ + ( + "buttons", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "button_link", + wagtail.blocks.URLBlock( + label="Odkaz tlačítka" + ), + ), + ( + "button_text", + wagtail.blocks.CharBlock( + label="Text tlačítka" + ), + ), + ], + label="Tlačítko", + ), + label="Tlačítka", + ), + ) + ] + ), + ) + ], + blank=True, + verbose_name="Obsah", + ), + ), + migrations.AlterField( + model_name="districtcustompage", + name="content", + field=wagtail.fields.StreamField( + [ + ( + "text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="Textový editor", + ), + ), + ( + "headline", + wagtail.blocks.StructBlock( + [ + ( + "headline", + wagtail.blocks.CharBlock( + label="Headline", max_length=300, required=True + ), + ), + ( + "style", + wagtail.blocks.ChoiceBlock( + choices=[ + ("head-alt-xl", "Bebas XL"), + ("head-alt-lg", "Bebas L"), + ("head-alt-md", "Bebas M"), + ("head-alt-base", "Bebas base"), + ("head-alt-sm", "Bebas SM"), + ("head-alt-xs", "Bebas XS"), + ("head-alt-2xs", "Bebas 2XS"), + ("head-heavy-base", "Roboto base"), + ("head-heavy-sm", "Roboto SM"), + ("head-heavy-xs", "Roboto XS"), + ("head-heavy-2xs", "Roboto 2XS"), + ("head-allcaps-2xs", "Allcaps 2XS"), + ("head-allcaps-3xs", "Allcaps 3XS"), + ("head-allcaps-4xs", "Allcaps 4XS"), + ( + "head-heavy-allcaps-2xs", + "Allcaps heavy 2XS", + ), + ( + "head-heavy-allcaps-3xs", + "Allcaps heavy 3XS", + ), + ( + "head-heavy-allcaps-4xs", + "Allcaps heavy 4XS", + ), + ], + help_text="Náhled si prohlédněte na https://styleguide.pir-test.eu/latest/?p=viewall-atoms-text.", + label="Styl", + ), + ), + ( + "tag", + wagtail.blocks.ChoiceBlock( + choices=[ + ("h1", "H1"), + ("h2", "H2"), + ("h3", "H3"), + ("h4", "H4"), + ("h5", "H5"), + ("h6", "H6"), + ], + help_text="Čím nižší číslo, tím vyšší úroveň.", + label="Úroveň nadpisu", + ), + ), + ( + "align", + wagtail.blocks.ChoiceBlock( + choices=[ + ("auto", "Automaticky"), + ("center", "Na střed"), + ], + label="Zarovnání", + ), + ), + ] + ), + ), + ( + "table", + wagtail.contrib.table_block.blocks.TableBlock( + template="shared/blocks/table_block.html" + ), + ), + ( + "gallery", + wagtail.blocks.StructBlock( + [ + ( + "gallery_items", + wagtail.blocks.ListBlock( + wagtail.images.blocks.ImageChooserBlock( + label="obrázek", required=True + ), + group="ostatní", + icon="image", + label="Galerie", + ), + ) + ], + label="Galerie", + ), + ), + ( + "figure", + wagtail.blocks.StructBlock( + [ + ( + "img", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", required=True + ), + ), + ( + "caption", + wagtail.blocks.TextBlock( + label="Popisek", required=False + ), + ), + ] + ), + ), + ( + "card", + wagtail.blocks.StructBlock( + [ + ( + "img", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", required=False + ), + ), + ( + "elevation", + wagtail.blocks.IntegerBlock( + default=2, + help_text="0 = žádný stín, 21 = maximální stín", + label="Velikost stínu", + max_value=21, + min_value=0, + ), + ), + ( + "headline", + wagtail.blocks.TextBlock( + label="Titulek", required=False + ), + ), + ( + "hoveractive", + wagtail.blocks.BooleanBlock( + default=False, + help_text="Pokud je zapnuto, stín se zvýrazní, když na kartu uživatel najede myší.", + label="Zvýraznit stín na hover", + required=False, + ), + ), + ( + "content", + wagtail.blocks.StreamBlock( + [ + ( + "text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="Textový editor", + ), + ), + ( + "table", + wagtail.contrib.table_block.blocks.TableBlock( + template="shared/blocks/table_block.html" + ), + ), + ( + "figure", + wagtail.blocks.StructBlock( + [ + ( + "img", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", + required=True, + ), + ), + ( + "caption", + wagtail.blocks.TextBlock( + label="Popisek", + required=False, + ), + ), + ] + ), + ), + ( + "youtube", + wagtail.blocks.StructBlock( + [ + ( + "poster_image", + wagtail.images.blocks.ImageChooserBlock( + help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.", + label="Náhled videa (automatické pole)", + required=False, + ), + ), + ( + "video_url", + wagtail.blocks.URLBlock( + help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.", + label="Odkaz na video", + required=False, + ), + ), + ( + "video_id", + wagtail.blocks.CharBlock( + help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.", + label="ID videa (automatické pole)", + required=False, + ), + ), + ] + ), + ), + ( + "map_point", + wagtail.blocks.StructBlock( + [ + ( + "lat", + wagtail.blocks.DecimalBlock( + help_text="Např. 50.04075", + label="Zeměpisná šířka", + ), + ), + ( + "lon", + wagtail.blocks.DecimalBlock( + help_text="Např. 15.77659", + label="Zeměpisná délka", + ), + ), + ( + "hex_color", + wagtail.blocks.CharBlock( + default="000000", + help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", + label="Barva špendlíku (HEX)", + ), + ), + ( + "zoom", + wagtail.blocks.IntegerBlock( + default=15, + label="Výchozí zoom", + max_value=18, + min_value=1, + ), + ), + ( + "style", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "osm-mapnik", + "OSM Mapnik", + ), + ( + "stadia-osm-bright", + "Stadia OSM Bright", + ), + ( + "stadia-outdoors", + "Stadia Outdoors", + ), + ( + "mapbox-streets", + "Mapbox Streets", + ), + ( + "mapbox-outdoors", + "Mapbox Outdoors", + ), + ( + "mapbox-light", + "Mapbox Light", + ), + ( + "mapbox-dark", + "Mapbox Dark", + ), + ( + "mapbox-satellite", + "Mapbox Satellite", + ), + ( + "mapbox-pirate", + "Mapbox Pirate Theme", + ), + ], + label="Styl", + ), + ), + ( + "height", + wagtail.blocks.IntegerBlock( + label="Výška v px", + max_value=1000, + min_value=100, + ), + ), + ], + label="Špendlík na mapě", + ), + ), + ( + "map_collection", + wagtail.blocks.StructBlock( + [ + ( + "features", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", + required=True, + ), + ), + ( + "description", + wagtail.blocks.TextBlock( + label="Popisek", + required=False, + ), + ), + ( + "geojson", + wagtail.blocks.TextBlock( + help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.", + label="Geodata", + required=True, + ), + ), + ( + "image", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ( + "hex_color", + wagtail.blocks.CharBlock( + default="000000", + help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", + label="Barva (HEX)", + ), + ), + ], + required=True, + ), + label="Součásti", + ), + ), + ( + "zoom", + wagtail.blocks.IntegerBlock( + default=15, + label="Výchozí zoom", + max_value=18, + min_value=1, + ), + ), + ( + "style", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "osm-mapnik", + "OSM Mapnik", + ), + ( + "stadia-osm-bright", + "Stadia OSM Bright", + ), + ( + "stadia-outdoors", + "Stadia Outdoors", + ), + ( + "mapbox-streets", + "Mapbox Streets", + ), + ( + "mapbox-outdoors", + "Mapbox Outdoors", + ), + ( + "mapbox-light", + "Mapbox Light", + ), + ( + "mapbox-dark", + "Mapbox Dark", + ), + ( + "mapbox-satellite", + "Mapbox Satellite", + ), + ( + "mapbox-pirate", + "Mapbox Pirate Theme", + ), + ], + label="Styl", + ), + ), + ( + "height", + wagtail.blocks.IntegerBlock( + label="Výška v px", + max_value=1000, + min_value=100, + ), + ), + ], + label="Mapová kolekce", + ), + ), + ], + label="Obsah", + required=False, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", required=False + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", required=False + ), + ), + ] + ), + ), + ( + "two_columns", + wagtail.blocks.StructBlock( + [ + ( + "left_column_content", + wagtail.blocks.StreamBlock( + [ + ( + "text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="Textový editor", + ), + ), + ( + "table", + wagtail.contrib.table_block.blocks.TableBlock( + template="shared/blocks/table_block.html" + ), + ), + ( + "card", + wagtail.blocks.StructBlock( + [ + ( + "img", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", + required=False, + ), + ), + ( + "elevation", + wagtail.blocks.IntegerBlock( + default=2, + help_text="0 = žádný stín, 21 = maximální stín", + label="Velikost stínu", + max_value=21, + min_value=0, + ), + ), + ( + "headline", + wagtail.blocks.TextBlock( + label="Titulek", + required=False, + ), + ), + ( + "hoveractive", + wagtail.blocks.BooleanBlock( + default=False, + help_text="Pokud je zapnuto, stín se zvýrazní, když na kartu uživatel najede myší.", + label="Zvýraznit stín na hover", + required=False, + ), + ), + ( + "content", + wagtail.blocks.StreamBlock( + [ + ( + "text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="Textový editor", + ), + ), + ( + "table", + wagtail.contrib.table_block.blocks.TableBlock( + template="shared/blocks/table_block.html" + ), + ), + ( + "figure", + wagtail.blocks.StructBlock( + [ + ( + "img", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", + required=True, + ), + ), + ( + "caption", + wagtail.blocks.TextBlock( + label="Popisek", + required=False, + ), + ), + ] + ), + ), + ( + "youtube", + wagtail.blocks.StructBlock( + [ + ( + "poster_image", + wagtail.images.blocks.ImageChooserBlock( + help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.", + label="Náhled videa (automatické pole)", + required=False, + ), + ), + ( + "video_url", + wagtail.blocks.URLBlock( + help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.", + label="Odkaz na video", + required=False, + ), + ), + ( + "video_id", + wagtail.blocks.CharBlock( + help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.", + label="ID videa (automatické pole)", + required=False, + ), + ), + ] + ), + ), + ( + "map_point", + wagtail.blocks.StructBlock( + [ + ( + "lat", + wagtail.blocks.DecimalBlock( + help_text="Např. 50.04075", + label="Zeměpisná šířka", + ), + ), + ( + "lon", + wagtail.blocks.DecimalBlock( + help_text="Např. 15.77659", + label="Zeměpisná délka", + ), + ), + ( + "hex_color", + wagtail.blocks.CharBlock( + default="000000", + help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", + label="Barva špendlíku (HEX)", + ), + ), + ( + "zoom", + wagtail.blocks.IntegerBlock( + default=15, + label="Výchozí zoom", + max_value=18, + min_value=1, + ), + ), + ( + "style", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "osm-mapnik", + "OSM Mapnik", + ), + ( + "stadia-osm-bright", + "Stadia OSM Bright", + ), + ( + "stadia-outdoors", + "Stadia Outdoors", + ), + ( + "mapbox-streets", + "Mapbox Streets", + ), + ( + "mapbox-outdoors", + "Mapbox Outdoors", + ), + ( + "mapbox-light", + "Mapbox Light", + ), + ( + "mapbox-dark", + "Mapbox Dark", + ), + ( + "mapbox-satellite", + "Mapbox Satellite", + ), + ( + "mapbox-pirate", + "Mapbox Pirate Theme", + ), + ], + label="Styl", + ), + ), + ( + "height", + wagtail.blocks.IntegerBlock( + label="Výška v px", + max_value=1000, + min_value=100, + ), + ), + ], + label="Špendlík na mapě", + ), + ), + ( + "map_collection", + wagtail.blocks.StructBlock( + [ + ( + "features", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", + required=True, + ), + ), + ( + "description", + wagtail.blocks.TextBlock( + label="Popisek", + required=False, + ), + ), + ( + "geojson", + wagtail.blocks.TextBlock( + help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.", + label="Geodata", + required=True, + ), + ), + ( + "image", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ( + "hex_color", + wagtail.blocks.CharBlock( + default="000000", + help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", + label="Barva (HEX)", + ), + ), + ], + required=True, + ), + label="Součásti", + ), + ), + ( + "zoom", + wagtail.blocks.IntegerBlock( + default=15, + label="Výchozí zoom", + max_value=18, + min_value=1, + ), + ), + ( + "style", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "osm-mapnik", + "OSM Mapnik", + ), + ( + "stadia-osm-bright", + "Stadia OSM Bright", + ), + ( + "stadia-outdoors", + "Stadia Outdoors", + ), + ( + "mapbox-streets", + "Mapbox Streets", + ), + ( + "mapbox-outdoors", + "Mapbox Outdoors", + ), + ( + "mapbox-light", + "Mapbox Light", + ), + ( + "mapbox-dark", + "Mapbox Dark", + ), + ( + "mapbox-satellite", + "Mapbox Satellite", + ), + ( + "mapbox-pirate", + "Mapbox Pirate Theme", + ), + ], + label="Styl", + ), + ), + ( + "height", + wagtail.blocks.IntegerBlock( + label="Výška v px", + max_value=1000, + min_value=100, + ), + ), + ], + label="Mapová kolekce", + ), + ), + ], + label="Obsah", + required=False, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ] + ), + ), + ( + "figure", + wagtail.blocks.StructBlock( + [ + ( + "img", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", + required=True, + ), + ), + ( + "caption", + wagtail.blocks.TextBlock( + label="Popisek", + required=False, + ), + ), + ] + ), + ), + ( + "youtube", + wagtail.blocks.StructBlock( + [ + ( + "poster_image", + wagtail.images.blocks.ImageChooserBlock( + help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.", + label="Náhled videa (automatické pole)", + required=False, + ), + ), + ( + "video_url", + wagtail.blocks.URLBlock( + help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.", + label="Odkaz na video", + required=False, + ), + ), + ( + "video_id", + wagtail.blocks.CharBlock( + help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.", + label="ID videa (automatické pole)", + required=False, + ), + ), + ] + ), + ), + ( + "map_point", + wagtail.blocks.StructBlock( + [ + ( + "lat", + wagtail.blocks.DecimalBlock( + help_text="Např. 50.04075", + label="Zeměpisná šířka", + ), + ), + ( + "lon", + wagtail.blocks.DecimalBlock( + help_text="Např. 15.77659", + label="Zeměpisná délka", + ), + ), + ( + "hex_color", + wagtail.blocks.CharBlock( + default="000000", + help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", + label="Barva špendlíku (HEX)", + ), + ), + ( + "zoom", + wagtail.blocks.IntegerBlock( + default=15, + label="Výchozí zoom", + max_value=18, + min_value=1, + ), + ), + ( + "style", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "osm-mapnik", + "OSM Mapnik", + ), + ( + "stadia-osm-bright", + "Stadia OSM Bright", + ), + ( + "stadia-outdoors", + "Stadia Outdoors", + ), + ( + "mapbox-streets", + "Mapbox Streets", + ), + ( + "mapbox-outdoors", + "Mapbox Outdoors", + ), + ( + "mapbox-light", + "Mapbox Light", + ), + ( + "mapbox-dark", + "Mapbox Dark", + ), + ( + "mapbox-satellite", + "Mapbox Satellite", + ), + ( + "mapbox-pirate", + "Mapbox Pirate Theme", + ), + ], + label="Styl", + ), + ), + ( + "height", + wagtail.blocks.IntegerBlock( + label="Výška v px", + max_value=1000, + min_value=100, + ), + ), + ], + label="Špendlík na mapě", + ), + ), + ( + "map_collection", + wagtail.blocks.StructBlock( + [ + ( + "features", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", + required=True, + ), + ), + ( + "description", + wagtail.blocks.TextBlock( + label="Popisek", + required=False, + ), + ), + ( + "geojson", + wagtail.blocks.TextBlock( + help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.", + label="Geodata", + required=True, + ), + ), + ( + "image", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ( + "hex_color", + wagtail.blocks.CharBlock( + default="000000", + help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", + label="Barva (HEX)", + ), + ), + ], + required=True, + ), + label="Součásti", + ), + ), + ( + "zoom", + wagtail.blocks.IntegerBlock( + default=15, + label="Výchozí zoom", + max_value=18, + min_value=1, + ), + ), + ( + "style", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "osm-mapnik", + "OSM Mapnik", + ), + ( + "stadia-osm-bright", + "Stadia OSM Bright", + ), + ( + "stadia-outdoors", + "Stadia Outdoors", + ), + ( + "mapbox-streets", + "Mapbox Streets", + ), + ( + "mapbox-outdoors", + "Mapbox Outdoors", + ), + ( + "mapbox-light", + "Mapbox Light", + ), + ( + "mapbox-dark", + "Mapbox Dark", + ), + ( + "mapbox-satellite", + "Mapbox Satellite", + ), + ( + "mapbox-pirate", + "Mapbox Pirate Theme", + ), + ], + label="Styl", + ), + ), + ( + "height", + wagtail.blocks.IntegerBlock( + label="Výška v px", + max_value=1000, + min_value=100, + ), + ), + ], + label="Mapová kolekce", + ), + ), + ( + "button", + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", + max_length=128, + required=True, + ), + ), + ( + "icon", + wagtail.blocks.CharBlock( + help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.", + label="Ikonka", + max_length=128, + required=False, + ), + ), + ( + "size", + wagtail.blocks.ChoiceBlock( + choices=[ + ("sm", "Malá"), + ("base", "Střední"), + ("lg", "Velká"), + ], + label="Velikost", + ), + ), + ( + "color", + wagtail.blocks.ChoiceBlock( + choices=[ + ("black", "Černá"), + ("white", "Bílá"), + ( + "grey-125", + "Světle šedá", + ), + ( + "blue-300", + "Modrá", + ), + ( + "cyan-200", + "Tyrkysová", + ), + ( + "green-400", + "Zelené", + ), + ( + "violet-400", + "Vínová", + ), + ( + "red-600", + "Červená", + ), + ], + label="Barva", + ), + ), + ( + "hoveractive", + wagtail.blocks.BooleanBlock( + default=True, + help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.", + label="Animovat na hover", + required=False, + ), + ), + ( + "mobile_fullwidth", + wagtail.blocks.BooleanBlock( + default=True, + help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.", + label="Plná šířka na mobilních zařízeních", + required=False, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ( + "align", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "auto", + "Automaticky", + ), + ( + "center", + "Na střed", + ), + ], + label="Zarovnání", + ), + ), + ] + ), + ), + ( + "button_group", + wagtail.blocks.StructBlock( + [ + ( + "buttons", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", + max_length=128, + required=True, + ), + ), + ( + "icon", + wagtail.blocks.CharBlock( + help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.", + label="Ikonka", + max_length=128, + required=False, + ), + ), + ( + "size", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "sm", + "Malá", + ), + ( + "base", + "Střední", + ), + ( + "lg", + "Velká", + ), + ], + label="Velikost", + ), + ), + ( + "color", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "black", + "Černá", + ), + ( + "white", + "Bílá", + ), + ( + "grey-125", + "Světle šedá", + ), + ( + "blue-300", + "Modrá", + ), + ( + "cyan-200", + "Tyrkysová", + ), + ( + "green-400", + "Zelené", + ), + ( + "violet-400", + "Vínová", + ), + ( + "red-600", + "Červená", + ), + ], + label="Barva", + ), + ), + ( + "hoveractive", + wagtail.blocks.BooleanBlock( + default=True, + help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.", + label="Animovat na hover", + required=False, + ), + ), + ( + "mobile_fullwidth", + wagtail.blocks.BooleanBlock( + default=True, + help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.", + label="Plná šířka na mobilních zařízeních", + required=False, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ( + "align", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "auto", + "Automaticky", + ), + ( + "center", + "Na střed", + ), + ], + label="Zarovnání", + ), + ), + ] + ), + label="Tlačítka", + ), + ) + ] + ), + ), + ], + label="Obsah levého sloupce", + required=True, + ), + ), + ( + "right_column_content", + wagtail.blocks.StreamBlock( + [ + ( + "text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="Textový editor", + ), + ), + ( + "table", + wagtail.contrib.table_block.blocks.TableBlock( + template="shared/blocks/table_block.html" + ), + ), + ( + "card", + wagtail.blocks.StructBlock( + [ + ( + "img", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", + required=False, + ), + ), + ( + "elevation", + wagtail.blocks.IntegerBlock( + default=2, + help_text="0 = žádný stín, 21 = maximální stín", + label="Velikost stínu", + max_value=21, + min_value=0, + ), + ), + ( + "headline", + wagtail.blocks.TextBlock( + label="Titulek", + required=False, + ), + ), + ( + "hoveractive", + wagtail.blocks.BooleanBlock( + default=False, + help_text="Pokud je zapnuto, stín se zvýrazní, když na kartu uživatel najede myší.", + label="Zvýraznit stín na hover", + required=False, + ), + ), + ( + "content", + wagtail.blocks.StreamBlock( + [ + ( + "text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="Textový editor", + ), + ), + ( + "table", + wagtail.contrib.table_block.blocks.TableBlock( + template="shared/blocks/table_block.html" + ), + ), + ( + "figure", + wagtail.blocks.StructBlock( + [ + ( + "img", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", + required=True, + ), + ), + ( + "caption", + wagtail.blocks.TextBlock( + label="Popisek", + required=False, + ), + ), + ] + ), + ), + ( + "youtube", + wagtail.blocks.StructBlock( + [ + ( + "poster_image", + wagtail.images.blocks.ImageChooserBlock( + help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.", + label="Náhled videa (automatické pole)", + required=False, + ), + ), + ( + "video_url", + wagtail.blocks.URLBlock( + help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.", + label="Odkaz na video", + required=False, + ), + ), + ( + "video_id", + wagtail.blocks.CharBlock( + help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.", + label="ID videa (automatické pole)", + required=False, + ), + ), + ] + ), + ), + ( + "map_point", + wagtail.blocks.StructBlock( + [ + ( + "lat", + wagtail.blocks.DecimalBlock( + help_text="Např. 50.04075", + label="Zeměpisná šířka", + ), + ), + ( + "lon", + wagtail.blocks.DecimalBlock( + help_text="Např. 15.77659", + label="Zeměpisná délka", + ), + ), + ( + "hex_color", + wagtail.blocks.CharBlock( + default="000000", + help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", + label="Barva špendlíku (HEX)", + ), + ), + ( + "zoom", + wagtail.blocks.IntegerBlock( + default=15, + label="Výchozí zoom", + max_value=18, + min_value=1, + ), + ), + ( + "style", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "osm-mapnik", + "OSM Mapnik", + ), + ( + "stadia-osm-bright", + "Stadia OSM Bright", + ), + ( + "stadia-outdoors", + "Stadia Outdoors", + ), + ( + "mapbox-streets", + "Mapbox Streets", + ), + ( + "mapbox-outdoors", + "Mapbox Outdoors", + ), + ( + "mapbox-light", + "Mapbox Light", + ), + ( + "mapbox-dark", + "Mapbox Dark", + ), + ( + "mapbox-satellite", + "Mapbox Satellite", + ), + ( + "mapbox-pirate", + "Mapbox Pirate Theme", + ), + ], + label="Styl", + ), + ), + ( + "height", + wagtail.blocks.IntegerBlock( + label="Výška v px", + max_value=1000, + min_value=100, + ), + ), + ], + label="Špendlík na mapě", + ), + ), + ( + "map_collection", + wagtail.blocks.StructBlock( + [ + ( + "features", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", + required=True, + ), + ), + ( + "description", + wagtail.blocks.TextBlock( + label="Popisek", + required=False, + ), + ), + ( + "geojson", + wagtail.blocks.TextBlock( + help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.", + label="Geodata", + required=True, + ), + ), + ( + "image", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ( + "hex_color", + wagtail.blocks.CharBlock( + default="000000", + help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", + label="Barva (HEX)", + ), + ), + ], + required=True, + ), + label="Součásti", + ), + ), + ( + "zoom", + wagtail.blocks.IntegerBlock( + default=15, + label="Výchozí zoom", + max_value=18, + min_value=1, + ), + ), + ( + "style", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "osm-mapnik", + "OSM Mapnik", + ), + ( + "stadia-osm-bright", + "Stadia OSM Bright", + ), + ( + "stadia-outdoors", + "Stadia Outdoors", + ), + ( + "mapbox-streets", + "Mapbox Streets", + ), + ( + "mapbox-outdoors", + "Mapbox Outdoors", + ), + ( + "mapbox-light", + "Mapbox Light", + ), + ( + "mapbox-dark", + "Mapbox Dark", + ), + ( + "mapbox-satellite", + "Mapbox Satellite", + ), + ( + "mapbox-pirate", + "Mapbox Pirate Theme", + ), + ], + label="Styl", + ), + ), + ( + "height", + wagtail.blocks.IntegerBlock( + label="Výška v px", + max_value=1000, + min_value=100, + ), + ), + ], + label="Mapová kolekce", + ), + ), + ], + label="Obsah", + required=False, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ] + ), + ), + ( + "figure", + wagtail.blocks.StructBlock( + [ + ( + "img", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", + required=True, + ), + ), + ( + "caption", + wagtail.blocks.TextBlock( + label="Popisek", + required=False, + ), + ), + ] + ), + ), + ( + "youtube", + wagtail.blocks.StructBlock( + [ + ( + "poster_image", + wagtail.images.blocks.ImageChooserBlock( + help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.", + label="Náhled videa (automatické pole)", + required=False, + ), + ), + ( + "video_url", + wagtail.blocks.URLBlock( + help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.", + label="Odkaz na video", + required=False, + ), + ), + ( + "video_id", + wagtail.blocks.CharBlock( + help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.", + label="ID videa (automatické pole)", + required=False, + ), + ), + ] + ), + ), + ( + "map_point", + wagtail.blocks.StructBlock( + [ + ( + "lat", + wagtail.blocks.DecimalBlock( + help_text="Např. 50.04075", + label="Zeměpisná šířka", + ), + ), + ( + "lon", + wagtail.blocks.DecimalBlock( + help_text="Např. 15.77659", + label="Zeměpisná délka", + ), + ), + ( + "hex_color", + wagtail.blocks.CharBlock( + default="000000", + help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", + label="Barva špendlíku (HEX)", + ), + ), + ( + "zoom", + wagtail.blocks.IntegerBlock( + default=15, + label="Výchozí zoom", + max_value=18, + min_value=1, + ), + ), + ( + "style", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "osm-mapnik", + "OSM Mapnik", + ), + ( + "stadia-osm-bright", + "Stadia OSM Bright", + ), + ( + "stadia-outdoors", + "Stadia Outdoors", + ), + ( + "mapbox-streets", + "Mapbox Streets", + ), + ( + "mapbox-outdoors", + "Mapbox Outdoors", + ), + ( + "mapbox-light", + "Mapbox Light", + ), + ( + "mapbox-dark", + "Mapbox Dark", + ), + ( + "mapbox-satellite", + "Mapbox Satellite", + ), + ( + "mapbox-pirate", + "Mapbox Pirate Theme", + ), + ], + label="Styl", + ), + ), + ( + "height", + wagtail.blocks.IntegerBlock( + label="Výška v px", + max_value=1000, + min_value=100, + ), + ), + ], + label="Špendlík na mapě", + ), + ), + ( + "map_collection", + wagtail.blocks.StructBlock( + [ + ( + "features", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", + required=True, + ), + ), + ( + "description", + wagtail.blocks.TextBlock( + label="Popisek", + required=False, + ), + ), + ( + "geojson", + wagtail.blocks.TextBlock( + help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.", + label="Geodata", + required=True, + ), + ), + ( + "image", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ( + "hex_color", + wagtail.blocks.CharBlock( + default="000000", + help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", + label="Barva (HEX)", + ), + ), + ], + required=True, + ), + label="Součásti", + ), + ), + ( + "zoom", + wagtail.blocks.IntegerBlock( + default=15, + label="Výchozí zoom", + max_value=18, + min_value=1, + ), + ), + ( + "style", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "osm-mapnik", + "OSM Mapnik", + ), + ( + "stadia-osm-bright", + "Stadia OSM Bright", + ), + ( + "stadia-outdoors", + "Stadia Outdoors", + ), + ( + "mapbox-streets", + "Mapbox Streets", + ), + ( + "mapbox-outdoors", + "Mapbox Outdoors", + ), + ( + "mapbox-light", + "Mapbox Light", + ), + ( + "mapbox-dark", + "Mapbox Dark", + ), + ( + "mapbox-satellite", + "Mapbox Satellite", + ), + ( + "mapbox-pirate", + "Mapbox Pirate Theme", + ), + ], + label="Styl", + ), + ), + ( + "height", + wagtail.blocks.IntegerBlock( + label="Výška v px", + max_value=1000, + min_value=100, + ), + ), + ], + label="Mapová kolekce", + ), + ), + ( + "button", + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", + max_length=128, + required=True, + ), + ), + ( + "icon", + wagtail.blocks.CharBlock( + help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.", + label="Ikonka", + max_length=128, + required=False, + ), + ), + ( + "size", + wagtail.blocks.ChoiceBlock( + choices=[ + ("sm", "Malá"), + ("base", "Střední"), + ("lg", "Velká"), + ], + label="Velikost", + ), + ), + ( + "color", + wagtail.blocks.ChoiceBlock( + choices=[ + ("black", "Černá"), + ("white", "Bílá"), + ( + "grey-125", + "Světle šedá", + ), + ( + "blue-300", + "Modrá", + ), + ( + "cyan-200", + "Tyrkysová", + ), + ( + "green-400", + "Zelené", + ), + ( + "violet-400", + "Vínová", + ), + ( + "red-600", + "Červená", + ), + ], + label="Barva", + ), + ), + ( + "hoveractive", + wagtail.blocks.BooleanBlock( + default=True, + help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.", + label="Animovat na hover", + required=False, + ), + ), + ( + "mobile_fullwidth", + wagtail.blocks.BooleanBlock( + default=True, + help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.", + label="Plná šířka na mobilních zařízeních", + required=False, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ( + "align", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "auto", + "Automaticky", + ), + ( + "center", + "Na střed", + ), + ], + label="Zarovnání", + ), + ), + ] + ), + ), + ( + "button_group", + wagtail.blocks.StructBlock( + [ + ( + "buttons", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", + max_length=128, + required=True, + ), + ), + ( + "icon", + wagtail.blocks.CharBlock( + help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.", + label="Ikonka", + max_length=128, + required=False, + ), + ), + ( + "size", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "sm", + "Malá", + ), + ( + "base", + "Střední", + ), + ( + "lg", + "Velká", + ), + ], + label="Velikost", + ), + ), + ( + "color", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "black", + "Černá", + ), + ( + "white", + "Bílá", + ), + ( + "grey-125", + "Světle šedá", + ), + ( + "blue-300", + "Modrá", + ), + ( + "cyan-200", + "Tyrkysová", + ), + ( + "green-400", + "Zelené", + ), + ( + "violet-400", + "Vínová", + ), + ( + "red-600", + "Červená", + ), + ], + label="Barva", + ), + ), + ( + "hoveractive", + wagtail.blocks.BooleanBlock( + default=True, + help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.", + label="Animovat na hover", + required=False, + ), + ), + ( + "mobile_fullwidth", + wagtail.blocks.BooleanBlock( + default=True, + help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.", + label="Plná šířka na mobilních zařízeních", + required=False, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ( + "align", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "auto", + "Automaticky", + ), + ( + "center", + "Na střed", + ), + ], + label="Zarovnání", + ), + ), + ] + ), + label="Tlačítka", + ), + ) + ] + ), + ), + ], + label="Obsah pravého sloupce", + required=True, + ), + ), + ] + ), + ), + ( + "three_columns", + wagtail.blocks.StructBlock( + [ + ( + "left_column_content", + wagtail.blocks.StreamBlock( + [ + ( + "text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="Textový editor", + ), + ), + ( + "table", + wagtail.contrib.table_block.blocks.TableBlock( + template="shared/blocks/table_block.html" + ), + ), + ( + "card", + wagtail.blocks.StructBlock( + [ + ( + "img", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", + required=False, + ), + ), + ( + "elevation", + wagtail.blocks.IntegerBlock( + default=2, + help_text="0 = žádný stín, 21 = maximální stín", + label="Velikost stínu", + max_value=21, + min_value=0, + ), + ), + ( + "headline", + wagtail.blocks.TextBlock( + label="Titulek", + required=False, + ), + ), + ( + "hoveractive", + wagtail.blocks.BooleanBlock( + default=False, + help_text="Pokud je zapnuto, stín se zvýrazní, když na kartu uživatel najede myší.", + label="Zvýraznit stín na hover", + required=False, + ), + ), + ( + "content", + wagtail.blocks.StreamBlock( + [ + ( + "text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="Textový editor", + ), + ), + ( + "table", + wagtail.contrib.table_block.blocks.TableBlock( + template="shared/blocks/table_block.html" + ), + ), + ( + "figure", + wagtail.blocks.StructBlock( + [ + ( + "img", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", + required=True, + ), + ), + ( + "caption", + wagtail.blocks.TextBlock( + label="Popisek", + required=False, + ), + ), + ] + ), + ), + ( + "youtube", + wagtail.blocks.StructBlock( + [ + ( + "poster_image", + wagtail.images.blocks.ImageChooserBlock( + help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.", + label="Náhled videa (automatické pole)", + required=False, + ), + ), + ( + "video_url", + wagtail.blocks.URLBlock( + help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.", + label="Odkaz na video", + required=False, + ), + ), + ( + "video_id", + wagtail.blocks.CharBlock( + help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.", + label="ID videa (automatické pole)", + required=False, + ), + ), + ] + ), + ), + ( + "map_point", + wagtail.blocks.StructBlock( + [ + ( + "lat", + wagtail.blocks.DecimalBlock( + help_text="Např. 50.04075", + label="Zeměpisná šířka", + ), + ), + ( + "lon", + wagtail.blocks.DecimalBlock( + help_text="Např. 15.77659", + label="Zeměpisná délka", + ), + ), + ( + "hex_color", + wagtail.blocks.CharBlock( + default="000000", + help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", + label="Barva špendlíku (HEX)", + ), + ), + ( + "zoom", + wagtail.blocks.IntegerBlock( + default=15, + label="Výchozí zoom", + max_value=18, + min_value=1, + ), + ), + ( + "style", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "osm-mapnik", + "OSM Mapnik", + ), + ( + "stadia-osm-bright", + "Stadia OSM Bright", + ), + ( + "stadia-outdoors", + "Stadia Outdoors", + ), + ( + "mapbox-streets", + "Mapbox Streets", + ), + ( + "mapbox-outdoors", + "Mapbox Outdoors", + ), + ( + "mapbox-light", + "Mapbox Light", + ), + ( + "mapbox-dark", + "Mapbox Dark", + ), + ( + "mapbox-satellite", + "Mapbox Satellite", + ), + ( + "mapbox-pirate", + "Mapbox Pirate Theme", + ), + ], + label="Styl", + ), + ), + ( + "height", + wagtail.blocks.IntegerBlock( + label="Výška v px", + max_value=1000, + min_value=100, + ), + ), + ], + label="Špendlík na mapě", + ), + ), + ( + "map_collection", + wagtail.blocks.StructBlock( + [ + ( + "features", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", + required=True, + ), + ), + ( + "description", + wagtail.blocks.TextBlock( + label="Popisek", + required=False, + ), + ), + ( + "geojson", + wagtail.blocks.TextBlock( + help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.", + label="Geodata", + required=True, + ), + ), + ( + "image", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ( + "hex_color", + wagtail.blocks.CharBlock( + default="000000", + help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", + label="Barva (HEX)", + ), + ), + ], + required=True, + ), + label="Součásti", + ), + ), + ( + "zoom", + wagtail.blocks.IntegerBlock( + default=15, + label="Výchozí zoom", + max_value=18, + min_value=1, + ), + ), + ( + "style", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "osm-mapnik", + "OSM Mapnik", + ), + ( + "stadia-osm-bright", + "Stadia OSM Bright", + ), + ( + "stadia-outdoors", + "Stadia Outdoors", + ), + ( + "mapbox-streets", + "Mapbox Streets", + ), + ( + "mapbox-outdoors", + "Mapbox Outdoors", + ), + ( + "mapbox-light", + "Mapbox Light", + ), + ( + "mapbox-dark", + "Mapbox Dark", + ), + ( + "mapbox-satellite", + "Mapbox Satellite", + ), + ( + "mapbox-pirate", + "Mapbox Pirate Theme", + ), + ], + label="Styl", + ), + ), + ( + "height", + wagtail.blocks.IntegerBlock( + label="Výška v px", + max_value=1000, + min_value=100, + ), + ), + ], + label="Mapová kolekce", + ), + ), + ], + label="Obsah", + required=False, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ] + ), + ), + ( + "figure", + wagtail.blocks.StructBlock( + [ + ( + "img", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", + required=True, + ), + ), + ( + "caption", + wagtail.blocks.TextBlock( + label="Popisek", + required=False, + ), + ), + ] + ), + ), + ( + "youtube", + wagtail.blocks.StructBlock( + [ + ( + "poster_image", + wagtail.images.blocks.ImageChooserBlock( + help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.", + label="Náhled videa (automatické pole)", + required=False, + ), + ), + ( + "video_url", + wagtail.blocks.URLBlock( + help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.", + label="Odkaz na video", + required=False, + ), + ), + ( + "video_id", + wagtail.blocks.CharBlock( + help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.", + label="ID videa (automatické pole)", + required=False, + ), + ), + ] + ), + ), + ( + "map_point", + wagtail.blocks.StructBlock( + [ + ( + "lat", + wagtail.blocks.DecimalBlock( + help_text="Např. 50.04075", + label="Zeměpisná šířka", + ), + ), + ( + "lon", + wagtail.blocks.DecimalBlock( + help_text="Např. 15.77659", + label="Zeměpisná délka", + ), + ), + ( + "hex_color", + wagtail.blocks.CharBlock( + default="000000", + help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", + label="Barva špendlíku (HEX)", + ), + ), + ( + "zoom", + wagtail.blocks.IntegerBlock( + default=15, + label="Výchozí zoom", + max_value=18, + min_value=1, + ), + ), + ( + "style", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "osm-mapnik", + "OSM Mapnik", + ), + ( + "stadia-osm-bright", + "Stadia OSM Bright", + ), + ( + "stadia-outdoors", + "Stadia Outdoors", + ), + ( + "mapbox-streets", + "Mapbox Streets", + ), + ( + "mapbox-outdoors", + "Mapbox Outdoors", + ), + ( + "mapbox-light", + "Mapbox Light", + ), + ( + "mapbox-dark", + "Mapbox Dark", + ), + ( + "mapbox-satellite", + "Mapbox Satellite", + ), + ( + "mapbox-pirate", + "Mapbox Pirate Theme", + ), + ], + label="Styl", + ), + ), + ( + "height", + wagtail.blocks.IntegerBlock( + label="Výška v px", + max_value=1000, + min_value=100, + ), + ), + ], + label="Špendlík na mapě", + ), + ), + ( + "map_collection", + wagtail.blocks.StructBlock( + [ + ( + "features", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", + required=True, + ), + ), + ( + "description", + wagtail.blocks.TextBlock( + label="Popisek", + required=False, + ), + ), + ( + "geojson", + wagtail.blocks.TextBlock( + help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.", + label="Geodata", + required=True, + ), + ), + ( + "image", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ( + "hex_color", + wagtail.blocks.CharBlock( + default="000000", + help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", + label="Barva (HEX)", + ), + ), + ], + required=True, + ), + label="Součásti", + ), + ), + ( + "zoom", + wagtail.blocks.IntegerBlock( + default=15, + label="Výchozí zoom", + max_value=18, + min_value=1, + ), + ), + ( + "style", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "osm-mapnik", + "OSM Mapnik", + ), + ( + "stadia-osm-bright", + "Stadia OSM Bright", + ), + ( + "stadia-outdoors", + "Stadia Outdoors", + ), + ( + "mapbox-streets", + "Mapbox Streets", + ), + ( + "mapbox-outdoors", + "Mapbox Outdoors", + ), + ( + "mapbox-light", + "Mapbox Light", + ), + ( + "mapbox-dark", + "Mapbox Dark", + ), + ( + "mapbox-satellite", + "Mapbox Satellite", + ), + ( + "mapbox-pirate", + "Mapbox Pirate Theme", + ), + ], + label="Styl", + ), + ), + ( + "height", + wagtail.blocks.IntegerBlock( + label="Výška v px", + max_value=1000, + min_value=100, + ), + ), + ], + label="Mapová kolekce", + ), + ), + ( + "button", + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", + max_length=128, + required=True, + ), + ), + ( + "icon", + wagtail.blocks.CharBlock( + help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.", + label="Ikonka", + max_length=128, + required=False, + ), + ), + ( + "size", + wagtail.blocks.ChoiceBlock( + choices=[ + ("sm", "Malá"), + ("base", "Střední"), + ("lg", "Velká"), + ], + label="Velikost", + ), + ), + ( + "color", + wagtail.blocks.ChoiceBlock( + choices=[ + ("black", "Černá"), + ("white", "Bílá"), + ( + "grey-125", + "Světle šedá", + ), + ( + "blue-300", + "Modrá", + ), + ( + "cyan-200", + "Tyrkysová", + ), + ( + "green-400", + "Zelené", + ), + ( + "violet-400", + "Vínová", + ), + ( + "red-600", + "Červená", + ), + ], + label="Barva", + ), + ), + ( + "hoveractive", + wagtail.blocks.BooleanBlock( + default=True, + help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.", + label="Animovat na hover", + required=False, + ), + ), + ( + "mobile_fullwidth", + wagtail.blocks.BooleanBlock( + default=True, + help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.", + label="Plná šířka na mobilních zařízeních", + required=False, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ( + "align", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "auto", + "Automaticky", + ), + ( + "center", + "Na střed", + ), + ], + label="Zarovnání", + ), + ), + ] + ), + ), + ( + "button_group", + wagtail.blocks.StructBlock( + [ + ( + "buttons", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", + max_length=128, + required=True, + ), + ), + ( + "icon", + wagtail.blocks.CharBlock( + help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.", + label="Ikonka", + max_length=128, + required=False, + ), + ), + ( + "size", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "sm", + "Malá", + ), + ( + "base", + "Střední", + ), + ( + "lg", + "Velká", + ), + ], + label="Velikost", + ), + ), + ( + "color", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "black", + "Černá", + ), + ( + "white", + "Bílá", + ), + ( + "grey-125", + "Světle šedá", + ), + ( + "blue-300", + "Modrá", + ), + ( + "cyan-200", + "Tyrkysová", + ), + ( + "green-400", + "Zelené", + ), + ( + "violet-400", + "Vínová", + ), + ( + "red-600", + "Červená", + ), + ], + label="Barva", + ), + ), + ( + "hoveractive", + wagtail.blocks.BooleanBlock( + default=True, + help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.", + label="Animovat na hover", + required=False, + ), + ), + ( + "mobile_fullwidth", + wagtail.blocks.BooleanBlock( + default=True, + help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.", + label="Plná šířka na mobilních zařízeních", + required=False, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ( + "align", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "auto", + "Automaticky", + ), + ( + "center", + "Na střed", + ), + ], + label="Zarovnání", + ), + ), + ] + ), + label="Tlačítka", + ), + ) + ] + ), + ), + ], + label="Obsah levého sloupce", + required=True, + ), + ), + ( + "middle_column_content", + wagtail.blocks.StreamBlock( + [ + ( + "text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="Textový editor", + ), + ), + ( + "table", + wagtail.contrib.table_block.blocks.TableBlock( + template="shared/blocks/table_block.html" + ), + ), + ( + "card", + wagtail.blocks.StructBlock( + [ + ( + "img", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", + required=False, + ), + ), + ( + "elevation", + wagtail.blocks.IntegerBlock( + default=2, + help_text="0 = žádný stín, 21 = maximální stín", + label="Velikost stínu", + max_value=21, + min_value=0, + ), + ), + ( + "headline", + wagtail.blocks.TextBlock( + label="Titulek", + required=False, + ), + ), + ( + "hoveractive", + wagtail.blocks.BooleanBlock( + default=False, + help_text="Pokud je zapnuto, stín se zvýrazní, když na kartu uživatel najede myší.", + label="Zvýraznit stín na hover", + required=False, + ), + ), + ( + "content", + wagtail.blocks.StreamBlock( + [ + ( + "text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="Textový editor", + ), + ), + ( + "table", + wagtail.contrib.table_block.blocks.TableBlock( + template="shared/blocks/table_block.html" + ), + ), + ( + "figure", + wagtail.blocks.StructBlock( + [ + ( + "img", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", + required=True, + ), + ), + ( + "caption", + wagtail.blocks.TextBlock( + label="Popisek", + required=False, + ), + ), + ] + ), + ), + ( + "youtube", + wagtail.blocks.StructBlock( + [ + ( + "poster_image", + wagtail.images.blocks.ImageChooserBlock( + help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.", + label="Náhled videa (automatické pole)", + required=False, + ), + ), + ( + "video_url", + wagtail.blocks.URLBlock( + help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.", + label="Odkaz na video", + required=False, + ), + ), + ( + "video_id", + wagtail.blocks.CharBlock( + help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.", + label="ID videa (automatické pole)", + required=False, + ), + ), + ] + ), + ), + ( + "map_point", + wagtail.blocks.StructBlock( + [ + ( + "lat", + wagtail.blocks.DecimalBlock( + help_text="Např. 50.04075", + label="Zeměpisná šířka", + ), + ), + ( + "lon", + wagtail.blocks.DecimalBlock( + help_text="Např. 15.77659", + label="Zeměpisná délka", + ), + ), + ( + "hex_color", + wagtail.blocks.CharBlock( + default="000000", + help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", + label="Barva špendlíku (HEX)", + ), + ), + ( + "zoom", + wagtail.blocks.IntegerBlock( + default=15, + label="Výchozí zoom", + max_value=18, + min_value=1, + ), + ), + ( + "style", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "osm-mapnik", + "OSM Mapnik", + ), + ( + "stadia-osm-bright", + "Stadia OSM Bright", + ), + ( + "stadia-outdoors", + "Stadia Outdoors", + ), + ( + "mapbox-streets", + "Mapbox Streets", + ), + ( + "mapbox-outdoors", + "Mapbox Outdoors", + ), + ( + "mapbox-light", + "Mapbox Light", + ), + ( + "mapbox-dark", + "Mapbox Dark", + ), + ( + "mapbox-satellite", + "Mapbox Satellite", + ), + ( + "mapbox-pirate", + "Mapbox Pirate Theme", + ), + ], + label="Styl", + ), + ), + ( + "height", + wagtail.blocks.IntegerBlock( + label="Výška v px", + max_value=1000, + min_value=100, + ), + ), + ], + label="Špendlík na mapě", + ), + ), + ( + "map_collection", + wagtail.blocks.StructBlock( + [ + ( + "features", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", + required=True, + ), + ), + ( + "description", + wagtail.blocks.TextBlock( + label="Popisek", + required=False, + ), + ), + ( + "geojson", + wagtail.blocks.TextBlock( + help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.", + label="Geodata", + required=True, + ), + ), + ( + "image", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ( + "hex_color", + wagtail.blocks.CharBlock( + default="000000", + help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", + label="Barva (HEX)", + ), + ), + ], + required=True, + ), + label="Součásti", + ), + ), + ( + "zoom", + wagtail.blocks.IntegerBlock( + default=15, + label="Výchozí zoom", + max_value=18, + min_value=1, + ), + ), + ( + "style", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "osm-mapnik", + "OSM Mapnik", + ), + ( + "stadia-osm-bright", + "Stadia OSM Bright", + ), + ( + "stadia-outdoors", + "Stadia Outdoors", + ), + ( + "mapbox-streets", + "Mapbox Streets", + ), + ( + "mapbox-outdoors", + "Mapbox Outdoors", + ), + ( + "mapbox-light", + "Mapbox Light", + ), + ( + "mapbox-dark", + "Mapbox Dark", + ), + ( + "mapbox-satellite", + "Mapbox Satellite", + ), + ( + "mapbox-pirate", + "Mapbox Pirate Theme", + ), + ], + label="Styl", + ), + ), + ( + "height", + wagtail.blocks.IntegerBlock( + label="Výška v px", + max_value=1000, + min_value=100, + ), + ), + ], + label="Mapová kolekce", + ), + ), + ], + label="Obsah", + required=False, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ] + ), + ), + ( + "figure", + wagtail.blocks.StructBlock( + [ + ( + "img", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", + required=True, + ), + ), + ( + "caption", + wagtail.blocks.TextBlock( + label="Popisek", + required=False, + ), + ), + ] + ), + ), + ( + "youtube", + wagtail.blocks.StructBlock( + [ + ( + "poster_image", + wagtail.images.blocks.ImageChooserBlock( + help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.", + label="Náhled videa (automatické pole)", + required=False, + ), + ), + ( + "video_url", + wagtail.blocks.URLBlock( + help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.", + label="Odkaz na video", + required=False, + ), + ), + ( + "video_id", + wagtail.blocks.CharBlock( + help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.", + label="ID videa (automatické pole)", + required=False, + ), + ), + ] + ), + ), + ( + "map_point", + wagtail.blocks.StructBlock( + [ + ( + "lat", + wagtail.blocks.DecimalBlock( + help_text="Např. 50.04075", + label="Zeměpisná šířka", + ), + ), + ( + "lon", + wagtail.blocks.DecimalBlock( + help_text="Např. 15.77659", + label="Zeměpisná délka", + ), + ), + ( + "hex_color", + wagtail.blocks.CharBlock( + default="000000", + help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", + label="Barva špendlíku (HEX)", + ), + ), + ( + "zoom", + wagtail.blocks.IntegerBlock( + default=15, + label="Výchozí zoom", + max_value=18, + min_value=1, + ), + ), + ( + "style", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "osm-mapnik", + "OSM Mapnik", + ), + ( + "stadia-osm-bright", + "Stadia OSM Bright", + ), + ( + "stadia-outdoors", + "Stadia Outdoors", + ), + ( + "mapbox-streets", + "Mapbox Streets", + ), + ( + "mapbox-outdoors", + "Mapbox Outdoors", + ), + ( + "mapbox-light", + "Mapbox Light", + ), + ( + "mapbox-dark", + "Mapbox Dark", + ), + ( + "mapbox-satellite", + "Mapbox Satellite", + ), + ( + "mapbox-pirate", + "Mapbox Pirate Theme", + ), + ], + label="Styl", + ), + ), + ( + "height", + wagtail.blocks.IntegerBlock( + label="Výška v px", + max_value=1000, + min_value=100, + ), + ), + ], + label="Špendlík na mapě", + ), + ), + ( + "map_collection", + wagtail.blocks.StructBlock( + [ + ( + "features", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", + required=True, + ), + ), + ( + "description", + wagtail.blocks.TextBlock( + label="Popisek", + required=False, + ), + ), + ( + "geojson", + wagtail.blocks.TextBlock( + help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.", + label="Geodata", + required=True, + ), + ), + ( + "image", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ( + "hex_color", + wagtail.blocks.CharBlock( + default="000000", + help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", + label="Barva (HEX)", + ), + ), + ], + required=True, + ), + label="Součásti", + ), + ), + ( + "zoom", + wagtail.blocks.IntegerBlock( + default=15, + label="Výchozí zoom", + max_value=18, + min_value=1, + ), + ), + ( + "style", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "osm-mapnik", + "OSM Mapnik", + ), + ( + "stadia-osm-bright", + "Stadia OSM Bright", + ), + ( + "stadia-outdoors", + "Stadia Outdoors", + ), + ( + "mapbox-streets", + "Mapbox Streets", + ), + ( + "mapbox-outdoors", + "Mapbox Outdoors", + ), + ( + "mapbox-light", + "Mapbox Light", + ), + ( + "mapbox-dark", + "Mapbox Dark", + ), + ( + "mapbox-satellite", + "Mapbox Satellite", + ), + ( + "mapbox-pirate", + "Mapbox Pirate Theme", + ), + ], + label="Styl", + ), + ), + ( + "height", + wagtail.blocks.IntegerBlock( + label="Výška v px", + max_value=1000, + min_value=100, + ), + ), + ], + label="Mapová kolekce", + ), + ), + ( + "button", + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", + max_length=128, + required=True, + ), + ), + ( + "icon", + wagtail.blocks.CharBlock( + help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.", + label="Ikonka", + max_length=128, + required=False, + ), + ), + ( + "size", + wagtail.blocks.ChoiceBlock( + choices=[ + ("sm", "Malá"), + ("base", "Střední"), + ("lg", "Velká"), + ], + label="Velikost", + ), + ), + ( + "color", + wagtail.blocks.ChoiceBlock( + choices=[ + ("black", "Černá"), + ("white", "Bílá"), + ( + "grey-125", + "Světle šedá", + ), + ( + "blue-300", + "Modrá", + ), + ( + "cyan-200", + "Tyrkysová", + ), + ( + "green-400", + "Zelené", + ), + ( + "violet-400", + "Vínová", + ), + ( + "red-600", + "Červená", + ), + ], + label="Barva", + ), + ), + ( + "hoveractive", + wagtail.blocks.BooleanBlock( + default=True, + help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.", + label="Animovat na hover", + required=False, + ), + ), + ( + "mobile_fullwidth", + wagtail.blocks.BooleanBlock( + default=True, + help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.", + label="Plná šířka na mobilních zařízeních", + required=False, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ( + "align", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "auto", + "Automaticky", + ), + ( + "center", + "Na střed", + ), + ], + label="Zarovnání", + ), + ), + ] + ), + ), + ( + "button_group", + wagtail.blocks.StructBlock( + [ + ( + "buttons", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", + max_length=128, + required=True, + ), + ), + ( + "icon", + wagtail.blocks.CharBlock( + help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.", + label="Ikonka", + max_length=128, + required=False, + ), + ), + ( + "size", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "sm", + "Malá", + ), + ( + "base", + "Střední", + ), + ( + "lg", + "Velká", + ), + ], + label="Velikost", + ), + ), + ( + "color", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "black", + "Černá", + ), + ( + "white", + "Bílá", + ), + ( + "grey-125", + "Světle šedá", + ), + ( + "blue-300", + "Modrá", + ), + ( + "cyan-200", + "Tyrkysová", + ), + ( + "green-400", + "Zelené", + ), + ( + "violet-400", + "Vínová", + ), + ( + "red-600", + "Červená", + ), + ], + label="Barva", + ), + ), + ( + "hoveractive", + wagtail.blocks.BooleanBlock( + default=True, + help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.", + label="Animovat na hover", + required=False, + ), + ), + ( + "mobile_fullwidth", + wagtail.blocks.BooleanBlock( + default=True, + help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.", + label="Plná šířka na mobilních zařízeních", + required=False, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ( + "align", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "auto", + "Automaticky", + ), + ( + "center", + "Na střed", + ), + ], + label="Zarovnání", + ), + ), + ] + ), + label="Tlačítka", + ), + ) + ] + ), + ), + ], + label="Obsah prostředního sloupce", + required=True, + ), + ), + ( + "right_column_content", + wagtail.blocks.StreamBlock( + [ + ( + "text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="Textový editor", + ), + ), + ( + "table", + wagtail.contrib.table_block.blocks.TableBlock( + template="shared/blocks/table_block.html" + ), + ), + ( + "card", + wagtail.blocks.StructBlock( + [ + ( + "img", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", + required=False, + ), + ), + ( + "elevation", + wagtail.blocks.IntegerBlock( + default=2, + help_text="0 = žádný stín, 21 = maximální stín", + label="Velikost stínu", + max_value=21, + min_value=0, + ), + ), + ( + "headline", + wagtail.blocks.TextBlock( + label="Titulek", + required=False, + ), + ), + ( + "hoveractive", + wagtail.blocks.BooleanBlock( + default=False, + help_text="Pokud je zapnuto, stín se zvýrazní, když na kartu uživatel najede myší.", + label="Zvýraznit stín na hover", + required=False, + ), + ), + ( + "content", + wagtail.blocks.StreamBlock( + [ + ( + "text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="Textový editor", + ), + ), + ( + "table", + wagtail.contrib.table_block.blocks.TableBlock( + template="shared/blocks/table_block.html" + ), + ), + ( + "figure", + wagtail.blocks.StructBlock( + [ + ( + "img", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", + required=True, + ), + ), + ( + "caption", + wagtail.blocks.TextBlock( + label="Popisek", + required=False, + ), + ), + ] + ), + ), + ( + "youtube", + wagtail.blocks.StructBlock( + [ + ( + "poster_image", + wagtail.images.blocks.ImageChooserBlock( + help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.", + label="Náhled videa (automatické pole)", + required=False, + ), + ), + ( + "video_url", + wagtail.blocks.URLBlock( + help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.", + label="Odkaz na video", + required=False, + ), + ), + ( + "video_id", + wagtail.blocks.CharBlock( + help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.", + label="ID videa (automatické pole)", + required=False, + ), + ), + ] + ), + ), + ( + "map_point", + wagtail.blocks.StructBlock( + [ + ( + "lat", + wagtail.blocks.DecimalBlock( + help_text="Např. 50.04075", + label="Zeměpisná šířka", + ), + ), + ( + "lon", + wagtail.blocks.DecimalBlock( + help_text="Např. 15.77659", + label="Zeměpisná délka", + ), + ), + ( + "hex_color", + wagtail.blocks.CharBlock( + default="000000", + help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", + label="Barva špendlíku (HEX)", + ), + ), + ( + "zoom", + wagtail.blocks.IntegerBlock( + default=15, + label="Výchozí zoom", + max_value=18, + min_value=1, + ), + ), + ( + "style", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "osm-mapnik", + "OSM Mapnik", + ), + ( + "stadia-osm-bright", + "Stadia OSM Bright", + ), + ( + "stadia-outdoors", + "Stadia Outdoors", + ), + ( + "mapbox-streets", + "Mapbox Streets", + ), + ( + "mapbox-outdoors", + "Mapbox Outdoors", + ), + ( + "mapbox-light", + "Mapbox Light", + ), + ( + "mapbox-dark", + "Mapbox Dark", + ), + ( + "mapbox-satellite", + "Mapbox Satellite", + ), + ( + "mapbox-pirate", + "Mapbox Pirate Theme", + ), + ], + label="Styl", + ), + ), + ( + "height", + wagtail.blocks.IntegerBlock( + label="Výška v px", + max_value=1000, + min_value=100, + ), + ), + ], + label="Špendlík na mapě", + ), + ), + ( + "map_collection", + wagtail.blocks.StructBlock( + [ + ( + "features", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", + required=True, + ), + ), + ( + "description", + wagtail.blocks.TextBlock( + label="Popisek", + required=False, + ), + ), + ( + "geojson", + wagtail.blocks.TextBlock( + help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.", + label="Geodata", + required=True, + ), + ), + ( + "image", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ( + "hex_color", + wagtail.blocks.CharBlock( + default="000000", + help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", + label="Barva (HEX)", + ), + ), + ], + required=True, + ), + label="Součásti", + ), + ), + ( + "zoom", + wagtail.blocks.IntegerBlock( + default=15, + label="Výchozí zoom", + max_value=18, + min_value=1, + ), + ), + ( + "style", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "osm-mapnik", + "OSM Mapnik", + ), + ( + "stadia-osm-bright", + "Stadia OSM Bright", + ), + ( + "stadia-outdoors", + "Stadia Outdoors", + ), + ( + "mapbox-streets", + "Mapbox Streets", + ), + ( + "mapbox-outdoors", + "Mapbox Outdoors", + ), + ( + "mapbox-light", + "Mapbox Light", + ), + ( + "mapbox-dark", + "Mapbox Dark", + ), + ( + "mapbox-satellite", + "Mapbox Satellite", + ), + ( + "mapbox-pirate", + "Mapbox Pirate Theme", + ), + ], + label="Styl", + ), + ), + ( + "height", + wagtail.blocks.IntegerBlock( + label="Výška v px", + max_value=1000, + min_value=100, + ), + ), + ], + label="Mapová kolekce", + ), + ), + ], + label="Obsah", + required=False, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ] + ), + ), + ( + "figure", + wagtail.blocks.StructBlock( + [ + ( + "img", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", + required=True, + ), + ), + ( + "caption", + wagtail.blocks.TextBlock( + label="Popisek", + required=False, + ), + ), + ] + ), + ), + ( + "youtube", + wagtail.blocks.StructBlock( + [ + ( + "poster_image", + wagtail.images.blocks.ImageChooserBlock( + help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.", + label="Náhled videa (automatické pole)", + required=False, + ), + ), + ( + "video_url", + wagtail.blocks.URLBlock( + help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.", + label="Odkaz na video", + required=False, + ), + ), + ( + "video_id", + wagtail.blocks.CharBlock( + help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.", + label="ID videa (automatické pole)", + required=False, + ), + ), + ] + ), + ), + ( + "map_point", + wagtail.blocks.StructBlock( + [ + ( + "lat", + wagtail.blocks.DecimalBlock( + help_text="Např. 50.04075", + label="Zeměpisná šířka", + ), + ), + ( + "lon", + wagtail.blocks.DecimalBlock( + help_text="Např. 15.77659", + label="Zeměpisná délka", + ), + ), + ( + "hex_color", + wagtail.blocks.CharBlock( + default="000000", + help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", + label="Barva špendlíku (HEX)", + ), + ), + ( + "zoom", + wagtail.blocks.IntegerBlock( + default=15, + label="Výchozí zoom", + max_value=18, + min_value=1, + ), + ), + ( + "style", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "osm-mapnik", + "OSM Mapnik", + ), + ( + "stadia-osm-bright", + "Stadia OSM Bright", + ), + ( + "stadia-outdoors", + "Stadia Outdoors", + ), + ( + "mapbox-streets", + "Mapbox Streets", + ), + ( + "mapbox-outdoors", + "Mapbox Outdoors", + ), + ( + "mapbox-light", + "Mapbox Light", + ), + ( + "mapbox-dark", + "Mapbox Dark", + ), + ( + "mapbox-satellite", + "Mapbox Satellite", + ), + ( + "mapbox-pirate", + "Mapbox Pirate Theme", + ), + ], + label="Styl", + ), + ), + ( + "height", + wagtail.blocks.IntegerBlock( + label="Výška v px", + max_value=1000, + min_value=100, + ), + ), + ], + label="Špendlík na mapě", + ), + ), + ( + "map_collection", + wagtail.blocks.StructBlock( + [ + ( + "features", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", + required=True, + ), + ), + ( + "description", + wagtail.blocks.TextBlock( + label="Popisek", + required=False, + ), + ), + ( + "geojson", + wagtail.blocks.TextBlock( + help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.", + label="Geodata", + required=True, + ), + ), + ( + "image", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ( + "hex_color", + wagtail.blocks.CharBlock( + default="000000", + help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", + label="Barva (HEX)", + ), + ), + ], + required=True, + ), + label="Součásti", + ), + ), + ( + "zoom", + wagtail.blocks.IntegerBlock( + default=15, + label="Výchozí zoom", + max_value=18, + min_value=1, + ), + ), + ( + "style", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "osm-mapnik", + "OSM Mapnik", + ), + ( + "stadia-osm-bright", + "Stadia OSM Bright", + ), + ( + "stadia-outdoors", + "Stadia Outdoors", + ), + ( + "mapbox-streets", + "Mapbox Streets", + ), + ( + "mapbox-outdoors", + "Mapbox Outdoors", + ), + ( + "mapbox-light", + "Mapbox Light", + ), + ( + "mapbox-dark", + "Mapbox Dark", + ), + ( + "mapbox-satellite", + "Mapbox Satellite", + ), + ( + "mapbox-pirate", + "Mapbox Pirate Theme", + ), + ], + label="Styl", + ), + ), + ( + "height", + wagtail.blocks.IntegerBlock( + label="Výška v px", + max_value=1000, + min_value=100, + ), + ), + ], + label="Mapová kolekce", + ), + ), + ( + "button", + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", + max_length=128, + required=True, + ), + ), + ( + "icon", + wagtail.blocks.CharBlock( + help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.", + label="Ikonka", + max_length=128, + required=False, + ), + ), + ( + "size", + wagtail.blocks.ChoiceBlock( + choices=[ + ("sm", "Malá"), + ("base", "Střední"), + ("lg", "Velká"), + ], + label="Velikost", + ), + ), + ( + "color", + wagtail.blocks.ChoiceBlock( + choices=[ + ("black", "Černá"), + ("white", "Bílá"), + ( + "grey-125", + "Světle šedá", + ), + ( + "blue-300", + "Modrá", + ), + ( + "cyan-200", + "Tyrkysová", + ), + ( + "green-400", + "Zelené", + ), + ( + "violet-400", + "Vínová", + ), + ( + "red-600", + "Červená", + ), + ], + label="Barva", + ), + ), + ( + "hoveractive", + wagtail.blocks.BooleanBlock( + default=True, + help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.", + label="Animovat na hover", + required=False, + ), + ), + ( + "mobile_fullwidth", + wagtail.blocks.BooleanBlock( + default=True, + help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.", + label="Plná šířka na mobilních zařízeních", + required=False, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ( + "align", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "auto", + "Automaticky", + ), + ( + "center", + "Na střed", + ), + ], + label="Zarovnání", + ), + ), + ] + ), + ), + ( + "button_group", + wagtail.blocks.StructBlock( + [ + ( + "buttons", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", + max_length=128, + required=True, + ), + ), + ( + "icon", + wagtail.blocks.CharBlock( + help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.", + label="Ikonka", + max_length=128, + required=False, + ), + ), + ( + "size", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "sm", + "Malá", + ), + ( + "base", + "Střední", + ), + ( + "lg", + "Velká", + ), + ], + label="Velikost", + ), + ), + ( + "color", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "black", + "Černá", + ), + ( + "white", + "Bílá", + ), + ( + "grey-125", + "Světle šedá", + ), + ( + "blue-300", + "Modrá", + ), + ( + "cyan-200", + "Tyrkysová", + ), + ( + "green-400", + "Zelené", + ), + ( + "violet-400", + "Vínová", + ), + ( + "red-600", + "Červená", + ), + ], + label="Barva", + ), + ), + ( + "hoveractive", + wagtail.blocks.BooleanBlock( + default=True, + help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.", + label="Animovat na hover", + required=False, + ), + ), + ( + "mobile_fullwidth", + wagtail.blocks.BooleanBlock( + default=True, + help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.", + label="Plná šířka na mobilních zařízeních", + required=False, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ( + "align", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "auto", + "Automaticky", + ), + ( + "center", + "Na střed", + ), + ], + label="Zarovnání", + ), + ), + ] + ), + label="Tlačítka", + ), + ) + ] + ), + ), + ], + label="Obsah pravého sloupce", + required=True, + ), + ), + ] + ), + ), + ( + "youtube", + wagtail.blocks.StructBlock( + [ + ( + "poster_image", + wagtail.images.blocks.ImageChooserBlock( + help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.", + label="Náhled videa (automatické pole)", + required=False, + ), + ), + ( + "video_url", + wagtail.blocks.URLBlock( + help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.", + label="Odkaz na video", + required=False, + ), + ), + ( + "video_id", + wagtail.blocks.CharBlock( + help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.", + label="ID videa (automatické pole)", + required=False, + ), + ), + ], + label="YouTube video", + ), + ), + ( + "map_point", + wagtail.blocks.StructBlock( + [ + ( + "lat", + wagtail.blocks.DecimalBlock( + help_text="Např. 50.04075", + label="Zeměpisná šířka", + ), + ), + ( + "lon", + wagtail.blocks.DecimalBlock( + help_text="Např. 15.77659", + label="Zeměpisná délka", + ), + ), + ( + "hex_color", + wagtail.blocks.CharBlock( + default="000000", + help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", + label="Barva špendlíku (HEX)", + ), + ), + ( + "zoom", + wagtail.blocks.IntegerBlock( + default=15, + label="Výchozí zoom", + max_value=18, + min_value=1, + ), + ), + ( + "style", + wagtail.blocks.ChoiceBlock( + choices=[ + ("osm-mapnik", "OSM Mapnik"), + ("stadia-osm-bright", "Stadia OSM Bright"), + ("stadia-outdoors", "Stadia Outdoors"), + ("mapbox-streets", "Mapbox Streets"), + ("mapbox-outdoors", "Mapbox Outdoors"), + ("mapbox-light", "Mapbox Light"), + ("mapbox-dark", "Mapbox Dark"), + ("mapbox-satellite", "Mapbox Satellite"), + ("mapbox-pirate", "Mapbox Pirate Theme"), + ], + label="Styl", + ), + ), + ( + "height", + wagtail.blocks.IntegerBlock( + label="Výška v px", + max_value=1000, + min_value=100, + ), + ), + ], + label="Špendlík na mapě", + ), + ), + ( + "map_collection", + wagtail.blocks.StructBlock( + [ + ( + "features", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", required=True + ), + ), + ( + "description", + wagtail.blocks.TextBlock( + label="Popisek", required=False + ), + ), + ( + "geojson", + wagtail.blocks.TextBlock( + help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.", + label="Geodata", + required=True, + ), + ), + ( + "image", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", required=False + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", required=False + ), + ), + ( + "hex_color", + wagtail.blocks.CharBlock( + default="000000", + help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", + label="Barva (HEX)", + ), + ), + ], + required=True, + ), + label="Součásti", + ), + ), + ( + "zoom", + wagtail.blocks.IntegerBlock( + default=15, + label="Výchozí zoom", + max_value=18, + min_value=1, + ), + ), + ( + "style", + wagtail.blocks.ChoiceBlock( + choices=[ + ("osm-mapnik", "OSM Mapnik"), + ("stadia-osm-bright", "Stadia OSM Bright"), + ("stadia-outdoors", "Stadia Outdoors"), + ("mapbox-streets", "Mapbox Streets"), + ("mapbox-outdoors", "Mapbox Outdoors"), + ("mapbox-light", "Mapbox Light"), + ("mapbox-dark", "Mapbox Dark"), + ("mapbox-satellite", "Mapbox Satellite"), + ("mapbox-pirate", "Mapbox Pirate Theme"), + ], + label="Styl", + ), + ), + ( + "height", + wagtail.blocks.IntegerBlock( + label="Výška v px", + max_value=1000, + min_value=100, + ), + ), + ], + label="Mapová kolekce", + ), + ), + ( + "button", + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", max_length=128, required=True + ), + ), + ( + "icon", + wagtail.blocks.CharBlock( + help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.", + label="Ikonka", + max_length=128, + required=False, + ), + ), + ( + "size", + wagtail.blocks.ChoiceBlock( + choices=[ + ("sm", "Malá"), + ("base", "Střední"), + ("lg", "Velká"), + ], + label="Velikost", + ), + ), + ( + "color", + wagtail.blocks.ChoiceBlock( + choices=[ + ("black", "Černá"), + ("white", "Bílá"), + ("grey-125", "Světle šedá"), + ("blue-300", "Modrá"), + ("cyan-200", "Tyrkysová"), + ("green-400", "Zelené"), + ("violet-400", "Vínová"), + ("red-600", "Červená"), + ], + label="Barva", + ), + ), + ( + "hoveractive", + wagtail.blocks.BooleanBlock( + default=True, + help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.", + label="Animovat na hover", + required=False, + ), + ), + ( + "mobile_fullwidth", + wagtail.blocks.BooleanBlock( + default=True, + help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.", + label="Plná šířka na mobilních zařízeních", + required=False, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", required=False + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", required=False + ), + ), + ( + "align", + wagtail.blocks.ChoiceBlock( + choices=[ + ("auto", "Automaticky"), + ("center", "Na střed"), + ], + label="Zarovnání", + ), + ), + ] + ), + ), + ( + "button_group", + wagtail.blocks.StructBlock( + [ + ( + "buttons", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", + max_length=128, + required=True, + ), + ), + ( + "icon", + wagtail.blocks.CharBlock( + help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.", + label="Ikonka", + max_length=128, + required=False, + ), + ), + ( + "size", + wagtail.blocks.ChoiceBlock( + choices=[ + ("sm", "Malá"), + ("base", "Střední"), + ("lg", "Velká"), + ], + label="Velikost", + ), + ), + ( + "color", + wagtail.blocks.ChoiceBlock( + choices=[ + ("black", "Černá"), + ("white", "Bílá"), + ("grey-125", "Světle šedá"), + ("blue-300", "Modrá"), + ("cyan-200", "Tyrkysová"), + ("green-400", "Zelené"), + ("violet-400", "Vínová"), + ("red-600", "Červená"), + ], + label="Barva", + ), + ), + ( + "hoveractive", + wagtail.blocks.BooleanBlock( + default=True, + help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.", + label="Animovat na hover", + required=False, + ), + ), + ( + "mobile_fullwidth", + wagtail.blocks.BooleanBlock( + default=True, + help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.", + label="Plná šířka na mobilních zařízeních", + required=False, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", required=False + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", required=False + ), + ), + ( + "align", + wagtail.blocks.ChoiceBlock( + choices=[ + ("auto", "Automaticky"), + ("center", "Na střed"), + ], + label="Zarovnání", + ), + ), + ] + ), + label="Tlačítka", + ), + ) + ] + ), + ), + ( + "image_banner", + wagtail.blocks.StructBlock( + [ + ( + "image", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek", required=True + ), + ), + ( + "headline", + wagtail.blocks.CharBlock( + label="Headline", max_length=128, required=True + ), + ), + ( + "content", + wagtail.blocks.StreamBlock( + [ + ( + "text", + wagtail.blocks.RichTextBlock( + features=( + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + "blockquote", + ), + label="Textový editor", + ), + ), + ( + "button", + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", + max_length=128, + required=True, + ), + ), + ( + "icon", + wagtail.blocks.CharBlock( + help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.", + label="Ikonka", + max_length=128, + required=False, + ), + ), + ( + "size", + wagtail.blocks.ChoiceBlock( + choices=[ + ("sm", "Malá"), + ("base", "Střední"), + ("lg", "Velká"), + ], + label="Velikost", + ), + ), + ( + "color", + wagtail.blocks.ChoiceBlock( + choices=[ + ("black", "Černá"), + ("white", "Bílá"), + ( + "grey-125", + "Světle šedá", + ), + ( + "blue-300", + "Modrá", + ), + ( + "cyan-200", + "Tyrkysová", + ), + ( + "green-400", + "Zelené", + ), + ( + "violet-400", + "Vínová", + ), + ( + "red-600", + "Červená", + ), + ], + label="Barva", + ), + ), + ( + "hoveractive", + wagtail.blocks.BooleanBlock( + default=True, + help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.", + label="Animovat na hover", + required=False, + ), + ), + ( + "mobile_fullwidth", + wagtail.blocks.BooleanBlock( + default=True, + help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.", + label="Plná šířka na mobilních zařízeních", + required=False, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ( + "align", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "auto", + "Automaticky", + ), + ( + "center", + "Na střed", + ), + ], + label="Zarovnání", + ), + ), + ] + ), + ), + ( + "button_group", + wagtail.blocks.StructBlock( + [ + ( + "buttons", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", + max_length=128, + required=True, + ), + ), + ( + "icon", + wagtail.blocks.CharBlock( + help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.", + label="Ikonka", + max_length=128, + required=False, + ), + ), + ( + "size", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "sm", + "Malá", + ), + ( + "base", + "Střední", + ), + ( + "lg", + "Velká", + ), + ], + label="Velikost", + ), + ), + ( + "color", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "black", + "Černá", + ), + ( + "white", + "Bílá", + ), + ( + "grey-125", + "Světle šedá", + ), + ( + "blue-300", + "Modrá", + ), + ( + "cyan-200", + "Tyrkysová", + ), + ( + "green-400", + "Zelené", + ), + ( + "violet-400", + "Vínová", + ), + ( + "red-600", + "Červená", + ), + ], + label="Barva", + ), + ), + ( + "hoveractive", + wagtail.blocks.BooleanBlock( + default=True, + help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.", + label="Animovat na hover", + required=False, + ), + ), + ( + "mobile_fullwidth", + wagtail.blocks.BooleanBlock( + default=True, + help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.", + label="Plná šířka na mobilních zařízeních", + required=False, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ( + "align", + wagtail.blocks.ChoiceBlock( + choices=[ + ( + "auto", + "Automaticky", + ), + ( + "center", + "Na střed", + ), + ], + label="Zarovnání", + ), + ), + ] + ), + label="Tlačítka", + ), + ) + ] + ), + ), + ], + label="Obsah pravého sloupce", + required=False, + ), + ), + ] + ), + ), + ( + "chart", + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Název", max_length=120 + ), + ), + ( + "chart_type", + wagtail.blocks.ChoiceBlock( + choices=[ + ("bar", "Graf se sloupci"), + ( + "horizontalBar", + "Graf s vodorovnými sloupci", + ), + ("pie", "Koláčový graf"), + ("doughnut", "Donutový graf"), + ("polarArea", "Graf polární oblasti"), + ("radar", "Radarový graf"), + ("line", "Graf s liniemi"), + ], + label="Typ", + ), + ), + ( + "hide_points", + wagtail.blocks.BooleanBlock( + help_text="Mění vzhled pouze u linových grafů.", + label="Schovat body", + required=False, + ), + ), + ( + "local_labels", + wagtail.blocks.ListBlock( + wagtail.blocks.CharBlock( + label="Skupina", max_length=40 + ), + blank=True, + collapsed=True, + default=[], + label="Místně definované skupiny", + required=False, + ), + ), + ( + "local_datasets", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "label", + wagtail.blocks.CharBlock( + label="Označení zdroje dat", + max_length=120, + ), + ), + ( + "data", + wagtail.blocks.ListBlock( + wagtail.blocks.IntegerBlock(), + default=[0], + label="Data", + ), + ), + ] + ), + blank=True, + collapsed=True, + default=[], + label="Místní zdroje dat", + required=False, + ), + ), + ( + "redmine_issue_datasets", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "projects", + wagtail.blocks.MultipleChoiceBlock( + choices=shared.blocks.base.get_redmine_projects, + label="Projekty", + ), + ), + ( + "is_open", + wagtail.blocks.BooleanBlock( + label="Jen otevřené", + required=False, + ), + ), + ( + "is_closed", + wagtail.blocks.BooleanBlock( + label="Jen uzavřené", + required=False, + ), + ), + ( + "created_on_min_date", + wagtail.blocks.DateBlock( + label="Min. datum vytvoření", + required=True, + ), + ), + ( + "created_on_max_date", + wagtail.blocks.DateBlock( + label="Max. datum vytvoření", + required=True, + ), + ), + ( + "updated_on", + wagtail.blocks.CharBlock( + help_text="Např. <=2023-01-01. Více informací na pi2.cz/redmine-api", + label="Filtr pro datum aktualizace", + max_length=128, + required=False, + ), + ), + ( + "issue_label", + wagtail.blocks.CharBlock( + label="Označení úkolů uvnitř grafu", + max_length=128, + required=True, + ), + ), + ( + "split_per_project", + wagtail.blocks.BooleanBlock( + label="Rozdělit podle projektu", + required=False, + ), + ), + ( + "only_grow", + wagtail.blocks.BooleanBlock( + label="Pouze růst nahoru", + required=False, + ), + ), + ], + label="Redmine úkoly", + ), + blank=True, + default=[], + help_text="Úkoly, podle doby vytvoření. Pokud definuješ více zdrojů, datumy v nich musí být stejné.", + label="Zdroje dat z Redmine (úkoly)", + required=False, + ), + ), + ], + template="district/blocks/chart.html", + ), + ), + ( + "related", + wagtail.blocks.StructBlock( + [ + ( + "articles", + wagtail.blocks.ListBlock( + wagtail.blocks.PageChooserBlock( + "district.DistrictArticlePage", + label="Aktualita", + required=True, + ), + label="Seznam aktualit", + required=True, + ), + ) + ] + ), + ), + ( + "related_links", + wagtail.blocks.StructBlock( + [ + ( + "articles", + wagtail.blocks.ListBlock( + wagtail.blocks.PageChooserBlock( + "district.DistrictArticlePage", + label="Aktualita", + required=True, + ), + label="Seznam aktualit", + required=True, + ), + ) + ] + ), + ), + ( + "badge", + wagtail.blocks.StructBlock( + [ + ( + "person", + wagtail.blocks.PageChooserBlock( + label="Osoba", + page_type=["district.DistrictPersonPage"], + required=True, + ), + ), + ( + "wrap_in_card", + wagtail.blocks.BooleanBlock( + default=False, + label="Zabalit do karty", + required=False, + ), + ), + ( + "caption", + wagtail.blocks.CharBlock( + help_text="Vlastní popisek na vizitce. Pokud není uvedeno, použije se výchozí profese osoby.", + label="Popisek", + required=False, + ), + ), + ] + ), + ), + ( + "people_group", + wagtail.blocks.StructBlock( + [ + ( + "group_title", + wagtail.blocks.CharBlock( + label="Titulek", required=True + ), + ), + ( + "person_list", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "position", + wagtail.blocks.CharBlock( + label="Název pozice", + required=False, + ), + ), + ( + "person", + wagtail.blocks.PageChooserBlock( + label="Osoba", + page_type=[ + "district.DistrictPersonPage" + ], + ), + ), + ] + ), + label="List osob", + ), + ), + ] + ), + ), + ( + "newsletter", + wagtail.blocks.StructBlock( + [ + ( + "list_id", + wagtail.blocks.CharBlock( + label="ID newsletteru", required=True + ), + ), + ( + "description", + wagtail.blocks.CharBlock( + default="Fake news tam nenajdeš, ale dozvíš se, co chystáme doopravdy!", + label="Popis newsletteru", + required=True, + ), + ), + ] + ), + ), + ], + blank=True, + verbose_name="Obsah", + ), + ), + ] diff --git a/district/migrations/0188_auto_20240516_1431.py b/district/migrations/0188_auto_20240516_1431.py new file mode 100644 index 0000000000000000000000000000000000000000..e7fdfebe9462d3702b8cd2385864c620454287be --- /dev/null +++ b/district/migrations/0188_auto_20240516_1431.py @@ -0,0 +1,158 @@ +# Generated by Django 5.0.4 on 2024-05-16 12:31 + +import wagtail +from django.db import migrations +from wagtail.blocks import RichTextBlock +from wagtail.models import Page + +from shared.blocks import MainButtonBlock, MainButtonGroupBlock + + +def migrate_custom_page_header_blocks(apps, schema_editor): + DistrictCustomPage = apps.get_model("district", "DistrictCustomPage") + apps.get_model("wagtailimages", "Image") + + for page in DistrictCustomPage.objects.all(): + for block in page.content.get_prep_value(): + if block["type"] != "image_banner": + continue + + for content in block["value"]["content"]: + if content["type"] == "button_group": + buttons = [] + + for button in content["value"]["buttons"]: + buttons.append( + MainButtonBlock().to_python( + { + "button_link": ( + button["value"]["link"] + if button["value"]["link"] + else ( + ( + Page.objects.filter( + id=button["value"]["page"] + ) + .first() + .full_url + ) + if button["value"]["page"] + else None + ) + ), + "button_text": button["value"]["title"], + } + ) + ) + + page.new_content.append( + ( + "button_group", + MainButtonGroupBlock().to_python({"buttons": buttons}), + ) + ) + + if content["type"] == "button": + page.new_content.append( + ( + "button", + MainButtonBlock().to_python( + { + "button_link": ( + content["value"]["link"] + if content["value"]["link"] + else ( + ( + Page.objects.filter( + id=content["value"]["page"] + ) + .first() + .full_url + ) + if content["value"]["page"] + else None + ) + ), + "button_text": content["value"]["title"], + } + ), + ) + ) + + if content["type"] == "text": + page.new_content.append( + ("text", RichTextBlock().to_python(content["value"])) + ) + + page.save() + + +class Migration(migrations.Migration): + dependencies = [ + ("district", "0187_districtcustompage_new_content_and_more"), + ] + + operations = [ + migrations.AlterField( + model_name="districtcustompage", + name="new_content", + field=wagtail.fields.StreamField( + [ + ( + "button_group", + wagtail.blocks.StructBlock( + [ + ( + "buttons", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "button_link", + wagtail.blocks.URLBlock( + label="Odkaz tlačítka" + ), + ), + ( + "button_text", + wagtail.blocks.CharBlock( + label="Text tlačítka" + ), + ), + ], + label="Tlačítko", + ), + label="Tlačítka", + ), + ) + ] + ), + ), + ( + "button", + wagtail.blocks.StructBlock( + [ + ( + "button_link", + wagtail.blocks.URLBlock(label="Odkaz tlačítka"), + ), + ( + "button_text", + wagtail.blocks.CharBlock(label="Text tlačítka"), + ), + ] + ), + ), + ( + "text", + wagtail.blocks.RichTextBlock( + template="styleguide2/includes/atoms/text/prose_richtext.html" + ), + ), + ], + blank=True, + verbose_name="Obsah", + ), + ), + migrations.RunPython(migrate_custom_page_header_blocks), + ] diff --git a/district/migrations/0189_auto_20240516_1526.py b/district/migrations/0189_auto_20240516_1526.py new file mode 100644 index 0000000000000000000000000000000000000000..f6fecd498325b628b230dda19d6ea7ecf1fa728c --- /dev/null +++ b/district/migrations/0189_auto_20240516_1526.py @@ -0,0 +1,11 @@ +# Generated by Django 5.0.4 on 2024-05-16 13:26 + +from django.db import migrations + + +class Migration(migrations.Migration): + dependencies = [ + ("district", "0188_auto_20240516_1431"), + ] + + operations = [] diff --git a/district/models.py b/district/models.py index aa1fc331a45c6b6b73c26dbcb0b21ce018ef9dbb..5a42dd37c50f9af75725f8b460d9f50d8cec8792 100644 --- a/district/models.py +++ b/district/models.py @@ -20,6 +20,7 @@ from wagtail.admin.panels import ( PageChooserPanel, TabbedInterface, ) +from wagtail.blocks import RichTextBlock from wagtail.contrib.routable_page.models import RoutablePageMixin, route from wagtail.fields import RichTextField, StreamField from wagtail.models import Orderable, Page @@ -42,6 +43,8 @@ from shared.blocks import ( FigureBlock, FullSizeHeaderBlock, HeadlineBlock, + MainButtonBlock, + MainButtonGroupBlock, NavbarMenuItemBlock, NewsBlock, NewsletterSubscriptionBlock, @@ -63,6 +66,7 @@ from shared.models import ( MainMenuMixin, MainPeoplePageMixin, MainPersonPageMixin, + MainSimplePageMixin, MenuMixin, PdfPageMixin, SharedTaggedDistrictArticle, @@ -420,7 +424,7 @@ class DistrictArticlesPage(MainArticlesPageMixin): class DistrictContactPage(MainContactPageMixin): ### FIELDS - text = RichTextField("Text", blank=True, features=RICH_TEXT_DEFAULT_FEATURES) + text_backup = RichTextField("Text", blank=True, features=RICH_TEXT_DEFAULT_FEATURES) contact_people = StreamField( [("item", blocks.PersonCustomPositionBlock())], @@ -1161,15 +1165,18 @@ class DistrictCrossroadPage( verbose_name = "Rozcestník s kartami" -class DistrictCustomPage( - ExtendedMetadataPageMixin, - SubpageMixin, - MetadataPageMixin, - RoutablePageMixin, - Page, -): +class DistrictCustomPage(MainSimplePageMixin): ### FIELDS + main_image = models.ForeignKey( + "wagtailimages.Image", + on_delete=models.PROTECT, + blank=True, + null=True, + verbose_name="Obrázek na pozadí hlavičky", + related_name="+", + ) + content = StreamField( CONTENT_BLOCKS + [ @@ -1182,26 +1189,35 @@ class DistrictCustomPage( use_json_field=True, ) + new_content = StreamField( + [ + ("button_group", MainButtonGroupBlock()), + ("button", MainButtonBlock()), + ( + "text", + RichTextBlock( + template="styleguide2/includes/atoms/text/prose_richtext.html" + ), + ), + ], + verbose_name="Obsah", + blank=True, + use_json_field=True, + ) + ### PANELS content_panels = Page.content_panels + [ + FieldPanel("main_image"), FieldPanel("content"), + FieldPanel("new_content"), ] - promote_panels = make_promote_panels() - - settings_panels = [] - ### RELATIONS parent_page_types = ["district.DistrictHomePage", "district.DistrictCrossroadPage"] subpage_types = ["district.DistrictElectionRootPage"] - ### OTHERS - - class Meta: - verbose_name = "Libovolná vlastní stránka" - class DistrictGeoFeatureCollectionPage( ExtendedMetadataPageMixin, SubpageMixin, MetadataPageMixin, Page diff --git a/district/templates/district/district_contact_page.html b/district/templates/district/district_contact_page.html index 268e3bed634ec25ae6d78857681ff41bc9776c3a..878562e5f7e83cd2da5ea50b032a5cd29a5e5dc7 100644 --- a/district/templates/district/district_contact_page.html +++ b/district/templates/district/district_contact_page.html @@ -1 +1,7 @@ {% extends "styleguide2/contact_page.html" %} + +{% block navbar %} + {% include 'styleguide2/includes/organisms/layout/district/navbar.html' with selected_item=page.get_menu_title %} +{% endblock %} + +{% block newsletter %}{% endblock %} diff --git a/district/templates/district/district_custom_page.html b/district/templates/district/district_custom_page.html index 08e3889cf495f451589f901a76e84096b47fb63c..c3316c78e4e4adfc75ac0a8f27ecb186a0302303 100644 --- a/district/templates/district/district_custom_page.html +++ b/district/templates/district/district_custom_page.html @@ -1,49 +1,9 @@ -{% extends "district/base.html" %} -{% load static wagtailcore_tags %} +{% extends "styleguide2/simple_page.html" %} -{% block content %} - <article> - <header> - <h1 itemprop="headline" class="head-alt-md md:head-alt-lg max-w-5xl mb-4"> - {{ page.title }} - </h1> - </header> - - <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8 "> - </div> - - <div class="lg:flex mt-8 lg:space-x-16"> - <div class="lg:w-2/3 space-y-8"> - {% for block in page.content %} - {% include_block block with block_id=block.id %} - {% endfor %} - </div> - - <div class="pt-8 lg:w-1/3 md:pt-0"> - <div class="space-y-8"> - <div class="sharebox md:card md:elevation-10 "> - <div class="md:card__body"> - <span class="head-alt-base md:head-alt-md">Sdílení je aktem lásky</span> - <div class="flex w-full space-x-4 pt-4 md:pt-8 text-center text-white"> - <a - href="https://www.facebook.com/sharer/sharer.php?u={{ page.full_url|urlencode }}" - onclick="window.open(this.href, 'pop-up', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); return false;" - class="bg-brands-facebook px-8 py-3 text-2xl w-full" - ><i class="ico--facebook"></i></a> - <a - href="https://twitter.com/intent/tweet?text={{ page.title|urlencode }}&url={{ page.full_url|urlencode }}" - onclick="window.open(this.href, 'pop-up', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); return false;" - class="bg-brands-twitter px-8 py-3 text-2xl w-full" - ><i class="ico--twitter"></i></a> - </div> - </div> - <div class="h-52 overflow-hidden hidden md:block"> - <img src="{% static "shared/img/flag.png" %}" alt="Pirátská strana" class="w-80 object-cover m-auto"/> - </div> - </div> - </div> - </div> +{% block navbar %} + {% include 'styleguide2/includes/organisms/layout/district/navbar.html' with selected_item=page.get_menu_title %} +{% endblock %} - </div> - </article> +{% block header %} + {% include 'styleguide2/includes/organisms/header/photo_header.html' with title=page.title main_image=page.main_image %} {% endblock %} diff --git a/district/templates/district/district_person_page.html b/district/templates/district/district_person_page.html index 1a71393b9638f7cb35d39c3cf8947981820c8c7d..a23d38a7bb56470ad5c0c67e50f31ed4b0cd29b1 100644 --- a/district/templates/district/district_person_page.html +++ b/district/templates/district/district_person_page.html @@ -5,7 +5,7 @@ {% endblock %} {% block header %} - {% include 'styleguide2/includes/organisms/header/district/photo_header.html' with first_nav_text=page.root_page.people_page.title first_nav_link=page.root_page.people_page.url second_nav_text=page.primary_group degree_before=page.before_name name=page.title degree_after=page.after_name function=page.position main_image=page.main_image is_pirate=page.is_pirate other_party_image_source=page.other_party_logo other_party_name=page.other_party %} + {% include 'styleguide2/includes/organisms/header/district/person_header.html' with first_nav_text=page.root_page.people_page.title first_nav_link=page.root_page.people_page.url second_nav_text=page.primary_group degree_before=page.before_name name=page.title degree_after=page.after_name function=page.position main_image=page.main_image is_pirate=page.is_pirate other_party_image_source=page.other_party_logo other_party_name=page.other_party %} {% endblock %} {% block newsletter %}{% endblock %} diff --git a/main/migrations/0084_alter_mainpersonpage_position.py b/main/migrations/0084_alter_mainpersonpage_position.py index fe991d365c94ffd418d2618cbceaf622c4a9a990..6ce30eadf236a462a6400230a80d3b994bf2ca5e 100644 --- a/main/migrations/0084_alter_mainpersonpage_position.py +++ b/main/migrations/0084_alter_mainpersonpage_position.py @@ -4,15 +4,20 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ - ('main', '0083_alter_mainhomepage_footer_other_links'), + ("main", "0083_alter_mainhomepage_footer_other_links"), ] operations = [ migrations.AlterField( - model_name='mainpersonpage', - name='position', - field=models.CharField(blank=True, help_text="Např. 'Předseda'", max_length=200, null=True, verbose_name='Funkce'), + model_name="mainpersonpage", + name="position", + field=models.CharField( + blank=True, + help_text="Např. 'Předseda'", + max_length=200, + null=True, + verbose_name="Funkce", + ), ), ] diff --git a/main/migrations/0085_alter_mainpersonpage_primary_group.py b/main/migrations/0085_alter_mainpersonpage_primary_group.py index 75ba48f552862cd6e2ba639dc265e6ee45e49141..29a65a5bfe1d43e0610b87b12c28458688466790 100644 --- a/main/migrations/0085_alter_mainpersonpage_primary_group.py +++ b/main/migrations/0085_alter_mainpersonpage_primary_group.py @@ -4,15 +4,20 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ - ('main', '0084_alter_mainpersonpage_position'), + ("main", "0084_alter_mainpersonpage_position"), ] operations = [ migrations.AlterField( - model_name='mainpersonpage', - name='primary_group', - field=models.CharField(blank=True, help_text="např. 'Europarlament' nebo 'Sněmovna'", max_length=64, null=True, verbose_name='Kategorie'), + model_name="mainpersonpage", + name="primary_group", + field=models.CharField( + blank=True, + help_text="např. 'Europarlament' nebo 'Sněmovna'", + max_length=64, + null=True, + verbose_name="Kategorie", + ), ), ] diff --git a/shared/blocks/main.py b/shared/blocks/main.py index f67ff1747701ba739fc62ec4a0b7db0a28834fca..6572055a95157f5507515974a15487cac5b611d0 100644 --- a/shared/blocks/main.py +++ b/shared/blocks/main.py @@ -42,7 +42,14 @@ class CTAMixin(StructBlock): class Meta: icon = "doc-empty" - label = "Výzva s odkazem" + label = "Tlačítko s odkazem" + + +class MainButtonBlock(CTAMixin): + class Meta: + icon = "doc-empty" + label = "Tlačítko s odkazem" + template = "styleguide2/includes/atoms/buttons/round_button_block.html" class LinkBlock(StructBlock): @@ -255,3 +262,15 @@ class PeopleOverviewBlock(StructBlock): ) icon = "group" label = "Skupina osob" + + +# Buttons + + +class MainButtonGroupBlock(StructBlock): + buttons = ListBlock(MainButtonBlock(label="Tlačítko"), label="Tlačítka") + + class Meta: + template = "styleguide2/includes/atoms/buttons/group.html" + icon = "group" + label = "Skupina tlačítek" diff --git a/shared/templates/shared/article_preview.html b/shared/templates/shared/article_preview.html index 28fbb8474065d96ad3983d8ce3a44fbb7dad0f4a..af74f84db3dc6bb67ee309923617d9b68cd9f6a7 100644 --- a/shared/templates/shared/article_preview.html +++ b/shared/templates/shared/article_preview.html @@ -1,5 +1,4 @@ {% load wagtailcore_tags wagtailimages_tags wagtailroutablepage_tags %} -{% routablepageurl page.root_page.articles_page "tags" as articles_tag_page_url %} <article itemtype="http://schema.org/BlogPosting" @@ -75,7 +74,7 @@ <div class="inline-block-nogap mt-4"> {% for tag in article.get_tags %} <a - href="{{ articles_tag_page_url }}?tag={{ tag.slug }}" + href="{{ page.root_page.articles_page.url }}?tag={{ tag.slug }}" class="btn article-card__category-button btn--condensed text-sm font-light btn--grey-{% if article.is_black %}700{% else %}125{% endif %} btn--hoveractive" > <div class="btn__body">{{ tag }}</div> diff --git a/shared/templates/styleguide2/article_page.html b/shared/templates/styleguide2/article_page.html index d00e3232aefd39478dfb7c39e4a0b9d5bd4e187f..cb348155cca7cdc9cf331dbb6c94a1368dc59a49 100644 --- a/shared/templates/styleguide2/article_page.html +++ b/shared/templates/styleguide2/article_page.html @@ -3,7 +3,10 @@ {% block content %} -{% include 'styleguide2/includes/organisms/layout/navbar.html' with selected_item=page.root_page.articles_page.get_menu_title %} +{% block navbar %} + {% include 'styleguide2/includes/organisms/layout/navbar.html' with selected_item=page.root_page.articles_page.get_menu_title %} +{% endblock %} + {% include 'styleguide2/includes/organisms/header/article_header.html' with title=page.title description=page.perex tags=page.tags.all first_nav_text=page.root_page.articles_page.title first_nav_link=page.root_page.articles_page.url second_nav_text=page.date %} <main role="main" class="mb-10 xl:mb-32"> diff --git a/shared/templates/styleguide2/contact_page.html b/shared/templates/styleguide2/contact_page.html index 5f530b6ce1dd2fdcfb66f709df313277ed9325b0..30dbdfa8c770b02c1d201f45648fe28f61aa9e35 100644 --- a/shared/templates/styleguide2/contact_page.html +++ b/shared/templates/styleguide2/contact_page.html @@ -2,7 +2,10 @@ {% load wagtailcore_tags wagtailimages_tags shared_filters %} {% block content %} - {% include 'styleguide2/includes/organisms/layout/navbar.html' with selected_item=page.get_menu_title %} + {% block navbar %} + {% include 'styleguide2/includes/organisms/layout/navbar.html' with selected_item=page.get_menu_title %} + {% endblock %} + {% include 'styleguide2/includes/organisms/header/simple_header.html' with title=page.title %} <main role="main"> @@ -78,5 +81,7 @@ </section> </main> - {% include 'styleguide2/includes/organisms/main_section/newsletter_section.html' %} + {% block newsletter %} + {% include 'styleguide2/includes/organisms/main_section/newsletter_section.html' %} + {% endblock %} {% endblock %} diff --git a/shared/templates/styleguide2/includes/atoms/buttons/group.html b/shared/templates/styleguide2/includes/atoms/buttons/group.html new file mode 100644 index 0000000000000000000000000000000000000000..ab455bcd95f20b051766bea0295cc41dcf306ab3 --- /dev/null +++ b/shared/templates/styleguide2/includes/atoms/buttons/group.html @@ -0,0 +1,7 @@ +{% load wagtailcore_tags %} + +<div class="flex gap-4 py-8"> + {% for button_block in self.buttons %} + {% include_block button_block %} + {% endfor %} +</div> diff --git a/shared/templates/styleguide2/includes/atoms/buttons/round_button.html b/shared/templates/styleguide2/includes/atoms/buttons/round_button.html index 3568303e354a9e95661df80d71794e869405e5a9..ffffbf1381004e4e27b27d0a9abc02fd58c15a7b 100644 --- a/shared/templates/styleguide2/includes/atoms/buttons/round_button.html +++ b/shared/templates/styleguide2/includes/atoms/buttons/round_button.html @@ -1,5 +1,5 @@ <{% block element_opener %}a{% endblock %} - {% block href %}href="{% if url %}{{ url }}{% else %}{% endif %}"{% endblock %} + {% block href %}href="{% if url %}{{ url }}{% else %}#{% endif %}"{% endblock %} class=" flex items-center group rounded-full font-condensed uppercase font-semibold tracking-normal hover:no-underline diff --git a/shared/templates/styleguide2/includes/atoms/buttons/round_button_block.html b/shared/templates/styleguide2/includes/atoms/buttons/round_button_block.html new file mode 100644 index 0000000000000000000000000000000000000000..7cb9115d8595e52f3567ab442b4f264aa699b006 --- /dev/null +++ b/shared/templates/styleguide2/includes/atoms/buttons/round_button_block.html @@ -0,0 +1,3 @@ +<div class="inline-block"> + {% include "styleguide2/includes/atoms/buttons/round_button.html" with url=self.button_link button_text=self.button_text %} +</div> diff --git a/shared/templates/styleguide2/includes/organisms/header/district/photo_header.html b/shared/templates/styleguide2/includes/organisms/header/district/person_header.html similarity index 91% rename from shared/templates/styleguide2/includes/organisms/header/district/photo_header.html rename to shared/templates/styleguide2/includes/organisms/header/district/person_header.html index adddaa2702c1ae0d28127fd1e53d95850432a673..47802e81adfbd26e4c68b1103f781a752062f8d7 100644 --- a/shared/templates/styleguide2/includes/organisms/header/district/photo_header.html +++ b/shared/templates/styleguide2/includes/organisms/header/district/person_header.html @@ -1,4 +1,4 @@ -{% extends 'styleguide2/includes/organisms/header/photo_header.html' %} +{% extends 'styleguide2/includes/organisms/header/person_header.html' %} {% load static wagtailimages_tags %} diff --git a/shared/templates/styleguide2/includes/organisms/header/person_header.html b/shared/templates/styleguide2/includes/organisms/header/person_header.html new file mode 100644 index 0000000000000000000000000000000000000000..24114aed5017fa2c6cbbc243a1cba24f6ceff673 --- /dev/null +++ b/shared/templates/styleguide2/includes/organisms/header/person_header.html @@ -0,0 +1,62 @@ +{% load wagtailimages_tags %} + +{% image main_image original as background_image %} + +<header + class=" + flex items-center mb-4 w-full pt-96 pb-16 + bg-no-repeat bg-cover bg-center bg-blend-darken bg-[top_right_-7rem] + + {% if background_image %} + bg-[#00000088] + {% else %} + bg-black + {% endif %} + + xl:mb-20 xl:bg-center xl:py-52 + " + + {% if background_image %} + style="background-image:url('{{ background_image.url }}')" + {% endif %} +> + <div class="container--wide w-full"> + <h1 class="text-white flex flex-col"> + {% firstof second_nav_text 'Osoby' as actual_second_nav_text %} + + {% include 'styleguide2/includes/atoms/header/navigation.html' with classes='mb-10' first_text=first_nav_text second_text=actual_second_nav_text first_link=first_nav_link %} + + {% if degree_before %} + <span + class=" + text-xl font-alt + sm:text-4xl + " + > + {{ degree_before }} + </span> + {% endif %} + + <div class="flex items-baseline flex-col xl:flex-row font-alt"> + <span class="font-alt text-6xl xl:text-9xl grow xl:grow-0">{{ name }}</span> + + {% if degree_after %} + <span class="text-2xl xl:text-4xl"> + <span class="hidden xl:inline">, </span>{{ degree_after }} + </span> + {% endif %} + </div> + + {% if function %} + <span + class=" + text-lg font-bold mt-8 + xl:mt-[-0.7rem] + " + >{{ function }}</span> + {% endif %} + + {% block after_function %}{% endblock %} + </h1> + </div> +</header> diff --git a/shared/templates/styleguide2/includes/organisms/header/photo_header.html b/shared/templates/styleguide2/includes/organisms/header/photo_header.html index 24114aed5017fa2c6cbbc243a1cba24f6ceff673..ff73a59dc0b41b63c553f1ad23f4e6daafc27d88 100644 --- a/shared/templates/styleguide2/includes/organisms/header/photo_header.html +++ b/shared/templates/styleguide2/includes/organisms/header/photo_header.html @@ -4,7 +4,7 @@ <header class=" - flex items-center mb-4 w-full pt-96 pb-16 + flex items-center mb-4 w-full pt-28 pb-8 bg-no-repeat bg-cover bg-center bg-blend-darken bg-[top_right_-7rem] {% if background_image %} @@ -13,50 +13,62 @@ bg-black {% endif %} - xl:mb-20 xl:bg-center xl:py-52 + xl:bg-center xl:pt-48 xl:pb-24 " {% if background_image %} style="background-image:url('{{ background_image.url }}')" {% endif %} > - <div class="container--wide w-full"> - <h1 class="text-white flex flex-col"> - {% firstof second_nav_text 'Osoby' as actual_second_nav_text %} - - {% include 'styleguide2/includes/atoms/header/navigation.html' with classes='mb-10' first_text=first_nav_text second_text=actual_second_nav_text first_link=first_nav_link %} - - {% if degree_before %} - <span - class=" - text-xl font-alt - sm:text-4xl - " - > - {{ degree_before }} - </span> - {% endif %} - - <div class="flex items-baseline flex-col xl:flex-row font-alt"> - <span class="font-alt text-6xl xl:text-9xl grow xl:grow-0">{{ name }}</span> - - {% if degree_after %} - <span class="text-2xl xl:text-4xl"> - <span class="hidden xl:inline">, </span>{{ degree_after }} - </span> - {% endif %} - </div> - - {% if function %} - <span - class=" - text-lg font-bold mt-8 - xl:mt-[-0.7rem] - " - >{{ function }}</span> - {% endif %} - - {% block after_function %}{% endblock %} - </h1> + <div class="flex justify-start w-full"> + <div class="container--wide w-full"> + {% block content %} + <div class="text-white flex flex-col"> + {% block before_heading %}{% endblock %} + + {% block heading %} + <h1 + class=" + {% block heading_classes %} + mb-1 + + {% if is_short %}head-short{% endif %} + + {% if description %} + {% if title|length <= 100 %}head-8xl{% else %}head-7xl{% endif %} + {% else %} + head-14xl + {% endif %} + {% endblock %} + " + > + {{ title }} + </h1> + {% endblock %} + + {% block after_heading %}{% endblock %} + + {% block description %} + {% if description %} + <p + class=" + font-semibold text-lg leading-7 pr-4 + + xl:pr-0 + + lg:max-w-screen-lg + + {% block description_classes %}{% endblock %} + " + > + {{ description }} + </p> + {% endif %} + {% endblock %} + + {% block after_description %}{% endblock %} + </div> + {% endblock %} + </div> </div> </header> diff --git a/shared/templates/styleguide2/person_page.html b/shared/templates/styleguide2/person_page.html index 2f2b545ec10effdef5be18473ca92f176789504e..b51779f2f8973bcb5509157631d505c1ba7d2099 100644 --- a/shared/templates/styleguide2/person_page.html +++ b/shared/templates/styleguide2/person_page.html @@ -8,7 +8,7 @@ {% endblock %} {% block header %} - {% include 'styleguide2/includes/organisms/header/photo_header.html' with first_nav_text=page.root_page.people_page.title first_nav_link=page.root_page.people_page.url second_nav_text=page.primary_group degree_before=page.before_name name=page.title degree_after=page.after_name function=page.position main_image=page.main_image %} + {% include 'styleguide2/includes/organisms/header/person_header.html' with first_nav_text=page.root_page.people_page.title first_nav_link=page.root_page.people_page.url second_nav_text=page.primary_group degree_before=page.before_name name=page.title degree_after=page.after_name function=page.position main_image=page.main_image %} {% endblock %} <main role="main"> diff --git a/shared/templates/styleguide2/simple_page.html b/shared/templates/styleguide2/simple_page.html index c1647c4c3905d10ab1479bce33962e2c31365162..21ee68c5c8a441a8372fa8f32e45b73896614e0e 100644 --- a/shared/templates/styleguide2/simple_page.html +++ b/shared/templates/styleguide2/simple_page.html @@ -2,12 +2,21 @@ {% load wagtailcore_tags %} {% block content %} - {% include 'styleguide2/includes/organisms/layout/navbar.html' with selected_item=page.get_menu_title %} - {% include 'styleguide2/includes/organisms/header/simple_header.html' with title=page.title %} + {% block navbar %} + {% include 'styleguide2/includes/organisms/layout/navbar.html' with selected_item=page.get_menu_title %} + {% endblock %} + + {% block header %} + {% include 'styleguide2/includes/organisms/header/simple_header.html' with title=page.title %} + {% endblock %} <main class="container--wide mb-2 lg:mb-12"> {% for block in page.content %} {% include_block block %} {% endfor %} + + {% for block in page.new_content %} + {% include_block block %} + {% endfor %} </main> {% endblock %}