Пример #1
0
        /// <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)));
        }
Пример #2
0
        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);