prompt.js 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. const { notEmpty } = require('../utils.js')
  2. module.exports = {
  3. description: 'generate a table-view',
  4. prompts: [{
  5. type: 'input',
  6. name: 'name',
  7. message: '请输入组件目录名',
  8. validate: notEmpty('name')
  9. }, {
  10. type: 'input',
  11. name: 'title',
  12. message: '请输入表格标题'
  13. }, {
  14. type: 'list',
  15. name: 'treeType',
  16. message: '请选择侧边树',
  17. choices: [{
  18. name: '<HybridTree>',
  19. value: 'hybridTree'
  20. },
  21. {
  22. name: '<ParkTree>',
  23. value: 'parkTree'
  24. },
  25. {
  26. name: 'none',
  27. value: ''
  28. }],
  29. validate(value) {
  30. if (value.indexOf('script') === -1 && value.indexOf('template') === -1) {
  31. return 'View require at least a <script> or <template> tag.'
  32. }
  33. return true
  34. }
  35. }],
  36. actions: data => {
  37. const name = '{{name}}'
  38. const title = '{{title}}'
  39. const treeType = '{{treeType}}'
  40. const actions = [{
  41. type: 'add',
  42. path: `src/views/${name}/index.vue`,
  43. templateFile: 'plop-templates/table-view/index.hbs',
  44. data: {
  45. name: name,
  46. title: title,
  47. treeType: treeType
  48. }
  49. }, {
  50. type: 'add',
  51. path: `src/views/${name}/components/table.vue`,
  52. templateFile: 'plop-templates/table-view/components/table.hbs',
  53. data: {
  54. name: name,
  55. title: title,
  56. treeType: treeType
  57. }
  58. }, {
  59. type: 'add',
  60. path: `src/views/${name}/components/conditions.vue`,
  61. templateFile: 'plop-templates/table-view/components/conditions.hbs',
  62. data: {
  63. name: name,
  64. title: title,
  65. treeType: treeType
  66. }
  67. }, {
  68. type: 'add',
  69. path: `src/views/${name}/components/detail.vue`,
  70. templateFile: 'plop-templates/table-view/components/detail.hbs',
  71. data: {
  72. name: name,
  73. title: title,
  74. treeType: treeType
  75. }
  76. }]
  77. return actions
  78. }
  79. }