diff --git a/demo/Ursa.Demo/Pages/NavMenuDemo.axaml b/demo/Ursa.Demo/Pages/NavMenuDemo.axaml index 771b2e3..424e03a 100644 --- a/demo/Ursa.Demo/Pages/NavMenuDemo.axaml +++ b/demo/Ursa.Demo/Pages/NavMenuDemo.axaml @@ -20,16 +20,10 @@ HorizontalAlignment="Left" ColumnDefinitions="Auto, Auto" RowDefinitions="Auto, Auto, *"> - - Collapse - - + + + - + \ No newline at end of file diff --git a/demo/Ursa.Demo/ViewModels/MainViewViewModel.cs b/demo/Ursa.Demo/ViewModels/MainViewViewModel.cs index 66038c1..2abaaf4 100644 --- a/demo/Ursa.Demo/ViewModels/MainViewViewModel.cs +++ b/demo/Ursa.Demo/ViewModels/MainViewViewModel.cs @@ -107,6 +107,15 @@ public partial class MainViewViewModel : ViewModelBase app.RequestedThemeVariant = newValue.Theme; } } + + [ObservableProperty] private string? _footerText = "Settings"; + + [ObservableProperty] private bool _isCollapsed; + + partial void OnIsCollapsedChanged(bool value) + { + FooterText = value ? null : "Settings"; + } } public class ThemeItem(string name, ThemeVariant theme) diff --git a/demo/Ursa.Demo/ViewModels/MenuViewModel.cs b/demo/Ursa.Demo/ViewModels/MenuViewModel.cs index a54b6b3..b044516 100644 --- a/demo/Ursa.Demo/ViewModels/MenuViewModel.cs +++ b/demo/Ursa.Demo/ViewModels/MenuViewModel.cs @@ -12,10 +12,10 @@ public class MenuViewModel : ViewModelBase new() { MenuHeader = "Controls", IsSeparator = true }, new() { - MenuHeader = "Buttons and Inputs", Children = new ObservableCollection + MenuHeader = "Buttons & Inputs", Children = new ObservableCollection { new() { MenuHeader = "Button Group", Key = MenuKeys.MenuKeyButtonGroup }, - new() { MenuHeader = "Icon Button", Key = MenuKeys.MenuKeyIconButton }, + new() { MenuHeader = "Icon Button", Key = MenuKeys.MenuKeyIconButton, Status = "Redesigned" }, new() { MenuHeader = "AutoCompleteBox", Key = MenuKeys.MenuKeyAutoCompleteBox }, new() { MenuHeader = "Class Input", Key = MenuKeys.MenuKeyClassInput }, new() { MenuHeader = "Enum Selector", Key = MenuKeys.MenuKeyEnumSelector }, @@ -25,7 +25,7 @@ public class MenuViewModel : ViewModelBase new() { MenuHeader = "MultiComboBox", Key = MenuKeys.MenuKeyMultiComboBox }, new() { MenuHeader = "Numeric UpDown", Key = MenuKeys.MenuKeyNumericUpDown }, new() { MenuHeader = "NumPad", Key = MenuKeys.MenuKeyNumPad }, - new() { MenuHeader = "PathPicker", Key = MenuKeys.PathPicker }, + new() { MenuHeader = "PathPicker", Key = MenuKeys.PathPicker, Status = "New" }, new() { MenuHeader = "PinCode", Key = MenuKeys.MenuKeyPinCode }, new() { MenuHeader = "RangeSlider", Key = MenuKeys.MenuKeyRangeSlider }, new() { MenuHeader = "Rating", Key = MenuKeys.MenuKeyRating }, @@ -37,11 +37,11 @@ public class MenuViewModel : ViewModelBase }, new() { - MenuHeader = "Dialog and Feedbacks", Children = new ObservableCollection() + MenuHeader = "Dialog & Feedbacks", Children = new ObservableCollection() { new() { MenuHeader = "Dialog", Key = MenuKeys.MenuKeyDialog }, - new() { MenuHeader = "Drawer", Key = MenuKeys.MenuKeyDrawer }, - new() { MenuHeader = "Loading", Key = MenuKeys.MenuKeyLoading }, + new() { MenuHeader = "Drawer", Key = MenuKeys.MenuKeyDrawer, Status = "Updated" }, + new() { MenuHeader = "Loading", Key = MenuKeys.MenuKeyLoading, Status = "Updated" }, new() { MenuHeader = "Message Box", Key = MenuKeys.MenuKeyMessageBox }, new() { MenuHeader = "Notification", Key = MenuKeys.MenuKeyNotification }, new() { MenuHeader = "Toast", Key = MenuKeys.MenuKeyToast }, @@ -50,7 +50,7 @@ public class MenuViewModel : ViewModelBase }, new() { - MenuHeader = "Date and Time", Children = new ObservableCollection + MenuHeader = "Date & Time", Children = new ObservableCollection { new() { MenuHeader = "Date Picker", Key = MenuKeys.MenuKeyDatePicker }, new() { MenuHeader = "Date Time Picker", Key = MenuKeys.MenuKeyDateTimePicker }, @@ -61,37 +61,35 @@ public class MenuViewModel : ViewModelBase }, new() { - MenuHeader = "Navigation and Menus", Children = new ObservableCollection + MenuHeader = "Navigation & Menus", Children = new ObservableCollection { - new() { MenuHeader = "Breadcrumb", Key = MenuKeys.MenuKeyBreadcrumb }, - new() { MenuHeader = "Nav Menu", Key = MenuKeys.MenuKeyNavMenu }, + new() { MenuHeader = "Breadcrumb", Key = MenuKeys.MenuKeyBreadcrumb, Status = "Updated" }, + new() { MenuHeader = "Nav Menu", Key = MenuKeys.MenuKeyNavMenu, Status = "Updated" }, new() { MenuHeader = "Pagination", Key = MenuKeys.MenuKeyPagination }, new() { MenuHeader = "ToolBar", Key = MenuKeys.MenuKeyToolBar }, } }, new() { - MenuHeader = "Layout and Display", + MenuHeader = "Layout & Display", Children = new ObservableCollection { new() { MenuHeader = "AspectRatioLayout", Key = MenuKeys.AspectRatioLayout }, - new() { MenuHeader = "Avatar", Key = MenuKeys.MenuKeyAvatar }, + new() { MenuHeader = "Avatar", Key = MenuKeys.MenuKeyAvatar, Status = "WIP" }, new() { MenuHeader = "Badge", Key = MenuKeys.MenuKeyBadge }, - new() { MenuHeader = "Banner", Key = MenuKeys.MenuKeyBanner }, + new() { MenuHeader = "Banner", Key = MenuKeys.MenuKeyBanner, Status = "Updated" }, new() { MenuHeader = "Disable Container", Key = MenuKeys.MenuKeyDisableContainer }, new() { MenuHeader = "Divider", Key = MenuKeys.MenuKeyDivider }, new() { MenuHeader = "DualBadge", Key = MenuKeys.MenuKeyDualBadge }, new() { MenuHeader = "ImageViewer", Key = MenuKeys.MenuKeyImageViewer }, new() { MenuHeader = "ElasticWrapPanel", Key = MenuKeys.MenuKeyElasticWrapPanel }, - new() { MenuHeader = "Marquee", Key = MenuKeys.MenuKeyMarquee }, + new() { MenuHeader = "Marquee", Key = MenuKeys.MenuKeyMarquee, Status = "New" }, new() { MenuHeader = "Number Displayer", Key = MenuKeys.MenuKeyNumberDisplayer }, new() { MenuHeader = "Scroll To", Key = MenuKeys.MenuKeyScrollToButton }, new() { MenuHeader = "Timeline", Key = MenuKeys.MenuKeyTimeline }, new() { MenuHeader = "TwoTonePathIcon", Key = MenuKeys.MenuKeyTwoTonePathIcon } } }, - - }; } diff --git a/demo/Ursa.Demo/Views/MainView.axaml b/demo/Ursa.Demo/Views/MainView.axaml index 29752b1..b579f16 100644 --- a/demo/Ursa.Demo/Views/MainView.axaml +++ b/demo/Ursa.Demo/Views/MainView.axaml @@ -38,6 +38,7 @@ SubMenuBinding="{Binding Children}" HeaderBinding="{Binding}" IconBinding="{Binding MenuHeader}" + IsHorizontalCollapsed="{Binding IsCollapsed, Mode=TwoWay}" ItemsSource="{Binding Menus.MenuItems}">