57 lines
2.0 KiB
JavaScript
57 lines
2.0 KiB
JavaScript
/**
|
|
* Global application state
|
|
*/
|
|
|
|
// Modal state
|
|
let currentEditingId = null;
|
|
let datePicker = null;
|
|
let startTimePicker = null;
|
|
let endTimePicker = null;
|
|
let filterFromPicker = null;
|
|
let filterToPicker = null;
|
|
|
|
// Timer state
|
|
let timerInterval = null;
|
|
let timerStartTime = null;
|
|
let timerPausedDuration = 0; // Total paused time in seconds
|
|
let isPaused = false;
|
|
let pauseTimeout = null;
|
|
let currentEntryId = null; // ID of today's entry being timed
|
|
|
|
// Current month display state
|
|
let displayYear = new Date().getFullYear();
|
|
let displayMonth = new Date().getMonth(); // 0-11
|
|
|
|
// Settings state
|
|
let companyHolidayPreference = 'christmas'; // 'christmas' (24.12) or 'newyearseve' (31.12)
|
|
|
|
// Bulk edit state
|
|
let bulkEditMode = false;
|
|
let selectedEntries = new Set();
|
|
|
|
// Setters for state mutations
|
|
function setCurrentEditingId(id) { currentEditingId = id; }
|
|
function setDatePicker(picker) { datePicker = picker; }
|
|
function setStartTimePicker(picker) { startTimePicker = picker; }
|
|
function setEndTimePicker(picker) { endTimePicker = picker; }
|
|
function setFilterFromPicker(picker) { filterFromPicker = picker; }
|
|
function setFilterToPicker(picker) { filterToPicker = picker; }
|
|
|
|
function setTimerInterval(interval) { timerInterval = interval; }
|
|
function setTimerStartTime(time) { timerStartTime = time; }
|
|
function setTimerPausedDuration(duration) { timerPausedDuration = duration; }
|
|
function setIsPaused(paused) { isPaused = paused; }
|
|
function setPauseTimeout(timeout) { pauseTimeout = timeout; }
|
|
function setCurrentEntryId(id) { currentEntryId = id; }
|
|
|
|
function setDisplayYear(year) { displayYear = year; }
|
|
function setDisplayMonth(month) { displayMonth = month; }
|
|
|
|
function setCompanyHolidayPreference(preference) { companyHolidayPreference = preference; }
|
|
|
|
function setBulkEditMode(mode) { bulkEditMode = mode; }
|
|
function clearSelectedEntries() { selectedEntries.clear(); }
|
|
function addSelectedEntry(id) { selectedEntries.add(id); }
|
|
function removeSelectedEntry(id) { selectedEntries.delete(id); }
|
|
function hasSelectedEntry(id) { return selectedEntries.has(id); }
|