Пример #1
0
        public void Render(Action <OffscreenBuffer> template)
        {
            using (_offscreenBuffer.BeginRender())
            {
                template(_offscreenBuffer);

                if (!string.IsNullOrEmpty(ErrorMessage))
                {
                    _offscreenBuffer.WriteLine();
                    _offscreenBuffer.WriteError(ErrorMessage);

                    ErrorMessage = null;
                }
            }
        }
Пример #2
0
        protected override void InputTemplate(OffscreenBuffer screenBuffer)
        {
            screenBuffer.WritePrompt(_message);
            screenBuffer.Write(_paginator.FilterTerm);

            if (string.IsNullOrEmpty(_paginator.FilterTerm))
            {
                screenBuffer.Write(" Hit space to select", Prompt.ColorSchema.Answer);
            }

            var subset = _paginator.ToSubset();

            foreach (var item in subset)
            {
                var value = _textSelector(item);

                screenBuffer.WriteLine();

                if (_paginator.TryGetSelectedItem(out var selectedItem) && EqualityComparer <T> .Default.Equals(item, selectedItem))
                {
                    if (_selectedItems.Contains(item))
                    {
                        screenBuffer.Write($"{Prompt.Symbols.Selector} {Prompt.Symbols.Selected} {value}", Prompt.ColorSchema.Select);
                    }
                    else
                    {
                        screenBuffer.Write($"{Prompt.Symbols.Selector} {Prompt.Symbols.NotSelect} {value}", Prompt.ColorSchema.Select);
                    }
                }
Пример #3
0
        protected override void InputTemplate(OffscreenBuffer screenBuffer)
        {
            screenBuffer.WritePrompt(_message);
            screenBuffer.Write(_paginator.FilterTerm);

            var subset = _paginator.ToSubset();

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

                screenBuffer.WriteLine();

                if (_paginator.TryGetSelectedItem(out var selectedItem) && EqualityComparer <T> .Default.Equals(item, selectedItem))
                {
                    screenBuffer.Write($"{Prompt.Symbols.Selector} {value}", Prompt.ColorSchema.Select);
                }