diff --git a/collection/migrations/0009_accordion_blocks.py b/collection/migrations/0009_accordion_blocks.py new file mode 100644 index 000000000..4bb01e346 --- /dev/null +++ b/collection/migrations/0009_accordion_blocks.py @@ -0,0 +1,24 @@ +# Generated by Django 3.2.18 on 2024-04-05 14:18 + +import wagtail.blocks +import wagtail.contrib.table_block.blocks +import wagtail.documents.blocks +import wagtail.embeds.blocks +import wagtail.fields +import wagtail.images.blocks +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('collection', '0008_specify_heading_levels'), + ] + + operations = [ + migrations.AlterField( + model_name='collection', + name='body', + field=wagtail.fields.StreamField([('introduction', wagtail.blocks.RichTextBlock(icon='openquote')), ('heading', wagtail.blocks.CharBlock(form_classname='full title', icon='title', label='Heading (Heading 2)', template='blocks/heading.html')), ('paragraph', wagtail.blocks.RichTextBlock()), ('inline_image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=True)), ('align', wagtail.blocks.ChoiceBlock(choices=[('center', 'Centered'), ('left', 'Left'), ('right', 'Right')])), ('width', wagtail.blocks.ChoiceBlock(choices=[('initial', 'Auto'), ('width-133', 'Medium'), ('width-166', 'Large'), ('width-200', 'X-Large'), ('width-full', 'Full-width')])), ('use_original', wagtail.blocks.BooleanBlock(help_text='check if you do not want image compressed. Should be checked for all figures.', required=False)), ('figure_number', wagtail.blocks.CharBlock(max_length=3, required=False)), ('figure_title', wagtail.blocks.CharBlock(max_length=100, required=False)), ('open_image_on_click', wagtail.blocks.BooleanBlock(default=False, required=False)), ('alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Alternative text'))], icon='image')), ('video', wagtail.embeds.blocks.EmbedBlock(icon='media')), ('table', wagtail.contrib.table_block.blocks.TableBlock(template='blocks/table.html')), ('button', wagtail.blocks.StructBlock([('button_text', wagtail.blocks.CharBlock(max_length=50, required=True)), ('button_link', wagtail.blocks.URLBlock(default='https://www.', required=True)), ('alignment', wagtail.blocks.ChoiceBlock(choices=[('left-aligned', 'Left'), ('center-aligned', 'Center')]))])), ('iframe', wagtail.blocks.StructBlock([('source_url', wagtail.blocks.URLBlock(required=True)), ('column_width', wagtail.blocks.ChoiceBlock(choices=[('column-width', 'Column Width (max 650px)'), ('width-1200', 'Site Width (max 1200px)'), ('full-width', 'Full Width (max 100%)')], help_text='The maximum width of the iframe. Always use "Column Width" for non-report content types (e.g. blog posts, About pages). Never use "Full-Width" unless specifically instructed to by your designer.', required=False)), ('fixed_height', wagtail.blocks.BooleanBlock(help_text='Leave unchecked if you want width-to-height ratio to be preserved on smaller screens. Check to ignore the width value and instead use the full width of the column, with a fixed height.', required=False)), ('width', wagtail.blocks.IntegerBlock(help_text='The iframe will look best if the width is at least as large as the column width. Note that the maximum, in 2018 and earlier, used to be 1050.', required=True)), ('height', wagtail.blocks.IntegerBlock(required=True)), ('fallback_image', wagtail.images.blocks.ImageChooserBlock(help_text='The fallback image will be rendered for the PDF', icon='image', required=False)), ('fallback_image_align', wagtail.blocks.ChoiceBlock(choices=[('center', 'Centered'), ('left', 'Left'), ('right', 'Right')])), ('fallback_image_width', wagtail.blocks.ChoiceBlock(choices=[('initial', 'Auto'), ('width-133', 'Medium'), ('width-166', 'Large'), ('width-200', 'X-Large')])), ('fallback_image_use_original', wagtail.blocks.BooleanBlock(help_text='check if you do not want image compressed. Should be checked for all figures.', required=False)), ('fallback_image_alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Fallback image alternative text'))], icon='link')), ('datawrapper', wagtail.blocks.StructBlock([('chart_id', wagtail.blocks.CharBlock(help_text='The 5 character ID for the chart, e.g. "kT4Qi"', required=True)), ('embed_code', wagtail.blocks.TextBlock(help_text='The "Responsive Embed" code provided by Datawrapper', required=True)), ('width', wagtail.blocks.ChoiceBlock(choices=[('column-width', 'Column Width (max 650px)'), ('width-1200', 'Site Width (max 1200px)'), ('full-width', 'Full Width (max 100%)')], help_text='The maximum width of the chart. Always use "Column Width" for non-report content types (e.g. blog posts, About pages). Never use "Full-Width" unless specifically instructed to by your designer.', required=False)), ('fallback_image', wagtail.images.blocks.ImageChooserBlock(help_text='The fallback image will be rendered for the PDF', icon='image', required=False)), ('fallback_image_align', wagtail.blocks.ChoiceBlock(choices=[('center', 'Centered'), ('left', 'Left'), ('right', 'Right')])), ('fallback_image_width', wagtail.blocks.ChoiceBlock(choices=[('initial', 'Auto'), ('width-133', 'Medium'), ('width-166', 'Large'), ('width-200', 'X-Large')])), ('fallback_image_alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Fallback image alternative text'))], icon='code')), ('dataviz', wagtail.blocks.StructBlock([('container_id', wagtail.blocks.CharBlock(required=True)), ('width', wagtail.blocks.ChoiceBlock(choices=[('column-width', 'Column Width (max 650px)'), ('width-1200', 'Site Width (max 1200px)'), ('full-width', 'Full Width (max 100%)')], required=False)), ('title', wagtail.blocks.CharBlock(required=False)), ('subheading', wagtail.blocks.RichTextBlock(required=False)), ('max_width', wagtail.blocks.IntegerBlock(help_text='for legacy dataviz projects', required=False)), ('show_chart_buttons', wagtail.blocks.BooleanBlock(default=False, required=False))], icon='code')), ('timeline', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('subheading', wagtail.blocks.CharBlock(required=False)), ('default_view', wagtail.blocks.ChoiceBlock(choices=[('timeline', 'Timeline'), ('list', 'List')], help_text='Should the default view be a timeline or a list?', required=False)), ('major_timeline_splits', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('start_date', wagtail.blocks.DateBlock(required=True)), ('end_date', wagtail.blocks.DateBlock(required=False)), ('date_display_type', wagtail.blocks.ChoiceBlock(choices=[('year', 'Year'), ('month', 'Month'), ('day', 'Day')], help_text='Controls how specific the date is displayed'))]), default='', required=False)), ('event_eras', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('start_date', wagtail.blocks.DateBlock(required=True)), ('end_date', wagtail.blocks.DateBlock(required=False)), ('date_display_type', wagtail.blocks.ChoiceBlock(choices=[('year', 'Year'), ('month', 'Month'), ('day', 'Day')], help_text='Controls how specific the date is displayed'))]), default='', required=False)), ('event_categories', wagtail.blocks.ListBlock(wagtail.blocks.CharBlock(), default='', required=False)), ('event_list', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('italicize_title', wagtail.blocks.BooleanBlock(default=False, required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('category', wagtail.blocks.CharBlock(required=False)), ('start_date', wagtail.blocks.DateBlock(required=True)), ('end_date', wagtail.blocks.DateBlock(required=False)), ('date_display_type', wagtail.blocks.ChoiceBlock(choices=[('year', 'Year'), ('month', 'Month'), ('day', 'Day')], help_text='Controls how specific the date is displayed'))])))], icon='order')), ('google_map', wagtail.blocks.StructBlock([('use_page_address', wagtail.blocks.BooleanBlock(default=False, help_text='If selected, map will use the address already defined for this page, if applicable. For most posts besides events, this should be left unchecked and the form below should be completed.', required=False)), ('street', wagtail.blocks.TextBlock(required=False)), ('city', wagtail.blocks.TextBlock(default='Washington', required=False)), ('state', wagtail.blocks.TextBlock(default='D.C.', required=False)), ('zipcode', wagtail.blocks.TextBlock(default='200', required=False))], icon='site')), ('resource_kit', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('description', wagtail.blocks.TextBlock(required=False)), ('resources', wagtail.blocks.StreamBlock([('post', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=False)), ('image_alt_text', wagtail.blocks.CharBlock(required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('resource', wagtail.blocks.PageChooserBlock(required=True))], icon='redirect', label='Post')), ('external_resource', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=False)), ('image_alt_text', wagtail.blocks.CharBlock(required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('resource', wagtail.blocks.URLBlock(required=True))], icon='site', label='External resource')), ('attachment', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=False)), ('image_alt_text', wagtail.blocks.CharBlock(required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('resource', wagtail.documents.blocks.DocumentChooserBlock(required=True))], icon='doc-full', label='Attachment'))]))], icon='folder')), ('accordion', wagtail.blocks.StreamBlock([('item', wagtail.blocks.StructBlock([('title', wagtail.blocks.TextBlock()), ('body', wagtail.blocks.RichTextBlock())]))], icon='tasks')), ('people', wagtail.blocks.StreamBlock([('title', wagtail.blocks.CharBlock(required=True)), ('description', wagtail.blocks.TextBlock(required=False)), ('person', wagtail.blocks.StructBlock([('name', wagtail.blocks.TextBlock(required=True)), ('title', wagtail.blocks.TextBlock(help_text='125 character limit', max_length=125, required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=False)), ('image_alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Image alternative text')), ('twitter', wagtail.blocks.URLBlock(required=False))]))], help_text='Grid of people with short bios that appear on click', icon='group')), ('panels', wagtail.blocks.StreamBlock([('panel', wagtail.blocks.StructBlock([('title', wagtail.blocks.TextBlock()), ('body', wagtail.blocks.StreamBlock([('introduction', wagtail.blocks.RichTextBlock(icon='openquote')), ('heading', wagtail.blocks.CharBlock(form_classname='full title', icon='title', label='Heading (Heading 2)', template='blocks/heading.html')), ('paragraph', wagtail.blocks.RichTextBlock()), ('inline_image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=True)), ('align', wagtail.blocks.ChoiceBlock(choices=[('center', 'Centered'), ('left', 'Left'), ('right', 'Right')])), ('width', wagtail.blocks.ChoiceBlock(choices=[('initial', 'Auto'), ('width-133', 'Medium'), ('width-166', 'Large'), ('width-200', 'X-Large'), ('width-full', 'Full-width')])), ('use_original', wagtail.blocks.BooleanBlock(help_text='check if you do not want image compressed. Should be checked for all figures.', required=False)), ('figure_number', wagtail.blocks.CharBlock(max_length=3, required=False)), ('figure_title', wagtail.blocks.CharBlock(max_length=100, required=False)), ('open_image_on_click', wagtail.blocks.BooleanBlock(default=False, required=False)), ('alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Alternative text'))], icon='image')), ('video', wagtail.embeds.blocks.EmbedBlock(icon='media')), ('table', wagtail.contrib.table_block.blocks.TableBlock(template='blocks/table.html')), ('button', wagtail.blocks.StructBlock([('button_text', wagtail.blocks.CharBlock(max_length=50, required=True)), ('button_link', wagtail.blocks.URLBlock(default='https://www.', required=True)), ('alignment', wagtail.blocks.ChoiceBlock(choices=[('left-aligned', 'Left'), ('center-aligned', 'Center')]))])), ('iframe', wagtail.blocks.StructBlock([('source_url', wagtail.blocks.URLBlock(required=True)), ('column_width', wagtail.blocks.ChoiceBlock(choices=[('column-width', 'Column Width (max 650px)'), ('width-1200', 'Site Width (max 1200px)'), ('full-width', 'Full Width (max 100%)')], help_text='The maximum width of the iframe. Always use "Column Width" for non-report content types (e.g. blog posts, About pages). Never use "Full-Width" unless specifically instructed to by your designer.', required=False)), ('fixed_height', wagtail.blocks.BooleanBlock(help_text='Leave unchecked if you want width-to-height ratio to be preserved on smaller screens. Check to ignore the width value and instead use the full width of the column, with a fixed height.', required=False)), ('width', wagtail.blocks.IntegerBlock(help_text='The iframe will look best if the width is at least as large as the column width. Note that the maximum, in 2018 and earlier, used to be 1050.', required=True)), ('height', wagtail.blocks.IntegerBlock(required=True)), ('fallback_image', wagtail.images.blocks.ImageChooserBlock(help_text='The fallback image will be rendered for the PDF', icon='image', required=False)), ('fallback_image_align', wagtail.blocks.ChoiceBlock(choices=[('center', 'Centered'), ('left', 'Left'), ('right', 'Right')])), ('fallback_image_width', wagtail.blocks.ChoiceBlock(choices=[('initial', 'Auto'), ('width-133', 'Medium'), ('width-166', 'Large'), ('width-200', 'X-Large')])), ('fallback_image_use_original', wagtail.blocks.BooleanBlock(help_text='check if you do not want image compressed. Should be checked for all figures.', required=False)), ('fallback_image_alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Fallback image alternative text'))], icon='link')), ('datawrapper', wagtail.blocks.StructBlock([('chart_id', wagtail.blocks.CharBlock(help_text='The 5 character ID for the chart, e.g. "kT4Qi"', required=True)), ('embed_code', wagtail.blocks.TextBlock(help_text='The "Responsive Embed" code provided by Datawrapper', required=True)), ('width', wagtail.blocks.ChoiceBlock(choices=[('column-width', 'Column Width (max 650px)'), ('width-1200', 'Site Width (max 1200px)'), ('full-width', 'Full Width (max 100%)')], help_text='The maximum width of the chart. Always use "Column Width" for non-report content types (e.g. blog posts, About pages). Never use "Full-Width" unless specifically instructed to by your designer.', required=False)), ('fallback_image', wagtail.images.blocks.ImageChooserBlock(help_text='The fallback image will be rendered for the PDF', icon='image', required=False)), ('fallback_image_align', wagtail.blocks.ChoiceBlock(choices=[('center', 'Centered'), ('left', 'Left'), ('right', 'Right')])), ('fallback_image_width', wagtail.blocks.ChoiceBlock(choices=[('initial', 'Auto'), ('width-133', 'Medium'), ('width-166', 'Large'), ('width-200', 'X-Large')])), ('fallback_image_alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Fallback image alternative text'))], icon='code')), ('dataviz', wagtail.blocks.StructBlock([('container_id', wagtail.blocks.CharBlock(required=True)), ('width', wagtail.blocks.ChoiceBlock(choices=[('column-width', 'Column Width (max 650px)'), ('width-1200', 'Site Width (max 1200px)'), ('full-width', 'Full Width (max 100%)')], required=False)), ('title', wagtail.blocks.CharBlock(required=False)), ('subheading', wagtail.blocks.RichTextBlock(required=False)), ('max_width', wagtail.blocks.IntegerBlock(help_text='for legacy dataviz projects', required=False)), ('show_chart_buttons', wagtail.blocks.BooleanBlock(default=False, required=False))], icon='code')), ('timeline', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('subheading', wagtail.blocks.CharBlock(required=False)), ('default_view', wagtail.blocks.ChoiceBlock(choices=[('timeline', 'Timeline'), ('list', 'List')], help_text='Should the default view be a timeline or a list?', required=False)), ('major_timeline_splits', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('start_date', wagtail.blocks.DateBlock(required=True)), ('end_date', wagtail.blocks.DateBlock(required=False)), ('date_display_type', wagtail.blocks.ChoiceBlock(choices=[('year', 'Year'), ('month', 'Month'), ('day', 'Day')], help_text='Controls how specific the date is displayed'))]), default='', required=False)), ('event_eras', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('start_date', wagtail.blocks.DateBlock(required=True)), ('end_date', wagtail.blocks.DateBlock(required=False)), ('date_display_type', wagtail.blocks.ChoiceBlock(choices=[('year', 'Year'), ('month', 'Month'), ('day', 'Day')], help_text='Controls how specific the date is displayed'))]), default='', required=False)), ('event_categories', wagtail.blocks.ListBlock(wagtail.blocks.CharBlock(), default='', required=False)), ('event_list', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('italicize_title', wagtail.blocks.BooleanBlock(default=False, required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('category', wagtail.blocks.CharBlock(required=False)), ('start_date', wagtail.blocks.DateBlock(required=True)), ('end_date', wagtail.blocks.DateBlock(required=False)), ('date_display_type', wagtail.blocks.ChoiceBlock(choices=[('year', 'Year'), ('month', 'Month'), ('day', 'Day')], help_text='Controls how specific the date is displayed'))])))], icon='order')), ('google_map', wagtail.blocks.StructBlock([('use_page_address', wagtail.blocks.BooleanBlock(default=False, help_text='If selected, map will use the address already defined for this page, if applicable. For most posts besides events, this should be left unchecked and the form below should be completed.', required=False)), ('street', wagtail.blocks.TextBlock(required=False)), ('city', wagtail.blocks.TextBlock(default='Washington', required=False)), ('state', wagtail.blocks.TextBlock(default='D.C.', required=False)), ('zipcode', wagtail.blocks.TextBlock(default='200', required=False))], icon='site')), ('resource_kit', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('description', wagtail.blocks.TextBlock(required=False)), ('resources', wagtail.blocks.StreamBlock([('post', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=False)), ('image_alt_text', wagtail.blocks.CharBlock(required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('resource', wagtail.blocks.PageChooserBlock(required=True))], icon='redirect', label='Post')), ('external_resource', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=False)), ('image_alt_text', wagtail.blocks.CharBlock(required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('resource', wagtail.blocks.URLBlock(required=True))], icon='site', label='External resource')), ('attachment', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=False)), ('image_alt_text', wagtail.blocks.CharBlock(required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('resource', wagtail.documents.blocks.DocumentChooserBlock(required=True))], icon='doc-full', label='Attachment'))]))], icon='folder')), ('accordion', wagtail.blocks.StreamBlock([('item', wagtail.blocks.StructBlock([('title', wagtail.blocks.TextBlock()), ('body', wagtail.blocks.RichTextBlock())]))], icon='tasks'))]))], icon='doc-empty-inverse'))], icon='list-ul')), ('image', wagtail.images.blocks.ImageChooserBlock(help_text='Legacy option. Consider using Inline Image instead.', icon='placeholder', template='blocks/image_block.html'))], blank=True, null=True, use_json_field=True), + ), + ] diff --git a/home/migrations/0065_accordion_blocks.py b/home/migrations/0065_accordion_blocks.py new file mode 100644 index 000000000..40e9364ad --- /dev/null +++ b/home/migrations/0065_accordion_blocks.py @@ -0,0 +1,34 @@ +# Generated by Django 3.2.18 on 2024-04-05 14:18 + +import wagtail.blocks +import wagtail.contrib.table_block.blocks +import wagtail.documents.blocks +import wagtail.embeds.blocks +import wagtail.fields +import wagtail.images.blocks +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('home', '0064_specify_heading_levels_in_labels'), + ] + + operations = [ + migrations.AlterField( + model_name='orgsimplepage', + name='body', + field=wagtail.fields.StreamField([('introduction', wagtail.blocks.RichTextBlock(icon='openquote')), ('heading', wagtail.blocks.CharBlock(form_classname='full title', icon='title', label='Heading (Heading 2)', template='blocks/heading.html')), ('paragraph', wagtail.blocks.RichTextBlock()), ('inline_image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=True)), ('align', wagtail.blocks.ChoiceBlock(choices=[('center', 'Centered'), ('left', 'Left'), ('right', 'Right')])), ('width', wagtail.blocks.ChoiceBlock(choices=[('initial', 'Auto'), ('width-133', 'Medium'), ('width-166', 'Large'), ('width-200', 'X-Large'), ('width-full', 'Full-width')])), ('use_original', wagtail.blocks.BooleanBlock(help_text='check if you do not want image compressed. Should be checked for all figures.', required=False)), ('figure_number', wagtail.blocks.CharBlock(max_length=3, required=False)), ('figure_title', wagtail.blocks.CharBlock(max_length=100, required=False)), ('open_image_on_click', wagtail.blocks.BooleanBlock(default=False, required=False)), ('alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Alternative text'))], icon='image')), ('video', wagtail.embeds.blocks.EmbedBlock(icon='media')), ('table', wagtail.contrib.table_block.blocks.TableBlock(template='blocks/table.html')), ('button', wagtail.blocks.StructBlock([('button_text', wagtail.blocks.CharBlock(max_length=50, required=True)), ('button_link', wagtail.blocks.URLBlock(default='https://www.', required=True)), ('alignment', wagtail.blocks.ChoiceBlock(choices=[('left-aligned', 'Left'), ('center-aligned', 'Center')]))])), ('iframe', wagtail.blocks.StructBlock([('source_url', wagtail.blocks.URLBlock(required=True)), ('column_width', wagtail.blocks.ChoiceBlock(choices=[('column-width', 'Column Width (max 650px)'), ('width-1200', 'Site Width (max 1200px)'), ('full-width', 'Full Width (max 100%)')], help_text='The maximum width of the iframe. Always use "Column Width" for non-report content types (e.g. blog posts, About pages). Never use "Full-Width" unless specifically instructed to by your designer.', required=False)), ('fixed_height', wagtail.blocks.BooleanBlock(help_text='Leave unchecked if you want width-to-height ratio to be preserved on smaller screens. Check to ignore the width value and instead use the full width of the column, with a fixed height.', required=False)), ('width', wagtail.blocks.IntegerBlock(help_text='The iframe will look best if the width is at least as large as the column width. Note that the maximum, in 2018 and earlier, used to be 1050.', required=True)), ('height', wagtail.blocks.IntegerBlock(required=True)), ('fallback_image', wagtail.images.blocks.ImageChooserBlock(help_text='The fallback image will be rendered for the PDF', icon='image', required=False)), ('fallback_image_align', wagtail.blocks.ChoiceBlock(choices=[('center', 'Centered'), ('left', 'Left'), ('right', 'Right')])), ('fallback_image_width', wagtail.blocks.ChoiceBlock(choices=[('initial', 'Auto'), ('width-133', 'Medium'), ('width-166', 'Large'), ('width-200', 'X-Large')])), ('fallback_image_use_original', wagtail.blocks.BooleanBlock(help_text='check if you do not want image compressed. Should be checked for all figures.', required=False)), ('fallback_image_alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Fallback image alternative text'))], icon='link')), ('datawrapper', wagtail.blocks.StructBlock([('chart_id', wagtail.blocks.CharBlock(help_text='The 5 character ID for the chart, e.g. "kT4Qi"', required=True)), ('embed_code', wagtail.blocks.TextBlock(help_text='The "Responsive Embed" code provided by Datawrapper', required=True)), ('width', wagtail.blocks.ChoiceBlock(choices=[('column-width', 'Column Width (max 650px)'), ('width-1200', 'Site Width (max 1200px)'), ('full-width', 'Full Width (max 100%)')], help_text='The maximum width of the chart. Always use "Column Width" for non-report content types (e.g. blog posts, About pages). Never use "Full-Width" unless specifically instructed to by your designer.', required=False)), ('fallback_image', wagtail.images.blocks.ImageChooserBlock(help_text='The fallback image will be rendered for the PDF', icon='image', required=False)), ('fallback_image_align', wagtail.blocks.ChoiceBlock(choices=[('center', 'Centered'), ('left', 'Left'), ('right', 'Right')])), ('fallback_image_width', wagtail.blocks.ChoiceBlock(choices=[('initial', 'Auto'), ('width-133', 'Medium'), ('width-166', 'Large'), ('width-200', 'X-Large')])), ('fallback_image_alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Fallback image alternative text'))], icon='code')), ('dataviz', wagtail.blocks.StructBlock([('container_id', wagtail.blocks.CharBlock(required=True)), ('width', wagtail.blocks.ChoiceBlock(choices=[('column-width', 'Column Width (max 650px)'), ('width-1200', 'Site Width (max 1200px)'), ('full-width', 'Full Width (max 100%)')], required=False)), ('title', wagtail.blocks.CharBlock(required=False)), ('subheading', wagtail.blocks.RichTextBlock(required=False)), ('max_width', wagtail.blocks.IntegerBlock(help_text='for legacy dataviz projects', required=False)), ('show_chart_buttons', wagtail.blocks.BooleanBlock(default=False, required=False))], icon='code')), ('timeline', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('subheading', wagtail.blocks.CharBlock(required=False)), ('default_view', wagtail.blocks.ChoiceBlock(choices=[('timeline', 'Timeline'), ('list', 'List')], help_text='Should the default view be a timeline or a list?', required=False)), ('major_timeline_splits', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('start_date', wagtail.blocks.DateBlock(required=True)), ('end_date', wagtail.blocks.DateBlock(required=False)), ('date_display_type', wagtail.blocks.ChoiceBlock(choices=[('year', 'Year'), ('month', 'Month'), ('day', 'Day')], help_text='Controls how specific the date is displayed'))]), default='', required=False)), ('event_eras', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('start_date', wagtail.blocks.DateBlock(required=True)), ('end_date', wagtail.blocks.DateBlock(required=False)), ('date_display_type', wagtail.blocks.ChoiceBlock(choices=[('year', 'Year'), ('month', 'Month'), ('day', 'Day')], help_text='Controls how specific the date is displayed'))]), default='', required=False)), ('event_categories', wagtail.blocks.ListBlock(wagtail.blocks.CharBlock(), default='', required=False)), ('event_list', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('italicize_title', wagtail.blocks.BooleanBlock(default=False, required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('category', wagtail.blocks.CharBlock(required=False)), ('start_date', wagtail.blocks.DateBlock(required=True)), ('end_date', wagtail.blocks.DateBlock(required=False)), ('date_display_type', wagtail.blocks.ChoiceBlock(choices=[('year', 'Year'), ('month', 'Month'), ('day', 'Day')], help_text='Controls how specific the date is displayed'))])))], icon='order')), ('google_map', wagtail.blocks.StructBlock([('use_page_address', wagtail.blocks.BooleanBlock(default=False, help_text='If selected, map will use the address already defined for this page, if applicable. For most posts besides events, this should be left unchecked and the form below should be completed.', required=False)), ('street', wagtail.blocks.TextBlock(required=False)), ('city', wagtail.blocks.TextBlock(default='Washington', required=False)), ('state', wagtail.blocks.TextBlock(default='D.C.', required=False)), ('zipcode', wagtail.blocks.TextBlock(default='200', required=False))], icon='site')), ('resource_kit', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('description', wagtail.blocks.TextBlock(required=False)), ('resources', wagtail.blocks.StreamBlock([('post', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=False)), ('image_alt_text', wagtail.blocks.CharBlock(required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('resource', wagtail.blocks.PageChooserBlock(required=True))], icon='redirect', label='Post')), ('external_resource', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=False)), ('image_alt_text', wagtail.blocks.CharBlock(required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('resource', wagtail.blocks.URLBlock(required=True))], icon='site', label='External resource')), ('attachment', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=False)), ('image_alt_text', wagtail.blocks.CharBlock(required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('resource', wagtail.documents.blocks.DocumentChooserBlock(required=True))], icon='doc-full', label='Attachment'))]))], icon='folder')), ('accordion', wagtail.blocks.StreamBlock([('item', wagtail.blocks.StructBlock([('title', wagtail.blocks.TextBlock()), ('body', wagtail.blocks.RichTextBlock())]))], icon='tasks')), ('people', wagtail.blocks.StreamBlock([('title', wagtail.blocks.CharBlock(required=True)), ('description', wagtail.blocks.TextBlock(required=False)), ('person', wagtail.blocks.StructBlock([('name', wagtail.blocks.TextBlock(required=True)), ('title', wagtail.blocks.TextBlock(help_text='125 character limit', max_length=125, required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=False)), ('image_alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Image alternative text')), ('twitter', wagtail.blocks.URLBlock(required=False))]))], help_text='Grid of people with short bios that appear on click', icon='group')), ('panels', wagtail.blocks.StreamBlock([('panel', wagtail.blocks.StructBlock([('title', wagtail.blocks.TextBlock()), ('body', wagtail.blocks.StreamBlock([('introduction', wagtail.blocks.RichTextBlock(icon='openquote')), ('heading', wagtail.blocks.CharBlock(form_classname='full title', icon='title', label='Heading (Heading 2)', template='blocks/heading.html')), ('paragraph', wagtail.blocks.RichTextBlock()), ('inline_image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=True)), ('align', wagtail.blocks.ChoiceBlock(choices=[('center', 'Centered'), ('left', 'Left'), ('right', 'Right')])), ('width', wagtail.blocks.ChoiceBlock(choices=[('initial', 'Auto'), ('width-133', 'Medium'), ('width-166', 'Large'), ('width-200', 'X-Large'), ('width-full', 'Full-width')])), ('use_original', wagtail.blocks.BooleanBlock(help_text='check if you do not want image compressed. Should be checked for all figures.', required=False)), ('figure_number', wagtail.blocks.CharBlock(max_length=3, required=False)), ('figure_title', wagtail.blocks.CharBlock(max_length=100, required=False)), ('open_image_on_click', wagtail.blocks.BooleanBlock(default=False, required=False)), ('alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Alternative text'))], icon='image')), ('video', wagtail.embeds.blocks.EmbedBlock(icon='media')), ('table', wagtail.contrib.table_block.blocks.TableBlock(template='blocks/table.html')), ('button', wagtail.blocks.StructBlock([('button_text', wagtail.blocks.CharBlock(max_length=50, required=True)), ('button_link', wagtail.blocks.URLBlock(default='https://www.', required=True)), ('alignment', wagtail.blocks.ChoiceBlock(choices=[('left-aligned', 'Left'), ('center-aligned', 'Center')]))])), ('iframe', wagtail.blocks.StructBlock([('source_url', wagtail.blocks.URLBlock(required=True)), ('column_width', wagtail.blocks.ChoiceBlock(choices=[('column-width', 'Column Width (max 650px)'), ('width-1200', 'Site Width (max 1200px)'), ('full-width', 'Full Width (max 100%)')], help_text='The maximum width of the iframe. Always use "Column Width" for non-report content types (e.g. blog posts, About pages). Never use "Full-Width" unless specifically instructed to by your designer.', required=False)), ('fixed_height', wagtail.blocks.BooleanBlock(help_text='Leave unchecked if you want width-to-height ratio to be preserved on smaller screens. Check to ignore the width value and instead use the full width of the column, with a fixed height.', required=False)), ('width', wagtail.blocks.IntegerBlock(help_text='The iframe will look best if the width is at least as large as the column width. Note that the maximum, in 2018 and earlier, used to be 1050.', required=True)), ('height', wagtail.blocks.IntegerBlock(required=True)), ('fallback_image', wagtail.images.blocks.ImageChooserBlock(help_text='The fallback image will be rendered for the PDF', icon='image', required=False)), ('fallback_image_align', wagtail.blocks.ChoiceBlock(choices=[('center', 'Centered'), ('left', 'Left'), ('right', 'Right')])), ('fallback_image_width', wagtail.blocks.ChoiceBlock(choices=[('initial', 'Auto'), ('width-133', 'Medium'), ('width-166', 'Large'), ('width-200', 'X-Large')])), ('fallback_image_use_original', wagtail.blocks.BooleanBlock(help_text='check if you do not want image compressed. Should be checked for all figures.', required=False)), ('fallback_image_alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Fallback image alternative text'))], icon='link')), ('datawrapper', wagtail.blocks.StructBlock([('chart_id', wagtail.blocks.CharBlock(help_text='The 5 character ID for the chart, e.g. "kT4Qi"', required=True)), ('embed_code', wagtail.blocks.TextBlock(help_text='The "Responsive Embed" code provided by Datawrapper', required=True)), ('width', wagtail.blocks.ChoiceBlock(choices=[('column-width', 'Column Width (max 650px)'), ('width-1200', 'Site Width (max 1200px)'), ('full-width', 'Full Width (max 100%)')], help_text='The maximum width of the chart. Always use "Column Width" for non-report content types (e.g. blog posts, About pages). Never use "Full-Width" unless specifically instructed to by your designer.', required=False)), ('fallback_image', wagtail.images.blocks.ImageChooserBlock(help_text='The fallback image will be rendered for the PDF', icon='image', required=False)), ('fallback_image_align', wagtail.blocks.ChoiceBlock(choices=[('center', 'Centered'), ('left', 'Left'), ('right', 'Right')])), ('fallback_image_width', wagtail.blocks.ChoiceBlock(choices=[('initial', 'Auto'), ('width-133', 'Medium'), ('width-166', 'Large'), ('width-200', 'X-Large')])), ('fallback_image_alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Fallback image alternative text'))], icon='code')), ('dataviz', wagtail.blocks.StructBlock([('container_id', wagtail.blocks.CharBlock(required=True)), ('width', wagtail.blocks.ChoiceBlock(choices=[('column-width', 'Column Width (max 650px)'), ('width-1200', 'Site Width (max 1200px)'), ('full-width', 'Full Width (max 100%)')], required=False)), ('title', wagtail.blocks.CharBlock(required=False)), ('subheading', wagtail.blocks.RichTextBlock(required=False)), ('max_width', wagtail.blocks.IntegerBlock(help_text='for legacy dataviz projects', required=False)), ('show_chart_buttons', wagtail.blocks.BooleanBlock(default=False, required=False))], icon='code')), ('timeline', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('subheading', wagtail.blocks.CharBlock(required=False)), ('default_view', wagtail.blocks.ChoiceBlock(choices=[('timeline', 'Timeline'), ('list', 'List')], help_text='Should the default view be a timeline or a list?', required=False)), ('major_timeline_splits', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('start_date', wagtail.blocks.DateBlock(required=True)), ('end_date', wagtail.blocks.DateBlock(required=False)), ('date_display_type', wagtail.blocks.ChoiceBlock(choices=[('year', 'Year'), ('month', 'Month'), ('day', 'Day')], help_text='Controls how specific the date is displayed'))]), default='', required=False)), ('event_eras', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('start_date', wagtail.blocks.DateBlock(required=True)), ('end_date', wagtail.blocks.DateBlock(required=False)), ('date_display_type', wagtail.blocks.ChoiceBlock(choices=[('year', 'Year'), ('month', 'Month'), ('day', 'Day')], help_text='Controls how specific the date is displayed'))]), default='', required=False)), ('event_categories', wagtail.blocks.ListBlock(wagtail.blocks.CharBlock(), default='', required=False)), ('event_list', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('italicize_title', wagtail.blocks.BooleanBlock(default=False, required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('category', wagtail.blocks.CharBlock(required=False)), ('start_date', wagtail.blocks.DateBlock(required=True)), ('end_date', wagtail.blocks.DateBlock(required=False)), ('date_display_type', wagtail.blocks.ChoiceBlock(choices=[('year', 'Year'), ('month', 'Month'), ('day', 'Day')], help_text='Controls how specific the date is displayed'))])))], icon='order')), ('google_map', wagtail.blocks.StructBlock([('use_page_address', wagtail.blocks.BooleanBlock(default=False, help_text='If selected, map will use the address already defined for this page, if applicable. For most posts besides events, this should be left unchecked and the form below should be completed.', required=False)), ('street', wagtail.blocks.TextBlock(required=False)), ('city', wagtail.blocks.TextBlock(default='Washington', required=False)), ('state', wagtail.blocks.TextBlock(default='D.C.', required=False)), ('zipcode', wagtail.blocks.TextBlock(default='200', required=False))], icon='site')), ('resource_kit', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('description', wagtail.blocks.TextBlock(required=False)), ('resources', wagtail.blocks.StreamBlock([('post', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=False)), ('image_alt_text', wagtail.blocks.CharBlock(required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('resource', wagtail.blocks.PageChooserBlock(required=True))], icon='redirect', label='Post')), ('external_resource', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=False)), ('image_alt_text', wagtail.blocks.CharBlock(required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('resource', wagtail.blocks.URLBlock(required=True))], icon='site', label='External resource')), ('attachment', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=False)), ('image_alt_text', wagtail.blocks.CharBlock(required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('resource', wagtail.documents.blocks.DocumentChooserBlock(required=True))], icon='doc-full', label='Attachment'))]))], icon='folder')), ('accordion', wagtail.blocks.StreamBlock([('item', wagtail.blocks.StructBlock([('title', wagtail.blocks.TextBlock()), ('body', wagtail.blocks.RichTextBlock())]))], icon='tasks'))]))], icon='doc-empty-inverse'))], icon='list-ul')), ('image', wagtail.images.blocks.ImageChooserBlock(help_text='Legacy option. Consider using Inline Image instead.', icon='placeholder', template='blocks/image_block.html'))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='post', + name='body', + field=wagtail.fields.StreamField([('introduction', wagtail.blocks.RichTextBlock(icon='openquote')), ('heading', wagtail.blocks.CharBlock(form_classname='full title', icon='title', label='Heading (Heading 2)', template='blocks/heading.html')), ('paragraph', wagtail.blocks.RichTextBlock()), ('inline_image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=True)), ('align', wagtail.blocks.ChoiceBlock(choices=[('center', 'Centered'), ('left', 'Left'), ('right', 'Right')])), ('width', wagtail.blocks.ChoiceBlock(choices=[('initial', 'Auto'), ('width-133', 'Medium'), ('width-166', 'Large'), ('width-200', 'X-Large'), ('width-full', 'Full-width')])), ('use_original', wagtail.blocks.BooleanBlock(help_text='check if you do not want image compressed. Should be checked for all figures.', required=False)), ('figure_number', wagtail.blocks.CharBlock(max_length=3, required=False)), ('figure_title', wagtail.blocks.CharBlock(max_length=100, required=False)), ('open_image_on_click', wagtail.blocks.BooleanBlock(default=False, required=False)), ('alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Alternative text'))], icon='image')), ('video', wagtail.embeds.blocks.EmbedBlock(icon='media')), ('table', wagtail.contrib.table_block.blocks.TableBlock(template='blocks/table.html')), ('button', wagtail.blocks.StructBlock([('button_text', wagtail.blocks.CharBlock(max_length=50, required=True)), ('button_link', wagtail.blocks.URLBlock(default='https://www.', required=True)), ('alignment', wagtail.blocks.ChoiceBlock(choices=[('left-aligned', 'Left'), ('center-aligned', 'Center')]))])), ('iframe', wagtail.blocks.StructBlock([('source_url', wagtail.blocks.URLBlock(required=True)), ('column_width', wagtail.blocks.ChoiceBlock(choices=[('column-width', 'Column Width (max 650px)'), ('width-1200', 'Site Width (max 1200px)'), ('full-width', 'Full Width (max 100%)')], help_text='The maximum width of the iframe. Always use "Column Width" for non-report content types (e.g. blog posts, About pages). Never use "Full-Width" unless specifically instructed to by your designer.', required=False)), ('fixed_height', wagtail.blocks.BooleanBlock(help_text='Leave unchecked if you want width-to-height ratio to be preserved on smaller screens. Check to ignore the width value and instead use the full width of the column, with a fixed height.', required=False)), ('width', wagtail.blocks.IntegerBlock(help_text='The iframe will look best if the width is at least as large as the column width. Note that the maximum, in 2018 and earlier, used to be 1050.', required=True)), ('height', wagtail.blocks.IntegerBlock(required=True)), ('fallback_image', wagtail.images.blocks.ImageChooserBlock(help_text='The fallback image will be rendered for the PDF', icon='image', required=False)), ('fallback_image_align', wagtail.blocks.ChoiceBlock(choices=[('center', 'Centered'), ('left', 'Left'), ('right', 'Right')])), ('fallback_image_width', wagtail.blocks.ChoiceBlock(choices=[('initial', 'Auto'), ('width-133', 'Medium'), ('width-166', 'Large'), ('width-200', 'X-Large')])), ('fallback_image_use_original', wagtail.blocks.BooleanBlock(help_text='check if you do not want image compressed. Should be checked for all figures.', required=False)), ('fallback_image_alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Fallback image alternative text'))], icon='link')), ('datawrapper', wagtail.blocks.StructBlock([('chart_id', wagtail.blocks.CharBlock(help_text='The 5 character ID for the chart, e.g. "kT4Qi"', required=True)), ('embed_code', wagtail.blocks.TextBlock(help_text='The "Responsive Embed" code provided by Datawrapper', required=True)), ('width', wagtail.blocks.ChoiceBlock(choices=[('column-width', 'Column Width (max 650px)'), ('width-1200', 'Site Width (max 1200px)'), ('full-width', 'Full Width (max 100%)')], help_text='The maximum width of the chart. Always use "Column Width" for non-report content types (e.g. blog posts, About pages). Never use "Full-Width" unless specifically instructed to by your designer.', required=False)), ('fallback_image', wagtail.images.blocks.ImageChooserBlock(help_text='The fallback image will be rendered for the PDF', icon='image', required=False)), ('fallback_image_align', wagtail.blocks.ChoiceBlock(choices=[('center', 'Centered'), ('left', 'Left'), ('right', 'Right')])), ('fallback_image_width', wagtail.blocks.ChoiceBlock(choices=[('initial', 'Auto'), ('width-133', 'Medium'), ('width-166', 'Large'), ('width-200', 'X-Large')])), ('fallback_image_alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Fallback image alternative text'))], icon='code')), ('dataviz', wagtail.blocks.StructBlock([('container_id', wagtail.blocks.CharBlock(required=True)), ('width', wagtail.blocks.ChoiceBlock(choices=[('column-width', 'Column Width (max 650px)'), ('width-1200', 'Site Width (max 1200px)'), ('full-width', 'Full Width (max 100%)')], required=False)), ('title', wagtail.blocks.CharBlock(required=False)), ('subheading', wagtail.blocks.RichTextBlock(required=False)), ('max_width', wagtail.blocks.IntegerBlock(help_text='for legacy dataviz projects', required=False)), ('show_chart_buttons', wagtail.blocks.BooleanBlock(default=False, required=False))], icon='code')), ('timeline', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('subheading', wagtail.blocks.CharBlock(required=False)), ('default_view', wagtail.blocks.ChoiceBlock(choices=[('timeline', 'Timeline'), ('list', 'List')], help_text='Should the default view be a timeline or a list?', required=False)), ('major_timeline_splits', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('start_date', wagtail.blocks.DateBlock(required=True)), ('end_date', wagtail.blocks.DateBlock(required=False)), ('date_display_type', wagtail.blocks.ChoiceBlock(choices=[('year', 'Year'), ('month', 'Month'), ('day', 'Day')], help_text='Controls how specific the date is displayed'))]), default='', required=False)), ('event_eras', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('start_date', wagtail.blocks.DateBlock(required=True)), ('end_date', wagtail.blocks.DateBlock(required=False)), ('date_display_type', wagtail.blocks.ChoiceBlock(choices=[('year', 'Year'), ('month', 'Month'), ('day', 'Day')], help_text='Controls how specific the date is displayed'))]), default='', required=False)), ('event_categories', wagtail.blocks.ListBlock(wagtail.blocks.CharBlock(), default='', required=False)), ('event_list', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('italicize_title', wagtail.blocks.BooleanBlock(default=False, required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('category', wagtail.blocks.CharBlock(required=False)), ('start_date', wagtail.blocks.DateBlock(required=True)), ('end_date', wagtail.blocks.DateBlock(required=False)), ('date_display_type', wagtail.blocks.ChoiceBlock(choices=[('year', 'Year'), ('month', 'Month'), ('day', 'Day')], help_text='Controls how specific the date is displayed'))])))], icon='order')), ('google_map', wagtail.blocks.StructBlock([('use_page_address', wagtail.blocks.BooleanBlock(default=False, help_text='If selected, map will use the address already defined for this page, if applicable. For most posts besides events, this should be left unchecked and the form below should be completed.', required=False)), ('street', wagtail.blocks.TextBlock(required=False)), ('city', wagtail.blocks.TextBlock(default='Washington', required=False)), ('state', wagtail.blocks.TextBlock(default='D.C.', required=False)), ('zipcode', wagtail.blocks.TextBlock(default='200', required=False))], icon='site')), ('resource_kit', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('description', wagtail.blocks.TextBlock(required=False)), ('resources', wagtail.blocks.StreamBlock([('post', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=False)), ('image_alt_text', wagtail.blocks.CharBlock(required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('resource', wagtail.blocks.PageChooserBlock(required=True))], icon='redirect', label='Post')), ('external_resource', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=False)), ('image_alt_text', wagtail.blocks.CharBlock(required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('resource', wagtail.blocks.URLBlock(required=True))], icon='site', label='External resource')), ('attachment', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=False)), ('image_alt_text', wagtail.blocks.CharBlock(required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('resource', wagtail.documents.blocks.DocumentChooserBlock(required=True))], icon='doc-full', label='Attachment'))]))], icon='folder')), ('accordion', wagtail.blocks.StreamBlock([('item', wagtail.blocks.StructBlock([('title', wagtail.blocks.TextBlock()), ('body', wagtail.blocks.RichTextBlock())]))], icon='tasks')), ('people', wagtail.blocks.StreamBlock([('title', wagtail.blocks.CharBlock(required=True)), ('description', wagtail.blocks.TextBlock(required=False)), ('person', wagtail.blocks.StructBlock([('name', wagtail.blocks.TextBlock(required=True)), ('title', wagtail.blocks.TextBlock(help_text='125 character limit', max_length=125, required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=False)), ('image_alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Image alternative text')), ('twitter', wagtail.blocks.URLBlock(required=False))]))], help_text='Grid of people with short bios that appear on click', icon='group')), ('panels', wagtail.blocks.StreamBlock([('panel', wagtail.blocks.StructBlock([('title', wagtail.blocks.TextBlock()), ('body', wagtail.blocks.StreamBlock([('introduction', wagtail.blocks.RichTextBlock(icon='openquote')), ('heading', wagtail.blocks.CharBlock(form_classname='full title', icon='title', label='Heading (Heading 2)', template='blocks/heading.html')), ('paragraph', wagtail.blocks.RichTextBlock()), ('inline_image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=True)), ('align', wagtail.blocks.ChoiceBlock(choices=[('center', 'Centered'), ('left', 'Left'), ('right', 'Right')])), ('width', wagtail.blocks.ChoiceBlock(choices=[('initial', 'Auto'), ('width-133', 'Medium'), ('width-166', 'Large'), ('width-200', 'X-Large'), ('width-full', 'Full-width')])), ('use_original', wagtail.blocks.BooleanBlock(help_text='check if you do not want image compressed. Should be checked for all figures.', required=False)), ('figure_number', wagtail.blocks.CharBlock(max_length=3, required=False)), ('figure_title', wagtail.blocks.CharBlock(max_length=100, required=False)), ('open_image_on_click', wagtail.blocks.BooleanBlock(default=False, required=False)), ('alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Alternative text'))], icon='image')), ('video', wagtail.embeds.blocks.EmbedBlock(icon='media')), ('table', wagtail.contrib.table_block.blocks.TableBlock(template='blocks/table.html')), ('button', wagtail.blocks.StructBlock([('button_text', wagtail.blocks.CharBlock(max_length=50, required=True)), ('button_link', wagtail.blocks.URLBlock(default='https://www.', required=True)), ('alignment', wagtail.blocks.ChoiceBlock(choices=[('left-aligned', 'Left'), ('center-aligned', 'Center')]))])), ('iframe', wagtail.blocks.StructBlock([('source_url', wagtail.blocks.URLBlock(required=True)), ('column_width', wagtail.blocks.ChoiceBlock(choices=[('column-width', 'Column Width (max 650px)'), ('width-1200', 'Site Width (max 1200px)'), ('full-width', 'Full Width (max 100%)')], help_text='The maximum width of the iframe. Always use "Column Width" for non-report content types (e.g. blog posts, About pages). Never use "Full-Width" unless specifically instructed to by your designer.', required=False)), ('fixed_height', wagtail.blocks.BooleanBlock(help_text='Leave unchecked if you want width-to-height ratio to be preserved on smaller screens. Check to ignore the width value and instead use the full width of the column, with a fixed height.', required=False)), ('width', wagtail.blocks.IntegerBlock(help_text='The iframe will look best if the width is at least as large as the column width. Note that the maximum, in 2018 and earlier, used to be 1050.', required=True)), ('height', wagtail.blocks.IntegerBlock(required=True)), ('fallback_image', wagtail.images.blocks.ImageChooserBlock(help_text='The fallback image will be rendered for the PDF', icon='image', required=False)), ('fallback_image_align', wagtail.blocks.ChoiceBlock(choices=[('center', 'Centered'), ('left', 'Left'), ('right', 'Right')])), ('fallback_image_width', wagtail.blocks.ChoiceBlock(choices=[('initial', 'Auto'), ('width-133', 'Medium'), ('width-166', 'Large'), ('width-200', 'X-Large')])), ('fallback_image_use_original', wagtail.blocks.BooleanBlock(help_text='check if you do not want image compressed. Should be checked for all figures.', required=False)), ('fallback_image_alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Fallback image alternative text'))], icon='link')), ('datawrapper', wagtail.blocks.StructBlock([('chart_id', wagtail.blocks.CharBlock(help_text='The 5 character ID for the chart, e.g. "kT4Qi"', required=True)), ('embed_code', wagtail.blocks.TextBlock(help_text='The "Responsive Embed" code provided by Datawrapper', required=True)), ('width', wagtail.blocks.ChoiceBlock(choices=[('column-width', 'Column Width (max 650px)'), ('width-1200', 'Site Width (max 1200px)'), ('full-width', 'Full Width (max 100%)')], help_text='The maximum width of the chart. Always use "Column Width" for non-report content types (e.g. blog posts, About pages). Never use "Full-Width" unless specifically instructed to by your designer.', required=False)), ('fallback_image', wagtail.images.blocks.ImageChooserBlock(help_text='The fallback image will be rendered for the PDF', icon='image', required=False)), ('fallback_image_align', wagtail.blocks.ChoiceBlock(choices=[('center', 'Centered'), ('left', 'Left'), ('right', 'Right')])), ('fallback_image_width', wagtail.blocks.ChoiceBlock(choices=[('initial', 'Auto'), ('width-133', 'Medium'), ('width-166', 'Large'), ('width-200', 'X-Large')])), ('fallback_image_alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Fallback image alternative text'))], icon='code')), ('dataviz', wagtail.blocks.StructBlock([('container_id', wagtail.blocks.CharBlock(required=True)), ('width', wagtail.blocks.ChoiceBlock(choices=[('column-width', 'Column Width (max 650px)'), ('width-1200', 'Site Width (max 1200px)'), ('full-width', 'Full Width (max 100%)')], required=False)), ('title', wagtail.blocks.CharBlock(required=False)), ('subheading', wagtail.blocks.RichTextBlock(required=False)), ('max_width', wagtail.blocks.IntegerBlock(help_text='for legacy dataviz projects', required=False)), ('show_chart_buttons', wagtail.blocks.BooleanBlock(default=False, required=False))], icon='code')), ('timeline', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('subheading', wagtail.blocks.CharBlock(required=False)), ('default_view', wagtail.blocks.ChoiceBlock(choices=[('timeline', 'Timeline'), ('list', 'List')], help_text='Should the default view be a timeline or a list?', required=False)), ('major_timeline_splits', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('start_date', wagtail.blocks.DateBlock(required=True)), ('end_date', wagtail.blocks.DateBlock(required=False)), ('date_display_type', wagtail.blocks.ChoiceBlock(choices=[('year', 'Year'), ('month', 'Month'), ('day', 'Day')], help_text='Controls how specific the date is displayed'))]), default='', required=False)), ('event_eras', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('start_date', wagtail.blocks.DateBlock(required=True)), ('end_date', wagtail.blocks.DateBlock(required=False)), ('date_display_type', wagtail.blocks.ChoiceBlock(choices=[('year', 'Year'), ('month', 'Month'), ('day', 'Day')], help_text='Controls how specific the date is displayed'))]), default='', required=False)), ('event_categories', wagtail.blocks.ListBlock(wagtail.blocks.CharBlock(), default='', required=False)), ('event_list', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('italicize_title', wagtail.blocks.BooleanBlock(default=False, required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('category', wagtail.blocks.CharBlock(required=False)), ('start_date', wagtail.blocks.DateBlock(required=True)), ('end_date', wagtail.blocks.DateBlock(required=False)), ('date_display_type', wagtail.blocks.ChoiceBlock(choices=[('year', 'Year'), ('month', 'Month'), ('day', 'Day')], help_text='Controls how specific the date is displayed'))])))], icon='order')), ('google_map', wagtail.blocks.StructBlock([('use_page_address', wagtail.blocks.BooleanBlock(default=False, help_text='If selected, map will use the address already defined for this page, if applicable. For most posts besides events, this should be left unchecked and the form below should be completed.', required=False)), ('street', wagtail.blocks.TextBlock(required=False)), ('city', wagtail.blocks.TextBlock(default='Washington', required=False)), ('state', wagtail.blocks.TextBlock(default='D.C.', required=False)), ('zipcode', wagtail.blocks.TextBlock(default='200', required=False))], icon='site')), ('resource_kit', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('description', wagtail.blocks.TextBlock(required=False)), ('resources', wagtail.blocks.StreamBlock([('post', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=False)), ('image_alt_text', wagtail.blocks.CharBlock(required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('resource', wagtail.blocks.PageChooserBlock(required=True))], icon='redirect', label='Post')), ('external_resource', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=False)), ('image_alt_text', wagtail.blocks.CharBlock(required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('resource', wagtail.blocks.URLBlock(required=True))], icon='site', label='External resource')), ('attachment', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=False)), ('image_alt_text', wagtail.blocks.CharBlock(required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('resource', wagtail.documents.blocks.DocumentChooserBlock(required=True))], icon='doc-full', label='Attachment'))]))], icon='folder')), ('accordion', wagtail.blocks.StreamBlock([('item', wagtail.blocks.StructBlock([('title', wagtail.blocks.TextBlock()), ('body', wagtail.blocks.RichTextBlock())]))], icon='tasks'))]))], icon='doc-empty-inverse'))], icon='list-ul')), ('image', wagtail.images.blocks.ImageChooserBlock(help_text='Legacy option. Consider using Inline Image instead.', icon='placeholder', template='blocks/image_block.html'))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='programsimplepage', + name='body', + field=wagtail.fields.StreamField([('introduction', wagtail.blocks.RichTextBlock(icon='openquote')), ('heading', wagtail.blocks.CharBlock(form_classname='full title', icon='title', label='Heading (Heading 2)', template='blocks/heading.html')), ('paragraph', wagtail.blocks.RichTextBlock()), ('inline_image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=True)), ('align', wagtail.blocks.ChoiceBlock(choices=[('center', 'Centered'), ('left', 'Left'), ('right', 'Right')])), ('width', wagtail.blocks.ChoiceBlock(choices=[('initial', 'Auto'), ('width-133', 'Medium'), ('width-166', 'Large'), ('width-200', 'X-Large'), ('width-full', 'Full-width')])), ('use_original', wagtail.blocks.BooleanBlock(help_text='check if you do not want image compressed. Should be checked for all figures.', required=False)), ('figure_number', wagtail.blocks.CharBlock(max_length=3, required=False)), ('figure_title', wagtail.blocks.CharBlock(max_length=100, required=False)), ('open_image_on_click', wagtail.blocks.BooleanBlock(default=False, required=False)), ('alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Alternative text'))], icon='image')), ('video', wagtail.embeds.blocks.EmbedBlock(icon='media')), ('table', wagtail.contrib.table_block.blocks.TableBlock(template='blocks/table.html')), ('button', wagtail.blocks.StructBlock([('button_text', wagtail.blocks.CharBlock(max_length=50, required=True)), ('button_link', wagtail.blocks.URLBlock(default='https://www.', required=True)), ('alignment', wagtail.blocks.ChoiceBlock(choices=[('left-aligned', 'Left'), ('center-aligned', 'Center')]))])), ('iframe', wagtail.blocks.StructBlock([('source_url', wagtail.blocks.URLBlock(required=True)), ('column_width', wagtail.blocks.ChoiceBlock(choices=[('column-width', 'Column Width (max 650px)'), ('width-1200', 'Site Width (max 1200px)'), ('full-width', 'Full Width (max 100%)')], help_text='The maximum width of the iframe. Always use "Column Width" for non-report content types (e.g. blog posts, About pages). Never use "Full-Width" unless specifically instructed to by your designer.', required=False)), ('fixed_height', wagtail.blocks.BooleanBlock(help_text='Leave unchecked if you want width-to-height ratio to be preserved on smaller screens. Check to ignore the width value and instead use the full width of the column, with a fixed height.', required=False)), ('width', wagtail.blocks.IntegerBlock(help_text='The iframe will look best if the width is at least as large as the column width. Note that the maximum, in 2018 and earlier, used to be 1050.', required=True)), ('height', wagtail.blocks.IntegerBlock(required=True)), ('fallback_image', wagtail.images.blocks.ImageChooserBlock(help_text='The fallback image will be rendered for the PDF', icon='image', required=False)), ('fallback_image_align', wagtail.blocks.ChoiceBlock(choices=[('center', 'Centered'), ('left', 'Left'), ('right', 'Right')])), ('fallback_image_width', wagtail.blocks.ChoiceBlock(choices=[('initial', 'Auto'), ('width-133', 'Medium'), ('width-166', 'Large'), ('width-200', 'X-Large')])), ('fallback_image_use_original', wagtail.blocks.BooleanBlock(help_text='check if you do not want image compressed. Should be checked for all figures.', required=False)), ('fallback_image_alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Fallback image alternative text'))], icon='link')), ('datawrapper', wagtail.blocks.StructBlock([('chart_id', wagtail.blocks.CharBlock(help_text='The 5 character ID for the chart, e.g. "kT4Qi"', required=True)), ('embed_code', wagtail.blocks.TextBlock(help_text='The "Responsive Embed" code provided by Datawrapper', required=True)), ('width', wagtail.blocks.ChoiceBlock(choices=[('column-width', 'Column Width (max 650px)'), ('width-1200', 'Site Width (max 1200px)'), ('full-width', 'Full Width (max 100%)')], help_text='The maximum width of the chart. Always use "Column Width" for non-report content types (e.g. blog posts, About pages). Never use "Full-Width" unless specifically instructed to by your designer.', required=False)), ('fallback_image', wagtail.images.blocks.ImageChooserBlock(help_text='The fallback image will be rendered for the PDF', icon='image', required=False)), ('fallback_image_align', wagtail.blocks.ChoiceBlock(choices=[('center', 'Centered'), ('left', 'Left'), ('right', 'Right')])), ('fallback_image_width', wagtail.blocks.ChoiceBlock(choices=[('initial', 'Auto'), ('width-133', 'Medium'), ('width-166', 'Large'), ('width-200', 'X-Large')])), ('fallback_image_alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Fallback image alternative text'))], icon='code')), ('dataviz', wagtail.blocks.StructBlock([('container_id', wagtail.blocks.CharBlock(required=True)), ('width', wagtail.blocks.ChoiceBlock(choices=[('column-width', 'Column Width (max 650px)'), ('width-1200', 'Site Width (max 1200px)'), ('full-width', 'Full Width (max 100%)')], required=False)), ('title', wagtail.blocks.CharBlock(required=False)), ('subheading', wagtail.blocks.RichTextBlock(required=False)), ('max_width', wagtail.blocks.IntegerBlock(help_text='for legacy dataviz projects', required=False)), ('show_chart_buttons', wagtail.blocks.BooleanBlock(default=False, required=False))], icon='code')), ('timeline', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('subheading', wagtail.blocks.CharBlock(required=False)), ('default_view', wagtail.blocks.ChoiceBlock(choices=[('timeline', 'Timeline'), ('list', 'List')], help_text='Should the default view be a timeline or a list?', required=False)), ('major_timeline_splits', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('start_date', wagtail.blocks.DateBlock(required=True)), ('end_date', wagtail.blocks.DateBlock(required=False)), ('date_display_type', wagtail.blocks.ChoiceBlock(choices=[('year', 'Year'), ('month', 'Month'), ('day', 'Day')], help_text='Controls how specific the date is displayed'))]), default='', required=False)), ('event_eras', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('start_date', wagtail.blocks.DateBlock(required=True)), ('end_date', wagtail.blocks.DateBlock(required=False)), ('date_display_type', wagtail.blocks.ChoiceBlock(choices=[('year', 'Year'), ('month', 'Month'), ('day', 'Day')], help_text='Controls how specific the date is displayed'))]), default='', required=False)), ('event_categories', wagtail.blocks.ListBlock(wagtail.blocks.CharBlock(), default='', required=False)), ('event_list', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('italicize_title', wagtail.blocks.BooleanBlock(default=False, required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('category', wagtail.blocks.CharBlock(required=False)), ('start_date', wagtail.blocks.DateBlock(required=True)), ('end_date', wagtail.blocks.DateBlock(required=False)), ('date_display_type', wagtail.blocks.ChoiceBlock(choices=[('year', 'Year'), ('month', 'Month'), ('day', 'Day')], help_text='Controls how specific the date is displayed'))])))], icon='order')), ('google_map', wagtail.blocks.StructBlock([('use_page_address', wagtail.blocks.BooleanBlock(default=False, help_text='If selected, map will use the address already defined for this page, if applicable. For most posts besides events, this should be left unchecked and the form below should be completed.', required=False)), ('street', wagtail.blocks.TextBlock(required=False)), ('city', wagtail.blocks.TextBlock(default='Washington', required=False)), ('state', wagtail.blocks.TextBlock(default='D.C.', required=False)), ('zipcode', wagtail.blocks.TextBlock(default='200', required=False))], icon='site')), ('resource_kit', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('description', wagtail.blocks.TextBlock(required=False)), ('resources', wagtail.blocks.StreamBlock([('post', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=False)), ('image_alt_text', wagtail.blocks.CharBlock(required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('resource', wagtail.blocks.PageChooserBlock(required=True))], icon='redirect', label='Post')), ('external_resource', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=False)), ('image_alt_text', wagtail.blocks.CharBlock(required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('resource', wagtail.blocks.URLBlock(required=True))], icon='site', label='External resource')), ('attachment', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=False)), ('image_alt_text', wagtail.blocks.CharBlock(required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('resource', wagtail.documents.blocks.DocumentChooserBlock(required=True))], icon='doc-full', label='Attachment'))]))], icon='folder')), ('accordion', wagtail.blocks.StreamBlock([('item', wagtail.blocks.StructBlock([('title', wagtail.blocks.TextBlock()), ('body', wagtail.blocks.RichTextBlock())]))], icon='tasks')), ('people', wagtail.blocks.StreamBlock([('title', wagtail.blocks.CharBlock(required=True)), ('description', wagtail.blocks.TextBlock(required=False)), ('person', wagtail.blocks.StructBlock([('name', wagtail.blocks.TextBlock(required=True)), ('title', wagtail.blocks.TextBlock(help_text='125 character limit', max_length=125, required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=False)), ('image_alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Image alternative text')), ('twitter', wagtail.blocks.URLBlock(required=False))]))], help_text='Grid of people with short bios that appear on click', icon='group')), ('panels', wagtail.blocks.StreamBlock([('panel', wagtail.blocks.StructBlock([('title', wagtail.blocks.TextBlock()), ('body', wagtail.blocks.StreamBlock([('introduction', wagtail.blocks.RichTextBlock(icon='openquote')), ('heading', wagtail.blocks.CharBlock(form_classname='full title', icon='title', label='Heading (Heading 2)', template='blocks/heading.html')), ('paragraph', wagtail.blocks.RichTextBlock()), ('inline_image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=True)), ('align', wagtail.blocks.ChoiceBlock(choices=[('center', 'Centered'), ('left', 'Left'), ('right', 'Right')])), ('width', wagtail.blocks.ChoiceBlock(choices=[('initial', 'Auto'), ('width-133', 'Medium'), ('width-166', 'Large'), ('width-200', 'X-Large'), ('width-full', 'Full-width')])), ('use_original', wagtail.blocks.BooleanBlock(help_text='check if you do not want image compressed. Should be checked for all figures.', required=False)), ('figure_number', wagtail.blocks.CharBlock(max_length=3, required=False)), ('figure_title', wagtail.blocks.CharBlock(max_length=100, required=False)), ('open_image_on_click', wagtail.blocks.BooleanBlock(default=False, required=False)), ('alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Alternative text'))], icon='image')), ('video', wagtail.embeds.blocks.EmbedBlock(icon='media')), ('table', wagtail.contrib.table_block.blocks.TableBlock(template='blocks/table.html')), ('button', wagtail.blocks.StructBlock([('button_text', wagtail.blocks.CharBlock(max_length=50, required=True)), ('button_link', wagtail.blocks.URLBlock(default='https://www.', required=True)), ('alignment', wagtail.blocks.ChoiceBlock(choices=[('left-aligned', 'Left'), ('center-aligned', 'Center')]))])), ('iframe', wagtail.blocks.StructBlock([('source_url', wagtail.blocks.URLBlock(required=True)), ('column_width', wagtail.blocks.ChoiceBlock(choices=[('column-width', 'Column Width (max 650px)'), ('width-1200', 'Site Width (max 1200px)'), ('full-width', 'Full Width (max 100%)')], help_text='The maximum width of the iframe. Always use "Column Width" for non-report content types (e.g. blog posts, About pages). Never use "Full-Width" unless specifically instructed to by your designer.', required=False)), ('fixed_height', wagtail.blocks.BooleanBlock(help_text='Leave unchecked if you want width-to-height ratio to be preserved on smaller screens. Check to ignore the width value and instead use the full width of the column, with a fixed height.', required=False)), ('width', wagtail.blocks.IntegerBlock(help_text='The iframe will look best if the width is at least as large as the column width. Note that the maximum, in 2018 and earlier, used to be 1050.', required=True)), ('height', wagtail.blocks.IntegerBlock(required=True)), ('fallback_image', wagtail.images.blocks.ImageChooserBlock(help_text='The fallback image will be rendered for the PDF', icon='image', required=False)), ('fallback_image_align', wagtail.blocks.ChoiceBlock(choices=[('center', 'Centered'), ('left', 'Left'), ('right', 'Right')])), ('fallback_image_width', wagtail.blocks.ChoiceBlock(choices=[('initial', 'Auto'), ('width-133', 'Medium'), ('width-166', 'Large'), ('width-200', 'X-Large')])), ('fallback_image_use_original', wagtail.blocks.BooleanBlock(help_text='check if you do not want image compressed. Should be checked for all figures.', required=False)), ('fallback_image_alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Fallback image alternative text'))], icon='link')), ('datawrapper', wagtail.blocks.StructBlock([('chart_id', wagtail.blocks.CharBlock(help_text='The 5 character ID for the chart, e.g. "kT4Qi"', required=True)), ('embed_code', wagtail.blocks.TextBlock(help_text='The "Responsive Embed" code provided by Datawrapper', required=True)), ('width', wagtail.blocks.ChoiceBlock(choices=[('column-width', 'Column Width (max 650px)'), ('width-1200', 'Site Width (max 1200px)'), ('full-width', 'Full Width (max 100%)')], help_text='The maximum width of the chart. Always use "Column Width" for non-report content types (e.g. blog posts, About pages). Never use "Full-Width" unless specifically instructed to by your designer.', required=False)), ('fallback_image', wagtail.images.blocks.ImageChooserBlock(help_text='The fallback image will be rendered for the PDF', icon='image', required=False)), ('fallback_image_align', wagtail.blocks.ChoiceBlock(choices=[('center', 'Centered'), ('left', 'Left'), ('right', 'Right')])), ('fallback_image_width', wagtail.blocks.ChoiceBlock(choices=[('initial', 'Auto'), ('width-133', 'Medium'), ('width-166', 'Large'), ('width-200', 'X-Large')])), ('fallback_image_alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Fallback image alternative text'))], icon='code')), ('dataviz', wagtail.blocks.StructBlock([('container_id', wagtail.blocks.CharBlock(required=True)), ('width', wagtail.blocks.ChoiceBlock(choices=[('column-width', 'Column Width (max 650px)'), ('width-1200', 'Site Width (max 1200px)'), ('full-width', 'Full Width (max 100%)')], required=False)), ('title', wagtail.blocks.CharBlock(required=False)), ('subheading', wagtail.blocks.RichTextBlock(required=False)), ('max_width', wagtail.blocks.IntegerBlock(help_text='for legacy dataviz projects', required=False)), ('show_chart_buttons', wagtail.blocks.BooleanBlock(default=False, required=False))], icon='code')), ('timeline', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('subheading', wagtail.blocks.CharBlock(required=False)), ('default_view', wagtail.blocks.ChoiceBlock(choices=[('timeline', 'Timeline'), ('list', 'List')], help_text='Should the default view be a timeline or a list?', required=False)), ('major_timeline_splits', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('start_date', wagtail.blocks.DateBlock(required=True)), ('end_date', wagtail.blocks.DateBlock(required=False)), ('date_display_type', wagtail.blocks.ChoiceBlock(choices=[('year', 'Year'), ('month', 'Month'), ('day', 'Day')], help_text='Controls how specific the date is displayed'))]), default='', required=False)), ('event_eras', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('start_date', wagtail.blocks.DateBlock(required=True)), ('end_date', wagtail.blocks.DateBlock(required=False)), ('date_display_type', wagtail.blocks.ChoiceBlock(choices=[('year', 'Year'), ('month', 'Month'), ('day', 'Day')], help_text='Controls how specific the date is displayed'))]), default='', required=False)), ('event_categories', wagtail.blocks.ListBlock(wagtail.blocks.CharBlock(), default='', required=False)), ('event_list', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('italicize_title', wagtail.blocks.BooleanBlock(default=False, required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('category', wagtail.blocks.CharBlock(required=False)), ('start_date', wagtail.blocks.DateBlock(required=True)), ('end_date', wagtail.blocks.DateBlock(required=False)), ('date_display_type', wagtail.blocks.ChoiceBlock(choices=[('year', 'Year'), ('month', 'Month'), ('day', 'Day')], help_text='Controls how specific the date is displayed'))])))], icon='order')), ('google_map', wagtail.blocks.StructBlock([('use_page_address', wagtail.blocks.BooleanBlock(default=False, help_text='If selected, map will use the address already defined for this page, if applicable. For most posts besides events, this should be left unchecked and the form below should be completed.', required=False)), ('street', wagtail.blocks.TextBlock(required=False)), ('city', wagtail.blocks.TextBlock(default='Washington', required=False)), ('state', wagtail.blocks.TextBlock(default='D.C.', required=False)), ('zipcode', wagtail.blocks.TextBlock(default='200', required=False))], icon='site')), ('resource_kit', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('description', wagtail.blocks.TextBlock(required=False)), ('resources', wagtail.blocks.StreamBlock([('post', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=False)), ('image_alt_text', wagtail.blocks.CharBlock(required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('resource', wagtail.blocks.PageChooserBlock(required=True))], icon='redirect', label='Post')), ('external_resource', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=False)), ('image_alt_text', wagtail.blocks.CharBlock(required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('resource', wagtail.blocks.URLBlock(required=True))], icon='site', label='External resource')), ('attachment', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=False)), ('image_alt_text', wagtail.blocks.CharBlock(required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('resource', wagtail.documents.blocks.DocumentChooserBlock(required=True))], icon='doc-full', label='Attachment'))]))], icon='folder')), ('accordion', wagtail.blocks.StreamBlock([('item', wagtail.blocks.StructBlock([('title', wagtail.blocks.TextBlock()), ('body', wagtail.blocks.RichTextBlock())]))], icon='tasks'))]))], icon='doc-empty-inverse'))], icon='list-ul')), ('image', wagtail.images.blocks.ImageChooserBlock(help_text='Legacy option. Consider using Inline Image instead.', icon='placeholder', template='blocks/image_block.html'))], blank=True, null=True, use_json_field=True), + ), + ] diff --git a/in_depth/migrations/0039_accordion_blocks.py b/in_depth/migrations/0039_accordion_blocks.py new file mode 100644 index 000000000..8f99e4e6d --- /dev/null +++ b/in_depth/migrations/0039_accordion_blocks.py @@ -0,0 +1,29 @@ +# Generated by Django 3.2.18 on 2024-04-05 14:18 + +import wagtail.blocks +import wagtail.contrib.table_block.blocks +import wagtail.documents.blocks +import wagtail.embeds.blocks +import wagtail.fields +import wagtail.images.blocks +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('in_depth', '0038_specify_heading_levels_in_labels'), + ] + + operations = [ + migrations.AlterField( + model_name='indepthprofile', + name='body', + field=wagtail.fields.StreamField([('introduction', wagtail.blocks.RichTextBlock()), ('heading', wagtail.blocks.CharBlock(form_classname='full title')), ('paragraph', wagtail.blocks.RichTextBlock()), ('image', wagtail.images.blocks.ImageChooserBlock(icon='image')), ('video', wagtail.embeds.blocks.EmbedBlock(icon='media')), ('table', wagtail.contrib.table_block.blocks.TableBlock()), ('button', wagtail.blocks.StructBlock([('button_text', wagtail.blocks.CharBlock(max_length=50, required=True)), ('button_link', wagtail.blocks.URLBlock(default='https://www.', required=True)), ('alignment', wagtail.blocks.ChoiceBlock(choices=[('left-aligned', 'Left'), ('center-aligned', 'Center')]))])), ('iframe', wagtail.blocks.StructBlock([('source_url', wagtail.blocks.URLBlock(required=True)), ('column_width', wagtail.blocks.ChoiceBlock(choices=[('column-width', 'Column Width (max 650px)'), ('width-1200', 'Site Width (max 1200px)'), ('full-width', 'Full Width (max 100%)')], help_text='The maximum width of the iframe. Always use "Column Width" for non-report content types (e.g. blog posts, About pages). Never use "Full-Width" unless specifically instructed to by your designer.', required=False)), ('fixed_height', wagtail.blocks.BooleanBlock(help_text='Leave unchecked if you want width-to-height ratio to be preserved on smaller screens. Check to ignore the width value and instead use the full width of the column, with a fixed height.', required=False)), ('width', wagtail.blocks.IntegerBlock(help_text='The iframe will look best if the width is at least as large as the column width. Note that the maximum, in 2018 and earlier, used to be 1050.', required=True)), ('height', wagtail.blocks.IntegerBlock(required=True)), ('fallback_image', wagtail.images.blocks.ImageChooserBlock(help_text='The fallback image will be rendered for the PDF', icon='image', required=False)), ('fallback_image_align', wagtail.blocks.ChoiceBlock(choices=[('center', 'Centered'), ('left', 'Left'), ('right', 'Right')])), ('fallback_image_width', wagtail.blocks.ChoiceBlock(choices=[('initial', 'Auto'), ('width-133', 'Medium'), ('width-166', 'Large'), ('width-200', 'X-Large')])), ('fallback_image_use_original', wagtail.blocks.BooleanBlock(help_text='check if you do not want image compressed. Should be checked for all figures.', required=False)), ('fallback_image_alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Fallback image alternative text'))])), ('collapsible', wagtail.blocks.StructBlock([('hidden_by_default', wagtail.blocks.StreamBlock([('introduction', wagtail.blocks.RichTextBlock(icon='openquote')), ('heading', wagtail.blocks.CharBlock(form_classname='full title', icon='title', label='Heading (Heading 2)', template='blocks/heading.html')), ('paragraph', wagtail.blocks.RichTextBlock()), ('inline_image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=True)), ('align', wagtail.blocks.ChoiceBlock(choices=[('center', 'Centered'), ('left', 'Left'), ('right', 'Right')])), ('width', wagtail.blocks.ChoiceBlock(choices=[('initial', 'Auto'), ('width-133', 'Medium'), ('width-166', 'Large'), ('width-200', 'X-Large'), ('width-full', 'Full-width')])), ('use_original', wagtail.blocks.BooleanBlock(help_text='check if you do not want image compressed. Should be checked for all figures.', required=False)), ('figure_number', wagtail.blocks.CharBlock(max_length=3, required=False)), ('figure_title', wagtail.blocks.CharBlock(max_length=100, required=False)), ('open_image_on_click', wagtail.blocks.BooleanBlock(default=False, required=False)), ('alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Alternative text'))], icon='image')), ('video', wagtail.embeds.blocks.EmbedBlock(icon='media')), ('table', wagtail.contrib.table_block.blocks.TableBlock(template='blocks/table.html')), ('button', wagtail.blocks.StructBlock([('button_text', wagtail.blocks.CharBlock(max_length=50, required=True)), ('button_link', wagtail.blocks.URLBlock(default='https://www.', required=True)), ('alignment', wagtail.blocks.ChoiceBlock(choices=[('left-aligned', 'Left'), ('center-aligned', 'Center')]))])), ('iframe', wagtail.blocks.StructBlock([('source_url', wagtail.blocks.URLBlock(required=True)), ('column_width', wagtail.blocks.ChoiceBlock(choices=[('column-width', 'Column Width (max 650px)'), ('width-1200', 'Site Width (max 1200px)'), ('full-width', 'Full Width (max 100%)')], help_text='The maximum width of the iframe. Always use "Column Width" for non-report content types (e.g. blog posts, About pages). Never use "Full-Width" unless specifically instructed to by your designer.', required=False)), ('fixed_height', wagtail.blocks.BooleanBlock(help_text='Leave unchecked if you want width-to-height ratio to be preserved on smaller screens. Check to ignore the width value and instead use the full width of the column, with a fixed height.', required=False)), ('width', wagtail.blocks.IntegerBlock(help_text='The iframe will look best if the width is at least as large as the column width. Note that the maximum, in 2018 and earlier, used to be 1050.', required=True)), ('height', wagtail.blocks.IntegerBlock(required=True)), ('fallback_image', wagtail.images.blocks.ImageChooserBlock(help_text='The fallback image will be rendered for the PDF', icon='image', required=False)), ('fallback_image_align', wagtail.blocks.ChoiceBlock(choices=[('center', 'Centered'), ('left', 'Left'), ('right', 'Right')])), ('fallback_image_width', wagtail.blocks.ChoiceBlock(choices=[('initial', 'Auto'), ('width-133', 'Medium'), ('width-166', 'Large'), ('width-200', 'X-Large')])), ('fallback_image_use_original', wagtail.blocks.BooleanBlock(help_text='check if you do not want image compressed. Should be checked for all figures.', required=False)), ('fallback_image_alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Fallback image alternative text'))], icon='link')), ('datawrapper', wagtail.blocks.StructBlock([('chart_id', wagtail.blocks.CharBlock(help_text='The 5 character ID for the chart, e.g. "kT4Qi"', required=True)), ('embed_code', wagtail.blocks.TextBlock(help_text='The "Responsive Embed" code provided by Datawrapper', required=True)), ('width', wagtail.blocks.ChoiceBlock(choices=[('column-width', 'Column Width (max 650px)'), ('width-1200', 'Site Width (max 1200px)'), ('full-width', 'Full Width (max 100%)')], help_text='The maximum width of the chart. Always use "Column Width" for non-report content types (e.g. blog posts, About pages). Never use "Full-Width" unless specifically instructed to by your designer.', required=False)), ('fallback_image', wagtail.images.blocks.ImageChooserBlock(help_text='The fallback image will be rendered for the PDF', icon='image', required=False)), ('fallback_image_align', wagtail.blocks.ChoiceBlock(choices=[('center', 'Centered'), ('left', 'Left'), ('right', 'Right')])), ('fallback_image_width', wagtail.blocks.ChoiceBlock(choices=[('initial', 'Auto'), ('width-133', 'Medium'), ('width-166', 'Large'), ('width-200', 'X-Large')])), ('fallback_image_alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Fallback image alternative text'))], icon='code')), ('dataviz', wagtail.blocks.StructBlock([('container_id', wagtail.blocks.CharBlock(required=True)), ('width', wagtail.blocks.ChoiceBlock(choices=[('column-width', 'Column Width (max 650px)'), ('width-1200', 'Site Width (max 1200px)'), ('full-width', 'Full Width (max 100%)')], required=False)), ('title', wagtail.blocks.CharBlock(required=False)), ('subheading', wagtail.blocks.RichTextBlock(required=False)), ('max_width', wagtail.blocks.IntegerBlock(help_text='for legacy dataviz projects', required=False)), ('show_chart_buttons', wagtail.blocks.BooleanBlock(default=False, required=False))], icon='code')), ('timeline', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('subheading', wagtail.blocks.CharBlock(required=False)), ('default_view', wagtail.blocks.ChoiceBlock(choices=[('timeline', 'Timeline'), ('list', 'List')], help_text='Should the default view be a timeline or a list?', required=False)), ('major_timeline_splits', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('start_date', wagtail.blocks.DateBlock(required=True)), ('end_date', wagtail.blocks.DateBlock(required=False)), ('date_display_type', wagtail.blocks.ChoiceBlock(choices=[('year', 'Year'), ('month', 'Month'), ('day', 'Day')], help_text='Controls how specific the date is displayed'))]), default='', required=False)), ('event_eras', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('start_date', wagtail.blocks.DateBlock(required=True)), ('end_date', wagtail.blocks.DateBlock(required=False)), ('date_display_type', wagtail.blocks.ChoiceBlock(choices=[('year', 'Year'), ('month', 'Month'), ('day', 'Day')], help_text='Controls how specific the date is displayed'))]), default='', required=False)), ('event_categories', wagtail.blocks.ListBlock(wagtail.blocks.CharBlock(), default='', required=False)), ('event_list', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('italicize_title', wagtail.blocks.BooleanBlock(default=False, required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('category', wagtail.blocks.CharBlock(required=False)), ('start_date', wagtail.blocks.DateBlock(required=True)), ('end_date', wagtail.blocks.DateBlock(required=False)), ('date_display_type', wagtail.blocks.ChoiceBlock(choices=[('year', 'Year'), ('month', 'Month'), ('day', 'Day')], help_text='Controls how specific the date is displayed'))])))], icon='order')), ('google_map', wagtail.blocks.StructBlock([('use_page_address', wagtail.blocks.BooleanBlock(default=False, help_text='If selected, map will use the address already defined for this page, if applicable. For most posts besides events, this should be left unchecked and the form below should be completed.', required=False)), ('street', wagtail.blocks.TextBlock(required=False)), ('city', wagtail.blocks.TextBlock(default='Washington', required=False)), ('state', wagtail.blocks.TextBlock(default='D.C.', required=False)), ('zipcode', wagtail.blocks.TextBlock(default='200', required=False))], icon='site')), ('resource_kit', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('description', wagtail.blocks.TextBlock(required=False)), ('resources', wagtail.blocks.StreamBlock([('post', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=False)), ('image_alt_text', wagtail.blocks.CharBlock(required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('resource', wagtail.blocks.PageChooserBlock(required=True))], icon='redirect', label='Post')), ('external_resource', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=False)), ('image_alt_text', wagtail.blocks.CharBlock(required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('resource', wagtail.blocks.URLBlock(required=True))], icon='site', label='External resource')), ('attachment', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=False)), ('image_alt_text', wagtail.blocks.CharBlock(required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('resource', wagtail.documents.blocks.DocumentChooserBlock(required=True))], icon='doc-full', label='Attachment'))]))], icon='folder')), ('accordion', wagtail.blocks.StreamBlock([('item', wagtail.blocks.StructBlock([('title', wagtail.blocks.TextBlock()), ('body', wagtail.blocks.RichTextBlock())]))], icon='tasks')), ('people', wagtail.blocks.StreamBlock([('title', wagtail.blocks.CharBlock(required=True)), ('description', wagtail.blocks.TextBlock(required=False)), ('person', wagtail.blocks.StructBlock([('name', wagtail.blocks.TextBlock(required=True)), ('title', wagtail.blocks.TextBlock(help_text='125 character limit', max_length=125, required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=False)), ('image_alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Image alternative text')), ('twitter', wagtail.blocks.URLBlock(required=False))]))], help_text='Grid of people with short bios that appear on click', icon='group')), ('panels', wagtail.blocks.StreamBlock([('panel', wagtail.blocks.StructBlock([('title', wagtail.blocks.TextBlock()), ('body', wagtail.blocks.StreamBlock([('introduction', wagtail.blocks.RichTextBlock(icon='openquote')), ('heading', wagtail.blocks.CharBlock(form_classname='full title', icon='title', label='Heading (Heading 2)', template='blocks/heading.html')), ('paragraph', wagtail.blocks.RichTextBlock()), ('inline_image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=True)), ('align', wagtail.blocks.ChoiceBlock(choices=[('center', 'Centered'), ('left', 'Left'), ('right', 'Right')])), ('width', wagtail.blocks.ChoiceBlock(choices=[('initial', 'Auto'), ('width-133', 'Medium'), ('width-166', 'Large'), ('width-200', 'X-Large'), ('width-full', 'Full-width')])), ('use_original', wagtail.blocks.BooleanBlock(help_text='check if you do not want image compressed. Should be checked for all figures.', required=False)), ('figure_number', wagtail.blocks.CharBlock(max_length=3, required=False)), ('figure_title', wagtail.blocks.CharBlock(max_length=100, required=False)), ('open_image_on_click', wagtail.blocks.BooleanBlock(default=False, required=False)), ('alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Alternative text'))], icon='image')), ('video', wagtail.embeds.blocks.EmbedBlock(icon='media')), ('table', wagtail.contrib.table_block.blocks.TableBlock(template='blocks/table.html')), ('button', wagtail.blocks.StructBlock([('button_text', wagtail.blocks.CharBlock(max_length=50, required=True)), ('button_link', wagtail.blocks.URLBlock(default='https://www.', required=True)), ('alignment', wagtail.blocks.ChoiceBlock(choices=[('left-aligned', 'Left'), ('center-aligned', 'Center')]))])), ('iframe', wagtail.blocks.StructBlock([('source_url', wagtail.blocks.URLBlock(required=True)), ('column_width', wagtail.blocks.ChoiceBlock(choices=[('column-width', 'Column Width (max 650px)'), ('width-1200', 'Site Width (max 1200px)'), ('full-width', 'Full Width (max 100%)')], help_text='The maximum width of the iframe. Always use "Column Width" for non-report content types (e.g. blog posts, About pages). Never use "Full-Width" unless specifically instructed to by your designer.', required=False)), ('fixed_height', wagtail.blocks.BooleanBlock(help_text='Leave unchecked if you want width-to-height ratio to be preserved on smaller screens. Check to ignore the width value and instead use the full width of the column, with a fixed height.', required=False)), ('width', wagtail.blocks.IntegerBlock(help_text='The iframe will look best if the width is at least as large as the column width. Note that the maximum, in 2018 and earlier, used to be 1050.', required=True)), ('height', wagtail.blocks.IntegerBlock(required=True)), ('fallback_image', wagtail.images.blocks.ImageChooserBlock(help_text='The fallback image will be rendered for the PDF', icon='image', required=False)), ('fallback_image_align', wagtail.blocks.ChoiceBlock(choices=[('center', 'Centered'), ('left', 'Left'), ('right', 'Right')])), ('fallback_image_width', wagtail.blocks.ChoiceBlock(choices=[('initial', 'Auto'), ('width-133', 'Medium'), ('width-166', 'Large'), ('width-200', 'X-Large')])), ('fallback_image_use_original', wagtail.blocks.BooleanBlock(help_text='check if you do not want image compressed. Should be checked for all figures.', required=False)), ('fallback_image_alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Fallback image alternative text'))], icon='link')), ('datawrapper', wagtail.blocks.StructBlock([('chart_id', wagtail.blocks.CharBlock(help_text='The 5 character ID for the chart, e.g. "kT4Qi"', required=True)), ('embed_code', wagtail.blocks.TextBlock(help_text='The "Responsive Embed" code provided by Datawrapper', required=True)), ('width', wagtail.blocks.ChoiceBlock(choices=[('column-width', 'Column Width (max 650px)'), ('width-1200', 'Site Width (max 1200px)'), ('full-width', 'Full Width (max 100%)')], help_text='The maximum width of the chart. Always use "Column Width" for non-report content types (e.g. blog posts, About pages). Never use "Full-Width" unless specifically instructed to by your designer.', required=False)), ('fallback_image', wagtail.images.blocks.ImageChooserBlock(help_text='The fallback image will be rendered for the PDF', icon='image', required=False)), ('fallback_image_align', wagtail.blocks.ChoiceBlock(choices=[('center', 'Centered'), ('left', 'Left'), ('right', 'Right')])), ('fallback_image_width', wagtail.blocks.ChoiceBlock(choices=[('initial', 'Auto'), ('width-133', 'Medium'), ('width-166', 'Large'), ('width-200', 'X-Large')])), ('fallback_image_alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Fallback image alternative text'))], icon='code')), ('dataviz', wagtail.blocks.StructBlock([('container_id', wagtail.blocks.CharBlock(required=True)), ('width', wagtail.blocks.ChoiceBlock(choices=[('column-width', 'Column Width (max 650px)'), ('width-1200', 'Site Width (max 1200px)'), ('full-width', 'Full Width (max 100%)')], required=False)), ('title', wagtail.blocks.CharBlock(required=False)), ('subheading', wagtail.blocks.RichTextBlock(required=False)), ('max_width', wagtail.blocks.IntegerBlock(help_text='for legacy dataviz projects', required=False)), ('show_chart_buttons', wagtail.blocks.BooleanBlock(default=False, required=False))], icon='code')), ('timeline', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('subheading', wagtail.blocks.CharBlock(required=False)), ('default_view', wagtail.blocks.ChoiceBlock(choices=[('timeline', 'Timeline'), ('list', 'List')], help_text='Should the default view be a timeline or a list?', required=False)), ('major_timeline_splits', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('start_date', wagtail.blocks.DateBlock(required=True)), ('end_date', wagtail.blocks.DateBlock(required=False)), ('date_display_type', wagtail.blocks.ChoiceBlock(choices=[('year', 'Year'), ('month', 'Month'), ('day', 'Day')], help_text='Controls how specific the date is displayed'))]), default='', required=False)), ('event_eras', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('start_date', wagtail.blocks.DateBlock(required=True)), ('end_date', wagtail.blocks.DateBlock(required=False)), ('date_display_type', wagtail.blocks.ChoiceBlock(choices=[('year', 'Year'), ('month', 'Month'), ('day', 'Day')], help_text='Controls how specific the date is displayed'))]), default='', required=False)), ('event_categories', wagtail.blocks.ListBlock(wagtail.blocks.CharBlock(), default='', required=False)), ('event_list', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('italicize_title', wagtail.blocks.BooleanBlock(default=False, required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('category', wagtail.blocks.CharBlock(required=False)), ('start_date', wagtail.blocks.DateBlock(required=True)), ('end_date', wagtail.blocks.DateBlock(required=False)), ('date_display_type', wagtail.blocks.ChoiceBlock(choices=[('year', 'Year'), ('month', 'Month'), ('day', 'Day')], help_text='Controls how specific the date is displayed'))])))], icon='order')), ('google_map', wagtail.blocks.StructBlock([('use_page_address', wagtail.blocks.BooleanBlock(default=False, help_text='If selected, map will use the address already defined for this page, if applicable. For most posts besides events, this should be left unchecked and the form below should be completed.', required=False)), ('street', wagtail.blocks.TextBlock(required=False)), ('city', wagtail.blocks.TextBlock(default='Washington', required=False)), ('state', wagtail.blocks.TextBlock(default='D.C.', required=False)), ('zipcode', wagtail.blocks.TextBlock(default='200', required=False))], icon='site')), ('resource_kit', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('description', wagtail.blocks.TextBlock(required=False)), ('resources', wagtail.blocks.StreamBlock([('post', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=False)), ('image_alt_text', wagtail.blocks.CharBlock(required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('resource', wagtail.blocks.PageChooserBlock(required=True))], icon='redirect', label='Post')), ('external_resource', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=False)), ('image_alt_text', wagtail.blocks.CharBlock(required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('resource', wagtail.blocks.URLBlock(required=True))], icon='site', label='External resource')), ('attachment', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=False)), ('image_alt_text', wagtail.blocks.CharBlock(required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('resource', wagtail.documents.blocks.DocumentChooserBlock(required=True))], icon='doc-full', label='Attachment'))]))], icon='folder')), ('accordion', wagtail.blocks.StreamBlock([('item', wagtail.blocks.StructBlock([('title', wagtail.blocks.TextBlock()), ('body', wagtail.blocks.RichTextBlock())]))], icon='tasks'))]))], icon='doc-empty-inverse'))], icon='list-ul')), ('image', wagtail.images.blocks.ImageChooserBlock(help_text='Legacy option. Consider using Inline Image instead.', icon='placeholder', template='blocks/image_block.html'))]))])), ('data_reference', wagtail.blocks.StructBlock([('fields_to_display', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('field_name', wagtail.blocks.CharBlock(required=True)), ('label', wagtail.blocks.CharBlock(required=False)), ('format', wagtail.blocks.ChoiceBlock(choices=[('date', 'Date'), ('number', 'Number (with thousands-place comma)'), ('percent', 'Percent'), ('string', 'Plain-text'), ('price', 'Price'), ('rank', 'Rank'), ('markdown', 'Rich-text')])), ('footnote_field', wagtail.blocks.CharBlock(required=False))]), help_text='Specify the field where values to display will be found.'))])), ('video_data_reference', wagtail.blocks.StructBlock([('field_name', wagtail.blocks.CharBlock(required=True)), ('host_site', wagtail.blocks.ChoiceBlock(choices=[('youtube', 'Youtube'), ('vimeo', 'Vimeo')]))]))], use_json_field=True), + ), + migrations.AlterField( + model_name='indepthsection', + name='panels', + field=wagtail.fields.StreamField([('panel', wagtail.blocks.StructBlock([('panel_title', wagtail.blocks.CharBlock(required=True)), ('panel_color_theme', wagtail.blocks.ChoiceBlock(choices=[('white', 'White'), ('grey', 'Grey'), ('black', 'Black')])), ('panel_body', wagtail.blocks.StreamBlock([('introduction', wagtail.blocks.RichTextBlock(icon='openquote')), ('heading', wagtail.blocks.CharBlock(form_classname='full title', icon='title', label='Heading (Heading 2)', template='blocks/heading.html')), ('paragraph', wagtail.blocks.RichTextBlock()), ('inline_image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=True)), ('align', wagtail.blocks.ChoiceBlock(choices=[('center', 'Centered'), ('left', 'Left'), ('right', 'Right')])), ('width', wagtail.blocks.ChoiceBlock(choices=[('initial', 'Auto'), ('width-133', 'Medium'), ('width-166', 'Large'), ('width-200', 'X-Large'), ('width-full', 'Full-width')])), ('use_original', wagtail.blocks.BooleanBlock(help_text='check if you do not want image compressed. Should be checked for all figures.', required=False)), ('figure_number', wagtail.blocks.CharBlock(max_length=3, required=False)), ('figure_title', wagtail.blocks.CharBlock(max_length=100, required=False)), ('open_image_on_click', wagtail.blocks.BooleanBlock(default=False, required=False)), ('alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Alternative text'))], icon='image')), ('video', wagtail.embeds.blocks.EmbedBlock(icon='media')), ('table', wagtail.contrib.table_block.blocks.TableBlock(template='blocks/table.html')), ('button', wagtail.blocks.StructBlock([('button_text', wagtail.blocks.CharBlock(max_length=50, required=True)), ('button_link', wagtail.blocks.URLBlock(default='https://www.', required=True)), ('alignment', wagtail.blocks.ChoiceBlock(choices=[('left-aligned', 'Left'), ('center-aligned', 'Center')]))])), ('iframe', wagtail.blocks.StructBlock([('source_url', wagtail.blocks.URLBlock(required=True)), ('column_width', wagtail.blocks.ChoiceBlock(choices=[('column-width', 'Column Width (max 650px)'), ('width-1200', 'Site Width (max 1200px)'), ('full-width', 'Full Width (max 100%)')], help_text='The maximum width of the iframe. Always use "Column Width" for non-report content types (e.g. blog posts, About pages). Never use "Full-Width" unless specifically instructed to by your designer.', required=False)), ('fixed_height', wagtail.blocks.BooleanBlock(help_text='Leave unchecked if you want width-to-height ratio to be preserved on smaller screens. Check to ignore the width value and instead use the full width of the column, with a fixed height.', required=False)), ('width', wagtail.blocks.IntegerBlock(help_text='The iframe will look best if the width is at least as large as the column width. Note that the maximum, in 2018 and earlier, used to be 1050.', required=True)), ('height', wagtail.blocks.IntegerBlock(required=True)), ('fallback_image', wagtail.images.blocks.ImageChooserBlock(help_text='The fallback image will be rendered for the PDF', icon='image', required=False)), ('fallback_image_align', wagtail.blocks.ChoiceBlock(choices=[('center', 'Centered'), ('left', 'Left'), ('right', 'Right')])), ('fallback_image_width', wagtail.blocks.ChoiceBlock(choices=[('initial', 'Auto'), ('width-133', 'Medium'), ('width-166', 'Large'), ('width-200', 'X-Large')])), ('fallback_image_use_original', wagtail.blocks.BooleanBlock(help_text='check if you do not want image compressed. Should be checked for all figures.', required=False)), ('fallback_image_alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Fallback image alternative text'))], icon='link')), ('datawrapper', wagtail.blocks.StructBlock([('chart_id', wagtail.blocks.CharBlock(help_text='The 5 character ID for the chart, e.g. "kT4Qi"', required=True)), ('embed_code', wagtail.blocks.TextBlock(help_text='The "Responsive Embed" code provided by Datawrapper', required=True)), ('width', wagtail.blocks.ChoiceBlock(choices=[('column-width', 'Column Width (max 650px)'), ('width-1200', 'Site Width (max 1200px)'), ('full-width', 'Full Width (max 100%)')], help_text='The maximum width of the chart. Always use "Column Width" for non-report content types (e.g. blog posts, About pages). Never use "Full-Width" unless specifically instructed to by your designer.', required=False)), ('fallback_image', wagtail.images.blocks.ImageChooserBlock(help_text='The fallback image will be rendered for the PDF', icon='image', required=False)), ('fallback_image_align', wagtail.blocks.ChoiceBlock(choices=[('center', 'Centered'), ('left', 'Left'), ('right', 'Right')])), ('fallback_image_width', wagtail.blocks.ChoiceBlock(choices=[('initial', 'Auto'), ('width-133', 'Medium'), ('width-166', 'Large'), ('width-200', 'X-Large')])), ('fallback_image_alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Fallback image alternative text'))], icon='code')), ('dataviz', wagtail.blocks.StructBlock([('container_id', wagtail.blocks.CharBlock(required=True)), ('width', wagtail.blocks.ChoiceBlock(choices=[('column-width', 'Column Width (max 650px)'), ('width-1200', 'Site Width (max 1200px)'), ('full-width', 'Full Width (max 100%)')], required=False)), ('title', wagtail.blocks.CharBlock(required=False)), ('subheading', wagtail.blocks.RichTextBlock(required=False)), ('max_width', wagtail.blocks.IntegerBlock(help_text='for legacy dataviz projects', required=False)), ('show_chart_buttons', wagtail.blocks.BooleanBlock(default=False, required=False))], icon='code')), ('timeline', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('subheading', wagtail.blocks.CharBlock(required=False)), ('default_view', wagtail.blocks.ChoiceBlock(choices=[('timeline', 'Timeline'), ('list', 'List')], help_text='Should the default view be a timeline or a list?', required=False)), ('major_timeline_splits', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('start_date', wagtail.blocks.DateBlock(required=True)), ('end_date', wagtail.blocks.DateBlock(required=False)), ('date_display_type', wagtail.blocks.ChoiceBlock(choices=[('year', 'Year'), ('month', 'Month'), ('day', 'Day')], help_text='Controls how specific the date is displayed'))]), default='', required=False)), ('event_eras', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('start_date', wagtail.blocks.DateBlock(required=True)), ('end_date', wagtail.blocks.DateBlock(required=False)), ('date_display_type', wagtail.blocks.ChoiceBlock(choices=[('year', 'Year'), ('month', 'Month'), ('day', 'Day')], help_text='Controls how specific the date is displayed'))]), default='', required=False)), ('event_categories', wagtail.blocks.ListBlock(wagtail.blocks.CharBlock(), default='', required=False)), ('event_list', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('italicize_title', wagtail.blocks.BooleanBlock(default=False, required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('category', wagtail.blocks.CharBlock(required=False)), ('start_date', wagtail.blocks.DateBlock(required=True)), ('end_date', wagtail.blocks.DateBlock(required=False)), ('date_display_type', wagtail.blocks.ChoiceBlock(choices=[('year', 'Year'), ('month', 'Month'), ('day', 'Day')], help_text='Controls how specific the date is displayed'))])))], icon='order')), ('google_map', wagtail.blocks.StructBlock([('use_page_address', wagtail.blocks.BooleanBlock(default=False, help_text='If selected, map will use the address already defined for this page, if applicable. For most posts besides events, this should be left unchecked and the form below should be completed.', required=False)), ('street', wagtail.blocks.TextBlock(required=False)), ('city', wagtail.blocks.TextBlock(default='Washington', required=False)), ('state', wagtail.blocks.TextBlock(default='D.C.', required=False)), ('zipcode', wagtail.blocks.TextBlock(default='200', required=False))], icon='site')), ('resource_kit', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('description', wagtail.blocks.TextBlock(required=False)), ('resources', wagtail.blocks.StreamBlock([('post', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=False)), ('image_alt_text', wagtail.blocks.CharBlock(required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('resource', wagtail.blocks.PageChooserBlock(required=True))], icon='redirect', label='Post')), ('external_resource', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=False)), ('image_alt_text', wagtail.blocks.CharBlock(required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('resource', wagtail.blocks.URLBlock(required=True))], icon='site', label='External resource')), ('attachment', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=False)), ('image_alt_text', wagtail.blocks.CharBlock(required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('resource', wagtail.documents.blocks.DocumentChooserBlock(required=True))], icon='doc-full', label='Attachment'))]))], icon='folder')), ('accordion', wagtail.blocks.StreamBlock([('item', wagtail.blocks.StructBlock([('title', wagtail.blocks.TextBlock()), ('body', wagtail.blocks.RichTextBlock())]))], icon='tasks')), ('people', wagtail.blocks.StreamBlock([('title', wagtail.blocks.CharBlock(required=True)), ('description', wagtail.blocks.TextBlock(required=False)), ('person', wagtail.blocks.StructBlock([('name', wagtail.blocks.TextBlock(required=True)), ('title', wagtail.blocks.TextBlock(help_text='125 character limit', max_length=125, required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=False)), ('image_alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Image alternative text')), ('twitter', wagtail.blocks.URLBlock(required=False))]))], help_text='Grid of people with short bios that appear on click', icon='group')), ('panels', wagtail.blocks.StreamBlock([('panel', wagtail.blocks.StructBlock([('title', wagtail.blocks.TextBlock()), ('body', wagtail.blocks.StreamBlock([('introduction', wagtail.blocks.RichTextBlock(icon='openquote')), ('heading', wagtail.blocks.CharBlock(form_classname='full title', icon='title', label='Heading (Heading 2)', template='blocks/heading.html')), ('paragraph', wagtail.blocks.RichTextBlock()), ('inline_image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=True)), ('align', wagtail.blocks.ChoiceBlock(choices=[('center', 'Centered'), ('left', 'Left'), ('right', 'Right')])), ('width', wagtail.blocks.ChoiceBlock(choices=[('initial', 'Auto'), ('width-133', 'Medium'), ('width-166', 'Large'), ('width-200', 'X-Large'), ('width-full', 'Full-width')])), ('use_original', wagtail.blocks.BooleanBlock(help_text='check if you do not want image compressed. Should be checked for all figures.', required=False)), ('figure_number', wagtail.blocks.CharBlock(max_length=3, required=False)), ('figure_title', wagtail.blocks.CharBlock(max_length=100, required=False)), ('open_image_on_click', wagtail.blocks.BooleanBlock(default=False, required=False)), ('alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Alternative text'))], icon='image')), ('video', wagtail.embeds.blocks.EmbedBlock(icon='media')), ('table', wagtail.contrib.table_block.blocks.TableBlock(template='blocks/table.html')), ('button', wagtail.blocks.StructBlock([('button_text', wagtail.blocks.CharBlock(max_length=50, required=True)), ('button_link', wagtail.blocks.URLBlock(default='https://www.', required=True)), ('alignment', wagtail.blocks.ChoiceBlock(choices=[('left-aligned', 'Left'), ('center-aligned', 'Center')]))])), ('iframe', wagtail.blocks.StructBlock([('source_url', wagtail.blocks.URLBlock(required=True)), ('column_width', wagtail.blocks.ChoiceBlock(choices=[('column-width', 'Column Width (max 650px)'), ('width-1200', 'Site Width (max 1200px)'), ('full-width', 'Full Width (max 100%)')], help_text='The maximum width of the iframe. Always use "Column Width" for non-report content types (e.g. blog posts, About pages). Never use "Full-Width" unless specifically instructed to by your designer.', required=False)), ('fixed_height', wagtail.blocks.BooleanBlock(help_text='Leave unchecked if you want width-to-height ratio to be preserved on smaller screens. Check to ignore the width value and instead use the full width of the column, with a fixed height.', required=False)), ('width', wagtail.blocks.IntegerBlock(help_text='The iframe will look best if the width is at least as large as the column width. Note that the maximum, in 2018 and earlier, used to be 1050.', required=True)), ('height', wagtail.blocks.IntegerBlock(required=True)), ('fallback_image', wagtail.images.blocks.ImageChooserBlock(help_text='The fallback image will be rendered for the PDF', icon='image', required=False)), ('fallback_image_align', wagtail.blocks.ChoiceBlock(choices=[('center', 'Centered'), ('left', 'Left'), ('right', 'Right')])), ('fallback_image_width', wagtail.blocks.ChoiceBlock(choices=[('initial', 'Auto'), ('width-133', 'Medium'), ('width-166', 'Large'), ('width-200', 'X-Large')])), ('fallback_image_use_original', wagtail.blocks.BooleanBlock(help_text='check if you do not want image compressed. Should be checked for all figures.', required=False)), ('fallback_image_alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Fallback image alternative text'))], icon='link')), ('datawrapper', wagtail.blocks.StructBlock([('chart_id', wagtail.blocks.CharBlock(help_text='The 5 character ID for the chart, e.g. "kT4Qi"', required=True)), ('embed_code', wagtail.blocks.TextBlock(help_text='The "Responsive Embed" code provided by Datawrapper', required=True)), ('width', wagtail.blocks.ChoiceBlock(choices=[('column-width', 'Column Width (max 650px)'), ('width-1200', 'Site Width (max 1200px)'), ('full-width', 'Full Width (max 100%)')], help_text='The maximum width of the chart. Always use "Column Width" for non-report content types (e.g. blog posts, About pages). Never use "Full-Width" unless specifically instructed to by your designer.', required=False)), ('fallback_image', wagtail.images.blocks.ImageChooserBlock(help_text='The fallback image will be rendered for the PDF', icon='image', required=False)), ('fallback_image_align', wagtail.blocks.ChoiceBlock(choices=[('center', 'Centered'), ('left', 'Left'), ('right', 'Right')])), ('fallback_image_width', wagtail.blocks.ChoiceBlock(choices=[('initial', 'Auto'), ('width-133', 'Medium'), ('width-166', 'Large'), ('width-200', 'X-Large')])), ('fallback_image_alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Fallback image alternative text'))], icon='code')), ('dataviz', wagtail.blocks.StructBlock([('container_id', wagtail.blocks.CharBlock(required=True)), ('width', wagtail.blocks.ChoiceBlock(choices=[('column-width', 'Column Width (max 650px)'), ('width-1200', 'Site Width (max 1200px)'), ('full-width', 'Full Width (max 100%)')], required=False)), ('title', wagtail.blocks.CharBlock(required=False)), ('subheading', wagtail.blocks.RichTextBlock(required=False)), ('max_width', wagtail.blocks.IntegerBlock(help_text='for legacy dataviz projects', required=False)), ('show_chart_buttons', wagtail.blocks.BooleanBlock(default=False, required=False))], icon='code')), ('timeline', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('subheading', wagtail.blocks.CharBlock(required=False)), ('default_view', wagtail.blocks.ChoiceBlock(choices=[('timeline', 'Timeline'), ('list', 'List')], help_text='Should the default view be a timeline or a list?', required=False)), ('major_timeline_splits', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('start_date', wagtail.blocks.DateBlock(required=True)), ('end_date', wagtail.blocks.DateBlock(required=False)), ('date_display_type', wagtail.blocks.ChoiceBlock(choices=[('year', 'Year'), ('month', 'Month'), ('day', 'Day')], help_text='Controls how specific the date is displayed'))]), default='', required=False)), ('event_eras', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('start_date', wagtail.blocks.DateBlock(required=True)), ('end_date', wagtail.blocks.DateBlock(required=False)), ('date_display_type', wagtail.blocks.ChoiceBlock(choices=[('year', 'Year'), ('month', 'Month'), ('day', 'Day')], help_text='Controls how specific the date is displayed'))]), default='', required=False)), ('event_categories', wagtail.blocks.ListBlock(wagtail.blocks.CharBlock(), default='', required=False)), ('event_list', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('italicize_title', wagtail.blocks.BooleanBlock(default=False, required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('category', wagtail.blocks.CharBlock(required=False)), ('start_date', wagtail.blocks.DateBlock(required=True)), ('end_date', wagtail.blocks.DateBlock(required=False)), ('date_display_type', wagtail.blocks.ChoiceBlock(choices=[('year', 'Year'), ('month', 'Month'), ('day', 'Day')], help_text='Controls how specific the date is displayed'))])))], icon='order')), ('google_map', wagtail.blocks.StructBlock([('use_page_address', wagtail.blocks.BooleanBlock(default=False, help_text='If selected, map will use the address already defined for this page, if applicable. For most posts besides events, this should be left unchecked and the form below should be completed.', required=False)), ('street', wagtail.blocks.TextBlock(required=False)), ('city', wagtail.blocks.TextBlock(default='Washington', required=False)), ('state', wagtail.blocks.TextBlock(default='D.C.', required=False)), ('zipcode', wagtail.blocks.TextBlock(default='200', required=False))], icon='site')), ('resource_kit', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('description', wagtail.blocks.TextBlock(required=False)), ('resources', wagtail.blocks.StreamBlock([('post', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=False)), ('image_alt_text', wagtail.blocks.CharBlock(required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('resource', wagtail.blocks.PageChooserBlock(required=True))], icon='redirect', label='Post')), ('external_resource', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=False)), ('image_alt_text', wagtail.blocks.CharBlock(required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('resource', wagtail.blocks.URLBlock(required=True))], icon='site', label='External resource')), ('attachment', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=False)), ('image_alt_text', wagtail.blocks.CharBlock(required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('resource', wagtail.documents.blocks.DocumentChooserBlock(required=True))], icon='doc-full', label='Attachment'))]))], icon='folder')), ('accordion', wagtail.blocks.StreamBlock([('item', wagtail.blocks.StructBlock([('title', wagtail.blocks.TextBlock()), ('body', wagtail.blocks.RichTextBlock())]))], icon='tasks'))]))], icon='doc-empty-inverse'))], icon='list-ul')), ('image', wagtail.images.blocks.ImageChooserBlock(help_text='Legacy option. Consider using Inline Image instead.', icon='placeholder', template='blocks/image_block.html')), ('collapsible', wagtail.blocks.StructBlock([('hidden_by_default', wagtail.blocks.StreamBlock([('introduction', wagtail.blocks.RichTextBlock(icon='openquote')), ('heading', wagtail.blocks.CharBlock(form_classname='full title', icon='title', label='Heading (Heading 2)', template='blocks/heading.html')), ('paragraph', wagtail.blocks.RichTextBlock()), ('inline_image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=True)), ('align', wagtail.blocks.ChoiceBlock(choices=[('center', 'Centered'), ('left', 'Left'), ('right', 'Right')])), ('width', wagtail.blocks.ChoiceBlock(choices=[('initial', 'Auto'), ('width-133', 'Medium'), ('width-166', 'Large'), ('width-200', 'X-Large'), ('width-full', 'Full-width')])), ('use_original', wagtail.blocks.BooleanBlock(help_text='check if you do not want image compressed. Should be checked for all figures.', required=False)), ('figure_number', wagtail.blocks.CharBlock(max_length=3, required=False)), ('figure_title', wagtail.blocks.CharBlock(max_length=100, required=False)), ('open_image_on_click', wagtail.blocks.BooleanBlock(default=False, required=False)), ('alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Alternative text'))], icon='image')), ('video', wagtail.embeds.blocks.EmbedBlock(icon='media')), ('table', wagtail.contrib.table_block.blocks.TableBlock(template='blocks/table.html')), ('button', wagtail.blocks.StructBlock([('button_text', wagtail.blocks.CharBlock(max_length=50, required=True)), ('button_link', wagtail.blocks.URLBlock(default='https://www.', required=True)), ('alignment', wagtail.blocks.ChoiceBlock(choices=[('left-aligned', 'Left'), ('center-aligned', 'Center')]))])), ('iframe', wagtail.blocks.StructBlock([('source_url', wagtail.blocks.URLBlock(required=True)), ('column_width', wagtail.blocks.ChoiceBlock(choices=[('column-width', 'Column Width (max 650px)'), ('width-1200', 'Site Width (max 1200px)'), ('full-width', 'Full Width (max 100%)')], help_text='The maximum width of the iframe. Always use "Column Width" for non-report content types (e.g. blog posts, About pages). Never use "Full-Width" unless specifically instructed to by your designer.', required=False)), ('fixed_height', wagtail.blocks.BooleanBlock(help_text='Leave unchecked if you want width-to-height ratio to be preserved on smaller screens. Check to ignore the width value and instead use the full width of the column, with a fixed height.', required=False)), ('width', wagtail.blocks.IntegerBlock(help_text='The iframe will look best if the width is at least as large as the column width. Note that the maximum, in 2018 and earlier, used to be 1050.', required=True)), ('height', wagtail.blocks.IntegerBlock(required=True)), ('fallback_image', wagtail.images.blocks.ImageChooserBlock(help_text='The fallback image will be rendered for the PDF', icon='image', required=False)), ('fallback_image_align', wagtail.blocks.ChoiceBlock(choices=[('center', 'Centered'), ('left', 'Left'), ('right', 'Right')])), ('fallback_image_width', wagtail.blocks.ChoiceBlock(choices=[('initial', 'Auto'), ('width-133', 'Medium'), ('width-166', 'Large'), ('width-200', 'X-Large')])), ('fallback_image_use_original', wagtail.blocks.BooleanBlock(help_text='check if you do not want image compressed. Should be checked for all figures.', required=False)), ('fallback_image_alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Fallback image alternative text'))], icon='link')), ('datawrapper', wagtail.blocks.StructBlock([('chart_id', wagtail.blocks.CharBlock(help_text='The 5 character ID for the chart, e.g. "kT4Qi"', required=True)), ('embed_code', wagtail.blocks.TextBlock(help_text='The "Responsive Embed" code provided by Datawrapper', required=True)), ('width', wagtail.blocks.ChoiceBlock(choices=[('column-width', 'Column Width (max 650px)'), ('width-1200', 'Site Width (max 1200px)'), ('full-width', 'Full Width (max 100%)')], help_text='The maximum width of the chart. Always use "Column Width" for non-report content types (e.g. blog posts, About pages). Never use "Full-Width" unless specifically instructed to by your designer.', required=False)), ('fallback_image', wagtail.images.blocks.ImageChooserBlock(help_text='The fallback image will be rendered for the PDF', icon='image', required=False)), ('fallback_image_align', wagtail.blocks.ChoiceBlock(choices=[('center', 'Centered'), ('left', 'Left'), ('right', 'Right')])), ('fallback_image_width', wagtail.blocks.ChoiceBlock(choices=[('initial', 'Auto'), ('width-133', 'Medium'), ('width-166', 'Large'), ('width-200', 'X-Large')])), ('fallback_image_alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Fallback image alternative text'))], icon='code')), ('dataviz', wagtail.blocks.StructBlock([('container_id', wagtail.blocks.CharBlock(required=True)), ('width', wagtail.blocks.ChoiceBlock(choices=[('column-width', 'Column Width (max 650px)'), ('width-1200', 'Site Width (max 1200px)'), ('full-width', 'Full Width (max 100%)')], required=False)), ('title', wagtail.blocks.CharBlock(required=False)), ('subheading', wagtail.blocks.RichTextBlock(required=False)), ('max_width', wagtail.blocks.IntegerBlock(help_text='for legacy dataviz projects', required=False)), ('show_chart_buttons', wagtail.blocks.BooleanBlock(default=False, required=False))], icon='code')), ('timeline', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('subheading', wagtail.blocks.CharBlock(required=False)), ('default_view', wagtail.blocks.ChoiceBlock(choices=[('timeline', 'Timeline'), ('list', 'List')], help_text='Should the default view be a timeline or a list?', required=False)), ('major_timeline_splits', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('start_date', wagtail.blocks.DateBlock(required=True)), ('end_date', wagtail.blocks.DateBlock(required=False)), ('date_display_type', wagtail.blocks.ChoiceBlock(choices=[('year', 'Year'), ('month', 'Month'), ('day', 'Day')], help_text='Controls how specific the date is displayed'))]), default='', required=False)), ('event_eras', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('start_date', wagtail.blocks.DateBlock(required=True)), ('end_date', wagtail.blocks.DateBlock(required=False)), ('date_display_type', wagtail.blocks.ChoiceBlock(choices=[('year', 'Year'), ('month', 'Month'), ('day', 'Day')], help_text='Controls how specific the date is displayed'))]), default='', required=False)), ('event_categories', wagtail.blocks.ListBlock(wagtail.blocks.CharBlock(), default='', required=False)), ('event_list', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('italicize_title', wagtail.blocks.BooleanBlock(default=False, required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('category', wagtail.blocks.CharBlock(required=False)), ('start_date', wagtail.blocks.DateBlock(required=True)), ('end_date', wagtail.blocks.DateBlock(required=False)), ('date_display_type', wagtail.blocks.ChoiceBlock(choices=[('year', 'Year'), ('month', 'Month'), ('day', 'Day')], help_text='Controls how specific the date is displayed'))])))], icon='order')), ('google_map', wagtail.blocks.StructBlock([('use_page_address', wagtail.blocks.BooleanBlock(default=False, help_text='If selected, map will use the address already defined for this page, if applicable. For most posts besides events, this should be left unchecked and the form below should be completed.', required=False)), ('street', wagtail.blocks.TextBlock(required=False)), ('city', wagtail.blocks.TextBlock(default='Washington', required=False)), ('state', wagtail.blocks.TextBlock(default='D.C.', required=False)), ('zipcode', wagtail.blocks.TextBlock(default='200', required=False))], icon='site')), ('resource_kit', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('description', wagtail.blocks.TextBlock(required=False)), ('resources', wagtail.blocks.StreamBlock([('post', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=False)), ('image_alt_text', wagtail.blocks.CharBlock(required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('resource', wagtail.blocks.PageChooserBlock(required=True))], icon='redirect', label='Post')), ('external_resource', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=False)), ('image_alt_text', wagtail.blocks.CharBlock(required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('resource', wagtail.blocks.URLBlock(required=True))], icon='site', label='External resource')), ('attachment', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=False)), ('image_alt_text', wagtail.blocks.CharBlock(required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('resource', wagtail.documents.blocks.DocumentChooserBlock(required=True))], icon='doc-full', label='Attachment'))]))], icon='folder')), ('accordion', wagtail.blocks.StreamBlock([('item', wagtail.blocks.StructBlock([('title', wagtail.blocks.TextBlock()), ('body', wagtail.blocks.RichTextBlock())]))], icon='tasks')), ('people', wagtail.blocks.StreamBlock([('title', wagtail.blocks.CharBlock(required=True)), ('description', wagtail.blocks.TextBlock(required=False)), ('person', wagtail.blocks.StructBlock([('name', wagtail.blocks.TextBlock(required=True)), ('title', wagtail.blocks.TextBlock(help_text='125 character limit', max_length=125, required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=False)), ('image_alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Image alternative text')), ('twitter', wagtail.blocks.URLBlock(required=False))]))], help_text='Grid of people with short bios that appear on click', icon='group')), ('panels', wagtail.blocks.StreamBlock([('panel', wagtail.blocks.StructBlock([('title', wagtail.blocks.TextBlock()), ('body', wagtail.blocks.StreamBlock([('introduction', wagtail.blocks.RichTextBlock(icon='openquote')), ('heading', wagtail.blocks.CharBlock(form_classname='full title', icon='title', label='Heading (Heading 2)', template='blocks/heading.html')), ('paragraph', wagtail.blocks.RichTextBlock()), ('inline_image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=True)), ('align', wagtail.blocks.ChoiceBlock(choices=[('center', 'Centered'), ('left', 'Left'), ('right', 'Right')])), ('width', wagtail.blocks.ChoiceBlock(choices=[('initial', 'Auto'), ('width-133', 'Medium'), ('width-166', 'Large'), ('width-200', 'X-Large'), ('width-full', 'Full-width')])), ('use_original', wagtail.blocks.BooleanBlock(help_text='check if you do not want image compressed. Should be checked for all figures.', required=False)), ('figure_number', wagtail.blocks.CharBlock(max_length=3, required=False)), ('figure_title', wagtail.blocks.CharBlock(max_length=100, required=False)), ('open_image_on_click', wagtail.blocks.BooleanBlock(default=False, required=False)), ('alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Alternative text'))], icon='image')), ('video', wagtail.embeds.blocks.EmbedBlock(icon='media')), ('table', wagtail.contrib.table_block.blocks.TableBlock(template='blocks/table.html')), ('button', wagtail.blocks.StructBlock([('button_text', wagtail.blocks.CharBlock(max_length=50, required=True)), ('button_link', wagtail.blocks.URLBlock(default='https://www.', required=True)), ('alignment', wagtail.blocks.ChoiceBlock(choices=[('left-aligned', 'Left'), ('center-aligned', 'Center')]))])), ('iframe', wagtail.blocks.StructBlock([('source_url', wagtail.blocks.URLBlock(required=True)), ('column_width', wagtail.blocks.ChoiceBlock(choices=[('column-width', 'Column Width (max 650px)'), ('width-1200', 'Site Width (max 1200px)'), ('full-width', 'Full Width (max 100%)')], help_text='The maximum width of the iframe. Always use "Column Width" for non-report content types (e.g. blog posts, About pages). Never use "Full-Width" unless specifically instructed to by your designer.', required=False)), ('fixed_height', wagtail.blocks.BooleanBlock(help_text='Leave unchecked if you want width-to-height ratio to be preserved on smaller screens. Check to ignore the width value and instead use the full width of the column, with a fixed height.', required=False)), ('width', wagtail.blocks.IntegerBlock(help_text='The iframe will look best if the width is at least as large as the column width. Note that the maximum, in 2018 and earlier, used to be 1050.', required=True)), ('height', wagtail.blocks.IntegerBlock(required=True)), ('fallback_image', wagtail.images.blocks.ImageChooserBlock(help_text='The fallback image will be rendered for the PDF', icon='image', required=False)), ('fallback_image_align', wagtail.blocks.ChoiceBlock(choices=[('center', 'Centered'), ('left', 'Left'), ('right', 'Right')])), ('fallback_image_width', wagtail.blocks.ChoiceBlock(choices=[('initial', 'Auto'), ('width-133', 'Medium'), ('width-166', 'Large'), ('width-200', 'X-Large')])), ('fallback_image_use_original', wagtail.blocks.BooleanBlock(help_text='check if you do not want image compressed. Should be checked for all figures.', required=False)), ('fallback_image_alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Fallback image alternative text'))], icon='link')), ('datawrapper', wagtail.blocks.StructBlock([('chart_id', wagtail.blocks.CharBlock(help_text='The 5 character ID for the chart, e.g. "kT4Qi"', required=True)), ('embed_code', wagtail.blocks.TextBlock(help_text='The "Responsive Embed" code provided by Datawrapper', required=True)), ('width', wagtail.blocks.ChoiceBlock(choices=[('column-width', 'Column Width (max 650px)'), ('width-1200', 'Site Width (max 1200px)'), ('full-width', 'Full Width (max 100%)')], help_text='The maximum width of the chart. Always use "Column Width" for non-report content types (e.g. blog posts, About pages). Never use "Full-Width" unless specifically instructed to by your designer.', required=False)), ('fallback_image', wagtail.images.blocks.ImageChooserBlock(help_text='The fallback image will be rendered for the PDF', icon='image', required=False)), ('fallback_image_align', wagtail.blocks.ChoiceBlock(choices=[('center', 'Centered'), ('left', 'Left'), ('right', 'Right')])), ('fallback_image_width', wagtail.blocks.ChoiceBlock(choices=[('initial', 'Auto'), ('width-133', 'Medium'), ('width-166', 'Large'), ('width-200', 'X-Large')])), ('fallback_image_alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Fallback image alternative text'))], icon='code')), ('dataviz', wagtail.blocks.StructBlock([('container_id', wagtail.blocks.CharBlock(required=True)), ('width', wagtail.blocks.ChoiceBlock(choices=[('column-width', 'Column Width (max 650px)'), ('width-1200', 'Site Width (max 1200px)'), ('full-width', 'Full Width (max 100%)')], required=False)), ('title', wagtail.blocks.CharBlock(required=False)), ('subheading', wagtail.blocks.RichTextBlock(required=False)), ('max_width', wagtail.blocks.IntegerBlock(help_text='for legacy dataviz projects', required=False)), ('show_chart_buttons', wagtail.blocks.BooleanBlock(default=False, required=False))], icon='code')), ('timeline', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('subheading', wagtail.blocks.CharBlock(required=False)), ('default_view', wagtail.blocks.ChoiceBlock(choices=[('timeline', 'Timeline'), ('list', 'List')], help_text='Should the default view be a timeline or a list?', required=False)), ('major_timeline_splits', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('start_date', wagtail.blocks.DateBlock(required=True)), ('end_date', wagtail.blocks.DateBlock(required=False)), ('date_display_type', wagtail.blocks.ChoiceBlock(choices=[('year', 'Year'), ('month', 'Month'), ('day', 'Day')], help_text='Controls how specific the date is displayed'))]), default='', required=False)), ('event_eras', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('start_date', wagtail.blocks.DateBlock(required=True)), ('end_date', wagtail.blocks.DateBlock(required=False)), ('date_display_type', wagtail.blocks.ChoiceBlock(choices=[('year', 'Year'), ('month', 'Month'), ('day', 'Day')], help_text='Controls how specific the date is displayed'))]), default='', required=False)), ('event_categories', wagtail.blocks.ListBlock(wagtail.blocks.CharBlock(), default='', required=False)), ('event_list', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('italicize_title', wagtail.blocks.BooleanBlock(default=False, required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('category', wagtail.blocks.CharBlock(required=False)), ('start_date', wagtail.blocks.DateBlock(required=True)), ('end_date', wagtail.blocks.DateBlock(required=False)), ('date_display_type', wagtail.blocks.ChoiceBlock(choices=[('year', 'Year'), ('month', 'Month'), ('day', 'Day')], help_text='Controls how specific the date is displayed'))])))], icon='order')), ('google_map', wagtail.blocks.StructBlock([('use_page_address', wagtail.blocks.BooleanBlock(default=False, help_text='If selected, map will use the address already defined for this page, if applicable. For most posts besides events, this should be left unchecked and the form below should be completed.', required=False)), ('street', wagtail.blocks.TextBlock(required=False)), ('city', wagtail.blocks.TextBlock(default='Washington', required=False)), ('state', wagtail.blocks.TextBlock(default='D.C.', required=False)), ('zipcode', wagtail.blocks.TextBlock(default='200', required=False))], icon='site')), ('resource_kit', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('description', wagtail.blocks.TextBlock(required=False)), ('resources', wagtail.blocks.StreamBlock([('post', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=False)), ('image_alt_text', wagtail.blocks.CharBlock(required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('resource', wagtail.blocks.PageChooserBlock(required=True))], icon='redirect', label='Post')), ('external_resource', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=False)), ('image_alt_text', wagtail.blocks.CharBlock(required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('resource', wagtail.blocks.URLBlock(required=True))], icon='site', label='External resource')), ('attachment', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=False)), ('image_alt_text', wagtail.blocks.CharBlock(required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('resource', wagtail.documents.blocks.DocumentChooserBlock(required=True))], icon='doc-full', label='Attachment'))]))], icon='folder')), ('accordion', wagtail.blocks.StreamBlock([('item', wagtail.blocks.StructBlock([('title', wagtail.blocks.TextBlock()), ('body', wagtail.blocks.RichTextBlock())]))], icon='tasks'))]))], icon='doc-empty-inverse'))], icon='list-ul')), ('image', wagtail.images.blocks.ImageChooserBlock(help_text='Legacy option. Consider using Inline Image instead.', icon='placeholder', template='blocks/image_block.html'))]))]))]))]))], blank=True, null=True, use_json_field=True), + ), + ] diff --git a/newamericadotorg/assets/react/blocks/accordion.js b/newamericadotorg/assets/react/blocks/accordion.js new file mode 100644 index 000000000..2a91c57b0 --- /dev/null +++ b/newamericadotorg/assets/react/blocks/accordion.js @@ -0,0 +1,49 @@ +import '../home-panels/pages/Jobs.scss'; + +import React, { Component } from 'react'; +import { PlusX } from '../components/Icons'; + +const NAME = 'accordionBlock'; +const ID = 'accordion-block'; + + +class APP extends Component { + state = { + expanded: new Set() + } + + toggleExpand = (i) => { + let updated = new Set(this.state.expanded); + if (updated.has(i)) { + updated.delete(i); + } else { + updated.add(i); + } + this.setState({expanded: updated}); + } + + render() { + let { items } = this.props; + let { expanded } = this.state; + let itemsArray = JSON.parse(items); + return ( +
+
+
+ {itemsArray.map((item, i) => ( +
+ +

{ this.toggleExpand(i) }}>{item.title}

+
+
+
+
+ ))} +
+
+
+ ); + } +} + +export default { APP, NAME, ID, MULTI: true }; diff --git a/newamericadotorg/assets/react/components.core.js b/newamericadotorg/assets/react/components.core.js index 7f16a59c1..e55b9447e 100644 --- a/newamericadotorg/assets/react/components.core.js +++ b/newamericadotorg/assets/react/components.core.js @@ -2,6 +2,7 @@ import feedback from './feedback/index'; import cookiesNotification from './cookies-notification/index'; import resourcesBlock from './blocks/resources'; import scheduleBlock from './blocks/schedule'; +import accordionBlock from './blocks/accordion'; import homeSubscribe from './home-subscribe/index'; import subscribePage from './subscribe-page/index'; @@ -11,5 +12,6 @@ reactRenderer.add(feedback); reactRenderer.add(cookiesNotification); reactRenderer.add(resourcesBlock); reactRenderer.add(scheduleBlock); +reactRenderer.add(accordionBlock); reactRenderer.add(homeSubscribe); reactRenderer.add(subscribePage); diff --git a/newamericadotorg/assets/react/program-page/components/About.js b/newamericadotorg/assets/react/program-page/components/About.js index f2296a1bb..fa977f1a3 100644 --- a/newamericadotorg/assets/react/program-page/components/About.js +++ b/newamericadotorg/assets/react/program-page/components/About.js @@ -4,6 +4,7 @@ import React, { Component } from 'react'; import { render } from 'react-dom'; import { Link, NavLink, Route } from 'react-router-dom'; import { APP as Resources, ID as resourcesDOMId } from '../../blocks/resources'; +import Accordion from '../../blocks/accordion' import getProps from '../../../lib/utils/get-props'; class AboutBody extends Component { @@ -21,12 +22,29 @@ class AboutBody extends Component { ); } } + + // repeat of above hack for accordion blocks defined inside Django template. + addAccordionBlocks = () => { + let accordionElements = document.querySelectorAll(`.na-react__${Accordion.ID}`); + if (!accordionElements) return; + + accordionElements.forEach(r => { + if (r.hasChildNodes()) return; // already rendered + let props = getProps(r); + render( + , r + ); + }) + } + componentDidMount(){ this.addResourcesBlocks(); + this.addAccordionBlocks(); } componentDidUpdate(){ this.addResourcesBlocks(); + this.addAccordionBlocks(); } render(){ diff --git a/newamericadotorg/blocks.py b/newamericadotorg/blocks.py index 8fbfbc313..fee873438 100644 --- a/newamericadotorg/blocks.py +++ b/newamericadotorg/blocks.py @@ -576,6 +576,30 @@ class Meta: template = "blocks/schedule.html" +class AccordionItemBlock(blocks.StructBlock): + title = blocks.TextBlock() + body = blocks.RichTextBlock() + + +class AccordionBlock(blocks.StreamBlock): + item = AccordionItemBlock() + + def get_context(self, value, parent_context=None): + context = super().get_context(value, parent_context=parent_context) + context["items"] = json.dumps([ + { + "title": item.value["title"], + # json.dumps cannot implicitly serialize RichText + # instances, so we must call `str`. + "body": str(item.value["body"]), + } for item in value + ]) + return context + + class Meta: + template = "blocks/accordion.html" + + class Body(blocks.StreamBlock): introduction = blocks.RichTextBlock(icon="openquote") heading = blocks.CharBlock( @@ -595,6 +619,7 @@ class Body(blocks.StreamBlock): timeline = TimelineBlock(icon="order") google_map = GoogleMapBlock(icon="site") resource_kit = ResourceKit(icon="folder") + accordion = AccordionBlock(icon="tasks") class PanelBlock(blocks.StructBlock): diff --git a/newamericadotorg/templates/blocks/accordion.html b/newamericadotorg/templates/blocks/accordion.html new file mode 100644 index 000000000..b117534a5 --- /dev/null +++ b/newamericadotorg/templates/blocks/accordion.html @@ -0,0 +1 @@ +
diff --git a/report/migrations/0031_accordion_blocks.py b/report/migrations/0031_accordion_blocks.py new file mode 100644 index 000000000..d8b89a602 --- /dev/null +++ b/report/migrations/0031_accordion_blocks.py @@ -0,0 +1,24 @@ +# Generated by Django 3.2.18 on 2024-04-05 14:18 + +import wagtail.blocks +import wagtail.contrib.table_block.blocks +import wagtail.documents.blocks +import wagtail.embeds.blocks +import wagtail.fields +import wagtail.images.blocks +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('report', '0030_specify_heading_levels_in_labels'), + ] + + operations = [ + migrations.AlterField( + model_name='report', + name='sections', + field=wagtail.fields.StreamField([('section', wagtail.blocks.StructBlock([('title', wagtail.blocks.TextBlock(label='Title (Heading 1)')), ('hide_title', wagtail.blocks.BooleanBlock(required=False)), ('body', wagtail.blocks.StreamBlock([('introduction', wagtail.blocks.RichTextBlock(icon='openquote')), ('heading', wagtail.blocks.CharBlock(form_classname='full title', icon='title', label='Heading (Heading 2)', template='blocks/heading.html')), ('paragraph', wagtail.blocks.RichTextBlock()), ('inline_image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=True)), ('align', wagtail.blocks.ChoiceBlock(choices=[('center', 'Centered'), ('left', 'Left'), ('right', 'Right')])), ('width', wagtail.blocks.ChoiceBlock(choices=[('initial', 'Auto'), ('width-133', 'Medium'), ('width-166', 'Large'), ('width-200', 'X-Large'), ('width-full', 'Full-width')])), ('use_original', wagtail.blocks.BooleanBlock(help_text='check if you do not want image compressed. Should be checked for all figures.', required=False)), ('figure_number', wagtail.blocks.CharBlock(max_length=3, required=False)), ('figure_title', wagtail.blocks.CharBlock(max_length=100, required=False)), ('open_image_on_click', wagtail.blocks.BooleanBlock(default=False, required=False)), ('alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Alternative text'))], icon='image')), ('video', wagtail.embeds.blocks.EmbedBlock(icon='media')), ('table', wagtail.contrib.table_block.blocks.TableBlock(template='blocks/table.html')), ('button', wagtail.blocks.StructBlock([('button_text', wagtail.blocks.CharBlock(max_length=50, required=True)), ('button_link', wagtail.blocks.URLBlock(default='https://www.', required=True)), ('alignment', wagtail.blocks.ChoiceBlock(choices=[('left-aligned', 'Left'), ('center-aligned', 'Center')]))])), ('iframe', wagtail.blocks.StructBlock([('source_url', wagtail.blocks.URLBlock(required=True)), ('column_width', wagtail.blocks.ChoiceBlock(choices=[('column-width', 'Column Width (max 650px)'), ('width-1200', 'Site Width (max 1200px)'), ('full-width', 'Full Width (max 100%)')], help_text='The maximum width of the iframe. Always use "Column Width" for non-report content types (e.g. blog posts, About pages). Never use "Full-Width" unless specifically instructed to by your designer.', required=False)), ('fixed_height', wagtail.blocks.BooleanBlock(help_text='Leave unchecked if you want width-to-height ratio to be preserved on smaller screens. Check to ignore the width value and instead use the full width of the column, with a fixed height.', required=False)), ('width', wagtail.blocks.IntegerBlock(help_text='The iframe will look best if the width is at least as large as the column width. Note that the maximum, in 2018 and earlier, used to be 1050.', required=True)), ('height', wagtail.blocks.IntegerBlock(required=True)), ('fallback_image', wagtail.images.blocks.ImageChooserBlock(help_text='The fallback image will be rendered for the PDF', icon='image', required=False)), ('fallback_image_align', wagtail.blocks.ChoiceBlock(choices=[('center', 'Centered'), ('left', 'Left'), ('right', 'Right')])), ('fallback_image_width', wagtail.blocks.ChoiceBlock(choices=[('initial', 'Auto'), ('width-133', 'Medium'), ('width-166', 'Large'), ('width-200', 'X-Large')])), ('fallback_image_use_original', wagtail.blocks.BooleanBlock(help_text='check if you do not want image compressed. Should be checked for all figures.', required=False)), ('fallback_image_alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Fallback image alternative text'))], icon='link')), ('datawrapper', wagtail.blocks.StructBlock([('chart_id', wagtail.blocks.CharBlock(help_text='The 5 character ID for the chart, e.g. "kT4Qi"', required=True)), ('embed_code', wagtail.blocks.TextBlock(help_text='The "Responsive Embed" code provided by Datawrapper', required=True)), ('width', wagtail.blocks.ChoiceBlock(choices=[('column-width', 'Column Width (max 650px)'), ('width-1200', 'Site Width (max 1200px)'), ('full-width', 'Full Width (max 100%)')], help_text='The maximum width of the chart. Always use "Column Width" for non-report content types (e.g. blog posts, About pages). Never use "Full-Width" unless specifically instructed to by your designer.', required=False)), ('fallback_image', wagtail.images.blocks.ImageChooserBlock(help_text='The fallback image will be rendered for the PDF', icon='image', required=False)), ('fallback_image_align', wagtail.blocks.ChoiceBlock(choices=[('center', 'Centered'), ('left', 'Left'), ('right', 'Right')])), ('fallback_image_width', wagtail.blocks.ChoiceBlock(choices=[('initial', 'Auto'), ('width-133', 'Medium'), ('width-166', 'Large'), ('width-200', 'X-Large')])), ('fallback_image_alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Fallback image alternative text'))], icon='code')), ('dataviz', wagtail.blocks.StructBlock([('container_id', wagtail.blocks.CharBlock(required=True)), ('width', wagtail.blocks.ChoiceBlock(choices=[('column-width', 'Column Width (max 650px)'), ('width-1200', 'Site Width (max 1200px)'), ('full-width', 'Full Width (max 100%)')], required=False)), ('title', wagtail.blocks.CharBlock(required=False)), ('subheading', wagtail.blocks.RichTextBlock(required=False)), ('max_width', wagtail.blocks.IntegerBlock(help_text='for legacy dataviz projects', required=False)), ('show_chart_buttons', wagtail.blocks.BooleanBlock(default=False, required=False)), ('static_image_fallback', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=False)), ('align', wagtail.blocks.ChoiceBlock(choices=[('center', 'Centered'), ('left', 'Left'), ('right', 'Right')], required=False)), ('width', wagtail.blocks.ChoiceBlock(choices=[('initial', 'Auto'), ('width-133', 'Medium'), ('width-166', 'Large'), ('width-200', 'X-Large')], required=False)), ('use_original', wagtail.blocks.BooleanBlock(help_text='check if you do not want image compressed. Should be checked for all figures.', required=False)), ('figure_number', wagtail.blocks.CharBlock(max_length=3, required=False)), ('figure_title', wagtail.blocks.CharBlock(max_length=100, required=False)), ('open_image_on_click', wagtail.blocks.BooleanBlock(default=False, required=False)), ('alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Alternative text'))], icon='image'))], icon='code')), ('timeline', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('subheading', wagtail.blocks.CharBlock(required=False)), ('default_view', wagtail.blocks.ChoiceBlock(choices=[('timeline', 'Timeline'), ('list', 'List')], help_text='Should the default view be a timeline or a list?', required=False)), ('major_timeline_splits', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('start_date', wagtail.blocks.DateBlock(required=True)), ('end_date', wagtail.blocks.DateBlock(required=False)), ('date_display_type', wagtail.blocks.ChoiceBlock(choices=[('year', 'Year'), ('month', 'Month'), ('day', 'Day')], help_text='Controls how specific the date is displayed'))]), default='', required=False)), ('event_eras', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('start_date', wagtail.blocks.DateBlock(required=True)), ('end_date', wagtail.blocks.DateBlock(required=False)), ('date_display_type', wagtail.blocks.ChoiceBlock(choices=[('year', 'Year'), ('month', 'Month'), ('day', 'Day')], help_text='Controls how specific the date is displayed'))]), default='', required=False)), ('event_categories', wagtail.blocks.ListBlock(wagtail.blocks.CharBlock(), default='', required=False)), ('event_list', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('italicize_title', wagtail.blocks.BooleanBlock(default=False, required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('category', wagtail.blocks.CharBlock(required=False)), ('start_date', wagtail.blocks.DateBlock(required=True)), ('end_date', wagtail.blocks.DateBlock(required=False)), ('date_display_type', wagtail.blocks.ChoiceBlock(choices=[('year', 'Year'), ('month', 'Month'), ('day', 'Day')], help_text='Controls how specific the date is displayed'))])))], icon='order')), ('google_map', wagtail.blocks.StructBlock([('use_page_address', wagtail.blocks.BooleanBlock(default=False, help_text='If selected, map will use the address already defined for this page, if applicable. For most posts besides events, this should be left unchecked and the form below should be completed.', required=False)), ('street', wagtail.blocks.TextBlock(required=False)), ('city', wagtail.blocks.TextBlock(default='Washington', required=False)), ('state', wagtail.blocks.TextBlock(default='D.C.', required=False)), ('zipcode', wagtail.blocks.TextBlock(default='200', required=False))], icon='site')), ('resource_kit', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(required=True)), ('description', wagtail.blocks.TextBlock(required=False)), ('resources', wagtail.blocks.StreamBlock([('post', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=False)), ('image_alt_text', wagtail.blocks.CharBlock(required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('resource', wagtail.blocks.PageChooserBlock(required=True))], icon='redirect', label='Post')), ('external_resource', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=False)), ('image_alt_text', wagtail.blocks.CharBlock(required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('resource', wagtail.blocks.URLBlock(required=True))], icon='site', label='External resource')), ('attachment', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(required=True)), ('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=False)), ('image_alt_text', wagtail.blocks.CharBlock(required=False)), ('description', wagtail.blocks.RichTextBlock(required=False)), ('resource', wagtail.documents.blocks.DocumentChooserBlock(required=True))], icon='doc-full', label='Attachment'))]))], icon='folder')), ('accordion', wagtail.blocks.StreamBlock([('item', wagtail.blocks.StructBlock([('title', wagtail.blocks.TextBlock()), ('body', wagtail.blocks.RichTextBlock())]))], icon='tasks')), ('box', wagtail.blocks.StructBlock([('title', wagtail.blocks.TextBlock(required=False)), ('body', wagtail.blocks.StreamBlock([('paragraph', wagtail.blocks.RichTextBlock()), ('inline_image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=True)), ('align', wagtail.blocks.ChoiceBlock(choices=[('center', 'Centered'), ('left', 'Left'), ('right', 'Right')])), ('width', wagtail.blocks.ChoiceBlock(choices=[('initial', 'Auto'), ('width-133', 'Medium'), ('width-166', 'Large'), ('width-200', 'X-Large'), ('width-full', 'Full-width')])), ('use_original', wagtail.blocks.BooleanBlock(help_text='check if you do not want image compressed. Should be checked for all figures.', required=False)), ('figure_number', wagtail.blocks.CharBlock(max_length=3, required=False)), ('figure_title', wagtail.blocks.CharBlock(max_length=100, required=False)), ('open_image_on_click', wagtail.blocks.BooleanBlock(default=False, required=False)), ('alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Alternative text'))], icon='image')), ('video', wagtail.embeds.blocks.EmbedBlock(icon='media')), ('iframe', wagtail.blocks.StructBlock([('source_url', wagtail.blocks.URLBlock(required=True)), ('column_width', wagtail.blocks.ChoiceBlock(choices=[('column-width', 'Column Width (max 650px)'), ('width-1200', 'Site Width (max 1200px)'), ('full-width', 'Full Width (max 100%)')], help_text='The maximum width of the iframe. Always use "Column Width" for non-report content types (e.g. blog posts, About pages). Never use "Full-Width" unless specifically instructed to by your designer.', required=False)), ('fixed_height', wagtail.blocks.BooleanBlock(help_text='Leave unchecked if you want width-to-height ratio to be preserved on smaller screens. Check to ignore the width value and instead use the full width of the column, with a fixed height.', required=False)), ('width', wagtail.blocks.IntegerBlock(help_text='The iframe will look best if the width is at least as large as the column width. Note that the maximum, in 2018 and earlier, used to be 1050.', required=True)), ('height', wagtail.blocks.IntegerBlock(required=True)), ('fallback_image', wagtail.images.blocks.ImageChooserBlock(help_text='The fallback image will be rendered for the PDF', icon='image', required=False)), ('fallback_image_align', wagtail.blocks.ChoiceBlock(choices=[('center', 'Centered'), ('left', 'Left'), ('right', 'Right')])), ('fallback_image_width', wagtail.blocks.ChoiceBlock(choices=[('initial', 'Auto'), ('width-133', 'Medium'), ('width-166', 'Large'), ('width-200', 'X-Large')])), ('fallback_image_use_original', wagtail.blocks.BooleanBlock(help_text='check if you do not want image compressed. Should be checked for all figures.', required=False)), ('fallback_image_alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Fallback image alternative text'))], icon='link')), ('datawrapper', wagtail.blocks.StructBlock([('chart_id', wagtail.blocks.CharBlock(help_text='The 5 character ID for the chart, e.g. "kT4Qi"', required=True)), ('embed_code', wagtail.blocks.TextBlock(help_text='The "Responsive Embed" code provided by Datawrapper', required=True)), ('width', wagtail.blocks.ChoiceBlock(choices=[('column-width', 'Column Width (max 650px)'), ('width-1200', 'Site Width (max 1200px)'), ('full-width', 'Full Width (max 100%)')], help_text='The maximum width of the chart. Always use "Column Width" for non-report content types (e.g. blog posts, About pages). Never use "Full-Width" unless specifically instructed to by your designer.', required=False)), ('fallback_image', wagtail.images.blocks.ImageChooserBlock(help_text='The fallback image will be rendered for the PDF', icon='image', required=False)), ('fallback_image_align', wagtail.blocks.ChoiceBlock(choices=[('center', 'Centered'), ('left', 'Left'), ('right', 'Right')])), ('fallback_image_width', wagtail.blocks.ChoiceBlock(choices=[('initial', 'Auto'), ('width-133', 'Medium'), ('width-166', 'Large'), ('width-200', 'X-Large')])), ('fallback_image_alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Fallback image alternative text'))], icon='code')), ('dataviz', wagtail.blocks.StructBlock([('container_id', wagtail.blocks.CharBlock(required=True)), ('width', wagtail.blocks.ChoiceBlock(choices=[('column-width', 'Column Width (max 650px)'), ('width-1200', 'Site Width (max 1200px)'), ('full-width', 'Full Width (max 100%)')], required=False)), ('title', wagtail.blocks.CharBlock(required=False)), ('subheading', wagtail.blocks.RichTextBlock(required=False)), ('max_width', wagtail.blocks.IntegerBlock(help_text='for legacy dataviz projects', required=False)), ('show_chart_buttons', wagtail.blocks.BooleanBlock(default=False, required=False)), ('static_image_fallback', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(icon='image', required=False)), ('align', wagtail.blocks.ChoiceBlock(choices=[('center', 'Centered'), ('left', 'Left'), ('right', 'Right')], required=False)), ('width', wagtail.blocks.ChoiceBlock(choices=[('initial', 'Auto'), ('width-133', 'Medium'), ('width-166', 'Large'), ('width-200', 'X-Large')], required=False)), ('use_original', wagtail.blocks.BooleanBlock(help_text='check if you do not want image compressed. Should be checked for all figures.', required=False)), ('figure_number', wagtail.blocks.CharBlock(max_length=3, required=False)), ('figure_title', wagtail.blocks.CharBlock(max_length=100, required=False)), ('open_image_on_click', wagtail.blocks.BooleanBlock(default=False, required=False)), ('alt_text', wagtail.blocks.CharBlock(help_text='A concise description of the image for users of assistive technology.', required=False, verbose_name='Alternative text'))], icon='image'))], icon='code'))]))]))]))], required=False, template='components/report_section_body.html'))], blank=True, null=True, use_json_field=True), + ), + ]