Merge index.html and QJsonSchemaChecker changes

This commit is contained in:
b1rdhous3 2016-08-31 17:19:41 +02:00
parent b6cec24596
commit 752b32c906
2 changed files with 14 additions and 70 deletions

View File

@ -1,4 +1,4 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en">
<head> <head>
@ -25,10 +25,8 @@
<link href="css/bootstrap-switch.min.css" rel="stylesheet"> <link href="css/bootstrap-switch.min.css" rel="stylesheet">
<!-- JSONForm --> <!-- JSONForm -->
<script src="js/lib/underscore.js"></script> <!--<script src="js/lib/underscore.js"></script>
<script src="js/lib/jsonform.js"></script> <script src="js/lib/jsonform.js"></script>-->
<script src="js/lib/jsoneditor.min.js"></script> <script src="js/lib/jsoneditor.min.js"></script>
<!--Language Support --> <!--Language Support -->
@ -38,19 +36,14 @@
<script type="text/javascript"> <script type="text/javascript">
// Create language switcher instance // Create language switcher instance
var lang = new Lang(); var lang = new Lang();
lang.dynamic('de', 'lang/de.json'); lang.dynamic('de', 'lang/de.json');
lang.init({ lang.init({
defaultLang: 'en', defaultLang: 'en',
cookie: { cookie: {
name: 'langCookie', name: 'langCookie',
expiry: 365, expiry: 365,
path: '/' path: '/'
}, },
allowCookieOverride: true allowCookieOverride: true
}); });
</script> </script>
@ -493,12 +486,10 @@
<!-- Custom Theme JavaScript --> <!-- Custom Theme JavaScript -->
<script src="js/lib/sb-admin-2.js"></script> <script src="js/lib/sb-admin-2.js"></script>
<script> <script>
$(document).ready( function() { $(document).ready( function() {
$("#load_lighttest").on("click", function() { $("#load_lighttest").on("click", function() {
$("#page-wrapper").load("lighttest.html"); $("#page-wrapper").load("lighttest.html");
}); });
$("#load_effects").on("click", function() { $("#load_effects").on("click", function() {
$("#page-wrapper").load("effects.html"); $("#page-wrapper").load("effects.html");
}); });
@ -506,75 +497,28 @@
$("#load_components").on("click", function() { $("#load_components").on("click", function() {
$("#page-wrapper").load("remote_components.html"); $("#page-wrapper").load("remote_components.html");
}); });
$("#load_huebridge").on("click", function() { $("#load_huebridge").on("click", function() {
$("#page-wrapper").load("huebridge.html"); $("#page-wrapper").load("huebridge.html");
}); });
$("#load_support").on("click", function() { $("#load_support").on("click", function() {
$("#page-wrapper").load("support.html"); $("#page-wrapper").load("support.html");
}); });
$("#load_confKodi").on("click", function() { $("#load_confKodi").on("click", function() {
$("#page-wrapper").load("kodiconf.html"); $("#page-wrapper").load("kodiconf.html");
}); });
$("#load_update").on("click", function() { $("#load_update").on("click", function() {
$("#page-wrapper").load("update.html"); $("#page-wrapper").load("update.html");
}); });
$("#load_confGeneral").on("click", function() { $("#load_confGeneral").on("click", function() {
$("#page-wrapper").load("generalconf.html"); $("#page-wrapper").load("generalconf.html");
}); });
//Change all Checkboxes to Switches //Change all Checkboxes to Switches
$("[type='checkbox']").bootstrapSwitch(); $("[type='checkbox']").bootstrapSwitch();
loaddata();
// vesion check
var currentVersion;
var cleanCurrentVersion;
var latestVersion;
var cleanLatestVersion;
webSocket = new WebSocket('ws://'+document.location.hostname+':19444');
var serverInfo;
webSocket.onerror = function(event) {
alert(event.data);
};
webSocket.onopen = function(event) {
webSocket.send('{"command":"serverinfo"}');
};
webSocket.onmessage = function(response){
responseJSON = JSON.parse(response.data );
currentVersion = responseJSON.info.hyperion[0].version;
cleanCurrentVersion = currentVersion.replace(/\./g, '');
$.get( "https://raw.githubusercontent.com/hyperion-project/hyperion.ng/master/version.json", function( data ) {
var responseJSON = JSON.parse(data);
latestVersion = responseJSON[0].versionnr;
cleanLatestVersion = latestVersion.replace(/\./g, '');
$('#currentversion').append(' V'+currentVersion);
$('#latestversion').append(' V'+latestVersion);
if ( cleanCurrentVersion < cleanLatestVersion ) {
$('#versioninforesult').append('<div lang="en" data-lang-token="dashboard_message_infobox_updatewarning" style="margin:0px;" class="alert alert-warning">A newer version of Hyperion is available!</div>');
}
else{
$('#versioninforesult').append('<div lang="en" data-lang-token="dashboard_message_infobox_updatesuccess" style="margin:0px;" class="alert alert-success">You run the latest version of Hyperion.</div>');
}
});
};
}); });
$(function(){ $(function(){
var sidebar = $('#side-menu'); // cache sidebar to a variable for performance var sidebar = $('#side-menu'); // cache sidebar to a variable for performance
sidebar.delegate('a.inactive','click',function(){ sidebar.delegate('a.inactive','click',function(){
sidebar.find('.active').toggleClass('active inactive'); sidebar.find('.active').toggleClass('active inactive');
$(this).toggleClass('active inactive'); $(this).toggleClass('active inactive');

View File

@ -2,7 +2,7 @@
#include <iterator> #include <iterator>
#include <sstream> #include <sstream>
#include <algorithm> #include <algorithm>
#include <math.h> #include <math.h>
// Utils-Jsonschema includes // Utils-Jsonschema includes
#include <utils/jsonschema/QJsonSchemaChecker.h> #include <utils/jsonschema/QJsonSchemaChecker.h>
@ -45,9 +45,9 @@ void QJsonSchemaChecker::validate(const QJsonValue & value, const QJsonObject &s
// check the current json value // check the current json value
for (QJsonObject::const_iterator i = schema.begin(); i != schema.end(); ++i) for (QJsonObject::const_iterator i = schema.begin(); i != schema.end(); ++i)
{ {
QString attribute = i.key(); QString attribute = i.key();
const QJsonValue & attributeValue = *i; const QJsonValue & attributeValue = *i;
if (attribute == "type") if (attribute == "type")
checkType(value, attributeValue); checkType(value, attributeValue);
else if (attribute == "properties") else if (attribute == "properties")
@ -71,7 +71,7 @@ void QJsonSchemaChecker::validate(const QJsonValue & value, const QJsonObject &s
const QJsonObject & props = schema["properties"].toObject(); const QJsonObject & props = schema["properties"].toObject();
ignoredProperties = props.keys(); ignoredProperties = props.keys();
} }
checkAdditionalProperties(value.toObject(), attributeValue, ignoredProperties); checkAdditionalProperties(value.toObject(), attributeValue, ignoredProperties);
} }
else else
@ -108,7 +108,7 @@ void QJsonSchemaChecker::validate(const QJsonValue & value, const QJsonObject &s
; // nothing to do. value is present so always oke ; // nothing to do. value is present so always oke
else if (attribute == "id") else if (attribute == "id")
; // references have already been collected ; // references have already been collected
else if (attribute == "title" || attribute == "description" || attribute == "default") else if (attribute == "title" || attribute == "description" || attribute == "default" || attribute == "format")
; // nothing to do. ; // nothing to do.
else else
{ {
@ -135,7 +135,7 @@ const std::list<std::string> & QJsonSchemaChecker::getMessages() const
void QJsonSchemaChecker::checkType(const QJsonValue & value, const QJsonValue & schema) void QJsonSchemaChecker::checkType(const QJsonValue & value, const QJsonValue & schema)
{ {
QString type = schema.toString(); QString type = schema.toString();
bool wrongType = false; bool wrongType = false;
if (type == "string") if (type == "string")
wrongType = !value.isString(); wrongType = !value.isString();
@ -168,16 +168,16 @@ void QJsonSchemaChecker::checkType(const QJsonValue & value, const QJsonValue &
} }
void QJsonSchemaChecker::checkProperties(const QJsonObject & value, const QJsonObject & schema) void QJsonSchemaChecker::checkProperties(const QJsonObject & value, const QJsonObject & schema)
{ {
for (QJsonObject::const_iterator i = schema.begin(); i != schema.end(); ++i) for (QJsonObject::const_iterator i = schema.begin(); i != schema.end(); ++i)
{ {
QString property = i.key(); QString property = i.key();
const QJsonValue & propertyValue = i.value(); const QJsonValue & propertyValue = i.value();
_currentPath.push_back(std::string(".") + property.toStdString()); _currentPath.push_back(std::string(".") + property.toStdString());
QJsonObject::const_iterator required = propertyValue.toObject().find("required"); QJsonObject::const_iterator required = propertyValue.toObject().find("required");
if (value.contains(property)) if (value.contains(property))
{ {
validate(value[property], propertyValue.toObject()); validate(value[property], propertyValue.toObject());
@ -264,7 +264,7 @@ void QJsonSchemaChecker::checkItems(const QJsonValue & value, const QJsonObject
setMessage("items only valid for arrays"); setMessage("items only valid for arrays");
return; return;
} }
QJsonArray jArray = value.toArray(); QJsonArray jArray = value.toArray();
for(int i = 0; i < jArray.size(); ++i) for(int i = 0; i < jArray.size(); ++i)
{ {