Esempio n. 1
0
        /// <summary>
        /// Render table rows with even and odd classes and selection column (if enabled)
        /// </summary>
        /// <returns></returns>
        public MvcHtmlString RenderTableRows()
        {
            var sb  = new StringBuilder();
            int cnt = 0;

            foreach (T row in GetCurrentPageData())
            {
                cnt++;
                sb.AppendFormat("<tr class=\"{0}\">", cnt % 2 == 0 ? "even" : "odd");
                foreach (var columnDef in Cols.Where(x => x.AllowWeb))
                {
                    if (columnDef.KeySelector != null)
                    {
                        var  selVal     = columnDef.KeySelector(row).ToString();
                        bool isSelected = SelectedKeys.Contains(selVal);
                        sb.AppendFormat("<td><input type='checkbox' value='{2}' {1} class='js-grid-selector' onclick=\"gridSelect('{0}',$(this))\" />{3}</td>", ID, isSelected ? "checked='checked'" : "", selVal, columnDef.WebFormat(row));
                    }
                    else
                    {
                        sb.AppendFormat("<td>{0}</td>", columnDef.WebFormat(row));
                    }
                }
                sb.AppendLine("</tr>");
            }
            return(new MvcHtmlString(sb.ToString()));
        }
        protected override void OnPropertyChanged([CallerMemberName] string propertyName = null)
        {
            base.OnPropertyChanged(propertyName);

            if (propertyName == nameof(SelectedKeys))
            {
                foreach (var key in keyButtons)
                {
                    key.IsEnabled = SelectedKeys == null || !SelectedKeys.Any(x => x.Equals(key.Text));
                }
            }
            else if (propertyName == nameof(KeyColor))
            {
                foreach (var key in keyButtons)
                {
                    key.BackgroundColor = KeyColor;
                }
            }
            else if (propertyName == nameof(KeyTextColor))
            {
                foreach (var key in keyButtons)
                {
                    key.TextColor = KeyTextColor;
                }
            }
        }
Esempio n. 3
0
 public override DialogResult Show()
 {
     if (SelectedKeys == null || !SelectedKeys.Any())
     {
         SelectedKeys = new [] { options.First().Item1 };
     }
     return(base.Show());
 }
Esempio n. 4
0
 protected void AddSelectedKey(KeyModel selection)
 {
     if (SelectedKeys.Contains(selection) == false)
     {
         SelectedKeys.Add(selection);
         OnPropertyChanged("SelectedKeys");
         UpdatePinning();
     }
 }
Esempio n. 5
0
        private void SelectAndClose()
        {
            SelectedKeys.Clear();
            foreach (ListViewItem item in listView1.SelectedItems)
            {
                SelectedKeys.Add((BaseKey)item.Tag);
            }

            this.DialogResult = DialogResult.OK;

            this.Close();
        }
Esempio n. 6
0
        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 ValueTask InitKeys()
        {
            keyButtons = new List <Button>();

            await Task.Run(() =>
            {
                for (int i = 0; i < keys.LongLength; i++)
                {
                    Button button = new Button
                    {
                        Text            = keys[i],
                        BackgroundColor = Color.White,
                        TextColor       = Color.Black,
                        FontSize        = keys[i].Length == 1 ? 14 : 12,
                        WidthRequest    = 40,
                        Margin          = 2
                    };

                    button.Clicked += delegate
                    {
                        if (KeyCommand == null)
                        {
                            return;
                        }
                        if (KeyCommand.CanExecute(null))
                        {
                            if (SelectedKeys == null)
                            {
                                SelectedKeys = new ObservableCollection <string>();
                            }

                            button.IsEnabled = false;
                            SelectedKeys.Add(button.Text);
                            KeyCommand.Execute(button.Text);
                        }
                    };


                    keyButtons.Add(button);
                }
            });
        }
Esempio n. 8
0
        public void ResetSelection()
        {
            SelectedKeys.Clear();
            SelectedKey = null;

            if (MultiSelect)
            {
                if (SelectedKeysChanged.HasDelegate)
                {
                    SelectedKeysChanged.InvokeAsync(SelectedKeys);
                }
            }
            else
            {
                if (SelectedKeyChanged.HasDelegate)
                {
                    SelectedKeyChanged.InvokeAsync(SelectedKey);
                }
            }
            StateHasChanged();
        }
Esempio n. 9
0
        public void RemoveSelection(string key)
        {
            if (MultiSelect)
            {
                if (!SelectedKeys.Contains(key))
                {
                    throw new Exception("This key was not already selected.");
                }

                if (OnChange.HasDelegate)
                {
                    OnChange.InvokeAsync(new BFUDropdownChangeArgs(key, false));
                }

                SelectedKeys.Remove(key);  //this used to be following the next command.  A bug?  I moved it here...

                if (SelectedKeysChanged.HasDelegate)
                {
                    SelectedKeysChanged.InvokeAsync(SelectedKeys);
                }
            }
            else
            {
                if (SelectedKey != null)
                {
                    SelectedKey = null;
                    if (OnChange.HasDelegate)
                    {
                        OnChange.InvokeAsync(new BFUDropdownChangeArgs(key, false));
                    }

                    if (SelectedKeyChanged.HasDelegate)
                    {
                        SelectedKeyChanged.InvokeAsync(SelectedKey);
                    }
                }
            }
            StateHasChanged();
        }
Esempio n. 10
0
        public void AddSelection(string key)
        {
            if (MultiSelect)
            {
                if (SelectedKeys.Contains(key))
                {
                    throw new Exception("This key was already selected.");
                }

                if (OnChange.HasDelegate)
                {
                    OnChange.InvokeAsync(new BFUDropdownChangeArgs(key, true));
                }

                SelectedKeys.Add(key);

                if (SelectedKeysChanged.HasDelegate)
                {
                    SelectedKeysChanged.InvokeAsync(SelectedKeys);
                }
            }
            else
            {
                if (SelectedKey != key)
                {
                    SelectedKey = key;
                    if (OnChange.HasDelegate)
                    {
                        OnChange.InvokeAsync(new BFUDropdownChangeArgs(key, true));
                    }
                    if (SelectedKeyChanged.HasDelegate)
                    {
                        SelectedKeyChanged.InvokeAsync(SelectedKey);
                    }
                }
                isOpen = false;
            }
            StateHasChanged();
        }
        public HangmanViewModel()
        {
            SelectedCategoryName = string.Empty;
            termRepository       = new TermRepository();
            InitData();

            NewGameCommand = new Command(async() => await StartNewGame());

            KeyCommand = new Command((letter) =>
            {
                if (!Term.ToUpper().Contains(letter.ToString()))
                {
                    NoOfWrongAttemps++;
                    WrongLetters += string.IsNullOrEmpty(WrongLetters) ? letter : $",{letter}";
                }

                DiscoveredLetters = string.Join(";", SelectedKeys);

                if (NoOfWrongAttemps >= 6 || !Term.ToUpper().Any(x => !string.IsNullOrWhiteSpace(x.ToString()) && !SelectedKeys.Contains(x.ToString())))
                {
                    OnFinishGame(NoOfWrongAttemps < 6);
                }
            });

            SelectCategoryCommand = new Command(async() =>
            {
                TermCategoryModel currentCategory = selectedCategory;
                await GetTermCategory();
                if (currentCategory.Id != selectedCategory.Id)
                {
                    await StartNewGame();
                }
            });
        }