feat: update Docker build workflow to include additional paths for triggering builds
All checks were successful
Build and Push Docker Image / build (push) Successful in 35s
All checks were successful
Build and Push Docker Image / build (push) Successful in 35s
This commit is contained in:
@@ -5,10 +5,34 @@ on:
|
||||
branches:
|
||||
- main
|
||||
- master
|
||||
paths:
|
||||
- 'server.js'
|
||||
- 'package.json'
|
||||
- 'package-lock.json'
|
||||
- 'Dockerfile'
|
||||
- 'docker-compose.yml'
|
||||
- 'db/**'
|
||||
- 'public/**'
|
||||
- '!public/**/*.md'
|
||||
- '!**/*.md'
|
||||
- '!.gitea/workflows/**'
|
||||
- '!.gitignore'
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
- master
|
||||
paths:
|
||||
- 'server.js'
|
||||
- 'package.json'
|
||||
- 'package-lock.json'
|
||||
- 'Dockerfile'
|
||||
- 'docker-compose.yml'
|
||||
- 'db/**'
|
||||
- 'public/**'
|
||||
- '!public/**/*.md'
|
||||
- '!**/*.md'
|
||||
- '!.gitea/workflows/**'
|
||||
- '!.gitignore'
|
||||
|
||||
env:
|
||||
REGISTRY: ${{ secrets.REGISTRY || 'gitea.fx-se.de' }}
|
||||
|
||||
@@ -2764,6 +2764,8 @@ function handleCellClick(e) {
|
||||
const originalContent = cell.innerHTML;
|
||||
|
||||
let input;
|
||||
let picker;
|
||||
|
||||
if (field === 'pauseMinutes') {
|
||||
input = document.createElement('input');
|
||||
input.type = 'number';
|
||||
@@ -2772,7 +2774,7 @@ function handleCellClick(e) {
|
||||
input.className = 'cell-input';
|
||||
input.value = currentValue;
|
||||
} else {
|
||||
// Time fields
|
||||
// Time fields - use Flatpickr
|
||||
input = document.createElement('input');
|
||||
input.type = 'text';
|
||||
input.className = 'cell-input';
|
||||
@@ -2783,10 +2785,46 @@ function handleCellClick(e) {
|
||||
cell.innerHTML = '';
|
||||
cell.appendChild(input);
|
||||
input.focus();
|
||||
|
||||
// Initialize Flatpickr for time fields
|
||||
if (field === 'startTime' || field === 'endTime') {
|
||||
picker = flatpickr(input, {
|
||||
enableTime: true,
|
||||
noCalendar: true,
|
||||
dateFormat: 'H:i',
|
||||
time_24hr: true,
|
||||
minuteIncrement: 15,
|
||||
allowInput: true,
|
||||
locale: 'de',
|
||||
defaultHour: parseInt(currentValue.split(':')[0]) || 9,
|
||||
defaultMinute: parseInt(currentValue.split(':')[1]) || 0,
|
||||
onOpen: function(selectedDates, dateStr, instance) {
|
||||
if (currentValue && currentValue.match(/^\d{1,2}:\d{2}$/)) {
|
||||
instance.setDate(currentValue, false);
|
||||
}
|
||||
},
|
||||
onClose: function(selectedDates, dateStr, instance) {
|
||||
if (dateStr) {
|
||||
input.value = dateStr;
|
||||
}
|
||||
// Trigger save after picker closes
|
||||
setTimeout(() => saveEdit(), 100);
|
||||
}
|
||||
});
|
||||
|
||||
// Open picker immediately
|
||||
setTimeout(() => picker.open(), 50);
|
||||
} else {
|
||||
input.select();
|
||||
}
|
||||
|
||||
// Save on blur or Enter
|
||||
const saveEdit = async () => {
|
||||
// Destroy picker if exists
|
||||
if (picker) {
|
||||
picker.destroy();
|
||||
}
|
||||
|
||||
const newValue = input.value.trim();
|
||||
|
||||
if (newValue === currentValue) {
|
||||
@@ -2858,6 +2896,8 @@ function handleCellClick(e) {
|
||||
}
|
||||
};
|
||||
|
||||
// Event listeners - only if not a time picker
|
||||
if (field === 'pauseMinutes') {
|
||||
input.addEventListener('blur', saveEdit);
|
||||
input.addEventListener('keydown', (e) => {
|
||||
if (e.key === 'Enter') {
|
||||
@@ -2868,6 +2908,16 @@ function handleCellClick(e) {
|
||||
cell.innerHTML = originalContent;
|
||||
}
|
||||
});
|
||||
} else {
|
||||
// For time fields, save is handled by Flatpickr onClose
|
||||
input.addEventListener('keydown', (e) => {
|
||||
if (e.key === 'Escape') {
|
||||
if (picker) picker.destroy();
|
||||
cell.classList.remove('editing');
|
||||
cell.innerHTML = originalContent;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user