예제 #1
0
        public void ShowGalleryContent()
        {
            WebView.Hidden     = true;
            GalleryView.Hidden = false;
            _spinner.Display();

            ViewModel.GetGaleryImages(((List <GalleryImage> images) => {
                InvokeOnMainThread(() =>
                {
                    DisplayGallery(images);
                });
            }));
        }
예제 #2
0
        public void Run()
        {
            using (Spinner spinner = new Spinner(SpinnerTemplate))
            {
                spinner.MarginTop    = 2;
                spinner.MarginBottom = 2;
                spinner.FrameIntervalMilliseconds = SpinnerStepMilliseconds;
                spinner.Label = new InlineTextBlock
                {
                    Text        = "Doing some work",
                    MarginRight = 1
                };

                spinner.Display();

                try
                {
                    // Simulate work
                    Thread.Sleep(WorkPeriod);

                    spinner.DoneText = new InlineTextBlock("[Done]", CustomConsole.SuccessColor);
                    spinner.Close();
                }
                catch
                {
                    spinner.DoneText = new InlineTextBlock("[Error]", CustomConsole.ErrorColor);
                    spinner.Close();
                }
            }
        }
예제 #3
0
        public void UpdateLang(Core.Utilities.Lang lang)
        {
            TableView.UserInteractionEnabled = false;
            ViewModel.SelectedLang           = lang.Value;
            _spinner.Display();

            ApiService.LoadMenuItems(OnMenuItemsLoaded);
        }
예제 #4
0
 public static void WriteWaitingLine <T>(Task <T> task, string message = null)
 {
     Log.Prompt(message ?? "Waiting...");
     if (IsInteractive)
     {
         var spinner = new Spinner
         {
             EnsureBeginOfLine = true
         };
         spinner.Display();
         task.ContinueWith(x => spinner.Dispose(), TaskContinuationOptions.None);
     }
 }
예제 #5
0
        public static async Task <T> WriteWaitingLineAndWait <T>(Task <T> task, string message = null)
        {
            Log.Prompt(message ?? "Waiting...");
            if (!IsInteractive)
            {
                return(await task);
            }

            using var spinner = new Spinner { EnsureBeginOfLine = true };
            spinner.Display();
            var result = await task;

            spinner.Dispose();

            return(result);
        }