public void Render(Action <OffscreenBuffer> template) { using (_offscreenBuffer.BeginRender()) { template(_offscreenBuffer); if (!string.IsNullOrEmpty(ErrorMessage)) { _offscreenBuffer.WriteLine(); _offscreenBuffer.WriteError(ErrorMessage); ErrorMessage = null; } } }
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); } }
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); }