protected override void OnInitialized()
        {
            this.ClassMapper.Add(PrefixName);

            _targetKeys = TargetKeys.ToList();
            var selectedKeys = SelectedKeys.ToList();

            _sourceSelectedKeys = selectedKeys.Where(key => !_targetKeys.Contains(key)).ToList();
            _targetSelectedKeys = selectedKeys.Where(key => _targetKeys.Contains(key)).ToList();
            int count = _sourceSelectedKeys.Count;

            InitData();

            MathTitleCount();
        }
        private async Task HandleSearch(ChangeEventArgs e, string direction)
        {
            if (direction == TransferDirection.Left)
            {
                _leftDataSource = DataSource.Where(a => !TargetKeys.Contains(a.Key) && a.Title.Contains(e.Value.ToString())).ToList();
            }
            else
            {
                _rightDataSource = DataSource.Where(a => TargetKeys.Contains(a.Key) && a.Title.Contains(e.Value.ToString())).ToList();
            }

            if (OnSearch.HasDelegate)
            {
                await OnSearch.InvokeAsync(new TransferSearchArgs(direction, e.Value.ToString()));
            }
        }
Example #3
0
        /// <summary>
        /// Initializes a new instance of the <see cref="Link"/> class.
        /// </summary>
        /// <param name="origin">The origin<see cref="IFigures"/>.</param>
        /// <param name="target">The target<see cref="IFigures"/>.</param>
        /// <param name="keyRubric">The keyRubric<see cref="IRubric"/>.</param>
        public Link(IFigures origin, IFigures target, IRubric keyRubric) : this(origin, target)
        {
            var originRubric = origin.Rubrics[keyRubric];
            var targetRubric = target.Rubrics[keyRubric];

            if (originRubric != null && targetRubric != null)
            {
                OriginKeys.Add(originRubric);
                TargetKeys.Add(targetRubric);
            }
            else
            {
                throw new IndexOutOfRangeException("Rubric not found");
            }
            OriginKeys.Update();
            TargetKeys.Update();
        }
Example #4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Link"/> class.
 /// </summary>
 /// <param name="origin">The origin<see cref="IFigures"/>.</param>
 /// <param name="target">The target<see cref="IFigures"/>.</param>
 /// <param name="keyRubricNames">The keyRubricNames<see cref="string[]"/>.</param>
 public Link(IFigures origin, IFigures target, string[] keyRubricNames) : this(origin, target)
 {
     foreach (var name in keyRubricNames)
     {
         var originRubric = origin.Rubrics[name];
         var targetRubric = target.Rubrics[name];
         if (originRubric != null && targetRubric != null)
         {
             OriginKeys.Add(originRubric);
             TargetKeys.Add(targetRubric);
         }
         else
         {
             throw new IndexOutOfRangeException("Rubric not found");
         }
     }
     OriginKeys.Update();
     TargetKeys.Update();
 }