protected async Task LoadCollectionDataAsync(CancellationToken cancellationToken, IEnumerable <string>?reloadEntityIds = null) { if (CurrentState == null) { throw new InvalidOperationException(); } var uiResolver = await UIResolverFactory.GetListUIResolverAsync(CurrentState.UsageType, CurrentState.CollectionAlias); if (reloadEntityIds?.Any() == true) { var sections = await ReloadSectionsAsync(reloadEntityIds, uiResolver); if (cancellationToken.IsCancellationRequested) { return; } Sections = sections; } else { var listUI = uiResolver.GetListDetails(); var(listContext, sections) = await LoadSectionsAsync(listUI, uiResolver); var buttons = await uiResolver.GetButtonsForEditContextAsync(listContext.ProtoEditContext); var tabs = await uiResolver.GetTabsAsync(listContext.ProtoEditContext); if (cancellationToken.IsCancellationRequested) { return; } try { ListUI = listUI; Buttons = buttons; Tabs = tabs; ListContext = listContext; Sections = sections; PageContents = null; } catch { } } StateHasChanged(); }
protected async Task LoadCollectionDataAsync(CancellationToken cancellationToken, IEnumerable <string>?reloadEntityIds = null) { var uiResolver = await UIResolverFactory.GetListUIResolverAsync(CurrentNavigationState); if (reloadEntityIds?.Any() == true) { var sections = await ReloadSectionsAsync(reloadEntityIds, uiResolver); if (cancellationToken.IsCancellationRequested || ListContext == null) { return; } ListContext.EditContexts.Clear(); ListContext.EditContexts.AddRange(sections.Select(x => x.editContext)); Sections = sections; } else { var listUI = uiResolver.GetListDetails(); var(listContext, sections) = await LoadSectionsAsync(listUI, uiResolver); var buttons = await uiResolver.GetButtonsForEditContextAsync(listContext.ProtoEditContext); var tabs = await uiResolver.GetTabsAsync(listContext.ProtoEditContext); if (cancellationToken.IsCancellationRequested) { return; } try { ListUI = listUI; Buttons = buttons; Tabs = tabs; ListContext = listContext; Sections = sections; PageContents = null; } catch { } } StateHasChanged(); }
protected async Task LoadCollectionDataAsync(IEnumerable <string>?reloadEntityIds = null) { try { if (CurrentState == null) { throw new InvalidOperationException(); } if (reloadEntityIds?.Any() == true) { await ReloadSectionsAsync(reloadEntityIds); } else { UIResolver = await UIResolverFactory.GetListUIResolverAsync(CurrentState.UsageType, CurrentState.CollectionAlias); ListUI = UIResolver.GetListDetails(); var listContext = await LoadSectionsAsync(); var buttons = await UIResolver.GetButtonsForEditContextAsync(listContext.ProtoEditContext); var tabs = await UIResolver.GetTabsAsync(listContext.ProtoEditContext); Buttons = buttons; Tabs = tabs; ListContext = listContext; Sections?.ForEach(x => x.editContext.OnFieldChanged += (s, a) => StateHasChanged()); PageContents = null; } StateHasChanged(); } catch { ListContext = null; Sections = null; ListUI = null; throw; } }