@@ -576,7 +576,7 @@ def _functions_panel(server):
576576 )
577577
578578
579- def _prop_value_table ():
579+ def _prop_value_table (server ):
580580 """Table (property - value) layout (for general sections)."""
581581 with vuetify .VTable (
582582 v_if = (
@@ -604,10 +604,27 @@ def _prop_value_table():
604604 ),
605605 key = "item_key" ,
606606 ):
607- with html .Td (classes = "text-center" ):
607+ with html .Td (classes = "text-center pa-0" , style = "position: relative;" ):
608+ with vuetify .VBtn (
609+ v_if = "edit_mode == all_edit_modes['edit_mode'] && !json_schema['properties']?.[selected_section_name]?.['required']?.includes(item_key)" ,
610+ tag = "a" ,
611+ v_bind = "{...props, target: '_blank'}" ,
612+ v_tooltip = "Delete this property" ,
613+ click = (server .controller .delete_row , "[item_key]" ),
614+ icon = True ,
615+ ripple = False ,
616+ elevation = "0" ,
617+ style = "position:absolute; left:6px; top:50%; transform:translateY(-50%); "
618+ "min-width:0; padding:0;" ,
619+ ):
620+ vuetify .VIcon (
621+ "mdi-trash-can-outline" , # "mdi-trash-can-outline",#"mdi-book-open-blank-variant-outline",
622+ size = 26 ,
623+ color = "#f77" ,
624+ )
608625 with vuetify .VTooltip (location = "bottom" ):
609626 with html .Template (v_slot_activator = "{ props }" ):
610- html .P (v_text = ("item_key" ,), v_bind = "props" )
627+ html .Span (v_text = ("item_key" ,), v_bind = "props" )
611628 html .P (
612629 v_text = (
613630 "json_schema['properties']?.[selected_section_name]?.['properties']?.[item_key]?.['description'] || 'no description'" ,
@@ -1259,7 +1276,7 @@ def create_gui(server, render_window):
12591276
12601277 # Further elements with conditional rendering (see above)
12611278 _sections_dropdown ()
1262- _prop_value_table ()
1279+ _prop_value_table (server )
12631280 _materials_panel ()
12641281 _functions_panel (server )
12651282 _design_conditions_panel ()
0 commit comments