Davidals commited on
Commit
a710641
·
verified ·
1 Parent(s): 2b76d42

The UI is great, but make the following changes:

Browse files

-Execution Modules should have the same amount of options as Execution Level (however, keep it as checkboxes, since more than one can be selected).
-Make the Available Fields list scrollable, since there will be a lot of fields.
-Change "Report Layout Preview" to "Field Layout" and make the table in that section to only show 1 line of header and 1 line of simulated data.
-Grouping & Index: make both list able to select multiple fields, not just one.
-Checkbox Options: make each have 2 options (to include the checkbox in the report and if it should checked by default or not)
-Add a final view (a preview) that will show how the report will look

Files changed (1) hide show
  1. index.html +40 -50
index.html CHANGED
@@ -148,46 +148,46 @@
148
  <div>
149
  <label class="block text-sm font-medium text-gray-700 mb-2">Available Fields</label>
150
  <div class="border border-gray-300 rounded-lg p-4 h-80 overflow-y-auto bg-gray-50">
151
- <div class="grid grid-cols-1 gap-2">
152
- <div class="field-item bg-white p-3 rounded-lg border border-gray-200 shadow-sm flex items-center cursor-grab">
153
  <i data-feather="database" class="w-4 h-4 mr-2 text-indigo-500"></i>
154
  <span>Project Name</span>
155
  </div>
156
- <div class="field-item bg-white p-3 rounded-lg border border-gray-200 shadow-sm flex items-center cursor-grab">
157
  <i data-feather="calendar" class="w-4 h-4 mr-2 text-indigo-500"></i>
158
  <span>Start Date</span>
159
  </div>
160
- <div class="field-item bg-white p-3 rounded-lg border border-gray-200 shadow-sm flex items-center cursor-grab">
161
  <i data-feather="calendar" class="w-4 h-4 mr-2 text-indigo-500"></i>
162
  <span>End Date</span>
163
  </div>
164
- <div class="field-item bg-white p-3 rounded-lg border border-gray-200 shadow-sm flex items-center cursor-grab">
165
  <i data-feather="dollar-sign" class="w-4 h-4 mr-2 text-indigo-500"></i>
166
  <span>Budget</span>
167
  </div>
168
- <div class="field-item bg-white p-3 rounded-lg border border-gray-200 shadow-sm flex items-center cursor-grab">
169
  <i data-feather="users" class="w-4 h-4 mr-2 text-indigo-500"></i>
170
  <span>Team Size</span>
171
  </div>
172
- <div class="field-item bg-white p-3 rounded-lg border border-gray-200 shadow-sm flex items-center cursor-grab">
173
  <i data-feather="percent" class="w-4 h-4 mr-2 text-indigo-500"></i>
174
  <span>Completion %</span>
175
  </div>
176
- <div class="field-item bg-white p-3 rounded-lg border border-gray-200 shadow-sm flex items-center cursor-grab">
177
  <i data-feather="flag" class="w-4 h-4 mr-2 text-indigo-500"></i>
178
  <span>Status</span>
179
  </div>
180
- <div class="field-item bg-white p-3 rounded-lg border border-gray-200 shadow-sm flex items-center cursor-grab">
181
  <i data-feather="user" class="w-4 h-4 mr-2 text-indigo-500"></i>
182
- <span>Project Manager</span>
183
  </div>
184
- <div class="field-item bg-white p-3 rounded-lg border border-gray-200 shadow-sm flex items-center cursor-grab">
185
  <i data-feather="clock" class="w-4 h-4 mr-2 text-indigo-500"></i>
186
- <span>Hours Spent</span>
187
  </div>
188
- <div class="field-item bg-white p-3 rounded-lg border border-gray-200 shadow-sm flex items-center cursor-grab">
189
- <i data-feather="target" class="w-4 h-4 mr-2 text-indigo-500"></i>
190
- <span>Milestones</span>
191
  </div>
192
  </div>
193
  </div>
@@ -288,7 +288,6 @@
288
  </div>
289
  </div>
290
  </div>
291
-
292
  <!-- Checkboxes Configuration -->
293
  <div class="bg-white rounded-xl card-shadow p-6">
294
  <h2 class="text-xl font-semibold mb-4 flex items-center">
@@ -336,7 +335,7 @@
336
  </div>
337
  </div>
338
  </div>
339
- </div>
340
  <!-- Final Preview -->
341
  <div class="bg-white rounded-xl card-shadow p-6">
342
  <h2 class="text-xl font-semibold mb-4 flex items-center">
@@ -345,47 +344,34 @@
345
  <div class="border border-gray-300 rounded-lg overflow-hidden">
346
  <div class="bg-gradient-to-r from-indigo-600 to-purple-600 text-white p-4">
347
  <h3 class="text-lg font-bold">Q3 Project Performance Report</h3>
348
- <p class="text-indigo-200 text-sm">Generated on November 15, 2023</p>
349
  </div>
350
  <div class="p-4">
351
  <div class="mb-4">
352
  <h4 class="font-semibold text-gray-800 mb-2">Executive Summary</h4>
353
- <p class="text-gray-600 text-sm">This report provides an overview of project performance for Q3 2023. Key metrics show overall completion at 72% with budget utilization at 68%.</p>
354
  </div>
355
  <div class="mb-4">
356
- <h4 class="font-semibold text-gray-800 mb-2">Project Details</h4>
357
  <div class="overflow-x-auto">
358
  <table class="min-w-full divide-y divide-gray-200">
359
  <thead class="bg-gray-50">
360
  <tr>
361
- <th class="px-4 py-2 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Project Name</th>
362
- <th class="px-4 py-2 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Status</th>
363
- <th class="px-4 py-2 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Budget</th>
364
- <th class="px-4 py-2 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Progress</th>
365
  </tr>
366
  </thead>
367
  <tbody class="bg-white divide-y divide-gray-200">
368
  <tr>
369
- <td class="px-4 py-2 text-sm text-gray-900">Alpha Project</td>
370
- <td class="px-4 py-2 text-sm text-gray-900"><span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-green-100 text-green-800">On Track</span></td>
371
- <td class="px-4 py-2 text-sm text-gray-900">$125,000</td>
372
- <td class="px-4 py-2 text-sm text-gray-900">
373
- <div class="w-full bg-gray-200 rounded-full h-2">
374
- <div class="bg-green-600 h-2 rounded-full" style="width: 78%"></div>
375
- </div>
376
- <span class="text-xs text-gray-500">78%</span>
377
- </td>
378
  </tr>
379
  <tr>
380
- <td class="px-4 py-2 text-sm text-gray-900">Beta Initiative</td>
381
- <td class="px-4 py-2 text-sm text-gray-900"><span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-yellow-100 text-yellow-800">Delayed</span></td>
382
- <td class="px-4 py-2 text-sm text-gray-900">$89,500</td>
383
- <td class="px-4 py-2 text-sm text-gray-900">
384
- <div class="w-full bg-gray-200 rounded-full h-2">
385
- <div class="bg-yellow-500 h-2 rounded-full" style="width: 45%"></div>
386
- </div>
387
- <span class="text-xs text-gray-500">45%</span>
388
- </td>
389
  </tr>
390
  </tbody>
391
  </table>
@@ -394,12 +380,15 @@
394
  <div>
395
  <h4 class="font-semibold text-gray-800 mb-2">Key Insights</h4>
396
  <ul class="list-disc pl-5 text-gray-600 text-sm space-y-1">
397
- <li>Two projects are ahead of schedule</li>
398
- <li>Budget variance remains within acceptable limits</li>
399
- <li>Resource allocation needs optimization in Q4</li>
400
  </ul>
401
  </div>
402
  </div>
 
 
 
403
  </div>
404
  </div>
405
  <!-- Report Naming -->
@@ -449,11 +438,10 @@
449
  color2: 0x8b5cf6,
450
  backgroundColor: 0xf8fafc
451
  });
452
-
453
  // Drag and drop functionality for fields
454
  document.querySelectorAll('.field-item').forEach(item => {
455
  item.addEventListener('dragstart', function(e) {
456
- e.dataTransfer.setData('text/plain', this.querySelector('span').innerText);
457
  this.classList.add('opacity-50');
458
  });
459
 
@@ -461,7 +449,8 @@
461
  this.classList.remove('opacity-50');
462
  });
463
  });
464
- document.querySelectorAll('.table-cell').forEach(cell => {
 
465
  cell.addEventListener('dragover', function(e) {
466
  e.preventDefault();
467
  this.classList.add('bg-indigo-100');
@@ -470,13 +459,14 @@ document.querySelectorAll('.table-cell').forEach(cell => {
470
  cell.addEventListener('dragleave', function() {
471
  this.classList.remove('bg-indigo-100');
472
  });
 
473
  cell.addEventListener('drop', function(e) {
474
  e.preventDefault();
475
  this.classList.remove('bg-indigo-100');
476
  const data = e.dataTransfer.getData('text/plain');
477
- this.innerHTML = `<div class="text-center text-sm">${data}</div>`;
478
  });
479
  });
480
- </script>
481
  </body>
482
  </html>
 
148
  <div>
149
  <label class="block text-sm font-medium text-gray-700 mb-2">Available Fields</label>
150
  <div class="border border-gray-300 rounded-lg p-4 h-80 overflow-y-auto bg-gray-50">
151
+ <div class="grid grid-cols-2 gap-2">
152
+ <div class="field-item bg-white p-3 rounded-lg border border-gray-200 shadow-sm flex items-center">
153
  <i data-feather="database" class="w-4 h-4 mr-2 text-indigo-500"></i>
154
  <span>Project Name</span>
155
  </div>
156
+ <div class="field-item bg-white p-3 rounded-lg border border-gray-200 shadow-sm flex items-center">
157
  <i data-feather="calendar" class="w-4 h-4 mr-2 text-indigo-500"></i>
158
  <span>Start Date</span>
159
  </div>
160
+ <div class="field-item bg-white p-3 rounded-lg border border-gray-200 shadow-sm flex items-center">
161
  <i data-feather="calendar" class="w-4 h-4 mr-2 text-indigo-500"></i>
162
  <span>End Date</span>
163
  </div>
164
+ <div class="field-item bg-white p-3 rounded-lg border border-gray-200 shadow-sm flex items-center">
165
  <i data-feather="dollar-sign" class="w-4 h-4 mr-2 text-indigo-500"></i>
166
  <span>Budget</span>
167
  </div>
168
+ <div class="field-item bg-white p-3 rounded-lg border border-gray-200 shadow-sm flex items-center">
169
  <i data-feather="users" class="w-4 h-4 mr-2 text-indigo-500"></i>
170
  <span>Team Size</span>
171
  </div>
172
+ <div class="field-item bg-white p-3 rounded-lg border border-gray-200 shadow-sm flex items-center">
173
  <i data-feather="percent" class="w-4 h-4 mr-2 text-indigo-500"></i>
174
  <span>Completion %</span>
175
  </div>
176
+ <div class="field-item bg-white p-3 rounded-lg border border-gray-200 shadow-sm flex items-center">
177
  <i data-feather="flag" class="w-4 h-4 mr-2 text-indigo-500"></i>
178
  <span>Status</span>
179
  </div>
180
+ <div class="field-item bg-white p-3 rounded-lg border border-gray-200 shadow-sm flex items-center">
181
  <i data-feather="user" class="w-4 h-4 mr-2 text-indigo-500"></i>
182
+ <span>Manager</span>
183
  </div>
184
+ <div class="field-item bg-white p-3 rounded-lg border border-gray-200 shadow-sm flex items-center">
185
  <i data-feather="clock" class="w-4 h-4 mr-2 text-indigo-500"></i>
186
+ <span>Duration</span>
187
  </div>
188
+ <div class="field-item bg-white p-3 rounded-lg border border-gray-200 shadow-sm flex items-center">
189
+ <i data-feather="trending-up" class="w-4 h-4 mr-2 text-indigo-500"></i>
190
+ <span>ROI</span>
191
  </div>
192
  </div>
193
  </div>
 
288
  </div>
289
  </div>
290
  </div>
 
291
  <!-- Checkboxes Configuration -->
292
  <div class="bg-white rounded-xl card-shadow p-6">
293
  <h2 class="text-xl font-semibold mb-4 flex items-center">
 
335
  </div>
336
  </div>
337
  </div>
338
+ </div>
339
  <!-- Final Preview -->
340
  <div class="bg-white rounded-xl card-shadow p-6">
341
  <h2 class="text-xl font-semibold mb-4 flex items-center">
 
344
  <div class="border border-gray-300 rounded-lg overflow-hidden">
345
  <div class="bg-gradient-to-r from-indigo-600 to-purple-600 text-white p-4">
346
  <h3 class="text-lg font-bold">Q3 Project Performance Report</h3>
347
+ <p class="text-indigo-200 text-sm">Generated on October 15, 2023</p>
348
  </div>
349
  <div class="p-4">
350
  <div class="mb-4">
351
  <h4 class="font-semibold text-gray-800 mb-2">Executive Summary</h4>
352
+ <p class="text-gray-600 text-sm">This report provides an overview of project performance for Q3 2023. Key metrics show a 12% improvement in completion rates compared to last quarter.</p>
353
  </div>
354
  <div class="mb-4">
355
+ <h4 class="font-semibold text-gray-800 mb-2">Project Status</h4>
356
  <div class="overflow-x-auto">
357
  <table class="min-w-full divide-y divide-gray-200">
358
  <thead class="bg-gray-50">
359
  <tr>
360
+ <th class="px-4 py-2 text-left text-xs font-medium text-gray-500 uppercase">Project</th>
361
+ <th class="px-4 py-2 text-left text-xs font-medium text-gray-500 uppercase">Budget</th>
362
+ <th class="px-4 py-2 text-left text-xs font-medium text-gray-500 uppercase">Progress</th>
 
363
  </tr>
364
  </thead>
365
  <tbody class="bg-white divide-y divide-gray-200">
366
  <tr>
367
+ <td class="px-4 py-2 text-sm text-gray-800">Alpha Project</td>
368
+ <td class="px-4 py-2 text-sm text-gray-800">$125,000</td>
369
+ <td class="px-4 py-2 text-sm text-gray-800">78%</td>
 
 
 
 
 
 
370
  </tr>
371
  <tr>
372
+ <td class="px-4 py-2 text-sm text-gray-800">Beta Initiative</td>
373
+ <td class="px-4 py-2 text-sm text-gray-800">$89,500</td>
374
+ <td class="px-4 py-2 text-sm text-gray-800">45%</td>
 
 
 
 
 
 
375
  </tr>
376
  </tbody>
377
  </table>
 
380
  <div>
381
  <h4 class="font-semibold text-gray-800 mb-2">Key Insights</h4>
382
  <ul class="list-disc pl-5 text-gray-600 text-sm space-y-1">
383
+ <li>On-track projects increased by 15% this quarter</li>
384
+ <li>Budget utilization remains within acceptable limits</li>
385
+ <li>Resource allocation has been optimized across departments</li>
386
  </ul>
387
  </div>
388
  </div>
389
+ <div class="bg-gray-50 p-4 border-t border-gray-200">
390
+ <p class="text-center text-gray-500 text-xs">Page 1 of 5</p>
391
+ </div>
392
  </div>
393
  </div>
394
  <!-- Report Naming -->
 
438
  color2: 0x8b5cf6,
439
  backgroundColor: 0xf8fafc
440
  });
 
441
  // Drag and drop functionality for fields
442
  document.querySelectorAll('.field-item').forEach(item => {
443
  item.addEventListener('dragstart', function(e) {
444
+ e.dataTransfer.setData('text/plain', this.innerText);
445
  this.classList.add('opacity-50');
446
  });
447
 
 
449
  this.classList.remove('opacity-50');
450
  });
451
  });
452
+
453
+ document.querySelectorAll('.table-cell').forEach(cell => {
454
  cell.addEventListener('dragover', function(e) {
455
  e.preventDefault();
456
  this.classList.add('bg-indigo-100');
 
459
  cell.addEventListener('dragleave', function() {
460
  this.classList.remove('bg-indigo-100');
461
  });
462
+
463
  cell.addEventListener('drop', function(e) {
464
  e.preventDefault();
465
  this.classList.remove('bg-indigo-100');
466
  const data = e.dataTransfer.getData('text/plain');
467
+ this.innerHTML = `<div class="text-center">${data}</div>`;
468
  });
469
  });
470
+ </script>
471
  </body>
472
  </html>