First Commit
This commit is contained in:
297
html/sternwarte/beoanswer/js/beoanswer.js
Executable file
297
html/sternwarte/beoanswer/js/beoanswer.js
Executable file
@@ -0,0 +1,297 @@
|
||||
/*
|
||||
*
|
||||
*/
|
||||
$(document).ready(function() {
|
||||
|
||||
let sendobject = {
|
||||
stattgefunden: false,
|
||||
anzahl: 0,
|
||||
spende:0,
|
||||
betrag:0,
|
||||
rem:'',
|
||||
newtermin: '1900-01-01',
|
||||
};
|
||||
let ajaxURL = '../../intern/sofue/php/sofueDB.php'
|
||||
$('#versn').html("Version: " + VERSION + ' vom ' + VDATE);
|
||||
|
||||
console.log("von php:", url_fdate, url_id);
|
||||
|
||||
let t = $('#sofueHead').html();
|
||||
$('#sofueHead').html(t+url_fdate);
|
||||
|
||||
// Change bei 'stattgefunden'
|
||||
$('#inputstatt').change(function() {
|
||||
let s = $('input[name="statt"]:checked').val();
|
||||
console.log(s);
|
||||
if(s == "nein") {
|
||||
showAbsage();
|
||||
sendobject.stattgefunden=false;
|
||||
} else if (s=='ja') {
|
||||
showBesucher();
|
||||
sendobject.stattgefunden=true;
|
||||
}
|
||||
});
|
||||
|
||||
// der JA-Zweig
|
||||
function showBesucher() {
|
||||
$('#besucher').removeClass("hide");
|
||||
}
|
||||
|
||||
$('#beszahl').keydown(e=>{
|
||||
let keycode = e.keyCode || e.which;
|
||||
if(keycode == 13) {
|
||||
besucher = $('#beszahl').val();
|
||||
if($.isNumeric(besucher)) {
|
||||
console.log(besucher);
|
||||
sendobject.anzahl = besucher;
|
||||
showSpende();
|
||||
} else {
|
||||
alert("Nur Ziffern eingeben");
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
$('#btnOK0').click(()=>{
|
||||
besucher = $('#beszahl').val();
|
||||
if($.isNumeric(besucher)) {
|
||||
console.log(besucher);
|
||||
sendobject.anzahl = besucher;
|
||||
showSpende();
|
||||
} else {
|
||||
alert("Nur Ziffern eingeben");
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
function showSpende() {
|
||||
$('#diespende').removeClass("hide");
|
||||
}
|
||||
|
||||
$('#inputspend').change(function() {
|
||||
let spende=0;
|
||||
let s = $('input[name="spend"]:checked').val();
|
||||
console.log(s);
|
||||
if(s == "bar") {
|
||||
spende=1;
|
||||
showBarspende();
|
||||
} else {
|
||||
showRemark();
|
||||
if (s=='ueberweis') {
|
||||
spende=2;
|
||||
} else if (s=='kasse') {
|
||||
spende=3;
|
||||
}
|
||||
}
|
||||
sendobject.spende = spende;
|
||||
});
|
||||
|
||||
function showBarspende() {
|
||||
$('#barspend').removeClass("hide");
|
||||
}
|
||||
|
||||
$('#barsp').keydown(e=>{
|
||||
let keycode = e.keyCode || e.which;
|
||||
if(keycode == 13) {
|
||||
let barsp = $('#barsp').val();
|
||||
if($.isNumeric(barsp)) {
|
||||
console.log(barsp);
|
||||
sendobject.betrag = barsp;
|
||||
showRemark();
|
||||
} else {
|
||||
alert("Nur Ziffern eingeben");
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
$('#btnOK1').click(()=>{
|
||||
let barsp = $('#barsp').val();
|
||||
if($.isNumeric(barsp)) {
|
||||
console.log(barsp);
|
||||
sendobject.betrag = barsp;
|
||||
showRemark();
|
||||
} else {
|
||||
alert("Nur Ziffern eingeben");
|
||||
}
|
||||
});
|
||||
|
||||
$('#btnOK2').click(()=>{
|
||||
sendobject.rem = $('#remark').val();
|
||||
showFertig();
|
||||
});
|
||||
|
||||
function showRemark() {
|
||||
let p = $('#btnOK2').offset();
|
||||
$('#btnOK2').offset({top: p.top-10, left: p.left});
|
||||
$('#remarks').removeClass('hide');
|
||||
}
|
||||
|
||||
function showFertig() {
|
||||
$('#fertig').removeClass("hide");
|
||||
$('#btnsend').removeClass("hide");
|
||||
}
|
||||
|
||||
// der NEIN-Zweig
|
||||
function showAbsage() {
|
||||
$('input[name="nostatt"]').prop('checked',"");
|
||||
$('#inputabs').removeClass("hide");
|
||||
}
|
||||
|
||||
// Change bei 'nicht stattt'
|
||||
$('#inputabs').change(function() {
|
||||
let s = $('input[name="nostatt"]:checked').val();
|
||||
console.log(s);
|
||||
if(s == "abgesagt") {
|
||||
showFertig();
|
||||
} else if (s == "verschoben") {
|
||||
showVerschoben();
|
||||
}
|
||||
});
|
||||
|
||||
function showVerschoben() {
|
||||
$('#verschbn').removeClass("hide");
|
||||
|
||||
|
||||
// Picker für den neuen Termin
|
||||
$('#newtermin').datetimepicker( // Initialisierung des datetimepickers
|
||||
{
|
||||
addSliderAccess: true,
|
||||
sliderAccessArgs: { touchonly: false },
|
||||
showOn: 'focus' , // onFocus wird der Picker angezeigt
|
||||
timeFormat: 'HH:mm',
|
||||
showMinute: true,
|
||||
stepMinute: 15,
|
||||
// showSecond: false,
|
||||
// showMillisec: false,
|
||||
// showMicrosec: false,
|
||||
// showTimezone: false,
|
||||
hourMin: 13,
|
||||
dateFormat: "yy-mm-dd", // angezeigt wird in diesem Format
|
||||
minDate: "+1d", // min Datum: morgen
|
||||
closeText: "OK", // erst wenn OK geklickt wird, dann gehts weiter
|
||||
timeText: "Uhrzeit", // Texte dazu
|
||||
hourText: "Stunde",
|
||||
onClose: function (dateText, inst) { // was passiert, wenn OK gedrückt wird:
|
||||
if(dateText != "") {
|
||||
var dt = moment(dateText).format('YYYY-MM-DD HH:mm');
|
||||
$("#newtermin").html(dt);
|
||||
sendobject.newtermin=dt;
|
||||
showFertig();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// Datepicker auf Deutsch einstellen
|
||||
$.datepicker.regional['de'] = {
|
||||
closeText: '',
|
||||
prevText: '<',
|
||||
nextText: '>',
|
||||
currentText: '',
|
||||
monthNames: ['Januar','Februar','März','April','Mai','Juni',
|
||||
'Juli','August','September','Oktober','November','Dezember'],
|
||||
monthNamesShort: ['Jan','Feb','Mar','Apr','Mai','Jun',
|
||||
'Jul','Aug','Sep','Okt','Nov','Dez'],
|
||||
dayNames: ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'],
|
||||
dayNamesShort: ['SON','MON','DIE','MIT','DON','FRE','SAM'],
|
||||
dayNamesMin: ['So','Mo','Di','Mi','Do','Fr','Sa'],
|
||||
weekHeader: 'KW',
|
||||
dateFormat: 'yyyy-mm-dd',
|
||||
firstDay: 1,
|
||||
isRTL: false,
|
||||
showMonthAfterYear: false,
|
||||
yearSuffix: ''
|
||||
};
|
||||
$.datepicker.setDefaults($.datepicker.regional['de']); // diese Einstellung nun übernehmen
|
||||
|
||||
// Buttons
|
||||
$('#btncancel').click(()=>location.reload());
|
||||
|
||||
$('#btnsend').click(()=>{
|
||||
console.log("Sende an Datenbank:");
|
||||
console.log(sendobject);
|
||||
clearAll(0);
|
||||
let cmd = {
|
||||
stattgefunden: sendobject.stattgefunden ? 1 : 0,
|
||||
id: url_id,
|
||||
cmd: 'UPDATEAFTER'
|
||||
};
|
||||
if(sendobject.stattgefunden) { // der Termin hat stattgefunden
|
||||
cmd.besucher = sendobject.anzahl;
|
||||
cmd.remark = sendobject.rem;
|
||||
cmd.bezahlt = (function() {
|
||||
console.log("sendobjc:", sendobject);
|
||||
if( sendobject.spende == 1 ) {
|
||||
return `bar Kasse (€${sendobject.betrag})`;
|
||||
} else if (sendobject.spende == 2) {
|
||||
return 'Überweisung';
|
||||
} else if (sendobject.spende == 3) {
|
||||
return 'Spendenkasse';
|
||||
} else return 'Keine';
|
||||
})()
|
||||
} else { // der Termin hat NICHT stattgefunden
|
||||
cmd.besucher = sendobject.anzahl;
|
||||
cmd.remark = '';
|
||||
cmd.bezahlt = 'Keine';
|
||||
if(sendobject.newtermin != '1900-01-01') {
|
||||
cmd.wtermin = sendobject.newtermin; // er wurde verlegt, also gibts einen neuen Wunschtermin
|
||||
} else {
|
||||
cmd.status = 3; // nicht stattgefunden -> abgesagt
|
||||
}
|
||||
}
|
||||
console.log(cmd);
|
||||
if(url_id != null) {
|
||||
doAjaxCall_arr(ajaxURL,cmd,showajaxerg);
|
||||
}
|
||||
});
|
||||
|
||||
function clearAll(was) {
|
||||
$('#tosend').addClass('hide');
|
||||
$('#inputstatt').addClass('hide');
|
||||
$('#fertig').addClass('hide');
|
||||
$('#verschbn').addClass('hide');
|
||||
$('#inputabs').addClass('hide');
|
||||
$('#besucher').addClass('hide');
|
||||
$('#diespende').addClass('hide');
|
||||
$('#barspend').addClass('hide');
|
||||
$('#remarks').addClass('hide');
|
||||
}
|
||||
|
||||
|
||||
function showajaxerg(erg) {
|
||||
console.log("AjaxErg: ", erg);
|
||||
$('#beendet').removeClass('hide');
|
||||
}
|
||||
|
||||
// Klick auf den Anleitungs-Button
|
||||
$('#btnMan').click(function() {
|
||||
$("#anleitung").dialog('open');
|
||||
});
|
||||
|
||||
|
||||
// 3. Dialog für die Anleitung
|
||||
// Dieser hat KEINEN Button (wird über das Schließkreuz beendet) und
|
||||
// eine etwas kleinere Schrift
|
||||
$("#anleitung").dialog({
|
||||
autoOpen: false,
|
||||
width: 400,
|
||||
modal: true,
|
||||
position: {my: 'top', at: 'top', of: window },
|
||||
title: 'Anleitung',
|
||||
open:
|
||||
function() {
|
||||
$(this).load('beoanswer.html');
|
||||
},
|
||||
buttons: [
|
||||
{
|
||||
text: "Abbrechen",
|
||||
click : function() {
|
||||
$(this).dialog("close");
|
||||
},
|
||||
width: 150,
|
||||
}
|
||||
],
|
||||
});
|
||||
|
||||
|
||||
|
||||
});
|
||||
103
html/sternwarte/beoanswer/js/jquery-ui-slider-access-addon.js
vendored
Executable file
103
html/sternwarte/beoanswer/js/jquery-ui-slider-access-addon.js
vendored
Executable file
@@ -0,0 +1,103 @@
|
||||
/*
|
||||
* jQuery UI Slider Access
|
||||
* By: Trent Richardson [http://trentrichardson.com]
|
||||
* Version 0.2
|
||||
* Last Modified: 12/12/2011
|
||||
*
|
||||
* Copyright 2011 Trent Richardson
|
||||
* Dual licensed under the MIT and GPL licenses.
|
||||
* http://trentrichardson.com/Impromptu/GPL-LICENSE.txt
|
||||
* http://trentrichardson.com/Impromptu/MIT-LICENSE.txt
|
||||
*
|
||||
*/
|
||||
(function ($) {
|
||||
|
||||
$.fn.extend({
|
||||
sliderAccess: function (options) {
|
||||
options = options || {};
|
||||
options.touchonly = options.touchonly !== undefined ? options.touchonly : true; // by default only show it if touch device
|
||||
|
||||
if (options.touchonly === true && !("ontouchend" in document))
|
||||
return $(this);
|
||||
|
||||
return $(this).each(function (i, obj) {
|
||||
var $t = $(this),
|
||||
o = $.extend({}, {
|
||||
where: 'after',
|
||||
step: $t.slider('option', 'step'),
|
||||
upIcon: 'ui-icon-plus',
|
||||
downIcon: 'ui-icon-minus',
|
||||
text: false,
|
||||
upText: '+',
|
||||
downText: '-',
|
||||
buttonset: true,
|
||||
buttonsetTag: 'span',
|
||||
speed: 150
|
||||
}, options),
|
||||
$buttons = $('<' + o.buttonsetTag + ' class="ui-slider-access">' +
|
||||
'<button data-icon="' + o.downIcon + '" data-step="-' + o.step + '">' + o.downText + '</button>' +
|
||||
'<button data-icon="' + o.upIcon + '" data-step="' + o.step + '">' + o.upText + '</button>' +
|
||||
'</' + o.buttonsetTag + '>');
|
||||
|
||||
$buttons.children('button').each(function (j, jobj) {
|
||||
var $jt = $(this),
|
||||
timeout = null,
|
||||
increment = function($jt, $t, e) {
|
||||
var step = $jt.data('step'),
|
||||
curr = $t.slider('value'),
|
||||
newval = curr += step * 1,
|
||||
minval = $t.slider('option', 'min'),
|
||||
maxval = $t.slider('option', 'max');
|
||||
e.preventDefault();
|
||||
if (newval < minval || newval > maxval)
|
||||
return;
|
||||
$t.slider('value', newval);
|
||||
$t.slider("option", "slide").call($t, null, { value: newval });
|
||||
};
|
||||
|
||||
$jt.button({
|
||||
text: o.text,
|
||||
icons: { primary: $jt.data('icon') }
|
||||
})
|
||||
.bind('touchstart mousedown', function (e) {
|
||||
increment($jt, $t, e);
|
||||
timeout = setInterval(function () {
|
||||
increment($jt, $t, e);
|
||||
}, o.speed);
|
||||
});
|
||||
|
||||
$(document).bind('touchend mouseup', function (e) {
|
||||
clearInterval(timeout);
|
||||
return e.type == 'touchend';
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
// before or after
|
||||
$t[o.where]($buttons);
|
||||
|
||||
if (o.buttonset) {
|
||||
$buttons.removeClass('ui-corner-right').removeClass('ui-corner-left').buttonset();
|
||||
$buttons.eq(0).addClass('ui-corner-left');
|
||||
$buttons.eq(1).addClass('ui-corner-right');
|
||||
}
|
||||
|
||||
// adjust the width so we don't break the original layout
|
||||
var bOuterWidth = $buttons.css({
|
||||
marginLeft: (o.where == 'after' ? 10 : 0),
|
||||
marginRight: (o.where == 'before' ? 10 : 0)
|
||||
}).outerWidth(true) + 5;
|
||||
var tOuterWidth = $t.outerWidth(true);
|
||||
|
||||
// support "always" hide the slider
|
||||
if (o.hideSlider == 'always' || (o.hideSlider == 'touch' && ("ontouchend" in document))) {
|
||||
$t.css('display', 'none');
|
||||
}
|
||||
else {
|
||||
$t.css('display', 'inline-block').width(tOuterWidth - bOuterWidth);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
})(jQuery);
|
||||
14
html/sternwarte/beoanswer/js/version.js
Executable file
14
html/sternwarte/beoanswer/js/version.js
Executable file
@@ -0,0 +1,14 @@
|
||||
// VersiosNummern und -Geschichte
|
||||
|
||||
var VERSION="1.1";
|
||||
var VDATE="2018-12-11";
|
||||
|
||||
/* History
|
||||
|
||||
Rev. Datum Entwickler
|
||||
|
||||
1.1 2018-12-11 rxf
|
||||
- kleinere Anpassungen
|
||||
1.0 2018-09-27 rxf
|
||||
- Los gehts
|
||||
*/
|
||||
Reference in New Issue
Block a user