Skip to content

How should it handle long lists? #40

Closed
@sindresorhus

Description

@sindresorhus

It does sound like an anti-pattern to have long lists, but there might be valid use-cases for it.

Currently when you have more items than fits the viewport they are scrolled out of it. You can of course scroll up yourself, but is there anyway to have the scroll follow the > selector?

Screenshot:

screen shot 2013-06-23 at 16 47 21

Test case:

/**
 * Checkbox list examples
 */

"use strict";
var inquirer = require("../lib/inquirer");

inquirer.prompt([
  {
    type: "checkbox",
    message: "Select toppings",
    name: "toppings",
    choices: [
      {
        name: "1"
      },
      {
        name: "2"
      },
      {
        name: "3"
      },
      {
        name: "4"
      },
      {
        name: "5"
      },
      {
        name: "6"
      },
      {
        name: "7"
      },
      {
        name: "8"
      },
      {
        name: "9"
      },
      {
        name: "10"
      },
      {
        name: "11"
      },
      {
        name: "12"
      },
      {
        name: "13"
      },
      {
        name: "14"
      },
      {
        name: "15"
      },
      {
        name: "16"
      },
      {
        name: "17"
      },
      {
        name: "18"
      },
      {
        name: "19"
      },
      {
        name: "20"
      },
      {
        name: "21"
      },
      {
        name: "22"
      },
      {
        name: "23"
      },
      {
        name: "24"
      },
      {
        name: "25"
      },
      {
        name: "26"
      },
      {
        name: "27"
      },
      {
        name: "28"
      },
      {
        name: "29"
      },
      {
        name: "30"
      },
      {
        name: "31"
      },
      {
        name: "32"
      },
      {
        name: "33"
      },
      {
        name: "34"
      },
      {
        name: "35"
      },
      {
        name: "36"
      },
      {
        name: "37"
      },
      {
        name: "38"
      },
      {
        name: "39"
      },
      {
        name: "40"
      }
    ],
    validate: function( answer ) {
      if ( answer.length < 1 ) {
        return "You must choose at least one topping.";
      }
      return true;
    }
  }
], function( answers ) {
  console.log( JSON.stringify(answers, null, "  ") );
});

// @passy @stephenplusplus

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions