Skip to content

Commit

Permalink
Added plugins repeater view w/ backend and hot reload
Browse files Browse the repository at this point in the history
  • Loading branch information
KimihikoAkayasaki committed Oct 2, 2022
1 parent c657fa9 commit dc06622
Show file tree
Hide file tree
Showing 4 changed files with 335 additions and 79 deletions.
188 changes: 172 additions & 16 deletions Amethyst/DevicesPage.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,22 +30,178 @@
Text="Devices" Opacity="0.0"
FontSize="25" Margin="0,20,0,0" Grid.Row="0" />

<TextBlock FontWeight="SemiBold" x:Name="Titles_Devices"
FontSize="25" Margin="40,20,0,0" Grid.Row="0">
<TextBlock.Resources>
<TeachingTip x:Name="DevicesListTeachingTip"
Target="{Binding ElementName=DevicesListTipDummyContextDummy}"
Title="/DEVICES"
Subtitle="/TEXT"
PreferredPlacement="BottomRight"
IsLightDismissEnabled="False"
ActionButtonContent="/BACK"
CloseButtonContent="/NEXT"
Style="{ThemeResource BigTeachingTipStyle}"
ActionButtonClick="DevicesListTeachingTip_ActionButtonClick"
CloseButtonClick="DevicesListTeachingTip_Closed" />
</TextBlock.Resources>
</TextBlock>
<Grid HorizontalAlignment="Stretch"
Margin="40,20,0,0" Grid.Row="0">
<TextBlock FontWeight="SemiBold" x:Name="Titles_Devices" FontSize="25">
<TextBlock.Resources>
<TeachingTip x:Name="DevicesListTeachingTip"
Target="{Binding ElementName=DevicesListTipDummyContextDummy}"
Title="/DEVICES"
Subtitle="/TEXT"
PreferredPlacement="BottomRight"
IsLightDismissEnabled="False"
ActionButtonContent="/BACK"
CloseButtonContent="/NEXT"
Style="{ThemeResource BigTeachingTipStyle}"
ActionButtonClick="DevicesListTeachingTip_ActionButtonClick"
CloseButtonClick="DevicesListTeachingTip_Closed" />
</TextBlock.Resources>
</TextBlock>

<Button Content="Manage" Margin="0,0,44,0"
x:Name="Manage_Device_Plugins_Open"
FontWeight="SemiBold"
HorizontalAlignment="Right">
<Button.Flyout>
<Flyout Placement="Full"
Opening="PluginManagerFlyout_Opening"
Closing="PluginManagerFlyout_Closing"
Closed="PluginManagerFlyout_Closed">

<Flyout.FlyoutPresenterStyle>
<Style TargetType="FlyoutPresenter">
<Setter Property="MaxHeight" Value="615" />
<Setter Property="MaxWidth" Value="720" />
<Setter Property="MinWidth" Value="720" />
<Setter Property="Margin" Value="30,15,0,0" />
<Setter Property="CornerRadius" Value="8" />
<Setter Property="Background"
Value="{ThemeResource AcrylicInAppFillColorDefaultBrush}" />
</Style>
</Flyout.FlyoutPresenterStyle>

<StackPanel Padding="0,0,0,10">
<TextBlock x:Name="Manage_Device_Plugins_Title"
FontWeight="SemiBold" FontSize="25"
Margin="20,15"/>

<ItemsRepeater x:Name="PluginsItemsRepeater" HorizontalAlignment="Stretch"
Margin="20,0,20,20" AllowDrop="False">

<ItemsRepeater.ItemTemplate>
<DataTemplate x:DataType="local:PluginEntryView">

<Grid>
<Grid.Transitions>
<TransitionCollection>
<RepositionThemeTransition />
</TransitionCollection>
</Grid.Transitions>

<Grid Margin="20,15,60,0"
VerticalAlignment="Top" Canvas.ZIndex="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>

<StackPanel Grid.Column="0" Margin="0,-3,0,0"
Orientation="Horizontal">

<InfoBadge
Background="{ThemeResource SystemFillColorCriticalBrush}"
HorizontalAlignment="Left" VerticalAlignment="Top"
Visibility="{x:Bind LoadError, Mode=OneWay}"
Margin="-8,15,10,0" Width="17" Height="17">
<InfoBadge.IconSource>
<FontIconSource Glyph="&#xEDAE;"
Foreground="{ThemeResource NoThemeColorSolidColorBrush}" />
</InfoBadge.IconSource>
</InfoBadge>

<TextBlock FontWeight="SemiBold" FontSize="14"
Text="{x:Bind DisplayName, Mode=OneWay}"
HorizontalAlignment="Left"
VerticalAlignment="Center" />
</StackPanel>

<ToggleSwitch IsOn="{x:Bind IsLoaded, Mode=TwoWay}"
IsEnabled="{x:Bind InvertBoolean(LoadError), Mode=OneWay}"
Grid.Column="1"
Margin="0,1,-125,0"
OnContent="" OffContent=""
VerticalAlignment="Center"
HorizontalAlignment="Right" />
</Grid>

<Expander Margin="0,12,0,0"
IsExpanded="True" ExpandDirection="Down"
HorizontalAlignment="Stretch"
HorizontalContentAlignment="Stretch">

<Expander.Content>
<StackPanel Orientation="Vertical" Width="620">
<StackPanel Orientation="Vertical"
Visibility="{x:Bind LoadError, Mode=OneWay}">
<StackPanel.Transitions>
<TransitionCollection>
<RepositionThemeTransition />
</TransitionCollection>
</StackPanel.Transitions>

<TextBlock VerticalAlignment="Center" FontWeight="SemiBold" TextWrapping="WrapWholeWords"
Text="{x:Bind JSONString('/DevicesPage/Devices/Manager/Labels/Blocked'), Mode=OneWay}" />

<StackPanel Orientation="Horizontal"
Margin="0,7,0,7">
<TextBlock VerticalAlignment="Top" FontWeight="SemiBold" Opacity="0.5"
Text="{x:Bind JSONString('/DevicesPage/Devices/Manager/Labels/Reason'), Mode=OneWay}"
Margin="0,0,7,0" />
<TextBlock VerticalAlignment="Top"
FontWeight="SemiBold" Width="560"
TextWrapping="WrapWholeWords"
Text="{x:Bind ErrorText, Mode=OneWay}"
ToolTipService.ToolTip="{x:Bind ErrorText, Mode=OneWay}" />
</StackPanel>
</StackPanel>

<StackPanel Orientation="Horizontal"
Visibility="{x:Bind IsLoaded, Mode=OneWay}">
<StackPanel.Transitions>
<TransitionCollection>
<RepositionThemeTransition />
</TransitionCollection>
</StackPanel.Transitions>

<TextBlock VerticalAlignment="Center" FontWeight="SemiBold" Opacity="0.5" Margin="0,0,7,0"
Text="{x:Bind JSONString('/DevicesPage/Devices/Manager/Labels/GUID'), Mode=OneWay}"/>
<TextBlock VerticalAlignment="Center"
FontWeight="SemiBold"
Text="{x:Bind TrimString(DeviceGUID, 77), Mode=OneWay}"
ToolTipService.ToolTip="{x:Bind DeviceGUID, Mode=OneWay}" />
</StackPanel>

<StackPanel Orientation="Horizontal">
<StackPanel.Transitions>
<TransitionCollection>
<RepositionThemeTransition />
</TransitionCollection>
</StackPanel.Transitions>

<TextBlock VerticalAlignment="Center" FontWeight="SemiBold" Opacity="0.5" Margin="0,0,7,0"
Text="{x:Bind JSONString('/DevicesPage/Devices/Manager/Labels/Location'), Mode=OneWay}"/>

<TextBlock VerticalAlignment="Center"
FontWeight="SemiBold"
Text="{x:Bind TrimString(Location, 77)}"
Tapped="{x:Bind OpenDevicePath}"
ToolTipService.ToolTip="{x:Bind Location, Mode=OneWay}"
ToolTipService.Placement="Bottom" />
</StackPanel>

</StackPanel>
</Expander.Content>
</Expander>
</Grid>
</DataTemplate>
</ItemsRepeater.ItemTemplate>
</ItemsRepeater>

</StackPanel>
</Flyout>
</Button.Flyout>
</Button>
</Grid>

<!--String copy resource-->
<TextBlock Visibility="Collapsed" x:Name="DeviceEntryView_Base_Text" />
Expand Down
Loading

0 comments on commit dc06622

Please sign in to comment.