view.php 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. <?php
  2. use yii\helpers\Html;
  3. use yii\widgets\ActiveForm;
  4. use yii\gii\components\ActiveField;
  5. use yii\gii\CodeFile;
  6. /**
  7. * @var yii\web\View $this
  8. * @var yii\gii\Generator $generator
  9. * @var string $id panel ID
  10. * @var yii\widgets\ActiveForm $form
  11. * @var string $results
  12. * @var boolean $hasError
  13. * @var CodeFile[] $files
  14. * @var array $answers
  15. */
  16. $this->title = $generator->getName();
  17. $templates = [];
  18. foreach ($generator->templates as $name => $path) {
  19. $templates[$name] = "$name ($path)";
  20. }
  21. ?>
  22. <div class="default-view">
  23. <h1><?= Html::encode($this->title) ?></h1>
  24. <p><?= $generator->getDescription() ?></p>
  25. <?php $form = ActiveForm::begin([
  26. 'id' => "$id-generator",
  27. 'successCssClass' => '',
  28. 'fieldConfig' => ['class' => ActiveField::className()],
  29. ]); ?>
  30. <div class="row">
  31. <div class="col-lg-8 col-md-10">
  32. <?= $this->renderFile($generator->formView(), [
  33. 'generator' => $generator,
  34. 'form' => $form,
  35. ]) ?>
  36. <?= $form->field($generator, 'template')->sticky()
  37. ->label('Code Template')
  38. ->dropDownList($templates)->hint('
  39. Please select which set of the templates should be used to generated the code.
  40. ') ?>
  41. <div class="form-group">
  42. <?= Html::submitButton('Preview', ['name' => 'preview', 'class' => 'btn btn-primary']) ?>
  43. <?php if (isset($files)): ?>
  44. <?= Html::submitButton('Generate', ['name' => 'generate', 'class' => 'btn btn-success']) ?>
  45. <?php endif; ?>
  46. </div>
  47. </div>
  48. </div>
  49. <?php
  50. if (isset($results)) {
  51. echo $this->render('view/results', [
  52. 'generator' => $generator,
  53. 'results' => $results,
  54. 'hasError' => $hasError,
  55. ]);
  56. } elseif (isset($files)) {
  57. echo $this->render('view/files', [
  58. 'id' => $id,
  59. 'generator' => $generator,
  60. 'files' => $files,
  61. 'answers' => $answers,
  62. ]);
  63. }
  64. ?>
  65. <?php ActiveForm::end(); ?>
  66. </div>