chore: initial import for test contour with k3s CI
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
import { Controller } from 'stimulus';
|
||||
|
||||
export default class extends Controller {
|
||||
static targets = ['input'];
|
||||
|
||||
today(event) {
|
||||
event?.preventDefault?.();
|
||||
|
||||
const today = this.startOfDay(new Date());
|
||||
this.setRange(today, today);
|
||||
}
|
||||
|
||||
tomorrow(event) {
|
||||
event?.preventDefault?.();
|
||||
|
||||
const tomorrow = this.addDays(this.startOfDay(new Date()), 1);
|
||||
this.setRange(tomorrow, tomorrow);
|
||||
}
|
||||
|
||||
setRange(startDate, endDate) {
|
||||
const input = this.inputTarget;
|
||||
const formattedStart = this.formatDate(startDate);
|
||||
const formattedEnd = this.formatDate(endDate);
|
||||
const value = `${formattedStart} - ${formattedEnd}`;
|
||||
|
||||
// If daterangepicker is attached, keep it in sync.
|
||||
if (typeof $ !== 'undefined') {
|
||||
const picker = $(input).data('daterangepicker');
|
||||
if (picker) {
|
||||
picker.setStartDate(formattedStart);
|
||||
picker.setEndDate(formattedEnd);
|
||||
|
||||
// Ensure UI is refreshed for both calendars & input.
|
||||
if (typeof picker.updateCalendars === 'function') {
|
||||
picker.updateCalendars();
|
||||
}
|
||||
if (typeof picker.updateView === 'function') {
|
||||
picker.updateView();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
input.value = value;
|
||||
input.dispatchEvent(new Event('change', { bubbles: true }));
|
||||
|
||||
const form = this.element.closest('form');
|
||||
if (form) {
|
||||
if (typeof form.requestSubmit === 'function') {
|
||||
form.requestSubmit();
|
||||
} else {
|
||||
form.submit();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
startOfDay(date) {
|
||||
return new Date(date.getFullYear(), date.getMonth(), date.getDate());
|
||||
}
|
||||
|
||||
addDays(date, days) {
|
||||
return new Date(date.getFullYear(), date.getMonth(), date.getDate() + days);
|
||||
}
|
||||
|
||||
formatDate(date) {
|
||||
const dd = String(date.getDate()).padStart(2, '0');
|
||||
const mm = String(date.getMonth() + 1).padStart(2, '0');
|
||||
const yyyy = String(date.getFullYear());
|
||||
return `${dd}.${mm}.${yyyy}`;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user