File size: 11,159 Bytes
1392287 0d2c020 ed24fa8 1392287 ed24fa8 1392287 ed24fa8 0d2c020 1392287 0d2c020 1392287 0d2c020 040cfa1 0d2c020 040cfa1 0d2c020 1392287 040cfa1 0d2c020 ed24fa8 0d2c020 ed24fa8 0d2c020 ed24fa8 040cfa1 0d2c020 ed24fa8 0d2c020 ed24fa8 0d2c020 ed24fa8 0d2c020 ed24fa8 0d2c020 ed24fa8 0d2c020 1392287 0d2c020 1392287 0d2c020 fe9ab1e 0d2c020 ed24fa8 0d2c020 fe9ab1e 0d2c020 fe9ab1e 0d2c020 546fbbe 0d2c020 ed24fa8 0d2c020 ed24fa8 0d2c020 040cfa1 0d2c020 1392287 546fbbe 1392287 ed24fa8 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 |
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Requirements Extractor</title>
<link href="https://cdnjs.cloudflare.com/ajax/libs/daisyui/5.0.43/daisyui.css" rel="stylesheet" type="text/css" />
<script src="https://cdn.tailwindcss.com"></script>
</head>
<body class="bg-gray-100 min-h-screen">
<!-- Loading Overlay -->
<div id="loading-overlay" class="fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 hidden">
<div class="bg-white p-6 rounded-lg shadow-lg text-center">
<div id="loading-bar" class="w-64 h-4 bg-gray-200 rounded-full mb-4">
<div class="h-full bg-blue-500 rounded-full animate-pulse"></div>
</div>
<p id="progress-text" class="text-gray-700">Chargement en cours...</p>
</div>
</div>
<div class="container mx-auto p-6">
<h1 class="text-3xl font-bold text-center mb-8">Requirements Extractor</h1>
<!-- Working Group Selection -->
<div id="working-group-container" class="mb-6">
<label for="working-group-select" class="block text-sm font-medium text-gray-700 mb-2">Working Group</label>
<select id="working-group-select" class="w-full p-2 border border-gray-300 rounded-md">
<option value="">Select a working group</option>
<option value="SA1">SA1</option>
<option value="SA2">SA2</option>
<option value="SA3">SA3</option>
<option value="SA4">SA4</option>
<option value="SA5">SA5</option>
<option value="SA6">SA6</option>
<option value="CT1">CT1</option>
<option value="CT2">CT2</option>
<option value="CT3">CT3</option>
<option value="CT4">CT4</option>
<option value="CT5">CT5</option>
<option value="CT6">CT6</option>
</select>
<button id="get-meetings-btn" class="mt-2 px-4 py-2 bg-blue-500 text-white rounded-md hover:bg-blue-600">
Get Meetings
</button>
</div>
<!-- Meeting Selection -->
<div id="meeting-container" class="mb-6 hidden">
<label for="meeting-select" class="block text-sm font-medium text-gray-700 mb-2">Meeting</label>
<select id="meeting-select" class="w-full p-2 border border-gray-300 rounded-md">
<option value="">Select a meeting</option>
</select>
<button id="get-tdocs-btn" class="mt-2 px-4 py-2 bg-green-500 text-white rounded-md hover:bg-green-600">
Get TDocs
</button>
</div>
<!-- Filters -->
<div id="filters-container" class="mb-6 hidden">
<div class="grid grid-cols-1 md:grid-cols-3 gap-4">
<!-- Type Filter Dropdown -->
<div class="dropdown dropdown-bottom dropdown-center w-full mb-4">
<div tabindex="0" role="button" class="btn w-full justify-between" id="doc-type-filter-btn">
<span id="doc-type-filter-label">Type</span>
<svg xmlns="http://www.w3.org/2000/svg" class="h-4 w-4 ml-2" fill="none" viewBox="0 0 24 24"
stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7" />
</svg>
</div>
<ul tabindex="0"
class="dropdown-content z-[1] menu p-2 shadow bg-base-100 rounded-box w-full min-w-[200px] max-h-60 overflow-y-auto"
id="doc-type-filter-menu">
<!-- Rempli par JS -->
</ul>
</div>
<!-- Status Filter Dropdown -->
<div class="dropdown dropdown-bottom dropdown-center w-full mb-4">
<div tabindex="0" role="button" class="btn w-full justify-between" id="status-dropdown-btn">
<span id="status-filter-label">Status (Tous)</span>
<svg xmlns="http://www.w3.org/2000/svg" class="h-4 w-4 ml-2" fill="none" viewBox="0 0 24 24"
stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7" />
</svg>
</div>
<ul tabindex="0"
class="dropdown-content z-[1] p-2 shadow bg-base-100 rounded-box w-full max-h-60 overflow-y-auto">
<li class="border-b pb-2 mb-2">
<label class="flex items-center gap-2 cursor-pointer">
<input type="checkbox" class="status-checkbox" value="all" checked>
<span class="font-semibold">Tous</span>
</label>
</li>
<div id="status-options" class="flex flex-col gap-1"></div>
</ul>
</div>
<!-- Agenda Item Filter Dropdown -->
<div class="dropdown dropdown-bottom dropdown-center w-full mb-4">
<div tabindex="0" role="button" class="btn w-full justify-between" id="agenda-dropdown-btn">
<span id="agenda-filter-label">Agenda Item (Tous)</span>
<svg xmlns="http://www.w3.org/2000/svg" class="h-4 w-4 ml-2" fill="none" viewBox="0 0 24 24"
stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7" />
</svg>
</div>
<ul tabindex="0"
class="dropdown-content z-[1] p-2 shadow bg-base-100 rounded-box w-full max-h-60 overflow-y-auto">
<li class="border-b pb-2 mb-2">
<label class="flex items-center gap-2 cursor-pointer">
<input type="checkbox" class="agenda-checkbox" value="all" checked>
<span class="font-semibold">Tous</span>
</label>
</li>
<div id="agenda-options" class="flex flex-col gap-1"></div>
</ul>
</div>
</div>
</div>
<!-- Action Buttons -->
<div id="action-buttons-container" class="mb-6 hidden">
<div class="flex flex-wrap gap-2">
<button id="download-tdocs-btn"
class="px-4 py-2 bg-purple-500 text-white rounded-md hover:bg-purple-600">
Download TDocs
</button>
<button id="extract-requirements-btn"
class="px-4 py-2 bg-orange-500 text-white rounded-md hover:bg-orange-600">
Extract Requirements
</button>
<button id="find-requirements-btn"
class="px-4 py-2 bg-red-500 text-white rounded-md hover:bg-red-600 hidden">
Find Requirements
</button>
<button id="categorize-requirements-btn"
class="px-4 py-2 bg-yellow-500 text-white rounded-md hover:bg-yellow-600 hidden">
Categorize Requirements
</button>
</div>
</div>
<!-- Data Table Informations -->
<div class="flex justify-end mb-2 gap-2 items-center">
<span id="displayed-count" class="text-sm text-gray-700 bg-white rounded px-3 py-1 shadow">
0 document affiché
</span>
<span id="selected-count" class="text-sm text-blue-700 bg-blue-50 rounded px-3 py-1 shadow">
0 document sélectionné
</span>
</div>
<!-- Data Table -->
<div id="data-table-container" class="mb-6 hidden">
<table id="data-table" class="w-full bg-white rounded-lg shadow overflow-hidden">
<thead class="bg-gray-50">
<tr>
<th class="px-4 py-2 text-left">
<input type="checkbox" id="select-all-checkbox">
</th>
<th class="px-4 py-2 text-left">TDoc</th>
<th class="px-4 py-2 text-left">Title</th>
<th class="px-4 py-2 text-left">Type</th>
<th class="px-4 py-2 text-left">Status</th>
<th class="px-4 py-2 text-left">Agenda Item</th>
<th class="px-4 py-2 text-left">URL</th>
</tr>
</thead>
<tbody></tbody>
</table>
</div>
<!-- Requirements Container -->
<div id="requirements-container" class="mb-6 hidden">
<h2 class="text-2xl font-bold mb-4">Requirements extracted</h2>
<div id="requirements-list"></div>
</div>
<!-- Query Requirements -->
<div id="query-requirements-container" class="mb-6 hidden">
<h2 class="text-2xl font-bold mb-4">Query requirements</h2>
<div class="flex gap-2">
<input type="text" id="query-input" class="flex-1 p-2 border border-gray-300 rounded-md"
placeholder="Enter your query...">
<button id="search-requirements-btn"
class="px-4 py-2 bg-blue-500 text-white rounded-md hover:bg-blue-600">
Search
</button>
</div>
<div id="query-results" class="mt-4"></div>
</div>
<!-- Categorized Requirements Container -->
<div id="categorized-requirements-container" class="mb-6 hidden">
<h2 class="text-2xl font-bold mb-4">Requirements categories list</h2>
<div id="categorized-requirements-list"></div>
</div>
<!-- Solutions Action Buttons -->
<div id="solutions-action-buttons-container" class="mb-6 hidden">
<div class="flex flex-wrap gap-2 justify-center">
<button id="get-solutions-btn"
class="px-4 py-2 bg-indigo-500 text-white rounded-md hover:bg-indigo-600">
Get Solutions
</button>
<button id="get-solutions-step-btn"
class="px-4 py-2 bg-pink-500 text-white rounded-md hover:bg-pink-600">
Get Solutions (Step-by-step)
</button>
</div>
</div>
<!-- Solutions Container -->
<div id="solutions-container" class="mb-6 hidden">
<h2 class="text-2xl font-bold mb-4">Solutions</h2>
<div id="solutions-list"></div>
</div>
</div>
<script src="/static/script.js"></script>
</body>
</html> |