Exemple #1
0
        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);
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        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();
        }