Highlight the scanned part lot when scanning an barcode

Fixed issue #968
This commit is contained in:
Jan Böhmer
2026-02-01 13:13:26 +01:00
parent a355bda9da
commit 8aadc0bb53
4 changed files with 26 additions and 3 deletions

View File

@@ -125,3 +125,25 @@ Classes for Datatables export
.export-helper{
display: none;
}
/**********************************************************
* Table row highlighting tools
***********************************************************/
.row-highlight {
box-shadow: 0 4px 15px rgba(0,0,0,0.20); /* Adds depth */
position: relative;
z-index: 1; /* Ensures the shadow overlaps other rows */
border-left: 5px solid var(--bs-primary); /* Adds a vertical accent bar */
}
@keyframes pulse-highlight {
0% { outline: 2px solid transparent; }
50% { outline: 2px solid var(--bs-primary); }
100% { outline: 2px solid transparent; }
}
.row-pulse {
animation: pulse-highlight 1s ease-in-out;
animation-iteration-count: 3;
}

View File

@@ -135,6 +135,7 @@ final class PartController extends AbstractController
'description_params' => $this->partInfoSettings->extractParamsFromDescription ? $parameterExtractor->extractParameters($part->getDescription()) : [],
'comment_params' => $this->partInfoSettings->extractParamsFromNotes ? $parameterExtractor->extractParameters($part->getComment()) : [],
'withdraw_add_helper' => $withdrawAddHelper,
'highlightLotId' => $request->query->getInt('highlightLot', 0),
]
);
}

View File

@@ -92,7 +92,7 @@ final class BarcodeRedirector
throw new EntityNotFoundException();
}
return $this->urlGenerator->generate('app_part_show', ['id' => $lot->getPart()->getID()]);
return $this->urlGenerator->generate('app_part_show', ['id' => $lot->getPart()->getID(), 'highlightLot' => $lot->getID()]);
case LabelSupportedElement::STORELOCATION:
return $this->urlGenerator->generate('part_list_store_location', ['id' => $barcodeScan->target_id]);

View File

@@ -19,7 +19,7 @@
<tbody>
{% for lot in part.partLots %}
<tr>
<tr {% if lot.id == highlightLotId %}class="table-primary row-highlight row-pulse"{% endif %}>
<td>{{ lot.description }}</td>
<td>
{% if lot.storageLocation %}
@@ -117,4 +117,4 @@
</tbody>
</table>
</div>
</div>