feat: proširi prikaz dizalice i vlasnika u zadacima
Dodaj detalje dizalice (proizvođač, model i SN) te vlasnika u modal radnog zadatka i kalendar zadataka, uz zajednički frontend helper za DRY prikaz. Proširi Task API serializer dodatnim poljima za prikaz dizalice/vlasnika i ažuriraj testove serializera za nova izlazna polja. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
35
frontend/src/lib/taskCraneDisplay.js
Normal file
35
frontend/src/lib/taskCraneDisplay.js
Normal file
@@ -0,0 +1,35 @@
|
||||
function normalizeText(value) {
|
||||
const text = String(value || '').trim();
|
||||
return text || '';
|
||||
}
|
||||
|
||||
export function getTaskCraneKind(task) {
|
||||
const make = normalizeText(task?.vehicle_make);
|
||||
const model = normalizeText(task?.vehicle_model);
|
||||
const kind = [make, model].filter(Boolean).join(' ').trim();
|
||||
return kind || '-';
|
||||
}
|
||||
|
||||
export function getTaskCraneSerial(task) {
|
||||
const serial = normalizeText(task?.crane_serial_number);
|
||||
return serial || '-';
|
||||
}
|
||||
|
||||
export function getTaskCraneOwner(task) {
|
||||
return normalizeText(task?.vehicle_owner_name) || '-';
|
||||
}
|
||||
|
||||
export function getTaskCraneDisplay(task) {
|
||||
const kind = getTaskCraneKind(task);
|
||||
const serial = getTaskCraneSerial(task);
|
||||
if (kind !== '-' && serial !== '-') {
|
||||
return `${kind} (SN ${serial})`;
|
||||
}
|
||||
if (kind !== '-') {
|
||||
return kind;
|
||||
}
|
||||
if (serial !== '-') {
|
||||
return `SN ${serial}`;
|
||||
}
|
||||
return normalizeText(task?.vehicle_registration) || '-';
|
||||
}
|
||||
Reference in New Issue
Block a user