Das Mehrfachbuchungsformular hat ebenfalls die Schnittmenge der Leistungen und Kategorien von den ausgewählten Hilfeplänen. Das Caching ist wieder aktiviert. Und lädt pro Post-Aufruf nur noch einmal 13 MB und danach nur noch 300 kb herunter. Überall konsequent geprüft, ob das Model nicht null ist und falls dem so ist, wird ausgeloggt, damit es zu keinen Fehlern mehr kommt.
79 lines
1.7 KiB
JavaScript
79 lines
1.7 KiB
JavaScript
function arrayContainsAllItems(a1, a2) {
|
|
var result = true;
|
|
|
|
if (a1 !== null && a2 !== null && Array.isArray(a1) && Array.isArray(a2)) {
|
|
for (var i = 0; i < a2.length; i++) {
|
|
if (!a1.includes(a2[i])) {
|
|
result = false;
|
|
break;
|
|
}
|
|
}
|
|
} else {
|
|
result = false;
|
|
}
|
|
|
|
return result;
|
|
}
|
|
|
|
function isEmptyOrSpaces(str) {
|
|
return str === null || str === undefined || str.match(/^ *$/) !== null;
|
|
}
|
|
|
|
function isInArray(value, array) {
|
|
if (value === undefined || value === null || array === undefined || array === null) {
|
|
return false;
|
|
}
|
|
|
|
if (!Array.isArray(array)) {
|
|
return false;
|
|
}
|
|
|
|
var intValue = parseInt(value, 10);
|
|
|
|
if (isNaN(intValue)) {
|
|
return false;
|
|
}
|
|
|
|
for (var i = 0; i < array.length; i++) {
|
|
if (array[i] === intValue) {
|
|
return true;
|
|
}
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
function checkArraysForEquality(a1, a2) {
|
|
try {
|
|
if (Array.isArray(a1) && Array.isArray(a2) && a1.length === a2.length) {
|
|
a1 = a1.sort();
|
|
a2 = a2.sort();
|
|
|
|
for(var i = 0; i < a1.length; i++) {
|
|
var obj1 = a1[i];
|
|
var obj2 = a2[i];
|
|
|
|
if(typeof obj1 !== typeof obj2 || obj1 !== obj2) {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
} catch(error) {
|
|
showErrorPopup(error);
|
|
} finally {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
function checkJson(jsonToParse) {
|
|
try {
|
|
$.parseJSON(jsonToParse);
|
|
return true;
|
|
} catch(parsingError) {
|
|
return false;
|
|
}
|
|
} |