@c8y/ng1-modules 1020.40.0 → 1021.0.4

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.
Files changed (940) hide show
  1. package/aclManagement/controllers/permissionEditorCtrl.js +1 -1
  2. package/aclManagement/directives/permissionEditor.js +1 -1
  3. package/aclManagement/index.js +1 -1
  4. package/administration-alarmMapping/controllers/alarmMapping.js +1 -1
  5. package/administration-alarmMapping/index.js +1 -1
  6. package/administration-applicationSettings/controllers/applicationSettings.js +1 -1
  7. package/administration-applicationSettings/index.js +1 -1
  8. package/administration-applications/appWizard/appWizard.deprecated.js +0 -1
  9. package/administration-applications/appWizard/appWizardClone1Step.component.js +1 -1
  10. package/administration-applications/appWizard/appWizardClone2Step.component.js +1 -1
  11. package/administration-applications/appWizard/appWizardExternalStep.component.js +1 -1
  12. package/administration-applications/appWizard/appWizardMenuStep.component.js +1 -1
  13. package/administration-applications/appWizard/appWizardSmartAppStep.component.js +1 -1
  14. package/administration-applications/appWizard/appWizardSuccessStep.component.js +1 -1
  15. package/administration-applications/appWizard/appWizardUploadStep.component.js +1 -1
  16. package/administration-applications/appWizard/context-path.directive.js +1 -1
  17. package/administration-applications/application-detail/application-detail.component.js +1 -1
  18. package/administration-applications/application-detail/application-detail.deprecated.js +0 -1
  19. package/administration-applications/application-list-view/application-list-view.component.js +1 -1
  20. package/administration-applications/application-list-view/application-list-view.deprecated.js +0 -1
  21. package/administration-applications/controllers/appDetailsTitle.js +1 -1
  22. package/administration-applications/controllers/applicationAccessEditor.js +1 -1
  23. package/administration-applications/controllers/permissions.js +1 -1
  24. package/administration-applications/directives/applicationAccessEditor.js +1 -1
  25. package/administration-applications/index.js +1 -1
  26. package/administration-applications/index.mock.js +1 -1
  27. package/administration-archivesEditor/index.js +1 -1
  28. package/administration-archivesEditor/index.mock.js +1 -1
  29. package/administration-archivesEditor/list.controller.js +1 -1
  30. package/administration-archivesEditor/upload.controller.js +1 -1
  31. package/administration-auditLogs/filter.directive.js +1 -1
  32. package/administration-auditLogs/index.js +1 -1
  33. package/administration-auditLogs/index.mock.js +1 -1
  34. package/administration-auditLogs/list.controller.js +1 -1
  35. package/administration-config/administration-config.module.js +1 -1
  36. package/administration-deviceUsers/controllers/deviceUserDetail.js +1 -1
  37. package/administration-deviceUsers/controllers/deviceUserList.js +1 -1
  38. package/administration-deviceUsers/index.js +1 -1
  39. package/administration-deviceUsers/views/list.html +2 -4
  40. package/administration-homeAdministration/home-administration.component.js +1 -1
  41. package/administration-homeAdministration/home-administration.config.js +1 -1
  42. package/administration-retentionRules/index.js +1 -1
  43. package/administration-retentionRules/index.mock.js +1 -1
  44. package/administration-retentionRules/list.controller.js +1 -1
  45. package/administration-retentionRules/views/list.html +1 -1
  46. package/administration-statistics/controllers/statistics.js +1 -1
  47. package/administration-statistics/index.js +1 -1
  48. package/administration-statistics/index.mock.js +1 -1
  49. package/administration-storageLimitEmail/controllers/storageLimitCtrl.js +1 -1
  50. package/administration-storageLimitEmail/index.js +1 -1
  51. package/alarmsEventsExplorer/alarmsEventsTimelinesChart/alarmsEventsTimelinesChart.component.js +1 -1
  52. package/alarmsEventsExplorer/alarmsEventsTimelinesChart/alarmsEventsTimelinesChart.service.js +1 -1
  53. package/alarmsEventsExplorer/alarmsEventsTimelinesConfig/alarmsEventsTimelinesConfig.component.js +1 -1
  54. package/alarmsEventsExplorer/alarmsEventsTimelinesConfig/alarmsEventsTimelinesConfigModal.controller.js +1 -1
  55. package/alarmsEventsExplorer/index.js +1 -1
  56. package/app-logs/app-instance-logs/app-instance-logs.component.js +1 -1
  57. package/app-logs/app-instance-logs/app-instance-logs.html +31 -10
  58. package/app-logs/app-logs/app-logs.component.js +1 -1
  59. package/app-logs/app-logs/download-logs.component.js +1 -1
  60. package/app-logs/app-logs.service.js +1 -1
  61. package/app-logs/index.js +1 -1
  62. package/app-status/app-alarms/app-alarms.component.js +1 -1
  63. package/app-status/app-events/app-events.component.js +1 -1
  64. package/app-status/app-instances/app-instances.component.js +1 -1
  65. package/app-status/app-instances-details/app-instances-details.component.js +1 -1
  66. package/app-status/app-status/app-status.component.js +1 -1
  67. package/app-status/app-tenant-subscriptions-list/app-tenant-subscriptions-list.component.js +1 -1
  68. package/app-status/index.js +1 -1
  69. package/app-status-ui/index.js +1 -1
  70. package/asset-notes/assetNotes.component.js +1 -1
  71. package/asset-notes/assetNotes.module.js +1 -1
  72. package/asset-notes/assetNotes.service.js +1 -1
  73. package/assetPropertyWidget/index.js +1 -1
  74. package/assetPropertyWidget/index.mock.js +1 -1
  75. package/assetPropertyWidget/main.controller.js +1 -1
  76. package/assetTable/addIconMap.controller.js +1 -1
  77. package/assetTable/addOperation.controller.js +1 -1
  78. package/assetTable/assetTable2/assets.controller.js +1 -1
  79. package/assetTable/assetTable2/assets.service.js +1 -1
  80. package/assetTable/assetTable2/assetsConfig.controller.js +1 -1
  81. package/assetTable/assetTable2/configIconMap.controller.js +1 -1
  82. package/assetTable/assetTable2/index.js +1 -1
  83. package/assetTable/assetTable2/rendererButton.controller.js +1 -1
  84. package/assetTable/assetTable2/rendererButtonConfig.controller.js +1 -1
  85. package/assetTable/assetTable2/rendererIcon.controller.js +1 -1
  86. package/assetTable/assetTable2/sort.directive.js +1 -1
  87. package/assetTable/assets.controller.js +1 -1
  88. package/assetTable/assetsConfig.controller.js +1 -1
  89. package/assetTable/comparisons.service.js +1 -1
  90. package/assetTable/counterColumns.service.js +1 -1
  91. package/assetTable/index.js +1 -1
  92. package/assetTable/operationTemplate.service.js +1 -1
  93. package/assetTable/sort.directive.js +1 -1
  94. package/binary-file-download/binary-file-download.component.js +1 -1
  95. package/binary-file-download/binary-file-download.config.js +1 -1
  96. package/binaryArtefactsManagement/controllers/list.js +1 -1
  97. package/binaryArtefactsManagement/controllers/upload.js +1 -1
  98. package/binaryArtefactsManagement/index.js +1 -1
  99. package/cockpit-assetCount/controllers/AssetCount.js +1 -1
  100. package/cockpit-assetCount/index.js +1 -1
  101. package/cockpit-assetCount/services/assetCount.js +1 -1
  102. package/cockpit-cockpitConfig/index.js +1 -1
  103. package/cockpit-cockpitConfig/services/navigator.js +1 -1
  104. package/cockpit-dataPointExplorerUI/index.js +1 -1
  105. package/cockpit-reports/index.js +1 -1
  106. package/cockpit-reports/reports.service.js +1 -1
  107. package/cockpit-smartRulesUI/index.js +1 -1
  108. package/commandTemplates/components/commandTemplates.js +1 -1
  109. package/commandTemplates/controllers/commandTemplates.js +1 -1
  110. package/commandTemplates/index.js +1 -1
  111. package/connectivityV2/auditLogs.component.js +1 -1
  112. package/connectivityV2/connectivityV2.component.js +1 -1
  113. package/connectivityV2/connectivityV2.module.js +1 -1
  114. package/connectivityV2/connectivityV2.service.js +1 -1
  115. package/connectivityV2/sessions.component.js +1 -1
  116. package/connectivityV2/sms.component.js +1 -1
  117. package/connectivityV2/status.component.js +1 -1
  118. package/core/angular-locales.js +1 -1
  119. package/core/angularStart.js +1 -1
  120. package/core/bootstrap.js +1 -1
  121. package/core/core/cometdExtensions.js +1 -1
  122. package/core/core/config.js +1 -1
  123. package/core/core/index.js +1 -1
  124. package/core/core/locales.js +1 -1
  125. package/core/core/services/SMSGateway.js +1 -1
  126. package/core/core/services/actility.js +1 -1
  127. package/core/core/services/alarms.js +1 -1
  128. package/core/core/services/application.js +1 -1
  129. package/core/core/services/audits.js +1 -1
  130. package/core/core/services/auth.js +1 -1
  131. package/core/core/services/base.js +1 -1
  132. package/core/core/services/binary.js +1 -1
  133. package/core/core/services/binaryCommon.js +1 -1
  134. package/core/core/services/connectivity.js +1 -1
  135. package/core/core/services/connectivitySettings.js +1 -1
  136. package/core/core/services/counter.js +1 -1
  137. package/core/core/services/deviceBulkControl.js +1 -1
  138. package/core/core/services/deviceControl.js +1 -1
  139. package/core/core/services/deviceGroup.js +1 -1
  140. package/core/core/services/deviceShell.js +1 -1
  141. package/core/core/services/deviceStatus.js +1 -1
  142. package/core/core/services/devices.js +1 -1
  143. package/core/core/services/dynamicGroups.js +1 -1
  144. package/core/core/services/events.js +1 -1
  145. package/core/core/services/geo.js +1 -1
  146. package/core/core/services/groupTypesConfig.js +1 -1
  147. package/core/core/services/groups.js +1 -1
  148. package/core/core/services/identity.js +1 -1
  149. package/core/core/services/inventory.js +1 -1
  150. package/core/core/services/jsonSchemas.js +1 -1
  151. package/core/core/services/kpi.js +1 -1
  152. package/core/core/services/license.js +1 -1
  153. package/core/core/services/loginOptions.js +1 -1
  154. package/core/core/services/measurementUnits.js +1 -1
  155. package/core/core/services/measurements.js +1 -1
  156. package/core/core/services/messaging.js +1 -1
  157. package/core/core/services/notifications.js +1 -1
  158. package/core/core/services/permissions.js +1 -1
  159. package/core/core/services/promise.js +1 -1
  160. package/core/core/services/queriesUtil.js +1 -1
  161. package/core/core/services/realtime.js +1 -1
  162. package/core/core/services/realtimeLongPollingTransport.js +1 -1
  163. package/core/core/services/retentions.js +1 -1
  164. package/core/core/services/roles.js +1 -1
  165. package/core/core/services/settings.js +1 -1
  166. package/core/core/services/simulator.js +1 -1
  167. package/core/core/services/smartRestTemplates.js +1 -1
  168. package/core/core/services/statement.js +1 -1
  169. package/core/core/services/statistics.js +1 -1
  170. package/core/core/services/storageLimitation.js +1 -1
  171. package/core/core/services/system.js +1 -1
  172. package/core/core/services/tenant.js +1 -1
  173. package/core/core/services/tfaSettings.js +1 -1
  174. package/core/core/services/tracker.js +1 -1
  175. package/core/core/services/user.js +1 -1
  176. package/core/core/services/userGroup.js +1 -1
  177. package/core/core/services/userPreferences.js +1 -1
  178. package/core/core/services/util.js +1 -1
  179. package/core/core/services/workers.js +1 -1
  180. package/core/cumulocity.json +0 -14
  181. package/core/index.js +1 -1
  182. package/core/locales/de.po +216 -366
  183. package/core/locales/en.po +3 -15
  184. package/core/locales/en_US.po +887 -0
  185. package/core/locales/es.po +232 -372
  186. package/core/locales/fr.po +224 -373
  187. package/core/locales/ja_JP.po +187 -370
  188. package/core/locales/ko.po +132 -391
  189. package/core/locales/nl.po +222 -371
  190. package/core/locales/pl.po +227 -375
  191. package/core/locales/pt_BR.po +223 -369
  192. package/core/locales/zh_CN.po +127 -386
  193. package/core/locales/zh_TW.po +128 -387
  194. package/core/sdk/directives/login.js +1 -1
  195. package/core/sdk/directives/logout.js +1 -1
  196. package/core/sdk/directives/repeat.js +1 -1
  197. package/core/sdk/index.js +1 -1
  198. package/core/sdk/providers/cumulocity.js +1 -1
  199. package/core/ui/components/battery/battery.js +1 -1
  200. package/core/ui/components/errorFeedback.js +1 -1
  201. package/core/ui/components/feedback-panel.component.js +1 -1
  202. package/core/ui/components/inplaceInput.js +1 -1
  203. package/core/ui/components/passwordStrengthChecklist.js +1 -1
  204. package/core/ui/components/signalStrength/signal.js +1 -1
  205. package/core/ui/components/timelinesChart.js +1 -1
  206. package/core/ui/constants/pathUtils.js +1 -1
  207. package/core/ui/containers/header.component.js +1 -1
  208. package/core/ui/containers/root.component.js +1 -1
  209. package/core/ui/containers/wizard.component.js +1 -1
  210. package/core/ui/containers/wizardModal.service.js +1 -1
  211. package/core/ui/containers/wizardSlide.jquery.js +1 -1
  212. package/core/ui/containers/wizardStep.component.js +1 -1
  213. package/core/ui/controllers/addDynamicGroupModal.js +1 -1
  214. package/core/ui/controllers/binaryInputModal.js +1 -1
  215. package/core/ui/controllers/editRetentionRule.js +1 -1
  216. package/core/ui/controllers/eventList.js +1 -1
  217. package/core/ui/controllers/listPagination/listPagination.controller.js +1 -1
  218. package/core/ui/controllers/loginCtrl.js +1 -1
  219. package/core/ui/controllers/mcontainer.js +1 -1
  220. package/core/ui/controllers/radialGauge.js +1 -1
  221. package/core/ui/csvExporter/csv-escape-formulas-option.decorator.js +1 -1
  222. package/core/ui/csvExporter/csvExporter.controller.js +1 -1
  223. package/core/ui/csvExporter/csvExporter.directive.js +1 -1
  224. package/core/ui/csvExporter/csvExporter.service.js +1 -1
  225. package/core/ui/directives/affix.js +1 -1
  226. package/core/ui/directives/aggregation.js +1 -1
  227. package/core/ui/directives/alarmList.js +1 -1
  228. package/core/ui/directives/appIcon.js +1 -1
  229. package/core/ui/directives/auditList.js +1 -1
  230. package/core/ui/directives/audits.js +1 -1
  231. package/core/ui/directives/autocomplete.js +1 -1
  232. package/core/ui/directives/autofocus.js +1 -1
  233. package/core/ui/directives/binaryInput.js +1 -1
  234. package/core/ui/directives/binaryOut.js +1 -1
  235. package/core/ui/directives/bindHtmlCompile.js +1 -1
  236. package/core/ui/directives/codeEditor.js +1 -1
  237. package/core/ui/directives/dateTimePicker.js +1 -1
  238. package/core/ui/directives/deviceGroupSelector.js +1 -1
  239. package/core/ui/directives/downloadButton.js +1 -1
  240. package/core/ui/directives/editRetentionRule.js +1 -1
  241. package/core/ui/directives/eventList.js +1 -1
  242. package/core/ui/directives/filePicker.js +1 -1
  243. package/core/ui/directives/hScroll.js +1 -1
  244. package/core/ui/directives/icon.js +1 -1
  245. package/core/ui/directives/ifAllowed.js +1 -1
  246. package/core/ui/directives/interval.js +1 -1
  247. package/core/ui/directives/keyShortcut.js +1 -1
  248. package/core/ui/directives/listPagination/listPagination.js +1 -1
  249. package/core/ui/directives/listPagination/listPaginationControl.js +1 -1
  250. package/core/ui/directives/loadMore.js +1 -1
  251. package/core/ui/directives/login.js +1 -1
  252. package/core/ui/directives/map-plugins/geofence-layer.js +1 -1
  253. package/core/ui/directives/map.js +1 -1
  254. package/core/ui/directives/map2.js +1 -1
  255. package/core/ui/directives/max.js +1 -1
  256. package/core/ui/directives/min.js +1 -1
  257. package/core/ui/directives/number.js +1 -1
  258. package/core/ui/directives/onChange.js +1 -1
  259. package/core/ui/directives/passwordStrength.js +1 -1
  260. package/core/ui/directives/phoneNumber.js +1 -1
  261. package/core/ui/directives/pieChart.js +1 -1
  262. package/core/ui/directives/radialGauge.js +1 -1
  263. package/core/ui/directives/rdbDump.js +1 -1
  264. package/core/ui/directives/realtimeBtn.js +1 -1
  265. package/core/ui/directives/realtimeButton.js +1 -1
  266. package/core/ui/directives/refreshBtn.js +1 -1
  267. package/core/ui/directives/renderer.js +1 -1
  268. package/core/ui/directives/scrollLoad.js +1 -1
  269. package/core/ui/directives/spellcheck.js +1 -1
  270. package/core/ui/directives/sunburstChart.js +1 -1
  271. package/core/ui/directives/textOut.js +1 -1
  272. package/core/ui/directives/validateIp.js +1 -1
  273. package/core/ui/directives/validateUniqueExternalId.js +1 -1
  274. package/core/ui/fieldbus/fieldbus.service.js +1 -1
  275. package/core/ui/filteringSorting/filteredSortedList.controller.js +1 -1
  276. package/core/ui/filteringSorting/filteredSortedList.directive.js +1 -1
  277. package/core/ui/filteringSorting/filteringSortingCollections.service.js +1 -1
  278. package/core/ui/filteringSorting/filteringSortingColumnConfigModal.controller.js +1 -1
  279. package/core/ui/filteringSorting/filteringSortingColumns.service.js +1 -1
  280. package/core/ui/filteringSorting/filteringSortingInventoryQueries.service.js +1 -1
  281. package/core/ui/filters/absoluteDate.js +1 -1
  282. package/core/ui/filters/bytes.js +1 -1
  283. package/core/ui/filters/capitalizestring.js +1 -1
  284. package/core/ui/filters/checkForDate.js +1 -1
  285. package/core/ui/filters/dateParts.js +1 -1
  286. package/core/ui/filters/distance.js +1 -1
  287. package/core/ui/filters/duration.js +1 -1
  288. package/core/ui/filters/filter-translate.decorator.js +1 -1
  289. package/core/ui/filters/filterByFields.js +1 -1
  290. package/core/ui/filters/hex.filter.js +1 -1
  291. package/core/ui/filters/humanize.js +1 -1
  292. package/core/ui/filters/humanize2.js +1 -1
  293. package/core/ui/filters/humanizeAppName.js +1 -1
  294. package/core/ui/filters/orderBy-translate.decorator.js +1 -1
  295. package/core/ui/filters/relativedate.js +1 -1
  296. package/core/ui/filters/safeLinks.js +1 -1
  297. package/core/ui/filters/truncate.filter.js +1 -1
  298. package/core/ui/forms/checkDirty.directive.js +1 -1
  299. package/core/ui/forms/duration-input.component.js +1 -1
  300. package/core/ui/forms/hex-input.directive.js +1 -1
  301. package/core/ui/forms/host-address.validator.js +1 -1
  302. package/core/ui/forms/http-protocol.validator.js +1 -1
  303. package/core/ui/forms/model-options.directive.js +1 -1
  304. package/core/ui/forms/regular-expression.validator.js +1 -1
  305. package/core/ui/forms/required-input-placeholder.directive.js +1 -1
  306. package/core/ui/forms/saveButtonFooter.component.js +1 -1
  307. package/core/ui/forms/search.component.js +1 -1
  308. package/core/ui/forms/ssh-key-input.js +1 -1
  309. package/core/ui/forms/toggle-disabled-class-on-select-wrapper.directive.js +1 -1
  310. package/core/ui/forms/uib-dropdown-dropup.directive.js +1 -1
  311. package/core/ui/forms/uib-dropdown-hide-empty.directive.js +1 -1
  312. package/core/ui/forms/uib-dropdown.decorator.js +1 -1
  313. package/core/ui/forms/validate-url-segment.validator.js +1 -1
  314. package/core/ui/groups/group-create-and-assign.component.js +1 -1
  315. package/core/ui/groups/group-details.config.js +1 -1
  316. package/core/ui/groups/group-device-assignment.component.js +1 -1
  317. package/core/ui/header/accessDeniedModal.controller.js +1 -1
  318. package/core/ui/header/action-bar-set.component.js +1 -1
  319. package/core/ui/header/action-bar.component.js +1 -1
  320. package/core/ui/header/action-bar.service.js +1 -1
  321. package/core/ui/header/actions.component.js +1 -1
  322. package/core/ui/header/actions.provider.js +1 -1
  323. package/core/ui/index.js +1 -1
  324. package/core/ui/inputDirectives/colorpicker.js +1 -1
  325. package/core/ui/itemSelector/itemSelector.component.js +1 -1
  326. package/core/ui/keys.js +1 -1
  327. package/core/ui/leaflet/leaflet-directive.decorator.js +1 -1
  328. package/core/ui/lists/list-display-control.component.js +1 -1
  329. package/core/ui/lists/quickLinksList.service.js +1 -1
  330. package/core/ui/locales/locales.provider.js +1 -1
  331. package/core/ui/measurements/range.service.js +1 -1
  332. package/core/ui/measurements/rangeSet.service.js +1 -1
  333. package/core/ui/navigation/breadcrumbs.component.js +1 -1
  334. package/core/ui/navigation/breadcrumbs.provider.js +1 -1
  335. package/core/ui/navigation/breadcrumbsSet.component.js +1 -1
  336. package/core/ui/navigation/navigator.component.js +1 -1
  337. package/core/ui/navigation/navigatorNode.component.js +1 -1
  338. package/core/ui/navigation/tabs.component.js +1 -1
  339. package/core/ui/navigation/tabs.provider.js +1 -1
  340. package/core/ui/notifications/accessDenied.service.js +1 -1
  341. package/core/ui/notifications/alert.controller.js +1 -1
  342. package/core/ui/notifications/alert.service.js +1 -1
  343. package/core/ui/notifications/alertOnItem.directive.js +1 -1
  344. package/core/ui/notifications/alerts.component.js +1 -1
  345. package/core/ui/operations/operations-timeline-modal.component.js +1 -1
  346. package/core/ui/operations/operations-timeline.component.js +1 -1
  347. package/core/ui/properties/children.computedProperty.js +1 -1
  348. package/core/ui/properties/computedProperties.provider.js +1 -1
  349. package/core/ui/properties/computedPropertyConfig.controller.js +1 -1
  350. package/core/ui/properties/configurationSnapshot.computedProperty.js +1 -1
  351. package/core/ui/properties/counters.computedProperty.js +1 -1
  352. package/core/ui/properties/lastDeviceMessage.computedProperty.js +1 -1
  353. package/core/ui/properties/lastMeasurement.computedProperty.js +1 -1
  354. package/core/ui/properties/lastMeasurementConfig.controller.js +1 -1
  355. package/core/ui/properties/propertiesLibrary.service.js +1 -1
  356. package/core/ui/properties/propertySelector.controller.js +1 -1
  357. package/core/ui/properties/propertySelector.directive.js +1 -1
  358. package/core/ui/properties/schemaProperties.service.js +1 -1
  359. package/core/ui/properties/schemaPropertySelector.controller.js +1 -1
  360. package/core/ui/providers/beta.js +1 -1
  361. package/core/ui/providers/components.js +1 -1
  362. package/core/ui/providers/httpCache.js +1 -1
  363. package/core/ui/providers/keys.js +1 -1
  364. package/core/ui/providers/mapConfig.js +1 -1
  365. package/core/ui/providers/maps.js +1 -1
  366. package/core/ui/providers/navigator.js +1 -1
  367. package/core/ui/providers/objectActions.js +1 -1
  368. package/core/ui/providers/renderers.js +1 -1
  369. package/core/ui/providers/search.js +1 -1
  370. package/core/ui/providers/views.js +1 -1
  371. package/core/ui/providers/zip.js +1 -1
  372. package/core/ui/realtime/realtime-switch.component.js +1 -1
  373. package/core/ui/roles/roles-matrix.component.js +1 -1
  374. package/core/ui/sanitize-html/sanitize-html.js +1 -1
  375. package/core/ui/sanitize-html/sanitize-html.service.js +1 -1
  376. package/core/ui/schemaForm/dateTimePicker.config.js +1 -1
  377. package/core/ui/schemaForm/deviceGroupIdPicker.config.js +1 -1
  378. package/core/ui/schemaForm/fileUpload.config.js +1 -1
  379. package/core/ui/schemaForm/fileUpload.directive.js +1 -1
  380. package/core/ui/schemaForm/formatBySchema.filter.js +1 -1
  381. package/core/ui/schemaForm/overrides/decorators/bootstrap/array.html +1 -1
  382. package/core/ui/schemaForm/overrides/decorators/decorators.decorator.js +1 -1
  383. package/core/ui/schemaForm/schemaEditor.component.js +1 -1
  384. package/core/ui/schemaForm/schemaForm.component.js +1 -1
  385. package/core/ui/schemaForm/schemaForm.config.js +1 -1
  386. package/core/ui/schemaForm/schemaForm.run.js +1 -1
  387. package/core/ui/schemaForm/schemaFormHelper.service.js +1 -1
  388. package/core/ui/schemaForm/schemaPropertyEditor.component.js +1 -1
  389. package/core/ui/schemaForm/text.config.js +1 -1
  390. package/core/ui/services/batchop.js +1 -1
  391. package/core/ui/services/contextDetailsShared.service.js +1 -1
  392. package/core/ui/services/docs.js +1 -1
  393. package/core/ui/services/groupsHierarchyNavigator.js +1 -1
  394. package/core/ui/services/groupsHierarchySvc.js +1 -1
  395. package/core/ui/services/loginService.js +1 -1
  396. package/core/ui/services/measurementsReport.js +1 -1
  397. package/core/ui/services/modal.js +1 -1
  398. package/core/ui/services/passwordStrengthCheckerFactory.js +1 -1
  399. package/core/ui/services/support.js +1 -1
  400. package/core/ui/services/tenantOptions.js +1 -1
  401. package/core/ui/services/uiconfig.js +1 -1
  402. package/core/ui/services/util.js +1 -1
  403. package/core/ui/shims.js +1 -1
  404. package/core/ui/smartrules/smartRulesAvailability.service.js +1 -1
  405. package/core/ui/title/title.controller.js +1 -1
  406. package/core/ui/title/title.provider.js +1 -1
  407. package/core/ui/title/uiTitle.component.js +1 -1
  408. package/core/ui/title/uiTitleSet.component.js +1 -1
  409. package/core/ui/user/editUser.controller.js +1 -1
  410. package/core/ui/user/editUser.directive.js +1 -1
  411. package/core/ui/user/editUser.service.js +1 -1
  412. package/core/ui/user/measurementUnitPreference.component.js +1 -1
  413. package/core/ui/user/rolesUiStrings.constant.js +1 -1
  414. package/core/ui/user/userPicker.component.js +1 -1
  415. package/core/ui/user/userSettingsBlocks.provider.js +1 -1
  416. package/core/ui/user/userUtil.service.js +1 -1
  417. package/core/ui/user/usernameValidator.directive.js +1 -1
  418. package/core/ui/utils/copyToClipboard.directive.js +1 -1
  419. package/core/ui/utils/guide-docs.directive.js +1 -1
  420. package/core/ui/utils/rectangle-spinner.component.js +1 -1
  421. package/core/ui/utils/uiComponent.directive.js +1 -1
  422. package/core/ui/views/auditList.html +2 -2
  423. package/core/ui/views/deviceGroupSelector.html +17 -8
  424. package/core/update-query-params.js +1 -1
  425. package/dashboard2/dashboard/dashboardSelect.controller.js +1 -1
  426. package/dashboard2/dashboard.service.js +1 -1
  427. package/dashboard2/dashboardInventory.service.js +1 -1
  428. package/dashboard2/index.js +1 -1
  429. package/dataBroker/connectors/connectorEditor.component.js +1 -1
  430. package/dataBroker/connectors/connectors.component.js +1 -1
  431. package/dataBroker/connectors/connectors.html +2 -2
  432. package/dataBroker/connectors/connectors.service.js +1 -1
  433. package/dataBroker/connectorsAlarms/connectorAlarms.component.js +1 -1
  434. package/dataBroker/connectorsAlarms/connectorAlarms.html +4 -0
  435. package/dataBroker/dataBroker.config.js +1 -1
  436. package/dataBroker/dataBroker.module.js +1 -1
  437. package/dataBroker/subscriptions/addSubscription.component.js +1 -1
  438. package/dataBroker/subscriptions/pendingSubscription.component.js +1 -1
  439. package/dataBroker/subscriptions/subscription.component.js +1 -1
  440. package/dataBroker/subscriptions/subscriptions.component.js +1 -1
  441. package/dataPointExplorer/controllers/dataPointAdd.js +1 -1
  442. package/dataPointExplorer/controllers/dataPointExplorer.js +1 -1
  443. package/dataPointExplorer/controllers/dataPointItem.js +1 -1
  444. package/dataPointExplorer/controllers/dataPointList.js +1 -1
  445. package/dataPointExplorer/controllers/dataPointWidget.js +1 -1
  446. package/dataPointExplorer/controllers/dataPointWidgetConfig.js +1 -1
  447. package/dataPointExplorer/directives/dataPointList.js +1 -1
  448. package/dataPointExplorer/directives/dataPointValidator.js +1 -1
  449. package/dataPointExplorer/index.js +1 -1
  450. package/dataPointExplorer/services/dataPoints.js +1 -1
  451. package/dataPointTable/dataPointTable.controller.js +1 -1
  452. package/dataPointTable/dataPointTable.directive.js +1 -1
  453. package/dataPointTable/dataPointTable.service.js +1 -1
  454. package/dataPointTable/index.js +1 -1
  455. package/dataPointTable/realtimeRadioButton.directive.js +1 -1
  456. package/dataPointTable/widget.controller.js +1 -1
  457. package/device-protocol-actility/actility-device.provider.js +1 -1
  458. package/device-protocol-actility/actility.module.js +1 -1
  459. package/device-protocol-canbus/canbus-device.provider.js +1 -1
  460. package/device-protocol-canbus/canbus.module.js +1 -1
  461. package/device-protocol-canopen/canopen-device.provider.js +1 -1
  462. package/device-protocol-canopen/canopen.module.js +1 -1
  463. package/device-protocol-deviceDatabase4/device-protocol-deviceDatabase4.module.js +1 -1
  464. package/device-protocol-deviceDatabase4/device-type-create-step.component.js +1 -1
  465. package/device-protocol-deviceDatabase4/device-type-protocol-base.provider.js +1 -1
  466. package/device-protocol-deviceDatabase4/device-type-row-info.component.js +1 -1
  467. package/device-protocol-lora/lora-device.provider.js +1 -1
  468. package/device-protocol-lora/lora.module.js +1 -1
  469. package/device-protocol-lpwan/lpwan-device.provider.js +1 -1
  470. package/device-protocol-lpwan/lpwan.module.js +1 -1
  471. package/device-protocol-lwm2m/lwm2m.provider.js +1 -1
  472. package/device-protocol-lwm2m/lwm2mDetail.component.js +1 -1
  473. package/device-protocol-lwm2m/lwm2mFinalStep.component.js +1 -1
  474. package/device-protocol-lwm2m/lwm2mResource.component.js +1 -1
  475. package/device-protocol-lwm2m/lwm2mUploadStep.component.js +1 -1
  476. package/device-protocol-lwm2m/lwm2mValidationRules/lwm2mValidationRule.component.js +1 -1
  477. package/device-protocol-lwm2m/lwm2mValidationRules/lwm2mValidationRules.component.js +1 -1
  478. package/device-protocol-lwm2m/module.js +1 -1
  479. package/device-protocol-modbus/modbus-device.provider.js +1 -1
  480. package/device-protocol-modbus/modbus.module.js +1 -1
  481. package/device-protocol-opcua/opcua-device.provider.js +1 -1
  482. package/device-protocol-opcua/opcua.module.js +1 -1
  483. package/device-protocol-opcua-v2/opcua-device-v2.provider.js +1 -1
  484. package/device-protocol-opcua-v2/opcua-v2-create-step.component.js +1 -1
  485. package/device-protocol-opcua-v2/opcua-v2-row-info.component.js +1 -1
  486. package/device-protocol-opcua-v2/opcua-v2.module.js +1 -1
  487. package/device-protocol-profibus/profibus-device.provider.js +1 -1
  488. package/device-protocol-profibus/profibus.module.js +1 -1
  489. package/device-protocol-sigfox/sigfox-device.provider.js +1 -1
  490. package/device-protocol-sigfox/sigfox.module.js +1 -1
  491. package/device-protocol-snmp/snmp-device.provider.js +1 -1
  492. package/device-protocol-snmp/snmp.module.js +1 -1
  493. package/device-protocols/device-protocol-import-button.component.js +1 -1
  494. package/device-protocols/deviceProtocolBreadcrumb.component.js +1 -1
  495. package/device-protocols/deviceProtocolList.component.js +1 -1
  496. package/device-protocols/deviceProtocolSelect.component.js +1 -1
  497. package/device-protocols/deviceProtocolUi.provider.js +1 -1
  498. package/device-protocols/deviceProtocolView.component.js +1 -1
  499. package/device-protocols/deviceProtocolWizard.component.js +1 -1
  500. package/device-protocols/module.js +1 -1
  501. package/device-protocols/object-mapping.component.js +1 -1
  502. package/device-protocols/object-mappings.service.js +1 -1
  503. package/deviceActility/actilityUI.provider.js +1 -1
  504. package/deviceActility/deviceActility.module.js +1 -1
  505. package/deviceActility/deviceActility.service.js +1 -1
  506. package/deviceControlRelay/index.js +1 -1
  507. package/deviceControlRelay/relayControl/relayControl.controller.js +1 -1
  508. package/deviceControlRelay/relayControl/relayControl.directive.js +1 -1
  509. package/deviceControlRelay/widget.controller.js +1 -1
  510. package/deviceControlRelayArray/index.js +1 -1
  511. package/deviceControlRelayArray/relayArrayControl/relayArrayControl.controller.js +1 -1
  512. package/deviceControlRelayArray/relayArrayControl/relayArrayControl.directive.js +1 -1
  513. package/deviceControlRelayArray/widget.controller.js +1 -1
  514. package/deviceDatabase4/detail/basic-info.component.js +1 -1
  515. package/deviceDatabase4/detail/device-type-detail.component.js +1 -1
  516. package/deviceDatabase4/detail/discrete-inputs.component.js +1 -1
  517. package/deviceDatabase4/detail/discrete-outputs.component.js +1 -1
  518. package/deviceDatabase4/detail/holding-registers.component.js +1 -1
  519. package/deviceDatabase4/detail/input-registers.component.js +1 -1
  520. package/deviceDatabase4/detail/message-id-configuration-description.component.js +1 -1
  521. package/deviceDatabase4/detail/message-id-configuration.component.js +1 -1
  522. package/deviceDatabase4/detail/options.component.js +1 -1
  523. package/deviceDatabase4/device-database-4.module.js +1 -1
  524. package/deviceDatabase4/device-database.service.js +1 -1
  525. package/deviceDatabase4/device-type-list.component.js +1 -1
  526. package/deviceDatabase4/modals/configure-discrete-io.component.js +1 -1
  527. package/deviceDatabase4/modals/configure-register.component.js +1 -1
  528. package/deviceDatabase4/modals/import-device-type.component.js +1 -1
  529. package/deviceDatabase4/modals/select-fieldbus-property.component.js +1 -1
  530. package/deviceDatabase4/parsers/device-type-parser-eds.service.js +1 -1
  531. package/deviceDatabase4/parsers/device-type-parser-json.service.js +1 -1
  532. package/deviceDatabase4/parsers/device-type-parser-mib.service.js +1 -1
  533. package/deviceDatabase4/parsers/device-type-parser.service.js +1 -1
  534. package/deviceDatabase4/property-generator.service.js +1 -1
  535. package/deviceDatabase4/unique.directive.js +1 -1
  536. package/deviceDatabase4/validate-measurement-fragment.directive.js +1 -1
  537. package/deviceDatabase4/validate-value-in-register-range.directive.js +1 -1
  538. package/deviceDatabase4/vendor/ini.js +1 -1
  539. package/deviceDetail/index.js +1 -1
  540. package/deviceDetailIdentity/controllers/identity.js +1 -1
  541. package/deviceDetailIdentity/index.js +1 -1
  542. package/deviceGroupAssignment/deviceGroupAssignment.module.js +1 -1
  543. package/deviceGroupAssignment/groupAssignment.component.js +1 -1
  544. package/devicePropertyWidget/controllers/config.js +1 -1
  545. package/devicePropertyWidget/controllers/widget.js +1 -1
  546. package/devicePropertyWidget/directives/fragmentCheckboxList.js +1 -1
  547. package/devicePropertyWidget/index.js +1 -1
  548. package/devicePropertyWidget/services/moRealTimeDetails.js +1 -1
  549. package/deviceSelector/controllers/deviceSelectorComboCtrl.js +1 -1
  550. package/deviceSelector/controllers/deviceSelectorCtrl.js +1 -1
  551. package/deviceSelector/controllers/deviceSelectorListCtrl.js +1 -1
  552. package/deviceSelector/directives/deviceSelector.js +1 -1
  553. package/deviceSelector/directives/deviceSelectorCombo.js +1 -1
  554. package/deviceSelector/directives/deviceSelectorList.js +1 -1
  555. package/deviceSelector/index.js +1 -1
  556. package/deviceStatusWidget/availability.component.js +1 -1
  557. package/deviceStatusWidget/deviceStatus.component.js +1 -1
  558. package/deviceStatusWidget/deviceStatus.module.js +1 -1
  559. package/deviceStatusWidget/keyboardKeyHandler.service.js +1 -1
  560. package/deviceStatusWidget/ownerStatus.component.js +1 -1
  561. package/deviceStatusWidget/requiredAvailabilityIntervalSetting.component.js +1 -1
  562. package/deviceTitle/cumulocity.json +7 -0
  563. package/deviceTitle/index.js +1 -0
  564. package/devicemanagement-availability/controllers/availability.js +1 -1
  565. package/devicemanagement-availability/index.js +1 -1
  566. package/devicemanagement-deviceListMap/controllers/deviceListMap.js +1 -1
  567. package/devicemanagement-deviceListMap/index.js +1 -1
  568. package/devicemanagement-deviceManagement/cumulocity.json +1 -6
  569. package/devicemanagement-deviceManagement/devicemanagement.module.js +1 -1
  570. package/devicemanagement-deviceNetwork/controllers/network.js +1 -1
  571. package/devicemanagement-deviceNetwork/index.js +1 -1
  572. package/devicemanagement-eventList/controllers/eventList.js +1 -1
  573. package/devicemanagement-eventList/index.js +1 -1
  574. package/devicemanagement-location/controllers/location.js +1 -1
  575. package/devicemanagement-logViewer/config.js +1 -1
  576. package/devicemanagement-logViewer/controllers/logViewer.js +1 -1
  577. package/devicemanagement-logViewer/directives/logViewer.js +1 -1
  578. package/devicemanagement-logViewer/index.js +1 -1
  579. package/devicemanagement-logViewer/providers/logViewer.js +1 -1
  580. package/devicemanagement-measurements/index.js +1 -1
  581. package/devicemanagement-restartDevice/index.js +1 -1
  582. package/devicemanagement-tixiDeviceControl/index.js +1 -1
  583. package/enterpriseEdition/createFile.js +1 -1
  584. package/enterpriseEdition/customBranding/brandingConfiguration.constants.js +1 -1
  585. package/enterpriseEdition/customBranding/brandingConfiguration.service.js +1 -1
  586. package/enterpriseEdition/customBranding/brandingConfigurationForm.component.js +1 -1
  587. package/enterpriseEdition/customBranding/brandingConfigurationUi.provider.js +1 -1
  588. package/enterpriseEdition/customBranding/brandingDeploy.service.js +1 -1
  589. package/enterpriseEdition/customBranding/brandingProcessExecution.component.js +1 -1
  590. package/enterpriseEdition/customBranding/custom-branding.module.js +1 -1
  591. package/enterpriseEdition/customBranding/microservice.value.js +1 -1
  592. package/enterpriseEdition/enterpriseEdition.module.js +1 -1
  593. package/enterpriseEdition/enterpriseEditionAvailability.service.js +1 -1
  594. package/enterpriseEdition/sslCertificate/certificateActivation.component.js +1 -1
  595. package/enterpriseEdition/sslCertificate/certificateDeactivation.component.js +1 -1
  596. package/enterpriseEdition/sslCertificate/countDownRedirect.component.js +1 -1
  597. package/enterpriseEdition/sslCertificate/manageCertificate.component.js +1 -1
  598. package/enterpriseEdition/sslCertificate/manageCertificate.service.js +1 -1
  599. package/enterpriseEdition/ui-assets/index.js +1 -1
  600. package/enterpriseEdition/ui-assets/public-options.service.js +1 -1
  601. package/enterpriseEdition/ui-assets/static-assets.service.js +1 -1
  602. package/enterpriseEdition/ui-assets/ui-assets.service.js +1 -1
  603. package/eventList/eventList.controller.js +1 -1
  604. package/eventList/eventListConfig.controller.js +1 -1
  605. package/eventList/index.js +1 -1
  606. package/eventsBinary/components/eventBinaryActions/eventBinaryActions.js +1 -1
  607. package/eventsBinary/components/eventBinaryIcon/eventBinaryIcon.js +1 -1
  608. package/eventsBinary/components/eventBinaryPreview/eventBinaryPreview.js +1 -1
  609. package/eventsBinary/eventsBinary.module.js +1 -1
  610. package/eventsBinary/services/eventsBinary.service.js +1 -1
  611. package/export/controllers/detail.js +1 -1
  612. package/export/controllers/list.js +1 -1
  613. package/export/directives/timespan.js +1 -1
  614. package/export/index.js +1 -1
  615. package/export/index.mock.js +1 -1
  616. package/export/services/api.js +1 -1
  617. package/export/services/config.js +1 -1
  618. package/export/services/export.js +1 -1
  619. package/export/services/filters.js +1 -1
  620. package/fieldbusConfig/fieldbus-config.module.js +1 -1
  621. package/generic-ui/config-audit/config-audit-diff.component.js +1 -1
  622. package/generic-ui/config-audit/config-audit-modal.component.js +1 -1
  623. package/generic-ui/config-audit/config-audit.component.js +1 -1
  624. package/generic-ui/config-audit/config-audit.service.js +1 -1
  625. package/generic-ui/config-audit/index.js +1 -1
  626. package/generic-ui/data.mock.js +1 -1
  627. package/generic-ui/generic-ui-auto.component.js +1 -1
  628. package/generic-ui/generic-ui-config.provider.js +1 -1
  629. package/generic-ui/generic-ui-inventory-property.component.js +1 -1
  630. package/generic-ui/generic-ui-inventory.component.js +1 -1
  631. package/generic-ui/generic-ui-operation-list-button.component.js +1 -1
  632. package/generic-ui/generic-ui.component.js +1 -1
  633. package/generic-ui/generic-ui.service.js +1 -1
  634. package/generic-ui/module.js +1 -1
  635. package/groupsHierarchy/controllers/assetSearchCtrl.js +1 -1
  636. package/groupsHierarchy/controllers/groupDevicesCtrl.js +1 -1
  637. package/groupsHierarchy/controllers/groupsListCtrl.js +1 -1
  638. package/groupsHierarchy/groupsHierarchyUi.provider.js +1 -1
  639. package/groupsHierarchy/index.js +1 -1
  640. package/groupsHierarchy/index.mock.js +1 -1
  641. package/htmlWidget/htmlWidget.controller.js +1 -1
  642. package/htmlWidget/htmlWidget.directive.js +1 -1
  643. package/htmlWidget/htmlWidgetConfig.controller.js +1 -1
  644. package/htmlWidget/index.js +1 -1
  645. package/htmlWidget/index.mock.js +1 -1
  646. package/index.js +1 -1
  647. package/kpi/controllers/deprecated/edit.js +1 -1
  648. package/kpi/controllers/deprecated/graph.js +1 -1
  649. package/kpi/controllers/deprecated/multipleKpiConfig.js +1 -1
  650. package/kpi/controllers/deprecated/setup.js +1 -1
  651. package/kpi/controllers/gauge.js +1 -1
  652. package/kpi/controllers/kpiConfig.js +1 -1
  653. package/kpi/controllers/list.js +1 -1
  654. package/kpi/controllers/listConfig.js +1 -1
  655. package/kpi/controllers/pieChart.js +1 -1
  656. package/kpi/controllers/pieChartConfig.js +1 -1
  657. package/kpi/index.js +1 -1
  658. package/kpi/index.mock.js +0 -1
  659. package/kpi/services/baseWidget.js +1 -1
  660. package/kpi/services/kpi.js +1 -1
  661. package/kpi/services/mostRecentKpi.js +1 -1
  662. package/map/controllers/geofenceEdit.js +1 -1
  663. package/map/controllers/map.js +1 -1
  664. package/map/index.js +1 -1
  665. package/map/services/geofence.js +1 -1
  666. package/measurements/controllers/lineChart.js +1 -1
  667. package/measurements/controllers/measurements.js +1 -1
  668. package/measurements/directives/lineChart.js +1 -1
  669. package/measurements/directives/timeIntervalChoice.js +1 -1
  670. package/measurements/fragmentChart/fragmentChart.component.js +1 -1
  671. package/measurements/index.js +1 -1
  672. package/measurements/measurements2/axisX.service.js +1 -1
  673. package/measurements/measurements2/axisY.service.js +1 -1
  674. package/measurements/measurements2/chart.controller.js +1 -1
  675. package/measurements/measurements2/chart.directive.js +1 -1
  676. package/measurements/measurements2/chart.service.js +1 -1
  677. package/measurements/measurements2/chartCommon.service.js +1 -1
  678. package/measurements/measurements2/hoverInfo.service.js +1 -1
  679. package/measurements/measurements2/iconBar.js +1 -1
  680. package/measurements/measurements2/rtAutoMove.service.js +1 -1
  681. package/measurements/measurements2/series.service.js +1 -1
  682. package/measurements/services/lineChartService.js +1 -1
  683. package/modbusConfiguration4/fieldbus-config.component.js +1 -1
  684. package/modbusConfiguration4/fieldbus-device-list.component.js +1 -1
  685. package/modbusConfiguration4/modbus-configuration-4.config.js +1 -1
  686. package/modbusConfiguration4/modbus-configuration-4.module.js +1 -1
  687. package/modbusWidget4/constants.js +1 -1
  688. package/modbusWidget4/modbus-widget.service.js +1 -1
  689. package/modbusWidget4/widget-config.component.js +1 -1
  690. package/modbusWidget4/widget.component.js +1 -1
  691. package/modbusWidget4/widget.config.js +1 -1
  692. package/modbusWidget4/widget.html +1 -1
  693. package/modbusWidget4/widget.module.js +1 -1
  694. package/modbusWidgets/controllers/widget.js +1 -1
  695. package/modbusWidgets/controllers/widgetConfig.js +1 -1
  696. package/modbusWidgets/index.js +1 -1
  697. package/modbusWidgets/services/modbusWidget.js +1 -1
  698. package/newsletter/downloadEmailsList.component.js +1 -1
  699. package/newsletter/newsletter.config.js +1 -1
  700. package/newsletter/newsletter.module.js +1 -1
  701. package/newsletter/newsletter.service.js +1 -1
  702. package/newsletter/subscribeNewsletter.component.js +1 -1
  703. package/nvd3ChartDirectives/override.js +1 -1
  704. package/oauth/controllers/oauth.js +1 -1
  705. package/oauth/index.js +1 -1
  706. package/package.json +5 -5
  707. package/platformConfiguration/index.js +1 -1
  708. package/platformConfiguration/platformConfiguration.component.js +1 -1
  709. package/platformConfiguration/platformConfigurationUi.provider.js +1 -1
  710. package/propertiesLibrary/index.js +1 -1
  711. package/propertiesLibrary/jsonSchemaObjectEditor.component.js +1 -1
  712. package/propertiesLibrary/jsonSchemaObjectsList.component.js +1 -1
  713. package/qrCode/controllers/qrCode.js +1 -1
  714. package/qrCode/directives/displayQrCode.js +1 -1
  715. package/qrCode/index.js +1 -1
  716. package/qrCode/services/qrCodePrinter.js +1 -1
  717. package/qrCode/services/qrCodeTemplate.js +1 -1
  718. package/relayWidget/index.js +1 -1
  719. package/relayWidget/relay.controller.js +1 -1
  720. package/relayWidget/relay.service.js +1 -1
  721. package/remoteAccess/clients/remoteAccessClients.service.js +1 -1
  722. package/remoteAccess/clients/terminal/index.js +1 -1
  723. package/remoteAccess/clients/terminal/shell-adapter.js +1 -1
  724. package/remoteAccess/clients/terminal/telnet-negotiator.js +1 -1
  725. package/remoteAccess/clients/vnc/vncClient.js +1 -1
  726. package/remoteAccess/remoteAccess.module.js +1 -1
  727. package/remoteAccess/remoteAccess.service.js +1 -1
  728. package/remoteAccess/remoteAccessEndpointCard/remoteAccessEndpointCard.component.js +1 -1
  729. package/remoteAccess/remoteAccessEndpointModal/remoteAccessEndpointModal.component.js +1 -1
  730. package/remoteAccess/remoteAccessEndpointsList/remoteAccessEndpointsList.component.js +1 -1
  731. package/remoteAccess/remoteAccessSettings/remoteAccessSettings.component.js +1 -1
  732. package/remoteAccess/remoteAccessUI.provider.js +1 -1
  733. package/roles/detail/roleDetailGlobal.component.js +1 -1
  734. package/roles/detail/roleDetailInventory.component.js +1 -1
  735. package/roles/detail/roleGlobalSaveConfirm.controller.js +1 -1
  736. package/roles/detail/roleGlobalSaveConfirm.html +9 -5
  737. package/roles/detail/roleInventoryPermissionList.component.js +1 -1
  738. package/roles/detail/roleTitle.component.js +1 -1
  739. package/roles/index.js +1 -1
  740. package/roles/list/rolesList.component.js +1 -1
  741. package/roles/list/rolesOverview.controller.js +1 -1
  742. package/roles/rolesUi.provider.js +1 -1
  743. package/scada/config.controller.js +1 -1
  744. package/scada/index.js +1 -1
  745. package/scada/index.mock.js +1 -1
  746. package/scada/mapping.directive.js +1 -1
  747. package/scada/svg.directive.js +1 -1
  748. package/scada/util.service.js +1 -1
  749. package/scada/views/component.html +1 -0
  750. package/scada/views/componentConfig.html +1 -0
  751. package/scada/widget.controller.js +1 -1
  752. package/simulators/add/simulatorAdd.component.js +1 -1
  753. package/simulators/detail/detail.component.js +1 -1
  754. package/simulators/detail/detail.controller.js +1 -1
  755. package/simulators/detail/instructionAdd.component.js +1 -1
  756. package/simulators/detail/instructionDetail.component.js +1 -1
  757. package/simulators/detail/instructionList.component.js +1 -1
  758. package/simulators/detail/operationAddDialog.component.js +1 -1
  759. package/simulators/detail/operations.component.js +1 -1
  760. package/simulators/index.js +1 -1
  761. package/simulators/list/list.component.js +1 -1
  762. package/simulators/list/simulatorCloneDialog.component.js +1 -1
  763. package/simulators/simulators.service.js +1 -1
  764. package/simulators/simulatorsUi.provider.js +1 -1
  765. package/smartRestEditor/addTemplate/addTemplate.component.js +1 -1
  766. package/smartRestEditor/csvPreviewer/csvPreviewer.component.js +1 -1
  767. package/smartRestEditor/details.controller.js +1 -1
  768. package/smartRestEditor/importTemplate/importTemplate.component.js +1 -1
  769. package/smartRestEditor/index.js +1 -1
  770. package/smartRestEditor/list.controller.js +1 -1
  771. package/smartRestEditor/requestEditor/requestEditor.component.js +1 -1
  772. package/smartRestEditor/responseEditor/responseEditor.component.js +1 -1
  773. package/smartRestEditor/validators/validateCustomFieldKeyInRequestTemplate.directive.js +1 -1
  774. package/smartRestEditor/validators/validateUniqueMsgIdInTemplate.directive.js +1 -1
  775. package/smartRestEditor/valueInput/valueInput.directive.js +1 -1
  776. package/smartRestEditorUI/index.js +1 -1
  777. package/smartRules/add/addSmartRuleButton.component.js +1 -1
  778. package/smartRules/controllers/add.js +1 -1
  779. package/smartRules/controllers/childAssetsSelector.js +1 -1
  780. package/smartRules/controllers/edit.js +1 -1
  781. package/smartRules/controllers/list.js +1 -1
  782. package/smartRules/controllers/smartRuleParamInput.js +1 -1
  783. package/smartRules/directives/childAssetsSelector.js +1 -1
  784. package/smartRules/directives/smartRuleParamInput.js +1 -1
  785. package/smartRules/directives/smartRuleParamInputAlarmSeverity.js +1 -1
  786. package/smartRules/directives/smartRuleParamInputAlarmType.js +1 -1
  787. package/smartRules/directives/smartRuleParamInputCheckbox.js +1 -1
  788. package/smartRules/directives/smartRuleParamInputDashboard.js +1 -1
  789. package/smartRules/directives/smartRuleParamInputDefault.js +1 -1
  790. package/smartRules/directives/smartRuleParamInputEmail.js +1 -1
  791. package/smartRules/directives/smartRuleParamInputEscalationSteps.js +1 -1
  792. package/smartRules/directives/smartRuleParamInputExportConfiguration.js +1 -1
  793. package/smartRules/directives/smartRuleParamInputFrequency.js +1 -1
  794. package/smartRules/directives/smartRuleParamInputGeofence.js +1 -1
  795. package/smartRules/directives/smartRuleParamInputKpi.js +1 -1
  796. package/smartRules/directives/smartRuleParamInputNumber.js +1 -1
  797. package/smartRules/directives/smartRuleParamInputOperation.js +1 -1
  798. package/smartRules/directives/smartRuleParamInputPhoneNumber.js +1 -1
  799. package/smartRules/directives/smartRuleParamInputSelect.js +1 -1
  800. package/smartRules/directives/smartRuleParamInputTextarea.js +1 -1
  801. package/smartRules/directives/smartRuleParamInputTimeInterval.js +1 -1
  802. package/smartRules/directives/smartRuleParamWarnMaxLength.js +1 -1
  803. package/smartRules/index.js +1 -1
  804. package/smartRules/list/smartRulesList.component.js +1 -1
  805. package/smartRules/services/smartRuleTemplates.js +1 -1
  806. package/smartRules/services/smartRules.js +1 -1
  807. package/smartRules/views/paramInputAlarmType.html +25 -13
  808. package/smartRules/views/paramInputEscalationSteps.html +53 -19
  809. package/smartRules/views/paramInputKpi.html +18 -12
  810. package/smartRules/views/paramInputOperation.html +17 -14
  811. package/smartRules/views/paramInputTimeInterval.html +25 -17
  812. package/switchDisplay/controller/switchDisplayConfigCtrl.js +1 -1
  813. package/switchDisplay/controller/switchDisplayCtrl.js +1 -1
  814. package/switchDisplay/index.js +1 -1
  815. package/tenantApplications/controllers/main.js +1 -1
  816. package/tenantApplications/index.js +1 -1
  817. package/tenantApplications/subscribed-applications/subscribed-applications.component.js +1 -1
  818. package/tenantLicenses/index.js +1 -1
  819. package/tenantLicenses/licenseManagement.component.js +1 -1
  820. package/tenantPolicies/retentionRule/retentionRuleRow.component.js +1 -1
  821. package/tenantPolicies/systemOptions/editSystemOption.component.js +1 -1
  822. package/tenantPolicies/systemOptions/systemOptionsRow.component.js +1 -1
  823. package/tenantPolicies/tenantOptions/editTenantOption.component.js +1 -1
  824. package/tenantPolicies/tenantOptions/tenantOptionsRow.component.js +1 -1
  825. package/tenantPolicies/tenantPolicies.module.js +1 -1
  826. package/tenantPolicies/tenantPolicies.service.js +1 -1
  827. package/tenantPolicies/tenantPoliciesConfig.provider.js +1 -1
  828. package/tenantPolicies/tenantPolicyDetail/tenantPolicyDetail.component.js +1 -1
  829. package/tenantPolicies/tenantPolicyDetail/tenantPolicyRow.component.js +1 -1
  830. package/tenantPolicies/tenantPolicyList/tenantPolicyList.component.js +1 -1
  831. package/tenantStatistics/index.js +1 -1
  832. package/tenantStatistics/tenant-statistics-columns.service.js +1 -1
  833. package/tenantStatistics/tenant-statistics.component.js +1 -1
  834. package/tenants/controllers/customProperties.js +1 -1
  835. package/tenants/controllers/detail.js +1 -1
  836. package/tenants/index.js +1 -1
  837. package/tenants/index.mock.js +1 -1
  838. package/trackerConfiguration/controllers/msisdnAlert.controller.js +1 -1
  839. package/trackerConfiguration/controllers/trackerConfiguration.controller.js +1 -1
  840. package/trackerConfiguration/directives/msisdnAlert.directive.js +1 -1
  841. package/trackerConfiguration/index.js +1 -1
  842. package/trackerConfiguration/services/realtimeLockup.service.js +1 -1
  843. package/trackerConfiguration/services/trackerAlarms.service.js +1 -1
  844. package/trackerConfiguration/services/trackerLocation.service.js +1 -1
  845. package/trackerConfiguration/services/trackerRestart.service.js +1 -1
  846. package/trackerConfiguration/services/trackerSituation.service.js +1 -1
  847. package/trackerConfiguration/services/trackerSos.service.js +1 -1
  848. package/trackerConfiguration/services/unitConversionHelper.service.js +1 -1
  849. package/trackerModels/index.js +1 -1
  850. package/trackerModels/trackerModels.service.js +1 -1
  851. package/trackerRegistration/index.js +1 -1
  852. package/trackerRegistration/trackerRegistration.controller.js +1 -1
  853. package/trackerRegistration/trackerRegistration.service.js +1 -1
  854. package/trackerRegistration/trackerRegistrationHistory.service.js +1 -1
  855. package/trackingAppConfig/index.js +1 -1
  856. package/trafficLightWidget/index.js +1 -1
  857. package/trafficLightWidget/states-mapping.component.js +1 -1
  858. package/trafficLightWidget/traffic-light.component.js +1 -1
  859. package/userRoles/copyRolesModal/copyRolesModal.component.js +1 -1
  860. package/userRoles/index.js +1 -1
  861. package/userRoles/inventoryRoleSelector/inventoryRoleSelector.component.js +1 -1
  862. package/userRoles/inventoryRolesTab/inventoryRolesTab.component.js +1 -1
  863. package/userRoles/rolesAssetTree/rolesAssetTree.component.js +1 -1
  864. package/userRoles/userRoles.service.js +1 -1
  865. package/userRoles/userRolesUi.service.js +1 -1
  866. package/users/aclEditor/aclEditor.directive.js +1 -1
  867. package/users/applicationAccess/applicationAccess.directive.js +1 -1
  868. package/users/index.js +1 -1
  869. package/users/userDetailView/userApplicationAccess.component.js +1 -1
  870. package/users/userDetailView/userDetailView.component.js +1 -1
  871. package/users/userList/userList.component.js +1 -1
  872. package/users/userListView/userListView.component.js +1 -1
  873. package/users/userRemovalModal/userRemovalModal.component.js +1 -1
  874. package/users/usersUi.provider.js +1 -1
  875. package/actilityProviderSettings/actilityProviderSettings.module.js +0 -1
  876. package/actilityProviderSettings/actilitySettings.component.js +0 -1
  877. package/actilityProviderSettings/actilitySettings.html +0 -128
  878. package/actilityProviderSettings/actilitySettings.service.js +0 -1
  879. package/actilityProviderSettings/cumulocity.json +0 -14
  880. package/cell-id-information-activator/cell-id-information-activator.config.js +0 -1
  881. package/cell-id-information-activator/cell-id-information-activator.module.js +0 -1
  882. package/cell-id-information-activator/cell-id-information-activator.service.js +0 -1
  883. package/cell-id-information-activator/cumulocity.json +0 -13
  884. package/cell-id-usage-statistics/cell-id-usage-statistics.component.js +0 -1
  885. package/cell-id-usage-statistics/cell-id-usage-statistics.config.js +0 -1
  886. package/cell-id-usage-statistics/cell-id-usage-statistics.html +0 -104
  887. package/cell-id-usage-statistics/cell-id-usage-statistics.module.js +0 -1
  888. package/cell-id-usage-statistics/cell-id-usage-statistics.service.js +0 -1
  889. package/cell-id-usage-statistics/constants.js +0 -1
  890. package/cell-id-usage-statistics/cumulocity.json +0 -15
  891. package/configurationRepository/configurationRepository.service.js +0 -1
  892. package/configurationRepository/cumulocity.json +0 -13
  893. package/configurationRepository/index.js +0 -1
  894. package/configurationRepository/list.controller.js +0 -1
  895. package/configurationRepository/views/list.html +0 -273
  896. package/core/core/services/combain.js +0 -1
  897. package/core/locales/ru.po +0 -17228
  898. package/core/ui/configurable-device-list-columns/configurable-columns.service.js +0 -1
  899. package/core/ui/configurable-device-list-columns/constants.js +0 -1
  900. package/core/ui/configurable-device-list-columns/modal-columns-configure.component.html +0 -171
  901. package/core/ui/configurable-device-list-columns/modal-columns-configure.component.js +0 -1
  902. package/core/ui/configurable-device-list-columns/unique-by.directive.js +0 -1
  903. package/core/ui/controllers/deviceList.js +0 -1
  904. package/core/ui/devices/device-details.config.js +0 -1
  905. package/core/ui/directives/deviceDetailBasic/availability.js +0 -1
  906. package/core/ui/directives/deviceDetailBasic/group.js +0 -1
  907. package/core/ui/directives/deviceList.js +0 -1
  908. package/core/ui/directives/deviceStatusDisplay.js +0 -1
  909. package/core/ui/directives/linearGauge.js +0 -1
  910. package/core/ui/directives/silo.js +0 -1
  911. package/core/ui/services/deviceListColumns.js +0 -1
  912. package/core/ui/views/deviceDetailBasic/availability.html +0 -85
  913. package/core/ui/views/deviceDetailBasic/basic.html +0 -165
  914. package/core/ui/views/deviceDetailBasic/firmware.html +0 -26
  915. package/core/ui/views/deviceDetailBasic/group.html +0 -36
  916. package/core/ui/views/deviceDetailBasic/groupSelectModal.html +0 -50
  917. package/core/ui/views/deviceDetailBasic/hardware.html +0 -28
  918. package/core/ui/views/deviceDetailBasic/mobile.html +0 -82
  919. package/core/ui/views/deviceDetailBasic/network.html +0 -12
  920. package/core/ui/views/deviceList.html +0 -64
  921. package/core/ui/views/deviceStatusDisplay.html +0 -44
  922. package/core/ui/views/linearGauge.html +0 -11
  923. package/core/ui/views/silo.html +0 -16
  924. package/deviceConfiguration/cumulocity.json +0 -14
  925. package/deviceConfiguration/index.js +0 -1
  926. package/deviceConfiguration/styles/styles.less +0 -1
  927. package/deviceConfiguration/views/configuration.html +0 -7
  928. package/deviceList/cumulocity.json +0 -14
  929. package/deviceList/deviceList.controller.js +0 -1
  930. package/deviceList/index.js +0 -1
  931. package/deviceList/views/index.html +0 -9
  932. package/kpi/img/linear-gauge-widget-pr.png +0 -0
  933. package/kpi/img/silo-widget-pr.png +0 -0
  934. package/kpi/views/linearGauge.html +0 -11
  935. package/kpi/views/silo.html +0 -9
  936. package/sigfox-provider-settings/cumulocity.json +0 -14
  937. package/sigfox-provider-settings/sigfox-provider-settings.module.js +0 -1
  938. package/sigfox-provider-settings/sigfox-settings.component.js +0 -1
  939. package/sigfox-provider-settings/sigfox-settings.html +0 -83
  940. package/sigfox-provider-settings/sigfox-settings.service.js +0 -1
@@ -1 +1 @@
1
- "use strict";!function(){function e(e,n,t){var i=this;_.assign(i,{$onInit:function(){t.all({isTopTenant:e.isTopTenant(),isEnterpriseEditionTenant:e.isEnterpriseEditionTenant()}).then(function(e){var n=e.isTopTenant,e=e.isEnterpriseEditionTenant;i.canDisableEdit=n||e}),_.set(i,"rule.editable",_.get(i,"rule.editable",!1))},$onChanges:function(){_.get(i.rule,"isNew")&&(delete i.rule.isNew,i.isOpen=!0)},dataTypes:n.DATA_TYPES})}e.$inject=["c8yTenantPolicies","c8yRetentions","$q"],angular.module("c8y.tenantPolicies").component("c8yRetentionRuleRow",{templateUrl:":::PLUGIN_PATH:::/retentionRule/retentionRuleRow.html",controller:e,controllerAs:"vm",bindings:{rule:"<",onRemove:"&"}})}();
1
+ (()=>{function e(e,n,t){var i=this;_.assign(i,{$onInit:function(){t.all({isTopTenant:e.isTopTenant(),isEnterpriseEditionTenant:e.isEnterpriseEditionTenant()}).then(function(e){var n=e.isTopTenant;i.canDisableEdit=n||e.isEnterpriseEditionTenant}),_.set(i,"rule.editable",_.get(i,"rule.editable",!1))},$onChanges:function(){_.get(i.rule,"isNew")&&(delete i.rule.isNew,i.isOpen=!0)},dataTypes:n.DATA_TYPES})}e.$inject=["c8yTenantPolicies","c8yRetentions","$q"],angular.module("c8y.tenantPolicies").component("c8yRetentionRuleRow",{templateUrl:":::PLUGIN_PATH:::/retentionRule/retentionRuleRow.html",controller:e,controllerAs:"vm",bindings:{rule:"<",onRemove:"&"}})})();
@@ -1 +1 @@
1
- "use strict";angular.module("c8y.tenantPolicies").component("c8yEditSystemOption",{templateUrl:":::PLUGIN_PATH:::/systemOptions/editSystemOption.html",controllerAs:"vm",bindings:{option:"="}});
1
+ angular.module("c8y.tenantPolicies").component("c8yEditSystemOption",{templateUrl:":::PLUGIN_PATH:::/systemOptions/editSystemOption.html",controllerAs:"vm",bindings:{option:"="}});
@@ -1 +1 @@
1
- "use strict";!function(){function n(n){var t=this;_.assign(t,{$onInit:function(){n.isTopTenant().then(function(n){t.canDisableEdit=n})},$onChanges:function(){_.get(t.option,"isNew")&&(delete t.option.isNew,t.isOpen=!0)}})}n.$inject=["c8yTenantPolicies"],angular.module("c8y.tenantPolicies").component("c8ySystemOptionsRow",{templateUrl:":::PLUGIN_PATH:::/systemOptions/systemOptionsRow.html",controller:n,controllerAs:"vm",bindings:{option:"<",onRemove:"&"}})}();
1
+ (()=>{function n(n){var t=this;_.assign(t,{$onInit:function(){n.isTopTenant().then(function(n){t.canDisableEdit=n})},$onChanges:function(){_.get(t.option,"isNew")&&(delete t.option.isNew,t.isOpen=!0)}})}n.$inject=["c8yTenantPolicies"],angular.module("c8y.tenantPolicies").component("c8ySystemOptionsRow",{templateUrl:":::PLUGIN_PATH:::/systemOptions/systemOptionsRow.html",controller:n,controllerAs:"vm",bindings:{option:"<",onRemove:"&"}})})();
@@ -1 +1 @@
1
- "use strict";angular.module("c8y.tenantPolicies").component("c8yEditTenantOption",{templateUrl:":::PLUGIN_PATH:::/tenantOptions/editTenantOption.html",controllerAs:"vm",bindings:{option:"="}});
1
+ angular.module("c8y.tenantPolicies").component("c8yEditTenantOption",{templateUrl:":::PLUGIN_PATH:::/tenantOptions/editTenantOption.html",controllerAs:"vm",bindings:{option:"="}});
@@ -1 +1 @@
1
- "use strict";!function(){function n(n){var t=this;_.assign(t,{$onInit:function(){n.isTopTenant().then(function(n){t.canDisableEdit=n})},$onChanges:function(){_.get(t.option,"isNew")&&(delete t.option.isNew,t.isOpen=!0)}})}n.$inject=["c8yTenantPolicies"],angular.module("c8y.tenantPolicies").component("c8yTenantOptionsRow",{templateUrl:":::PLUGIN_PATH:::/tenantOptions/tenantOptionsRow.html",controller:n,controllerAs:"vm",bindings:{option:"<",onRemove:"&"}})}();
1
+ (()=>{function n(n){var t=this;_.assign(t,{$onInit:function(){n.isTopTenant().then(function(n){t.canDisableEdit=n})},$onChanges:function(){_.get(t.option,"isNew")&&(delete t.option.isNew,t.isOpen=!0)}})}n.$inject=["c8yTenantPolicies"],angular.module("c8y.tenantPolicies").component("c8yTenantOptionsRow",{templateUrl:":::PLUGIN_PATH:::/tenantOptions/tenantOptionsRow.html",controller:n,controllerAs:"vm",bindings:{option:"<",onRemove:"&"}})})();
@@ -1 +1 @@
1
- "use strict";!function(){function n(n){n.config()}n.$inject=["c8yTenantPoliciesConfigProvider"],angular.module("c8y.tenantPolicies",[]).config(n)}();
1
+ (()=>{function n(n){n.config()}n.$inject=["c8yTenantPoliciesConfigProvider"],angular.module("c8y.tenantPolicies",[]).config(n)})();
@@ -1 +1 @@
1
- "use strict";function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}!function(){function t(n,e,o,t){var r="c8y_TenantPolicy",i={category:"password",key:"strength.validity"};return{list:function(){var t={type:r};return o.list(t)},detail:o.detail,remove:o.remove,save:function(t){t.id||(t.type=r);return o.save(t)},isTopTenant:t.isCurrentUserTopTenant,isEnterpriseEditionTenant:t.isEnterpriseEditionTenant,doesEnforceStrongPassword:function(t){return("object"===_typeof(t)?n.resolve(t):o.detail(t).then(e.getResData,function(){return{options:[]}})).then(function(t){return"true"===_.find(t.options,i).value.toLowerCase()}).catch(function(){return!1})}}}t.$inject=["$q","c8yBase","c8yInventory","c8yTenant"],angular.module("c8y.tenantPolicies").factory("c8yTenantPolicies",t)}();
1
+ function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}(()=>{function t(n,e,o,t){var r="c8y_TenantPolicy",i={category:"password",key:"strength.validity"};return{list:function(){var t={type:r};return o.list(t)},detail:o.detail,remove:o.remove,save:function(t){t.id||(t.type=r);return o.save(t)},isTopTenant:t.isCurrentUserTopTenant,isEnterpriseEditionTenant:t.isEnterpriseEditionTenant,doesEnforceStrongPassword:function(t){return("object"===_typeof(t)?n.resolve(t):o.detail(t).then(e.getResData,function(){return{options:[]}})).then(function(t){return"true"===_.find(t.options,i).value.toLowerCase()}).catch(function(){return!1})}}}t.$inject=["$q","c8yBase","c8yInventory","c8yTenant"],angular.module("c8y.tenantPolicies").factory("c8yTenantPolicies",t)})();
@@ -1 +1 @@
1
- "use strict";!function(){function e(e,t,s){c.$inject=["$route","$q"],o.$inject=["$location","c8yBase","c8yModal","c8yAlert","c8yTenantPolicies","gettextCatalog"];var d="tenantpolicies",p="c8y-tenant-policies",n="".concat(d,"/:tenantPolicyId"),f="".concat(d,"/new"),i={template:"<c8y-tenant-policy-list/>"},a={template:'<c8y-tenant-policy-detail id="$resolve.id"/>',resolve:{id:c}},y=s("Tenant policies");return{config:function(){e.when(d,i),e.when(n,a),t.addNavigation({name:y,parent:s("Tenants"),icon:p,path:d,routerLinkExact:!1,showIf:["c8yUserUtil",function(e){return e.canUserManageTenant()}]})},$get:o};function c(e,t){e=e.current.params.tenantPolicyId;return/^(\d+|new)$/.test(e)?e:t.reject()}function o(t,n,i,a,c,o){var e;return{TITLE:y,ROUTE_NEW:f,ICON:p,edit:function(e){t.path("".concat(d,"/").concat(n.getId(e)))},toList:function(){t.path(d)},defaultObject:r,removeConfirm:function(e){return i({status:"danger",size:"sm",title:s("Delete tenant policy"),body:o.getString('Are you sure you want to delete tenant policy "{{name}}"?',e),labels:{ok:s("Delete")}}).then(_.partial(c.remove,e)).then(_.partial(l,e))},duplicate:function(e){r.default=_.cloneDeep(_.pick(e,["name","description","options","retentions"])),t.path(f)},removeDuplicate:function(){clearTimeout(e),e=setTimeout(function(){delete r.default},100)},isDuplicate:function(){return!!r.default},saveName:function(e,t){e.name=t,e.id&&c.save(_.pick(e,["id","name"])).then(_.partial(u,e))}};function r(){return r.default||{name:o.getString("New tenant policy"),description:o.getString("New tenant policy description"),options:[],retentions:[]}}function l(e){e=o.getString('Tenant policy "{{name}}" deleted',e);a.success(e)}function u(e){e=o.getString('Tenant policy name changed to "{{name}}"',e);a.success(e)}}}e.$inject=["c8yViewsProvider","c8yNavigatorProvider","gettext"],angular.module("c8y.tenantPolicies").provider("c8yTenantPoliciesConfig",e)}();
1
+ (()=>{function e(e,t,s){c.$inject=["$route","$q"],o.$inject=["$location","c8yBase","c8yModal","c8yAlert","c8yTenantPolicies","gettextCatalog"];var d="tenantpolicies",p="c8y-tenant-policies",n="".concat(d,"/:tenantPolicyId"),f="".concat(d,"/new"),i={template:"<c8y-tenant-policy-list/>"},a={template:'<c8y-tenant-policy-detail id="$resolve.id"/>',resolve:{id:c}},y=s("Tenant policies");return{config:function(){e.when(d,i),e.when(n,a),t.addNavigation({name:y,parent:s("Tenants"),icon:p,path:d,routerLinkExact:!1,showIf:["c8yUserUtil",function(e){return e.canUserManageTenant()}]})},$get:o};function c(e,t){e=e.current.params.tenantPolicyId;return/^(\d+|new)$/.test(e)?e:t.reject()}function o(t,n,i,a,c,o){var e;return{TITLE:y,ROUTE_NEW:f,ICON:p,edit:function(e){t.path("".concat(d,"/").concat(n.getId(e)))},toList:function(){t.path(d)},defaultObject:r,removeConfirm:function(e){return i({status:"danger",size:"sm",title:s("Delete tenant policy"),body:o.getString('Are you sure you want to delete tenant policy "{{name}}"?',e),labels:{ok:s("Delete")}}).then(_.partial(c.remove,e)).then(_.partial(l,e))},duplicate:function(e){r.default=_.cloneDeep(_.pick(e,["name","description","options","retentions"])),t.path(f)},removeDuplicate:function(){clearTimeout(e),e=setTimeout(function(){delete r.default},100)},isDuplicate:function(){return!!r.default},saveName:function(e,t){e.name=t,e.id&&c.save(_.pick(e,["id","name"])).then(_.partial(u,e))}};function r(){return r.default||{name:o.getString("New tenant policy"),description:o.getString("New tenant policy description"),options:[],retentions:[]}}function l(e){e=o.getString('Tenant policy "{{name}}" deleted',e);a.success(e)}function u(e){e=o.getString('Tenant policy name changed to "{{name}}"',e);a.success(e)}}}e.$inject=["c8yViewsProvider","c8yNavigatorProvider","gettext"],angular.module("c8y.tenantPolicies").provider("c8yTenantPoliciesConfig",e)})();
@@ -1 +1 @@
1
- "use strict";!function(){function i(e,n,t){var o=this,c=t.defaultObject(),i=t.isDuplicate();function l(i){o.editingPolicy=_.cloneDeep(angular.copy(i))}_.assign(o,{$onChanges:function(i){i.id&&o.id&&(/\d+/.test(o.id)&&function(i){n.detail(i).then(e.getResData).then(l)}(o.id),"new"===o.id)&&l(c);i.policy&&o.policy&&l(o.policy)},$onDestroy:function(){t.removeDuplicate()},$postLink:function(){i&&o.policyForm.$setDirty()},addRetentionRule:function(){o.editingPolicy.retentions.push({dataType:"*",fragmentType:"*",maximumAge:10,source:"*",type:"*",editable:void 0,isNew:!0})},addTenantOption:function(){o.editingPolicy.options.push({category:"",key:"",value:"",editable:void 0,isNew:!0})},ICON:t.ICON,onRemoveRetentionRule:function(i){_.pull(o.editingPolicy.retentions,i)},onRemoveTenantOption:function(i){_.pull(o.editingPolicy.options,i)},onSaveTitle:function(i){t.saveName(o.editingPolicy,i)},save:function(){n.save(o.editingPolicy).then(t.toList)},cancel:t.toList,remove:function(){t.removeConfirm(o.editingPolicy).then(t.toList)}})}i.$inject=["c8yBase","c8yTenantPolicies","c8yTenantPoliciesConfig"],angular.module("c8y.tenantPolicies").component("c8yTenantPolicyDetail",{templateUrl:":::PLUGIN_PATH:::/tenantPolicyDetail/tenantPolicyDetail.html",controller:i,controllerAs:"vm",bindings:{id:"<",policy:"<"}})}();
1
+ (()=>{function e(i,n,t){var o=this,c=t.defaultObject(),e=t.isDuplicate();function l(e){o.editingPolicy=_.cloneDeep(angular.copy(e))}_.assign(o,{$onChanges:function(e){e.id&&o.id&&(/\d+/.test(o.id)&&(e=>{n.detail(e).then(i.getResData).then(l)})(o.id),"new"===o.id)&&l(c);e.policy&&o.policy&&l(o.policy)},$onDestroy:function(){t.removeDuplicate()},$postLink:function(){e&&o.policyForm.$setDirty()},addRetentionRule:function(){o.editingPolicy.retentions.push({dataType:"*",fragmentType:"*",maximumAge:10,source:"*",type:"*",editable:void 0,isNew:!0})},addTenantOption:function(){o.editingPolicy.options.push({category:"",key:"",value:"",editable:void 0,isNew:!0})},ICON:t.ICON,onRemoveRetentionRule:function(e){_.pull(o.editingPolicy.retentions,e)},onRemoveTenantOption:function(e){_.pull(o.editingPolicy.options,e)},onSaveTitle:function(e){t.saveName(o.editingPolicy,e)},save:function(){n.save(o.editingPolicy).then(t.toList)},cancel:t.toList,remove:function(){t.removeConfirm(o.editingPolicy).then(t.toList)}})}e.$inject=["c8yBase","c8yTenantPolicies","c8yTenantPoliciesConfig"],angular.module("c8y.tenantPolicies").component("c8yTenantPolicyDetail",{templateUrl:":::PLUGIN_PATH:::/tenantPolicyDetail/tenantPolicyDetail.html",controller:e,controllerAs:"vm",bindings:{id:"<",policy:"<"}})})();
@@ -1 +1 @@
1
- "use strict";!function(){function n(n,e,t,i,o){var c=this;_.assign(c,{$onChanges:function(){_.get(c.rule,"isNew")&&(delete c.rule.isNew,c.isOpen=!0)},dataTypes:i.DATA_TYPES}),o.isCurrentUserTopTenant().then(function(n){c.canDisableEdit=n})}n.$inject=["c8yBase","c8yTenantPolicies","c8yTenantPoliciesConfig","c8yRetentions","c8yTenant"],angular.module("c8y.tenantPolicies").component("c8yTenantPolicyRow",{templateUrl:":::PLUGIN_PATH:::/tenantPolicyDetail/tenantPolicyRow.html",controller:n,controllerAs:"vm",bindings:{rule:"<",onRemove:"&"}})}();
1
+ (()=>{function n(n,e,t,i,o){var c=this;_.assign(c,{$onChanges:function(){_.get(c.rule,"isNew")&&(delete c.rule.isNew,c.isOpen=!0)},dataTypes:i.DATA_TYPES}),o.isCurrentUserTopTenant().then(function(n){c.canDisableEdit=n})}n.$inject=["c8yBase","c8yTenantPolicies","c8yTenantPoliciesConfig","c8yRetentions","c8yTenant"],angular.module("c8y.tenantPolicies").component("c8yTenantPolicyRow",{templateUrl:":::PLUGIN_PATH:::/tenantPolicyDetail/tenantPolicyRow.html",controller:n,controllerAs:"vm",bindings:{rule:"<",onRemove:"&"}})})();
@@ -1 +1 @@
1
- "use strict";!function(){function n(n,t){var i=this;function e(){n.list().then(o)}function o(n){i.policies=n}_.assign(i,{$onInit:function(){e()},TITLE:t.TITLE,ICON:t.ICON,ROUTE_NEW_POLICY:t.ROUTE_NEW,reload:e,edit:t.edit,remove:function(n){t.removeConfirm(n).then(e)},duplicate:function(n){t.duplicate(n)}})}n.$inject=["c8yTenantPolicies","c8yTenantPoliciesConfig"],angular.module("c8y.tenantPolicies").component("c8yTenantPolicyList",{templateUrl:":::PLUGIN_PATH:::/tenantPolicyList/tenantPolicyList.html",controller:n,controllerAs:"vm"})}();
1
+ (()=>{function n(n,t){var i=this;function e(){n.list().then(o)}function o(n){i.policies=n}_.assign(i,{$onInit:function(){e()},TITLE:t.TITLE,ICON:t.ICON,ROUTE_NEW_POLICY:t.ROUTE_NEW,reload:e,edit:t.edit,remove:function(n){t.removeConfirm(n).then(e)},duplicate:function(n){t.duplicate(n)}})}n.$inject=["c8yTenantPolicies","c8yTenantPoliciesConfig"],angular.module("c8y.tenantPolicies").component("c8yTenantPolicyList",{templateUrl:":::PLUGIN_PATH:::/tenantPolicyList/tenantPolicyList.html",controller:n,controllerAs:"vm"})})();
@@ -1 +1 @@
1
- "use strict";!function(){function t(t,n,a){t.addNavigation({parent:a("Tenants"),name:a("Usage statistics"),path:"tenantStatistics",icon:"c8y-usage-statistics",priority:1e3,showIf:["c8yUserUtil",function(t){return t.canUserManageTenant()}]}),n.when("/tenantStatistics",{template:"<c8y-tenant-statistics />"})}t.$inject=["c8yNavigatorProvider","c8yViewsProvider","gettext"],angular.module("c8y.tenantStatistics",[]).config(t)}();
1
+ (()=>{function t(t,a,n){t.addNavigation({parent:n("Tenants"),name:n("Usage statistics"),path:"tenantStatistics",icon:"c8y-usage-statistics",priority:1e3,showIf:["c8yUserUtil",function(t){return t.canUserManageTenant()}]}),a.when("/tenantStatistics",{template:"<c8y-tenant-statistics />"})}t.$inject=["c8yNavigatorProvider","c8yViewsProvider","gettext"],angular.module("c8y.tenantStatistics",[]).config(t)})();
@@ -1 +1 @@
1
- "use strict";!function(){function e(n,i,e){return{getTenantNameColumn:function(){return n.getColumn({name:"tenantName",header:e("Tenant"),cell:{template:'<a ng-href="#{{getTenantDetails(item)}}">\n {{item.tenantCompany}}\n </a>',scopeExtensions:{getTenantDetails:function(e){return"/tenants/".concat(e.tenantId)}}},filteringByPattern:{itemProperty:"tenantCompany"},sortingByPath:{itemProperty:"tenantCompany"},getCsvHeaders:function(){return[e("Tenant")]},getCsvValues:function(e){return[e.tenantCompany]}})},getTenantIdColumn:function(){return n.getColumn({name:"tenantId",header:e("ID"),cell:{template:"{{item.tenantId}}"},filteringByPattern:{itemProperty:"tenantId"},sortingByPath:{itemProperty:"tenantId"},getCsvValues:function(e){return[e.tenantId]}})},getTenantDomainColumn:function(){return n.getColumn({name:"tenantDomain",header:e("Domain"),cell:{template:'<a\n ng-href="{{getTenantUrl(item)}}"\n target="_blank"\n rel="noopener noreferrer"\n >\n {{item.tenantDomain}}\n </a>',scopeExtensions:{getTenantUrl:function(e){return"https://".concat(e.tenantDomain)}}},filteringByPattern:{itemProperty:"tenantDomain"},sortingByPath:{itemProperty:"tenantDomain"},getCsvHeaders:function(){return[e("Domain")]},getCsvValues:function(e){return[e.tenantDomain]}})},getCustomPropertyColumn:function(r){var e=r.key,t=["tenantCustomProperties",e],e={name:e,priority:_.startsWith(e,"limit.")?-1e3:0,header:r.title,cell:{template:"<div\n ng-bind=\"getValue(item, '".concat(e,"') |\n formatBySchema:getSchema(tenantCustomProperties, '").concat(e,"')\">\n </div>"),scopeExtensions:{getValue:function(e,t){return _.get(e,["tenantCustomProperties",t])},getSchema:function(e,t){return _.get(e,[t,"schema"])}}},getCsvHeaders:function(){return[r.title]},getCsvValues:function(e){return[(e=e,t=r,n=_.get(t,"schema.default"),_.get(e,["tenantCustomProperties",t.key],n))];var t,n}};return _.merge(e,function(e){var t=i.getType(e).filteringKey,e={itemProperty:["tenantCustomProperties",e.key]},n={};return _.set(n,t,e),_.set(n,"sortingByPath",e),n}(r)),_.set(e.cell.scopeExtensions,t,r),n.getColumn(e)},getApiRequestsColumn:function(){return n.getColumn({name:"requestCount",header:e("API requests"),cell:{template:"{{item.requestCount}}"},filteringByMinMax:{itemProperty:"requestCount"},sortingByPath:{itemProperty:"requestCount"},getCsvValues:function(e){return[e.requestCount]}})},getDeviceApiRequestsColumn:function(){return n.getColumn({name:"deviceRequestCount",header:e("Device API requests"),cell:{template:"{{item.deviceRequestCount}}"},filteringByMinMax:{itemProperty:"deviceRequestCount"},sortingByPath:{itemProperty:"deviceRequestCount"},getCsvValues:function(e){return[e.deviceRequestCount]}})},getStorageQuotaColumn:function(){return n.getColumn({name:"storageQuota",header:e("Storage quota (MB)"),cell:{template:'<span ng-if="item.storageLimitPerDevice">{{item.storageQuota}}</span>'},filteringByMinMax:{itemProperty:"storageQuota"},sortingByPath:{itemProperty:"storageQuota"},getCsvValues:function(e){return[e.storageQuota||""]}})},getStorageSizeColumn:function(){return n.getColumn({name:"storageSize",header:e("Storage (MB)"),cell:{template:"{{item.storageSize}}"},filteringByMinMax:{itemProperty:"storageSize"},getCsvValues:function(e){return[e.storageSize]}})},getPeakStorageSizeColumn:function(){return n.getColumn({name:"peakStorageSize",header:e("Peak storage (MB)"),cell:{template:"{{item.peakStorageSize}}"},filteringByMinMax:{itemProperty:"peakStorageSize"},getCsvValues:function(e){return[e.peakStorageSize]}})},getRootDevicesColumn:function(){return n.getColumn({name:"deviceCount",header:{text:e("Root devices"),tooltip:{icon:"question-circle-o",text:e("Number of root devices, excluding child devices")}},cell:{template:"{{item.deviceCount}}"},filteringByMinMax:{itemProperty:"deviceCount"},sortingByPath:{itemProperty:"deviceCount"},getCsvValues:function(e){return[e.deviceCount]}})},getPeakRootDevicesColumn:function(){return n.getColumn({name:"peakDeviceCount",header:{text:e("Peak root devices"),tooltip:{icon:"question-circle-o",text:e("Peak number of root devices, excluding child devices")}},cell:{template:"{{item.peakDeviceCount}}"},filteringByMinMax:{itemProperty:"peakDeviceCount"},sortingByPath:{itemProperty:"peakDeviceCount"},getCsvValues:function(e){return[e.peakDeviceCount]}})},getDevicesColumn:function(){return n.getColumn({name:"deviceWithChildrenCount",header:{text:e("Devices"),tooltip:{icon:"question-circle-o",text:e("Number of devices, including child devices")}},cell:{template:"{{item.deviceWithChildrenCount}}"},filteringByMinMax:{itemProperty:"deviceWithChildrenCount"},sortingByPath:{itemProperty:"deviceWithChildrenCount"},getCsvValues:function(e){return[e.deviceWithChildrenCount]}})},getPeakDevicesColumn:function(){return n.getColumn({name:"peakDeviceWithChildrenCount",header:{text:e("Peak devices"),tooltip:{icon:"question-circle-o",text:e("Peak number of devices, including child devices")}},cell:{template:"{{item.peakDeviceWithChildrenCount}}"},filteringByMinMax:{itemProperty:"peakDeviceWithChildrenCount"},sortingByPath:{itemProperty:"peakDeviceWithChildrenCount"},getCsvValues:function(e){return[e.peakDeviceWithChildrenCount]}})},getSubscribedApplicationsColumn:function(){return n.getColumn({name:"subscribedApplications",header:e("Subscribed applications"),cell:{template:"{{(item.subscribedApplications || []).length}}"},filteringByMinMax:{itemProperty:"subscribedApplications.length"},sortingByPath:{itemProperty:"subscribedApplications.length"},getCsvValues:function(e){return[_.join(e.subscribedApplications," ")]}})},getCreationTimeColumn:function(){return n.getColumn({name:"creationTime",header:e("Creation time"),cell:{template:"{{item.creationTime | absoluteDate}}"},filteringByMinMaxDate:{itemProperty:"creationTime"},sortingByPath:{itemProperty:"creationTime"},getCsvValues:function(e){return[e.creationTime&&moment(e.creationTime).format("L")]}})},getParentTenantIdColumn:function(){return n.getColumn({name:"parentTenantId",header:e("Parent tenant"),cell:{template:"{{item.parentTenantId}}"},filteringByPattern:{itemProperty:"parentTenantId"},sortingByPath:{itemProperty:"parentTenantId"},getCsvValues:function(e){return[e.parentTenantId]}})},getDeviceEndpointCountColumn:function(){return n.getColumn({name:"deviceEndpointCount",header:{text:e("Endpoint devices"),tooltip:{icon:"question-circle-o",text:e("Leaf machines (without gateways and edges)")}},cell:{template:"{{item.deviceEndpointCount}}"},filteringByPattern:{itemProperty:"deviceEndpointCount"},sortingByPath:{itemProperty:"deviceEndpointCount"},getCsvValues:function(e){return[e.deviceEndpointCount]}})},getAlarmsCreatedCountColumn:function(){return n.getColumn({name:"alarmsCreated",header:e("Alarms created"),cell:{template:"{{item.alarmsCreatedCount}}"},filteringByPattern:{itemProperty:"alarmsCreatedCount"},sortingByPath:{itemProperty:"alarmsCreatedCount"},getCsvValues:function(e){return[e.alarmsCreatedCount]}})},getAlarmsUpdatedCountColumn:function(){return n.getColumn({name:"alarmsUpdated",header:e("Alarms updated"),cell:{template:"{{item.alarmsUpdatedCount}}"},filteringByPattern:{itemProperty:"alarmsUpdatedCount"},sortingByPath:{itemProperty:"alarmsUpdatedCount"},getCsvValues:function(e){return[e.alarmsUpdatedCount]}})},getInventoriesCreatedCountColumn:function(){return n.getColumn({name:"inventoriesCreated",header:e("Inventories created"),cell:{template:"{{item.inventoriesCreatedCount}}"},filteringByPattern:{itemProperty:"inventoriesCreatedCount"},sortingByPath:{itemProperty:"inventoriesCreatedCount"},getCsvValues:function(e){return[e.inventoriesCreatedCount]}})},getInventoriesUpdatedCountColumn:function(){return n.getColumn({name:"inventoriesUpdated",header:e("Inventories updated"),cell:{template:"{{item.inventoriesUpdatedCount}}"},filteringByPattern:{itemProperty:"inventoriesUpdatedCount"},sortingByPath:{itemProperty:"inventoriesUpdatedCount"},getCsvValues:function(e){return[e.inventoriesUpdatedCount]}})},getEventsCreatedCountColumn:function(){return n.getColumn({name:"eventsCreated",header:e("Events created"),cell:{template:"{{item.eventsCreatedCount}}"},filteringByPattern:{itemProperty:"eventsCreatedCount"},sortingByPath:{itemProperty:"eventsCreatedCount"},getCsvValues:function(e){return[e.eventsCreatedCount]}})},getEventsUpdatedCountColumn:function(){return n.getColumn({name:"eventsUpdated",header:e("Events updated"),cell:{template:"{{item.eventsUpdatedCount}}"},filteringByPattern:{itemProperty:"eventsUpdatedCount"},sortingByPath:{itemProperty:"eventsUpdatedCount"},getCsvValues:function(e){return[e.eventsUpdatedCount]}})},getMeasurementsCreatedCountColumn:function(){return n.getColumn({name:"measurementsCreated",header:e("Measurements created"),cell:{template:"{{item.measurementsCreatedCount}}"},filteringByPattern:{itemProperty:"measurementsCreatedCount"},sortingByPath:{itemProperty:"measurementsCreatedCount"},getCsvValues:function(e){return[e.measurementsCreatedCount]}})},getTotalInboundTransferColumn:function(){return n.getColumn({name:"totalInboundTransfer",header:e("Total inbound transfer"),cell:{template:"{{item.totalResourceCreateAndUpdateCount}}"},filteringByPattern:{itemProperty:"totalResourceCreateAndUpdateCount"},sortingByPath:{itemProperty:"totalResourceCreateAndUpdateCount"},getCsvValues:function(e){return[e.totalResourceCreateAndUpdateCount]}})},getCpuUsageColumn:function(){return n.getColumn({name:"cpuUsage",header:{text:e("CPU (m)"),tooltip:{icon:"question-circle-o",text:e("Sum of CPU daily usage in CPU millicores")}},cell:{template:"{{item.resources.cpu}}"},filteringByPattern:{itemProperty:"resources.cpu"},sortingByPath:{itemProperty:"resources.cpu"},getCsvValues:function(e){return[_.get(e,"resources.cpu")]}})},getMemoryUsageColumn:function(){return n.getColumn({name:"memoryUsage",header:{text:e("Memory (MB)"),tooltip:{icon:"question-circle-o",text:e("Sum of memory daily usage")}},cell:{template:"{{item.resources.memory}}"},filteringByPattern:{itemProperty:"resources.memory"},sortingByPath:{itemProperty:"resources.memory"},getCsvValues:function(e){return[_.get(e,"resources.memory")]}})}}}e.$inject=["c8yFilteringSortingCollections","SchemaPropertiesSvc","gettext"],angular.module("c8y.tenantStatistics").factory("c8yTenantStatisticsColumns",e)}();
1
+ (()=>{function e(n,i,e){return{getTenantNameColumn:function(){return n.getColumn({name:"tenantName",header:e("Tenant"),cell:{template:'<a ng-href="#{{getTenantDetails(item)}}">\n {{item.tenantCompany}}\n </a>',scopeExtensions:{getTenantDetails:function(e){return"/tenants/".concat(e.tenantId)}}},filteringByPattern:{itemProperty:"tenantCompany"},sortingByPath:{itemProperty:"tenantCompany"},getCsvHeaders:function(){return[e("Tenant")]},getCsvValues:function(e){return[e.tenantCompany]}})},getTenantIdColumn:function(){return n.getColumn({name:"tenantId",header:e("ID"),cell:{template:"{{item.tenantId}}"},filteringByPattern:{itemProperty:"tenantId"},sortingByPath:{itemProperty:"tenantId"},getCsvValues:function(e){return[e.tenantId]}})},getTenantDomainColumn:function(){return n.getColumn({name:"tenantDomain",header:e("Domain"),cell:{template:'<a\n ng-href="{{getTenantUrl(item)}}"\n target="_blank"\n rel="noopener noreferrer"\n >\n {{item.tenantDomain}}\n </a>',scopeExtensions:{getTenantUrl:function(e){return"https://".concat(e.tenantDomain)}}},filteringByPattern:{itemProperty:"tenantDomain"},sortingByPath:{itemProperty:"tenantDomain"},getCsvHeaders:function(){return[e("Domain")]},getCsvValues:function(e){return[e.tenantDomain]}})},getCustomPropertyColumn:function(r){var e=r.key,t=["tenantCustomProperties",e],e={name:e,priority:_.startsWith(e,"limit.")?-1e3:0,header:r.title,cell:{template:"<div\n ng-bind=\"getValue(item, '".concat(e,"') |\n formatBySchema:getSchema(tenantCustomProperties, '").concat(e,"')\">\n </div>"),scopeExtensions:{getValue:function(e,t){return _.get(e,["tenantCustomProperties",t])},getSchema:function(e,t){return _.get(e,[t,"schema"])}}},getCsvHeaders:function(){return[r.title]},getCsvValues:function(e){return[(e=e,t=r,n=_.get(t,"schema.default"),_.get(e,["tenantCustomProperties",t.key],n))];var t,n}};return _.merge(e,(e=>{var t=i.getType(e).filteringKey,e={itemProperty:["tenantCustomProperties",e.key]},n={};return _.set(n,t,e),_.set(n,"sortingByPath",e),n})(r)),_.set(e.cell.scopeExtensions,t,r),n.getColumn(e)},getApiRequestsColumn:function(){return n.getColumn({name:"requestCount",header:e("API requests"),cell:{template:"{{item.requestCount}}"},filteringByMinMax:{itemProperty:"requestCount"},sortingByPath:{itemProperty:"requestCount"},getCsvValues:function(e){return[e.requestCount]}})},getDeviceApiRequestsColumn:function(){return n.getColumn({name:"deviceRequestCount",header:e("Device API requests"),cell:{template:"{{item.deviceRequestCount}}"},filteringByMinMax:{itemProperty:"deviceRequestCount"},sortingByPath:{itemProperty:"deviceRequestCount"},getCsvValues:function(e){return[e.deviceRequestCount]}})},getStorageQuotaColumn:function(){return n.getColumn({name:"storageQuota",header:e("Storage quota (MB)"),cell:{template:'<span ng-if="item.storageLimitPerDevice">{{item.storageQuota}}</span>'},filteringByMinMax:{itemProperty:"storageQuota"},sortingByPath:{itemProperty:"storageQuota"},getCsvValues:function(e){return[e.storageQuota||""]}})},getStorageSizeColumn:function(){return n.getColumn({name:"storageSize",header:e("Storage (MB)"),cell:{template:"{{item.storageSize}}"},filteringByMinMax:{itemProperty:"storageSize"},getCsvValues:function(e){return[e.storageSize]}})},getPeakStorageSizeColumn:function(){return n.getColumn({name:"peakStorageSize",header:e("Peak storage (MB)"),cell:{template:"{{item.peakStorageSize}}"},filteringByMinMax:{itemProperty:"peakStorageSize"},getCsvValues:function(e){return[e.peakStorageSize]}})},getRootDevicesColumn:function(){return n.getColumn({name:"deviceCount",header:{text:e("Root devices"),tooltip:{icon:"question-circle-o",text:e("Number of root devices, excluding child devices")}},cell:{template:"{{item.deviceCount}}"},filteringByMinMax:{itemProperty:"deviceCount"},sortingByPath:{itemProperty:"deviceCount"},getCsvValues:function(e){return[e.deviceCount]}})},getPeakRootDevicesColumn:function(){return n.getColumn({name:"peakDeviceCount",header:{text:e("Peak root devices"),tooltip:{icon:"question-circle-o",text:e("Peak number of root devices, excluding child devices")}},cell:{template:"{{item.peakDeviceCount}}"},filteringByMinMax:{itemProperty:"peakDeviceCount"},sortingByPath:{itemProperty:"peakDeviceCount"},getCsvValues:function(e){return[e.peakDeviceCount]}})},getDevicesColumn:function(){return n.getColumn({name:"deviceWithChildrenCount",header:{text:e("Devices"),tooltip:{icon:"question-circle-o",text:e("Number of devices, including child devices")}},cell:{template:"{{item.deviceWithChildrenCount}}"},filteringByMinMax:{itemProperty:"deviceWithChildrenCount"},sortingByPath:{itemProperty:"deviceWithChildrenCount"},getCsvValues:function(e){return[e.deviceWithChildrenCount]}})},getPeakDevicesColumn:function(){return n.getColumn({name:"peakDeviceWithChildrenCount",header:{text:e("Peak devices"),tooltip:{icon:"question-circle-o",text:e("Peak number of devices, including child devices")}},cell:{template:"{{item.peakDeviceWithChildrenCount}}"},filteringByMinMax:{itemProperty:"peakDeviceWithChildrenCount"},sortingByPath:{itemProperty:"peakDeviceWithChildrenCount"},getCsvValues:function(e){return[e.peakDeviceWithChildrenCount]}})},getSubscribedApplicationsColumn:function(){return n.getColumn({name:"subscribedApplications",header:e("Subscribed applications"),cell:{template:"{{(item.subscribedApplications || []).length}}"},filteringByMinMax:{itemProperty:"subscribedApplications.length"},sortingByPath:{itemProperty:"subscribedApplications.length"},getCsvValues:function(e){return[_.join(e.subscribedApplications," ")]}})},getCreationTimeColumn:function(){return n.getColumn({name:"creationTime",header:e("Creation time"),cell:{template:"{{item.creationTime | absoluteDate}}"},filteringByMinMaxDate:{itemProperty:"creationTime"},sortingByPath:{itemProperty:"creationTime"},getCsvValues:function(e){return[e.creationTime&&moment(e.creationTime).format("L")]}})},getParentTenantIdColumn:function(){return n.getColumn({name:"parentTenantId",header:e("Parent tenant"),cell:{template:"{{item.parentTenantId}}"},filteringByPattern:{itemProperty:"parentTenantId"},sortingByPath:{itemProperty:"parentTenantId"},getCsvValues:function(e){return[e.parentTenantId]}})},getDeviceEndpointCountColumn:function(){return n.getColumn({name:"deviceEndpointCount",header:{text:e("Endpoint devices"),tooltip:{icon:"question-circle-o",text:e("Leaf machines (without gateways and edges)")}},cell:{template:"{{item.deviceEndpointCount}}"},filteringByPattern:{itemProperty:"deviceEndpointCount"},sortingByPath:{itemProperty:"deviceEndpointCount"},getCsvValues:function(e){return[e.deviceEndpointCount]}})},getAlarmsCreatedCountColumn:function(){return n.getColumn({name:"alarmsCreated",header:e("Alarms created"),cell:{template:"{{item.alarmsCreatedCount}}"},filteringByPattern:{itemProperty:"alarmsCreatedCount"},sortingByPath:{itemProperty:"alarmsCreatedCount"},getCsvValues:function(e){return[e.alarmsCreatedCount]}})},getAlarmsUpdatedCountColumn:function(){return n.getColumn({name:"alarmsUpdated",header:e("Alarms updated"),cell:{template:"{{item.alarmsUpdatedCount}}"},filteringByPattern:{itemProperty:"alarmsUpdatedCount"},sortingByPath:{itemProperty:"alarmsUpdatedCount"},getCsvValues:function(e){return[e.alarmsUpdatedCount]}})},getInventoriesCreatedCountColumn:function(){return n.getColumn({name:"inventoriesCreated",header:e("Inventories created"),cell:{template:"{{item.inventoriesCreatedCount}}"},filteringByPattern:{itemProperty:"inventoriesCreatedCount"},sortingByPath:{itemProperty:"inventoriesCreatedCount"},getCsvValues:function(e){return[e.inventoriesCreatedCount]}})},getInventoriesUpdatedCountColumn:function(){return n.getColumn({name:"inventoriesUpdated",header:e("Inventories updated"),cell:{template:"{{item.inventoriesUpdatedCount}}"},filteringByPattern:{itemProperty:"inventoriesUpdatedCount"},sortingByPath:{itemProperty:"inventoriesUpdatedCount"},getCsvValues:function(e){return[e.inventoriesUpdatedCount]}})},getEventsCreatedCountColumn:function(){return n.getColumn({name:"eventsCreated",header:e("Events created"),cell:{template:"{{item.eventsCreatedCount}}"},filteringByPattern:{itemProperty:"eventsCreatedCount"},sortingByPath:{itemProperty:"eventsCreatedCount"},getCsvValues:function(e){return[e.eventsCreatedCount]}})},getEventsUpdatedCountColumn:function(){return n.getColumn({name:"eventsUpdated",header:e("Events updated"),cell:{template:"{{item.eventsUpdatedCount}}"},filteringByPattern:{itemProperty:"eventsUpdatedCount"},sortingByPath:{itemProperty:"eventsUpdatedCount"},getCsvValues:function(e){return[e.eventsUpdatedCount]}})},getMeasurementsCreatedCountColumn:function(){return n.getColumn({name:"measurementsCreated",header:e("Measurements created"),cell:{template:"{{item.measurementsCreatedCount}}"},filteringByPattern:{itemProperty:"measurementsCreatedCount"},sortingByPath:{itemProperty:"measurementsCreatedCount"},getCsvValues:function(e){return[e.measurementsCreatedCount]}})},getTotalInboundTransferColumn:function(){return n.getColumn({name:"totalInboundTransfer",header:e("Total inbound transfer"),cell:{template:"{{item.totalResourceCreateAndUpdateCount}}"},filteringByPattern:{itemProperty:"totalResourceCreateAndUpdateCount"},sortingByPath:{itemProperty:"totalResourceCreateAndUpdateCount"},getCsvValues:function(e){return[e.totalResourceCreateAndUpdateCount]}})},getCpuUsageColumn:function(){return n.getColumn({name:"cpuUsage",header:{text:e("CPU (m)"),tooltip:{icon:"question-circle-o",text:e("Sum of CPU daily usage in CPU millicores")}},cell:{template:"{{item.resources.cpu}}"},filteringByPattern:{itemProperty:"resources.cpu"},sortingByPath:{itemProperty:"resources.cpu"},getCsvValues:function(e){return[_.get(e,"resources.cpu")]}})},getMemoryUsageColumn:function(){return n.getColumn({name:"memoryUsage",header:{text:e("Memory (MB)"),tooltip:{icon:"question-circle-o",text:e("Sum of memory daily usage")}},cell:{template:"{{item.resources.memory}}"},filteringByPattern:{itemProperty:"resources.memory"},sortingByPath:{itemProperty:"resources.memory"},getCsvValues:function(e){return[_.get(e,"resources.memory")]}})}}}e.$inject=["c8yFilteringSortingCollections","SchemaPropertiesSvc","gettext"],angular.module("c8y.tenantStatistics").factory("c8yTenantStatisticsColumns",e)})();
@@ -1 +1 @@
1
- "use strict";function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function ownKeys(e,t){var n,o=Object.keys(e);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(e),t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),o.push.apply(o,n)),o}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(n),!0).forEach(function(t){_defineProperty(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function _defineProperty(t,e,n){return(e=_toPropertyKey(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function _toPropertyKey(t){t=_toPrimitive(t,"string");return"symbol"==_typeof(t)?t:t+""}function _toPrimitive(t,e){if("object"!=_typeof(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0===n)return("string"===e?String:Number)(t);n=n.call(t,e||"default");if("object"!=_typeof(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}!function(){function t(t,e,n,o,r,i,u,a,s,c,l,m,f,g,p){var d=this,y=l.another(l.paths.Tenants),C=c.stringToDate(i.fromThisMonthStartFilter().dateFrom),l=g("No tenants to display.");function h(){d.refreshLoading=!0,a.isCurrentUserTopTenant().then(function(t){d.isTopTenant=t}).then(b).then(S).then(v).then(j).then(D).then(w).then(function(){d.refreshLoading=!1})}function b(){d.storageLimitFeatureEnabled=i.appOption("storageLimitationFeatureEnabled")}function S(){d.dateFrom=c.stringToDate(n.dateFrom)||C,d.dateTo=c.stringToDate(n.dateTo)}function v(){return u.list(T()).then(P)}function T(){return{dateFrom:c.dateToStringWithTimeZone(d.dateFrom),dateTo:void 0!==d.dateTo?c.dateToStringWithTimeZone(moment(d.dateTo).endOf("day")):void 0}}function P(t){d.statistics=_.map(t,function(t){return _objectSpread(_objectSpread({},t),{},{storageQuota:O(function(t){var e=t.storageLimitPerDevice,t=t.deviceWithChildrenCount;e&&(e*=t||1);return e}(t)),storageSize:O(t.storageSize),peakStorageSize:O(t.peakStorageSize)})})}function O(t){return!_.isUndefined(t)&&Number((t/Math.pow(2,20)).toFixed(2))}function j(){return y.list().then(function(t){return _.filter(t,{id:"c8ySchema!!customProperties"})}).then(function(t){return y.getSchema(t)}).then(function(t){return _.get(t,"properties.customProperties.properties",{})}).then(function(t){return _.map(t,function(t,e){return{title:t.title,key:e,schema:t}})}).then(function(t){d.customProperties=_.sortBy(t,"title")})}function D(){d.columns=_([m.getTenantNameColumn(),m.getTenantIdColumn(),m.getTenantDomainColumn(),m.getApiRequestsColumn(),m.getDeviceApiRequestsColumn(),d.storageLimitFeatureEnabled?m.getStorageQuotaColumn():null,m.getStorageSizeColumn(),m.getPeakStorageSizeColumn(),m.getRootDevicesColumn(),m.getPeakRootDevicesColumn(),m.getDevicesColumn(),m.getPeakDevicesColumn(),m.getDeviceEndpointCountColumn(),m.getSubscribedApplicationsColumn(),m.getCreationTimeColumn(),m.getAlarmsCreatedCountColumn(),m.getAlarmsUpdatedCountColumn(),m.getInventoriesCreatedCountColumn(),m.getInventoriesUpdatedCountColumn(),m.getEventsCreatedCountColumn(),m.getEventsUpdatedCountColumn(),m.getMeasurementsCreatedCountColumn(),m.getTotalInboundTransferColumn(),m.getCpuUsageColumn(),m.getMemoryUsageColumn(),d.isTopTenant?m.getParentTenantIdColumn():null,_.map(d.customProperties,function(t){return m.getCustomPropertyColumn(t)})]).flattenDeep().compact().orderBy([function(t){return t.priority||0}],["desc"]).value(),d.columnsConfig={}}function w(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:d.columnsConfig;d.columnsConfig=t,d.filteredSortedStatistics=f.filterSort(d.statistics,d.columns,d.columnsConfig)}_.assign(d,{noItemsMessage:l,getSubtitle:function(){var t=_.get(d.statistics,"length"),e=p.getPlural(t,"1 tenant","{{$count}} tenants",{});return _.isNumber(t)?e:""},$onInit:h,onColumnsConfigChanged:function(t){w(t)},getCsvHeaders:function(){return _(d.columns).map(function(t){return _.result(t,"getCsvHeaders")||_.get(t,"header.text")||_.get(t,"header")}).flatten().value()},getCsvData:function(){return _.map(d.filteredSortedStatistics,function(e){return _(d.columns).map(function(t){return t.getCsvValues(e)}).flatten().value()})},detail:function(t){o.path("/tenants/".concat(t.tenantId))},filter:function(){_.isEqual(T().dateFrom,C)&&_.isUndefined(T().dateTo)||o.search(T())},clearFilter:function(){d.onColumnsConfigChanged({}),o.search({})},refresh:function(){h()}})}t.$inject=["$scope","$q","$routeParams","$location","$filter","c8yBase","c8yStatistics","c8yTenant","c8yTitle","c8yUtil","c8yPropertiesLibrary","c8yTenantStatisticsColumns","c8yFilteringSortingCollections","gettext","gettextCatalog"],angular.module("c8y.tenantStatistics").component("c8yTenantStatistics",{templateUrl:":::PLUGIN_PATH:::/tenant-statistics.html",controller:t,controllerAs:"vm"})}();
1
+ function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function ownKeys(e,t){var n,o=Object.keys(e);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(e),t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),o.push.apply(o,n)),o}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(n),!0).forEach(function(t){_defineProperty(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function _defineProperty(t,e,n){return(e=_toPropertyKey(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function _toPropertyKey(t){t=_toPrimitive(t,"string");return"symbol"==_typeof(t)?t:t+""}function _toPrimitive(t,e){if("object"!=_typeof(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0===n)return("string"===e?String:Number)(t);n=n.call(t,e||"default");if("object"!=_typeof(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}(()=>{function t(t,e,n,o,r,i,a,u,s,c,l,m,f,g,p){var d=this,y=l.another(l.paths.Tenants),C=c.stringToDate(i.fromThisMonthStartFilter().dateFrom),l=g("No tenants to display.");function h(){d.refreshLoading=!0,u.isCurrentUserTopTenant().then(function(t){d.isTopTenant=t}).then(b).then(S).then(v).then(j).then(D).then(w).then(function(){d.refreshLoading=!1})}function b(){d.storageLimitFeatureEnabled=i.appOption("storageLimitationFeatureEnabled")}function S(){d.dateFrom=c.stringToDate(n.dateFrom)||C,d.dateTo=c.stringToDate(n.dateTo)}function v(){return a.list(T()).then(P)}function T(){return{dateFrom:c.dateToStringWithTimeZone(d.dateFrom),dateTo:void 0!==d.dateTo?c.dateToStringWithTimeZone(moment(d.dateTo).endOf("day")):void 0}}function P(t){d.statistics=_.map(t,function(t){return _objectSpread(_objectSpread({},t),{},{storageQuota:O((t=>{var e=t.storageLimitPerDevice,t=t.deviceWithChildrenCount;return e&&(e*=t||1),e})(t)),storageSize:O(t.storageSize),peakStorageSize:O(t.peakStorageSize)})})}function O(t){return!_.isUndefined(t)&&Number((t/Math.pow(2,20)).toFixed(2))}function j(){return y.list().then(function(t){return _.filter(t,{id:"c8ySchema!!customProperties"})}).then(function(t){return y.getSchema(t)}).then(function(t){return _.get(t,"properties.customProperties.properties",{})}).then(function(t){return _.map(t,function(t,e){return{title:t.title,key:e,schema:t}})}).then(function(t){d.customProperties=_.sortBy(t,"title")})}function D(){d.columns=_([m.getTenantNameColumn(),m.getTenantIdColumn(),m.getTenantDomainColumn(),m.getApiRequestsColumn(),m.getDeviceApiRequestsColumn(),d.storageLimitFeatureEnabled?m.getStorageQuotaColumn():null,m.getStorageSizeColumn(),m.getPeakStorageSizeColumn(),m.getRootDevicesColumn(),m.getPeakRootDevicesColumn(),m.getDevicesColumn(),m.getPeakDevicesColumn(),m.getDeviceEndpointCountColumn(),m.getSubscribedApplicationsColumn(),m.getCreationTimeColumn(),m.getAlarmsCreatedCountColumn(),m.getAlarmsUpdatedCountColumn(),m.getInventoriesCreatedCountColumn(),m.getInventoriesUpdatedCountColumn(),m.getEventsCreatedCountColumn(),m.getEventsUpdatedCountColumn(),m.getMeasurementsCreatedCountColumn(),m.getTotalInboundTransferColumn(),m.getCpuUsageColumn(),m.getMemoryUsageColumn(),d.isTopTenant?m.getParentTenantIdColumn():null,_.map(d.customProperties,function(t){return m.getCustomPropertyColumn(t)})]).flattenDeep().compact().orderBy([function(t){return t.priority||0}],["desc"]).value(),d.columnsConfig={}}function w(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:d.columnsConfig;d.columnsConfig=t,d.filteredSortedStatistics=f.filterSort(d.statistics,d.columns,d.columnsConfig)}_.assign(d,{noItemsMessage:l,getSubtitle:function(){var t=_.get(d.statistics,"length"),e=p.getPlural(t,"1 tenant","{{$count}} tenants",{});return _.isNumber(t)?e:""},$onInit:h,onColumnsConfigChanged:function(t){w(t)},getCsvHeaders:function(){return _(d.columns).map(function(t){return _.result(t,"getCsvHeaders")||_.get(t,"header.text")||_.get(t,"header")}).flatten().value()},getCsvData:function(){return _.map(d.filteredSortedStatistics,function(e){return _(d.columns).map(function(t){return t.getCsvValues(e)}).flatten().value()})},detail:function(t){o.path("/tenants/".concat(t.tenantId))},filter:function(){_.isEqual(T().dateFrom,C)&&_.isUndefined(T().dateTo)||o.search(T())},clearFilter:function(){d.onColumnsConfigChanged({}),o.search({})},refresh:function(){h()}})}t.$inject=["$scope","$q","$routeParams","$location","$filter","c8yBase","c8yStatistics","c8yTenant","c8yTitle","c8yUtil","c8yPropertiesLibrary","c8yTenantStatisticsColumns","c8yFilteringSortingCollections","gettext","gettextCatalog"],angular.module("c8y.tenantStatistics").component("c8yTenantStatistics",{templateUrl:":::PLUGIN_PATH:::/tenant-statistics.html",controller:t,controllerAs:"vm"})})();
@@ -1 +1 @@
1
- "use strict";!function(){function t(i,t,e,s,r,n,a,o,c){var u=this,h=e.tenantId,l=n.another(n.paths.Tenants,{tenantId:h}),g="c8ySchema!!customProperties",f={notitle:!0};_.assign(u,{schema:{},form:[],cancel:function(){t.path("tenants")},save:function(t){return r.save(_.pick(u.tenant,["id","applications","customProperties"])).then(function(){o.success(c("Custom properties saved.")),t.$setPristine()})}}),i.all({rootProperty:l.list().then(function(t){return _.filter(t,{id:g})}),isGainsightKeyDefined:_.get(window,"C8Y_APP.gainsightKey")?i.resolve(!!window.C8Y_APP.gainsightKey):a.detailValue({category:"configuration",key:"system.gainsight.api.key"}).then(function(t){return!!t})}).then(function(t){var e=t.rootProperty,n=t.isGainsightKeyDefined;return t=e,i.all({schema:l.getSchema(t),form:l.getForm(t,f),tenant:r.detail(h).then(s.getResData)}).then(function(t){return{results:t,isGainsightKeyDefined:n}})}).then(function(t){var e=t.results,t=t.isGainsightKeyDefined;u.schema=t?e.schema:function(t){t=_.cloneDeep(t);return _.unset(t,"properties.customProperties.properties.gainsightEnabled"),t}(e.schema),u.form=e.form,u.tenant=e.tenant})}t.$inject=["$q","$location","$routeParams","c8yBase","c8yTenant","c8yPropertiesLibrary","c8ySettings","c8yAlert","gettext"],angular.module("c8y.tenants").controller("tenantCustomPropertiesCtrl",t)}();
1
+ (()=>{function e(i,e,t,s,a,n,r,o,c){var u=this,h=t.tenantId,l=n.another(n.paths.Tenants,{tenantId:h}),g="c8ySchema!!customProperties",m={notitle:!0};_.assign(u,{schema:{},form:[],cancel:function(){e.path("tenants")},save:function(e){return a.save(_.pick(u.tenant,["id","applications","customProperties"])).then(function(){o.success(c("Custom properties saved.")),e.$setPristine()})}}),i.all({rootProperty:l.list().then(function(e){return _.filter(e,{id:g})}),isGainsightKeyDefined:_.get(window,"C8Y_APP.gainsightKey")?i.resolve(!!window.C8Y_APP.gainsightKey):r.detailValue({category:"configuration",key:"system.gainsight.api.key"}).then(function(e){return!!e})}).then(function(e){var t=e.rootProperty,n=e.isGainsightKeyDefined;return e=t,i.all({schema:l.getSchema(e),form:l.getForm(e,m),tenant:a.detail(h).then(s.getResData)}).then(function(e){return{results:e,isGainsightKeyDefined:n}})}).then(function(e){var t=e.results;u.schema=e.isGainsightKeyDefined?t.schema:(e=>(e=_.cloneDeep(e),_.unset(e,"properties.customProperties.properties.gainsightEnabled"),e))(t.schema),u.form=t.form,u.tenant=t.tenant})}e.$inject=["$q","$location","$routeParams","c8yBase","c8yTenant","c8yPropertiesLibrary","c8ySettings","c8yAlert","gettext"],angular.module("c8y.tenants").controller("tenantCustomPropertiesCtrl",e)})();
@@ -1 +1 @@
1
- "use strict";!function(){function e(a,i,s,e,n,o,t,r,c,l,d,u,m,g){var h,e=e.tenantId,f=d("May contain lowercase letters, digits, and hyphens. Must start with a letter; hyphens only allowed in the middle; minimum 2 characters. ");(_.assign(i,{validation:m.validation,tenantIdDomainHelpText:f,maxStorageLimitPerDevice:(m=Number.MAX_SAFE_INTEGER||9007199254740991,Math.round(m/1024/1024)),passwordStrengthUser:{},cancel:function(){s.path("tenants")},save:function(e,t){i.isNew&&i.host&&(e.domain=e.id+i.host);e=_.cloneDeep(e);i.storageLimitation.storageLimitPerDeviceEnabled?e.storageLimitPerDevice=1024*e.storageLimitPerDevice*1024:e.storageLimitPerDevice=0;v(!0),o.save(e).then(function(e){var e=e.data,n=t;i.isNew&&s.path("/tenants/".concat(e.id)),_.assign(i.tenant,e),c.success(d("Tenant saved.")),n.$setPristine()}).finally(function(){v(!1)})},shouldShowSubtenantCheckbox:function(){var e=i.tenant&&o.isParentTopTenant(i.tenant);return i.isTopTenant&&(e||i.isNew)},storageLimitation:{storageLimitPerDeviceEnabled:!1,storageLimitFeatureEnabled:t.appOption("storageLimitationFeatureEnabled")},humanize:t.humanizeFragment,saveInProgress:!1,changePasswordConfirm:function(){var e=i.tenantForm,n=e.confirmPassword,e=e.adminPass;{var t;n&&(t=n.$modelValue,e=e.$modelValue,n.$setValidity("password-mismatch",t===e))}},changePassword:!1,resetPassword:function(){i.changePassword=!i.changePassword,i.changePassword||(i.tenant.adminPass=null)},requirementsFulfilled:!0,onRequirementsFulfilledChange:function(e){e=i.requirementsFulfilled=e;!e&&i.tenantForm.adminPass.$viewValue&&i.tenantForm.adminPass.$setValidity("pattern",!0),i.tenantForm.adminPass.$viewValue&&i.tenantForm.adminPass.$setValidity("password-strength",e)}}),i.$watch("tenant.sendPasswordResetEmail",function(e){e&&(i.requirementsFulfilled=!0)}),i.$watch("tenant.tenantPolicyId",function(e){var n=l.getStrongPasswordSettings(),t=p(),e=_.find(i.tenantPolicies,{id:e});a.all({enforcedOnSystemLevel:n.then(function(e){return e.enforceStrength}),enforcedOnTenantLevel:n.then(function(e){return e.strengthValidity}),enforcedOnTenantPolicyLevel:t&&t.doesEnforceStrongPassword(e)}).then(function(e){var n=e.enforcedOnSystemLevel,t=e.enforcedOnTenantLevel,e=e.enforcedOnTenantPolicyLevel;i.isNew?i.passwordStrengthEnforced=n||e:i.passwordStrengthEnforced=n||t})}),o.current().then(function(e){e=e.domainName;return".".concat(e.split(".").slice(1).join("."))}).then(function(e){i.host=e}),o.isCurrentUserTopTenant().then(function(e){i.isTopTenant=e}),g.current(!1).then(function(e){(g.hasRole(e,"ROLE_SUPPORT_ADMIN")||g.hasRole(e,"ROLE_SUPPORT_READ"))&&(i.supportUser=encodeURIComponent("".concat(e.id,"$")))}),e&&"new"!==e)?o.detail(e).then(function(e){return e.data}).then(P):(P({sendPasswordResetEmail:i.isNew=!0}),r.changeTitle({title:d("New tenant")}),f=p(),m=!1,f&&(m=!0,f.list().then(w)),i.selectTenantPolicy=m);function P(e){var n,e=e||{};i.storageLimitation.storageLimitPerDeviceEnabled=(n=e,i.storageLimitation.storageLimitFeatureEnabled&&!!n.storageLimitPerDevice),e.storageLimitPerDevice=(e.storageLimitPerDevice||0)/1024/1024,i.tenant=e}function v(e){i.saveInProgress=e}function w(e){i.tenantPolicies=_.union([{name:u.getString("None")}],e)}function p(){var e="c8yTenantPolicies";return h=!h&&n.has(e)?n.get(e):h}o.isEnterpriseEditionTenant().then(function(e){i.isEnterpriseEditionTenant=e})}e.$inject=["$q","$scope","$location","$routeParams","$injector","c8yTenant","c8yBase","c8yTitle","c8yAlert","c8yLoginOptions","gettext","gettextCatalog","c8yConfig","c8yUser"],angular.module("c8y.tenants").controller("tenantDetailCtrl",e)}();
1
+ (()=>{function e(a,i,s,e,n,o,t,r,c,l,d,u,m,g){var h,e=e.tenantId,f=d("May contain lowercase letters, digits, and hyphens. Must start with a letter; hyphens only allowed in the middle; minimum 2 characters. ");(_.assign(i,{validation:m.validation,tenantIdDomainHelpText:f,maxStorageLimitPerDevice:(m=Number.MAX_SAFE_INTEGER||9007199254740991,Math.round(m/1024/1024)),passwordStrengthUser:{},cancel:function(){s.path("tenants")},save:function(e,t){i.isNew&&i.host&&(e.domain=e.id+i.host);e=_.cloneDeep(e);i.storageLimitation.storageLimitPerDeviceEnabled?e.storageLimitPerDevice=1024*e.storageLimitPerDevice*1024:e.storageLimitPerDevice=0;v(!0),o.save(e).then(function(e){var e=e.data,n=t;i.isNew&&s.path("/tenants/".concat(e.id)),_.assign(i.tenant,e),c.success(d("Tenant saved.")),n.$setPristine()}).finally(function(){v(!1)})},shouldShowSubtenantCheckbox:function(){var e=i.tenant&&o.isParentTopTenant(i.tenant);return i.isTopTenant&&(e||i.isNew)},storageLimitation:{storageLimitPerDeviceEnabled:!1,storageLimitFeatureEnabled:t.appOption("storageLimitationFeatureEnabled")},humanize:t.humanizeFragment,saveInProgress:!1,changePasswordConfirm:function(){var e=i.tenantForm,n=e.confirmPassword,e=e.adminPass;{var t;n&&(t=n.$modelValue,e=e.$modelValue,n.$setValidity("password-mismatch",t===e))}},changePassword:!1,resetPassword:function(){i.changePassword=!i.changePassword,i.changePassword||(i.tenant.adminPass=null)},requirementsFulfilled:!0,onRequirementsFulfilledChange:function(e){e=i.requirementsFulfilled=e;!e&&i.tenantForm.adminPass.$viewValue&&i.tenantForm.adminPass.$setValidity("pattern",!0),i.tenantForm.adminPass.$viewValue&&i.tenantForm.adminPass.$setValidity("password-strength",e)}}),i.$watch("tenant.sendPasswordResetEmail",function(e){e&&(i.requirementsFulfilled=!0)}),i.$watch("tenant.tenantPolicyId",function(e){var n=l.getStrongPasswordSettings(),t=p(),e=_.find(i.tenantPolicies,{id:e});a.all({enforcedOnSystemLevel:n.then(function(e){return e.enforceStrength}),enforcedOnTenantLevel:n.then(function(e){return e.strengthValidity}),enforcedOnTenantPolicyLevel:t&&t.doesEnforceStrongPassword(e)}).then(function(e){var n=e.enforcedOnSystemLevel,t=e.enforcedOnTenantLevel;i.isNew?i.passwordStrengthEnforced=n||e.enforcedOnTenantPolicyLevel:i.passwordStrengthEnforced=n||t})}),o.current().then(function(e){e=e.domainName;return".".concat(e.split(".").slice(1).join("."))}).then(function(e){i.host=e}),o.isCurrentUserTopTenant().then(function(e){i.isTopTenant=e}),g.current(!1).then(function(e){(g.hasRole(e,"ROLE_SUPPORT_ADMIN")||g.hasRole(e,"ROLE_SUPPORT_READ"))&&(i.supportUser=encodeURIComponent("".concat(e.id,"$")))}),e&&"new"!==e)?o.detail(e).then(function(e){return e.data}).then(P):(P({sendPasswordResetEmail:i.isNew=!0}),r.changeTitle({title:d("New tenant")}),f=p(),m=!1,f&&(m=!0,f.list().then(w)),i.selectTenantPolicy=m);function P(e){var n,e=e||{};i.storageLimitation.storageLimitPerDeviceEnabled=(n=e,i.storageLimitation.storageLimitFeatureEnabled&&!!n.storageLimitPerDevice),e.storageLimitPerDevice=(e.storageLimitPerDevice||0)/1024/1024,i.tenant=e}function v(e){i.saveInProgress=e}function w(e){i.tenantPolicies=_.union([{name:u.getString("None")}],e)}function p(){var e="c8yTenantPolicies";return h=!h&&n.has(e)?n.get(e):h}o.isEnterpriseEditionTenant().then(function(e){i.isEnterpriseEditionTenant=e})}e.$inject=["$q","$scope","$location","$routeParams","$injector","c8yTenant","c8yBase","c8yTitle","c8yAlert","c8yLoginOptions","gettext","gettextCatalog","c8yConfig","c8yUser"],angular.module("c8y.tenants").controller("tenantDetailCtrl",e)})();
package/tenants/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";!function(){function t(t,e,n,r){r.when("/tenants/new",{templateUrl:":::PLUGIN_PATH:::/views/detail.html",controller:"tenantDetailCtrl"}),t.when("/tenants/:tenantId",{templateUrl:":::PLUGIN_PATH:::/views/detail.html",controller:"tenantDetailCtrl",icon:"new-property",name:n("Properties"),priority:4e3}),t.when("/tenants/:tenantId",{templateUrl:":::PLUGIN_PATH:::/views/customProperties.html",controller:"tenantCustomPropertiesCtrl as vm",icon:"property-script",name:n("Custom properties"),priority:3e3,showIf:["$routeParams",function(t){return _.get(t,"tenantId")}]}),e.addTitle("/tenants/:tenantId",{data:["$routeParams","c8yTenant",function(t,e){t=t.tenantId;return t?e.detail(t).then(function(t){return{title:t.data.company}}):{title:n("New tenant")}}]})}t.$inject=["c8yViewsProvider","c8yTitleProvider","gettext","$routeProvider"],angular.module("c8y.tenants",[]).config(t)}();
1
+ (()=>{function t(t,e,n,r){r.when("/tenants/new",{templateUrl:":::PLUGIN_PATH:::/views/detail.html",controller:"tenantDetailCtrl"}),t.when("/tenants/:tenantId",{templateUrl:":::PLUGIN_PATH:::/views/detail.html",controller:"tenantDetailCtrl",icon:"new-property",name:n("Properties"),priority:4e3}),t.when("/tenants/:tenantId",{templateUrl:":::PLUGIN_PATH:::/views/customProperties.html",controller:"tenantCustomPropertiesCtrl as vm",icon:"property-script",name:n("Custom properties"),priority:3e3,showIf:["$routeParams",function(t){return _.get(t,"tenantId")}]}),e.addTitle("/tenants/:tenantId",{data:["$routeParams","c8yTenant",function(t,e){t=t.tenantId;return t?e.detail(t).then(function(t){return{title:t.data.company}}):{title:n("New tenant")}}]})}t.$inject=["c8yViewsProvider","c8yTitleProvider","gettext","$routeProvider"],angular.module("c8y.tenants",[]).config(t)})();
@@ -1 +1 @@
1
- "use strict";angular.module("c8y.tenants",[]);
1
+ angular.module("c8y.tenants",[]);
@@ -1 +1 @@
1
- "use strict";!function(){function i(e){var i=this,n=i.device;function s(){i.isDisabled=!0}i.isDisabled=!1,n&&n.c8y_Mobile&&n.c8y_Mobile.msisdn&&s(),i.save=function(i){return _.assign(n,{c8y_Mobile:{msisdn:i}}),e.save(n).then(s)}}i.$inject=["c8yDevices"],angular.module("c8y.trackerConfiguration").controller("msisdnAlertCtrl",i)}();
1
+ (()=>{function i(e){var i=this,n=i.device;function s(){i.isDisabled=!0}i.isDisabled=!1,n&&n.c8y_Mobile&&n.c8y_Mobile.msisdn&&s(),i.save=function(i){return _.assign(n,{c8y_Mobile:{msisdn:i}}),e.save(n).then(s)}}i.$inject=["c8yDevices"],angular.module("c8y.trackerConfiguration").controller("msisdnAlertCtrl",i)})();
@@ -1 +1 @@
1
- "use strict";!function(){function e(e,n,t,o,i,r,c,a,s,l,d,u,v,f,p,g){var m=this;function S(e){m.device=null,m.modelInfo=null,e=e.id||e;var e=i.detailRealtime(e),t=e.then(a.modelByDevice);n.all([e,t]).then(function(e){m.device=e[0],m.modelInfo=e[1],m.device&&m.modelInfo&&(m.restart=new s(m.device,m.modelInfo,m),m.sos=new l(m.device,m.modelInfo,m),m.alarms=new d(m.device,m.modelInfo,m),m.situation=new u(m.device,m.modelInfo,m),m.location=new v(m.device,m.modelInfo,m))})}function h(e,t,n){c.success(g.getString(e,{operation:t,operationResult:n}))}_.assign(m,f),m.scope=t,m.newModel={name:null,save:function(){return i.save({id:m.device.id,c8y_Hardware:_.assign(m.device.c8y_Hardware||{},{model:m.newModel.name})}).then(o.getResData).then(S)}},m.execute=function(i,a){return r.createWithNotifications(i).then(function(e){return e.created.then(function(){h(p('"{{operation.description | translate}}" will be executed.'),i),a.pending=!0}),e.completed.then(function(e){var t,n,o;e.status===r.status.SUCCESSFUL?h(p('"{{operation.description | translate}}" completed.'),i,e):e.status===r.status.FAILED&&(t=p('"{{operation.description | translate}}" failed due to: "{{operationResult.failureReason | translate}}".'),n=p('"{{operation.description | translate}}" failed.'),o=i,(e=e).failureReason?c.danger(g.getString(t,{operation:o,operationResult:e})):c.danger(g.getString(n,{operation:o,operationResult:e}))),a.pending=!1}),e})},a.list().then(function(e){m.supportedModels=e}),S(e.deviceId)}e.$inject=["$routeParams","$q","$scope","c8yBase","c8yDevices","c8yDeviceControl","c8yAlert","trackerModelsSvc","trackerRestartSvc","trackerSosSvc","trackerAlarmsSvc","trackerSituationSvc","trackerLocationSvc","UnitConversionHelperSvc","gettext","gettextCatalog"],angular.module("c8y.trackerConfiguration").controller("trackerConfigurationCtrl",e)}();
1
+ (()=>{function e(e,n,t,o,a,r,c,i,l,s,d,u,v,f,p,g){var m=this;function S(e){m.device=null,m.modelInfo=null,e=e.id||e;var e=a.detailRealtime(e),t=e.then(i.modelByDevice);n.all([e,t]).then(function(e){m.device=e[0],m.modelInfo=e[1],m.device&&m.modelInfo&&(m.restart=new l(m.device,m.modelInfo,m),m.sos=new s(m.device,m.modelInfo,m),m.alarms=new d(m.device,m.modelInfo,m),m.situation=new u(m.device,m.modelInfo,m),m.location=new v(m.device,m.modelInfo,m))})}function h(e,t,n){c.success(g.getString(e,{operation:t,operationResult:n}))}_.assign(m,f),m.scope=t,m.newModel={name:null,save:function(){return a.save({id:m.device.id,c8y_Hardware:_.assign(m.device.c8y_Hardware||{},{model:m.newModel.name})}).then(o.getResData).then(S)}},m.execute=function(a,i){return r.createWithNotifications(a).then(function(e){return e.created.then(function(){h(p('"{{operation.description | translate}}" will be executed.'),a),i.pending=!0}),e.completed.then(function(e){var t,n,o;e.status===r.status.SUCCESSFUL?h(p('"{{operation.description | translate}}" completed.'),a,e):e.status===r.status.FAILED&&(t=p('"{{operation.description | translate}}" failed due to: "{{operationResult.failureReason | translate}}".'),n=p('"{{operation.description | translate}}" failed.'),o=a,(e=e).failureReason?c.danger(g.getString(t,{operation:o,operationResult:e})):c.danger(g.getString(n,{operation:o,operationResult:e}))),i.pending=!1}),e})},i.list().then(function(e){m.supportedModels=e}),S(e.deviceId)}e.$inject=["$routeParams","$q","$scope","c8yBase","c8yDevices","c8yDeviceControl","c8yAlert","trackerModelsSvc","trackerRestartSvc","trackerSosSvc","trackerAlarmsSvc","trackerSituationSvc","trackerLocationSvc","UnitConversionHelperSvc","gettext","gettextCatalog"],angular.module("c8y.trackerConfiguration").controller("trackerConfigurationCtrl",e)})();
@@ -1 +1 @@
1
- "use strict";angular.module("c8y.trackerConfiguration").directive("c8yMsisdnAlert",function(){return{restrict:"EA",templateUrl:":::PLUGIN_PATH:::/views/msisdnAlert.html",controller:"msisdnAlertCtrl",controllerAs:"$ctrl",bindToController:{device:"="}}});
1
+ angular.module("c8y.trackerConfiguration").directive("c8yMsisdnAlert",function(){return{restrict:"EA",templateUrl:":::PLUGIN_PATH:::/views/msisdnAlert.html",controller:"msisdnAlertCtrl",controllerAs:"$ctrl",bindToController:{device:"="}}});
@@ -1 +1 @@
1
- "use strict";angular.module("c8y.trackerConfiguration",[]).config(["c8yViewsProvider","gettext",function(e,t){t=t("Settings");e.when("/device/:deviceId",{name:t,icon:"crosshairs",templateUrl:":::PLUGIN_PATH:::/views/trackerConfiguration.html",controller:"trackerConfigurationCtrl",controllerAs:"tracker",showIf:["$routeParams","c8yBase","c8yDevices",function(e,t,r){return r.detailCached(e.deviceId).then(t.getResData).then(function(e){return!_.isUndefined(e.c8y_MotionTracking)})}]})}]);
1
+ angular.module("c8y.trackerConfiguration",[]).config(["c8yViewsProvider","gettext",function(e,t){t=t("Settings");e.when("/device/:deviceId",{name:t,icon:"crosshairs",templateUrl:":::PLUGIN_PATH:::/views/trackerConfiguration.html",controller:"trackerConfigurationCtrl",controllerAs:"tracker",showIf:["$routeParams","c8yBase","c8yDevices",function(e,t,r){return r.detailCached(e.deviceId).then(t.getResData).then(function(e){return!_.isUndefined(e.c8y_MotionTracking)})}]})}]);
@@ -1 +1 @@
1
- "use strict";angular.module("c8y.trackerConfiguration").factory("RealtimeLockupSvc",function(){var n={RTLU:{block:function(n,c){return _.assign(n,{blocked:!!c})},infoChange:function(n,c){return _.assign(n,{changedInfo:!!c})},clearLockup:function(n){return _.assign(n,{blocked:!1},{changedInfo:!1})},getBlock:function(n){if(n)return n.blocked}}};return n});
1
+ angular.module("c8y.trackerConfiguration").factory("RealtimeLockupSvc",function(){var n={RTLU:{block:function(n,c){return _.assign(n,{blocked:!!c})},infoChange:function(n,c){return _.assign(n,{changedInfo:!!c})},clearLockup:function(n){return _.assign(n,{blocked:!1},{changedInfo:!1})},getBlock:function(n){if(n)return n.blocked}}};return n});
@@ -1 +1 @@
1
- "use strict";!function(){function r(t,n){return function(r,s,o){var a=this;function e(){return{vibration:r.c8y_RFV16Config&&r.c8y_RFV16Config.vibrationAlarmArm,noise:r.c8y_RFV16Config&&r.c8y_RFV16Config.noiseAlarmArm,door:r.c8y_RFV16Config&&r.c8y_RFV16Config.doorAlarmArm,sos:r.c8y_RFV16Config&&r.c8y_RFV16Config.sosAlarmArm}}a.list=[{key:"vibration",label:n("Vibration alarm"),supported:s.supportedOperations.armAlarms.vibration},{key:"noise",label:n("Noise alarm"),supported:s.supportedOperations.armAlarms.noise},{key:"door",label:n("Door alarm"),supported:s.supportedOperations.armAlarms.door},{key:"sos",label:n("SOS alarm"),supported:s.supportedOperations.armAlarms.sos}],a.armAlarms=function(){return o.execute({deviceId:r.id,description:n("Arm alarms"),c8y_ArmAlarm:a.getC8yArmAlarm()},a.armAlarms)},a.getC8yArmAlarm=function(){return _.reduce(a.status,function(r,o,a){return s.supportedOperations.armAlarms[a]&&(r[a]=o),r},{})},a.blockAlarmsChange=function(){t.RTLU.block(a.armAlarms,!0)},a.refreshAlarms=function(){t.RTLU.clearLockup(a.armAlarms),a.status=e()},a.armAlarms.supported=_.some(s.supportedOperations.armAlarms),a.armAlarms.supported&&o.scope.$watch(e,function(r){t.RTLU.getBlock(a.armAlarms)?t.RTLU.infoChange(a.armAlarms,!0):a.status={vibration:r.vibration,noise:r.noise,door:r.door,sos:r.sos}},!0)}}r.$inject=["RealtimeLockupSvc","gettext"],angular.module("c8y.trackerConfiguration").factory("trackerAlarmsSvc",r)}();
1
+ (()=>{function r(t,n){return function(r,s,o){var a=this;function e(){return{vibration:r.c8y_RFV16Config&&r.c8y_RFV16Config.vibrationAlarmArm,noise:r.c8y_RFV16Config&&r.c8y_RFV16Config.noiseAlarmArm,door:r.c8y_RFV16Config&&r.c8y_RFV16Config.doorAlarmArm,sos:r.c8y_RFV16Config&&r.c8y_RFV16Config.sosAlarmArm}}a.list=[{key:"vibration",label:n("Vibration alarm"),supported:s.supportedOperations.armAlarms.vibration},{key:"noise",label:n("Noise alarm"),supported:s.supportedOperations.armAlarms.noise},{key:"door",label:n("Door alarm"),supported:s.supportedOperations.armAlarms.door},{key:"sos",label:n("SOS alarm"),supported:s.supportedOperations.armAlarms.sos}],a.armAlarms=function(){return o.execute({deviceId:r.id,description:n("Arm alarms"),c8y_ArmAlarm:a.getC8yArmAlarm()},a.armAlarms)},a.getC8yArmAlarm=function(){return _.reduce(a.status,function(r,o,a){return s.supportedOperations.armAlarms[a]&&(r[a]=o),r},{})},a.blockAlarmsChange=function(){t.RTLU.block(a.armAlarms,!0)},a.refreshAlarms=function(){t.RTLU.clearLockup(a.armAlarms),a.status=e()},a.armAlarms.supported=_.some(s.supportedOperations.armAlarms),a.armAlarms.supported&&o.scope.$watch(e,function(r){t.RTLU.getBlock(a.armAlarms)?t.RTLU.infoChange(a.armAlarms,!0):a.status={vibration:r.vibration,noise:r.noise,door:r.door,sos:r.sos}},!0)}}r.$inject=["RealtimeLockupSvc","gettext"],angular.module("c8y.trackerConfiguration").factory("trackerAlarmsSvc",r)})();
@@ -1 +1 @@
1
- "use strict";!function(){function t(t,i,r,c,a){return function(o,t,n){var e=this;e.units=n.getTimeUnits(),e.getSingle=function(){return n.execute({deviceId:o.id,description:a("Get single location"),c8y_MeasurementRequestOperation:{requestName:"location"}},e.getSingle)},e.setReportIntervalNoMotion=function(){return n.execute({deviceId:o.id,description:a("Position reporting interval if no motion detected"),c8y_Tracking:{interval:n.convertToSeconds(e.reportIntervalNoMotion,e.setReportIntervalNoMotion.unit)}},e.setReportIntervalNoMotion).then(function(t){t.completed.then(function(t){t.status===i.status.SUCCESSFUL&&(o.c8y_RequiredAvailability&&o.c8y_RequiredAvailability.responseInterval)!==(t=n.convertToUnits(e.reportIntervalNoMotion,_.find(e.units,{value:"minutes"}),e.setReportIntervalNoMotion.unit.multiplier))&&r.save({id:o.id,c8y_RequiredAvailability:{responseInterval:t}})})})},e.setReportIntervalOnMotion=function(){return n.execute({deviceId:o.id,description:a("Position reporting interval if motion detected"),c8y_MotionTracking:e.getMotionTracking()},e.setReportIntervalOnMotion)},e.getMotionTracking=function(){var t={};return o.c8y_MotionTracking&&!_.isUndefined(o.c8y_MotionTracking.active)&&(t.active=e.motionTracking),t.interval=n.convertToSeconds(e.reportIntervalOnMotion,e.setReportIntervalOnMotion.unit),t},e.setMotionTracking=function(){return n.execute({deviceId:o.id,description:a("Motion tracking"),c8y_MotionTracking:{active:e.motionTracking}},e.setMotionTracking)},e.blockReportIntervalOnMotionChange=function(){c.RTLU.block(e.setReportIntervalOnMotion,!0)},e.blockReportintervalNoMotionChange=function(){c.RTLU.block(e.setReportIntervalNoMotion,!0)},e.blockMotionTrackingChange=function(){c.RTLU.block(e.setMotionTracking.blocked,!0)},e.refreshReportIntervalOnMotion=function(){c.RTLU.clearLockup(e.setReportIntervalOnMotion),e.setReportIntervalOnMotion.unit=e.units[0],e.reportIntervalOnMotion=o.c8y_MotionTracking&&o.c8y_MotionTracking.interval},e.refreshReportIntervalNoMotion=function(){c.RTLU.clearLockup(e.setReportIntervalNoMotion),e.setReportIntervalNoMotion.unit=e.units[0],e.reportIntervalNoMotion=o.c8y_Tracking&&o.c8y_Tracking.interval},e.refreshMotionTracking=function(){c.RTLU.clearLockup(e.setMotionTracking),e.motionTracking=o.c8y_MotionTracking&&o.c8y_MotionTracking.active},e.getSingle.supported=t.supportedOperations.getSingleLocation,e.setReportIntervalNoMotion.supported=t.supportedOperations.reportIntervalNoMotion,e.setReportIntervalOnMotion.supported=t.supportedOperations.reportIntervalOnMotion,e.setMotionTracking.supported=t.supportedOperations.motionTracking,e.setReportIntervalOnMotion.supported&&n.scope.$watch("tracker.device.c8y_MotionTracking.interval",function(t){c.RTLU.getBlock(e.setReportIntervalOnMotion)?c.RTLU.infoChange(e.setReportIntervalOnMotion,!0):e.reportIntervalOnMotion=t}),e.setReportIntervalNoMotion.supported&&n.scope.$watch("tracker.device.c8y_Tracking.interval",function(t){c.RTLU.getBlock(e.setReportIntervalNoMotion)?c.RTLU.infoChange(e.setReportIntervalNoMotion,!0):e.reportIntervalNoMotion=t}),e.setMotionTracking.supported&&n.scope.$watch("tracker.device.c8y_MotionTracking.active",function(t){c.RTLU.getBlock(e.setMotionTracking)?c.RTLU.infoChange(e.setMotionTracking,!0):e.motionTracking=t}),e.setReportIntervalNoMotion.unit=e.units[0],e.setReportIntervalOnMotion.unit=e.setReportIntervalNoMotion.unit}}t.$inject=["c8yBase","c8yDeviceControl","c8yDevices","RealtimeLockupSvc","gettext"],angular.module("c8y.trackerConfiguration").factory("trackerLocationSvc",t)}();
1
+ (()=>{function t(t,i,r,c,a){return function(o,t,n){var e=this;e.units=n.getTimeUnits(),e.getSingle=function(){return n.execute({deviceId:o.id,description:a("Get single location"),c8y_MeasurementRequestOperation:{requestName:"location"}},e.getSingle)},e.setReportIntervalNoMotion=function(){return n.execute({deviceId:o.id,description:a("Position reporting interval if no motion detected"),c8y_Tracking:{interval:n.convertToSeconds(e.reportIntervalNoMotion,e.setReportIntervalNoMotion.unit)}},e.setReportIntervalNoMotion).then(function(t){t.completed.then(function(t){t.status===i.status.SUCCESSFUL&&(o.c8y_RequiredAvailability&&o.c8y_RequiredAvailability.responseInterval)!==(t=n.convertToUnits(e.reportIntervalNoMotion,_.find(e.units,{value:"minutes"}),e.setReportIntervalNoMotion.unit.multiplier))&&r.save({id:o.id,c8y_RequiredAvailability:{responseInterval:t}})})})},e.setReportIntervalOnMotion=function(){return n.execute({deviceId:o.id,description:a("Position reporting interval if motion detected"),c8y_MotionTracking:e.getMotionTracking()},e.setReportIntervalOnMotion)},e.getMotionTracking=function(){var t={};return o.c8y_MotionTracking&&!_.isUndefined(o.c8y_MotionTracking.active)&&(t.active=e.motionTracking),t.interval=n.convertToSeconds(e.reportIntervalOnMotion,e.setReportIntervalOnMotion.unit),t},e.setMotionTracking=function(){return n.execute({deviceId:o.id,description:a("Motion tracking"),c8y_MotionTracking:{active:e.motionTracking}},e.setMotionTracking)},e.blockReportIntervalOnMotionChange=function(){c.RTLU.block(e.setReportIntervalOnMotion,!0)},e.blockReportintervalNoMotionChange=function(){c.RTLU.block(e.setReportIntervalNoMotion,!0)},e.blockMotionTrackingChange=function(){c.RTLU.block(e.setMotionTracking.blocked,!0)},e.refreshReportIntervalOnMotion=function(){c.RTLU.clearLockup(e.setReportIntervalOnMotion),e.setReportIntervalOnMotion.unit=e.units[0],e.reportIntervalOnMotion=o.c8y_MotionTracking&&o.c8y_MotionTracking.interval},e.refreshReportIntervalNoMotion=function(){c.RTLU.clearLockup(e.setReportIntervalNoMotion),e.setReportIntervalNoMotion.unit=e.units[0],e.reportIntervalNoMotion=o.c8y_Tracking&&o.c8y_Tracking.interval},e.refreshMotionTracking=function(){c.RTLU.clearLockup(e.setMotionTracking),e.motionTracking=o.c8y_MotionTracking&&o.c8y_MotionTracking.active},e.getSingle.supported=t.supportedOperations.getSingleLocation,e.setReportIntervalNoMotion.supported=t.supportedOperations.reportIntervalNoMotion,e.setReportIntervalOnMotion.supported=t.supportedOperations.reportIntervalOnMotion,e.setMotionTracking.supported=t.supportedOperations.motionTracking,e.setReportIntervalOnMotion.supported&&n.scope.$watch("tracker.device.c8y_MotionTracking.interval",function(t){c.RTLU.getBlock(e.setReportIntervalOnMotion)?c.RTLU.infoChange(e.setReportIntervalOnMotion,!0):e.reportIntervalOnMotion=t}),e.setReportIntervalNoMotion.supported&&n.scope.$watch("tracker.device.c8y_Tracking.interval",function(t){c.RTLU.getBlock(e.setReportIntervalNoMotion)?c.RTLU.infoChange(e.setReportIntervalNoMotion,!0):e.reportIntervalNoMotion=t}),e.setMotionTracking.supported&&n.scope.$watch("tracker.device.c8y_MotionTracking.active",function(t){c.RTLU.getBlock(e.setMotionTracking)?c.RTLU.infoChange(e.setMotionTracking,!0):e.motionTracking=t}),e.setReportIntervalNoMotion.unit=e.units[0],e.setReportIntervalOnMotion.unit=e.setReportIntervalNoMotion.unit}}t.$inject=["c8yBase","c8yDeviceControl","c8yDevices","RealtimeLockupSvc","gettext"],angular.module("c8y.trackerConfiguration").factory("trackerLocationSvc",t)})();
@@ -1 +1 @@
1
- "use strict";!function(){function t(n){return function(t,e,r){var c=this;c.execute=function(){return r.execute({deviceId:t.id,description:n("Restart tracker"),c8y_Restart:{}},c.execute)},c.execute.supported=e.supportedOperations.restart}}t.$inject=["gettext"],angular.module("c8y.trackerConfiguration").factory("trackerRestartSvc",t)}();
1
+ (()=>{function e(n){return function(e,t,r){var c=this;c.execute=function(){return r.execute({deviceId:e.id,description:n("Restart tracker"),c8y_Restart:{}},c.execute)},c.execute.supported=t.supportedOperations.restart}}e.$inject=["gettext"],angular.module("c8y.trackerConfiguration").factory("trackerRestartSvc",e)})();
@@ -1 +1 @@
1
- "use strict";!function(){function t(n){return function(t,e,u){var i=this;i.update=function(){return u.execute({deviceId:t.id,description:n("Update tracker situation"),c8y_MeasurementRequestOperation:{requestName:"situation"}},i.update)},i.update.supported=e.supportedOperations.updateSituation}}t.$inject=["gettext"],angular.module("c8y.trackerConfiguration").factory("trackerSituationSvc",t)}();
1
+ (()=>{function t(i){return function(t,e,u){var a=this;a.update=function(){return u.execute({deviceId:t.id,description:i("Update tracker situation"),c8y_MeasurementRequestOperation:{requestName:"situation"}},a.update)},a.update.supported=e.supportedOperations.updateSituation}}t.$inject=["gettext"],angular.module("c8y.trackerConfiguration").factory("trackerSituationSvc",t)})();
@@ -1 +1 @@
1
- "use strict";!function(){function e(u,s){return function(e,t,r){var o=this;o.setSosNumber=function(){return r.execute({deviceId:e.id,description:s("Set SOS number"),c8y_SetSosNumber:o.getC8ySetSosNumber()},o.setSosNumber)},o.getC8ySetSosNumber=function(){return{phoneNumber:o.number}},o.blockSosNumberChange=function(){u.RTLU.block(o.setSosNumber,!0)},o.refreshSosNumber=function(){u.RTLU.clearLockup(o.setSosNumber),o.number=e.c8y_RFV16Config&&e.c8y_RFV16Config.sosNumber},o.setSosNumber.supported=t.supportedOperations.setSosNumber,o.setSosNumber.supported&&r.scope.$watch("tracker.device.c8y_RFV16Config.sosNumber",function(e){u.RTLU.getBlock(o.setSosNumber)?u.RTLU.infoChange(o.setSosNumber,!0):o.number=e})}}e.$inject=["RealtimeLockupSvc","gettext"],angular.module("c8y.trackerConfiguration").factory("trackerSosSvc",e)}();
1
+ (()=>{function e(u,s){return function(e,r,o){var t=this;t.setSosNumber=function(){return o.execute({deviceId:e.id,description:s("Set SOS number"),c8y_SetSosNumber:t.getC8ySetSosNumber()},t.setSosNumber)},t.getC8ySetSosNumber=function(){return{phoneNumber:t.number}},t.blockSosNumberChange=function(){u.RTLU.block(t.setSosNumber,!0)},t.refreshSosNumber=function(){u.RTLU.clearLockup(t.setSosNumber),t.number=e.c8y_RFV16Config&&e.c8y_RFV16Config.sosNumber},t.setSosNumber.supported=r.supportedOperations.setSosNumber,t.setSosNumber.supported&&o.scope.$watch("tracker.device.c8y_RFV16Config.sosNumber",function(e){u.RTLU.getBlock(t.setSosNumber)?u.RTLU.infoChange(t.setSosNumber,!0):t.number=e})}}e.$inject=["RealtimeLockupSvc","gettext"],angular.module("c8y.trackerConfiguration").factory("trackerSosSvc",e)})();
@@ -1 +1 @@
1
- "use strict";!function(){function e(e){var t={};return t.convertToSeconds=function(e,t){return e*t.multiplier},t.getTimeUnits=function(){return[{label:e("seconds"),value:"seconds",multiplier:1},{label:e("minutes"),value:"minutes",multiplier:60},{label:e("hours"),value:"hours",multiplier:3600}]},t.convertToUnits=function(e,t,n){return _.ceil(e*n/t.multiplier)},t}e.$inject=["gettext"],angular.module("c8y.trackerConfiguration").factory("UnitConversionHelperSvc",e)}();
1
+ (()=>{function e(e){var n={};return n.convertToSeconds=function(e,n){return e*n.multiplier},n.getTimeUnits=function(){return[{label:e("seconds"),value:"seconds",multiplier:1},{label:e("minutes"),value:"minutes",multiplier:60},{label:e("hours"),value:"hours",multiplier:3600}]},n.convertToUnits=function(e,n,t){return _.ceil(e*t/n.multiplier)},n}e.$inject=["gettext"],angular.module("c8y.trackerConfiguration").factory("UnitConversionHelperSvc",e)})();
@@ -1 +1 @@
1
- "use strict";angular.module("c8y.trackerModels",[]);
1
+ angular.module("c8y.trackerModels",[]);
@@ -1 +1 @@
1
- "use strict";!function(){function e(n,t,r,e){var c=r.dataFilePath("trackers/trackers.json"),a=null,o={category:"trackers",key:"supported.models"},u=null;function i(){var e;return a?t.when(a):((e=window.c8y&&window.c8y.collections&&window.c8y.collections.trackers)&&t.when(_.values(e))||n.get(c).then(r.getResData)).then(s).then(function(e){return a=e})}function s(r){return e.getSystemOptionValue(o,u).then(function(e){var t=e?[]:r;return _.forOwn(e,function(e,n){n=_.find(r,{name:n});t.push(_.merge(n,e))}),t})}return{list:i,modelByDevice:function(e){var n=e&&e.c8y_Hardware&&e.c8y_Hardware.model||e;return i().then(function(e){return _.find(e,{name:n})})}}}e.$inject=["$http","$q","c8yBase","c8ySettings"],angular.module("c8y.trackerModels").factory("trackerModelsSvc",e)}();
1
+ (()=>{function e(n,t,r,e){var c=r.dataFilePath("trackers/trackers.json"),a=null,o={category:"trackers",key:"supported.models"},u=null;function i(){var e;return a?t.when(a):((e=window.c8y&&window.c8y.collections&&window.c8y.collections.trackers)&&t.when(_.values(e))||n.get(c).then(r.getResData)).then(l).then(function(e){return a=e})}function l(r){return e.getSystemOptionValue(o,u).then(function(e){var t=e?[]:r;return _.forOwn(e,function(e,n){n=_.find(r,{name:n});t.push(_.merge(n,e))}),t})}return{list:i,modelByDevice:function(e){var n=e&&e.c8y_Hardware&&e.c8y_Hardware.model||e;return i().then(function(e){return _.find(e,{name:n})})}}}e.$inject=["$http","$q","c8yBase","c8ySettings"],angular.module("c8y.trackerModels").factory("trackerModelsSvc",e)})();
@@ -1 +1 @@
1
- "use strict";!function(){function e(e,t,i){var r="gears",a=i("Tracker registration"),i=i("Devices"),c="trackerregistration";e.addNavigation({parent:i,name:a,priority:3e3,icon:r,path:c}),t.when("/".concat(c),{name:a,icon:r,templateUrl:"".concat(":::PLUGIN_PATH:::/views/","index.html")})}e.$inject=["c8yNavigatorProvider","c8yViewsProvider","gettext"],angular.module("c8y.tracking.trackerRegistration",[]).config(e),e.$inject=["c8yNavigatorProvider","c8yViewsProvider","gettext"]}();
1
+ (()=>{function e(e,r,t){var i="gears",a=t("Tracker registration"),t=t("Devices"),c="trackerregistration";e.addNavigation({parent:t,name:a,priority:3e3,icon:i,path:c}),r.when("/".concat(c),{name:a,icon:i,templateUrl:"".concat(":::PLUGIN_PATH:::/views/","index.html")})}e.$inject=["c8yNavigatorProvider","c8yViewsProvider","gettext"],angular.module("c8y.tracking.trackerRegistration",[]).config(e),e.$inject=["c8yNavigatorProvider","c8yViewsProvider","gettext"]})();
@@ -1 +1 @@
1
- "use strict";!function(){function t(t,u,e,g,d,l,f,r,m,p,n,i,B,k,h,F,a,y){var x=[{action:"registerBySMS",name:k("Register new tracker")},{action:"updateBySMS",name:k("Update tracker connection settings")}],j={required:k("This field is required."),pattern:{userPhoneNumber:k("Valid phone number with country prefix required."),trackerPhoneNumber:k("Valid phone number with country prefix required."),trackerIMEI:k("Valid IMEI number required.")}},s="trackerForm",o="registrationProgress",V=[{caption:k("Tracker registration ready.")},{caption:k("Tracker model selected.")},{caption:k("Action selected.")},{caption:k("SMS for initial configuration sent.")},{caption:k("Configuration complete.")}],G=k('Tracker is now waiting for connection, complete the registration in the "Pending tracker registrations" after it connects to the server.'),c={},L={10:/^[0-9]{10}$/,15:/^[0-9]{15}$/},H=/[\s\S]*/g,v={};function T(t){u.newDeviceRequests||(u.newDeviceRequests=[]);var e,r=_.map(u.newDeviceRequests,"id");e=r,_.forEach(t,function(t){_.includes(e,t.id)||u.newDeviceRequests.push(t)}),u.paging=t.paging}function U(t,e){_.forEach(u.newDeviceRequests,function(t){t.id===e.id&&(t.status=e.status,d.success(k("New device connected.")))})}function J(t,e){var r,n,i,a,s,o,c;f.isDevice(e)&&(r=e.c8y_Mobile&&e.c8y_Mobile.imei,i=_.find(u.newDeviceRequests,{id:r}))&&(n=[],c=e,i=m.list({fragmentType:"c8y_MyTrackersGroup"}).then(function(t){return t.length||t.push(m.create({name:h.getString("My trackers"),c8y_MyTrackersGroup:{}}).then(l.getResData)),t[0]}).then(function(t){return p.addChildAsset(t,c)}).then(_.partial(E,i)),(a=(o=y.find(r))&&o.trackerPhoneNumber)&&_.merge(e,{c8y_Mobile:{msisdn:o.trackerPhoneNumber}}),(s=(o=_.find(u.trackerModels,{name:o&&o.trackerModelName}))&&o.communicationMode)&&_.merge(e,{c8y_CommunicationMode:{mode:o.communicationMode}}),(a||s)&&(o=f.save(e),n.push(o)),n.push(i),g.all(n).then(function(){y.cleanByIMEI(r),d.success(k("New tracker added to group."))}))}function W(t){u.trackerModels=t}function S(t){u.registration={status:t||0,tracker:{},currentTrackerName:"",action:""}}function w(t){B.changeTitle({title:k("Tracker registration"),subtitle:_.isUndefined(t)?"":h.getString("{{qty}} new devices",{qty:t})})}function z(){var t;M(),u.forms.trackerForm&&u.forms.trackerForm.trackerIMEI&&""!==u.forms.trackerForm.trackerIMEI.$modelValue&&(t=u.forms.trackerForm.trackerIMEI).$setValidity("pattern",function(){return!!t.$modelValue.match(R())})}function M(){u.registration.currentTracker=_.find(u.trackerModels,{name:u.registration.currentTrackerName})}function R(){return u.registration.currentTracker?L[u.registration.currentTracker.IMEILength]:H}function b(){0<u.registration.status&&(u.registrationSaveObject={},_.assign(u.registrationSaveObject,u.registration,{timestamp:moment().local()}),e.localStorage.setItem(o,JSON.stringify(u.registrationSaveObject)),delete u.registrationSaveObject)}function D(){delete u.temporaryRegistration,I()}function I(){e.localStorage.removeItem(o)}function $(){var t=u.registration.currentTracker.supportedOperations[u.registration.action].messages;return 0===t.length||1<t.length||t[0].requiresFeedback}function N(){u.newDeviceRequests=null,u.refreshLoading=!0,u.paging.refresh().then(T).finally(function(){u.refreshLoading=!1}),u.paging=null}function C(){var t={id:u.registration.tracker.trackerIMEI};return r.create(t)}function E(t){t=_.indexOf(u.newDeviceRequests,t);u.newDeviceRequests.splice(t,1)}function q(){S(),u.registration.tracker={userPhoneNumber:"",trackerPassword:"",trackerIMEI:"",trackerPhoneNumber:""},I()}function O(t){u.registration.status=t}function P(){var n=u.registration,t=n.action,e=n.currentTracker.supportedOperations[t].defaults||{};t&&_.forOwn(e,function(t,e){var r=u.forms[s][e];r&&r.$dirty||(n.tracker[e]=t)})}function A(){O(0),d.warning(G),q(),N()}function K(){var t;return $()?O(3):t=C().then(A),t}v[r.status.PENDING_ACCEPTANCE]=1,v[r.status.WAITING_FOR_CONNECTION]=2,v[r.status.ACCEPTED]=3,u.$on("$destroy",function(){y.commit()}),u.actionButtons=x,u.forms={},u.registration={},u.statuses=V,u.trackerModels=[],u.variables={},u.cancelTempRegistration=function(){D()},u.confirmTempRegistration=function(){_.assign(u.registration,u.temporaryRegistration),D()},u.doesActionRequireFeedback=$,u.getTrackerIMEIPattern=R,u.invalid=angular.bind(l,l.invalid,u.forms,s),u.isThereActionChoice=function(){return!!(u.registration.status<4&&u.registration.currentTracker&&u.registration.currentTracker.supportedOperations.registerBySMS&&u.registration.currentTracker.supportedOperations.updateBySMS)||(u.registration.currentTracker?(u.registration.status<2&&O(2),u.registration.action=u.registration.currentTracker.supportedOperations.registerBySMS?"registerBySMS":"updateBySMS",P()):u.registration.action="",!1)},u.listOrderExpression=[function(t){return v[t.status]},"id"],u.loadNext=function(){u.paging.loading=!0,u.paging.next().then(T).finally(function(){u.paging.loading=!1})},u.newDeviceRequestsStatus=r.status,u.onClickAccept=function(e){r.accept(e).then(function(){var t;t=e,t=_.indexOf(u.newDeviceRequests,e),u.newDeviceRequests[t].status=r.status.ACCEPTED,d.success(k("Device registration accepted."))})},u.onClickCancel=function(t){n({title:k("Confirm cancel?"),body:h.getString("Do you really want to cancel registration request for device with the ID {{id}}?",t),status:"cancel"}).then(function(){r.cancel(t).then(function(){E(t),d.success(k("Device registration cancelled."))})})},u.onClickResetRegistrationData=function(){return n({title:k("Confirm registration data reset?"),body:k("Do you really want to clear all tracker registration data?")}).then(q)},u.refresh=N,u.setActionStatus=function(){O(2),P()},u.sendFirstConfigurationBatch=function(){return O(2),_.forEach(["userPhoneNumber","trackerPhoneNumber"],function(t){u.registration.tracker[t]&&(u.registration.tracker[t]=u.registration.tracker[t].replace(/\+/g,"00"))}),u.registration.messages=[],u.tracker=angular.copy(u.registration.tracker),_.forEach(u.registration.currentTracker.supportedOperations[u.registration.action].messages,function(t){u.registration.messages.push(u.$eval(t.text))}),delete u.tracker,y.add(_.assign({},u.registration.tracker,{trackerModelName:u.registration.currentTrackerName})),a.startRegistration(u.registration).then(K)},u.sendSecondConfigurationBatch=function(){return a.finishRegistration(u.registration).then(C).then(A)},u.shouldDisplayField=function(t){return(2===u.registration.status||3===u.registration.status)&&u.registration.action&&u.registration.currentTracker.supportedOperations[u.registration.action].variables[t]},u.shouldDisplayFirstSendButton=function(){return(2===u.registration.status||3===u.registration.status)&&u.registration.action},u.shouldDisplaySecondSendButton=function(){return 3===u.registration.status&&$()},u.statusIcon=r.statusIcon,u.statusClass=r.statusClass,u.updateTrackerData=function(){M(),u.registration.action=""},u.validationHints=function(t){return l.validationHints(t,j)},r.list(void 0).then(T),i.addListener(u.$id,"/bootstrap",i.realtimeActions().UPDATE,U),i.start(u.$id,"/bootstrap"),u.$on("$destroy",function(){i.stop(u.$id,"/bootstrap")}),i.addListener(u.$id,"/managedobjects/*",i.realtimeActions().CREATE,J),i.start(u.$id,"/managedobjects/*"),u.$on("$destroy",function(){i.stop(u.$id,"/managedobjects/*")}),F.list().then(W),S(),w(),u.$watch("registration.currentTrackerName",z),u.$watch("registration.status",b),u.$watch("registration.currentTrackerName",b),u.$watch("registration.action",b),u.$watch("registration.tracker",b,!0),u.$watch("newDeviceRequests.length",w),(c=JSON.parse(e.localStorage.getItem(o)))&&c.status&&0<c.status&&(c.timestamp=t("absoluteDate")(c.timestamp),u.temporaryRegistration={},_.assign(u.temporaryRegistration,c))}t.$inject=["$filter","$scope","$window","$q","c8yAlert","c8yBase","c8yDevices","c8yDeviceRegistration","c8yDeviceGroup","c8yInventory","c8yModal","c8yRealtime","c8yTitle","gettext","gettextCatalog","trackerModelsSvc","trackerRegistrationSvc","trackerRegistrationHistorySvc"],angular.module("c8y.tracking.trackerRegistration").controller("trackerRegistrationCtrl",t)}();
1
+ (()=>{function t(t,u,e,g,d,l,f,r,m,p,n,i,B,k,h,F,a,y){var x=[{action:"registerBySMS",name:k("Register new tracker")},{action:"updateBySMS",name:k("Update tracker connection settings")}],j={required:k("This field is required."),pattern:{userPhoneNumber:k("Valid phone number with country prefix required."),trackerPhoneNumber:k("Valid phone number with country prefix required."),trackerIMEI:k("Valid IMEI number required.")}},s="trackerForm",o="registrationProgress",V=[{caption:k("Tracker registration ready.")},{caption:k("Tracker model selected.")},{caption:k("Action selected.")},{caption:k("SMS for initial configuration sent.")},{caption:k("Configuration complete.")}],G=k('Tracker is now waiting for connection, complete the registration in the "Pending tracker registrations" after it connects to the server.'),c={},L={10:/^[0-9]{10}$/,15:/^[0-9]{15}$/},H=/[\s\S]*/g,v={};function T(t){u.newDeviceRequests||(u.newDeviceRequests=[]);var e,r=_.map(u.newDeviceRequests,"id");e=r,_.forEach(t,function(t){_.includes(e,t.id)||u.newDeviceRequests.push(t)}),u.paging=t.paging}function U(t,e){_.forEach(u.newDeviceRequests,function(t){t.id===e.id&&(t.status=e.status,d.success(k("New device connected.")))})}function J(t,e){var r,n,i,a,s,o,c;f.isDevice(e)&&(r=e.c8y_Mobile&&e.c8y_Mobile.imei,i=_.find(u.newDeviceRequests,{id:r}))&&(n=[],c=e,i=m.list({fragmentType:"c8y_MyTrackersGroup"}).then(function(t){return t.length||t.push(m.create({name:h.getString("My trackers"),c8y_MyTrackersGroup:{}}).then(l.getResData)),t[0]}).then(function(t){return p.addChildAsset(t,c)}).then(_.partial(E,i)),(a=(o=y.find(r))&&o.trackerPhoneNumber)&&_.merge(e,{c8y_Mobile:{msisdn:o.trackerPhoneNumber}}),(s=(o=_.find(u.trackerModels,{name:o&&o.trackerModelName}))&&o.communicationMode)&&_.merge(e,{c8y_CommunicationMode:{mode:o.communicationMode}}),(a||s)&&(o=f.save(e),n.push(o)),n.push(i),g.all(n).then(function(){y.cleanByIMEI(r),d.success(k("New tracker added to group."))}))}function W(t){u.trackerModels=t}function S(t){u.registration={status:t||0,tracker:{},currentTrackerName:"",action:""}}function w(t){B.changeTitle({title:k("Tracker registration"),subtitle:_.isUndefined(t)?"":h.getString("{{qty}} new devices",{qty:t})})}function z(){var t;M(),u.forms.trackerForm&&u.forms.trackerForm.trackerIMEI&&""!==u.forms.trackerForm.trackerIMEI.$modelValue&&(t=u.forms.trackerForm.trackerIMEI).$setValidity("pattern",function(){return!!t.$modelValue.match(R())})}function M(){u.registration.currentTracker=_.find(u.trackerModels,{name:u.registration.currentTrackerName})}function R(){return u.registration.currentTracker?L[u.registration.currentTracker.IMEILength]:H}function b(){0<u.registration.status&&(u.registrationSaveObject={},_.assign(u.registrationSaveObject,u.registration,{timestamp:moment().local()}),e.localStorage.setItem(o,JSON.stringify(u.registrationSaveObject)),delete u.registrationSaveObject)}function D(){delete u.temporaryRegistration,I()}function I(){e.localStorage.removeItem(o)}function $(){var t=u.registration.currentTracker.supportedOperations[u.registration.action].messages;return 0===t.length||1<t.length||t[0].requiresFeedback}function N(){u.newDeviceRequests=null,u.refreshLoading=!0,u.paging.refresh().then(T).finally(function(){u.refreshLoading=!1}),u.paging=null}function C(){var t={id:u.registration.tracker.trackerIMEI};return r.create(t)}function E(t){t=_.indexOf(u.newDeviceRequests,t);u.newDeviceRequests.splice(t,1)}function q(){S(),u.registration.tracker={userPhoneNumber:"",trackerPassword:"",trackerIMEI:"",trackerPhoneNumber:""},I()}function O(t){u.registration.status=t}function P(){var n=u.registration,t=n.action,e=n.currentTracker.supportedOperations[t].defaults||{};t&&_.forOwn(e,function(t,e){var r=u.forms[s][e];r&&r.$dirty||(n.tracker[e]=t)})}function A(){O(0),d.warning(G),q(),N()}function K(){var t;return $()?O(3):t=C().then(A),t}v[r.status.PENDING_ACCEPTANCE]=1,v[r.status.WAITING_FOR_CONNECTION]=2,v[r.status.ACCEPTED]=3,u.$on("$destroy",function(){y.commit()}),u.actionButtons=x,u.forms={},u.registration={},u.statuses=V,u.trackerModels=[],u.variables={},u.cancelTempRegistration=function(){D()},u.confirmTempRegistration=function(){_.assign(u.registration,u.temporaryRegistration),D()},u.doesActionRequireFeedback=$,u.getTrackerIMEIPattern=R,u.invalid=angular.bind(l,l.invalid,u.forms,s),u.isThereActionChoice=function(){return!!(u.registration.status<4&&u.registration.currentTracker&&u.registration.currentTracker.supportedOperations.registerBySMS&&u.registration.currentTracker.supportedOperations.updateBySMS)||(u.registration.currentTracker?(u.registration.status<2&&O(2),u.registration.action=u.registration.currentTracker.supportedOperations.registerBySMS?"registerBySMS":"updateBySMS",P()):u.registration.action="",!1)},u.listOrderExpression=[function(t){return v[t.status]},"id"],u.loadNext=function(){u.paging.loading=!0,u.paging.next().then(T).finally(function(){u.paging.loading=!1})},u.newDeviceRequestsStatus=r.status,u.onClickAccept=function(e){r.accept(e).then(function(){var t;t=e,t=_.indexOf(u.newDeviceRequests,e),u.newDeviceRequests[t].status=r.status.ACCEPTED,d.success(k("Device registration accepted."))})},u.onClickCancel=function(t){n({title:k("Confirm cancel?"),body:h.getString("Do you really want to cancel registration request for device with the ID {{id}}?",t),status:"cancel"}).then(function(){r.cancel(t).then(function(){E(t),d.success(k("Device registration cancelled."))})})},u.onClickResetRegistrationData=function(){return n({title:k("Confirm registration data reset?"),body:k("Do you really want to clear all tracker registration data?")}).then(q)},u.refresh=N,u.setActionStatus=function(){O(2),P()},u.sendFirstConfigurationBatch=function(){return O(2),_.forEach(["userPhoneNumber","trackerPhoneNumber"],function(t){u.registration.tracker[t]&&(u.registration.tracker[t]=u.registration.tracker[t].replace(/\+/g,"00"))}),u.registration.messages=[],u.tracker=angular.copy(u.registration.tracker),_.forEach(u.registration.currentTracker.supportedOperations[u.registration.action].messages,function(t){u.registration.messages.push(u.$eval(t.text))}),delete u.tracker,y.add(_.assign({},u.registration.tracker,{trackerModelName:u.registration.currentTrackerName})),a.startRegistration(u.registration).then(K)},u.sendSecondConfigurationBatch=function(){return a.finishRegistration(u.registration).then(C).then(A)},u.shouldDisplayField=function(t){return(2===u.registration.status||3===u.registration.status)&&u.registration.action&&u.registration.currentTracker.supportedOperations[u.registration.action].variables[t]},u.shouldDisplayFirstSendButton=function(){return(2===u.registration.status||3===u.registration.status)&&u.registration.action},u.shouldDisplaySecondSendButton=function(){return 3===u.registration.status&&$()},u.statusIcon=r.statusIcon,u.statusClass=r.statusClass,u.updateTrackerData=function(){M(),u.registration.action=""},u.validationHints=function(t){return l.validationHints(t,j)},r.list(void 0).then(T),i.addListener(u.$id,"/bootstrap",i.realtimeActions().UPDATE,U),i.start(u.$id,"/bootstrap"),u.$on("$destroy",function(){i.stop(u.$id,"/bootstrap")}),i.addListener(u.$id,"/managedobjects/*",i.realtimeActions().CREATE,J),i.start(u.$id,"/managedobjects/*"),u.$on("$destroy",function(){i.stop(u.$id,"/managedobjects/*")}),F.list().then(W),S(),w(),u.$watch("registration.currentTrackerName",z),u.$watch("registration.status",b),u.$watch("registration.currentTrackerName",b),u.$watch("registration.action",b),u.$watch("registration.tracker",b,!0),u.$watch("newDeviceRequests.length",w),(c=JSON.parse(e.localStorage.getItem(o)))&&c.status&&0<c.status&&(c.timestamp=t("absoluteDate")(c.timestamp),u.temporaryRegistration={},_.assign(u.temporaryRegistration,c))}t.$inject=["$filter","$scope","$window","$q","c8yAlert","c8yBase","c8yDevices","c8yDeviceRegistration","c8yDeviceGroup","c8yInventory","c8yModal","c8yRealtime","c8yTitle","gettext","gettextCatalog","trackerModelsSvc","trackerRegistrationSvc","trackerRegistrationHistorySvc"],angular.module("c8y.tracking.trackerRegistration").controller("trackerRegistrationCtrl",t)})();
@@ -1 +1 @@
1
- "use strict";!function(){function e(s,t){function a(e,t){return{outboundSMSMessageRequest:{address:["tel:".concat(e.tracker.trackerPhoneNumber)],senderAddress:"tel:".concat(e.tracker.userPhoneNumber||""),outboundSMSTextMessage:{message:e.messages[t]}}}}function c(e){return t.sendSms(e)}return{startRegistration:function(e){return c(a(e,0))},finishRegistration:function(e){for(var t=[],r=1;r<(e.messages||[]).length;r++){var n=a(e,r);t.push(c(n))}return s.all(t)}}}e.$inject=["$q","c8yMessaging"],angular.module("c8y.tracking.trackerRegistration").factory("trackerRegistrationSvc",e),e.$inject=["$q","c8yMessaging"]}();
1
+ (()=>{function e(s,t){function a(e,t){return{outboundSMSMessageRequest:{address:["tel:".concat(e.tracker.trackerPhoneNumber)],senderAddress:"tel:".concat(e.tracker.userPhoneNumber||""),outboundSMSTextMessage:{message:e.messages[t]}}}}function c(e){return t.sendSms(e)}return{startRegistration:function(e){return c(a(e,0))},finishRegistration:function(e){for(var t=[],r=1;r<(e.messages||[]).length;r++){var n=a(e,r);t.push(c(n))}return s.all(t)}}}e.$inject=["$q","c8yMessaging"],angular.module("c8y.tracking.trackerRegistration").factory("trackerRegistrationSvc",e),e.$inject=["$q","c8yMessaging"]})();
@@ -1 +1 @@
1
- "use strict";!function(){function t(t){var n="registrationDataHistory",r=500,e=1,o="month",i={history:[]},c={};function s(){t.get(n).then(function(t){i=t||i})}return s(),c.commit=function(){var r;r=moment().local().subtract(e,o),_.remove(i.history,function(t){return moment(t.timestamp).isBefore(r)}),t.set(n,i)},c.pull=s,c.clearHistory=function(){i={history:[]}},c.add=function(t){_.merge(t,{timestamp:moment().local().format()}),i.history.push((t=t,delete(t=_.cloneDeep(t)).trackerPassword,t)),t=i.history.length,r<t&&(i.history=_.drop(i.history,t-r))},c.list=function(){return i.history},c.find=function(r){return _.findLast(i.history,function(t){return t.trackerIMEI===r})},c.cleanByIMEI=function(r){_.remove(i.history,function(t){return t.trackerIMEI===r})},c}t.$inject=["c8yUserPreferences"],angular.module("c8y.tracking.trackerRegistration").factory("trackerRegistrationHistorySvc",t)}();
1
+ (()=>{function t(t){var n="registrationDataHistory",r=500,e=1,o="month",i={history:[]},c={};function s(){t.get(n).then(function(t){i=t||i})}return s(),c.commit=function(){var r;r=moment().local().subtract(e,o),_.remove(i.history,function(t){return moment(t.timestamp).isBefore(r)}),t.set(n,i)},c.pull=s,c.clearHistory=function(){i={history:[]}},c.add=function(t){_.merge(t,{timestamp:moment().local().format()}),i.history.push((t=t,delete(t=_.cloneDeep(t)).trackerPassword,t)),t=i.history.length,r<t&&(i.history=_.drop(i.history,t-r))},c.list=function(){return i.history},c.find=function(r){return _.findLast(i.history,function(t){return t.trackerIMEI===r})},c.cleanByIMEI=function(r){_.remove(i.history,function(t){return t.trackerIMEI===r})},c}t.$inject=["c8yUserPreferences"],angular.module("c8y.tracking.trackerRegistration").factory("trackerRegistrationHistorySvc",t)})();
@@ -1 +1 @@
1
- "use strict";angular.module("c8y.tracking.plugin",[]).config(["$routeProvider","gettext","c8yMapConfigProvider","c8yGeofenceLayer","c8yConfig","MARKER_TEMPLATE",function(e,r,i,n,a,o){o="<div ng-include=\"'".concat(o,"'\"></div>"),i.addOverlay("geofence",n),i={markerTemplate:o,realtime:!0,legend:!0,navigation:{name:r("Map"),priority:1e4,path:"devicemap",icon:"map-marker"}};a.smartRules.exclude=["calculateEnergyConsumption","onMissingMeasurementsCreateAlarm","onAlarmExecuteOperation","explicitThresholdSmartRule"],_.assign(a.deviceListMap,i),_.assign(a.tracking,{realtime:!0,legend:!0,eventText:!0}),e.when("/",{redirectTo:"/devicemap"})}]).run(["c8yTabs",function(e){e.removeForAll("/group/:groupId/info"),e.removeForAll("/group/:groupId/permissions")}]);
1
+ angular.module("c8y.tracking.plugin",[]).config(["$routeProvider","gettext","c8yMapConfigProvider","c8yGeofenceLayer","c8yConfig","MARKER_TEMPLATE",function(e,r,n,i,a,o){o="<div ng-include=\"'".concat(o,"'\"></div>"),n.addOverlay("geofence",i),n={markerTemplate:o,realtime:!0,legend:!0,navigation:{name:r("Map"),priority:1e4,path:"devicemap",icon:"map-marker"}};a.smartRules.exclude=["calculateEnergyConsumption","onMissingMeasurementsCreateAlarm","onAlarmExecuteOperation","explicitThresholdSmartRule"],_.assign(a.deviceListMap,n),_.assign(a.tracking,{realtime:!0,legend:!0,eventText:!0}),e.when("/",{redirectTo:"/devicemap"})}]).run(["c8yTabs",function(e){e.removeForAll("/group/:groupId/info"),e.removeForAll("/group/:groupId/permissions")}]);
@@ -1 +1 @@
1
- "use strict";!function(){function t(t,i){t.add({name:"trafficLight",nameDisplay:i("Traffic light"),description:i("Visualizes traffic light based on the states of a device"),templateUrl:":::PLUGIN_PATH:::/widget.html",configTemplateUrl:":::PLUGIN_PATH:::/widget-config.html",previewImage:":::PLUGIN_PATH:::/img/traffic-light-widget-pr.png"})}t.$inject=["c8yComponentsProvider","gettext"],angular.module("c8y.trafficLightWidget",[]).config(t)}();
1
+ (()=>{function i(i,t){i.add({name:"trafficLight",nameDisplay:t("Traffic light"),description:t("Visualizes traffic light based on the states of a device"),templateUrl:":::PLUGIN_PATH:::/widget.html",configTemplateUrl:":::PLUGIN_PATH:::/widget-config.html",previewImage:":::PLUGIN_PATH:::/img/traffic-light-widget-pr.png"})}i.$inject=["c8yComponentsProvider","gettext"],angular.module("c8y.trafficLightWidget",[]).config(i)})();
@@ -1 +1 @@
1
- "use strict";!function(){function e(e,n,t,i,a,c,o,p){var r=this;function s(e){t.detail(e).then(n.getResData).then(function(e){r.device=e})}function d(e){return _.isEmpty(e)?"":o.humanizeMapping(e)}function u(n){c.openSelector({selectSingle:!0,managedObject:r.device}).then(function(e){r.mapping[n]=e})}function g(n){a.openFieldbusSelector({device:r.device}).then(function(e){r.mapping[n]=e})}function l(n){i.edit(n).then(function(e){n.config=e})}function m(){var i=e.$parent.$parent.forms.componentForm;r.hasInvalidMapping=!1,_.forOwn(r.mapping,function(e,n){var t=f(n);r.hasInvalidMapping=r.hasInvalidMapping||t,i.$setValidity("statesMapping-".concat(n),!t)})}function f(e){return _.isEmpty(r.mapping[e])}_.assign(r,{$onInit:function(){_.assign(r,{humanizeProperty:d,selectDevicePropertyForState:u,selectFieldbusPropertyForState:g,editComputedProperty:l,isMappingInvalidForState:f}),s(r.deviceId),r.states={red:p("red"),yellow:p("yellow"),green:p("green")},r.mapping||(r.mapping=_.reduce(_.keys(r.states),function(e,n){return e[n]={},e},{})),e.$watch("vm.mapping",m,!0)},$onChanges:function(e){e=e.deviceId&&e.deviceId.currentValue;e&&s(e)}})}e.$inject=["$scope","c8yBase","c8yInventory","c8yComputedProperties","c8yDeviceDatabase","SchemaPropertiesSvc","ScadaWidgetUtilSvc","gettext"],angular.module("c8y.trafficLightWidget").component("statesMapping",{templateUrl:":::PLUGIN_PATH:::/states-mapping.html",bindings:{deviceId:"<",mapping:"="},controller:e,controllerAs:"vm"})}();
1
+ (()=>{function e(e,n,t,i,a,c,o,p){var r=this;function s(e){t.detail(e).then(n.getResData).then(function(e){r.device=e})}function d(e){return _.isEmpty(e)?"":o.humanizeMapping(e)}function g(n){c.openSelector({selectSingle:!0,managedObject:r.device}).then(function(e){r.mapping[n]=e})}function u(n){a.openFieldbusSelector({device:r.device}).then(function(e){r.mapping[n]=e})}function l(n){i.edit(n).then(function(e){n.config=e})}function m(){var i=e.$parent.$parent.forms.componentForm;r.hasInvalidMapping=!1,_.forOwn(r.mapping,function(e,n){var t=v(n);r.hasInvalidMapping=r.hasInvalidMapping||t,i.$setValidity("statesMapping-".concat(n),!t)})}function v(e){return _.isEmpty(r.mapping[e])}_.assign(r,{$onInit:function(){_.assign(r,{humanizeProperty:d,selectDevicePropertyForState:g,selectFieldbusPropertyForState:u,editComputedProperty:l,isMappingInvalidForState:v}),s(r.deviceId),r.states={red:p("red"),yellow:p("yellow"),green:p("green")},r.mapping||(r.mapping=_.reduce(_.keys(r.states),function(e,n){return e[n]={},e},{})),e.$watch("vm.mapping",m,!0)},$onChanges:function(e){e=e.deviceId&&e.deviceId.currentValue;e&&s(e)}})}e.$inject=["$scope","c8yBase","c8yInventory","c8yComputedProperties","c8yDeviceDatabase","SchemaPropertiesSvc","ScadaWidgetUtilSvc","gettext"],angular.module("c8y.trafficLightWidget").component("statesMapping",{templateUrl:":::PLUGIN_PATH:::/states-mapping.html",bindings:{deviceId:"<",mapping:"="},controller:e,controllerAs:"vm"})})();
@@ -1 +1 @@
1
- "use strict";!function(){function t(t,i,n,c){var a=this;function e(){i.detailRealtime(a.config.device.id,t).then(function(t){var i;a.device=t,t=a.device,i=a.config.mapping,t&&i&&n.attach(t,_.values(i))})}function o(){var e=a.device,t=a.config.mapping,i={};return i=e&&t?_.transform(t,function(t,i,n){t[n]=Boolean(c.getRawValueForMapping(e,i))},{}):i}_.assign(a,{$onInit:function(){_.assign(a,{updateStateValues:o}),t.$watch("vm.config",e,!0)}})}t.$inject=["$scope","c8yInventory","c8yComputedProperties","ScadaWidgetUtilSvc"],angular.module("c8y.trafficLightWidget").component("trafficLightWidget",{templateUrl:":::PLUGIN_PATH:::/traffic-light.html",bindings:{config:"<"},controller:t,controllerAs:"vm"})}();
1
+ (()=>{function t(t,i,n,c){var a=this;function e(){i.detailRealtime(a.config.device.id,t).then(function(t){var i;a.device=t,t=a.device,i=a.config.mapping,t&&i&&n.attach(t,_.values(i))})}function o(){var e=a.device,t=a.config.mapping,i={};return i=e&&t?_.transform(t,function(t,i,n){t[n]=Boolean(c.getRawValueForMapping(e,i))},{}):i}_.assign(a,{$onInit:function(){_.assign(a,{updateStateValues:o}),t.$watch("vm.config",e,!0)}})}t.$inject=["$scope","c8yInventory","c8yComputedProperties","ScadaWidgetUtilSvc"],angular.module("c8y.trafficLightWidget").component("trafficLightWidget",{templateUrl:":::PLUGIN_PATH:::/traffic-light.html",bindings:{config:"<"},controller:t,controllerAs:"vm"})})();
@@ -1 +1 @@
1
- "use strict";!function(){function e(e){var o=this;function n(e){return{roles:e.data.inventoryAssignments,process:o.process}}_.assign(o,{selectUser:function(e){o.selecting||(o.selectedUser=e)},process:"merge",copy:function(){return o.copying=!0,e.listInventoryRoles(o.selectedUser).then(n).then(function(e){o.copying=!1,o.modalInstance.close(e)})}})}e.$inject=["c8yUser"],angular.module("c8y.userRoles").component("c8yCopyRolesModal",{templateUrl:":::PLUGIN_PATH:::/copyRolesModal/copyRolesModal.html",bindings:{modal:"<",userTo:"<",modalInstance:"<",resolve:"<"},controller:e,controllerAs:"vm"})}();
1
+ (()=>{function e(e){var o=this;function n(e){return{roles:e.data.inventoryAssignments,process:o.process}}_.assign(o,{selectUser:function(e){o.selecting||(o.selectedUser=e)},process:"merge",copy:function(){return o.copying=!0,e.listInventoryRoles(o.selectedUser).then(n).then(function(e){o.copying=!1,o.modalInstance.close(e)})}})}e.$inject=["c8yUser"],angular.module("c8y.userRoles").component("c8yCopyRolesModal",{templateUrl:":::PLUGIN_PATH:::/copyRolesModal/copyRolesModal.html",bindings:{modal:"<",userTo:"<",modalInstance:"<",resolve:"<"},controller:e,controllerAs:"vm"})})();
@@ -1 +1 @@
1
- "use strict";!function(){function i(i){i.initUi()}i.$inject=["c8yUserRolesUiProvider"],angular.module("c8y.userRoles",[]).config(i)}();
1
+ (()=>{function i(i){i.initUi()}i.$inject=["c8yUserRolesUiProvider"],angular.module("c8y.userRoles",[]).config(i)})();
@@ -1 +1 @@
1
- "use strict";!function(){function e(n,e,t){var o=this,i=[],r=[];function l(){i=_.clone((o.assignedRoles||{}).roles)||[]}function s(e){return _(e).sortBy(y).map(y).value().join(", ")}function c(e){return _.some(i,{id:e.id})||d(e)}function d(e){return _.some(r,{id:e.id})}function u(){return e("filter")(o.inventoryRoles,o.roleTextFilter)}function a(){var e=u().filter(f);return _.every(e,c)}function g(){return i.filter(f)}function f(e){return!o.ownerAllowedRoles||_.some(o.ownerAllowedRoles,{id:e.id})}function m(){var e=_.sortBy(_.map((o.assignedRoles||{}).roles,"id")),n=_.sortBy(_.map(i,"id"));o.isUnchanged=_.isEqual(e,n)}function y(e){return t.getString(e.name)}_.assign(o,{displayTextAssigned:function(){return s((o.assignedRoles||{}).roles)},displayTextInherited:function(){return s(r)},$onChanges:function(e){e.assignedRoles&&l();e.inheritedRoles&&(r=o.inheritedRoles)},toggle:function(e){c(e)?_.remove(i,{id:e.id}):(i.push(e),i=_.uniqBy(i,"id"));m()},toggleSelectAll:function(){a()?i.length=0:i=_.reject(u(),d);m()},allSelected:a,isSelected:c,isInherited:d,filteredAssignedRoles:g,apply:function(){var e=g();o.onApply({roles:e}),o.isDropDownOpen=!1},onToggleDropdown:function(e){e||(l(),o.isUnchanged=!0)},isAllowedByOwner:f,isUnchanged:!0,getFormattedInventoryRoleDescription:_.memoize(function(e){e=t.getString(e.trim());return n.trustAsHtml("\n <div>\n ".concat(e,"\n </div>\n "))}),translateName:y})}e.$inject=["$sce","$filter","gettextCatalog"],angular.module("c8y.userRoles").component("c8yInventoryRoleSelector",{bindings:{assignedRoles:"<",inheritedRoles:"<",inventoryRoles:"<",ownerAllowedRoles:"<",onApply:"&"},templateUrl:":::PLUGIN_PATH:::/inventoryRoleSelector/inventoryRoleSelector.html",controller:e,controllerAs:"vm"})}();
1
+ (()=>{function e(n,e,o){var t=this,i=[],r=[];function l(){i=_.clone((t.assignedRoles||{}).roles)||[]}function s(e){return _(e).sortBy(y).map(y).value().join(", ")}function d(e){return _.some(i,{id:e.id})||c(e)}function c(e){return _.some(r,{id:e.id})}function u(){return e("filter")(t.inventoryRoles,t.roleTextFilter)}function a(){var e=u().filter(f);return _.every(e,d)}function g(){return i.filter(f)}function f(e){return!t.ownerAllowedRoles||_.some(t.ownerAllowedRoles,{id:e.id})}function m(){var e=_.sortBy(_.map((t.assignedRoles||{}).roles,"id")),n=_.sortBy(_.map(i,"id"));t.isUnchanged=_.isEqual(e,n)}function y(e){return o.getString(e.name)}_.assign(t,{displayTextAssigned:function(){return s((t.assignedRoles||{}).roles)},displayTextInherited:function(){return s(r)},$onChanges:function(e){e.assignedRoles&&l();e.inheritedRoles&&(r=t.inheritedRoles)},toggle:function(e){d(e)?_.remove(i,{id:e.id}):(i.push(e),i=_.uniqBy(i,"id"));m()},toggleSelectAll:function(){a()?i.length=0:i=_.reject(u(),c);m()},allSelected:a,isSelected:d,isInherited:c,filteredAssignedRoles:g,apply:function(){var e=g();t.onApply({roles:e}),t.isDropDownOpen=!1},onToggleDropdown:function(e){e||(l(),t.isUnchanged=!0)},isAllowedByOwner:f,isUnchanged:!0,getFormattedInventoryRoleDescription:_.memoize(function(e){e=o.getString(e.trim());return n.trustAsHtml("\n <div>\n ".concat(e,"\n </div>\n "))}),translateName:y})}e.$inject=["$sce","$filter","gettextCatalog"],angular.module("c8y.userRoles").component("c8yInventoryRoleSelector",{bindings:{assignedRoles:"<",inheritedRoles:"<",inventoryRoles:"<",ownerAllowedRoles:"<",onApply:"&"},templateUrl:":::PLUGIN_PATH:::/inventoryRoleSelector/inventoryRoleSelector.html",controller:e,controllerAs:"vm"})})();
@@ -1 +1 @@
1
- "use strict";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 ownKeys(t,e){var r,n=Object.keys(t);return Object.getOwnPropertySymbols&&(r=Object.getOwnPropertySymbols(t),e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)),n}function _objectSpread(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?ownKeys(Object(r),!0).forEach(function(e){_defineProperty(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function _defineProperty(e,t,r){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,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 r=e[Symbol.toPrimitive];if(void 0===r)return("string"===t?String:Number)(e);r=r.call(e,t||"default");if("object"!=_typeof(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}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 r;if(e)return"string"==typeof e?_arrayLikeToArray(e,t):"Map"===(r="Object"===(r=Object.prototype.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 _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function _iterableToArrayLimit(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,s,a=[],l=!0,c=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=i.call(r)).done)&&(a.push(n.value),a.length!==t);l=!0);}catch(e){c=!0,o=e}finally{try{if(!l&&null!=r.return&&(s=r.return(),Object(s)!==s))return}finally{if(c)throw o}}return a}}function _arrayWithHoles(e){if(Array.isArray(e))return e}!function(){function e(e,t,r,n,o,i,s,a,l,c){var u=this,y=c("You cannot edit inventory roles for user with external origin, since it is managed via your authorization server.");function f(){t.listInventoryRoles(u.userId).then(r.getResData).then(function(e){u.assignedRoles=_.keyBy(e.inventoryAssignments,"managedObject")}),t.detail(u.userId).then(r.getResData).then(function(e){u.user=e,u.user.owner?t.listInventoryRoles(u.user.owner).then(r.getResData).then(function(e){u.ownerAssignedRoles=_.keyBy(e.inventoryAssignments,"managedObject"),_.isEmpty(u.ownerAssignedRoles)&&(u.displayNoOwnerRolesAlert=!0),u.failedToFetchOwnerInventoryRoles=!1}).catch(function(){u.failedToFetchOwnerInventoryRoles=!0}):u.failedToFetchOwnerInventoryRoles=!1})}function d(){f(),a.success(l.getPlural(p(),"Inventory role updated","Inventory roles updated",{}))}function p(){return _.filter(u.assignedRoles,"isModified").length}function g(e){var t="replace"===e.process,e=e.roles,r=_.map(u.assignedRoles);return n.copyUserRoles(e,r,u.userId,t).then(f).then(o.successUserRolesCopy)}_.assign(u,{$onInit:function(){f(),t.detail(u.userId).then(r.getResData).then(function(e){return t.hasExternalOrigin(e)?s.isSsoClearingUserRolesOnEveryLogin().then(function(e){return u.disableEditForExternalUsers=e,u.disableEditForExternalUsers&&a.warning(y),u.disableEditForExternalUsers}):u.disableEditForExternalUsers=!1})},$onChange:function(e){e.user&&f()},onChangeRoles:function(e){var t=e.roles,e=e.managedObjectId;u.assignedRoles[e]=u.assignedRoles[e]||{},_.assign(u.assignedRoles[e],{managedObject:e,roles:t,isModified:!0}),u.assignedRoles=_objectSpread({},u.assignedRoles)},onSaveInventoryRoles:function(){n.onSaveInventoryRoles(u.userId,u.assignedRoles).then(d)},copyRoles:function(){o.copyFromUserDialog(u.userId).then(g)},loadAssignedRoles:f,isUnchanged:function(){return 0===p()},pageSize:20,scrollToTop:function(){var e=_slicedToArray(angular.element(document.querySelector("#inventory-roles-container")),1)[0];e&&e.scrollTo(0,0)},helpLink:i.getUserGuideLink(_.get(o.STRINGS,"LINKS.ROLES_INVENTORY")),stopEventPropagation:function(e){e.stopPropagation()},displayNoOwnerRolesAlert:!1,failedToFetchOwnerInventoryRoles:null,disableEditForExternalUsers:!1})}e.$inject=["$q","c8yUser","c8yBase","c8yUserInventoryRoles","c8yUserRolesUi","c8yDocs","c8yLoginOptions","c8yAlert","gettextCatalog","gettext"],angular.module("c8y.userRoles").component("c8yUserInventoryRolesTab",{templateUrl:":::PLUGIN_PATH:::/inventoryRolesTab/inventoryRolesTab.html",controllerAs:"vm",controller:e,bindings:{userId:"<"}})}();
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 ownKeys(r,e){var t,n=Object.keys(r);return Object.getOwnPropertySymbols&&(t=Object.getOwnPropertySymbols(r),e&&(t=t.filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})),n.push.apply(n,t)),n}function _objectSpread(r){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?ownKeys(Object(t),!0).forEach(function(e){_defineProperty(r,e,t[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(t,e))})}return r}function _defineProperty(e,r,t){return(r=_toPropertyKey(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function _toPropertyKey(e){e=_toPrimitive(e,"string");return"symbol"==_typeof(e)?e:e+""}function _toPrimitive(e,r){if("object"!=_typeof(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0===t)return("string"===r?String:Number)(e);t=t.call(e,r||"default");if("object"!=_typeof(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}function _slicedToArray(e,r){return _arrayWithHoles(e)||_iterableToArrayLimit(e,r)||_unsupportedIterableToArray(e,r)||_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,r){var t;if(e)return"string"==typeof e?_arrayLikeToArray(e,r):"Map"===(t="Object"===(t={}.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:t)||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(e,r):void 0}function _arrayLikeToArray(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=Array(r);t<r;t++)n[t]=e[t];return n}function _iterableToArrayLimit(e,r){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var n,o,i,s,a=[],l=!0,c=!1;try{if(i=(t=t.call(e)).next,0===r){if(Object(t)!==t)return;l=!1}else for(;!(l=(n=i.call(t)).done)&&(a.push(n.value),a.length!==r);l=!0);}catch(e){c=!0,o=e}finally{try{if(!l&&null!=t.return&&(s=t.return(),Object(s)!==s))return}finally{if(c)throw o}}return a}}function _arrayWithHoles(e){if(Array.isArray(e))return e}(()=>{function e(e,r,t,n,o,i,s,a,l,c){var u=this,y=c("You cannot edit inventory roles for user with external origin, since it is managed via your authorization server.");function f(){r.listInventoryRoles(u.userId).then(t.getResData).then(function(e){u.assignedRoles=_.keyBy(e.inventoryAssignments,"managedObject")}),r.detail(u.userId).then(t.getResData).then(function(e){u.user=e,u.user.owner?r.listInventoryRoles(u.user.owner).then(t.getResData).then(function(e){u.ownerAssignedRoles=_.keyBy(e.inventoryAssignments,"managedObject"),_.isEmpty(u.ownerAssignedRoles)&&(u.displayNoOwnerRolesAlert=!0),u.failedToFetchOwnerInventoryRoles=!1}).catch(function(){u.failedToFetchOwnerInventoryRoles=!0}):u.failedToFetchOwnerInventoryRoles=!1})}function d(){f(),a.success(l.getPlural(p(),"Inventory role updated","Inventory roles updated",{}))}function p(){return _.filter(u.assignedRoles,"isModified").length}function g(e){var r="replace"===e.process,e=e.roles,t=_.map(u.assignedRoles);return n.copyUserRoles(e,t,u.userId,r).then(f).then(o.successUserRolesCopy)}_.assign(u,{$onInit:function(){f(),r.detail(u.userId).then(t.getResData).then(function(e){return r.hasExternalOrigin(e)?s.isSsoClearingUserRolesOnEveryLogin().then(function(e){return u.disableEditForExternalUsers=e,u.disableEditForExternalUsers&&a.warning(y),u.disableEditForExternalUsers}):u.disableEditForExternalUsers=!1})},$onChange:function(e){e.user&&f()},onChangeRoles:function(e){var r=e.roles,e=e.managedObjectId;u.assignedRoles[e]=u.assignedRoles[e]||{},_.assign(u.assignedRoles[e],{managedObject:e,roles:r,isModified:!0}),u.assignedRoles=_objectSpread({},u.assignedRoles)},onSaveInventoryRoles:function(){n.onSaveInventoryRoles(u.userId,u.assignedRoles).then(d)},copyRoles:function(){o.copyFromUserDialog(u.userId).then(g)},loadAssignedRoles:f,isUnchanged:function(){return 0===p()},pageSize:20,scrollToTop:function(){var e=_slicedToArray(angular.element(document.querySelector("#inventory-roles-container")),1)[0];e&&e.scrollTo(0,0)},helpLink:i.getUserGuideLink(_.get(o.STRINGS,"LINKS.ROLES_INVENTORY")),stopEventPropagation:function(e){e.stopPropagation()},displayNoOwnerRolesAlert:!1,failedToFetchOwnerInventoryRoles:null,disableEditForExternalUsers:!1})}e.$inject=["$q","c8yUser","c8yBase","c8yUserInventoryRoles","c8yUserRolesUi","c8yDocs","c8yLoginOptions","c8yAlert","gettextCatalog","gettext"],angular.module("c8y.userRoles").component("c8yUserInventoryRolesTab",{templateUrl:":::PLUGIN_PATH:::/inventoryRolesTab/inventoryRolesTab.html",controllerAs:"vm",controller:e,bindings:{userId:"<"}})})();
@@ -1 +1 @@
1
- "use strict";!function(){function e(n,e,o){var s,t,r=this,l=(_.assign(r,{filterAsset:function(e){return!r.ownerAllAssignedRoles||_.get(r.ownerAllAssignedRoles,[e.id,"length"])},onApply:function(e,n){return r.onChangeRoles({managedObjectId:n,roles:e})},$onChanges:function(e){(e.assignedRoles||e.ownerAssignedRoles)&&l.then(u);e.expandGroups&&r.expandGroups&&n.expandAll(s,i)},loadChildren:function(e){e.isOpened?(e._subGroups=[],e.isOpened=!1,i()):(n.loadChildren(e).then(i),e.isOpened=!0)},title:function(e){var n=e._subGroups,s=o.getString("Click to fetch subgroups");Array.isArray(n)&&e.isOpened&&(s=0<n.length?o.getPlural(n.length,"1 subgroup","{{$count}} subgroups",{}):o.getString("No subgroups"));return s}}),t=r.user.owner,n.listRootGroups({onlyRootsUser:t}).then(function(e){s=e,i()}));function i(){r.flatAssetTree=n.flatTree(s),u()}function u(){var e;r.assignedRoles&&(r.inheritedRoles=a(r.flatAssetTree,r.assignedRoles)),r.ownerAssignedRoles&&(e=a(r.flatAssetTree,r.ownerAssignedRoles),r.ownerAllAssignedRoles=_.mergeWith(e,r.ownerAssignedRoles,function(e,n){return n?e?_.uniqBy(e.concat(n.roles),"id"):n.roles:e}))}function a(e,s){return _.reduce(e,function(e,n){return e[n.id]=_(n._parentGroups).map(function(e){return _.get(s,e.id)}).filter(_.identity).map(_.property("roles")).flatten().uniqBy("id").value(),e},{})}e.list().then(function(e){r.inventoryRoles=e})}e.$inject=["c8yUserInventoryRoles","c8yRoles","gettextCatalog"],angular.module("c8y.userRoles").component("c8yRolesAssetTree",{templateUrl:":::PLUGIN_PATH:::/rolesAssetTree/rolesAssetTree.html",controllerAs:"vm",controller:e,bindings:{user:"<",searchFilter:"<",assignedRoles:"<",ownerAssignedRoles:"<",expandGroups:"<",pageSize:"<",paginationOffset:"<",onChangeRoles:"&",onChangeItemCount:"&"}})}();
1
+ (()=>{function e(n,e,o){var s,t,r=this,l=(_.assign(r,{filterAsset:function(e){return!r.ownerAllAssignedRoles||_.get(r.ownerAllAssignedRoles,[e.id,"length"])},onApply:function(e,n){return r.onChangeRoles({managedObjectId:n,roles:e})},$onChanges:function(e){(e.assignedRoles||e.ownerAssignedRoles)&&l.then(u);e.expandGroups&&r.expandGroups&&n.expandAll(s,i)},loadChildren:function(e){e.isOpened?(e._subGroups=[],e.isOpened=!1,i()):(n.loadChildren(e).then(i),e.isOpened=!0)},title:function(e){var n=e._subGroups,s=o.getString("Click to fetch subgroups");Array.isArray(n)&&e.isOpened&&(s=0<n.length?o.getPlural(n.length,"1 subgroup","{{$count}} subgroups",{}):o.getString("No subgroups"));return s}}),t=r.user.owner,n.listRootGroups({onlyRootsUser:t}).then(function(e){s=e,i()}));function i(){r.flatAssetTree=n.flatTree(s),u()}function u(){var e;r.assignedRoles&&(r.inheritedRoles=a(r.flatAssetTree,r.assignedRoles)),r.ownerAssignedRoles&&(e=a(r.flatAssetTree,r.ownerAssignedRoles),r.ownerAllAssignedRoles=_.mergeWith(e,r.ownerAssignedRoles,function(e,n){return n?e?_.uniqBy(e.concat(n.roles),"id"):n.roles:e}))}function a(e,s){return _.reduce(e,function(e,n){return e[n.id]=_(n._parentGroups).map(function(e){return _.get(s,e.id)}).filter(_.identity).map(_.property("roles")).flatten().uniqBy("id").value(),e},{})}e.list().then(function(e){r.inventoryRoles=e})}e.$inject=["c8yUserInventoryRoles","c8yRoles","gettextCatalog"],angular.module("c8y.userRoles").component("c8yRolesAssetTree",{templateUrl:":::PLUGIN_PATH:::/rolesAssetTree/rolesAssetTree.html",controllerAs:"vm",controller:e,bindings:{user:"<",searchFilter:"<",assignedRoles:"<",ownerAssignedRoles:"<",expandGroups:"<",pageSize:"<",paginationOffset:"<",onChangeRoles:"&",onChangeItemCount:"&"}})})();
@@ -1 +1 @@
1
- "use strict";function _toConsumableArray(r){return _arrayWithoutHoles(r)||_iterableToArray(r)||_unsupportedIterableToArray(r)||_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(r,e){var n;if(r)return"string"==typeof r?_arrayLikeToArray(r,e):"Map"===(n="Object"===(n=Object.prototype.toString.call(r).slice(8,-1))&&r.constructor?r.constructor.name:n)||"Set"===n?Array.from(r):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_arrayLikeToArray(r,e):void 0}function _iterableToArray(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r)}function _arrayWithoutHoles(r){if(Array.isArray(r))return _arrayLikeToArray(r)}function _arrayLikeToArray(r,e){(null==e||e>r.length)&&(e=r.length);for(var n=0,t=new Array(e);n<e;n++)t[n]=r[n];return t}!function(){function r(i,u,t){return{flatTree:function n(r,e,t){var o=e||0;e=t||[];if(15<o)throw new Error("Exceeded maximum level of nesting");return _.reduce(r,function(r,e){return e._depth=o,r.push(e),n(e._subGroups,o+1,r)},e)},copyUserRoles:function(r,o,a,e){var n=i.when();e=e?(n=i.all(_.map(o,function(r){return u.removeInventoryRoles(a,r.id)})),function(){return i.all(_.map(r,function(r){var e=_.map(r.roles,function(r){return{id:r.id}});return u.assignInventoryRoles(a,r.managedObject,e)}))}):function(){return i.all(_.map(r,function(r){var e=r.managedObject,n=_.find(o,{managedObject:e}),t=_.get(n,"roles"),n=_.get(n,"id"),r=_(_.union(r.roles,t)).uniqBy("id").map(function(r){return{id:r.id}}).value(),t=n?u.updateInventoryRoles(a,n,r):u.assignInventoryRoles(a,e,r);return t}))};return n.then(e)},onSaveInventoryRoles:function(o,a){var r=_.filter(a,"isModified").map(function(r){var e,n=o,t=a;return(t=(t[r.managedObject]||{}).id)?e=r.roles.length?u.updateInventoryRoles(n,t,r.roles):u.removeInventoryRoles(n,t):r.roles.length&&(e=u.assignInventoryRoles(n,r.managedObject,r.roles)),e||i.when()});return i.all(r)},listRootGroups:function(){var r=(0<arguments.length&&void 0!==arguments[0]?arguments[0]:{}).onlyRootsUser,r={query:"$filter=(".concat("has('c8y_IsDeviceGroup')",")$orderby=name"),onlyRoots:!0,onlyRootsUser:r,withChildren:!1};return t.listAll(r)},loadChildren:l,expandAll:function(r,n){var t=i.defer(),o=0,a=Array.from(r);return function e(){var r;o<=5&&((r=a.shift())?(o++,l(r).then(function(r){n&&n(),a.push.apply(a,_toConsumableArray(r)),o--,e()},t.reject),e()):0===o&&t.resolve())}(),t.promise}};function l(e){var r={query:"$filter=((has('c8y_IsDeviceGroup')) and bygroupid(".concat(e.id,"))"),pageSize:2e3,withChildren:!1,withTotalPages:!1},n=[].concat(_toConsumableArray(e._parentGroups||[]),[e]);return t.list(r).then(function(r){return r.forEach(function(r){r._parentGroups=Array.from(n)}),e._subGroups=_.sortBy(r,"name"),e._subGroups})}}r.$inject=["$q","c8yUser","c8yInventory"],angular.module("c8y.userRoles").factory("c8yUserInventoryRoles",r)}();
1
+ function _toConsumableArray(r){return _arrayWithoutHoles(r)||_iterableToArray(r)||_unsupportedIterableToArray(r)||_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(r,e){var n;if(r)return"string"==typeof r?_arrayLikeToArray(r,e):"Map"===(n="Object"===(n={}.toString.call(r).slice(8,-1))&&r.constructor?r.constructor.name:n)||"Set"===n?Array.from(r):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_arrayLikeToArray(r,e):void 0}function _iterableToArray(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r)}function _arrayWithoutHoles(r){if(Array.isArray(r))return _arrayLikeToArray(r)}function _arrayLikeToArray(r,e){(null==e||e>r.length)&&(e=r.length);for(var n=0,t=Array(e);n<e;n++)t[n]=r[n];return t}(()=>{function r(i,u,t){return{flatTree:function n(r,e,t){var o=e||0;e=t||[];if(15<o)throw new Error("Exceeded maximum level of nesting");return _.reduce(r,function(r,e){return e._depth=o,r.push(e),n(e._subGroups,o+1,r)},e)},copyUserRoles:function(r,o,a,e){var n=i.when();e=e?(n=i.all(_.map(o,function(r){return u.removeInventoryRoles(a,r.id)})),function(){return i.all(_.map(r,function(r){var e=_.map(r.roles,function(r){return{id:r.id}});return u.assignInventoryRoles(a,r.managedObject,e)}))}):function(){return i.all(_.map(r,function(r){var e=r.managedObject,n=_.find(o,{managedObject:e}),t=_.get(n,"roles"),n=_.get(n,"id"),r=_(_.union(r.roles,t)).uniqBy("id").map(function(r){return{id:r.id}}).value(),t=n?u.updateInventoryRoles(a,n,r):u.assignInventoryRoles(a,e,r);return t}))};return n.then(e)},onSaveInventoryRoles:function(o,a){var r=_.filter(a,"isModified").map(function(r){var e,n=o,t=a;return(t=(t[r.managedObject]||{}).id)?e=r.roles.length?u.updateInventoryRoles(n,t,r.roles):u.removeInventoryRoles(n,t):r.roles.length&&(e=u.assignInventoryRoles(n,r.managedObject,r.roles)),e||i.when()});return i.all(r)},listRootGroups:function(){var r=(0<arguments.length&&void 0!==arguments[0]?arguments[0]:{}).onlyRootsUser,r={query:"$filter=(".concat("has('c8y_IsDeviceGroup')",")$orderby=name"),onlyRoots:!0,onlyRootsUser:r,withChildren:!1};return t.listAll(r)},loadChildren:l,expandAll:function(r,e){function n(){var r;o<=5&&((r=a.shift())?(o++,l(r).then(function(r){e&&e(),a.push.apply(a,_toConsumableArray(r)),o--,n()},t.reject),n()):0===o&&t.resolve())}var t=i.defer(),o=0,a=Array.from(r);return n(),t.promise}};function l(e){var r={query:"$filter=((has('c8y_IsDeviceGroup')) and bygroupid(".concat(e.id,"))"),pageSize:2e3,withChildren:!1,withTotalPages:!1},n=[].concat(_toConsumableArray(e._parentGroups||[]),[e]);return t.list(r).then(function(r){return r.forEach(function(r){r._parentGroups=Array.from(n)}),e._subGroups=_.sortBy(r,"name"),e._subGroups})}}r.$inject=["$q","c8yUser","c8yInventory"],angular.module("c8y.userRoles").factory("c8yUserInventoryRoles",r)})();
@@ -1 +1 @@
1
- "use strict";!function(){function e(e,t){u.$inject=["$injector","c8yAlert","$uibModal"],s.$inject=["$routeParams"],o.$inject=["$routeParams"];var r="/users/:userId",n={template:'<c8y-user-inventory-roles-tab user-id="vm.userId"></c8y-user-inventory-roles-tab>',name:t("Inventory roles"),icon:"insurance-agent",controllerAs:"vm",controller:s,showIf:o};function o(e){return e.userId&&"new"!==e.userId}function s(e){this.userId=e.userId}function u(e,r,n){return{STRINGS:function(){try{return e.get("c8yRolesUiStrings")}catch(e){return{}}}(),copyFromUserDialog:function(e){e={component:"c8yCopyRolesModal",resolve:{userTo:_.constant(e)}};return n.open(e).result},successUserRolesCopy:function(){var e=t("User roles copied.");return r.success(e)}}}return{$get:u,initUi:function(){e.when(r,n)}}}e.$inject=["c8yViewsProvider","gettext"],angular.module("c8y.userRoles").provider("c8yUserRolesUi",e)}();
1
+ (()=>{function e(e,t){u.$inject=["$injector","c8yAlert","$uibModal"],s.$inject=["$routeParams"],o.$inject=["$routeParams"];var r="/users/:userId",n={template:'<c8y-user-inventory-roles-tab user-id="vm.userId"></c8y-user-inventory-roles-tab>',name:t("Inventory roles"),icon:"insurance-agent",controllerAs:"vm",controller:s,showIf:o};function o(e){return e.userId&&"new"!==e.userId}function s(e){this.userId=e.userId}function u(e,r,n){return{STRINGS:(()=>{try{return e.get("c8yRolesUiStrings")}catch(e){return{}}})(),copyFromUserDialog:function(e){e={component:"c8yCopyRolesModal",resolve:{userTo:_.constant(e)}};return n.open(e).result},successUserRolesCopy:function(){var e=t("User roles copied.");return r.success(e)}}}return{$get:u,initUi:function(){e.when(r,n)}}}e.$inject=["c8yViewsProvider","gettext"],angular.module("c8y.userRoles").provider("c8yUserRolesUi",e)})();
@@ -1 +1 @@
1
- "use strict";!function(){function e(){return{restrict:"EA",scope:{acl:"="},templateUrl:":::PLUGIN_PATH:::/aclEditor/aclEditor.html",controller:n}}function n(i,e,t,l,n){var r,c;function o(){i.newPermission=i.newPermission||{},i.newPermission.deviceSearch=null,i.newPermission.device=null,i.newPermission.scopeType=null,i.newPermission.type=null,i.newPermission.permissionType=null}function s(e){return e&&null!==e&&""!==e}o(),l.current().then(function(e){var n=l.hasRole(e,"ROLE_USER_MANAGEMENT_READ"),e=l.hasRole(e,"ROLE_USER_MANAGEMENT_ADMIN");r=n||e,i.allowView=r,c=e,i.allowEdit=c}),i.isValidPermission=function(e){return s(e.device)&&s(e.device.id)&&null!==e.scopeType&&s(e.type)&&null!==e.permissionType},i.add=function(e){var n=e.device.id,e=[e.scopeType.value,e.type,e.permissionType.value].join(":");i.acl[n]||(i.acl[n]=[]),_.includes(i.acl[n],e)||i.acl[n].push(e),o()},i.remove=function(e,n){i.acl[e]=i.acl[e].filter(function(e){return e!==n}),0===i.acl[e].length&&delete i.acl[e]},i.allowView=r,i.allowEdit=c,i.getDevices=function(e){var n={pageSize:20};return e&&(n.text=e),t.list(n).then(function(e){return _.uniqBy(e,"id")})},i.setDevice=function(e){i.newPermission.device=e},i.translatePermissionString=function(e){return e=e.split(":"),[n.getString(e[0]),e[1],n.getString(e[2])].join(":")}}n.$inject=["$scope","$q","c8yInventory","c8yUser","gettextCatalog"],angular.module("c8y.users").directive("c8yAclEditor",e).directive("aclEditor",e)}();
1
+ (()=>{function e(){return{restrict:"EA",scope:{acl:"="},templateUrl:":::PLUGIN_PATH:::/aclEditor/aclEditor.html",controller:n}}function n(i,e,t,l,n){var r,c;function o(){i.newPermission=i.newPermission||{},i.newPermission.deviceSearch=null,i.newPermission.device=null,i.newPermission.scopeType=null,i.newPermission.type=null,i.newPermission.permissionType=null}function s(e){return e&&null!==e&&""!==e}o(),l.current().then(function(e){var n=l.hasRole(e,"ROLE_USER_MANAGEMENT_READ"),e=l.hasRole(e,"ROLE_USER_MANAGEMENT_ADMIN");r=n||e,i.allowView=r,c=e,i.allowEdit=c}),i.isValidPermission=function(e){return s(e.device)&&s(e.device.id)&&null!==e.scopeType&&s(e.type)&&null!==e.permissionType},i.add=function(e){var n=e.device.id,e=[e.scopeType.value,e.type,e.permissionType.value].join(":");i.acl[n]||(i.acl[n]=[]),_.includes(i.acl[n],e)||i.acl[n].push(e),o()},i.remove=function(e,n){i.acl[e]=i.acl[e].filter(function(e){return e!==n}),0===i.acl[e].length&&delete i.acl[e]},i.allowView=r,i.allowEdit=c,i.getDevices=function(e){var n={pageSize:20};return e&&(n.text=e),t.list(n).then(function(e){return _.uniqBy(e,"id")})},i.setDevice=function(e){i.newPermission.device=e},i.translatePermissionString=function(e){return e=e.split(":"),[n.getString(e[0]),e[1],n.getString(e[2])].join(":")}}n.$inject=["$scope","$q","c8yInventory","c8yUser","gettextCatalog"],angular.module("c8y.users").directive("c8yAclEditor",e).directive("aclEditor",e)})();
@@ -1 +1 @@
1
- "use strict";!function(){function e(){return{restrict:"EA",scope:{user:"=",allSelected:"=?",allowedApplications:"=",disabledEdit:"=?"},templateUrl:":::PLUGIN_PATH:::/applicationAccess/applicationAccess.html",controller:i}}function i(n,e,i){function t(e){return _.uniqBy(e,"id")}function l(e){n.applications=_.filter(e,{type:"HOSTED"}),n.marketApps=_.filter(n.applications,{availability:"MARKET"}),n.privateApps=_.filter(n.applications,{availability:"PRIVATE"})}function a(e){return n.allSelected||_.some(n.allowedApplications,c(e))||o(e)}function c(i){return function(e){return _.toNumber(i.id)===_.toNumber(e.id)}}function o(e){var i,e=e.id,t=n.user;return t&&!n.allSelected&&(t=_(_.get(t,"groups.references")).map("group").map("applications").flatten().uniqBy("id").map("id").value(),i=_.includes(t,e)),i}function r(e){var i=_.get(n,"user._owner.applications");return i&&!o(e)&&!_.some(i,{id:e.id})}n.isAccessAllowed=a,n.toggleAccess=function(e){(a(e)?function(e){n.allowedApplications=_.reject(n.allowedApplications,c(e))}:function(e){n.allowedApplications=n.allowedApplications||[],n.allowedApplications.push({id:e.id,type:e.type})})(e)},n.alreadyInGlobalRole=o,n.isDisabled=function(e){return n.allSelected||n.disabledEdit||o(e)||r(e)},n.notAvailableInOwner=r,n.noOwnerAvailable=function(){return _.get(n,"user")&&!_.get(n,"user._owner")},e.current().then(i.listByUser).then(t).then(l)}i.$inject=["$scope","c8yUser","c8yApplication"],angular.module("c8y.users").directive("c8yApplicationAccess",e).directive("applicationAccessEditor",e)}();
1
+ (()=>{function e(){return{restrict:"EA",scope:{user:"=",allSelected:"=?",allowedApplications:"=",disabledEdit:"=?"},templateUrl:":::PLUGIN_PATH:::/applicationAccess/applicationAccess.html",controller:i}}function i(l,e,i){function t(e){return _.uniqBy(e,"id")}function n(e){l.applications=_.filter(e,{type:"HOSTED"}),l.marketApps=_.filter(l.applications,{availability:"MARKET"}),l.privateApps=_.filter(l.applications,{availability:"PRIVATE"})}function a(e){return l.allSelected||_.some(l.allowedApplications,c(e))||o(e)}function c(i){return function(e){return _.toNumber(i.id)===_.toNumber(e.id)}}function o(e){var i,e=e.id,t=l.user;return t&&!l.allSelected&&(t=_(_.get(t,"groups.references")).map("group").map("applications").flatten().uniqBy("id").map("id").value(),i=_.includes(t,e)),i}function r(e){var i=_.get(l,"user._owner.applications");return i&&!o(e)&&!_.some(i,{id:e.id})}l.isAccessAllowed=a,l.toggleAccess=function(e){(a(e)?e=>{l.allowedApplications=_.reject(l.allowedApplications,c(e))}:e=>{l.allowedApplications=l.allowedApplications||[],l.allowedApplications.push({id:e.id,type:e.type})})(e)},l.alreadyInGlobalRole=o,l.isDisabled=function(e){return l.allSelected||l.disabledEdit||o(e)||r(e)},l.notAvailableInOwner=r,l.noOwnerAvailable=function(){return _.get(l,"user")&&!_.get(l,"user._owner")},e.current().then(i.listByUser).then(t).then(n)}i.$inject=["$scope","c8yUser","c8yApplication"],angular.module("c8y.users").directive("c8yApplicationAccess",e).directive("applicationAccessEditor",e)})();