private static async Task TestPage1() { var cts = new CancellationTokenSource(); var page = await PgletClient.ConnectPage("page-2", serverUrl : "http://localhost:5000", cancellationToken : cts.Token); await page.CleanAsync(); var mainStack = new Stack { Controls = { new Text { Value = "Line 1" } } }; await page.AddAsync(mainStack); mainStack.Controls.Add(new Text { Value = "Line 2" }); //mainStack.Controls.RemoveAt(0); mainStack.Controls.Insert(0, new Text { Value = "Line 0" }); await page.UpdateAsync(); ////Console.ReadLine(); await Task.Delay(200000); }
protected override void ProcessRecord() { var page = PgletClient.ConnectPage(pageName: Name, web: Web.ToBool(), noWindow: NoWindow.ToBool(), serverUrl: Server, token: Token, permissions: Permissions, createPage: (conn, pageUrl, pageName, sessionId) => new PsPage(conn, pageUrl, pageName, sessionId, this)).GetAwaiter().GetResult(); SessionState.PSVariable.Set(new PSVariable(Constants.PGLET_PAGE, page, ScopedItemOptions.Private)); WriteObject(page); }
private static async Task TestPage2() { var cts = new CancellationTokenSource(); var page = await PgletClient.ConnectPage("page-1", serverUrl : "http://localhost:5000", cancellationToken : cts.Token); await page.CleanAsync(); var txtName = new TextBox(); var submitBtn = new Button { Text = "Click me!", Primary = true, OnClick = (e) => { Console.WriteLine($"click: {txtName.Value}"); } }; var cancelBtn = new Button { Text = "Cancel", OnClick = (e) => { Console.WriteLine("click cancel"); } }; var mainStack = new Stack { Controls = { new TextBox(), new Stack { Horizontal = true, Controls = { submitBtn, cancelBtn } } } }; await page.AddAsync(mainStack); await Task.Delay(5000); submitBtn.Text = "Send something!"; mainStack.Controls.Add(new Text { Value = "Oh, well..." }); mainStack.Controls.RemoveAt(0); mainStack.Controls.Insert(0, txtName); await page.UpdateAsync(); //await Task.Delay(200000); }
private static async Task TestControls() { Page page = await PgletClient.ConnectPage("controls-1", serverUrl : "http://localhost:5000", noWindow : true); await page.CleanAsync(); page.Title = "Example 1"; page.HorizontalAlign = Align.Start; await page.UpdateAsync(); //page.ThemePrimaryColor = ""; //page.ThemeTextColor = ""; //page.ThemeBackgroundColor = ""; var firstName = new TextBox { Label = "First name" }; var lastName = new TextBox { Label = "Last name" }; var notes = new TextBox { Label = "Notes", Multiline = true, Visible = false }; var vaccinated = new Checkbox { Label = "Vaccinated", OnChange = async(e) => { Console.WriteLine("vaccinated changed: " + e.Data); notes.Visible = (e.Control as Checkbox).Value; await page.UpdateAsync(); } }; var testBtn = new Button { Text = "Test!", OnClick = async(e) => { Console.WriteLine("clicked!"); Console.WriteLine($"First name: {firstName.Value}"); Console.WriteLine($"Last name: {lastName.Value}"); Console.WriteLine($"Vaccinated: {vaccinated.Value}"); Console.WriteLine($"Notes name: {notes.Value}"); firstName.Value = ""; lastName.Value = ""; await page.UpdateAsync(); await Task.Delay(5000); Console.WriteLine("done!"); } }; var stack = new Stack { Horizontal = true, HorizontalAlign = Align.SpaceBetween, Controls = { new Icon { Name = "Shop", Color = "orange" }, new Icon { Name = "DependencyAdd", Color = "green" } } }; // 1st render await page.AddAsync( stack, firstName, lastName, vaccinated, notes, testBtn); stack.Margin = "10"; stack.Controls.Add(new Icon { Name = "Edit", Color = "red" }); stack.Controls.RemoveAt(0); // button with menu page.Controls.Add(new Button { Split = true, Text = "Button with menu", OnClick = (e) => { Console.WriteLine("Button click!"); }, MenuItems = { new MenuItem { Text = "Item 1", OnClick = (e) =>{ Console.WriteLine("Menu item click!"); } }, new MenuItem { Text = "Sub menu", SubMenuItems = { new MenuItem { Text = "Sub menu item 1", OnClick = (e) =>{ Console.WriteLine("Sub menu 1 item click!"); }, }, new MenuItem { Text = "Sub menu item 2", OnClick = (e) =>{ Console.WriteLine("Sub menu 2 item click!"); }, } } } } }); // checkbox page.Controls.Add(new Checkbox { Label = "Check it, check it, check it", BoxSide = BoxSide.End, Value = true }); // dialog var dlg = new Dialog { Title = "Title 1", SubText = "Sub Text", Controls = { new Text { Value = "Body text" } }, FooterControls = { new Button { Text = "OK" }, new Button { Text = "Cancel" } } }; page.Controls.Add(dlg); page.Controls.Add(new Button { Text = "Show dialog", OnClick = async(e) => { dlg.Open = true; await page.UpdateAsync(); } }); // 2nd update await page.UpdateAsync(); // BarChart stack.Controls.Add(new BarChart { DataMode = BarChartDataMode.Percentage, Points = { new BarChartDataPoint { X = 10, Y = 20, Color = "Yellow", Legend = "Disk C:" }, new BarChartDataPoint { X = 10, Y = 100, Color = "Green", Legend = "Disk D:" } } }); await stack.UpdateAsync(); }