diff options
Diffstat (limited to 'MediaBrowser.UI/Pages')
| -rw-r--r-- | MediaBrowser.UI/Pages/BaseLoginPage.cs | 33 | ||||
| -rw-r--r-- | MediaBrowser.UI/Pages/BasePage.cs | 79 |
2 files changed, 112 insertions, 0 deletions
diff --git a/MediaBrowser.UI/Pages/BaseLoginPage.cs b/MediaBrowser.UI/Pages/BaseLoginPage.cs new file mode 100644 index 000000000..cd3151df0 --- /dev/null +++ b/MediaBrowser.UI/Pages/BaseLoginPage.cs @@ -0,0 +1,33 @@ +using MediaBrowser.Model.DTO;
+using MediaBrowser.UI.Controller;
+using System;
+using System.Threading.Tasks;
+
+namespace MediaBrowser.UI.Pages
+{
+ public class BaseLoginPage : BasePage
+ {
+ private DtoUser[] _users;
+ public DtoUser[] Users
+ {
+ get { return _users; }
+
+ set
+ {
+ _users = value;
+ OnPropertyChanged("Users");
+ }
+ }
+
+ protected override async Task LoadData()
+ {
+ Users = await UIKernel.Instance.ApiClient.GetAllUsersAsync().ConfigureAwait(false);
+ }
+
+ protected void UserClicked(DtoUser user)
+ {
+ App.Instance.CurrentUser = user;
+ //App.Instance.Navigate(new Uri("/Pages/HomePage.xaml", UriKind.Relative));
+ }
+ }
+}
diff --git a/MediaBrowser.UI/Pages/BasePage.cs b/MediaBrowser.UI/Pages/BasePage.cs new file mode 100644 index 000000000..800f6e215 --- /dev/null +++ b/MediaBrowser.UI/Pages/BasePage.cs @@ -0,0 +1,79 @@ +using System;
+using System.Collections.Specialized;
+using System.ComponentModel;
+using System.Threading.Tasks;
+using System.Web;
+using System.Windows;
+using System.Windows.Controls;
+
+namespace MediaBrowser.UI.Pages
+{
+ public abstract class BasePage : Page, INotifyPropertyChanged
+ {
+ public event PropertyChangedEventHandler PropertyChanged;
+
+ public void OnPropertyChanged(String info)
+ {
+ if (PropertyChanged != null)
+ {
+ PropertyChanged(this, new PropertyChangedEventArgs(info));
+ }
+ }
+
+ protected Uri Uri
+ {
+ get
+ {
+ return NavigationService.CurrentSource;
+ }
+ }
+
+ protected MainWindow MainWindow
+ {
+ get
+ {
+ return App.Instance.MainWindow as MainWindow;
+ }
+ }
+
+ private NameValueCollection _queryString;
+ protected NameValueCollection QueryString
+ {
+ get
+ {
+ if (_queryString == null)
+ {
+ string url = Uri.ToString();
+
+ int index = url.IndexOf('?');
+
+ if (index == -1)
+ {
+ _queryString = new NameValueCollection();
+ }
+ else
+ {
+ _queryString = HttpUtility.ParseQueryString(url.Substring(index + 1));
+ }
+ }
+
+ return _queryString;
+ }
+ }
+
+ protected BasePage()
+ : base()
+ {
+ Loaded += BasePageLoaded;
+ }
+
+ async void BasePageLoaded(object sender, RoutedEventArgs e)
+ {
+ await LoadData();
+
+ DataContext = this;
+ }
+
+ protected abstract Task LoadData();
+ }
+}
|
