From 398fe37dd21cd12449c9cbfc0f6eee7a1e91eaf5 Mon Sep 17 00:00:00 2001
From: eliott <eliott.sammier@tetras-libre.fr>
Date: Mon, 8 Jul 2024 15:45:13 +0200
Subject: [PATCH] Add size hint attribute to open gaps

---
 src/gapfill-open.js |  4 ++++
 src/json.js         | 10 ++++++++--
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/src/gapfill-open.js b/src/gapfill-open.js
index 1b3b366..18fae88 100644
--- a/src/gapfill-open.js
+++ b/src/gapfill-open.js
@@ -44,6 +44,10 @@ export const gapfillOpenWidget = {
                 // It's a gap
                 // Create the <input> element
                 segmentElem = gapTemplate.cloneNode(true);
+                // Add the size attribute if present
+                if (segment.hasOwnProperty("size")) {
+                    segmentElem.setAttribute("size", segment.size);
+                }
                 segmentElem.setAttribute("data-index", nbGaps); // The node knows its index
                 // Add listener to update the question's value when the input value changes
                 segmentElem.addEventListener("change", (e) => {
diff --git a/src/json.js b/src/json.js
index 7b3a22e..ec86772 100644
--- a/src/json.js
+++ b/src/json.js
@@ -44,9 +44,15 @@ export const json = {
             title: "Open-ended gapfill",
             segments: [
                 "Lorem ",
+                {size: 5}, // gaps can have a "size" attribute to hint how many characters are expected
+                " dolor sit ",
                 {},
-                " dolor sit amet [...]"
-            ], correctAnswer: ["ipsum"]
+                ", consectetur adipiscing elit [...]"
+            ],
+            correctAnswer: [
+                "ipsum",
+                "amet"
+            ]
         }
     ]
 };
\ No newline at end of file
-- 
GitLab