onvifDeviceManager : populate Imaging, minor cleanup

mitchross-coral-installer-update
Moe Alam 2020-12-04 09:41:49 -08:00
parent 115ef947e6
commit b4fac64c3c
4 changed files with 38 additions and 7 deletions

View File

@ -4897,7 +4897,24 @@ module.exports = function(s,config,lang){
"default": "",
"example": "",
"form-group-class": "imaging-field",
"possible": ""
"fieldType": "select",
"possible": [
{
"name": lang.On,
"value": "ON",
"info": "Enable Ir cut fiter. Typically Day mode."
},
{
"name": lang.Off,
"value": "OFF",
"info": "Disable Ir cut fiter. Typically Night mode."
},
{
"name": lang.Auto,
"value": "AUTO",
"info": "Ir cut filter is automatically activated by the device."
},
]
},
{
"field": lang['Sharpness'],
@ -4989,6 +5006,7 @@ module.exports = function(s,config,lang){
{
"field": lang['Quality'],
"name": "Quality",
"fieldType": "number",
"placeholder": "",
"description": "",
"default": "",
@ -4998,6 +5016,7 @@ module.exports = function(s,config,lang){
{
"field": lang['FrameRateLimit'],
"name": "RateControl:FrameRateLimit",
"fieldType": "number",
"placeholder": "",
"description": "",
"default": "",
@ -5007,6 +5026,7 @@ module.exports = function(s,config,lang){
{
"field": lang['EncodingInterval'],
"name": "RateControl:EncodingInterval",
"fieldType": "number",
"placeholder": "",
"description": "",
"default": "",

View File

@ -1096,6 +1096,8 @@
"MaxExposureTime": "Maximum Exposure Time",
"MinExposureTime": "Minimum Exposure Time",
"ColorSaturation": "Color Saturation",
"On": "On",
"Off": "Off",
"Encoding": "Encoding",
"Brightness": "Brightness",
"Resolution": "Resolution",

View File

@ -140,10 +140,10 @@ const getDeviceInformation = async (onvifDevice,options) => {
const imagingSettings = (await runOnvifMethod({
device: onvifDevice,
action: 'getImagingSettings',
service: 'media',
service: 'imaging',
options: {"ConfigurationToken":"__CURRENT_TOKEN"}
}));
response.imagingSettings = imagingSettings.responseFromDevice ? imagingSettings.responseFromDevice : imagingSettings
response.imagingSettings = imagingSettings.responseFromDevice ? imagingSettings.responseFromDevice.GetImagingSettingsResponse.ImagingSettings : imagingSettings
}
}catch(err){
response.ok = false

View File

@ -43,6 +43,7 @@ $(document).ready(function(){
setIntegerGuider('name="H264:GovLength"',encoderOptions.H264.GovLengthRange)
setIntegerGuider('name="RateControl:FrameRateLimit"',encoderOptions.H264.FrameRateRange)
setIntegerGuider('name="RateControl:EncodingInterval"',encoderOptions.H264.EncodingIntervalRange)
setIntegerGuider('name="Quality"',encoderOptions.QualityRange)
}
if(onvifData.videoEncoders){
loadedVideoEncoders = {}
@ -83,9 +84,10 @@ $(document).ready(function(){
formFields["setHostname:name"] = onvifData.hostname
}
if(onvifData.dns && onvifData.dns.DNSManual){
var dnsList = onvifData.dns.DNSManual.map((item) => {
var dnsList = onvifData.dns.DNSManual
dnsList = typeof dnsList === 'array' ? dnsList.map((item) => {
return item.IPv4Address
}).join(',')
}).join(',') : typeof dnsList === 'object' ? dnsList.IPv4Address : dnsList
formFields["setDNS:dns"] = dnsList
}
if(onvifData.ntp && onvifData.ntp.NTPManual){
@ -102,7 +104,14 @@ $(document).ready(function(){
setFieldsFromOnvifKeys(onvifData.videoEncoders[0])
}
if(onvifData.imagingSettings && onvifData.imagingSettings.ok !== false){
$('#Imaging').find('.form-group').hide()
setFieldsFromOnvifKeys(onvifData.imagingSettings)
$.each(onvifData.imagingSettings,function(key){
$('#Imaging').find(`[name="${key}"]`).parents('.form-group').show()
})
$('#Imaging').show()
}else{
$('#Imaging').hide()
}
Object.keys(formFields).forEach((key) => {
var value = formFields[key]
@ -113,7 +122,7 @@ $(document).ready(function(){
var formFields = converObjectKeysToFormFieldName(encoder)
Object.keys(formFields).forEach((key) => {
var value = formFields[key]
blockForm.find(`[name="${key}"]`).val(value)
blockForm.find(`[name="${key}"]`).val(value).parents('.form-group')
})
}
var getUIFieldValues = function(monitorId){
@ -131,7 +140,7 @@ $(document).ready(function(){
getUIFieldValues(monitorId)
})
blockForm.on('change','[name="videoToken"]',function(){
selectVideoEncoder(loadedVideoEncoders[$(this).val()])
setFieldsFromOnvifKeys(loadedVideoEncoders[$(this).val()])
})
blockForm.on('change','[detail="Resolution"]',function(){
var resolution = $(this).val().split('x')