Lucas ARRIESSE
commited on
Commit
·
551031a
1
Parent(s):
1b57e39
Add ability to copy all requiiremennts
Browse files- index.html +11 -1
- static/script.js +23 -1
index.html
CHANGED
|
@@ -209,7 +209,17 @@
|
|
| 209 |
<div id="requirements-tab-contents" class="hidden pt-10">
|
| 210 |
<!-- Requirement list container -->
|
| 211 |
<div id="requirements-container" class="mb-6">
|
| 212 |
-
<
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 213 |
<div id="requirements-list"></div>
|
| 214 |
</div>
|
| 215 |
</div>
|
|
|
|
| 209 |
<div id="requirements-tab-contents" class="hidden pt-10">
|
| 210 |
<!-- Requirement list container -->
|
| 211 |
<div id="requirements-container" class="mb-6">
|
| 212 |
+
<div class="flex">
|
| 213 |
+
<h2 class="text-2xl font-bold mb-4">Extracted requirement list</h2>
|
| 214 |
+
<div class="justify-end pl-5">
|
| 215 |
+
<!--Copy ALL reqs button-->
|
| 216 |
+
<div class="tooltip" data-tip="Copy ALL requirements to clipboard">
|
| 217 |
+
<button class="btn btn-square" id="copy-all-reqs-btn" aria-label="Copy">
|
| 218 |
+
📋
|
| 219 |
+
</button>
|
| 220 |
+
</div>
|
| 221 |
+
</div>
|
| 222 |
+
</div>
|
| 223 |
<div id="requirements-list"></div>
|
| 224 |
</div>
|
| 225 |
</div>
|
static/script.js
CHANGED
|
@@ -783,6 +783,26 @@ function displayCategorizedRequirements(categorizedData) {
|
|
| 783 |
});
|
| 784 |
}
|
| 785 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 786 |
/*
|
| 787 |
* Copie les requirements séléctionnés en markdown
|
| 788 |
*/
|
|
@@ -1345,4 +1365,6 @@ document.getElementById("additional-gen-instr-btn").addEventListener('click', (e
|
|
| 1345 |
|
| 1346 |
document.getElementById('copy-reqs-btn').addEventListener('click', (ev) => {
|
| 1347 |
copySelectedRequirementsAsMarkdown();
|
| 1348 |
-
});
|
|
|
|
|
|
|
|
|
| 783 |
});
|
| 784 |
}
|
| 785 |
|
| 786 |
+
/*
|
| 787 |
+
* Copie la liste de requirements complète dans le presse papier
|
| 788 |
+
*/
|
| 789 |
+
function copyAllRequirementsAsMarkdown() {
|
| 790 |
+
const formatted = requirements.map(doc => {
|
| 791 |
+
const header = `Document: ${doc.document}\nContext: ${doc.context}\nRequirements:\n`;
|
| 792 |
+
const reqs = doc.requirements.map((req, i) => ` ${i + 1}. ${req}`).join('\n');
|
| 793 |
+
return `${header}${reqs}`;
|
| 794 |
+
}).join('\n\n');
|
| 795 |
+
|
| 796 |
+
navigator.clipboard.writeText(formatted)
|
| 797 |
+
.then(() => {
|
| 798 |
+
console.log('Requirements copied to clipboard.');
|
| 799 |
+
alert("Requirements copied to clipboard");
|
| 800 |
+
})
|
| 801 |
+
.catch(err => {
|
| 802 |
+
console.error('Failed to copy requirements:', err);
|
| 803 |
+
});
|
| 804 |
+
}
|
| 805 |
+
|
| 806 |
/*
|
| 807 |
* Copie les requirements séléctionnés en markdown
|
| 808 |
*/
|
|
|
|
| 1365 |
|
| 1366 |
document.getElementById('copy-reqs-btn').addEventListener('click', (ev) => {
|
| 1367 |
copySelectedRequirementsAsMarkdown();
|
| 1368 |
+
});
|
| 1369 |
+
|
| 1370 |
+
document.getElementById('copy-all-reqs-btn').addEventListener('click', copyAllRequirementsAsMarkdown);
|