feat(api): Added abilty to specify a css class for markdown field

ref: #248 #385 #388 nofusscomputing/centurion_erp_ui#4 nofusscomputing/centurion_erp_ui#26
This commit is contained in:
2024-11-13 16:55:43 +09:30
parent 55b123a095
commit e94e28ad33
5 changed files with 25 additions and 5 deletions

View File

@ -273,6 +273,12 @@ class ReactUIMetadata(OverRideJSONAPIMetadata):
field_info["required"] = getattr(field, "required", False)
if hasattr(field, 'style_class'):
field_info["style"]: dict = {
'class': field.style_class
}
attrs = [
"read_only",
"write_only",

View File

@ -99,9 +99,9 @@ class KnowledgeBaseModelSerializer(
}
content = centurion_field.MarkdownField( required = False )
content = centurion_field.MarkdownField( required = False, style_class = 'large' )
summary = centurion_field.MarkdownField( required = False )
summary = centurion_field.MarkdownField( required = False, style_class = 'large' )
class Meta:

View File

@ -6,6 +6,20 @@ from core.fields import CharField
class MarkdownField(CharField):
def __init__(self, multiline = True, **kwargs):
style_class: str = None
""" UI field Additional CSS classes
Format for this value is Sapce Seperated Value (SSV)
"""
def __init__(
self,
multiline = True,
style_class = None,
**kwargs
):
self.style_class = style_class
super().__init__(multiline = multiline, **kwargs)

View File

@ -137,7 +137,7 @@ class TicketModelSerializer(TicketBaseSerializer):
return url_dict
description = centurion_field.MarkdownField( required = True )
description = centurion_field.MarkdownField( required = True, style_class = 'large' )
duration = serializers.IntegerField(source='duration_ticket', read_only=True)

View File

@ -77,7 +77,7 @@ class ProjectModelSerializer(ProjectBaseSerializer):
),
}
description = centurion_field.MarkdownField( required = False )
description = centurion_field.MarkdownField( required = False, style_class = 'large' )
class Meta: