fix: separate timer conversion workflow from case switch
This commit is contained in:
parent
cabe0395ed
commit
97218d61a8
@ -728,6 +728,14 @@
|
|||||||
#bbSwitchCaseModal .bb-switch-case-actions .btn { white-space: nowrap; }
|
#bbSwitchCaseModal .bb-switch-case-actions .btn { white-space: nowrap; }
|
||||||
#bbSwitchCaseModal .bb-switch-empty { grid-column: 1 / -1; padding: 1.4rem; text-align: center; color: var(--text-secondary); border: 1px dashed rgba(var(--text-primary-rgb), 0.14); border-radius: 11px; }
|
#bbSwitchCaseModal .bb-switch-empty { grid-column: 1 / -1; padding: 1.4rem; text-align: center; color: var(--text-secondary); border: 1px dashed rgba(var(--text-primary-rgb), 0.14); border-radius: 11px; }
|
||||||
#bbSwitchCaseModal .bb-convert-panel { padding: 0.9rem; border: 1px solid color-mix(in srgb, var(--accent) 28%, transparent); border-radius: 12px; background: color-mix(in srgb, var(--accent) 6%, var(--bg-card)); }
|
#bbSwitchCaseModal .bb-convert-panel { padding: 0.9rem; border: 1px solid color-mix(in srgb, var(--accent) 28%, transparent); border-radius: 12px; background: color-mix(in srgb, var(--accent) 6%, var(--bg-card)); }
|
||||||
|
#bbSwitchCaseModal.is-converting .bb-switch-search,
|
||||||
|
#bbSwitchCaseModal.is-converting #bbSwitchTimerActions,
|
||||||
|
#bbSwitchCaseModal.is-converting .bb-switch-section-title,
|
||||||
|
#bbSwitchCaseModal.is-converting #bbSwitchTimersList,
|
||||||
|
#bbSwitchCaseModal.is-converting #bbSwitchRecentCasesList { display: none !important; }
|
||||||
|
#bbSwitchCaseModal.is-converting .bb-switch-toolbar { grid-template-columns: 1fr; }
|
||||||
|
#bbSwitchCaseModal.is-converting .modal-dialog { max-width: 980px; }
|
||||||
|
#bbSwitchCaseModal.is-converting .modal-body { padding-bottom: 1.5rem; }
|
||||||
|
|
||||||
#bbSwitchCaseModal .list-group-item {
|
#bbSwitchCaseModal .list-group-item {
|
||||||
border-color: rgba(var(--text-primary-rgb), 0.08);
|
border-color: rgba(var(--text-primary-rgb), 0.08);
|
||||||
@ -1492,7 +1500,7 @@
|
|||||||
|
|
||||||
<div id="bbConvertTimePanel" class="bb-convert-panel d-none mb-3">
|
<div id="bbConvertTimePanel" class="bb-convert-panel d-none mb-3">
|
||||||
<div class="d-flex justify-content-between align-items-start gap-3 mb-3">
|
<div class="d-flex justify-content-between align-items-start gap-3 mb-3">
|
||||||
<div><div class="fw-bold">Konverter afsluttet tid</div><div id="bbConvertTimeName" class="small text-muted"></div></div>
|
<div><div class="fw-bold">Konverter afsluttet tid</div><div id="bbConvertTimeName" class="bb-switch-timer-info small mt-1"></div></div>
|
||||||
<button type="button" class="btn-close" data-bb-cancel-convert aria-label="Luk"></button>
|
<button type="button" class="btn-close" data-bb-cancel-convert aria-label="Luk"></button>
|
||||||
</div>
|
</div>
|
||||||
<div class="row g-2">
|
<div class="row g-2">
|
||||||
@ -1578,7 +1586,7 @@ if (bmcOriginalFetch) {
|
|||||||
<script src="/static/js/telefoni.js?v=2.4"></script>
|
<script src="/static/js/telefoni.js?v=2.4"></script>
|
||||||
<script src="/static/js/sms.js?v=1.1"></script>
|
<script src="/static/js/sms.js?v=1.1"></script>
|
||||||
<script src="/static/js/bug-report.js?v=1.4"></script>
|
<script src="/static/js/bug-report.js?v=1.4"></script>
|
||||||
<script src="/static/js/bottom-bar.js?v=2.62"></script>
|
<script src="/static/js/bottom-bar.js?v=2.63"></script>
|
||||||
<script>
|
<script>
|
||||||
// Dark Mode Toggle Logic
|
// Dark Mode Toggle Logic
|
||||||
window.BMC_CAN_CLICK_TO_CALL = true;
|
window.BMC_CAN_CLICK_TO_CALL = true;
|
||||||
|
|||||||
@ -1931,6 +1931,19 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function setTimeConversionMode(enabled) {
|
||||||
|
const modalEl = byId('bbSwitchCaseModal');
|
||||||
|
const titleEl = byId('bbSwitchCaseModalLabel');
|
||||||
|
const panel = byId('bbConvertTimePanel');
|
||||||
|
if (modalEl) modalEl.classList.toggle('is-converting', Boolean(enabled));
|
||||||
|
if (panel && !enabled) panel.classList.add('d-none');
|
||||||
|
if (titleEl) {
|
||||||
|
titleEl.innerHTML = enabled
|
||||||
|
? '<i class="bi bi-clock-history me-2"></i>Registrer afsluttet tid'
|
||||||
|
: '<i class="bi bi-arrow-left-right me-2"></i>Skift sag';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function timerDisplayName(timer) {
|
function timerDisplayName(timer) {
|
||||||
const sagId = Number((timer && timer.sag_id) || 0);
|
const sagId = Number((timer && timer.sag_id) || 0);
|
||||||
const title = (timer && (timer.sag_navn || timer.title || timer.beskrivelse || timer.desc)) || '';
|
const title = (timer && (timer.sag_navn || timer.title || timer.beskrivelse || timer.desc)) || '';
|
||||||
@ -2073,6 +2086,7 @@
|
|||||||
window.location.href = '/timetracking/registrations';
|
window.location.href = '/timetracking/registrations';
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
setTimeConversionMode(true);
|
||||||
modal.show();
|
modal.show();
|
||||||
|
|
||||||
if (!timer) {
|
if (!timer) {
|
||||||
@ -2087,7 +2101,7 @@
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
panel.dataset.timeId = String(timeId);
|
panel.dataset.timeId = String(timeId);
|
||||||
byId('bbConvertTimeName').textContent = String((timer.sag_navn || timer.title) || ('Sag #' + (timer.sag_id || '')));
|
byId('bbConvertTimeName').innerHTML = timerCaseInfo(timer, true);
|
||||||
byId('bbConvertWorkType').value = timer.work_type || 'support';
|
byId('bbConvertWorkType').value = timer.work_type || 'support';
|
||||||
byId('bbConvertMinutes').value = Number(timer.fakturerbar_tid_min != null ? timer.fakturerbar_tid_min : (timer.faktisk_tid_min || 0));
|
byId('bbConvertMinutes').value = Number(timer.fakturerbar_tid_min != null ? timer.fakturerbar_tid_min : (timer.faktisk_tid_min || 0));
|
||||||
select.innerHTML = '<option>Henter muligheder...</option>';
|
select.innerHTML = '<option>Henter muligheder...</option>';
|
||||||
@ -2140,8 +2154,10 @@
|
|||||||
const result = await response.json().catch(function () { return {}; });
|
const result = await response.json().catch(function () { return {}; });
|
||||||
if (!response.ok) throw new Error(result.detail || 'Kunne ikke konvertere tiden');
|
if (!response.ok) throw new Error(result.detail || 'Kunne ikke konvertere tiden');
|
||||||
panel.classList.add('d-none');
|
panel.classList.add('d-none');
|
||||||
await loadSwitchCaseData();
|
|
||||||
if (activeKey === 'timer') await loadTimerWorkQueue(timerPanelState.scope);
|
if (activeKey === 'timer') await loadTimerWorkQueue(timerPanelState.scope);
|
||||||
|
setTimeConversionMode(false);
|
||||||
|
const modal = getSwitchCaseModal();
|
||||||
|
if (modal) modal.hide();
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
switchCaseStatusMessage('<i class="bi bi-exclamation-triangle me-1 text-danger"></i>' + escapeHtml(err.message || 'Kunne ikke konvertere tiden.'));
|
switchCaseStatusMessage('<i class="bi bi-exclamation-triangle me-1 text-danger"></i>' + escapeHtml(err.message || 'Kunne ikke konvertere tiden.'));
|
||||||
} finally {
|
} finally {
|
||||||
@ -2205,6 +2221,7 @@
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
setTimeConversionMode(false);
|
||||||
modal.show();
|
modal.show();
|
||||||
try {
|
try {
|
||||||
await loadSwitchCaseData(options);
|
await loadSwitchCaseData(options);
|
||||||
@ -3022,6 +3039,10 @@
|
|||||||
if (btn.hasAttribute('data-bb-cancel-convert')) {
|
if (btn.hasAttribute('data-bb-cancel-convert')) {
|
||||||
const panel = byId('bbConvertTimePanel');
|
const panel = byId('bbConvertTimePanel');
|
||||||
if (panel) panel.classList.add('d-none');
|
if (panel) panel.classList.add('d-none');
|
||||||
|
setTimeConversionMode(false);
|
||||||
|
loadSwitchCaseData().catch(function (err) {
|
||||||
|
switchCaseStatusMessage('<i class="bi bi-exclamation-triangle me-1 text-danger"></i>' + escapeHtml(err.message || 'Kunne ikke hente timeroversigten.'));
|
||||||
|
});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user