/// <inheritdoc cref="IDataLoader.Load(CancellationToken, IDataLoaderContext)"/> public Task <object> Load(CancellationToken ct, IDataLoaderContext context = null) { context = context ?? new DataLoaderContext(); _manualTrigger = _manualTrigger ?? new ManualDataLoaderTrigger($"{Name}.ManualTrigger"); var sequenceId = Interlocked.Increment(ref _sequenceId); PopulateContext(context); return(InnerLoad(ct, new DataLoaderRequest(sequenceId, _manualTrigger, context, _contextValues))); }
private void OnSourceChanged(IDataLoader dataLoader) { _controller.SetDataLoader(dataLoader); if (dataLoader != null && AutoLoad) { var manualDataLoaderTrigger = new ManualDataLoaderTrigger($"{nameof(DataLoaderView)}.{nameof(AutoLoad)}"); dataLoader.AddTrigger(manualDataLoaderTrigger); manualDataLoaderTrigger.Trigger(); } }
/// <summary> /// Adds a manual trigger. /// </summary> /// <param name="dataLoaderBuilder"><see cref="IDataLoaderBuilder"/></param> /// <param name="trigger"><see cref="ManualDataLoaderTrigger"/></param> /// <returns><see cref="IDataLoaderBuilder" /></returns> public static TBuilder TriggerManually <TBuilder>(this TBuilder dataLoaderBuilder, ManualDataLoaderTrigger trigger) where TBuilder : IDataLoaderBuilder => dataLoaderBuilder.WithTrigger(trigger);