Exemplo n.º 1
0
        public SpeakerDetailsPage(string sessionId)
        {
            this.sessionId = sessionId;
            InitializeComponent();
            MainScroll.ParallaxView = HeaderView;
            _extension = DependencyService.Get <IPlatformSpecificExtension <Speaker> >();

            ListViewSessions.ItemSelected += async(sender, e) =>
            {
                var session = ListViewSessions.SelectedItem as Session;
                if (session == null)
                {
                    return;
                }

                var sessionDetails = new SessionDetailsPage(session);

                await NavigationService.PushAsync(Navigation, sessionDetails);

                ListViewSessions.SelectedItem = null;
            };

            if (Device.Idiom != TargetIdiom.Phone)
            {
                Row1Header.Height = Row1Content.Height = 350;
            }
        }
Exemplo n.º 2
0
        public SpeakerDetailsPage()
        {
            this.InitializeComponent();
            this.MainScroll.ParallaxView = this.HeaderView;
            this.extension = DependencyService.Get <IPlatformSpecificExtension <SpeakerModel> >();

            this.ListViewSessions.ItemSelected += async(sender, e) =>
            {
                if (!(this.ListViewSessions.SelectedItem is TalkModel session))
                {
                    return;
                }

                var sessionDetails = new TalkPage(session);

                await NavigationService.PushAsync(this.Navigation, sessionDetails);

                this.ListViewSessions.SelectedItem = null;
            };

            if (Device.Idiom != TargetIdiom.Phone)
            {
                this.Row1Header.Height = this.Row1Content.Height = 350;
            }

            this.ListViewFollow.TemplatedItems.CollectionChanged += (sender, args) =>
            {
                this.ListViewFollow.UpdateListViewHeight();
            };
        }
Exemplo n.º 3
0
        public SessionDetailsPage(Session session)
        {
            InitializeComponent();

            _extension = DependencyService.Get <IPlatformSpecificExtension <Session> >();

            ItemId = session?.Title;

            FavoriteButtonAndroid.Clicked += (sender, e) => {
                Device.BeginInvokeOnMainThread(() => FavoriteIconAndroid.Grow());
            };
            FavoriteButtoniOS.Clicked += (sender, e) => {
                Device.BeginInvokeOnMainThread(() => FavoriteIconiOS.Grow());
            };

            ListViewSpeakers.ItemSelected += async(sender, e) =>
            {
                var speaker = ListViewSpeakers.SelectedItem as Speaker;
                if (speaker == null)
                {
                    return;
                }

                ContentPage destination;

                if (Device.OS == TargetPlatform.Windows || Device.OS == TargetPlatform.WinPhone)
                {
                    var speakerDetailsUwp = new SpeakerDetailsPageUWP(vm.Session.Id);
                    speakerDetailsUwp.Speaker = speaker;
                    destination = speakerDetailsUwp;
                }
                else
                {
                    var speakerDetails = new SpeakerDetailsPage(vm.Session.Id);
                    speakerDetails.Speaker = speaker;
                    destination            = speakerDetails;
                }

                await NavigationService.PushAsync(Navigation, destination);

                ListViewSpeakers.SelectedItem = null;
            };


            ButtonRate.Clicked += async(sender, e) =>
            {
                if (!Settings.Current.IsLoggedIn)
                {
                    MessagingService.Current.SendMessage(MessageKeys.NavigateLogin);
                    return;
                }
                await NavigationService.PushModalAsync(Navigation, new EvolveNavigationPage(new FeedbackPage(ViewModel.Session)));
            };
            BindingContext = new SessionDetailsViewModel(Navigation, session);
            ViewModel.LoadSessionCommand.Execute(null);
        }
Exemplo n.º 4
0
        public MiniHacksDetailsPage(MiniHack hack)
        {
            InitializeComponent();
            ItemId = hack.Name;

            _extension = DependencyService.Get <IPlatformSpecificExtension <MiniHack> >();

            BindingContext = vm = new MiniHackDetailsViewModel(hack);

            ButtonFinish.Clicked += ButtonFinish_Clicked;

            if (string.IsNullOrWhiteSpace(hack.GitHubUrl))
            {
                MiniHackDirections1.IsEnabled = false;
                MiniHackDirections1.Text      = "Directions coming soon";
                MiniHackDirections2.IsEnabled = false;
                MiniHackDirections2.Text      = "Directions coming soon";
            }

            scanPage = new ZXingScannerPage(new MobileBarcodeScanningOptions {
                AutoRotate = false,
            })
            {
                DefaultOverlayTopText    = "Align the barcode within the frame",
                DefaultOverlayBottomText = string.Empty
            };

            scanPage.OnScanResult += ScanPage_OnScanResult;


            scanPage.Title = "Scan Code";


            var item = new ToolbarItem
            {
                Text    = "Cancel",
                Command = new Command(async() =>
                {
                    scanPage.IsScanning = false;
                    await Navigation.PopAsync();
                })
            };

            if (Device.OS != TargetPlatform.iOS)
            {
                item.Icon = "toolbar_close.png";
            }

            scanPage.ToolbarItems.Add(item);
        }
Exemplo n.º 5
0
        public TalkPage(TalkModel talkModel)
        {
            this.InitializeComponent();

            this.extension = DependencyService.Get <IPlatformSpecificExtension <TalkModel> >();

            this.ItemId = talkModel?.Title;

            this.ListViewSpeakers.ItemSelected += async(sender, e) =>
            {
                if (!(this.ListViewSpeakers.SelectedItem is SpeakerModel speaker))
                {
                    return;
                }

                ContentPage destination;

                if (Device.RuntimePlatform == Device.UWP)
                {
                    var speakerDetailsUwp =
                        new SpeakerDetailsPageUWP(this.talkViewModel.TalkModel.Id)
                    {
                        SpeakerModel = speaker
                    };
                    destination = speakerDetailsUwp;
                }
                else
                {
                    var speakerDetails =
                        new SpeakerDetailsPage()
                    {
                        SpeakerModel = speaker
                    };
                    destination = speakerDetails;
                }

                await NavigationService.PushAsync(this.Navigation, destination);

                this.ListViewSpeakers.SelectedItem = null;
            };

            this.ButtonRate.Clicked += async(sender, e) =>
            {
                await NavigationService.PushModalAsync(
                    this.Navigation,
                    new EvolveNavigationPage(new FeedbackPage(this.ViewModel.TalkModel)));
            };
            this.BindingContext = new TalkViewModel(this.Navigation, talkModel);
            this.ViewModel.LoadSessionCommand.Execute(null);
        }
Exemplo n.º 6
0
        public SessionDetailsPage(Session session)
        {
            InitializeComponent();

            _extension = DependencyService.Get <IPlatformSpecificExtension <Session> >();

            ItemId = session?.Title;

            ListViewSpeakers.ItemSelected += async(sender, e) =>
            {
                var speaker = ListViewSpeakers.SelectedItem as Speaker;
                if (speaker == null)
                {
                    return;
                }

                ContentPage destination;

                if (Device.OS == TargetPlatform.Windows || Device.OS == TargetPlatform.WinPhone)
                {
                    var speakerDetailsUwp = new SpeakerDetailsPageUWP(vm.Session.Id);
                    speakerDetailsUwp.Speaker = speaker;
                    destination = speakerDetailsUwp;
                }
                else
                {
                    var speakerDetails = new SpeakerDetailsPage(vm.Session.Id);
                    speakerDetails.Speaker = speaker;
                    destination            = speakerDetails;
                }

                await NavigationService.PushAsync(Navigation, destination);

                ListViewSpeakers.SelectedItem = null;
            };


            ButtonRate.Clicked += async(sender, e) =>
            {
                await NavigationService.PushModalAsync(
                    Navigation,
                    new EvolveNavigationPage(new FeedbackPage(ViewModel.Session)));
            };
            BindingContext = new SessionDetailsViewModel(Navigation, session);
            ViewModel.LoadSessionCommand.Execute(null);
        }