Lucas ARRIESSE commited on
Commit
551031a
·
1 Parent(s): 1b57e39

Add ability to copy all requiiremennts

Browse files
Files changed (2) hide show
  1. index.html +11 -1
  2. 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
- <h2 class="text-2xl font-bold mb-4">Extracted requirement list</h2>
 
 
 
 
 
 
 
 
 
 
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);