Skip to content

IvanDrag0/UIfied

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

97 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UIfied

A unified PowerShell DSL for multiple UIs.

Simple DSL

Write complex UIs the easy way with the UIfied DSL

$sample = {
    $wsb = {
        UIWindow -Caption "Title" -Components {
            UIStackPanel -Orientation Vertical -Components {
                UILabel    -Caption "Hello"
                UIButton   -Caption "Button" -Action {
                    param($this)
                    $this.Control.Caption = Get-Date
                }
            }
        }
    }
    $h = Get-UIHost
    $h.ShowFrame($wsb)
}

Set-UIWpf
Invoke-Command -ScriptBlock $sample

Six UI types supported

UIFied supports six UI flavors

Write once and use it accross differents UIs. You can switch the target UI framework by simply using a command.

Set-UICF              # Switch to console UI
Set-UIWPF             # Switch to Windows Presentation Foundation UI
Set-UIOoui            # Switch to Web UI
Set-UIMaterialCF      # Switch to Material Design console UI
Set-UIMaterialWPF     # Switch to Material Design WPF UI
Set-UIMaterialOoui    # Switch to Material Design Web UI

A simple sample running on different UIs

Controls

We have implemented these controls:

  • Button
  • CheckBox
  • Label
  • List
  • ListColumn
  • ListItem
  • RadioButton
  • RadioGroup
  • StackPanel
  • TabControl
  • TabItem
  • TextBox
  • Modal
  • Timer
  • DatePicker
  • TimePicker
  • Browser
  • Autocomplete
  • Icon
  • Card
  • Image
  • TextEditor
  • Expander
  • ComboBox
  • Expander

Screenshots

Material Design console sample Material Design console sample

Material Design windows sample Material Design windows sample

Material Design web sample Material Design web sample

About

A unified PowerShell DSL for UIs

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PowerShell 96.6%
  • C# 3.4%