Renamed packages to new-er format

This commit is contained in:
Shane Weaver 2021-03-16 13:25:41 -07:00
Родитель 306b9b9ecd
Коммит 92ad9b1324
45 изменённых файлов: 111 добавлений и 467 удалений

Просмотреть файл

@ -1,34 +0,0 @@
<Project Sdk="MSBuild.Sdk.Extras">
<PropertyGroup>
<TargetFramework>uap10.0.17763</TargetFramework>
<Title>Community Toolkit Uwp Auth Services</Title>
<PackageId>CommunityToolkit.Auth.Uwp</PackageId>
<Description>
This package includes helpers for configuring the global authenticaion provider from UWP XAML, such as:
- GlobalProvider:
- IProviderConfig:
- MockProviderConfig:
- MsalProviderConfig:
- ScopeSet:
</Description>
<PackageTags>UWP Graph Toolkit Windows Controls Extensions Helpers</PackageTags>
<SignAssembly>false</SignAssembly>
<GenerateLibraryLayout>true</GenerateLibraryLayout>
<LangVersion>8.0</LangVersion>
<Configurations>Debug;Release;CI</Configurations>
<Platforms>AnyCPU;ARM;ARM64;x64;x86</Platforms>
</PropertyGroup>
<PropertyGroup Condition="'$(TargetFramework)' == 'uap10.0.17763'">
<DefineConstants Condition="'$(DisableImplicitFrameworkDefines)' != 'true'">$(DefineConstants);WINRT</DefineConstants>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Graph.Auth" Version="1.0.0-preview.6" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\CommunityToolkit.Auth\CommunityToolkit.Auth.csproj" />
</ItemGroup>
</Project>

Просмотреть файл

@ -1,129 +0,0 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
using System;
using System.Collections.Generic;
using Windows.UI.Xaml;
namespace CommunityToolkit.Auth.Uwp
{
/// <summary>
/// Creates a new provider instance for the provided configuration and sets the GlobalProvider.
/// </summary>
public static class GlobalProvider
{
/// <summary>
/// Gets or sets the GlobalProvider instance on the ProviderManager.
/// This class has a similar name and allows interaction with the GlobalProvider from either XAML or C#.
/// </summary>
public static IProvider Instance
{
get => ProviderManager.Instance.GlobalProvider;
set => ProviderManager.Instance.GlobalProvider = value;
}
/// <summary>
/// Gets the Graph Config property value.
/// </summary>
/// <param name="target">
/// The target object to retrieve the property value from.
/// </param>
/// <returns>
/// The value of the property on the target.
/// </returns>
public static object GetConfig(ResourceDictionary target)
{
return (object)target.GetValue(ConfigProperty);
}
/// <summary>
/// Sets the GraphConfig property value.
/// </summary>
/// <param name="target">
/// The target object to set the value on.
/// </param>
/// <param name="value">
/// The value to apply to the target property.
/// </param>
public static void SetConfig(ResourceDictionary target, object value)
{
target.SetValue(ConfigProperty, value);
}
/// <summary>
/// Identifies the Config dependency property.
/// </summary>
/// <returns>
/// The identifier for the Config dependency property.
/// </returns>
public static readonly DependencyProperty ConfigProperty =
DependencyProperty.RegisterAttached("Config", typeof(object), typeof(GlobalProvider), new PropertyMetadata(null, OnConfigChanged));
private static void OnConfigChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e)
{
if (sender is ResourceDictionary rd)
{
object config = GetConfig(rd);
Type configType = config.GetType();
if (_providers.ContainsKey(configType))
{
var providerFactory = _providers[configType];
Instance = providerFactory.Invoke(config);
}
}
else
{
Instance = null;
}
}
private static readonly Dictionary<Type, Func<object, IProvider>> _providers = new Dictionary<Type, Func<object, IProvider>>();
/// <summary>
/// Registers a provider to be available for declaration in XAML using the ConfigProperty.
/// </summary>
/// <code>
/// //Put this in the static constructor of the config object.
/// static MyConfig()
/// {
/// Graph.RegisterConfig(typeof(MyConfig), (c) => MyProvider.Create(c as MyConfig));
/// }.
/// </code>
/// <param name="configType">
/// The Type of the config object associated with provider.
/// </param>
/// <param name="providerFactory">
/// A factory function for creating a new instance of the IProvider implementation.
/// </param>
public static void RegisterConfig(Type configType, Func<object, IProvider> providerFactory)
{
if (!_providers.ContainsKey(configType))
{
_providers.Add(configType, providerFactory);
}
}
/// <summary>
/// Registers a provider to be available for declaration in XAML using the ConfigProperty.
/// </summary>
/// <code>
/// //Put this in the static constructor of the config object.
/// static MyConfig()
/// {
/// Graph.RegisterConfig&lt;MyConfig&gt;((c) => MyProvider.Create(c as MyConfig));
/// }.
/// </code>
/// <typeparam name="T">
/// The Type of the config object associated with provider.
/// </typeparam>
/// <param name="providerFactory">
/// A factory function for creating a new instance of the IProvider implementation.
/// </param>
public static void RegisterConfig<T>(Func<object, IProvider> providerFactory)
{
RegisterConfig(typeof(T), providerFactory);
}
}
}

Просмотреть файл

@ -1,32 +0,0 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
namespace CommunityToolkit.Auth.Uwp
{
/// <summary>
/// The configuration for the MockProvider.
/// </summary>
public class MockProviderConfig
{
static MockProviderConfig()
{
GlobalProvider.RegisterConfig<MockProviderConfig>((c) => Factory(c as MockProviderConfig));
}
/// <summary>
/// Static helper method for creating a new MockProvider instance from this config object.
/// </summary>
/// <param name="config">The configuration for the provider.</param>
/// <returns>A new instance of the MockProvider based on the provided config.</returns>
public static MockProvider Factory(MockProviderConfig config)
{
return new MockProvider(config.SignedIn);
}
/// <summary>
/// Gets or sets a value indicating whether the provider should automatically sign in or not.
/// </summary>
public bool SignedIn { get; set; } = true;
}
}

Просмотреть файл

@ -1,55 +0,0 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
using System.Linq;
namespace CommunityToolkit.Auth.Uwp
{
/// <summary>
/// Configuration values for initializing the MsalProvider.
/// </summary>
public class MsalProviderConfig
{
static MsalProviderConfig()
{
GlobalProvider.RegisterConfig<MsalProviderConfig>((c) => Factory(c as MsalProviderConfig));
}
/// <summary>
/// Static helper method for creating a new MsalProvider instance from this config object.
/// </summary>
/// <param name="config">The configuration for the provider.</param>
/// <returns>A new instance of the MsalProvider based on the provided config.</returns>
public static MsalProvider Factory(MsalProviderConfig config)
{
return new MsalProvider(
clientid: config.ClientId,
redirectUri: config.RedirectUri,
scopes: config.Scopes.ToArray());
}
/// <summary>
/// Gets or sets the Client ID (the unique application (client) ID assigned to your app by Azure AD when the app was registered).
/// </summary>
/// <remarks>
/// For details about how to register an app and get a client ID,
/// see the <a href="https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-register-app">Register an app quick start</a>.
/// </remarks>
public string ClientId { get; set; }
/// <summary>
/// Gets or sets the redirect URI (the URI the identity provider will send the security tokens back to).
/// </summary>
public string RedirectUri { get; set; }
/// <summary>
/// Gets or sets the list of Scopes (permissions) to request on initial login.
/// </summary>
/// <remarks>
/// This list can be modified by controls which require specific scopes to function.
/// This will aid in requesting all scopes required by controls used before login is initiated, if using the LoginButton.
/// </remarks>
public ScopeSet Scopes { get; set; }
}
}

Просмотреть файл

@ -1,73 +0,0 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
using System.Collections.Generic;
using System.Collections.ObjectModel;
namespace CommunityToolkit.Auth.Uwp
{
/// <summary>
/// Helper Class for XAML string Scope conversion.
/// </summary>
[Windows.Foundation.Metadata.CreateFromString(MethodName = "CommunityToolkit.Auth.Uwp.ScopeSet.ConvertToScopeArray")]
public class ScopeSet : Collection<string>
{
/// <summary>
/// Empty ScopeSet helper.
/// </summary>
public static readonly ScopeSet Empty = new ScopeSet(new string[] { });
/// <summary>
/// Helper to convert a string of scopes to a list of strings.
/// </summary>
/// <param name="rawString">Comma separated scope list.</param>
/// <returns>New List of strings, i.e. ScopeSet.</returns>
public static ScopeSet ConvertToScopeArray(string rawString)
{
if (rawString != null)
{
return new ScopeSet(rawString.Split(","));
}
return Empty;
}
/// <summary>
/// Initializes a new instance of the <see cref="ScopeSet"/> class.
/// </summary>
/// <param name="arr">Array to copy as ScopeSet.</param>
public ScopeSet(string[] arr)
{
AddRange(arr);
}
/// <summary>
/// Initializes a new instance of the <see cref="ScopeSet"/> class.
/// </summary>
/// <param name="list">List to copy as ScopeSet.</param>
public ScopeSet(List<string> list)
{
AddRange(list.ToArray());
}
/// <summary>
/// Initializes a new instance of the <see cref="ScopeSet"/> class.
/// </summary>
public ScopeSet()
{
}
/// <summary>
/// Adds range of items to the scope set.
/// </summary>
/// <param name="items">Items to add.</param>
public void AddRange(string[] items)
{
foreach (var item in items)
{
Add(item);
}
}
}
}

Просмотреть файл

@ -1,9 +0,0 @@
<FileList>
<File Reference="Microsoft.Toolkit.Graph.Controls.dll">
<ToolboxItems VSCategory="Windows Community Toolkit Graph Controls" BlendCategory="Windows Community Toolkit Graph Controls">
<Item Type="Microsoft.Toolkit.Graph.Controls.LoginButton" />
<Item Type="Microsoft.Toolkit.Graph.Controls.PeoplePicker" />
<Item Type="Microsoft.Toolkit.Graph.Controls.PersonView" />
</ToolboxItems>
</File>
</FileList>

Просмотреть файл

@ -5,9 +5,9 @@
using System;
using System.Net.Http;
using System.Threading.Tasks;
using CommunityToolkit.Auth.Extensions;
using CommunityToolkit.Net.Authentication.Extensions;
namespace CommunityToolkit.Auth
namespace CommunityToolkit.Net.Authentication
{
/// <summary>
/// A base construct for building Graph Providers on top of.

Просмотреть файл

@ -1,7 +1,7 @@
<Project Sdk="MSBuild.Sdk.Extras">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<TargetFrameworks>netstandard2.0</TargetFrameworks>
<Title>Community Toolkit .NET Standard Auth Services</Title>
<Description>
This package includes .NET Standard authentication helpers such as:

Просмотреть файл

@ -7,7 +7,7 @@ using System.Net.Http;
using System.Net.Http.Headers;
using System.Reflection;
namespace CommunityToolkit.Auth.Extensions
namespace CommunityToolkit.Net.Authentication.Extensions
{
/// <summary>
/// Helpers for Graph related HTTP Headers.

Просмотреть файл

@ -6,7 +6,7 @@ using System;
using System.Threading.Tasks;
using Microsoft.Graph;
namespace CommunityToolkit.Auth
namespace CommunityToolkit.Net.Authentication
{
/// <summary>
/// <see cref="IAuthenticationProvider"/> helper wrapper to expose more states around the authentication process for graph controls.

Просмотреть файл

@ -5,9 +5,9 @@
using System;
using System.Net.Http;
using System.Threading.Tasks;
using CommunityToolkit.Auth.Extensions;
using CommunityToolkit.Net.Authentication.Extensions;
namespace CommunityToolkit.Auth
namespace CommunityToolkit.Net.Authentication
{
/// <summary>
/// Provider to connect to the example data set for Microsoft Graph. Useful for prototyping and samples.

Просмотреть файл

@ -11,7 +11,7 @@ using Microsoft.Graph;
using Microsoft.Graph.Auth;
using Microsoft.Identity.Client;
namespace CommunityToolkit.Auth
namespace CommunityToolkit.Net.Authentication
{
/// <summary>
/// <a href="https://github.com/AzureAD/microsoft-authentication-library-for-dotnet">MSAL.NET</a> provider helper for tracking authentication state using an <see cref="IAuthenticationProvider"/> class.

Просмотреть файл

@ -5,7 +5,7 @@
using System;
using System.ComponentModel;
namespace CommunityToolkit.Auth
namespace CommunityToolkit.Net.Authentication
{
/// <summary>
/// Shared provider manager used by controls in Microsoft.Toolkit.Graph.Controls to authenticate and call the Microsoft Graph.
@ -15,7 +15,7 @@ namespace CommunityToolkit.Auth
/// ProviderManager.Instance.GlobalProvider = await MsalProvider.CreateAsync(...);
/// </code>
/// </example>
public class ProviderManager : INotifyPropertyChanged
public partial class ProviderManager : INotifyPropertyChanged
{
/// <summary>
/// Gets the name of the toolkit client to identify self in Graph calls.

Просмотреть файл

@ -2,7 +2,7 @@
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
namespace CommunityToolkit.Auth
namespace CommunityToolkit.Net.Authentication
{
/// <summary>
/// Enum representing reasons for provider state changing.

Просмотреть файл

@ -2,7 +2,7 @@
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
namespace CommunityToolkit.Auth
namespace CommunityToolkit.Net.Authentication
{
/// <summary>
/// <see cref="ProviderState"/> represents the current authentication state of the session for a given <see cref="IProvider"/>.

Просмотреть файл

@ -4,7 +4,7 @@
using System;
namespace CommunityToolkit.Auth
namespace CommunityToolkit.Net.Authentication
{
/// <summary>
/// <see cref="IProvider.StateChanged"/> event arguments.

Просмотреть файл

@ -4,7 +4,7 @@
using System;
namespace CommunityToolkit.Auth
namespace CommunityToolkit.Net.Authentication
{
/// <summary>
/// <see cref="EventArgs"/> class for <see cref="ProviderManager.ProviderUpdated"/> event.

Просмотреть файл

@ -3,7 +3,7 @@
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<Title>Community Toolkit .NET Standard Graph Services</Title>
<PackageId>CommunityToolkit.Graph</PackageId>
<PackageId>CommunityToolkit.Net.Graph</PackageId>
<Description>
This package includes .NET Standard code helpers such as:
- GraphExtensions: Helpers for common tasks related to the Microsoft Graph used by the Microsoft.Toolkit.Graph.Controls.
@ -27,6 +27,6 @@
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\CommunityToolkit.Auth\CommunityToolkit.Auth.csproj" />
<ProjectReference Include="..\CommunityToolkit.Net.Authentication\CommunityToolkit.Net.Authentication.csproj" />
</ItemGroup>
</Project>

Просмотреть файл

@ -7,7 +7,7 @@ using System.Threading.Tasks;
using Microsoft.Graph;
using Microsoft.Graph.Auth;
namespace CommunityToolkit.Graph.Extensions
namespace CommunityToolkit.Net.Graph.Extensions
{
/// <summary>
/// Extension methods to the Graph SDK used by the Microsoft.Toolkit.Graph.Controls.

Просмотреть файл

@ -2,10 +2,10 @@
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
using CommunityToolkit.Auth;
using CommunityToolkit.Net.Authentication;
using Microsoft.Graph;
namespace CommunityToolkit.Graph.Extensions
namespace CommunityToolkit.Net.Graph.Extensions
{
/// <summary>
/// Extension method for enabled Graph client access from an IProvider implementation.

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 5.1 KiB

После

Ширина:  |  Высота:  |  Размер: 5.1 KiB

Просмотреть файл

@ -3,7 +3,7 @@
<PropertyGroup>
<TargetFramework>uap10.0.17763</TargetFramework>
<Title>Community Toolkit Graph Uwp Controls and Helpers</Title>
<PackageId>CommunityToolkit.Graph.Uwp</PackageId>
<PackageId>CommunityToolkit.Uwp.Graph.UI</PackageId>
<Description>
This library provides Microsoft Graph UWP XAML controls. It is part of the Windows Community Toolkit.
@ -28,8 +28,6 @@
<ItemGroup>
<PackageReference Include="Microsoft.Toolkit.Uwp.UI" Version="7.0.0-preview4" />
<PackageReference Include="Microsoft.Toolkit.Uwp.UI.Controls" Version="7.0.0-preview4" />
<ProjectReference Include="..\CommunityToolkit.Auth\CommunityToolkit.Auth.csproj" />
<ProjectReference Include="..\CommunityToolkit.Graph\CommunityToolkit.Graph.csproj" />
</ItemGroup>
<ItemGroup>
@ -39,6 +37,11 @@
<ItemGroup>
<PackageReference Include="Microsoft.Graph.Beta" Version="0.39.0-preview" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\CommunityToolkit.Net.Authentication\CommunityToolkit.Net.Authentication.csproj" />
<ProjectReference Include="..\CommunityToolkit.Net.Graph\CommunityToolkit.Net.Graph.csproj" />
</ItemGroup>
<ItemGroup>
<Page Update="Controls\PersonView\PersonView.xaml">

Просмотреть файл

@ -13,7 +13,7 @@ using Windows.System;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
namespace CommunityToolkit.Graph.Uwp.Controls
namespace CommunityToolkit.Uwp.Graph.UI.Controls
{
/// <summary>
/// Specialized <see cref="ContentPresenter"/> to fetch and display data from the Microsoft Graph.

Просмотреть файл

@ -9,7 +9,7 @@ using System.Text;
using System.Threading.Tasks;
using Windows.UI.Xaml;
namespace CommunityToolkit.Graph.Uwp.Controls
namespace CommunityToolkit.Uwp.Graph.UI.Controls
{
/// <summary>
/// XAML Proxy for <see cref="Microsoft.Graph.QueryOption"/>.

Просмотреть файл

@ -5,7 +5,7 @@
using System;
using System.ComponentModel;
namespace CommunityToolkit.Graph.Uwp.Controls
namespace CommunityToolkit.Uwp.Graph.UI.Controls
{
/// <summary>
/// The <see cref="LoginButton"/> control is a button which can be used to sign the user in or show them profile details.

Просмотреть файл

@ -5,7 +5,7 @@
using Microsoft.Graph;
using Windows.UI.Xaml;
namespace CommunityToolkit.Graph.Uwp.Controls
namespace CommunityToolkit.Uwp.Graph.UI.Controls
{
/// <summary>
/// The <see cref="LoginButton"/> control is a button which can be used to sign the user in or show them profile details.

Просмотреть файл

@ -6,13 +6,13 @@ using System;
using System.ComponentModel;
using System.Diagnostics;
using System.Threading.Tasks;
using CommunityToolkit.Auth;
using CommunityToolkit.Graph.Extensions;
using CommunityToolkit.Net.Authentication;
using CommunityToolkit.Net.Graph.Extensions;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Controls.Primitives;
namespace CommunityToolkit.Graph.Uwp.Controls
namespace CommunityToolkit.Uwp.Graph.UI.Controls
{
/// <summary>
/// The <see cref="LoginButton"/> control is a button which can be used to sign the user in or show them profile details.

Просмотреть файл

@ -1,8 +1,8 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:converters="using:Microsoft.Toolkit.Uwp.UI.Converters"
xmlns:graphconverters="using:CommunityToolkit.Graph.Uwp.Converters"
xmlns:local="using:CommunityToolkit.Graph.Uwp.Controls">
xmlns:graphconverters="using:CommunityToolkit.Uwp.Graph.UI.Converters"
xmlns:local="using:CommunityToolkit.Uwp.Graph.UI.Controls">
<converters:BoolNegationConverter x:Key="InverseBoolConverter" />
<converters:EmptyObjectToObjectConverter x:Key="InverseNullToVisibilityConverter"

Просмотреть файл

@ -4,7 +4,7 @@
using System;
namespace CommunityToolkit.Graph.Uwp.Controls
namespace CommunityToolkit.Uwp.Graph.UI.Controls
{
/// <summary>
/// <see cref="EventArgs"/> for <see cref="LoginButton.LoginFailed"/> event.

Просмотреть файл

@ -6,15 +6,15 @@ using System;
using System.Collections;
using System.Collections.ObjectModel;
using System.Linq;
using CommunityToolkit.Auth;
using CommunityToolkit.Graph.Extensions;
using CommunityToolkit.Net.Authentication;
using CommunityToolkit.Net.Graph.Extensions;
using Microsoft.Graph;
using Microsoft.Toolkit.Uwp.UI.Controls;
using Microsoft.Toolkit.Uwp.UI.Extensions;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
namespace CommunityToolkit.Graph.Uwp.Controls
namespace CommunityToolkit.Uwp.Graph.UI.Controls
{
/// <summary>
/// Control which allows user to search for a person or contact within Microsoft Graph. Built on top of <see cref="TokenizingTextBox"/>.

Просмотреть файл

@ -1,7 +1,7 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:ex="using:Microsoft.Toolkit.Uwp.UI.Extensions"
xmlns:local="using:CommunityToolkit.Graph.Uwp.Controls">
xmlns:local="using:CommunityToolkit.Uwp.Graph.UI.Controls">
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="ms-appx:///Microsoft.Toolkit.Uwp.UI.Controls/TokenizingTextBox/TokenizingTextBox.xaml" />
</ResourceDictionary.MergedDictionaries>

Просмотреть файл

@ -11,7 +11,7 @@ using Microsoft.Graph;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Media.Imaging;
namespace CommunityToolkit.Graph.Uwp.Controls
namespace CommunityToolkit.Uwp.Graph.UI.Controls
{
/// <summary>
/// The <see cref="PersonView"/> control displays a user photo and can display their name and e-mail.

Просмотреть файл

@ -6,14 +6,14 @@ using System;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using CommunityToolkit.Auth;
using CommunityToolkit.Graph.Extensions;
using CommunityToolkit.Net.Authentication;
using CommunityToolkit.Net.Graph.Extensions;
using Microsoft.Graph;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Media.Imaging;
namespace CommunityToolkit.Graph.Uwp.Controls
namespace CommunityToolkit.Uwp.Graph.UI.Controls
{
/// <summary>
/// The <see cref="PersonView"/> control displays a user photo and can display their name and e-mail.

Просмотреть файл

@ -1,7 +1,7 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:converters="using:Microsoft.Toolkit.Uwp.UI.Converters"
xmlns:local="using:CommunityToolkit.Graph.Uwp.Controls">
xmlns:local="using:CommunityToolkit.Uwp.Graph.UI.Controls">
<converters:BoolToVisibilityConverter x:Key="BoolToVisibilityConverter" />
<converters:EmptyObjectToObjectConverter x:Key="NullToVisibilityConverter"

Просмотреть файл

@ -3,11 +3,11 @@
// See the LICENSE file in the project root for more information.
using System;
using CommunityToolkit.Graph.Extensions;
using CommunityToolkit.Net.Graph.Extensions;
using Microsoft.Graph;
using Windows.UI.Xaml.Data;
namespace CommunityToolkit.Graph.Uwp.Converters
namespace CommunityToolkit.Uwp.Graph.UI.Converters
{
/// <summary>
/// Converts a <see cref="User"/> to a <see cref="Person"/>.

Просмотреть файл

@ -1,8 +1,8 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="ms-appx:///CommunityToolkit.Graph.Uwp/Controls/LoginButton/LoginButton.xaml" />
<ResourceDictionary Source="ms-appx:///CommunityToolkit.Graph.Uwp/Controls/PeoplePicker/PeoplePicker.xaml" />
<ResourceDictionary Source="ms-appx:///CommunityToolkit.Graph.Uwp/Controls/PersonView/PersonView.xaml" />
<ResourceDictionary Source="ms-appx:///CommunityToolkit.Uwp.Graph.UI/Controls/LoginButton/LoginButton.xaml" />
<ResourceDictionary Source="ms-appx:///CommunityToolkit.Uwp.Graph.UI/Controls/PeoplePicker/PeoplePicker.xaml" />
<ResourceDictionary Source="ms-appx:///CommunityToolkit.Uwp.Graph.UI/Controls/PersonView/PersonView.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>

Просмотреть файл

@ -0,0 +1,9 @@
<FileList>
<File Reference="CommunityToolkit.Uwp.Graph.UI.dll">
<ToolboxItems VSCategory="Windows Community Toolkit Graph Controls" BlendCategory="Windows Community Toolkit Graph Controls">
<Item Type="CommunityToolkit.Uwp.Graph.UI.Controls.LoginButton" />
<Item Type="CommunityToolkit.Uwp.Graph.UI.Controls.PeoplePicker" />
<Item Type="CommunityToolkit.Uwp.Graph.UI.Controls.PersonView" />
</ToolboxItems>
</File>
</FileList>

Просмотреть файл

@ -1,22 +1,4 @@
<Application x:Class="SampleTest.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:auth="using:CommunityToolkit.Auth.Uwp">
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" />
<Application.Resources>
<!--
Initialize Graph Provider On Page Load
Register Client Id: https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-register-app
After finishing the initial registration page, you will also need to add an additional redirect URI.
Click on "Add a Redirect URI" and check the https://login.microsoftonline.com/common/oauth2/nativeclient checkbox on that page. Then click "Save".
-->
<ResourceDictionary>
<auth:GlobalProvider.Config>
<!--<auth:MsalProviderConfig ClientId="YOUR_CLIENT_ID_HERE" Scopes="User.Read,User.ReadBasic.All,People.Read,Calendars.Read,Mail.Read,Group.Read.All,ChannelMessage.Read.All" />-->
<auth:MockProviderConfig SignedIn="True" />
</auth:GlobalProvider.Config>
</ResourceDictionary>
</Application.Resources>
</Application>

Просмотреть файл

@ -2,21 +2,13 @@
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
using CommunityToolkit.Net.Authentication;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices.WindowsRuntime;
using System.Threading.Tasks;
using Windows.ApplicationModel;
using Windows.ApplicationModel.Activation;
using Windows.Foundation;
using Windows.Foundation.Collections;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Controls.Primitives;
using Windows.UI.Xaml.Data;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Media;
using Windows.UI.Xaml.Navigation;
namespace SampleTest
@ -36,6 +28,42 @@ namespace SampleTest
this.Suspending += OnSuspending;
}
private enum ProviderType
{
Mock,
Msal
}
private void InitializeGlobalProvider()
{
if (ProviderManager.Instance.GlobalProvider != null)
{
return;
}
// Which provider should be used?
ProviderType providerType = ProviderType.Mock;
// Provider config
string clientId = "YOUR_CLIENT_ID_HERE";
string redirectUri = null;
string[] scopes = { "User.Read", "User.ReadBasic.All", "People.Read", "Calendars.Read", "Mail.Read", "Group.Read.All", "ChannelMessage.Read.All" };
switch(providerType)
{
// Mock provider
case ProviderType.Mock:
ProviderManager.Instance.GlobalProvider = new MockProvider(signedIn: true);
break;
//Msal provider
case ProviderType.Msal:
ProviderManager.Instance.GlobalProvider = new MsalProvider(clientId, redirectUri, scopes);
break;
}
}
/// <summary>
/// Invoked when the application is launched normally by the end user. Other entry points
/// will be used such as when the application is launched to open a specific file.
@ -43,6 +71,8 @@ namespace SampleTest
/// <param name="e">Details about the launch request and process.</param>
protected override void OnLaunched(LaunchActivatedEventArgs e)
{
Task.Run(InitializeGlobalProvider);
Frame rootFrame = Window.Current.Content as Frame;
// Do not repeat app initialization when the Window already has content,

Просмотреть файл

@ -7,9 +7,7 @@
xmlns:graph="using:Microsoft.Graph"
xmlns:local="using:SampleTest"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:auth="using:CommunityToolkit.Auth"
xmlns:graphX="using:CommunityToolkit.Graph.Extensions"
xmlns:wgt="using:CommunityToolkit.Graph.Uwp.Controls"
xmlns:wgt="using:CommunityToolkit.Uwp.Graph.UI.Controls"
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"
mc:Ignorable="d">

Просмотреть файл

@ -2,8 +2,8 @@
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
using CommunityToolkit.Auth;
using CommunityToolkit.Graph.Extensions;
using CommunityToolkit.Net.Authentication;
using CommunityToolkit.Net.Graph.Extensions;
using Microsoft.Graph;
using Microsoft.Graph.Extensions;
using System;

Просмотреть файл

@ -156,21 +156,17 @@
</PackageReference>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\CommunityToolkit.Auth.Uwp\CommunityToolkit.Auth.Uwp.csproj">
<Project>{eee4c6ca-5e3e-4281-a985-a2fc7eb350b0}</Project>
<Name>CommunityToolkit.Auth.Uwp</Name>
</ProjectReference>
<ProjectReference Include="..\CommunityToolkit.Auth\CommunityToolkit.Auth.csproj">
<ProjectReference Include="..\CommunityToolkit.Net.Authentication\CommunityToolkit.Net.Authentication.csproj">
<Project>{B323A2E1-66EF-4037-95B7-2DEFA051B4B1}</Project>
<Name>CommunityToolkit.Auth</Name>
<Name>CommunityToolkit.Net.Authentication</Name>
</ProjectReference>
<ProjectReference Include="..\CommunityToolkit.Graph.Uwp\CommunityToolkit.Graph.Uwp.csproj">
<ProjectReference Include="..\CommunityToolkit.Uwp.Graph.UI\CommunityToolkit.Uwp.Graph.UI.csproj">
<Project>{42252ee8-7e68-428f-972b-6d2dd3aa12cc}</Project>
<Name>CommunityToolkit.Graph.Uwp</Name>
<Name>CommunityToolkit.Uwp.Graph.UI</Name>
</ProjectReference>
<ProjectReference Include="..\CommunityToolkit.Graph\CommunityToolkit.Graph.csproj">
<ProjectReference Include="..\CommunityToolkit.Net.Graph\CommunityToolkit.Net.Graph.csproj">
<Project>{b2246169-0cd8-473c-aff6-172310e2c3f6}</Project>
<Name>CommunityToolkit.Graph</Name>
<Name>CommunityToolkit.Net.Graph</Name>
</ProjectReference>
</ItemGroup>
<PropertyGroup Condition=" '$(VisualStudioVersion)' == '' or '$(VisualStudioVersion)' &lt; '14.0' ">

Просмотреть файл

@ -3,9 +3,9 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.29230.61
MinimumVisualStudioVersion = 15.0.26124.0
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CommunityToolkit.Graph", "CommunityToolkit.Graph\CommunityToolkit.Graph.csproj", "{B2246169-0CD8-473C-AFF6-172310E2C3F6}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CommunityToolkit.Net.Graph", "CommunityToolkit.Net.Graph\CommunityToolkit.Net.Graph.csproj", "{B2246169-0CD8-473C-AFF6-172310E2C3F6}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CommunityToolkit.Graph.Uwp", "CommunityToolkit.Graph.Uwp\CommunityToolkit.Graph.Uwp.csproj", "{42252EE8-7E68-428F-972B-6D2DD3AA12CC}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CommunityToolkit.Uwp.Graph.UI", "CommunityToolkit.Uwp.Graph.UI\CommunityToolkit.Uwp.Graph.UI.csproj", "{42252EE8-7E68-428F-972B-6D2DD3AA12CC}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Build Config", "Build Config", "{B7903632-1BFF-4BA6-BD7A-9F8A897F7542}"
ProjectSection(SolutionItems) = preProject
@ -26,9 +26,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Build Config", "Build Confi
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SampleTest", "SampleTest\SampleTest.csproj", "{26F5807A-25B5-4E09-8C72-1749C4C59591}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CommunityToolkit.Auth", "CommunityToolkit.Auth\CommunityToolkit.Auth.csproj", "{B323A2E1-66EF-4037-95B7-2DEFA051B4B1}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CommunityToolkit.Auth.Uwp", "CommunityToolkit.Auth.Uwp\CommunityToolkit.Auth.Uwp.csproj", "{EEE4C6CA-5E3E-4281-A985-A2FC7EB350B0}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CommunityToolkit.Net.Authentication", "CommunityToolkit.Net.Authentication\CommunityToolkit.Net.Authentication.csproj", "{B323A2E1-66EF-4037-95B7-2DEFA051B4B1}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -212,46 +210,6 @@ Global
{B323A2E1-66EF-4037-95B7-2DEFA051B4B1}.Release|x64.Build.0 = Release|x64
{B323A2E1-66EF-4037-95B7-2DEFA051B4B1}.Release|x86.ActiveCfg = Release|x86
{B323A2E1-66EF-4037-95B7-2DEFA051B4B1}.Release|x86.Build.0 = Release|x86
{EEE4C6CA-5E3E-4281-A985-A2FC7EB350B0}.CI|Any CPU.ActiveCfg = CI|Any CPU
{EEE4C6CA-5E3E-4281-A985-A2FC7EB350B0}.CI|Any CPU.Build.0 = CI|Any CPU
{EEE4C6CA-5E3E-4281-A985-A2FC7EB350B0}.CI|ARM.ActiveCfg = CI|ARM
{EEE4C6CA-5E3E-4281-A985-A2FC7EB350B0}.CI|ARM.Build.0 = CI|ARM
{EEE4C6CA-5E3E-4281-A985-A2FC7EB350B0}.CI|ARM64.ActiveCfg = CI|ARM64
{EEE4C6CA-5E3E-4281-A985-A2FC7EB350B0}.CI|ARM64.Build.0 = CI|ARM64
{EEE4C6CA-5E3E-4281-A985-A2FC7EB350B0}.CI|x64.ActiveCfg = CI|x64
{EEE4C6CA-5E3E-4281-A985-A2FC7EB350B0}.CI|x64.Build.0 = CI|x64
{EEE4C6CA-5E3E-4281-A985-A2FC7EB350B0}.CI|x86.ActiveCfg = CI|x86
{EEE4C6CA-5E3E-4281-A985-A2FC7EB350B0}.CI|x86.Build.0 = CI|x86
{EEE4C6CA-5E3E-4281-A985-A2FC7EB350B0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EEE4C6CA-5E3E-4281-A985-A2FC7EB350B0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EEE4C6CA-5E3E-4281-A985-A2FC7EB350B0}.Debug|ARM.ActiveCfg = Debug|ARM
{EEE4C6CA-5E3E-4281-A985-A2FC7EB350B0}.Debug|ARM.Build.0 = Debug|ARM
{EEE4C6CA-5E3E-4281-A985-A2FC7EB350B0}.Debug|ARM64.ActiveCfg = Debug|ARM64
{EEE4C6CA-5E3E-4281-A985-A2FC7EB350B0}.Debug|ARM64.Build.0 = Debug|ARM64
{EEE4C6CA-5E3E-4281-A985-A2FC7EB350B0}.Debug|x64.ActiveCfg = Debug|x64
{EEE4C6CA-5E3E-4281-A985-A2FC7EB350B0}.Debug|x64.Build.0 = Debug|x64
{EEE4C6CA-5E3E-4281-A985-A2FC7EB350B0}.Debug|x86.ActiveCfg = Debug|x86
{EEE4C6CA-5E3E-4281-A985-A2FC7EB350B0}.Debug|x86.Build.0 = Debug|x86
{EEE4C6CA-5E3E-4281-A985-A2FC7EB350B0}.Native|Any CPU.ActiveCfg = Debug|Any CPU
{EEE4C6CA-5E3E-4281-A985-A2FC7EB350B0}.Native|Any CPU.Build.0 = Debug|Any CPU
{EEE4C6CA-5E3E-4281-A985-A2FC7EB350B0}.Native|ARM.ActiveCfg = Debug|ARM
{EEE4C6CA-5E3E-4281-A985-A2FC7EB350B0}.Native|ARM.Build.0 = Debug|ARM
{EEE4C6CA-5E3E-4281-A985-A2FC7EB350B0}.Native|ARM64.ActiveCfg = Debug|ARM64
{EEE4C6CA-5E3E-4281-A985-A2FC7EB350B0}.Native|ARM64.Build.0 = Debug|ARM64
{EEE4C6CA-5E3E-4281-A985-A2FC7EB350B0}.Native|x64.ActiveCfg = Debug|x64
{EEE4C6CA-5E3E-4281-A985-A2FC7EB350B0}.Native|x64.Build.0 = Debug|x64
{EEE4C6CA-5E3E-4281-A985-A2FC7EB350B0}.Native|x86.ActiveCfg = Debug|x86
{EEE4C6CA-5E3E-4281-A985-A2FC7EB350B0}.Native|x86.Build.0 = Debug|x86
{EEE4C6CA-5E3E-4281-A985-A2FC7EB350B0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EEE4C6CA-5E3E-4281-A985-A2FC7EB350B0}.Release|Any CPU.Build.0 = Release|Any CPU
{EEE4C6CA-5E3E-4281-A985-A2FC7EB350B0}.Release|ARM.ActiveCfg = Release|ARM
{EEE4C6CA-5E3E-4281-A985-A2FC7EB350B0}.Release|ARM.Build.0 = Release|ARM
{EEE4C6CA-5E3E-4281-A985-A2FC7EB350B0}.Release|ARM64.ActiveCfg = Release|ARM64
{EEE4C6CA-5E3E-4281-A985-A2FC7EB350B0}.Release|ARM64.Build.0 = Release|ARM64
{EEE4C6CA-5E3E-4281-A985-A2FC7EB350B0}.Release|x64.ActiveCfg = Release|x64
{EEE4C6CA-5E3E-4281-A985-A2FC7EB350B0}.Release|x64.Build.0 = Release|x64
{EEE4C6CA-5E3E-4281-A985-A2FC7EB350B0}.Release|x86.ActiveCfg = Release|x86
{EEE4C6CA-5E3E-4281-A985-A2FC7EB350B0}.Release|x86.Build.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE