private void loadContent(Drawable content) { scrollFlow.ScrollToStart(); if (content == null) { contentContainer.Clear(); loading.Hide(); return; } LoadComponentAsync(content, loaded => { loading.Hide(); contentContainer.Child = loaded; }, (cancellationToken = new CancellationTokenSource()).Token); }
private void loadTable(Drawable table) { scrollFlow.ScrollToStart(); if (table == null) { tableContainer.Clear(); loading.Hide(); return; } LoadComponentAsync(table, t => { loading.Hide(); tableContainer.Child = table; }, (cancellationToken = new CancellationTokenSource()).Token); }
private void loadTable(Drawable table) { LoadComponentAsync(table, t => { scrollFlow.Clear(); scrollFlow.Add(t); loading.Hide(); }, cancellationToken.Token); }
private void getScores() { getScoresRequest?.Cancel(); getScoresRequest = null; noScoresPlaceholder.Hide(); if (Beatmap.Value?.OnlineBeatmapID.HasValue != true || Beatmap.Value.Status <= BeatmapSetOnlineStatus.Pending) { Scores = null; content.Hide(); return; } if (scope.Value != BeatmapLeaderboardScope.Global && !userIsSupporter) { Scores = null; notSupporterPlaceholder.Show(); loading.Hide(); return; } notSupporterPlaceholder.Hide(); content.Show(); loading.Show(); getScoresRequest = new GetScoresRequest(Beatmap.Value, Beatmap.Value.Ruleset, scope.Value, modSelector.SelectedMods); getScoresRequest.Success += scores => { loading.Hide(); Scores = scores; if (!scores.Scores.Any()) { noScoresPlaceholder.ShowWithScope(scope.Value); } }; api.Queue(getScoresRequest); }
private void onSuccess(GetSpotlightRankingsResponse response) { LoadComponentAsync(createContent(response), loaded => { selector.ShowInfo(response); content.Clear(); content.Add(loaded); loading.Hide(); }, (cancellationToken = new CancellationTokenSource()).Token); }
private void load(IAPIProvider api, NotificationOverlay notifications) { SpriteIcon icon; AddRange(new Drawable[] { icon = new SpriteIcon { Anchor = Anchor.Centre, Origin = Anchor.Centre, Icon = FontAwesome.Regular.Heart, Size = new Vector2(18), Shadow = false, }, loading = new DimmedLoadingLayer(0.8f, 0.5f), }); Action = () => { if (loading.State.Value == Visibility.Visible) { return; } // guaranteed by disabled state above. Debug.Assert(BeatmapSet.Value.OnlineBeatmapSetID != null); loading.Show(); request?.Cancel(); request = new PostBeatmapFavouriteRequest(BeatmapSet.Value.OnlineBeatmapSetID.Value, favourited.Value ? BeatmapFavouriteAction.UnFavourite : BeatmapFavouriteAction.Favourite); request.Success += () => { favourited.Toggle(); loading.Hide(); }; request.Failure += e => { notifications?.Post(new SimpleNotification { Text = e.Message, Icon = FontAwesome.Solid.Times, }); loading.Hide(); }; api.Queue(request); }; favourited.ValueChanged += favourited => icon.Icon = favourited.NewValue ? FontAwesome.Solid.Heart : FontAwesome.Regular.Heart; localUser.BindTo(api.LocalUser); localUser.BindValueChanged(_ => updateEnabled()); // must be run after setting the Action to ensure correct enabled state (setting an Action forces a button to be enabled). BeatmapSet.BindValueChanged(setInfo => { updateEnabled(); favourited.Value = setInfo.NewValue?.OnlineInfo?.HasFavourited ?? false; }, true); }