File tree Expand file tree Collapse file tree 2 files changed +36
-11
lines changed
BooleanExpressionParser.Web/Client Expand file tree Collapse file tree 2 files changed +36
-11
lines changed Original file line number Diff line number Diff line change 1+ <input placeholder =" Enter expression" @oninput =" OnInputChanged" @bind =" expression" />
2+ <button @onclick =" OnButtonClicked" >@ButtonLabel </button >
3+
4+
5+ @code {
6+ [Parameter ]
7+ public string ButtonLabel { get ; set ;}
8+
9+ public string ? expression ;
10+
11+ [Parameter ]
12+ public EventCallback <string > ButtonClicked { get ; set ; }
13+
14+ [Parameter ]
15+ public EventCallback <string > ExpressionChanged { get ; set ; }
16+
17+ private Task OnButtonClicked ()
18+ {
19+ return ButtonClicked .InvokeAsync (expression );
20+ }
21+
22+ private Task OnInputChanged (ChangeEventArgs args )
23+ {
24+ return ExpressionChanged .InvokeAsync (args .Value .ToString ());
25+ }
26+ }
Original file line number Diff line number Diff line change 11@using BooleanExpressionParser ;
2+ @using BooleanExpressionParser .Web .Client .Components
23@using BooleanExpressionParser .Web .Client .Formatters ;
34
45@page " /truth-table"
89<h1 >Truth Table Generator</h1 >
910<p >Generate a truth table for a boolean expression.</p >
1011
11- <input placeholder =" Enter expression" @bind =" expression" />
12- <button @onclick =" Generate" >Generate</button >
12+ <ExpressionInput ButtonLabel =" Generate" ButtonClicked =" Generate" />
1313
14-
15- <h3 >Generated Table</h3 >
16-
17- <div class =" table-container" >
18- @( (MarkupString )currentTable )
19- </div >
14+ @if (currentTable is not null )
15+ {
16+ <h3 >Generated Table </h3 >
17+ <div class =" table-container" >
18+ @( (MarkupString )currentTable )
19+ </div >
20+ }
2021
2122
2223@code {
23- private string ? expression ;
2424 private string ? currentTable ;
2525
2626 private HTMLFormatter formatter = new ();
2727
28- private void Generate ()
28+ private void Generate (string ? expression )
2929 {
3030 if (string .IsNullOrWhiteSpace (expression )) return ;
3131 var wrapper = new ExpressionWrapper (expression );
5050
5151 private Ast ParseAndGrowAst (ExpressionWrapper wrapper )
5252 {
53-
5453 var tokeniser = new Tokeniser (wrapper .Expression );
5554 var infixTokens = tokeniser .Tokenise ();
5655
You can’t perform that action at this time.
0 commit comments