simple-form.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. var blessed = require('blessed')
  2. , screen = blessed.screen();
  3. var form = blessed.form({
  4. parent: screen,
  5. keys: true,
  6. left: 0,
  7. top: 0,
  8. width: 30,
  9. height: 4,
  10. bg: 'green',
  11. content: 'Submit or cancel?'
  12. });
  13. var submit = blessed.button({
  14. parent: form,
  15. mouse: true,
  16. keys: true,
  17. shrink: true,
  18. padding: {
  19. left: 1,
  20. right: 1
  21. },
  22. left: 10,
  23. top: 2,
  24. shrink: true,
  25. name: 'submit',
  26. content: 'submit',
  27. style: {
  28. bg: 'blue',
  29. focus: {
  30. bg: 'red'
  31. },
  32. hover: {
  33. bg: 'red'
  34. }
  35. }
  36. });
  37. var cancel = blessed.button({
  38. parent: form,
  39. mouse: true,
  40. keys: true,
  41. shrink: true,
  42. padding: {
  43. left: 1,
  44. right: 1
  45. },
  46. left: 20,
  47. top: 2,
  48. shrink: true,
  49. name: 'cancel',
  50. content: 'cancel',
  51. style: {
  52. bg: 'blue',
  53. focus: {
  54. bg: 'red'
  55. },
  56. hover: {
  57. bg: 'red'
  58. }
  59. }
  60. });
  61. submit.on('press', function() {
  62. form.submit();
  63. });
  64. cancel.on('press', function() {
  65. form.reset();
  66. });
  67. form.on('submit', function(data) {
  68. form.setContent('Submitted.');
  69. screen.render();
  70. });
  71. form.on('reset', function(data) {
  72. form.setContent('Canceled.');
  73. screen.render();
  74. });
  75. screen.key('q', function() {
  76. process.exit(0);
  77. });
  78. screen.render();