Spaces:
Restarting
Restarting
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);
|