5.723
Bearbeitungen
Tt (Diskussion | Beiträge) |
Tt (Diskussion | Beiträge) |
||
| (18 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
/* Das folgende JavaScript wird für alle Benutzer geladen. */ | /* Das folgende JavaScript wird für alle Benutzer geladen. */ | ||
var monthsNames = ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember']; | |||
function addDatepickerHandler(event) { | function addDatepickerHandler(event) { | ||
| Zeile 16: | Zeile 16: | ||
function initMultiDatepickers() { | function initMultiDatepickers() { | ||
var multidatepickers = document.getElementsByClassName('multidatepicker'); | |||
for (var i=0; i<multidatepickers.length; i++) { | for (var i=0; i<multidatepickers.length; i++) { | ||
| Zeile 56: | Zeile 51: | ||
for (j=0; j<stringValues.length; j++) { | for (j=0; j<stringValues.length; j++) { | ||
var datepicker = makeDatepickerRow(stringValues[j]); | |||
multidatepickers[i].parentNode.parentNode.appendChild(datepicker); | multidatepickers[i].parentNode.parentNode.appendChild(datepicker); | ||
| Zeile 68: | Zeile 63: | ||
function addDatepicker(multidatepicker) { | function addDatepicker(multidatepicker) { | ||
var datepicker = makeDatepickerRow(''); | |||
multidatepicker.parentNode.parentNode.appendChild(datepicker); | multidatepicker.parentNode.parentNode.appendChild(datepicker); | ||
| Zeile 76: | Zeile 71: | ||
function parseInputsToStrings() { | function parseInputsToStrings() { | ||
console.log('parsing'); | console.log('parsing'); | ||
var multidatepickers = document.getElementsByClassName('multidatepicker'); | |||
console.log('got ' + multidatepickers.length + ' multidatepickers'); | console.log('got ' + multidatepickers.length + ' multidatepickers'); | ||
for (var i=0; i<multidatepickers.length; i++) { | for (var i=0; i<multidatepickers.length; i++) { | ||
multidatepickers[i].value = ''; | multidatepickers[i].value = ''; | ||
var datepickers = multidatepickers[i].parentNode.parentNode.getElementsByClassName('dateInput'); | |||
console.log(i + 'th multidatepicker has ' + datepickers.length + ' values'); | console.log(i + 'th multidatepicker has ' + datepickers.length + ' values'); | ||
var finalStringValue = '' | var finalStringValue = ''; | ||
for (var j=0; j < datepickers.length;j++) { | for (var j=0; j < datepickers.length;j++) { | ||
var yearInputValue = datepickers[j].getElementsByClassName('yearInput')[0].value; | var yearInputValue = datepickers[j].getElementsByClassName('yearInput')[0].value; | ||
| Zeile 141: | Zeile 136: | ||
var monthField = document.createElement('select'); | var monthField = document.createElement('select'); | ||
monthField.className = 'monthInput'; | monthField.className = 'monthInput'; | ||
var noMonthOption = document.createElement('option'); | |||
monthField.appendChild(noMonthOption); | monthField.appendChild(noMonthOption); | ||
for (var i=1; i<13; i++) { | for (var i=1; i<13; i++) { | ||
var monthOption = document.createElement('option'); | |||
var monthString = String(i).padStart(2, '0'); | |||
monthOption.value = monthString; | monthOption.value = monthString; | ||
monthOption.innerText = monthsNames[i-1]; | monthOption.innerText = monthsNames[i-1]; | ||
| Zeile 188: | Zeile 183: | ||
return wrapperTR; | return wrapperTR; | ||
} | |||
function initColorpickers() { | |||
var colorpickers = document.getElementsByClassName('colorpicker'); | |||
for (var i=0; i<colorpickers.length; i++) { | |||
colorpickers[i].setAttribute('type', 'color'); | |||
colorpickers[i].value = '#' + colorpickers[i].value; | |||
} | |||
} | |||
function initCoordsPasteHook() { | |||
var inputs = document.getElementsByClassName('pfCoordsInput'); | |||
for (var i=0; i<inputs.length; i++) { | |||
inputs[i].addEventListener('paste', function (e) { | |||
var paste = (event.clipboardData || window.clipboardData).getData('text'); | |||
var elem = e.target; | |||
console.log('onPaste coords'); | |||
if (paste.startsWith('https://maps.apple.com/place?/&ll=')) { | |||
e.preventDefault(); | |||
// is Apple maps | |||
console.log('apple maps paste'); | |||
var coords = decodeURIComponent(paste.substring(34)); | |||
elem.value = coords; | |||
} | |||
}); | |||
} | |||
} | } | ||
initMultiDatepickers(); | initMultiDatepickers(); | ||
initColorpickers(); | |||
initCoordsPasteHook(); | |||