@@ -103,6 +103,27 @@ function RmlUiBooleanField:init(opts)
103103 self :super (" init" , opts )
104104end
105105
106+ function RmlUiBooleanField :GetValue ()
107+ if self .element then
108+ -- Checkboxes use 'checked' property, not 'value'
109+ local input = self .element :GetElementById (" field-" .. self .name )
110+ if input then
111+ return input .checked
112+ end
113+ end
114+ return self .value
115+ end
116+
117+ function RmlUiBooleanField :SetValue (value )
118+ self .value = value
119+ if self .element then
120+ local input = self .element :GetElementById (" field-" .. self .name )
121+ if input then
122+ input .checked = value
123+ end
124+ end
125+ end
126+
106127function RmlUiBooleanField :GenerateRml ()
107128 local checked = self .value and ' checked="checked"' or ' '
108129 -- Remove trailing colon from title if present
@@ -197,9 +218,17 @@ function RmlUiAssetField:init(opts)
197218end
198219
199220function RmlUiAssetField :GenerateRml ()
221+ -- Convert value to string (might be table in some cases)
222+ local valueStr = " "
223+ if self .value then
224+ valueStr = type (self .value ) == " table" and (self .value .name or " " ) or tostring (self .value )
225+ end
226+ -- Remove trailing colon from title if present
227+ local title = self .title :gsub (" :$" , " " )
228+
200229 return string.format (
201230 ' <div class="field-row"><label class="field-label">%s:</label><input type="text" id="field-%s" class="field-input" value="%s" readonly="readonly"/><button id="btn-browse-%s" class="field-button">Browse</button></div>' ,
202- self . title , self .name , self . value or " " , self .name
231+ title , self .name , valueStr , self .name
203232 )
204233end
205234
@@ -222,9 +251,17 @@ function RmlUiMaterialField:init(opts)
222251end
223252
224253function RmlUiMaterialField :GenerateRml ()
254+ -- Convert value to string (might be table in some cases)
255+ local valueStr = " "
256+ if self .value then
257+ valueStr = type (self .value ) == " table" and (self .value .name or " " ) or tostring (self .value )
258+ end
259+ -- Remove trailing colon from title if present
260+ local title = self .title :gsub (" :$" , " " )
261+
225262 return string.format (
226263 ' <div class="field-row"><label class="field-label">%s:</label><input type="text" id="field-%s" class="field-input" value="%s" readonly="readonly"/><button id="btn-browse-%s" class="field-button">Browse</button></div>' ,
227- self . title , self .name , self . value or " " , self .name
264+ title , self .name , valueStr , self .name
228265 )
229266end
230267
@@ -246,9 +283,17 @@ function RmlUiObjectField:init(opts)
246283end
247284
248285function RmlUiObjectField :GenerateRml ()
286+ -- Convert value to string (might be table in some cases)
287+ local valueStr = " "
288+ if self .value then
289+ valueStr = type (self .value ) == " table" and (self .value .id or " " ) or tostring (self .value )
290+ end
291+ -- Remove trailing colon from title if present
292+ local title = self .title :gsub (" :$" , " " )
293+
249294 return string.format (
250295 ' <div class="field-row"><label class="field-label">%s:</label><input type="number" id="field-%s" class="field-input" value="%s"/><button id="btn-pick-%s" class="field-button">Pick</button></div>' ,
251- self . title , self .name , self . value or " " , self .name
296+ title , self .name , valueStr , self .name
252297 )
253298end
254299
@@ -260,9 +305,17 @@ function RmlUiObjectTypeField:init(opts)
260305end
261306
262307function RmlUiObjectTypeField :GenerateRml ()
308+ -- Convert value to string (might be table in some cases)
309+ local valueStr = " "
310+ if self .value then
311+ valueStr = type (self .value ) == " table" and (self .value .name or " " ) or tostring (self .value )
312+ end
313+ -- Remove trailing colon from title if present
314+ local title = self .title :gsub (" :$" , " " )
315+
263316 return string.format (
264317 ' <div class="field-row"><label class="field-label">%s:</label><input type="text" id="field-%s" class="field-input" value="%s"/><button id="btn-browse-%s" class="field-button">Browse</button></div>' ,
265- self . title , self .name , self . value or " " , self .name
318+ title , self .name , valueStr , self .name
266319 )
267320end
268321
0 commit comments