From 991f2b8f0b146e03af9112b7cabb35443661374b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?L=C3=A1szl=C3=B3=20M=C3=B3csy?= <laszlomocsy.dev@gmail.com>
Date: Tue, 5 Mar 2024 17:55:29 +0100
Subject: [PATCH] Create `CreateForm` page

---
 Rendelosch/Pages/CreateForm.cshtml    | 56 +++++++++++++++++++++++++++
 Rendelosch/Pages/CreateForm.cshtml.cs | 11 ++++++
 Rendelosch/Pages/Index.cshtml         |  2 +-
 3 files changed, 68 insertions(+), 1 deletion(-)
 create mode 100644 Rendelosch/Pages/CreateForm.cshtml
 create mode 100644 Rendelosch/Pages/CreateForm.cshtml.cs

diff --git a/Rendelosch/Pages/CreateForm.cshtml b/Rendelosch/Pages/CreateForm.cshtml
new file mode 100644
index 0000000..81af4fc
--- /dev/null
+++ b/Rendelosch/Pages/CreateForm.cshtml
@@ -0,0 +1,56 @@
+@page
+@using Rendelosch.Models
+@model Rendelosch.Pages.CreateForm
+
+@{
+    ViewData["Title"] = "CreateForm";
+}
+
+<div class="container-lg mt-4">
+    <form method="post">
+        <div class="card">
+            <div class="card-body d-flex flex-column">
+                <div class="d-flex flex-row">
+                    <label>Űrlap neve:</label>
+                    <input type="text" class="ms-2"/>
+                </div>
+                <div id="fields" class="mt-4 d-flex flex-column gap-2"></div>
+                <div class="d-flex flex-row mt-4 gap-2">
+                    <input type="text" id="field_id" placeholder="ID"/>
+                    <input type="text" id="field_name" placeholder="Megnevezés"/>
+                    <button type="button" class="btn btn-outline-primary" onclick="addField()">
+                        Új mező hozzáadása
+                    </button>
+                </div>
+                <div>
+                    <input class="btn btn-primary mt-4" type="submit"/>
+                </div>
+            </div>
+        </div>
+    </form>
+</div>
+
+<script>
+    function addField() {
+        // Get input fields
+        const input_id = document.getElementById("field_id"); // ID of the field
+        const input_name = document.getElementById("field_name"); // Name of the field
+        const fields = document.getElementById("fields"); // Div for displayed fields
+        
+        // Displayed field
+        const field_div = document.createElement("div");
+        field_div.innerHTML = "<p class='mb-0'>" + input_name.value + " (ID: " + input_id.value + ")</p>";
+        fields.appendChild(field_div);
+        
+        // Hidden input field for each created fields
+        const field_hidden = document.createElement("input");
+        field_hidden.type = "hidden";
+        field_hidden.name = "fields";
+        field_hidden.value = input_id.value + ";" + input_name.value;
+        field_div.appendChild(field_hidden);
+        
+        // Clear input fields
+        input_id.value = "";
+        input_name.value = "";
+    }
+</script>
\ No newline at end of file
diff --git a/Rendelosch/Pages/CreateForm.cshtml.cs b/Rendelosch/Pages/CreateForm.cshtml.cs
new file mode 100644
index 0000000..e42feb8
--- /dev/null
+++ b/Rendelosch/Pages/CreateForm.cshtml.cs
@@ -0,0 +1,11 @@
+using Microsoft.AspNetCore.Mvc.RazorPages;
+
+namespace Rendelosch.Pages;
+
+public class CreateForm : PageModel
+{
+    public void OnGet()
+    {
+        
+    }
+}
\ No newline at end of file
diff --git a/Rendelosch/Pages/Index.cshtml b/Rendelosch/Pages/Index.cshtml
index 01e97a7..7d23efc 100644
--- a/Rendelosch/Pages/Index.cshtml
+++ b/Rendelosch/Pages/Index.cshtml
@@ -5,7 +5,7 @@
 }
 
 <div class="container-lg">
-    <a class="btn btn-primary my-4" asp-page="CreateProductForm">Create Product Form</a>
+    <a class="btn btn-primary my-4" asp-page="CreateForm">Create Product Form</a>
     <div>
         @{
             foreach (var productForm in Model.Repository.GetProductForms())
-- 
GitLab