Exemplo n.º 1
0
 /// <summary>
 /// Adds the item.
 /// </summary>
 /// <param name="item">The item.</param>
 public void AddItem(RadzenSelectBarItem item)
 {
     if (items.IndexOf(item) == -1)
     {
         items.Add(item);
         StateHasChanged();
     }
 }
Exemplo n.º 2
0
 /// <summary>
 /// Removes the item.
 /// </summary>
 /// <param name="item">The item.</param>
 public void RemoveItem(RadzenSelectBarItem item)
 {
     if (items.Contains(item))
     {
         items.Remove(item);
         if (!disposed)
         {
             try { InvokeAsync(StateHasChanged); } catch { }
         }
     }
 }
Exemplo n.º 3
0
        /// <summary>
        /// Determines whether the specified item is selected.
        /// </summary>
        /// <param name="item">The item.</param>
        /// <returns><c>true</c> if the specified item is selected; otherwise, <c>false</c>.</returns>
        protected bool IsSelected(RadzenSelectBarItem item)
        {
            if (Value != null)
            {
                if (Multiple)
                {
                    return(((IEnumerable)Value).Cast <object>().Contains(item.Value));
                }
                else
                {
                    return(object.Equals(Value, item.Value));
                }
            }

            return(false);
        }
Exemplo n.º 4
0
        /// <summary>
        /// Selects the item.
        /// </summary>
        /// <param name="item">The item.</param>
        protected async System.Threading.Tasks.Task SelectItem(RadzenSelectBarItem item)
        {
            if (Disabled)
            {
                return;
            }

            if (Multiple)
            {
                var type = typeof(TValue).IsGenericType ? typeof(TValue).GetGenericArguments()[0] : typeof(TValue);

                var selectedValues = Value != null ? ((IEnumerable)Value).AsQueryable().Cast(type).AsEnumerable().ToList() : new List <dynamic>();

                if (!selectedValues.Contains(item.Value))
                {
                    selectedValues.Add(item.Value);
                }
                else
                {
                    selectedValues.Remove(item.Value);
                }

                Value = (TValue)selectedValues.AsQueryable().Cast(type);
            }
            else
            {
                Value = (TValue)item.Value;
            }

            await ValueChanged.InvokeAsync(Value);

            if (FieldIdentifier.FieldName != null)
            {
                EditContext?.NotifyFieldChanged(FieldIdentifier);
            }
            await Change.InvokeAsync(Value);

            StateHasChanged();
        }
Exemplo n.º 5
0
 ClassList ButtonClassList(RadzenSelectBarItem item) => ClassList.Create("rz-button rz-button-text-only")
 .Add("rz-state-active", IsSelected(item))
 .AddDisabled(Disabled);