Fix super config default values

cycling-live-grid
Elad Bar 2023-04-06 17:11:25 +00:00 committed by Moe
parent b2b6d4b3f8
commit 12151602ef
2 changed files with 360 additions and 304 deletions

1
.gitignore vendored
View File

@ -14,3 +14,4 @@ dist
generatedLanguageFiles
faces
unknownFaces
.idea/

View File

@ -4,17 +4,22 @@ $(document).ready(function(){
"type": "object",
"properties": {
"debugLog": {
"title": "Enable Debug Log",
"type": "boolean",
"default": false
},
"subscriptionId": {
"title": "Fill in subscription ID",
"type": "string",
"default": null
},
"port": {
"title": "Server port",
"type": "integer",
"default": 8080
},
"passwordType": {
"title": "Password type",
"type": "string",
"enum": [
"sha256",
@ -94,13 +99,7 @@ $(document).ready(function(){
"default": "detector"
}
}
},
"default": [
{
"name": "second",
"path": "__DIR__/videos2"
}
]
},
"pluginKeys": {
"type": "object",
@ -121,14 +120,17 @@ $(document).ready(function(){
"description": "Credentials to connect to where detailed information is stored.",
"properties": {
"host": {
"title": "Hostname / IP",
"type": "string",
"default": "127.0.0.1"
},
"user": {
"title": "Username",
"type": "string",
"default": "majesticflame"
},
"password": {
"title": "Password",
"type": "string",
"default": ""
},
@ -250,31 +252,82 @@ $(document).ready(function(){
},
"windowsTempDir": {
"type": "string",
},
"enableFaceManager": {
"type": "boolean",
"default": false,
"title": "Enable Face Manager",
"description": "Enable / Disable face manager for face recognition plugins in the dashboard."
}
}
};
var configurationTab = $('#config')
var configurationForm = configurationTab.find('form')
const configurationTab = $("#config");
const configurationForm = configurationTab.find("form");
// Set default options
JSONEditor.defaults.options.theme = 'bootstrap3';
JSONEditor.defaults.options.iconlib = 'fontawesome4';
const moduleData = {
endpoint: null,
configurationEditor: null
}
// Initialize the editor
var configurationEditor = new JSONEditor(document.getElementById("configForHumans"),{
theme: 'bootstrap3',
schema: schema
const handleGetConfigurationData = data => {
const dataConfig = data.config;
const dataConfigKeys = Object.keys(dataConfig);
const schemaItemsKeys = Object.keys(schema.properties);
const schemaWithoutData = schemaItemsKeys.filter(
(sk) => !dataConfigKeys.includes(sk)
);
const dataWithoutSchema = dataConfigKeys.filter(
(dk) => !schemaItemsKeys.includes(dk)
);
schemaWithoutData.forEach((sk) => {
const schemaItem = schema.properties[sk];
const defaultConfig = schemaItem.default;
data.config[sk] = defaultConfig;
});
function loadConfiguationIntoEditor(){
$.get(superApiPrefix + $user.sessionKey + '/system/configure',function(data){
configurationEditor.setValue(data.config);
})
if (dataWithoutSchema.length > 0) {
dataWithoutSchema.forEach((dk) => {
const schemaItem = {
title: dk,
options: {
hidden: true,
},
};
schema.properties[dk] = schemaItem;
});
// Set default options
JSONEditor.defaults.options.theme = "bootstrap3";
JSONEditor.defaults.options.iconlib = "fontawesome4";
}
// configurationEditor.on("change", function() {
// // Do something...
// });
const configurationEditor = new JSONEditor(
document.getElementById("configForHumans"), {
schema: schema,
}
);
configurationEditor.setValue(data.config);
moduleData.configurationEditor = configurationEditor;
window.configurationEditor = configurationEditor;
};
const handlePostConfigurationData = data => {
// console.log(data);
}
function loadConfiguationIntoEditor(d) {
moduleData.endpoint = `${superApiPrefix}${$user.sessionKey}/system/configure`;
$.get(moduleData.endpoint, handleGetConfigurationData);
}
var submitConfiguration = function () {
var errors = configurationEditor.validate();
console.log(errors.length)
@ -291,31 +344,33 @@ $(document).ready(function(){
title: lang.Save,
},
clickCallback: function () {
$.post(superApiPrefix + $user.sessionKey + '/system/configure',{
const requestData = {
data: newConfiguration
},function(data){
// console.log(data)
})
};
$.post(moduleData.endpoint, requestData, handlePostConfigurationData);
}
})
} else {
new PNotify({text:'Invalid JSON Syntax, Cannot Save.',type:'error'})
}
new PNotify({ text: 'Invalid JSON Syntax, Cannot Save.', type: 'error' });
}
};
configurationTab.find('.submit').click(function () {
submitConfiguration()
})
submitConfiguration();
});
configurationForm.submit(function (e) {
e.preventDefault()
submitConfiguration()
e.preventDefault();
submitConfiguration();
return false;
})
$.ccio.ws.on('f',function(d){
switch(d.f){
case'init_success':
loadConfiguationIntoEditor()
break;
});
$.ccio.ws.on("f", d => {
if (d.f === "init_success") {
loadConfiguationIntoEditor();
}
})
window.configurationEditor = configurationEditor
});
window.configurationEditor = configurationEditor;
})