Refactor several "field grids" per Buefy theme

e.g. the Users field when viewing a Role, and Vendor Sources panel
when viewing a Product
This commit is contained in:
Lance Edgar 2021-09-25 18:54:33 -04:00
parent 9fe1d4c596
commit 3ece3303db
9 changed files with 299 additions and 17 deletions

View file

@ -615,6 +615,9 @@ class Form(object):
elif type_ == 'text':
self.set_renderer(key, self.render_pre_sans_serif)
self.set_widget(key, dfwidget.TextAreaWidget(cols=80, rows=8))
elif type_ == 'text_wrapped':
self.set_renderer(key, self.render_pre_sans_serif_wrapped)
self.set_widget(key, dfwidget.TextAreaWidget(cols=80, rows=8))
elif type_ == 'file':
tmpstore = SessionFileUploadTempStore(self.request)
kw = {'widget': dfwidget.FileUploadWidget(tmpstore),
@ -914,14 +917,26 @@ class Form(object):
return ""
return HTML.tag('pre', value)
def render_pre_sans_serif(self, record, field_name):
def render_pre_sans_serif(self, record, field_name, wrapped=False):
value = self.obtain_value(record, field_name)
if value is None:
return ""
# this uses a Bulma helper class, for which we also add custom styles
# to our "default" base.css (for jquery theme)
return HTML.tag('pre', class_='is-family-sans-serif',
c=value)
kwargs = {
'c': value,
# this uses a Bulma helper class, for which we also add
# custom styles to our "default" base.css (for jquery
# theme)
'class_': 'is-family-sans-serif',
}
if wrapped:
kwargs['style'] = 'white-space: pre-wrap;'
return HTML.tag('pre', **kwargs)
def render_pre_sans_serif_wrapped(self, record, field_name):
return self.render_pre_sans_serif(record, field_name, wrapped=True)
def obtain_value(self, record, field_name):
if record: