Skip to content

Commit

Permalink
chore: Renaming ProgressRingExtensions to ProgressExtensions and incl…
Browse files Browse the repository at this point in the history
…ude ProgressBar
  • Loading branch information
nickrandolph committed Jan 19, 2024
1 parent b59f084 commit 86d4c6f
Show file tree
Hide file tree
Showing 4 changed files with 74 additions and 67 deletions.
Original file line number Diff line number Diff line change
@@ -1,60 +1,60 @@
<Page x:Class="Uno.Toolkit.Samples.Content.Controls.LoadingViewSample"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:Uno.Toolkit.Samples.Content.Controls"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:utu="using:Uno.Toolkit.UI"
xmlns:sample="using:Uno.Toolkit.Samples"
mc:Ignorable="d"
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Page
x:Class="Uno.Toolkit.Samples.Content.Controls.LoadingViewSample"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="using:Uno.Toolkit.Samples.Content.Controls"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:sample="using:Uno.Toolkit.Samples"
xmlns:utu="using:Uno.Toolkit.UI"
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"
mc:Ignorable="d">

<sample:SamplePageLayout x:Name="SamplePageLayout"
IsDesignAgnostic="True">
<sample:SamplePageLayout.DesignAgnosticTemplate>
<DataTemplate>
<StackPanel>
<utu:LoadingView DataContext="{Binding Data}"
LoadingContent="Loading...."
x:Name="LoadingView">
<utu:LoadingView.Source>
<utu:CompositeLoadableSource>
<utu:LoadableSource Source="{Binding LoadContent0Command}" />
<utu:LoadableSource Source="{Binding LoadContent1Command}" />
</utu:CompositeLoadableSource>
</utu:LoadingView.Source>
<sample:SamplePageLayout x:Name="SamplePageLayout" IsDesignAgnostic="True">
<sample:SamplePageLayout.DesignAgnosticTemplate>
<DataTemplate>
<StackPanel>
<utu:LoadingView
x:Name="LoadingView"
DataContext="{Binding Data}"
LoadingContent="Loading....">
<utu:LoadingView.Source>
<utu:CompositeLoadableSource>
<utu:LoadableSource Source="{Binding LoadContent0Command}" />
<utu:LoadableSource Source="{Binding LoadContent1Command}" />
</utu:CompositeLoadableSource>
</utu:LoadingView.Source>

<StackPanel x:Name="TestPanel">
<TextBlock Text="{Binding Text}" />
<ListView ItemsSource="{Binding Source}" />
<StackPanel x:Name="TestPanel">
<TextBlock Text="{Binding Text}" />
<ListView ItemsSource="{Binding Source}" />

<Button Content="Reload Text"
Command="{Binding LoadContent0Command}" />
<Button Content="Reload List"
Command="{Binding LoadContent1Command}" />
</StackPanel>
<Button Command="{Binding LoadContent0Command}" Content="Reload Text" />
<Button Command="{Binding LoadContent1Command}" Content="Reload List" />
</StackPanel>


<utu:LoadingView.LoadingContentTemplate>
<DataTemplate>
<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
<ProgressRing />
<TextBlock Text="{Binding}" />
</StackPanel>
</DataTemplate>
</utu:LoadingView.LoadingContentTemplate>
</utu:LoadingView>
<ToggleSwitch IsOn="{Binding UseTransitions, ElementName=LoadingView, Mode=TwoWay}">
<ToggleSwitch.OnContent>
<TextBlock Text="Transitions enabled" />
</ToggleSwitch.OnContent>
<ToggleSwitch.OffContent>
<TextBlock Text="Transitions disabled" />
</ToggleSwitch.OffContent>
</ToggleSwitch>
</StackPanel>
</DataTemplate>
</sample:SamplePageLayout.DesignAgnosticTemplate>
</sample:SamplePageLayout>
<utu:LoadingView.LoadingContentTemplate>
<DataTemplate>
<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
<ProgressRing />
<ProgressBar Width="200" />
<TextBlock Text="{Binding}" />
</StackPanel>
</DataTemplate>
</utu:LoadingView.LoadingContentTemplate>
</utu:LoadingView>
<ToggleSwitch IsOn="{Binding UseTransitions, ElementName=LoadingView, Mode=TwoWay}">
<ToggleSwitch.OnContent>
<TextBlock Text="Transitions enabled" />
</ToggleSwitch.OnContent>
<ToggleSwitch.OffContent>
<TextBlock Text="Transitions disabled" />
</ToggleSwitch.OffContent>
</ToggleSwitch>
</StackPanel>
</DataTemplate>
</sample:SamplePageLayout.DesignAgnosticTemplate>
</sample:SamplePageLayout>

</Page>
Original file line number Diff line number Diff line change
Expand Up @@ -26,23 +26,30 @@

namespace Uno.Toolkit.UI
{
public static class ProgressRingExtensions
public static class ProgressExtensions
{
public static readonly DependencyProperty IsActiveProperty =
DependencyProperty.RegisterAttached(
"IsActive",
typeof(bool),
typeof(ProgressRingExtensions),
typeof(ProgressExtensions),
new PropertyMetadata(false, IsActiveChanged));

private static void IsActiveChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
if (d is FrameworkElement element &&
e.NewValue is bool isActive)
{
foreach (var item in element.EnumerateDescendants().OfType<ProgressRing>())
foreach (var item in element.EnumerateDescendants())
{
item.IsActive = isActive;
if(item is ProgressRing progressRing)
{
progressRing.IsActive = isActive;
}
else if(item is ProgressBar progressBar)
{
progressBar.IsIndeterminate = isActive;
}
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,8 @@
</VisualStateGroup.Transitions>
<VisualState x:Name="Loading">
<VisualState.Setters>
<Setter Target="LoadingContentPresenter.(utu:ProgressRingExtensions.IsActive)" Value="true"/>
<Setter Target="SplashScreenPresenter.(utu:ProgressRingExtensions.IsActive)" Value="true"/>
<Setter Target="LoadingContentPresenter.(utu:ProgressExtensions.IsActive)" Value="true"/>
<Setter Target="SplashScreenPresenter.(utu:ProgressExtensions.IsActive)" Value="true"/>
</VisualState.Setters>
</VisualState>
<VisualState x:Name="Loaded">
Expand All @@ -75,8 +75,8 @@
Value="Collapsed" />
<Setter Target="LoadingContentPresenter.Visibility"
Value="Collapsed" />
<Setter Target="LoadingContentPresenter.(utu:ProgressRingExtensions.IsActive)" Value="false"/>
<Setter Target="SplashScreenPresenter.(utu:ProgressRingExtensions.IsActive)" Value="false"/>
<Setter Target="LoadingContentPresenter.(utu:ProgressExtensions.IsActive)" Value="false"/>
<Setter Target="SplashScreenPresenter.(utu:ProgressExtensions.IsActive)" Value="false"/>
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
Expand All @@ -91,7 +91,7 @@
VerticalContentAlignment="Stretch" />
<ContentPresenter x:Name="SplashScreenPresenter"
Content="{TemplateBinding SplashScreenContent}"
utu:ProgressRingExtensions.IsActive="false"
utu:ProgressExtensions.IsActive="false"
IsHitTestVisible="False"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
HorizontalContentAlignment="Stretch"
Expand All @@ -100,7 +100,7 @@
<ContentControl x:Name="LoadingContentPresenter"
Content="{TemplateBinding LoadingContent}"
IsHitTestVisible="False"
utu:ProgressRingExtensions.IsActive="false"
utu:ProgressExtensions.IsActive="false"
ContentTemplate="{TemplateBinding LoadingContentTemplate}"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
HorizontalContentAlignment="Stretch"
Expand Down
8 changes: 4 additions & 4 deletions src/Uno.Toolkit.UI/Controls/LoadingView/LoadingView.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@
</VisualStateGroup.Transitions>
<VisualState x:Name="Loading">
<VisualState.Setters>
<Setter Target="LoadingContentPresenter.(utu:ProgressRingExtensions.IsActive)" Value="true"/>
<Setter Target="LoadingContentPresenter.(utu:ProgressExtensions.IsActive)" Value="true"/>
</VisualState.Setters>
</VisualState>
<VisualState x:Name="Loaded">
Expand All @@ -59,22 +59,22 @@
Value="1" />
<Setter Target="LoadingContentPresenter.Opacity"
Value="0" />
<Setter Target="LoadingContentPresenter.(utu:ProgressRingExtensions.IsActive)" Value="false"/>
<Setter Target="LoadingContentPresenter.(utu:ProgressExtensions.IsActive)" Value="false"/>
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>

<ContentPresenter x:Name="ContentPresenter"
Content="{TemplateBinding Content}"
utu:ProgressRingExtensions.IsActive="false"
utu:ProgressExtensions.IsActive="false"
Opacity="0"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
HorizontalContentAlignment="Stretch"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
VerticalContentAlignment="Stretch" />
<ContentControl x:Name="LoadingContentPresenter"
utu:ProgressRingExtensions.IsActive="false"
utu:ProgressExtensions.IsActive="false"
Content="{TemplateBinding LoadingContent}"
ContentTemplate="{TemplateBinding LoadingContentTemplate}"
ContentTemplateSelector="{TemplateBinding LoadingContentTemplateSelector}"
Expand Down

0 comments on commit 86d4c6f

Please sign in to comment.