Skip to content

Commit 5e93f68

Browse files
Copilotakinbender
andcommitted
Fix Braille preview not showing - add event handlers for input changes
- Changed textarea binding from @Bind to @oninput with OnInputTextChanged handler - Added OnLanguageChanged handler for language selector - Added OnColumnsChanged, OnRowsChanged, OnLineSpacingChanged handlers for page config - Added OnFeedRateChanged, OnOffsetXChanged, OnOffsetYChanged handlers for machine config - All configuration changes now trigger UpdatePreview() to refresh the Braille display - Fixed issue where preview table was empty because UpdatePreview() wasn't called on text input Co-authored-by: akinbender <40242943+akinbender@users.noreply.github.com>
1 parent 3e8c1da commit 5e93f68

1 file changed

Lines changed: 82 additions & 13 deletions

File tree

‎MakerPrompt.Shared/Pages/BrailleRAPPage.razor‎

Lines changed: 82 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@
2727
<textarea id="brailleText"
2828
class="form-control"
2929
rows="10"
30-
@bind="inputText"
31-
@bind:event="oninput"
30+
value="@inputText"
31+
@oninput="OnInputTextChanged"
3232
placeholder="@Localizer[Resources.BrailleRAP_TextPlaceholder]"
3333
aria-label="@Localizer[Resources.BrailleRAP_EnterText]"></textarea>
3434
</div>
@@ -68,8 +68,8 @@
6868
<div class="mb-3">
6969
<label for="brailleLanguage" class="form-label">@Localizer[Resources.BrailleRAP_Language]</label>
7070
<select id="brailleLanguage" class="form-select"
71-
@bind="selectedLanguage"
72-
@bind:event="onchange"
71+
value="@selectedLanguage"
72+
@onchange="OnLanguageChanged"
7373
aria-label="@Localizer[Resources.BrailleRAP_Language]">
7474
<option value="0">English (Grade 1)</option>
7575
<option value="1">Français (Intégral)</option>
@@ -80,24 +80,24 @@
8080
<div class="mb-3">
8181
<label for="columns" class="form-label">@Localizer[Resources.BrailleRAP_Columns]</label>
8282
<input type="number" id="columns" class="form-control"
83-
@bind="pageConfig.Columns"
84-
@bind:event="oninput"
83+
value="@pageConfig.Columns"
84+
@onchange="OnColumnsChanged"
8585
min="1" max="50"
8686
aria-label="@Localizer[Resources.BrailleRAP_Columns]" />
8787
</div>
8888
<div class="mb-3">
8989
<label for="rows" class="form-label">@Localizer[Resources.BrailleRAP_Rows]</label>
9090
<input type="number" id="rows" class="form-control"
91-
@bind="pageConfig.Rows"
92-
@bind:event="oninput"
91+
value="@pageConfig.Rows"
92+
@onchange="OnRowsChanged"
9393
min="1" max="50"
9494
aria-label="@Localizer[Resources.BrailleRAP_Rows]" />
9595
</div>
9696
<div class="mb-3">
9797
<label for="lineSpacing" class="form-label">@Localizer[Resources.BrailleRAP_LineSpacing]</label>
9898
<input type="number" id="lineSpacing" class="form-control"
99-
@bind="pageConfig.LineSpacing"
100-
@bind:event="oninput"
99+
value="@pageConfig.LineSpacing"
100+
@onchange="OnLineSpacingChanged"
101101
min="0" max="3"
102102
aria-label="@Localizer[Resources.BrailleRAP_LineSpacing]" />
103103
</div>
@@ -117,21 +117,24 @@
117117
<div class="mb-3">
118118
<label for="feedRate" class="form-label">@Localizer[Resources.BrailleRAP_FeedRate] (mm/min)</label>
119119
<input type="number" id="feedRate" class="form-control"
120-
@bind="machineConfig.FeedRate"
120+
value="@machineConfig.FeedRate"
121+
@onchange="OnFeedRateChanged"
121122
min="100" max="12000"
122123
aria-label="@Localizer[Resources.BrailleRAP_FeedRate]" />
123124
</div>
124125
<div class="mb-3">
125126
<label for="offsetX" class="form-label">@Localizer[Resources.BrailleRAP_OffsetX] (mm)</label>
126127
<input type="number" id="offsetX" class="form-control"
127-
@bind="machineConfig.OffsetX"
128+
value="@machineConfig.OffsetX"
129+
@onchange="OnOffsetXChanged"
128130
step="0.1"
129131
aria-label="@Localizer[Resources.BrailleRAP_OffsetX]" />
130132
</div>
131133
<div class="mb-3">
132134
<label for="offsetY" class="form-label">@Localizer[Resources.BrailleRAP_OffsetY] (mm)</label>
133135
<input type="number" id="offsetY" class="form-control"
134-
@bind="machineConfig.OffsetY"
136+
value="@machineConfig.OffsetY"
137+
@onchange="OnOffsetYChanged"
135138
step="0.1"
136139
aria-label="@Localizer[Resources.BrailleRAP_OffsetY]" />
137140
</div>
@@ -306,6 +309,72 @@
306309
}
307310
}
308311

312+
private void OnInputTextChanged(ChangeEventArgs e)
313+
{
314+
inputText = e.Value?.ToString() ?? string.Empty;
315+
UpdatePreview();
316+
}
317+
318+
private void OnLanguageChanged(ChangeEventArgs e)
319+
{
320+
if (int.TryParse(e.Value?.ToString(), out int langValue))
321+
{
322+
selectedLanguage = langValue;
323+
UpdatePreview();
324+
}
325+
}
326+
327+
private void OnColumnsChanged(ChangeEventArgs e)
328+
{
329+
if (int.TryParse(e.Value?.ToString(), out int value) && value > 0 && value <= 50)
330+
{
331+
pageConfig.Columns = value;
332+
UpdatePreview();
333+
}
334+
}
335+
336+
private void OnRowsChanged(ChangeEventArgs e)
337+
{
338+
if (int.TryParse(e.Value?.ToString(), out int value) && value > 0 && value <= 50)
339+
{
340+
pageConfig.Rows = value;
341+
UpdatePreview();
342+
}
343+
}
344+
345+
private void OnLineSpacingChanged(ChangeEventArgs e)
346+
{
347+
if (int.TryParse(e.Value?.ToString(), out int value) && value >= 0 && value <= 3)
348+
{
349+
pageConfig.LineSpacing = value;
350+
UpdatePreview();
351+
}
352+
}
353+
354+
private void OnFeedRateChanged(ChangeEventArgs e)
355+
{
356+
if (int.TryParse(e.Value?.ToString(), out int value) && value >= 100)
357+
{
358+
machineConfig.FeedRate = value;
359+
}
360+
}
361+
362+
private void OnOffsetXChanged(ChangeEventArgs e)
363+
{
364+
if (double.TryParse(e.Value?.ToString(), out double value))
365+
{
366+
machineConfig.OffsetX = value;
367+
}
368+
}
369+
370+
private void OnOffsetYChanged(ChangeEventArgs e)
371+
{
372+
if (double.TryParse(e.Value?.ToString(), out double value))
373+
{
374+
machineConfig.OffsetY = value;
375+
}
376+
}
377+
309378
private void ClearText()
310379
{
311380
inputText = string.Empty;

0 commit comments

Comments
 (0)