예제 #1
0
        protected override void InputTemplate(FormRenderer formRenderer)
        {
            formRenderer.WriteMessage(_message);
            formRenderer.Write(_selector.FilterTerm);

            if (_showConfirm && string.IsNullOrEmpty(_selector.FilterTerm))
            {
                formRenderer.Write(" Press Spacebar to Toggle", Prompt.ColorSchema.Answer);
            }

            var subset = _selector.ToSubset();

            foreach (T item in subset)
            {
                var value = _valueSelector(item);

                formRenderer.WriteLine();

                if (_selector.IsSelected && EqualityComparer <T> .Default.Equals(item, _selector.SelectedItem))
                {
                    if (_selectedItems.Contains(item))
                    {
                        formRenderer.Write($"{Symbol.Selector} {Symbol.Selected} {value}", Prompt.ColorSchema.Select);
                    }
                    else
                    {
                        formRenderer.Write($"{Symbol.Selector} {Symbol.NotSelect} {value}", Prompt.ColorSchema.Select);
                    }
                }
                else
                {
                    if (_selectedItems.Contains(item))
                    {
                        formRenderer.Write($"  {Symbol.Selected} {value}", Prompt.ColorSchema.Select);
                    }
                    else
                    {
                        formRenderer.Write($"  {Symbol.NotSelect} {value}");
                    }
                }
            }
        }
예제 #2
0
        protected override void InputTemplate(FormRenderer formRenderer)
        {
            formRenderer.WriteMessage(_message);
            formRenderer.Write(_selector.FilterTerm);

            var subset = _selector.ToSubset();

            foreach (T item in subset)
            {
                var value = _valueSelector(item);

                formRenderer.WriteLine();

                if (_selector.IsSelected && EqualityComparer <T> .Default.Equals(item, _selector.SelectedItem))
                {
                    formRenderer.Write($"{Symbol.Selector} {value}", Prompt.ColorSchema.Select);
                }
                else
                {
                    formRenderer.Write($"  {value}");
                }
            }
        }