Răsfoiți Sursa

Support for "Multi Checkbox with Other" and "Accept"

Vijayakrishnan Krishnan 4 ani în urmă
părinte
comite
e9c9cdd3d4
1 a modificat fișierele cu 39 adăugiri și 1 ștergeri
  1. 39 1
      app/Console/Commands/Gem.php

+ 39 - 1
app/Console/Commands/Gem.php

@@ -66,7 +66,7 @@ class Gem extends Command
             'data-key="' . $key . '">', $_level + 1);
 
         // label
-        $output .= $this->ln('<label>' . $_node->Q . '</label>', $_level + 2);
+        $output .= $this->ln('<label>' . nl2br($_node->Q) . '</label>', $_level + 2);
 
         // input
         if (!!@$_node->T) {
@@ -134,6 +134,44 @@ class Gem extends Command
                     $output .= $this->ln('</div>', $_level + 1);
                     break;
 
+                case 'Multi Checkbox with Other':
+                    // start
+                    $output .= $this->ln('<div class="mt-3">', $_level + 1);
+
+                    foreach ($_node->Options as $option) {
+                        $output .= $this->ln('<label class="d-flex align-items-center mb-1 mr-2">', $_level + 2);
+                        $output .= $this->ln('<input name="' . $key . '[]" value="' . $option . '" type="checkbox" class="mr-1">', $_level + 3);
+                        $output .= $this->ln('<span>' . $option . '</span>', $_level + 3);
+                        $output .= $this->ln('</label>', $_level + 2);
+                    }
+
+                    // OTHER
+                    $output .= $this->ln('<input name="' . $key . '_other" type="text" class="form-control form-control-sm my-3" placeholder="Other">', $_level + 2);
+
+                    // end
+                    $output .= $this->ln('</div>', $_level + 1);
+                    break;
+
+                case 'Accept':
+                    // start
+                    $output .= $this->ln('<div class="d-flex align-items-center">', $_level + 1);
+
+                    // YES
+                    $output .= $this->ln('<label class="d-inline-flex align-items-center my-0 mr-3">', $_level + 2);
+                    $output .= $this->ln('<input name="' . $key . '" type="radio" value="ACCEPT" class="mr-1">', $_level + 3);
+                    $output .= $this->ln('<span>Accept</span>', $_level + 3);
+                    $output .= $this->ln('</label>', $_level + 2);
+
+                    // NO
+                    $output .= $this->ln('<label class="d-inline-flex align-items-center my-0 mr-3">', $_level + 2);
+                    $output .= $this->ln('<input name="' . $key . '" type="radio" value="REJECT" class="mr-1">', $_level + 3);
+                    $output .= $this->ln('<span>Reject</span>', $_level + 3);
+                    $output .= $this->ln('</label>', $_level + 2);
+
+                    // end
+                    $output .= $this->ln('</div>', $_level + 1);
+                    break;
+
                 default:
                     dump("Unknown type: {$_node->T}");
                     break;