33from django import forms
44from django .utils .translation import gettext_lazy as _
55from wagtail import blocks
6-
76from wagtailstreamforms .conf import get_setting
87from wagtailstreamforms .fields import BaseField , register
98
@@ -67,15 +66,18 @@ def get_options(self, block_value):
6766 options .update ({"choices" : choices })
6867 return options
6968
69+ def get_local_blocks (self ):
70+ return [
71+ ("label" , blocks .CharBlock ()),
72+ ("help_text" , blocks .CharBlock (required = False )),
73+ ("required" , blocks .BooleanBlock (required = False )),
74+ ("empty_label" , blocks .CharBlock (required = False )),
75+ ("choices" , blocks .ListBlock (blocks .CharBlock (label = "Option" ))),
76+ ]
77+
7078 def get_form_block (self ):
71- return blocks .StructBlock (
72- [
73- ("label" , blocks .CharBlock ()),
74- ("help_text" , blocks .CharBlock (required = False )),
75- ("required" , blocks .BooleanBlock (required = False )),
76- ("empty_label" , blocks .CharBlock (required = False )),
77- ("choices" , blocks .ListBlock (blocks .CharBlock (label = "Option" ))),
78- ],
79+ return self .get_form_block_class ()(
80+ self .get_local_blocks (),
7981 icon = self .icon ,
8082 label = self .label ,
8183 )
@@ -97,14 +99,17 @@ def get_options(self, block_value):
9799 options .update ({"choices" : choices })
98100 return options
99101
102+ def get_local_blocks (self ):
103+ return [
104+ ("label" , blocks .CharBlock ()),
105+ ("help_text" , blocks .CharBlock (required = False )),
106+ ("required" , blocks .BooleanBlock (required = False )),
107+ ("choices" , blocks .ListBlock (blocks .CharBlock (label = "Option" ))),
108+ ]
109+
100110 def get_form_block (self ):
101- return blocks .StructBlock (
102- [
103- ("label" , blocks .CharBlock ()),
104- ("help_text" , blocks .CharBlock (required = False )),
105- ("required" , blocks .BooleanBlock (required = False )),
106- ("choices" , blocks .ListBlock (blocks .CharBlock (label = "Option" ))),
107- ],
111+ return self .get_form_block_class ()(
112+ self .get_local_blocks (),
108113 icon = self .icon ,
109114 label = self .label ,
110115 )
@@ -127,14 +132,17 @@ def get_options(self, block_value):
127132 options .update ({"choices" : choices })
128133 return options
129134
135+ def get_local_blocks (self ):
136+ return [
137+ ("label" , blocks .CharBlock ()),
138+ ("help_text" , blocks .CharBlock (required = False )),
139+ ("required" , blocks .BooleanBlock (required = False )),
140+ ("choices" , blocks .ListBlock (blocks .CharBlock (label = "Option" ))),
141+ ]
142+
130143 def get_form_block (self ):
131- return blocks .StructBlock (
132- [
133- ("label" , blocks .CharBlock ()),
134- ("help_text" , blocks .CharBlock (required = False )),
135- ("required" , blocks .BooleanBlock (required = False )),
136- ("choices" , blocks .ListBlock (blocks .CharBlock (label = "Option" ))),
137- ],
144+ return self .get_form_block_class ()(
145+ self .get_local_blocks (),
138146 icon = self .icon ,
139147 label = self .label ,
140148 )
@@ -157,14 +165,17 @@ def get_options(self, block_value):
157165 options .update ({"choices" : choices })
158166 return options
159167
168+ def get_local_blocks (self ):
169+ return [
170+ ("label" , blocks .CharBlock ()),
171+ ("help_text" , blocks .CharBlock (required = False )),
172+ ("required" , blocks .BooleanBlock (required = False )),
173+ ("choices" , blocks .ListBlock (blocks .CharBlock (label = "Option" ))),
174+ ]
175+
160176 def get_form_block (self ):
161- return blocks .StructBlock (
162- [
163- ("label" , blocks .CharBlock ()),
164- ("help_text" , blocks .CharBlock (required = False )),
165- ("required" , blocks .BooleanBlock (required = False )),
166- ("choices" , blocks .ListBlock (blocks .CharBlock (label = "Option" ))),
167- ],
177+ return self .get_form_block_class ()(
178+ self .get_local_blocks (),
168179 icon = self .icon ,
169180 label = self .label ,
170181 )
@@ -175,13 +186,16 @@ class CheckboxField(BaseField):
175186 icon = "tick-inverse"
176187 label = _ ("Checkbox field" )
177188
189+ def get_local_blocks (self ):
190+ return [
191+ ("label" , blocks .CharBlock ()),
192+ ("help_text" , blocks .CharBlock (required = False )),
193+ ("required" , blocks .BooleanBlock (required = False )),
194+ ]
195+
178196 def get_form_block (self ):
179- return blocks .StructBlock (
180- [
181- ("label" , blocks .CharBlock ()),
182- ("help_text" , blocks .CharBlock (required = False )),
183- ("required" , blocks .BooleanBlock (required = False )),
184- ],
197+ return self .get_form_block_class ()(
198+ self .get_local_blocks (),
185199 icon = self .icon ,
186200 label = self .label ,
187201 )
@@ -200,13 +214,16 @@ class SingleFileField(BaseField):
200214 icon = "doc-full-inverse"
201215 label = _ ("File field" )
202216
217+ def get_local_blocks (self ):
218+ return [
219+ ("label" , blocks .CharBlock ()),
220+ ("help_text" , blocks .CharBlock (required = False )),
221+ ("required" , blocks .BooleanBlock (required = False )),
222+ ]
223+
203224 def get_form_block (self ):
204- return blocks .StructBlock (
205- [
206- ("label" , blocks .CharBlock ()),
207- ("help_text" , blocks .CharBlock (required = False )),
208- ("required" , blocks .BooleanBlock (required = False )),
209- ],
225+ return self .get_form_block_class ()(
226+ self .get_local_blocks (),
210227 icon = self .icon ,
211228 label = self .label ,
212229 )
@@ -236,13 +253,16 @@ class MultiFileField(BaseField):
236253 icon = "doc-full-inverse"
237254 label = _ ("Files field" )
238255
256+ def get_local_blocks (self ):
257+ return [
258+ ("label" , blocks .CharBlock ()),
259+ ("help_text" , blocks .CharBlock (required = False )),
260+ ("required" , blocks .BooleanBlock (required = False )),
261+ ]
262+
239263 def get_form_block (self ):
240- return blocks .StructBlock (
241- [
242- ("label" , blocks .CharBlock ()),
243- ("help_text" , blocks .CharBlock (required = False )),
244- ("required" , blocks .BooleanBlock (required = False )),
245- ],
264+ return self .get_form_block_class ()(
265+ self .get_local_blocks (),
246266 icon = self .icon ,
247267 label = self .label ,
248268 )
0 commit comments