diff --git a/definitions/en_CA.js b/definitions/en_CA.js
index 34e96cb8..c2471c4d 100644
--- a/definitions/en_CA.js
+++ b/definitions/en_CA.js
@@ -4654,6 +4654,14 @@ module.exports = function(s,config,lang){
"ONVIF Device Manager": {
"section": "ONVIF Device Manager",
"blocks": {
+ "Notice": {
+ "name": lang["Notice"],
+ "color": "warning",
+ "blockquoteClass": "global_tip",
+ "blockquote": lang.onvifdeviceManagerGlobalTip,
+ "info": [
+ ]
+ },
"Network": {
"name": lang["Network"],
"color": "purple",
@@ -4809,6 +4817,33 @@ module.exports = function(s,config,lang){
"name": lang["Imaging"],
"color": "purple",
"info": [
+ {
+ "field": lang['IrCutFilter'],
+ "name": "IrCutFilter",
+ "placeholder": "",
+ "description": "",
+ "default": "",
+ "example": "",
+ "form-group-class": "imaging-field",
+ "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['Brightness'],
"name": "Brightness",
@@ -4899,33 +4934,6 @@ module.exports = function(s,config,lang){
"form-group-class": "imaging-field",
"possible": ""
},
- {
- "field": lang['IrCutFilter'],
- "name": "IrCutFilter",
- "placeholder": "",
- "description": "",
- "default": "",
- "example": "",
- "form-group-class": "imaging-field",
- "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'],
"name": "Sharpness",
diff --git a/languages/en_CA.json b/languages/en_CA.json
index c9e1279e..7bade3fc 100644
--- a/languages/en_CA.json
+++ b/languages/en_CA.json
@@ -1088,7 +1088,7 @@
"WhiteBalance": "White Balance",
"Sharpness": "Sharpness",
"BacklightCompensation": "Backlight Compensation",
- "IrCutFilter": "IR Cut Filter",
+ "IrCutFilter": "Night Vision",
"UTCDateTime": "Date",
"Exposure": "Exposure",
"Contrast": "Contrast",
@@ -1105,10 +1105,12 @@
"Imaging": "Imaging",
"Hostname": "Hostname",
"Network": "Network",
+ "Notice": "Notice",
"No Sound": "No Sound",
"Notification Sound":"Notification Sound",
"Alert Sound":"Alert Sound",
"Alert Sound Delay":"Alert Sound Delay",
+ "onvifdeviceManagerGlobalTip":"ONVIF allows modifying the camera's internal settings. ONVIF is somewhat of an umbrella term, it can mean many things unfortunately. With that being the case you may see an option in this tool but it may not be editable. This is usually because the camera vendor has not added this method or has deviated from its intended usage. In those cases you will need to enter the camera's configuration through the prescribed method of the camera vendor, this is generally opening the IP Address of the camera in your web browser.",
"powerVideoEventLimit":"You have set a high event limit. Are you sure you want to make this request?",
"There are no monitors that you can view with this account.":"There are no monitors that you can view with this account.",
"Delete Monitors and Files": "Delete Monitors and Files",
diff --git a/libs/onvifDeviceManager/utils.js b/libs/onvifDeviceManager/utils.js
index 035ebf2d..2ba4396a 100644
--- a/libs/onvifDeviceManager/utils.js
+++ b/libs/onvifDeviceManager/utils.js
@@ -340,7 +340,7 @@ const setDateAndTime = async (onvifDevice,options) => {
try{
// const dateInfo = await onvifDevice.services.device.getSystemDateAndTime().GetSystemDateAndTimeResponse.SystemDateAndTime
const onvifResponse = await onvifDevice.services.device.setSystemDateAndTime ({
- DateTimeType: options.dateTimeType ? "NTP" : "Manual",
+ DateTimeType: options.dateTimeType,
DaylightSavings: !options.daylightSavings ? false : true,
// TimeZone: options.timezone,
UTCDateTime: new Date(options.utcDateTime),
diff --git a/web/libs/css/dash2.forms.css b/web/libs/css/dash2.forms.css
index 5f01fc49..c89e5ee6 100644
--- a/web/libs/css/dash2.forms.css
+++ b/web/libs/css/dash2.forms.css
@@ -59,3 +59,22 @@ form.modal-body{margin:0}
.btn-group-justified {display: flex}
.btn-group-justified .btn {flex: 1}
+
+.form-group-group > h4{
+ cursor: pointer;
+}
+.form-group-group > h4 small{
+ cursor: pointer;
+ font-size: 8pt;
+}
+
+.hide-box-wrapper.form-group-group > h4{
+ margin: 0;
+}
+.hide-box-wrapper.form-group-group{
+ padding: 0;
+}
+.hide-box-wrapper .box-wrapper{
+ height: 0;
+ overflow: hidden;
+}
diff --git a/web/libs/css/dash2.monitoredit.css b/web/libs/css/dash2.monitoredit.css
index c713661a..e69de29b 100644
--- a/web/libs/css/dash2.monitoredit.css
+++ b/web/libs/css/dash2.monitoredit.css
@@ -1,17 +0,0 @@
-#add_monitor .form-group-group > h4{
- cursor: pointer;
-}
-#add_monitor .form-group-group > h4 small{
- cursor: pointer;
- font-size: 8pt;
-}
-#add_monitor .hide-box-wrapper.form-group-group > h4{
- margin: 0;
-}
-#add_monitor .hide-box-wrapper.form-group-group{
- padding: 0;
-}
-#add_monitor .hide-box-wrapper .box-wrapper{
- height: 0;
- overflow: hidden;
-}
diff --git a/web/libs/js/dash2.elements.js b/web/libs/js/dash2.elements.js
index b4492aa4..d8dacb6f 100644
--- a/web/libs/js/dash2.elements.js
+++ b/web/libs/js/dash2.elements.js
@@ -818,7 +818,20 @@ $(document).ready(function(e){
e.e.resize()
}
});
-
+ $('body').find('.monitor-section-header').click(function(e){
+ var parent = $(this).parent('.form-group-group')
+ var boxWrapper = parent.attr('id')
+ parent.toggleClass('hide-box-wrapper')
+ var hideBoxWrapper = parent.hasClass('hide-box-wrapper')
+ boxWrappersHidden[boxWrapper] = hideBoxWrapper
+ $.ccio.op('boxWrappersHidden',boxWrappersHidden)
+ });
+ var boxWrappersHidden = $.ccio.op().boxWrappersHidden || {}
+ $.each(boxWrappersHidden,function(boxId,hide){
+ if(hide){
+ $(`#${boxId}`).addClass('hide-box-wrapper')
+ }
+ })
$('body')
.on('click','.scrollTo',function(ee){
ee.preventDefault()
diff --git a/web/libs/js/dash2.monitoredit.js b/web/libs/js/dash2.monitoredit.js
index 4676e099..055bd144 100644
--- a/web/libs/js/dash2.monitoredit.js
+++ b/web/libs/js/dash2.monitoredit.js
@@ -402,7 +402,7 @@ var drawList = function(){
list.html(html)
}
monitorEditorWindow.on('shown.bs.modal', function () {
- triggerSecondaryChangeOnAll()
+ triggerSecondaryHideCheckOnAll()
drawList()
})
$.aM.import = function(options){
@@ -547,7 +547,7 @@ $.aM.import = function(options){
}
})
monitorsForCopy.find('optgroup').html(tmp)
- triggerSecondaryChangeOnAll()
+ triggerSecondaryHideCheckOnAll()
drawList()
}
//parse "Automatic" field in "Input" Section
@@ -757,10 +757,10 @@ var showInputMappingFields = function(showMaps){
}else{
el.hide()
}
- triggerSecondaryChangeOnAll()
+ triggerSecondaryHideCheckOnAll()
drawList()
}
-var triggerSecondaryChange = function(el){
+var triggerSecondaryHideCheck = function(el){
var key = el.attr('selector')
var value = el.val();
var triggerChange = el.attr('triggerchange')
@@ -773,10 +773,10 @@ var triggerSecondaryChange = function(el){
$(triggerChange).trigger('change')
}
}
-var triggerSecondaryChangeOnAll = function(){
+var triggerSecondaryHideCheckOnAll = function(){
monitorEditorWindow.find('[selector]').each(function(){
var el = $(this);
- triggerSecondaryChange(el)
+ triggerSecondaryHideCheck(el)
})
}
monitorStreamChannels.on('click','.delete',function(){
@@ -898,7 +898,7 @@ editorForm.find('[name="type"]').change(function(e){
editorForm.find('[detail]').change($.ccio.form.details)
editorForm.on('change','[selector]',function(){
var el = $(this);
- triggerSecondaryChange(el)
+ triggerSecondaryHideCheck(el)
drawList()
});
editorForm.find('[name="type"]').change(function(e){
@@ -913,20 +913,6 @@ editorForm.find('[name="type"]').change(function(e){
pathField.attr('placeholder','/videostream.cgi?1')
break;
}
-});
-var boxWrappersHidden = $.ccio.op().boxWrappersHidden || {}
-$.each(boxWrappersHidden,function(boxId,hide){
- if(hide){
- $(`#${boxId}`).addClass('hide-box-wrapper')
- }
-})
-monitorEditorWindow.find('.monitor-section-header').click(function(e){
- var parent = $(this).parent('.form-group-group')
- var boxWrapper = parent.attr('id')
- parent.toggleClass('hide-box-wrapper')
- var hideBoxWrapper = parent.hasClass('hide-box-wrapper')
- boxWrappersHidden[boxWrapper] = hideBoxWrapper
- $.ccio.op('boxWrappersHidden',boxWrappersHidden)
});
$.aM.connectedDetectorPlugins = {}
$.aM.addDetectorPlugin = function(name,d){
@@ -950,7 +936,7 @@ monitorEditorWindow.find('.monitor-section-header').click(function(e){
$('.shinobi-detector_name').empty()
$('.shinobi-detector_plug').hide()
$('.shinobi-detector-invert').show()
- triggerSecondaryChangeOnAll()
+ triggerSecondaryHideCheckOnAll()
drawList()
}else{
var pluginTitle = []
@@ -966,7 +952,7 @@ monitorEditorWindow.find('.monitor-section-header').click(function(e){
$('.shinobi-detector-invert').hide()
$('.shinobi-detector_name').text(pluginTitle.join(', '))
if(pluginNotice.length > 0)$('.shinobi-detector-msg').text(pluginNotice.join('
'))
- triggerSecondaryChangeOnAll()
+ triggerSecondaryHideCheckOnAll()
drawList()
}
}
diff --git a/web/pages/blocks/onvifDeviceManager.ejs b/web/pages/blocks/onvifDeviceManager.ejs
index 8a4d552a..c41a1f4d 100644
--- a/web/pages/blocks/onvifDeviceManager.ejs
+++ b/web/pages/blocks/onvifDeviceManager.ejs
@@ -13,238 +13,224 @@