@c8y/ng1-modules 1021.75.4 → 1021.75.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){var r;if(e)return"string"==typeof e?_arrayLikeToArray(e,t):"Map"===(r="Object"===(r={}.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:r)||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_arrayLikeToArray(e,t):void 0}function _iterableToArray(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}(()=>{function e(a,t,e,c,r,o,u,n){var i="c8y_IsDevice",s=["c8y_Dashboard","c8y_Report","c8y_Kpi","c8y_ExportConfiguration","c8y_IsBinary","c8y_NoDevice","c8y_IsDeviceGroup","c8y_Group","com_cumulocity_model_smartrest_SmartRestTemplate","com_cumulocity_model_devicesimulator_SensorTemplate","_attachments","c8y_IsDeviceType","c8y_objectmapping_ObjectMapping"],l=["c8y_ConfigurationDump","c8y_Firmware","c8y_SmartRule","c8y_Software","impact_object_mapping","c8y_UserPreference","c8y_TenantPolicy","c8y_PrivateSmartRule","c8y_SmartRest2Template","c8y_JsonSchema","c8y_DeviceShellTemplate","c8y_DemoStatus","c8y_DataBroker","c8y_Application_","brandingVariables","c8y_DeviceSimulator","c8y_CertificateMetadata","lwm2m_post_registration","c8y_microservice_manifest_"],y=["c8y_Network.c8y_LAN.ip","c8y_ModbusDevice.ipAddress"],d={},f={CONNECTED:{icon:"exchange",cls:"statusOk"},AVAILABLE:{icon:"check-circle",cls:"statusOk"},MAINTENANCE:{icon:"wrench",cls:"statusAlert"},UNAVAILABLE:{icon:"exclamation-circle",cls:"statusNok"},UNKNOWN:{icon:"circle",cls:"statusUnknown"},NOT_MONITORED:{icon:"circle",cls:"statusUnknown"}},p={true:{icon:"check-circle",color:"green",tooltipText:"Valid"},false:{icon:"exclamation-circle",color:"red",tooltipText:"Invalid"},null:{icon:"circle",color:"#f3f3f3",tooltipText:"Unknown"}};function v(e){return _.assign({skipChildrenNames:!0,fragmentType:i},e||{})}var h=c.createListFilter(m);function m(e){return!!e[i]}var g=c.createListFilter(A);function A(e){return m(e)||!((e=>{var t=_.get(e,"type","");return _.some(l,function(e){return t.includes(e)})})(e=e)||(t=>_.find(s,function(e){return!_.isUndefined(t[e])}))(e))}function b(e){e=_.cloneDeep(e);return e[i]=!0,u.create(e)}function D(e){var t=e&&e.c8y_RequiredAvailability,e=e&&e.c8y_Availability;return e&&e.status||(t?"UNKNOWN":"NOT_MONITORED")}function I(e){return e.c8y_Availability&&e.c8y_Availability.lastMessage&&e.c8y_RequiredAvailability&&e.c8y_RequiredAvailability.responseInterval?0<moment().valueOf()-moment(e.c8y_Availability.lastMessage).valueOf()-6e4*e.c8y_RequiredAvailability.responseInterval:null}function T(e){var t=e;return t=t&&(t.id||t),S.cache&&delete S.cache[t],u.update(e)}function C(e,t){t=_.assign(t||{},{withParents:!0}),t=u.detail(e,t);return S.cache&&S.cache.set(e&&(e.id||e),t),t}var S=_.memoize(C,function(e){e=e&&(e.id||e);return C(e),e});function w(e){return!_.isUndefined(e[i])}function O(e){return 0<e.deviceParents.references.length}function N(e){return e&&e.c8y_RequiredAvailability&&e.c8y_RequiredAvailability.responseInterval&&0!==parseInt(e.c8y_RequiredAvailability.responseInterval,10)}return _.assign(_.cloneDeep(u),{list:function(e){var e=v(e),t=u.list(e);return t=e.text?t.then(h):t},searchIncludingChildDevices:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},t=_.omit(v(e),["fragmentType","query"]);return(e.query?u.listQuery(e.query,t):u.list(t)).then(g)},save:function(e){return(e.id?T:b)(e)},update:T,detail:C,listChildren:function(e){return e=e&&(e.id||e),a.all([u.childDevices(e),u.childAssets(e)]).then(_.flattenDeep)},detailCached:S,create:b,removeWithUser:function(e){return C(e).then(function(e){var e=e.data,t=e.owner;e.c8y_IsDevice&&t&&t.match(/^device_/);return e}).then(function(){return u.remove(e)})},supportsOperation:function(e,t){return e=e&&e.c8y_SupportedOperations,!!(_.isArray(e)&&-1<e.indexOf(t))},getSupportedOperations:function(e){var t=[];return t=_.isArray(e.c8y_SupportedOperations)?e.c8y_SupportedOperations:t},getChildren:function(e){var t=e.childAssets?e.childAssets.references:[],e=e.childDevices?e.childDevices.references:[],t=_.map(_.uniqBy(_.union(t,e),"id"),function(e){return C(e.managedObject.id)});return a.all(t).then(function(e){return _.map(e,function(e){return e.data})})},statusIcon:function(e){return f[D(e)].icon},statusClass:function(e){return f[D(e)].cls},parseAvailability:D,getCount:function(e){return e=v(e),u.getCount(e)},getChildDevicesCount:function(e){return u.children(e,"childDevices",{skipDetail:!0,params:{pageSize:1,withTotalPages:!0,withChildren:!1}}).then(function(e){return e.data.statistics.totalPages})},isDevice:w,isChildDevice:O,isDeviceOrChildDevice:function(e){return w(e)||O(e)},model:function(e){return(e=e&&e.c8y_Hardware)&&e.model},serial:function(e){return(e=e&&e.c8y_Hardware)&&e.serialNumber},availabilityTooltip:function(e){return(e=(e=e.c8y_Availability)&&e.lastMessage&&t("absoluteDate")(e.lastMessage))?n.getString("Last message: {{date}}",{date:e}):n.getString("Connection not monitored")},properName:function(e){return"".concat(_.find(_.at(e,["name","id"]))||n.getString("<no name>"))},getIPAddress:function(e){return _.find(_.at(e,y))},canSwitchResponseInterval:N,switchResponseInterval:function(e){var t={id:e.id,c8y_RequiredAvailability:{}};return N(e)&&(t.c8y_RequiredAvailability.responseInterval=-e.c8y_RequiredAvailability.responseInterval),u.update(t)},isLastValidMessage:I,lastValidMessageColor:function(e){return p[I(e)].color},lastValidMessageTooltip:function(e){return p[I(e)].tooltipText},lastValidMessageIcon:function(e){return p[I(e)].icon},getBreadcrumbsData:function(e){function i(r,n,e){var t;return e?(n.unshift({label:(t=e).name||"Device ".concat(t.id),path:(e=>"#/".concat(o.isGroup(e)?"group":"device","/").concat(e.id))(t),icon:(e=>(e=_.compact([w(e)?"hdd-o":"",o.isGroup(e)?o.getIconSpecs(e).iconOpen:"","c8y-group-open"]),_.first(e)))(t),isDevice:w(t),isGroup:o.isGroup(t),id:t.id}),a.all([u.directParentDevices(e),u.directParentAssets(e)]).then(function(e){var t,e=[].concat(_toConsumableArray(e[0]),_toConsumableArray(e[1])).filter(function(e){var t=e.id;return!n.some(function(e){e=e.id;return t===e})});return 0===e.length?(r.push(n),a.when(r)):(t=[],_.forEach(e,function(e){t.push(u.detail(e.id,{withParents:!0}).then(c.getResData).then(function(e){return a.when(i(r,_.cloneDeep(n),e))}))}),a.all(t).then(function(){return r}))})):a.when(r)}var r,t=null;return c.hasId(e)&&(r=c.getId(e),d[r]&&(t=a.when(d[r])),e=S(r).then(c.getResData).then(function(e){return i([],[],e).then(function(e){var t=e,t=_.filter(e,function(e){return _.some(_.without(e,e[e.length-1]),function(e){return e.isDevice||e.isGroup})});return t=_.sortBy(t,function(e){return-1*e.length}),t=_.forEach(t,function(e){return e.pop()}),d[r]=t})}),t=t||e),t||a.when([])},isProbablyDevice:A,clearBreadcrumbsCache:function(e){e=c.getId(e),d[e]=null}})}e.$inject=["$q","$filter","$cacheFactory","c8yBase","c8yUser","c8yGroups","c8yInventory","gettextCatalog"],angular.module("c8y.core").factory("c8yDevices",e)})();
1
+ function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){var r;if(e)return"string"==typeof e?_arrayLikeToArray(e,t):"Map"===(r="Object"===(r={}.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:r)||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_arrayLikeToArray(e,t):void 0}function _iterableToArray(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}(()=>{function e(a,t,e,c,r,o,u,n){var i="c8y_IsDevice",s=["c8y_Dashboard","c8y_Report","c8y_Kpi","c8y_ExportConfiguration","c8y_IsBinary","c8y_NoDevice","c8y_IsDeviceGroup","c8y_Group","com_cumulocity_model_smartrest_SmartRestTemplate","com_cumulocity_model_devicesimulator_SensorTemplate","_attachments","c8y_IsDeviceType","c8y_objectmapping_ObjectMapping"],l=["c8y_ConfigurationDump","c8y_Firmware","c8y_SmartRule","c8y_Software","impact_object_mapping","c8y_UserPreference","c8y_TenantPolicy","c8y_PrivateSmartRule","c8y_SmartRest2Template","c8y_JsonSchema","c8y_DeviceShellTemplate","c8y_DemoStatus","c8y_DataBroker","c8y_Application_","brandingVariables","c8y_DeviceSimulator","c8y_CertificateMetadata","lwm2m_post_registration","c8y_microservice_manifest_"],y=["c8y_Network.c8y_LAN.ip","c8y_ModbusDevice.ipAddress"],d={},f={CONNECTED:{icon:"exchange",cls:"statusOk"},AVAILABLE:{icon:"check-circle",cls:"statusOk"},MAINTENANCE:{icon:"wrench",cls:"statusAlert"},UNAVAILABLE:{icon:"exclamation-circle",cls:"statusNok"},UNKNOWN:{icon:"circle",cls:"statusUnknown"},NOT_MONITORED:{icon:"circle",cls:"statusUnknown"}},p={true:{icon:"check-circle",color:"green",tooltipText:"Valid"},false:{icon:"exclamation-circle",color:"red",tooltipText:"Invalid"},null:{icon:"circle",color:"#f3f3f3",tooltipText:"Unknown"}};function v(e){return _.assign({skipChildrenNames:!0,fragmentType:i},e||{})}var h=c.createListFilter(m);function m(e){return!!e[i]}var g=c.createListFilter(A);function A(e){return m(e)||!((e=>{var t=_.get(e,"type","");return _.some(l,function(e){return t.includes(e)})})(e=e)||(t=>_.find(s,function(e){return!_.isUndefined(t[e])}))(e))}function b(e){e=_.cloneDeep(e);return e[i]=!0,u.create(e)}function D(e){var t=e&&e.c8y_RequiredAvailability,e=e&&e.c8y_Availability;return e&&e.status||(t?"UNKNOWN":"NOT_MONITORED")}function I(e){return e.c8y_Availability&&e.c8y_Availability.lastMessage&&e.c8y_RequiredAvailability&&e.c8y_RequiredAvailability.responseInterval?0<moment().valueOf()-moment(e.c8y_Availability.lastMessage).valueOf()-6e4*e.c8y_RequiredAvailability.responseInterval:null}function T(e){var t=e;return t=t&&(t.id||t),S.cache&&delete S.cache[t],u.update(e)}function C(e,t){t=_.assign(t||{},{withParents:!0}),t=u.detail(e,t);return S.cache&&S.cache.set(e&&(e.id||e),t),t}var S=_.memoize(C,function(e){e=e&&(e.id||e);return C(e),e});function w(e){return!_.isUndefined(e[i])}function O(e){return 0<e.deviceParents.references.length}function N(e){return e&&e.c8y_RequiredAvailability&&e.c8y_RequiredAvailability.responseInterval&&0!==parseInt(e.c8y_RequiredAvailability.responseInterval,10)}return _.assign(_.cloneDeep(u),{list:function(e){var e=v(e),t=u.list(e);return t=e.text?t.then(h):t},searchIncludingChildDevices:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},t=_.omit(v(e),["fragmentType","query"]);return(e.query?u.listQuery(e.query,t):u.list(t)).then(g)},save:function(e){return(e.id?T:b)(e)},update:T,detail:C,listChildren:function(e){return e=e&&(e.id||e),a.all([u.childDevices(e),u.childAssets(e)]).then(_.flattenDeep)},detailCached:S,create:b,removeWithUser:function(e){return C(e).then(function(e){var e=e.data,t=e.owner;e.c8y_IsDevice&&t&&t.match(/^device_/);return e}).then(function(){return u.remove(e)})},supportsOperation:function(e,t){return e=e&&e.c8y_SupportedOperations,!!(_.isArray(e)&&-1<e.indexOf(t))},getSupportedOperations:function(e){var t=[];return t=_.isArray(e.c8y_SupportedOperations)?e.c8y_SupportedOperations:t},getChildren:function(e){var t=e.childAssets?e.childAssets.references:[],e=e.childDevices?e.childDevices.references:[],t=_.map(_.uniqBy(_.union(t,e),"id"),function(e){return C(e.managedObject.id)});return a.all(t).then(function(e){return _.map(e,function(e){return e.data})})},statusIcon:function(e){return f[D(e)].icon},statusClass:function(e){return f[D(e)].cls},parseAvailability:D,getCount:function(e){return e=v(e),u.getCount(e)},getChildDevicesCount:function(e){return u.children(e,"childDevices",{skipDetail:!0,params:{pageSize:1,withTotalPages:!0,withChildren:!1}}).then(function(e){return e.data.statistics.totalPages})},isDevice:w,isChildDevice:O,isDeviceOrChildDevice:function(e){return w(e)||O(e)},model:function(e){return(e=e&&e.c8y_Hardware)&&e.model},serial:function(e){return(e=e&&e.c8y_Hardware)&&e.serialNumber},availabilityTooltip:function(e){return(e=(e=e.c8y_Availability)&&e.lastMessage&&t("absoluteDate")(e.lastMessage))?n.getString("Last message: {{date}}",{date:e}):n.getString("Connection not monitored")},properName:function(e){return"".concat(_.find(_.at(e,["name","id"]))||n.getString("<no name>"))},getIPAddress:function(e){return _.find(_.at(e,y))},canSwitchResponseInterval:N,switchResponseInterval:function(e){var t={id:e.id,c8y_RequiredAvailability:null};return N(e)&&(t.c8y_RequiredAvailability.responseInterval=-e.c8y_RequiredAvailability.responseInterval),u.update(t)},isLastValidMessage:I,lastValidMessageColor:function(e){return p[I(e)].color},lastValidMessageTooltip:function(e){return p[I(e)].tooltipText},lastValidMessageIcon:function(e){return p[I(e)].icon},getBreadcrumbsData:function(e){function i(r,n,e){var t;return e?(n.unshift({label:(t=e).name||"Device ".concat(t.id),path:(e=>"#/".concat(o.isGroup(e)?"group":"device","/").concat(e.id))(t),icon:(e=>(e=_.compact([w(e)?"hdd-o":"",o.isGroup(e)?o.getIconSpecs(e).iconOpen:"","c8y-group-open"]),_.first(e)))(t),isDevice:w(t),isGroup:o.isGroup(t),id:t.id}),a.all([u.directParentDevices(e),u.directParentAssets(e)]).then(function(e){var t,e=[].concat(_toConsumableArray(e[0]),_toConsumableArray(e[1])).filter(function(e){var t=e.id;return!n.some(function(e){e=e.id;return t===e})});return 0===e.length?(r.push(n),a.when(r)):(t=[],_.forEach(e,function(e){t.push(u.detail(e.id,{withParents:!0}).then(c.getResData).then(function(e){return a.when(i(r,_.cloneDeep(n),e))}))}),a.all(t).then(function(){return r}))})):a.when(r)}var r,t=null;return c.hasId(e)&&(r=c.getId(e),d[r]&&(t=a.when(d[r])),e=S(r).then(c.getResData).then(function(e){return i([],[],e).then(function(e){var t=e,t=_.filter(e,function(e){return _.some(_.without(e,e[e.length-1]),function(e){return e.isDevice||e.isGroup})});return t=_.sortBy(t,function(e){return-1*e.length}),t=_.forEach(t,function(e){return e.pop()}),d[r]=t})}),t=t||e),t||a.when([])},isProbablyDevice:A,clearBreadcrumbsCache:function(e){e=c.getId(e),d[e]=null}})}e.$inject=["$q","$filter","$cacheFactory","c8yBase","c8yUser","c8yGroups","c8yInventory","gettextCatalog"],angular.module("c8y.core").factory("c8yDevices",e)})();
@@ -4856,7 +4856,7 @@ msgid "Data usage (MB)"
4856
4856
  msgstr "Datenverbrauch (MB)"
4857
4857
 
4858
4858
  msgid "DataHub"
4859
- msgstr ""
4859
+ msgstr "DataHub"
4860
4860
 
4861
4861
  msgid "DataHub Administrator"
4862
4862
  msgstr "DataHub-Administrator"
@@ -11221,7 +11221,7 @@ msgid "OBJECT ARRAY"
11221
11221
  msgstr "OBJEKT ARRAY"
11222
11222
 
11223
11223
  msgid "OFFICIAL`Package maintained by Cumulocity.`"
11224
- msgstr ""
11224
+ msgstr "OFFIZIELL"
11225
11225
 
11226
11226
  msgid "OFF`status of an option, e.g. realtime`"
11227
11227
  msgstr "AUS"
@@ -11761,7 +11761,7 @@ msgid "Package limit exceeded"
11761
11761
  msgstr "Paketgrenzwert überschritten"
11762
11762
 
11763
11763
  msgid "Package maintained by Cumulocity."
11764
- msgstr ""
11764
+ msgstr "Paket wird von Cumulocity gepflegt."
11765
11765
 
11766
11766
  msgid "Package maintainer unknown."
11767
11767
  msgstr "Paket-Maintainer unbekannt."
@@ -4862,7 +4862,7 @@ msgid "Data usage (MB)"
4862
4862
  msgstr "Uso de datos (MB)"
4863
4863
 
4864
4864
  msgid "DataHub"
4865
- msgstr ""
4865
+ msgstr "DataHub"
4866
4866
 
4867
4867
  msgid "DataHub Administrator"
4868
4868
  msgstr "Administrador de DataHub"
@@ -11236,7 +11236,7 @@ msgid "OBJECT ARRAY"
11236
11236
  msgstr "ARREGLO DE OBJETOS"
11237
11237
 
11238
11238
  msgid "OFFICIAL`Package maintained by Cumulocity.`"
11239
- msgstr ""
11239
+ msgstr "OFICIAL"
11240
11240
 
11241
11241
  msgid "OFF`status of an option, e.g. realtime`"
11242
11242
  msgstr "DESACTIVADO"
@@ -11777,7 +11777,7 @@ msgid "Package limit exceeded"
11777
11777
  msgstr "Límite de paquete sobrepasado"
11778
11778
 
11779
11779
  msgid "Package maintained by Cumulocity."
11780
- msgstr ""
11780
+ msgstr "Paquete mantenido por Cumulocity."
11781
11781
 
11782
11782
  msgid "Package maintainer unknown."
11783
11783
  msgstr "Encargado de mantenimiento del paquete desconocido."
@@ -4861,7 +4861,7 @@ msgid "Data usage (MB)"
4861
4861
  msgstr "Utilisation des données (Mo)"
4862
4862
 
4863
4863
  msgid "DataHub"
4864
- msgstr ""
4864
+ msgstr "DataHub"
4865
4865
 
4866
4866
  msgid "DataHub Administrator"
4867
4867
  msgstr "Administrateur DataHub"
@@ -11238,7 +11238,7 @@ msgid "OBJECT ARRAY"
11238
11238
  msgstr "TABLEAU D'OBJET"
11239
11239
 
11240
11240
  msgid "OFFICIAL`Package maintained by Cumulocity.`"
11241
- msgstr ""
11241
+ msgstr "OFFICIEL"
11242
11242
 
11243
11243
  msgid "OFF`status of an option, e.g. realtime`"
11244
11244
  msgstr "OFF"
@@ -11779,7 +11779,7 @@ msgid "Package limit exceeded"
11779
11779
  msgstr "Limite du package dépassée"
11780
11780
 
11781
11781
  msgid "Package maintained by Cumulocity."
11782
- msgstr ""
11782
+ msgstr "Package maintenu par Cumulocity."
11783
11783
 
11784
11784
  msgid "Package maintainer unknown."
11785
11785
  msgstr "Responsable de la maintenance du package inconnu."
@@ -4843,7 +4843,7 @@ msgid "Data usage (MB)"
4843
4843
  msgstr "데이터 사용량(MB)"
4844
4844
 
4845
4845
  msgid "DataHub"
4846
- msgstr ""
4846
+ msgstr "DataHub"
4847
4847
 
4848
4848
  msgid "DataHub Administrator"
4849
4849
  msgstr "DataHub Administrator"
@@ -11217,7 +11217,7 @@ msgid "OBJECT ARRAY"
11217
11217
  msgstr "개체 배열"
11218
11218
 
11219
11219
  msgid "OFFICIAL`Package maintained by Cumulocity.`"
11220
- msgstr ""
11220
+ msgstr "공식"
11221
11221
 
11222
11222
  msgid "OFF`status of an option, e.g. realtime`"
11223
11223
  msgstr "끄기"
@@ -11758,7 +11758,7 @@ msgid "Package limit exceeded"
11758
11758
  msgstr "패키지 한도 초과됨"
11759
11759
 
11760
11760
  msgid "Package maintained by Cumulocity."
11761
- msgstr ""
11761
+ msgstr "패키지는 Cumulocity에서 관리합니다."
11762
11762
 
11763
11763
  msgid "Package maintainer unknown."
11764
11764
  msgstr "패키지 유지 관리자를 알 수 없습니다."
@@ -4862,7 +4862,7 @@ msgid "Data usage (MB)"
4862
4862
  msgstr "Gegevensgebruik (MB)"
4863
4863
 
4864
4864
  msgid "DataHub"
4865
- msgstr ""
4865
+ msgstr "DataHub"
4866
4866
 
4867
4867
  msgid "DataHub Administrator"
4868
4868
  msgstr "DataHub-administrator"
@@ -11235,7 +11235,7 @@ msgid "OBJECT ARRAY"
11235
11235
  msgstr "OBJECT ARRAY"
11236
11236
 
11237
11237
  msgid "OFFICIAL`Package maintained by Cumulocity.`"
11238
- msgstr ""
11238
+ msgstr "OFFICIEEL"
11239
11239
 
11240
11240
  msgid "OFF`status of an option, e.g. realtime`"
11241
11241
  msgstr "UIT"
@@ -11776,7 +11776,7 @@ msgid "Package limit exceeded"
11776
11776
  msgstr "Pakketlimiet overschreden"
11777
11777
 
11778
11778
  msgid "Package maintained by Cumulocity."
11779
- msgstr ""
11779
+ msgstr "Pakket onderhouden door Cumulocity."
11780
11780
 
11781
11781
  msgid "Package maintainer unknown."
11782
11782
  msgstr "Onderhouden van pakket onbekend."
@@ -4903,7 +4903,7 @@ msgid "Data usage (MB)"
4903
4903
  msgstr "Użycie danych (MB)"
4904
4904
 
4905
4905
  msgid "DataHub"
4906
- msgstr ""
4906
+ msgstr "DataHub"
4907
4907
 
4908
4908
  msgid "DataHub Administrator"
4909
4909
  msgstr "Administrator DataHub"
@@ -11283,7 +11283,7 @@ msgid "OBJECT ARRAY"
11283
11283
  msgstr "TABLICA OBIEKTÓW"
11284
11284
 
11285
11285
  msgid "OFFICIAL`Package maintained by Cumulocity.`"
11286
- msgstr ""
11286
+ msgstr "OFICJALNE"
11287
11287
 
11288
11288
  msgid "OFF`status of an option, e.g. realtime`"
11289
11289
  msgstr "WYŁĄCZONE"
@@ -11824,7 +11824,7 @@ msgid "Package limit exceeded"
11824
11824
  msgstr "Przekroczono limit pakietów"
11825
11825
 
11826
11826
  msgid "Package maintained by Cumulocity."
11827
- msgstr ""
11827
+ msgstr "Pakiet utrzymywany przez Cumulocity."
11828
11828
 
11829
11829
  msgid "Package maintainer unknown."
11830
11830
  msgstr "Opiekun pakietu jest nieznany."
@@ -4862,7 +4862,7 @@ msgid "Data usage (MB)"
4862
4862
  msgstr "Uso de dados (MB)"
4863
4863
 
4864
4864
  msgid "DataHub"
4865
- msgstr ""
4865
+ msgstr "DataHub"
4866
4866
 
4867
4867
  msgid "DataHub Administrator"
4868
4868
  msgstr "Administrador do DataHub"
@@ -11236,7 +11236,7 @@ msgid "OBJECT ARRAY"
11236
11236
  msgstr "MATRIZ DE OBJETO"
11237
11237
 
11238
11238
  msgid "OFFICIAL`Package maintained by Cumulocity.`"
11239
- msgstr ""
11239
+ msgstr "OFICIAL"
11240
11240
 
11241
11241
  msgid "OFF`status of an option, e.g. realtime`"
11242
11242
  msgstr "DESLIGADO"
@@ -11777,7 +11777,7 @@ msgid "Package limit exceeded"
11777
11777
  msgstr "Limite do pacote excedido"
11778
11778
 
11779
11779
  msgid "Package maintained by Cumulocity."
11780
- msgstr ""
11780
+ msgstr "Pacote mantido por Cumulocity."
11781
11781
 
11782
11782
  msgid "Package maintainer unknown."
11783
11783
  msgstr "Mantenedor de pacote desconhecido."
@@ -4844,7 +4844,7 @@ msgid "Data usage (MB)"
4844
4844
  msgstr "数据使用 (MB)"
4845
4845
 
4846
4846
  msgid "DataHub"
4847
- msgstr ""
4847
+ msgstr "DataHub"
4848
4848
 
4849
4849
  msgid "DataHub Administrator"
4850
4850
  msgstr "DataHub 管理员"
@@ -11218,7 +11218,7 @@ msgid "OBJECT ARRAY"
11218
11218
  msgstr "对象数组"
11219
11219
 
11220
11220
  msgid "OFFICIAL`Package maintained by Cumulocity.`"
11221
- msgstr ""
11221
+ msgstr "官方"
11222
11222
 
11223
11223
  msgid "OFF`status of an option, e.g. realtime`"
11224
11224
  msgstr "关"
@@ -11759,7 +11759,7 @@ msgid "Package limit exceeded"
11759
11759
  msgstr "已超过包限制"
11760
11760
 
11761
11761
  msgid "Package maintained by Cumulocity."
11762
- msgstr ""
11762
+ msgstr "包由 Cumulocity 维护。"
11763
11763
 
11764
11764
  msgid "Package maintainer unknown."
11765
11765
  msgstr "包维护者未知。"
@@ -4844,7 +4844,7 @@ msgid "Data usage (MB)"
4844
4844
  msgstr "数据使用 (MB)"
4845
4845
 
4846
4846
  msgid "DataHub"
4847
- msgstr ""
4847
+ msgstr "DataHub"
4848
4848
 
4849
4849
  msgid "DataHub Administrator"
4850
4850
  msgstr "DataHub 管理员"
@@ -11218,7 +11218,7 @@ msgid "OBJECT ARRAY"
11218
11218
  msgstr "对象数组"
11219
11219
 
11220
11220
  msgid "OFFICIAL`Package maintained by Cumulocity.`"
11221
- msgstr ""
11221
+ msgstr "官方"
11222
11222
 
11223
11223
  msgid "OFF`status of an option, e.g. realtime`"
11224
11224
  msgstr "关"
@@ -11759,7 +11759,7 @@ msgid "Package limit exceeded"
11759
11759
  msgstr "已超过包限制"
11760
11760
 
11761
11761
  msgid "Package maintained by Cumulocity."
11762
- msgstr ""
11762
+ msgstr "包由 Cumulocity 维护。"
11763
11763
 
11764
11764
  msgid "Package maintainer unknown."
11765
11765
  msgstr "包維護者未知。"
@@ -13,7 +13,6 @@
13
13
  "core/device-protocol-opcua",
14
14
  "core/device-protocol-profibus",
15
15
  "core/device-protocol-sigfox",
16
- "core/device-protocol-snmp",
17
16
  "core/device-protocol-lora",
18
17
  "core/device-protocol-lpwan"
19
18
  ],
@@ -25,7 +24,6 @@
25
24
  "parsers/device-type-parser.service.js",
26
25
  "parsers/device-type-parser-json.service.js",
27
26
  "parsers/device-type-parser-eds.service.js",
28
- "parsers/device-type-parser-mib.service.js",
29
27
 
30
28
  "device-type-list.component.js",
31
29
 
@@ -60,7 +58,6 @@
60
58
  "parsers/device-type-parser.service.js",
61
59
  "parsers/device-type-parser-json.service.js",
62
60
  "parsers/device-type-parser-eds.service.js",
63
- "parsers/device-type-parser-mib.service.js",
64
61
 
65
62
  "device-type-list.component.js",
66
63
 
@@ -1 +1 @@
1
- (()=>{function c(c,e,y,s){c.parsers.push(e),c.parsers.push(y),c.parsers.push(s)}c.$inject=["c8yDeviceTypeParser","c8yDeviceTypeParserJSON","c8yDeviceTypeParserEDS","c8yDeviceTypeParserMIB"],angular.module("c8y.deviceDatabase4",["c8y.actility","c8y.lora","c8y.canbus","c8y.canopen","c8y.modbus","c8y.opcua","c8y.profibus","c8y.sigfox","c8y.snmp","c8y.lpwan"]).run(c)})();
1
+ (()=>{function c(c,e,y){c.parsers.push(e),c.parsers.push(y)}c.$inject=["c8yDeviceTypeParser","c8yDeviceTypeParserJSON","c8yDeviceTypeParserEDS"],angular.module("c8y.deviceDatabase4",["c8y.actility","c8y.lora","c8y.canbus","c8y.canopen","c8y.modbus","c8y.opcua","c8y.profibus","c8y.sigfox","c8y.lpwan"]).run(c)})();
@@ -1 +1 @@
1
- (()=>{function e(a,n,i,t,r){var s,e,l=this,c=60,d={c8yMax:{required_availability:r("Required interval must be a number and cannot be longer than 32767 minutes.")},c8yMin:{required_availability:r("Required interval must be a positive number.")}};function v(){(e=l.device).c8y_RequiredAvailability=e.c8y_RequiredAvailability||{},e.c8y_RequiredAvailability&&e.c8y_RequiredAvailability.responseInterval<0||(i=Math.round(l.responseInterval),e.c8y_RequiredAvailability.responseInterval=i,e.c8y_Tracking&&e.c8y_Tracking.interval&&e.c8y_Tracking.interval!==i*c&&(i=e.c8y_Tracking.interval>i*c?r("Changing this value can cause showing false offline statuses and prevent alarms from being created as early as possible"):r("Changing this value can cause showing false online statuses and prevent alarms from being created as early as possible"),a.add({text:i,type:"warning"})),o(e.c8y_RequiredAvailability));var e,i=_.pick(l.device,["id","c8y_RequiredAvailability"]);return l.saveInProgress=!0,n.save(i).then(function(){l.saveInProgress=!1,u()}).then(function(){a.success(r("Required interval updated."))})}function o(e){var i=e&&0!==e.responseInterval;_.set(l,"responseInterval",i?Math.abs(Number(e.responseInterval)):void 0)}function u(){l.isEditMode?l.isEditMode=!1:(e=l.responseInterval,l.isEditMode=!0)}function y(){l.responseInterval=e,l.isEditMode=!1}_.assign(l,{isEditMode:!1,saveInProgress:!1,maxRequiredIntervalLimit:32767,save:v,switchMaintenance:function(e){n.switchResponseInterval(e)},$doCheck:function(){(()=>{var e=_.get(l.device,"c8y_RequiredAvailability");_.isEqual(e,s)||(o(e),s=e)})()},toggleEdit:u,resetEdit:y,validationHints:function(e){return i.validationHints(e,d)},keyHandler:function(e){return t.handle(e,v,y)},invalid:angular.bind(i,i.invalid,l,"availabilityForm")})}e.$inject=["c8yAlert","c8yDevices","c8yBase","keyboardKeyHandler","gettext"],angular.module("c8y.deviceStatus").component("requiredAvailabilityIntervalSetting",{controller:e,controllerAs:"vm",templateUrl:":::PLUGIN_PATH:::/requiredAvailabilityIntervalSetting.html",bindings:{device:"<",status:"<"}})})();
1
+ (()=>{function e(i,a,n,t,r){var s,e,l=this,v=60,c={c8yMax:{required_availability:r("Required interval must be a number and cannot be longer than 32767 minutes.")},c8yMin:{required_availability:r("Required interval must be a positive number.")}};function d(){l.device.c8y_RequiredAvailability=l.device.c8y_RequiredAvailability||{},l.device.c8y_RequiredAvailability.responseInterval<0||(""===l.responseInterval||null==l.responseInterval?l.device.c8y_RequiredAvailability=null:(l.device.c8y_RequiredAvailability.responseInterval=l.responseInterval,l.device.c8y_Tracking&&l.device.c8y_Tracking.interval&&l.device.c8y_Tracking.interval!==l.responseInterval*v&&(e=l.device.c8y_Tracking.interval>l.responseInterval*v?r("Changing this value can cause showing false offline statuses and prevent alarms from being created as early as possible"):r("Changing this value can cause showing false online statuses and prevent alarms from being created as early as possible"),i.add({text:e,type:"warning"})),o(l.device.c8y_RequiredAvailability)));var e=_.pick(l.device,["id","c8y_RequiredAvailability"]);return l.saveInProgress=!0,a.save(e).then(function(){l.saveInProgress=!1,u()}).then(function(){i.success(r("Required interval updated."))})}function o(e){var i=e&&0!==e.responseInterval;_.set(l,"responseInterval",i?Math.abs(Number(e.responseInterval)):void 0)}function u(){l.isEditMode?l.isEditMode=!1:(e=l.responseInterval,l.isEditMode=!0)}function y(){l.responseInterval=e,l.isEditMode=!1}_.assign(l,{isEditMode:!1,saveInProgress:!1,maxRequiredIntervalLimit:32767,save:d,switchMaintenance:function(e){a.switchResponseInterval(e)},$doCheck:function(){(()=>{var e=_.get(l.device,"c8y_RequiredAvailability");_.isEqual(e,s)||(o(e),s=e)})()},toggleEdit:u,resetEdit:y,validationHints:function(e){return n.validationHints(e,c)},keyHandler:function(e){return t.handle(e,d,y)},invalid:angular.bind(n,n.invalid,l,"availabilityForm")})}e.$inject=["c8yAlert","c8yDevices","c8yBase","keyboardKeyHandler","gettext"],angular.module("c8y.deviceStatus").component("requiredAvailabilityIntervalSetting",{controller:e,controllerAs:"vm",templateUrl:":::PLUGIN_PATH:::/requiredAvailabilityIntervalSetting.html",bindings:{device:"<",status:"<"}})})();
@@ -11,7 +11,7 @@
11
11
  Required interval
12
12
  </p>
13
13
  <div
14
- class=" d-flex flex-grow a-i-center"
14
+ class="d-flex flex-grow a-i-center"
15
15
  ng-hide="vm.isEditMode"
16
16
  >
17
17
  <span>{{ vm.responseInterval || '---' }}</span>
@@ -53,6 +53,8 @@
53
53
  tooltip-append-to-body="true"
54
54
  placeholder="{{ 'e.g.' | translate }} 1"
55
55
  name="required_availability"
56
+ type="number"
57
+ step="1"
56
58
  ng-disabled="vm.device.c8y_RequiredAvailability.responseInterval < 0 || !vm.isEditMode"
57
59
  ng-model="vm.responseInterval"
58
60
  ng-keyup="vm.keyHandler($event)"
@@ -1 +1 @@
1
- function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _slicedToArray(e,t){return _arrayWithHoles(e)||_iterableToArrayLimit(e,t)||_unsupportedIterableToArray(e,t)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){var i;if(e)return"string"==typeof e?_arrayLikeToArray(e,t):"Map"===(i="Object"===(i={}.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:i)||"Set"===i?Array.from(e):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?_arrayLikeToArray(e,t):void 0}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,n=Array(t);i<t;i++)n[i]=e[i];return n}function _iterableToArrayLimit(e,t){var i=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=i){var n,r,a,o,s=[],u=!0,c=!1;try{if(a=(i=i.call(e)).next,0===t){if(Object(i)!==i)return;u=!1}else for(;!(u=(n=a.call(i)).done)&&(s.push(n.value),s.length!==t);u=!0);}catch(e){c=!0,r=e}finally{try{if(!u&&null!=i.return&&(o=i.return(),Object(o)!==o))return}finally{if(c)throw r}}return s}}function _arrayWithHoles(e){if(Array.isArray(e))return e}function _defineProperty(e,t,i){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function _toPropertyKey(e){e=_toPrimitive(e,"string");return"symbol"==_typeof(e)?e:e+""}function _toPrimitive(e,t){if("object"!=_typeof(e)||!e)return e;var i=e[Symbol.toPrimitive];if(void 0===i)return("string"===t?String:Number)(e);i=i.call(e,t||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}(()=>{function e(e,r,t,i,a,o,n,s,u,c,d,l,y,f,p,v){var g=this,m=t.deviceId,b={types:[]},A={IS_REQUIRED:"required",ADDRESS_IN_USE:"address-in-use",ADDRESSES_IN_USE:"addresses-in-use",ADDRESS_INVALID:"address-invalid",POLLING_RATE_LARGER_THAN_TRANSMIT_RATE:"polling-rate-larger-than-transmit-rate",ONLY_NATURAL_NUMBERS_ALLOWED:"only-natural-numbers-allowed",IPADDRESS_INVALID_FORMAT:"ip",INVALID_URL:"invalid-url",NODE_IN_USE:"node-in-use",NODE_OUT_OF_RANGE:"node-out-of-range",IP_RANGE:"ip-range",PORT_INVALID:"port-invalid",IP_RANGE_MAXLIMIT:"ip-range-maxlimit",ENGINEID_IN_USE:"engineid-in-use",IS_MIN:"min"},I=(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(I={},A.IS_REQUIRED,p("This field is required.")),A.ADDRESS_IN_USE,p("This address is already in use.")),A.ADDRESSES_IN_USE,p("These addresses are already in use.")),A.ADDRESS_INVALID,p("Addresses from 248 up to 254 are not allowed.")),A.POLLING_RATE_LARGER_THAN_TRANSMIT_RATE,p("Polling rate must be equal to or smaller than transmit rate.")),A.ONLY_NATURAL_NUMBERS_ALLOWED,p("Only natural numbers allowed.")),A.IPADDRESS_INVALID_FORMAT,p("The IP address format is invalid.")),A.INVALID_URL,p("The URL format is invalid. The only supported protocols are http, https and opc.tcp.")),A.NODE_IN_USE,p("This node id is already in use.")),A.IP_RANGE,p("Invalid IP address range.")),_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(I,A.PORT_INVALID,p("Invalid port number.")),A.IP_RANGE_MAXLIMIT,p("Max. 30 IP addresses in total allowed.")),A.NODE_OUT_OF_RANGE,p("Only node ID(s) between 1 and 127 are allowed.")),A.ENGINEID_IN_USE,p("This engine ID is already in use.")),A.IS_MIN,p("Value cannot be lower than minimum.")));function P(){var i=g.device,e={},t=(_.assign(g,{hasSerialConfigOperation:s.supportsOperation(i,"c8y_SerialConfiguration"),hasFieldBusConfigOperation:(t=i,O()&&s.supportsOperation(t,"c8y_CanConfiguration")||h()&&s.supportsOperation(t,"c8y_ModbusConfiguration")||L()&&s.supportsOperation(t,"c8y_OPCUAConfiguration")||M()&&s.supportsOperation(t,"c8y_ProfibusConfiguration")||U()&&s.supportsOperation(t,"c8y_CANopenConfiguration")||w()&&s.supportsOperation(t,"c8y_SNMPConfiguration")),serialConfiguration:_.get(i,"c8y_SerialConfiguration",{}),fieldbusConfiguration:(e=>{var t={};return e&&(h()?t=e.c8y_ModbusConfiguration:O()?t=e.c8y_CanConfiguration:L()?(e.c8y_OPCUAGateway&&(e.c8y_OPCUAGateway.transmitRate=e.c8y_OPCUAGateway.transmitRate||0,_.unset(e,"c8y_OPCUAGateway.userIdentityPassword")),t=e.c8y_OPCUAGateway):M()?(_.defaultsDeep(e,{c8y_ProfibusConfiguration:{baudRate:p("automatic")}}),t=e.c8y_ProfibusConfiguration):U()?t=e.c8y_CANopenConfiguration:w()&&(e.c8y_SNMPGateway&&(e.c8y_SNMPGateway.transmitRate=e.c8y_SNMPGateway.transmitRate||0,_.unset(e,"c8y_SNMPGateway.userIdentityPassword")),t=e.c8y_SNMPGateway)),t})(i)}),(w()||h())&&(e={pageSize:2e3}),g.tab);return d.getAvailableDeviceTypes({fieldbusType:t},e).then(function(e){var t=d.getFieldbusVersionFromDevice(i);_.set(g.fieldbusConfiguration,"maxFieldbusVersion",t),b.types=_.filter(e,function(e){return e.fieldbusVersion<=t})})}function S(){e={pageSize:1,fragmentType:"c8y_SnmpAutoDiscovery",status:"EXECUTING"},e=n.timeOrderFilter(e||{}),_.assign(e,_.pick(t,"deviceId")),e.revert=!0;var e;return o.list(e).then(D).then(T)}function D(e){var i,t,n=_slicedToArray(e,1)[0];return!!n&&(g.autoDiscoveryInProgress=!0,i=r.defer(),e="operation".concat(n.id),t="/operations/".concat(n.deviceId),l.getStatus(e,t)&&l.destroySubscription(e,t),l.addListener(e,t,"UPDATE",function(e,t){t.id===n.id&&(t.status===o.status.SUCCESSFUL||t.status===o.status.FAILED?i.resolve(t):i.notify(t))}),l.start(e,t),r.when({completed:i.promise}))}function N(){return s.childDevices(m).then(function(e){e=w()?_.orderBy(e,["name"],["asc"]):e;g.devices=_.map(e,function(e){var t,i,n,r,a,o;return h()&&e.c8y_ModbusDevice?(o=R({device:a=e,fieldbusDeviceFragment:"c8y_ModbusDevice"}),o={id:a.id,name:a.name,deviceType:_.get(o,"name"),address:a.c8y_ModbusDevice.address,ipAddress:a.c8y_ModbusDevice.ipAddress,protocol:a.c8y_ModbusDevice.protocol}):O()&&e.c8y_CanDevice?(r=R({device:a=e,fieldbusDeviceFragment:"c8y_CanDevice"}),o={id:a.id,name:a.name,deviceType:_.get(r,"name")}):L()&&e.c8y_OPCUADevice?(n=R({device:r=e,fieldbusDeviceFragment:"c8y_OPCUADevice"}),o={id:r.id,name:r.name,deviceType:_.get(n,"name"),directoryPath:r.c8y_OPCUADevice.browsePath}):M()&&e.c8y_ProfibusDevice?(i=R({device:n=e,fieldbusDeviceFragment:"c8y_ProfibusDevice"}),o={id:n.id,name:n.name,deviceType:_.get(i,"name")}):U()&&e.c8y_CANopenDevice?(t=R({device:i=e,fieldbusDeviceFragment:"c8y_CANopenDevice"}),o={id:i.id,name:i.name,deviceType:_.get(t,"name"),nodeId:i.c8y_CANopenDevice.nodeId}):w()&&e.c8y_SNMPDevice&&(e=R({device:t=e,fieldbusDeviceFragment:"c8y_SNMPDevice"}),o={id:t.id,name:t.name,deviceType:_.get(e,"name"),ipAddress:t.c8y_SNMPDevice.ipAddress,port:t.c8y_SNMPDevice.port,version:t.c8y_SNMPDevice.version,auth:_.get(t.c8y_SNMPDevice,"auth",{})}),o})})}function R(e){var t=e.device,i=e.fieldbusDeviceFragment;return _(b.types).find(function(e){e=e.id;return _.get(t,"".concat(i,".type"))==="/inventory/managedObjects/".concat(e)})}function C(){var e=g.fieldbusCommunicationForm;e.$setPristine(),e.$setUntouched()}function E(e){var t,e=e.split("-").map(function(e){return e.trim()}),i=f.validation.ip.pattern,n=f.validation.ipV6.pattern;if(2===e.length){var e=_slicedToArray(e,2),r=e[0],e=e[1],i=i.test(r)&&i.test(e),n=n.test(r)&&n.test(e);if(i||n)try{t=new a.Ip.Range(r,e)}catch(e){}}return t}function T(e){e.completed.then(function(e){e.status===o.status.SUCCESSFUL?(c.success(p("Autodiscovery completed.")),g.autoDiscoveryInProgress=!1):e.status===o.status.FAILED&&(e.failureReason?c.danger(v.getString('Autodiscovery failed due to: "{{ failureReason | translate }}".',e)):c.danger(p("Autodiscovery failed.")),g.autoDiscoveryInProgress=!1)},_.noop,function(){c.success(p("Autodiscovery in progress."))}).then(N)}function h(){return"modbus"===g.tab}function O(){return"canbus"===g.tab}function L(){return"opcua"===g.tab}function M(){return"profibus"===g.tab}function U(){return"canopen"===g.tab}function w(){return"snmp"===g.tab}_.assign(g,{$onInit:function(){s.detail(m).then(n.getResData).then(function(e){h()?_.defaults(e.c8y_SerialConfiguration,{baudRate:19200,dataBits:8,parity:"E",stopBits:1}):O()&&(g.serialConfigurationOptions.baudRates=[1e5,125e3,25e4,5e5,1e6]),g.device=e}).then(P).then(N).then(S)},shouldShowSerialPanel:function(){return h()&&_.get(g,"device.c8y_SerialConfiguration")},isModbusTab:h,isCanBusTab:O,isOPCUATab:L,isProfibusTab:M,isCanOpenTab:U,isSNMPTab:w,getFieldValidationHints:_.curryRight(n.validationHints)(I),serialConfigurationOptions:{baudRates:[110,300,600,1200,2400,4800,9600,14400,19200,38400,57600,115200,25e4,460800,5e5,921600,1e6],dataBits:[8],parities:["N","E","O"],stopBits:[1,2]},fieldbusConfigurationOptions:{baudRates:[{value:1e3,label:"1 Mbit/s"},{value:800,label:"800 kbit/s"},{value:500,label:"500 kbit/s"},{value:250,label:"250 kbit/s"},{value:125,label:"125 kbit/s"},{value:50,label:"50 kbit/s"},{value:20,label:"20 kbit/s"},{value:10,label:"10 kbit/s"}]},deviceConfigurationOptions:b,fieldErrors:A,fieldErrorsToMessages:I,saveSerialConfig:function(){(e=>o.create({deviceId:e.id,description:p("Set serial configuration"),c8y_SerialConfiguration:e.c8y_SerialConfiguration}))(g.device).then(function(){return c.success(p("Settings will be applied."))})},saveFieldbusConfig:function(){(e=>{var t=r.resolve();return h()&&e.c8y_ModbusConfiguration?t=(e=>o.create({deviceId:e.id,description:p("Set modbus configuration"),c8y_ModbusConfiguration:_.omit(e.c8y_ModbusConfiguration,["maxFieldbusVersion"])}))(e):O()?t=(e=>o.create({deviceId:e.id,description:p("Set CAN Bus configuration"),c8y_CanConfiguration:_.omit(e.c8y_CanConfiguration,["maxFieldbusVersion"])}))(e):L()?t=(e=>{var t=e.c8y_OPCUAGateway.transmitRate,e=_.merge(_.cloneDeep(e),{c8y_OPCUAGateway:{transmitRate:0===t?void 0:t}});return s.update(_.pick(e,["id","c8y_OPCUAGateway"]))})(e):M()?t=(e=>o.create({deviceId:e.id,description:p("Set Profibus configuration"),c8y_ProfibusConfiguration:_.pick(e.c8y_ProfibusConfiguration,["transmitRate","slaveAddress"])}))(e):U()?t=(e=>o.create({deviceId:e.id,description:p("Set CAN Open configuration"),c8y_CANopenConfiguration:_.omit(e.c8y_CANopenConfiguration,["maxFieldbusVersion"])}))(e):w()&&(t=(e=>{var t=e.c8y_SNMPGateway.transmitRate,e=_.merge(_.cloneDeep(e),{c8y_SNMPGateway:{transmitRate:0===t?void 0:t}});return s.update(_.pick(e,["id","c8y_SNMPGateway"])).then(C)})(e)),t})(g.device).then(function(){return c.success(p("Settings will be applied."))})},invalid:function(e,t){(h()||L())&&(e=>{var t,i,n,r=(e=g[e]).pollingRate;r&&(e=e.transmitRate,i=t=!0,n=r.$modelValue<=e.$modelValue,L()&&0===e.$modelValue&&(n=!0),(!_.isInteger(e.$modelValue)||e.$modelValue<=0)&&(t=!1),(!_.isInteger(r.$modelValue)||r.$modelValue<=0)&&(i=!1),e.$setValidity(A.ONLY_NATURAL_NUMBERS_ALLOWED,t),e.$setValidity(A.POLLING_RATE_LARGER_THAN_TRANSMIT_RATE,n),r.$setValidity(A.ONLY_NATURAL_NUMBERS_ALLOWED,i),r.$setValidity(A.POLLING_RATE_LARGER_THAN_TRANSMIT_RATE,n))})(e);L()&&(e=>{var e=g[e].OPCUAUrl,t=f.validation.opcuaBrowsePath.pattern,i=e.$modelValue;e.$setValidity(A.INVALID_URL,!i||t.test(i))})(e);w()&&(e=>{var t,i,n,r,a=(e=g[e].ipRange).$modelValue;a&&(a=a.split(",").map(function(e){return e.trim()}),a=_.every(a,E),e.$setValidity(A.IP_RANGE,a),a)&&(e=(a=e).$modelValue,n=i=!0,r=BigInt(30),e&&(t=BigInt(0),e=e.split(","),_.forEach(e,function(e){e=E(e);e||(i=!1),t+=BigInt(e.countIps())}),r<t||t<-r)&&(n=!1),a.$setValidity(A.IP_RANGE,i),a.$setValidity(A.IP_RANGE_MAXLIMIT,n))})(e);return n.invalid(g,e,t)},reloadDevices:N,onClickDelete:function(e){u({title:p("Delete device"),body:v.getString('You are about to delete device "{{name}}". Do you want to proceed?',e),size:"sm",labels:{ok:p("Delete")},status:"danger"}).then(function(){return s.remove(e)}).then(function(){return U()?y.onRemove(g.device,e):r.resolve()}).then(function(){g.devices=_.without(g.devices,e),s.update({id:g.device.id}),c.success(p("Device deleted."))}).catch(function(e){e&&c.danger(e)})},navigateToDetail:function(e){i.url("device/".concat(e.id))},triggerAutodiscovery:function(e){g.autoDiscoveryInProgress=!0;e=e.ipRange.$modelValue;e&&(e={deviceId:m,description:p("Autodiscovery request"),c8y_SnmpAutoDiscovery:{ipRange:e}},o.createWithNotifications(e).then(T))},autoDiscoveryInProgress:!1,canTriggerAutodiscovery:function(e){return g.autoDiscoveryInProgress||e.ipRange.$dirty||_.isEmpty(e.ipRange.$modelValue)}})}e.$inject=["$rootScope","$q","$routeParams","$location","$window","c8yDeviceControl","c8yBase","c8yDevices","c8yModal","c8yAlert","c8yDeviceDatabase","c8yRealtime","c8yCanopenDevice","c8yConfig","gettext","gettextCatalog"],angular.module("c8y.modbusConfiguration4").component("c8yFieldbusConfig",{templateUrl:":::PLUGIN_PATH:::/fieldbus-config.html",bindings:{tab:"@"},controllerAs:"vm",controller:e})})();
1
+ function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _defineProperty(e,i,t){return(i=_toPropertyKey(i))in e?Object.defineProperty(e,i,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[i]=t,e}function _toPropertyKey(e){e=_toPrimitive(e,"string");return"symbol"==_typeof(e)?e:e+""}function _toPrimitive(e,i){if("object"!=_typeof(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0===t)return("string"===i?String:Number)(e);t=t.call(e,i||"default");if("object"!=_typeof(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}(()=>{function e(e,t,i,n,o,r,a,s,u,d,c,l,f,y,p,v){var g=this,b=i.deviceId,m={types:[]},A={IS_REQUIRED:"required",ADDRESS_IN_USE:"address-in-use",ADDRESSES_IN_USE:"addresses-in-use",ADDRESS_INVALID:"address-invalid",POLLING_RATE_LARGER_THAN_TRANSMIT_RATE:"polling-rate-larger-than-transmit-rate",ONLY_NATURAL_NUMBERS_ALLOWED:"only-natural-numbers-allowed",IPADDRESS_INVALID_FORMAT:"ip",INVALID_URL:"invalid-url",NODE_IN_USE:"node-in-use",NODE_OUT_OF_RANGE:"node-out-of-range",IP_RANGE:"ip-range",PORT_INVALID:"port-invalid",IP_RANGE_MAXLIMIT:"ip-range-maxlimit",ENGINEID_IN_USE:"engineid-in-use",IS_MIN:"min"},i=(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(i={},A.IS_REQUIRED,p("This field is required.")),A.ADDRESS_IN_USE,p("This address is already in use.")),A.ADDRESSES_IN_USE,p("These addresses are already in use.")),A.ADDRESS_INVALID,p("Addresses from 248 up to 254 are not allowed.")),A.POLLING_RATE_LARGER_THAN_TRANSMIT_RATE,p("Polling rate must be equal to or smaller than transmit rate.")),A.ONLY_NATURAL_NUMBERS_ALLOWED,p("Only natural numbers allowed.")),A.IPADDRESS_INVALID_FORMAT,p("The IP address format is invalid.")),A.INVALID_URL,p("The URL format is invalid. The only supported protocols are http, https and opc.tcp.")),A.NODE_IN_USE,p("This node id is already in use.")),A.IP_RANGE,p("Invalid IP address range.")),_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(i,A.PORT_INVALID,p("Invalid port number.")),A.IP_RANGE_MAXLIMIT,p("Max. 30 IP addresses in total allowed.")),A.NODE_OUT_OF_RANGE,p("Only node ID(s) between 1 and 127 are allowed.")),A.ENGINEID_IN_USE,p("This engine ID is already in use.")),A.IS_MIN,p("Value cannot be lower than minimum.")));function D(){var t=g.device,e={},i=(_.assign(g,{hasSerialConfigOperation:s.supportsOperation(t,"c8y_SerialConfiguration"),hasFieldBusConfigOperation:(i=t,N()&&s.supportsOperation(i,"c8y_CanConfiguration")||P()&&s.supportsOperation(i,"c8y_ModbusConfiguration")||S()&&s.supportsOperation(i,"c8y_OPCUAConfiguration")||E()&&s.supportsOperation(i,"c8y_ProfibusConfiguration")||O()&&s.supportsOperation(i,"c8y_CANopenConfiguration")),serialConfiguration:_.get(t,"c8y_SerialConfiguration",{}),fieldbusConfiguration:(e=>{var i={};return e&&(P()?i=e.c8y_ModbusConfiguration:N()?i=e.c8y_CanConfiguration:S()?(e.c8y_OPCUAGateway&&(e.c8y_OPCUAGateway.transmitRate=e.c8y_OPCUAGateway.transmitRate||0,_.unset(e,"c8y_OPCUAGateway.userIdentityPassword")),i=e.c8y_OPCUAGateway):E()?(_.defaultsDeep(e,{c8y_ProfibusConfiguration:{baudRate:p("automatic")}}),i=e.c8y_ProfibusConfiguration):O()&&(i=e.c8y_CANopenConfiguration)),i})(t)}),P()&&(e={pageSize:2e3}),g.tab);return c.getAvailableDeviceTypes({fieldbusType:i},e).then(function(e){var i=c.getFieldbusVersionFromDevice(t);_.set(g.fieldbusConfiguration,"maxFieldbusVersion",i),m.types=_.filter(e,function(e){return e.fieldbusVersion<=i})})}function I(){return s.childDevices(b).then(function(e){g.devices=_.map(e,function(e){var i,t,n,o,r;return P()&&e.c8y_ModbusDevice?(r=C({device:o=e,fieldbusDeviceFragment:"c8y_ModbusDevice"}),r={id:o.id,name:o.name,deviceType:_.get(r,"name"),address:o.c8y_ModbusDevice.address,ipAddress:o.c8y_ModbusDevice.ipAddress,protocol:o.c8y_ModbusDevice.protocol}):N()&&e.c8y_CanDevice?(n=C({device:o=e,fieldbusDeviceFragment:"c8y_CanDevice"}),r={id:o.id,name:o.name,deviceType:_.get(n,"name")}):S()&&e.c8y_OPCUADevice?(t=C({device:n=e,fieldbusDeviceFragment:"c8y_OPCUADevice"}),r={id:n.id,name:n.name,deviceType:_.get(t,"name"),directoryPath:n.c8y_OPCUADevice.browsePath}):E()&&e.c8y_ProfibusDevice?(i=C({device:t=e,fieldbusDeviceFragment:"c8y_ProfibusDevice"}),r={id:t.id,name:t.name,deviceType:_.get(i,"name")}):O()&&e.c8y_CANopenDevice&&(e=C({device:i=e,fieldbusDeviceFragment:"c8y_CANopenDevice"}),r={id:i.id,name:i.name,deviceType:_.get(e,"name"),nodeId:i.c8y_CANopenDevice.nodeId}),r})})}function C(e){var i=e.device,t=e.fieldbusDeviceFragment;return _(m.types).find(function(e){e=e.id;return _.get(i,"".concat(t,".type"))==="/inventory/managedObjects/".concat(e)})}function R(e){e.completed.then(function(e){e.status===r.status.SUCCESSFUL?(d.success(p("Autodiscovery completed.")),g.autoDiscoveryInProgress=!1):e.status===r.status.FAILED&&(e.failureReason?d.danger(v.getString('Autodiscovery failed due to: "{{ failureReason | translate }}".',e)):d.danger(p("Autodiscovery failed.")),g.autoDiscoveryInProgress=!1)},_.noop,function(){d.success(p("Autodiscovery in progress."))}).then(I)}function P(){return"modbus"===g.tab}function N(){return"canbus"===g.tab}function S(){return"opcua"===g.tab}function E(){return"profibus"===g.tab}function O(){return"canopen"===g.tab}_.assign(g,{$onInit:function(){s.detail(b).then(a.getResData).then(function(e){P()?_.defaults(e.c8y_SerialConfiguration,{baudRate:19200,dataBits:8,parity:"E",stopBits:1}):N()&&(g.serialConfigurationOptions.baudRates=[1e5,125e3,25e4,5e5,1e6]),g.device=e}).then(D).then(I)},shouldShowSerialPanel:function(){return P()&&_.get(g,"device.c8y_SerialConfiguration")},isModbusTab:P,isCanBusTab:N,isOPCUATab:S,isProfibusTab:E,isCanOpenTab:O,getFieldValidationHints:_.curryRight(a.validationHints)(i),serialConfigurationOptions:{baudRates:[110,300,600,1200,2400,4800,9600,14400,19200,38400,57600,115200,25e4,460800,5e5,921600,1e6],dataBits:[8],parities:["N","E","O"],stopBits:[1,2]},fieldbusConfigurationOptions:{baudRates:[{value:1e3,label:"1 Mbit/s"},{value:800,label:"800 kbit/s"},{value:500,label:"500 kbit/s"},{value:250,label:"250 kbit/s"},{value:125,label:"125 kbit/s"},{value:50,label:"50 kbit/s"},{value:20,label:"20 kbit/s"},{value:10,label:"10 kbit/s"}]},deviceConfigurationOptions:m,fieldErrors:A,fieldErrorsToMessages:i,saveSerialConfig:function(){(e=>r.create({deviceId:e.id,description:p("Set serial configuration"),c8y_SerialConfiguration:e.c8y_SerialConfiguration}))(g.device).then(function(){return d.success(p("Settings will be applied."))})},saveFieldbusConfig:function(){(e=>{var i=t.resolve();return P()&&e.c8y_ModbusConfiguration?i=(e=>r.create({deviceId:e.id,description:p("Set modbus configuration"),c8y_ModbusConfiguration:_.omit(e.c8y_ModbusConfiguration,["maxFieldbusVersion"])}))(e):N()?i=(e=>r.create({deviceId:e.id,description:p("Set CAN Bus configuration"),c8y_CanConfiguration:_.omit(e.c8y_CanConfiguration,["maxFieldbusVersion"])}))(e):S()?i=(e=>{var i=e.c8y_OPCUAGateway.transmitRate,e=_.merge(_.cloneDeep(e),{c8y_OPCUAGateway:{transmitRate:0===i?void 0:i}});return s.update(_.pick(e,["id","c8y_OPCUAGateway"]))})(e):E()?i=(e=>r.create({deviceId:e.id,description:p("Set Profibus configuration"),c8y_ProfibusConfiguration:_.pick(e.c8y_ProfibusConfiguration,["transmitRate","slaveAddress"])}))(e):O()&&(i=(e=>r.create({deviceId:e.id,description:p("Set CAN Open configuration"),c8y_CANopenConfiguration:_.omit(e.c8y_CANopenConfiguration,["maxFieldbusVersion"])}))(e)),i})(g.device).then(function(){return d.success(p("Settings will be applied."))})},invalid:function(e,i){(P()||S())&&(e=>{var i,t,n,o=(e=g[e]).pollingRate;o&&(e=e.transmitRate,t=i=!0,n=o.$modelValue<=e.$modelValue,S()&&0===e.$modelValue&&(n=!0),(!_.isInteger(e.$modelValue)||e.$modelValue<=0)&&(i=!1),(!_.isInteger(o.$modelValue)||o.$modelValue<=0)&&(t=!1),e.$setValidity(A.ONLY_NATURAL_NUMBERS_ALLOWED,i),e.$setValidity(A.POLLING_RATE_LARGER_THAN_TRANSMIT_RATE,n),o.$setValidity(A.ONLY_NATURAL_NUMBERS_ALLOWED,t),o.$setValidity(A.POLLING_RATE_LARGER_THAN_TRANSMIT_RATE,n))})(e);S()&&(e=>{var e=g[e].OPCUAUrl,i=y.validation.opcuaBrowsePath.pattern,t=e.$modelValue;e.$setValidity(A.INVALID_URL,!t||i.test(t))})(e);return a.invalid(g,e,i)},reloadDevices:I,onClickDelete:function(e){u({title:p("Delete device"),body:v.getString('You are about to delete device "{{name}}". Do you want to proceed?',e),size:"sm",labels:{ok:p("Delete")},status:"danger"}).then(function(){return s.remove(e)}).then(function(){return O()?f.onRemove(g.device,e):t.resolve()}).then(function(){g.devices=_.without(g.devices,e),s.update({id:g.device.id}),d.success(p("Device deleted."))}).catch(function(e){e&&d.danger(e)})},navigateToDetail:function(e){n.url("device/".concat(e.id))},triggerAutodiscovery:function(e){g.autoDiscoveryInProgress=!0;e=e.ipRange.$modelValue;e&&(e={deviceId:b,description:p("Autodiscovery request"),c8y_SnmpAutoDiscovery:{ipRange:e}},r.createWithNotifications(e).then(R))},autoDiscoveryInProgress:!1,canTriggerAutodiscovery:function(e){return g.autoDiscoveryInProgress||e.ipRange.$dirty||_.isEmpty(e.ipRange.$modelValue)}})}e.$inject=["$rootScope","$q","$routeParams","$location","$window","c8yDeviceControl","c8yBase","c8yDevices","c8yModal","c8yAlert","c8yDeviceDatabase","c8yRealtime","c8yCanopenDevice","c8yConfig","gettext","gettextCatalog"],angular.module("c8y.modbusConfiguration4").component("c8yFieldbusConfig",{templateUrl:":::PLUGIN_PATH:::/fieldbus-config.html",bindings:{tab:"@"},controllerAs:"vm",controller:e})})();
@@ -236,202 +236,6 @@
236
236
  </div>
237
237
  </div>
238
238
 
239
- <div ng-if="vm.isSNMPTab()">
240
- <div class="row">
241
- <div class="col-lg-12 col-lg-max">
242
- <div class="card">
243
- <div class="card-header separator">
244
- <div class="h4" data-cy="fieldbus-config--heading-SNMP-communication"translate>SNMP communication </div>
245
- </div>
246
- <form class="card-block p-b-0" name="vm.fieldbusCommunicationForm">
247
- <div ng-if="false" class="row">
248
- <div class="form-group col-md-6">
249
- <label for="SNMPUsername" translate>Username</label>
250
- <input
251
- class="form-control"
252
- id="SNMPUsername"
253
- name="SNMPUsername"
254
- ng-model="vm.fieldbusConfiguration.userIdentityName"
255
- />
256
- </div>
257
- <div class="form-group col-md-6">
258
- <label for="SNMPPassword" translate>Password</label>
259
- <input
260
- class="form-control"
261
- type="password"
262
- id="SNMPPassword"
263
- name="SNMPPassword"
264
- ng-model="vm.fieldbusConfiguration.userIdentityPassword"
265
- c8y-autocomplete="off"
266
- />
267
- </div>
268
- </div>
269
- <div class="row">
270
- <div class="col-xs-12 col-md-4">
271
- <div class="legend form-block" translate>Rates`time intervals`</div>
272
-
273
- <div
274
- class="form-group"
275
- ng-class="{ 'has-error': vm.invalid('fieldbusCommunicationForm', 'transmitRate') }"
276
- >
277
- <label for="transmitRate" translate>Transmit rate</label>
278
- <div class="input-group">
279
- <input
280
- class="form-control"
281
- type="number"
282
- id="transmitRate"
283
- name="transmitRate"
284
- ng-model="vm.fieldbusConfiguration.transmitRate"
285
- ng-min="0"
286
- placeholder="{{ 'e.g.' | translate }} 300"
287
- />
288
- <span class="input-group-addon units" translate>seconds</span>
289
- </div>
290
- <c8y-messages>
291
- <c8y-message
292
- class="form-control-feedback-message"
293
- ng-if="vm.invalid('fieldbusCommunicationForm', 'transmitRate')"
294
- >
295
- {{ vm.getFieldValidationHints(vm.fieldbusCommunicationForm.transmitRate) }}
296
- </c8y-message>
297
- </c8y-messages>
298
- </div>
299
- <div
300
- class="form-group"
301
- ng-class="{ 'has-error': vm.invalid('fieldbusCommunicationForm', 'pollingRate') }"
302
- >
303
- <label for="pollingRate" translate>Polling rate</label>
304
- <div class="input-group">
305
- <input
306
- class="form-control"
307
- type="number"
308
- id="pollingRate"
309
- name="pollingRate"
310
- ng-model="vm.fieldbusConfiguration.pollingRate"
311
- placeholder="{{ 'e.g.' | translate }} 3"
312
- ng-min="0"
313
- />
314
- <span class="input-group-addon units" translate>seconds</span>
315
- </div>
316
- <c8y-messages>
317
- <c8y-message
318
- class="form-control-feedback-message"
319
- ng-if="vm.invalid('fieldbusCommunicationForm', 'pollingRate')"
320
- >
321
- {{ vm.getFieldValidationHints(vm.fieldbusCommunicationForm.pollingRate) }}
322
- </c8y-message>
323
- </c8y-messages>
324
- </div>
325
- </div>
326
- <div class="col-xs-12 col-md-8">
327
- <fieldset>
328
- <div class="legend form-block" translate>Autodiscovery</div>
329
- <div
330
- class="form-group"
331
- ng-class="{ 'has-error': vm.invalid('fieldbusCommunicationForm', 'ipRange') }"
332
- >
333
- <label for="ipRange" translate>IP range</label>
334
- <div class="input-group">
335
- <input
336
- class="form-control"
337
- type="text"
338
- id="ipRange"
339
- name="ipRange"
340
- ng-model="vm.fieldbusConfiguration.ipRange"
341
- ng-required="vm.fieldbusCommunicationForm.autoDiscoveryInterval.$modelValue"
342
- placeholder="{{
343
- 'e.g.' | translate
344
- }} 192.168.0.1-192.168.0.50,167.0.0.1-167.0.0.200"
345
- />
346
- <div class="input-group-btn">
347
- <button
348
- title="{{ 'Start autodiscovery' | translate }}"
349
- data-cy="fieldbus-config--Start-autodiscovery-button"
350
- ng-class="{ 'btn-pending': vm.autoDiscoveryInProgress }"
351
- class="btn btn-primary"
352
- ng-click="vm.triggerAutodiscovery(vm.fieldbusCommunicationForm); $event.preventDefault();"
353
- ng-disabled="vm.canTriggerAutodiscovery(vm.fieldbusCommunicationForm)"
354
- >
355
- {{ 'Start autodiscovery' | translate }}
356
- </button>
357
- </div>
358
- <c8y-messages>
359
- <c8y-message
360
- class="form-control-feedback-message"
361
- ng-if="vm.invalid('fieldbusCommunicationForm', 'ipRange')"
362
- >
363
- {{ vm.getFieldValidationHints(vm.fieldbusCommunicationForm.ipRange) }}
364
- </c8y-message>
365
- </c8y-messages>
366
- </div>
367
- </div>
368
-
369
- <div
370
- class="form-group"
371
- ng-class="{
372
- 'has-error': vm.invalid('fieldbusCommunicationForm', 'autoDiscoveryInterval')
373
- }"
374
- >
375
- <label for="autoDiscoveryInterval" translate>Schedule interval</label>
376
- <div class="input-group">
377
- <input
378
- class="form-control"
379
- type="number"
380
- id="autoDiscoveryInterval"
381
- name="autoDiscoveryInterval"
382
- placeholder="{{ 'e.g.' | translate }} 30"
383
- ng-model="vm.fieldbusConfiguration.autoDiscoveryInterval"
384
- ng-min="0"
385
- />
386
- <span class="input-group-addon units" translate>minutes</span>
387
- </div>
388
- <c8y-messages>
389
- <c8y-message
390
- class="form-control-feedback-message"
391
- ng-if="vm.invalid('fieldbusCommunicationForm', 'autoDiscoveryInterval')"
392
- >
393
- {{
394
- vm.getFieldValidationHints(
395
- vm.fieldbusCommunicationForm.autoDiscoveryInterval
396
- )
397
- }}
398
- </c8y-message>
399
- </c8y-messages>
400
- </div>
401
- </fieldset>
402
- </div>
403
- </div>
404
- </form>
405
-
406
- <div ng-if="vm.hasFieldBusConfigOperation" class="card-footer separator">
407
- <button
408
- title="{{ 'Save' | translate }}"
409
- class="btn btn-primary"
410
- ng-click="vm.saveFieldbusConfig()"
411
- ng-disabled="vm.fieldbusCommunicationForm.$invalid || vm.fieldbusCommunicationForm.$pristine || vm.autoDiscoveryInProgress"
412
- >
413
- {{ 'Save' | translate }}
414
- </button>
415
- </div>
416
- </div>
417
- </div>
418
- <div class="col-md-12">
419
- <c8y-fieldbus-device-list
420
- tab="{{ vm.tab }}"
421
- mode="SNMP"
422
- field-errors="vm.fieldErrors"
423
- field-errors-to-messages="vm.fieldErrorsToMessages"
424
- device-configuration-options="vm.deviceConfigurationOptions"
425
- device="vm.device"
426
- devices="vm.devices"
427
- reload-devices="vm.reloadDevices"
428
- on-click-delete="(vm.onClickDelete)"
429
- navigate-to-detail="vm.navigateToDetail"
430
- ></c8y-fieldbus-device-list>
431
- </div>
432
- </div>
433
- </div>
434
-
435
239
  <div ng-if="vm.isOPCUATab()">
436
240
  <div class="row">
437
241
  <div class="col-lg-12 col-lg-max">