@c8y/ng1-modules 1020.40.1 → 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 (939) 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 +144 -313
  183. package/core/locales/en.po +0 -12
  184. package/core/locales/en_US.po +887 -0
  185. package/core/locales/es.po +146 -310
  186. package/core/locales/fr.po +141 -314
  187. package/core/locales/ja_JP.po +108 -306
  188. package/core/locales/ko.po +79 -304
  189. package/core/locales/nl.po +140 -313
  190. package/core/locales/pl.po +144 -316
  191. package/core/locales/pt_BR.po +142 -312
  192. package/core/locales/zh_CN.po +79 -304
  193. package/core/locales/zh_TW.po +80 -305
  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.module.js +1 -1
  693. package/modbusWidgets/controllers/widget.js +1 -1
  694. package/modbusWidgets/controllers/widgetConfig.js +1 -1
  695. package/modbusWidgets/index.js +1 -1
  696. package/modbusWidgets/services/modbusWidget.js +1 -1
  697. package/newsletter/downloadEmailsList.component.js +1 -1
  698. package/newsletter/newsletter.config.js +1 -1
  699. package/newsletter/newsletter.module.js +1 -1
  700. package/newsletter/newsletter.service.js +1 -1
  701. package/newsletter/subscribeNewsletter.component.js +1 -1
  702. package/nvd3ChartDirectives/override.js +1 -1
  703. package/oauth/controllers/oauth.js +1 -1
  704. package/oauth/index.js +1 -1
  705. package/package.json +5 -5
  706. package/platformConfiguration/index.js +1 -1
  707. package/platformConfiguration/platformConfiguration.component.js +1 -1
  708. package/platformConfiguration/platformConfigurationUi.provider.js +1 -1
  709. package/propertiesLibrary/index.js +1 -1
  710. package/propertiesLibrary/jsonSchemaObjectEditor.component.js +1 -1
  711. package/propertiesLibrary/jsonSchemaObjectsList.component.js +1 -1
  712. package/qrCode/controllers/qrCode.js +1 -1
  713. package/qrCode/directives/displayQrCode.js +1 -1
  714. package/qrCode/index.js +1 -1
  715. package/qrCode/services/qrCodePrinter.js +1 -1
  716. package/qrCode/services/qrCodeTemplate.js +1 -1
  717. package/relayWidget/index.js +1 -1
  718. package/relayWidget/relay.controller.js +1 -1
  719. package/relayWidget/relay.service.js +1 -1
  720. package/remoteAccess/clients/remoteAccessClients.service.js +1 -1
  721. package/remoteAccess/clients/terminal/index.js +1 -1
  722. package/remoteAccess/clients/terminal/shell-adapter.js +1 -1
  723. package/remoteAccess/clients/terminal/telnet-negotiator.js +1 -1
  724. package/remoteAccess/clients/vnc/vncClient.js +1 -1
  725. package/remoteAccess/remoteAccess.module.js +1 -1
  726. package/remoteAccess/remoteAccess.service.js +1 -1
  727. package/remoteAccess/remoteAccessEndpointCard/remoteAccessEndpointCard.component.js +1 -1
  728. package/remoteAccess/remoteAccessEndpointModal/remoteAccessEndpointModal.component.js +1 -1
  729. package/remoteAccess/remoteAccessEndpointsList/remoteAccessEndpointsList.component.js +1 -1
  730. package/remoteAccess/remoteAccessSettings/remoteAccessSettings.component.js +1 -1
  731. package/remoteAccess/remoteAccessUI.provider.js +1 -1
  732. package/roles/detail/roleDetailGlobal.component.js +1 -1
  733. package/roles/detail/roleDetailInventory.component.js +1 -1
  734. package/roles/detail/roleGlobalSaveConfirm.controller.js +1 -1
  735. package/roles/detail/roleGlobalSaveConfirm.html +9 -5
  736. package/roles/detail/roleInventoryPermissionList.component.js +1 -1
  737. package/roles/detail/roleTitle.component.js +1 -1
  738. package/roles/index.js +1 -1
  739. package/roles/list/rolesList.component.js +1 -1
  740. package/roles/list/rolesOverview.controller.js +1 -1
  741. package/roles/rolesUi.provider.js +1 -1
  742. package/scada/config.controller.js +1 -1
  743. package/scada/index.js +1 -1
  744. package/scada/index.mock.js +1 -1
  745. package/scada/mapping.directive.js +1 -1
  746. package/scada/svg.directive.js +1 -1
  747. package/scada/util.service.js +1 -1
  748. package/scada/views/component.html +1 -0
  749. package/scada/views/componentConfig.html +1 -0
  750. package/scada/widget.controller.js +1 -1
  751. package/simulators/add/simulatorAdd.component.js +1 -1
  752. package/simulators/detail/detail.component.js +1 -1
  753. package/simulators/detail/detail.controller.js +1 -1
  754. package/simulators/detail/instructionAdd.component.js +1 -1
  755. package/simulators/detail/instructionDetail.component.js +1 -1
  756. package/simulators/detail/instructionList.component.js +1 -1
  757. package/simulators/detail/operationAddDialog.component.js +1 -1
  758. package/simulators/detail/operations.component.js +1 -1
  759. package/simulators/index.js +1 -1
  760. package/simulators/list/list.component.js +1 -1
  761. package/simulators/list/simulatorCloneDialog.component.js +1 -1
  762. package/simulators/simulators.service.js +1 -1
  763. package/simulators/simulatorsUi.provider.js +1 -1
  764. package/smartRestEditor/addTemplate/addTemplate.component.js +1 -1
  765. package/smartRestEditor/csvPreviewer/csvPreviewer.component.js +1 -1
  766. package/smartRestEditor/details.controller.js +1 -1
  767. package/smartRestEditor/importTemplate/importTemplate.component.js +1 -1
  768. package/smartRestEditor/index.js +1 -1
  769. package/smartRestEditor/list.controller.js +1 -1
  770. package/smartRestEditor/requestEditor/requestEditor.component.js +1 -1
  771. package/smartRestEditor/responseEditor/responseEditor.component.js +1 -1
  772. package/smartRestEditor/validators/validateCustomFieldKeyInRequestTemplate.directive.js +1 -1
  773. package/smartRestEditor/validators/validateUniqueMsgIdInTemplate.directive.js +1 -1
  774. package/smartRestEditor/valueInput/valueInput.directive.js +1 -1
  775. package/smartRestEditorUI/index.js +1 -1
  776. package/smartRules/add/addSmartRuleButton.component.js +1 -1
  777. package/smartRules/controllers/add.js +1 -1
  778. package/smartRules/controllers/childAssetsSelector.js +1 -1
  779. package/smartRules/controllers/edit.js +1 -1
  780. package/smartRules/controllers/list.js +1 -1
  781. package/smartRules/controllers/smartRuleParamInput.js +1 -1
  782. package/smartRules/directives/childAssetsSelector.js +1 -1
  783. package/smartRules/directives/smartRuleParamInput.js +1 -1
  784. package/smartRules/directives/smartRuleParamInputAlarmSeverity.js +1 -1
  785. package/smartRules/directives/smartRuleParamInputAlarmType.js +1 -1
  786. package/smartRules/directives/smartRuleParamInputCheckbox.js +1 -1
  787. package/smartRules/directives/smartRuleParamInputDashboard.js +1 -1
  788. package/smartRules/directives/smartRuleParamInputDefault.js +1 -1
  789. package/smartRules/directives/smartRuleParamInputEmail.js +1 -1
  790. package/smartRules/directives/smartRuleParamInputEscalationSteps.js +1 -1
  791. package/smartRules/directives/smartRuleParamInputExportConfiguration.js +1 -1
  792. package/smartRules/directives/smartRuleParamInputFrequency.js +1 -1
  793. package/smartRules/directives/smartRuleParamInputGeofence.js +1 -1
  794. package/smartRules/directives/smartRuleParamInputKpi.js +1 -1
  795. package/smartRules/directives/smartRuleParamInputNumber.js +1 -1
  796. package/smartRules/directives/smartRuleParamInputOperation.js +1 -1
  797. package/smartRules/directives/smartRuleParamInputPhoneNumber.js +1 -1
  798. package/smartRules/directives/smartRuleParamInputSelect.js +1 -1
  799. package/smartRules/directives/smartRuleParamInputTextarea.js +1 -1
  800. package/smartRules/directives/smartRuleParamInputTimeInterval.js +1 -1
  801. package/smartRules/directives/smartRuleParamWarnMaxLength.js +1 -1
  802. package/smartRules/index.js +1 -1
  803. package/smartRules/list/smartRulesList.component.js +1 -1
  804. package/smartRules/services/smartRuleTemplates.js +1 -1
  805. package/smartRules/services/smartRules.js +1 -1
  806. package/smartRules/views/paramInputAlarmType.html +25 -13
  807. package/smartRules/views/paramInputEscalationSteps.html +53 -19
  808. package/smartRules/views/paramInputKpi.html +18 -12
  809. package/smartRules/views/paramInputOperation.html +17 -14
  810. package/smartRules/views/paramInputTimeInterval.html +25 -17
  811. package/switchDisplay/controller/switchDisplayConfigCtrl.js +1 -1
  812. package/switchDisplay/controller/switchDisplayCtrl.js +1 -1
  813. package/switchDisplay/index.js +1 -1
  814. package/tenantApplications/controllers/main.js +1 -1
  815. package/tenantApplications/index.js +1 -1
  816. package/tenantApplications/subscribed-applications/subscribed-applications.component.js +1 -1
  817. package/tenantLicenses/index.js +1 -1
  818. package/tenantLicenses/licenseManagement.component.js +1 -1
  819. package/tenantPolicies/retentionRule/retentionRuleRow.component.js +1 -1
  820. package/tenantPolicies/systemOptions/editSystemOption.component.js +1 -1
  821. package/tenantPolicies/systemOptions/systemOptionsRow.component.js +1 -1
  822. package/tenantPolicies/tenantOptions/editTenantOption.component.js +1 -1
  823. package/tenantPolicies/tenantOptions/tenantOptionsRow.component.js +1 -1
  824. package/tenantPolicies/tenantPolicies.module.js +1 -1
  825. package/tenantPolicies/tenantPolicies.service.js +1 -1
  826. package/tenantPolicies/tenantPoliciesConfig.provider.js +1 -1
  827. package/tenantPolicies/tenantPolicyDetail/tenantPolicyDetail.component.js +1 -1
  828. package/tenantPolicies/tenantPolicyDetail/tenantPolicyRow.component.js +1 -1
  829. package/tenantPolicies/tenantPolicyList/tenantPolicyList.component.js +1 -1
  830. package/tenantStatistics/index.js +1 -1
  831. package/tenantStatistics/tenant-statistics-columns.service.js +1 -1
  832. package/tenantStatistics/tenant-statistics.component.js +1 -1
  833. package/tenants/controllers/customProperties.js +1 -1
  834. package/tenants/controllers/detail.js +1 -1
  835. package/tenants/index.js +1 -1
  836. package/tenants/index.mock.js +1 -1
  837. package/trackerConfiguration/controllers/msisdnAlert.controller.js +1 -1
  838. package/trackerConfiguration/controllers/trackerConfiguration.controller.js +1 -1
  839. package/trackerConfiguration/directives/msisdnAlert.directive.js +1 -1
  840. package/trackerConfiguration/index.js +1 -1
  841. package/trackerConfiguration/services/realtimeLockup.service.js +1 -1
  842. package/trackerConfiguration/services/trackerAlarms.service.js +1 -1
  843. package/trackerConfiguration/services/trackerLocation.service.js +1 -1
  844. package/trackerConfiguration/services/trackerRestart.service.js +1 -1
  845. package/trackerConfiguration/services/trackerSituation.service.js +1 -1
  846. package/trackerConfiguration/services/trackerSos.service.js +1 -1
  847. package/trackerConfiguration/services/unitConversionHelper.service.js +1 -1
  848. package/trackerModels/index.js +1 -1
  849. package/trackerModels/trackerModels.service.js +1 -1
  850. package/trackerRegistration/index.js +1 -1
  851. package/trackerRegistration/trackerRegistration.controller.js +1 -1
  852. package/trackerRegistration/trackerRegistration.service.js +1 -1
  853. package/trackerRegistration/trackerRegistrationHistory.service.js +1 -1
  854. package/trackingAppConfig/index.js +1 -1
  855. package/trafficLightWidget/index.js +1 -1
  856. package/trafficLightWidget/states-mapping.component.js +1 -1
  857. package/trafficLightWidget/traffic-light.component.js +1 -1
  858. package/userRoles/copyRolesModal/copyRolesModal.component.js +1 -1
  859. package/userRoles/index.js +1 -1
  860. package/userRoles/inventoryRoleSelector/inventoryRoleSelector.component.js +1 -1
  861. package/userRoles/inventoryRolesTab/inventoryRolesTab.component.js +1 -1
  862. package/userRoles/rolesAssetTree/rolesAssetTree.component.js +1 -1
  863. package/userRoles/userRoles.service.js +1 -1
  864. package/userRoles/userRolesUi.service.js +1 -1
  865. package/users/aclEditor/aclEditor.directive.js +1 -1
  866. package/users/applicationAccess/applicationAccess.directive.js +1 -1
  867. package/users/index.js +1 -1
  868. package/users/userDetailView/userApplicationAccess.component.js +1 -1
  869. package/users/userDetailView/userDetailView.component.js +1 -1
  870. package/users/userList/userList.component.js +1 -1
  871. package/users/userListView/userListView.component.js +1 -1
  872. package/users/userRemovalModal/userRemovalModal.component.js +1 -1
  873. package/users/usersUi.provider.js +1 -1
  874. package/actilityProviderSettings/actilityProviderSettings.module.js +0 -1
  875. package/actilityProviderSettings/actilitySettings.component.js +0 -1
  876. package/actilityProviderSettings/actilitySettings.html +0 -128
  877. package/actilityProviderSettings/actilitySettings.service.js +0 -1
  878. package/actilityProviderSettings/cumulocity.json +0 -14
  879. package/cell-id-information-activator/cell-id-information-activator.config.js +0 -1
  880. package/cell-id-information-activator/cell-id-information-activator.module.js +0 -1
  881. package/cell-id-information-activator/cell-id-information-activator.service.js +0 -1
  882. package/cell-id-information-activator/cumulocity.json +0 -13
  883. package/cell-id-usage-statistics/cell-id-usage-statistics.component.js +0 -1
  884. package/cell-id-usage-statistics/cell-id-usage-statistics.config.js +0 -1
  885. package/cell-id-usage-statistics/cell-id-usage-statistics.html +0 -104
  886. package/cell-id-usage-statistics/cell-id-usage-statistics.module.js +0 -1
  887. package/cell-id-usage-statistics/cell-id-usage-statistics.service.js +0 -1
  888. package/cell-id-usage-statistics/constants.js +0 -1
  889. package/cell-id-usage-statistics/cumulocity.json +0 -15
  890. package/configurationRepository/configurationRepository.service.js +0 -1
  891. package/configurationRepository/cumulocity.json +0 -13
  892. package/configurationRepository/index.js +0 -1
  893. package/configurationRepository/list.controller.js +0 -1
  894. package/configurationRepository/views/list.html +0 -273
  895. package/core/core/services/combain.js +0 -1
  896. package/core/locales/ru.po +0 -17162
  897. package/core/ui/configurable-device-list-columns/configurable-columns.service.js +0 -1
  898. package/core/ui/configurable-device-list-columns/constants.js +0 -1
  899. package/core/ui/configurable-device-list-columns/modal-columns-configure.component.html +0 -171
  900. package/core/ui/configurable-device-list-columns/modal-columns-configure.component.js +0 -1
  901. package/core/ui/configurable-device-list-columns/unique-by.directive.js +0 -1
  902. package/core/ui/controllers/deviceList.js +0 -1
  903. package/core/ui/devices/device-details.config.js +0 -1
  904. package/core/ui/directives/deviceDetailBasic/availability.js +0 -1
  905. package/core/ui/directives/deviceDetailBasic/group.js +0 -1
  906. package/core/ui/directives/deviceList.js +0 -1
  907. package/core/ui/directives/deviceStatusDisplay.js +0 -1
  908. package/core/ui/directives/linearGauge.js +0 -1
  909. package/core/ui/directives/silo.js +0 -1
  910. package/core/ui/services/deviceListColumns.js +0 -1
  911. package/core/ui/views/deviceDetailBasic/availability.html +0 -85
  912. package/core/ui/views/deviceDetailBasic/basic.html +0 -165
  913. package/core/ui/views/deviceDetailBasic/firmware.html +0 -26
  914. package/core/ui/views/deviceDetailBasic/group.html +0 -36
  915. package/core/ui/views/deviceDetailBasic/groupSelectModal.html +0 -50
  916. package/core/ui/views/deviceDetailBasic/hardware.html +0 -28
  917. package/core/ui/views/deviceDetailBasic/mobile.html +0 -82
  918. package/core/ui/views/deviceDetailBasic/network.html +0 -12
  919. package/core/ui/views/deviceList.html +0 -64
  920. package/core/ui/views/deviceStatusDisplay.html +0 -44
  921. package/core/ui/views/linearGauge.html +0 -11
  922. package/core/ui/views/silo.html +0 -16
  923. package/deviceConfiguration/cumulocity.json +0 -14
  924. package/deviceConfiguration/index.js +0 -1
  925. package/deviceConfiguration/styles/styles.less +0 -1
  926. package/deviceConfiguration/views/configuration.html +0 -7
  927. package/deviceList/cumulocity.json +0 -14
  928. package/deviceList/deviceList.controller.js +0 -1
  929. package/deviceList/index.js +0 -1
  930. package/deviceList/views/index.html +0 -9
  931. package/kpi/img/linear-gauge-widget-pr.png +0 -0
  932. package/kpi/img/silo-widget-pr.png +0 -0
  933. package/kpi/views/linearGauge.html +0 -11
  934. package/kpi/views/silo.html +0 -9
  935. package/sigfox-provider-settings/cumulocity.json +0 -14
  936. package/sigfox-provider-settings/sigfox-provider-settings.module.js +0 -1
  937. package/sigfox-provider-settings/sigfox-settings.component.js +0 -1
  938. package/sigfox-provider-settings/sigfox-settings.html +0 -83
  939. package/sigfox-provider-settings/sigfox-settings.service.js +0 -1
@@ -1 +1 @@
1
- "use strict";!function(){function e(e,n,t,r,c){return{download:function(){return t.current().then(function(e){return c.downloadAndSaveAs({},r.url("user/".concat(e.tenant,"/users/newsletterEmails")))})}}}e.$inject=["$http","$q","c8yUser","c8yBase","c8yBinaryCommon"],angular.module("c8y.newsletter").factory("NewsletterService",e)}();
1
+ (()=>{function e(e,n,t,r,c){return{download:function(){return t.current().then(function(e){return c.downloadAndSaveAs({},r.url("user/".concat(e.tenant,"/users/newsletterEmails")))})}}}e.$inject=["$http","$q","c8yUser","c8yBase","c8yBinaryCommon"],angular.module("c8y.newsletter").factory("NewsletterService",e)})();
@@ -1 +1 @@
1
- "use strict";!function(){function e(e){var t=this;_.assign(t,{description:e("Send me information about outages, maintenance or updates."),$doCheck:function(){t.form.email&&(t.user&&t.user.newsletter&&!t.user.email?(t.form.email.$setDirty(!0),t.form.email.$setValidity("required",!1)):t.form.email.$setValidity("required",!0))}})}e.$inject=["gettext"],angular.module("c8y.newsletter").component("c8ySubscribeNewsletter",{controller:e,controllerAs:"vm",bindings:{user:"=",form:"="},template:'<div class="checkbox"><label><input type="checkbox" ng-model="vm.user.newsletter" />{{vm.description | translate}}</label></div>'})}();
1
+ (()=>{function e(e){var t=this;_.assign(t,{description:e("Send me information about outages, maintenance or updates."),$doCheck:function(){t.form.email&&(t.user&&t.user.newsletter&&!t.user.email?(t.form.email.$setDirty(!0),t.form.email.$setValidity("required",!1)):t.form.email.$setValidity("required",!0))}})}e.$inject=["gettext"],angular.module("c8y.newsletter").component("c8ySubscribeNewsletter",{controller:e,controllerAs:"vm",bindings:{user:"=",form:"="},template:'<div class="checkbox"><label><input type="checkbox" ng-model="vm.user.newsletter" />{{vm.description | translate}}</label></div>'})})();
@@ -1 +1 @@
1
- "use strict";!function(){function n(n,i){!i.isLocal&&n.nv&&n.nv.dev&&_.set(n,"nv.dev",!1)}n.$inject=["$window","info"],angular.module("nvd3ChartDirectives").run(n)}();
1
+ (()=>{function n(n,e){!e.isLocal&&n.nv&&n.nv.dev&&_.set(n,"nv.dev",!1)}n.$inject=["$window","info"],angular.module("nvd3ChartDirectives").run(n)})();
@@ -1 +1 @@
1
- "use strict";angular.module("c8y.parts.oauth").controller("OAuthCtrl",["$scope","$location","$window","$http","c8ySettings","c8yAuth","c8yUser","c8yTitle","c8yAlert","gettext",function(r,t,e,n,c,o,a,i,u,d){var l=t.search(),s=t.host(),h=t.protocol(),p=t.port(),t=a.current(),y=e.location.pathname,f=null;function g(t){t=t.data;r.token=t.value}function k(t){t=t.data;u.danger("".concat(t.error,": ").concat(t.error_description))}function m(e){return _.keys(e).map(function(t){return"".concat(t,"=").concat(e[t])}).join("&")}function v(t){var e={},n=[],o="redirect"===t?"developer.cumulocity.com":s,r=80!==parseInt(p,10)&&443!==parseInt(p,10)?":".concat(p):"",o="".concat(h,"://").concat(o).concat(r);return e.tenant_id=f,"login"===t&&(_.assign(e,{redirect_uri:v("redirect"),response_type:"code"}),n=[o,"/tenant/oauth?",m(e)]),"token"===t&&(n=[o,"/tenant/oauth?"]),(n="redirect"===t?[o,y,"%23/oauth"]:n).join("")}function T(){return v("login")}t.then(function(t){var e;f=t.tenant,l.code?(t=l.code,e=v("token"),(t={redirect_uri:v("redirect"),grant_type:"authorization_code",code:t}).tenant_id=f,n({method:"POST",url:e,data:m(t),headers:{"Content-Type":"application/x-www-form-urlencoded"}}).then(function(t){var n,o,t=t.data;t.refresh_token&&(n=t.refresh_token,o="paypal",c.list().then(function(t){var e="createOption";(t||[]).forEach(function(t){return t.category!==o||!(e="updateOption")}),c[e]({category:o,key:"refreshToken",value:n}).then(function(){r.token=n,r.$emit("message",{type:"success",text:d("Token saved.")})})}))},k)):c.detail({category:"paypal",key:"refreshToken"}).then(g),r.getLoginUrl=T}),i.changeTitle({title:d("OAuth")})}]);
1
+ angular.module("c8y.parts.oauth").controller("OAuthCtrl",["$scope","$location","$window","$http","c8ySettings","c8yAuth","c8yUser","c8yTitle","c8yAlert","gettext",function(r,t,e,n,c,o,a,i,u,d){var l=t.search(),s=t.host(),h="developer.cumulocity.com",p=t.protocol(),y=t.port(),t=a.current(),f=e.location.pathname,g=null;function k(t){t=t.data;r.token=t.value}function m(t){t=t.data;u.danger("".concat(t.error,": ").concat(t.error_description))}function v(e){return _.keys(e).map(function(t){return"".concat(t,"=").concat(e[t])}).join("&")}function T(t){var e={},n=[],o="redirect"===t?h:s,r=80!==parseInt(y,10)&&443!==parseInt(y,10)?":".concat(y):"",o="".concat(p,"://").concat(o).concat(r);return e.tenant_id=g,"login"===t&&(_.assign(e,{redirect_uri:T("redirect"),response_type:"code"}),n=[o,"/tenant/oauth?",v(e)]),"token"===t&&(n=[o,"/tenant/oauth?"]),(n="redirect"===t?[o,f,"%23/oauth"]:n).join("")}function w(){return T("login")}t.then(function(t){var e;g=t.tenant,l.code?(t=l.code,e=T("token"),(t={redirect_uri:T("redirect"),grant_type:"authorization_code",code:t}).tenant_id=g,n({method:"POST",url:e,data:v(t),headers:{"Content-Type":"application/x-www-form-urlencoded"}}).then(function(t){var n,o,t=t.data;t.refresh_token&&(n=t.refresh_token,o="paypal",c.list().then(function(t){var e="createOption";(t||[]).forEach(function(t){return t.category!==o||!(e="updateOption")}),c[e]({category:o,key:"refreshToken",value:n}).then(function(){r.token=n,r.$emit("message",{type:"success",text:d("Token saved.")})})}))},m)):c.detail({category:"paypal",key:"refreshToken"}).then(k),r.getLoginUrl=w}),i.changeTitle({title:d("OAuth")})}]);
package/oauth/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";angular.module("c8y.parts.oauth",[]).config(["c8yViewsProvider",function(e){e.when("/oauth",{templateUrl:":::PLUGIN_PATH:::/views/index.html"})}]);
1
+ angular.module("c8y.parts.oauth",[]).config(["c8yViewsProvider",function(e){e.when("/oauth",{templateUrl:":::PLUGIN_PATH:::/views/index.html"})}]);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@c8y/ng1-modules",
3
- "version": "1020.40.1",
3
+ "version": "1021.0.4",
4
4
  "license": "Apache-2.0",
5
5
  "author": "Cumulocity",
6
6
  "description": "AngularJS modules for Cumulocity IoT applications.",
@@ -31,11 +31,11 @@
31
31
  "d3": "3.5.5",
32
32
  "fast-text-encoding": "1.0.6",
33
33
  "file-saver": "2.0.5",
34
- "ini": "4.1.3",
34
+ "ini": "5.0.0",
35
35
  "jquery": "3.6.0",
36
36
  "jquery-ui": "1.13.0",
37
37
  "leaflet": "1.9.4",
38
- "libphonenumber-js": "1.10.55",
38
+ "libphonenumber-js": "1.11.9",
39
39
  "lodash": "4.17.21",
40
40
  "moment": "2.30.1",
41
41
  "ng-csv": "0.3.6",
@@ -48,14 +48,14 @@
48
48
  "xterm": "5.3.0",
49
49
  "xterm-addon-fit": "0.8.0",
50
50
  "zip-js": "0.0.3",
51
- "dompurify": "3.0.9"
51
+ "dompurify": "3.1.3"
52
52
  },
53
53
  "devDependencies": {
54
54
  "jest-junit": "16.0.0",
55
55
  "fs-extra": "^11.2.0",
56
56
  "npm-packlist": "1.1.11",
57
57
  "@babel/plugin-syntax-dynamic-import": "7.8.3",
58
- "uglify-js": "3.17.4"
58
+ "uglify-js": "3.19.3"
59
59
  },
60
60
  "peerDependencies": {
61
61
  "angular": "<=1.8.3"
@@ -1 +1 @@
1
- "use strict";!function(){function i(i){i.init()}i.$inject=["c8yPlatformConfigurationUiProvider"],angular.module("c8y.platformConfiguration",[]).config(i)}();
1
+ (()=>{function i(i){i.init()}i.$inject=["c8yPlatformConfigurationUiProvider"],angular.module("c8y.platformConfiguration",[]).config(i)})();
@@ -1 +1 @@
1
- "use strict";!function(){function n(n,o,t,i,r,e){var s,a=this;function u(){return o.all({hasAdminPermissions:r.hasAnyRole(["ROLE_OPTION_MANAGEMENT_ADMIN"]),configuration:t.getConfiguration()}).then(function(n){s=_.cloneDeep(n.configuration),_.assign(a,n)})}_.assign(a,{$onInit:u,save:function(n){return t.saveConfiguration(n,s).then(u).then(function(){return i.success(e("Configuration saved."))})}})}n.$inject=["$scope","$q","c8yPlatformConfigurationUi","c8yAlert","c8yPermissions","gettext"],angular.module("c8y.platformConfiguration").component("c8yPlatformConfiguration",{templateUrl:":::PLUGIN_PATH:::/platformConfiguration.html",bindings:{optionsGroups:"<"},controller:n,controllerAs:"vm"})}();
1
+ (()=>{function n(n,o,t,i,r,e){var a,s=this;function u(){return o.all({hasAdminPermissions:r.hasAnyRole(["ROLE_OPTION_MANAGEMENT_ADMIN"]),configuration:t.getConfiguration()}).then(function(n){a=_.cloneDeep(n.configuration),_.assign(s,n)})}_.assign(s,{$onInit:u,save:function(n){return t.saveConfiguration(n,a).then(u).then(function(){return i.success(e("Configuration saved."))})}})}n.$inject=["$scope","$q","c8yPlatformConfigurationUi","c8yAlert","c8yPermissions","gettext"],angular.module("c8y.platformConfiguration").component("c8yPlatformConfiguration",{templateUrl:":::PLUGIN_PATH:::/platformConfiguration.html",bindings:{optionsGroups:"<"},controller:n,controllerAs:"vm"})})();
@@ -1 +1 @@
1
- "use strict";!function(){function n(n,t,e){a.$inject=["$q","c8yBase","c8ySettings","c8yPermissions","c8yTenant"],o.$inject=["$scope"];var i={path:"configuration",icon:"sliders",view:{template:'<c8y-platform-configuration options-groups="optionsGroups"></c8y-platform-configuration>',controller:o},requiresAnyRole:["ROLE_OPTION_MANAGEMENT_READ"],showIf:["c8yTenant",function(n){return n.isCurrentUserTopTenant()}]};function o(n){n.optionsGroups=["passwordsOptions","twoFactorAuthenticationOptions","supportLinkOptions","passwordResetOptions","supportUserOptions","emailServerOptions","dataExportOptions","storageLimitOptions","suspendingTenantsOptions"]}var u="configuration",c=["credentials.email.password"];return{$get:a,init:function(){r(),t.addNavigation({name:e("Configuration"),parent:e("Settings"),path:i.path,icon:i.icon,showIfPermissions:{anyRole:i.requiresAnyRole},showIf:i.showIf})},hookViews:r};function r(){n.when("/".concat(i.path),i.view)}function a(r,n,a,t,e){var s;return r.all({eeTenant:e.isEnterpriseEditionTenant(),managementTenant:e.isCurrentUserTopTenant()}).then(function(n){var t=n.eeTenant,n=n.managementTenant;s=t&&!n}),{getConfiguration:function(){return a.listAllBy(u).then(function(n){var t={};return n.forEach(function(n){t[n.key]=n.value}),t})},saveConfiguration:function(n,t){return function(n){return _.reduce(n,function(n,t){var e=_.constant(r.when()),i=_.isNull(t.newValue),o=""===t.newValue;return i||o&&(i=t.key,!s||!c.includes(i))?_.isUndefined(t.oldValue)||(e=a.deleteOption):e=a.updateOption,n.then(_.partial(e,{category:u,key:t.key,value:t.newValue}))},r.when())}(function(n,o){n=_.cloneDeep(n);return _(n).map(function(n,t){var e,i=_.get(o,[t]);return e=_.isEqual(JSON.stringify(i),JSON.stringify(n))?e:{key:t,oldValue:i,newValue:n}}).filter().value()}(n,t))}}}}n.$inject=["c8yViewsProvider","c8yNavigatorProvider","gettext"],angular.module("c8y.platformConfiguration").provider("c8yPlatformConfigurationUi",n)}();
1
+ (()=>{function n(n,e,t){a.$inject=["$q","c8yBase","c8ySettings","c8yPermissions","c8yTenant"],o.$inject=["$scope"];var i={path:"configuration",icon:"sliders",view:{template:'<c8y-platform-configuration options-groups="optionsGroups"></c8y-platform-configuration>',controller:o},requiresAnyRole:["ROLE_OPTION_MANAGEMENT_READ"],showIf:["c8yTenant",function(n){return n.isCurrentUserTopTenant()}]};function o(n){n.optionsGroups=["passwordsOptions","twoFactorAuthenticationOptions","supportLinkOptions","passwordResetOptions","supportUserOptions","emailServerOptions","dataExportOptions","storageLimitOptions","suspendingTenantsOptions"]}var u="configuration",c=["credentials.email.password"];return{$get:a,init:function(){r(),e.addNavigation({name:t("Configuration"),parent:t("Settings"),path:i.path,icon:i.icon,showIfPermissions:{anyRole:i.requiresAnyRole},showIf:i.showIf})},hookViews:r};function r(){n.when("/".concat(i.path),i.view)}function a(r,n,a,e,t){var s;return r.all({eeTenant:t.isEnterpriseEditionTenant(),managementTenant:t.isCurrentUserTopTenant()}).then(function(n){var e=n.eeTenant;s=e&&!n.managementTenant}),{getConfiguration:function(){return a.listAllBy(u).then(function(n){var e={};return n.forEach(function(n){e[n.key]=n.value}),e})},saveConfiguration:function(n,e){return(n=>_.reduce(n,function(n,e){var t=_.constant(r.when()),i=_.isNull(e.newValue),o=""===e.newValue;return i||o&&(i=e.key,!s||!c.includes(i))?_.isUndefined(e.oldValue)||(t=a.deleteOption):t=a.updateOption,n.then(_.partial(t,{category:u,key:e.key,value:e.newValue}))},r.when()))(((n,o)=>(n=_.cloneDeep(n),_(n).map(function(n,e){var t,i=_.get(o,[e]);return t=_.isEqual(JSON.stringify(i),JSON.stringify(n))?t:{key:e,oldValue:i,newValue:n}}).filter().value()))(n,e))}}}}n.$inject=["c8yViewsProvider","c8yNavigatorProvider","gettext"],angular.module("c8y.platformConfiguration").provider("c8yPlatformConfigurationUi",n)})();
@@ -1 +1 @@
1
- "use strict";!function(){function e(e,t,r,i){var n="properties-library",o=i("Properties library"),c={parent:i("Settings"),name:o,routerLinkExact:!1,path:n,icon:"book-shelf",priority:1100},a="/".concat(n),n='<c8y-json-schema-objects-list filters="filters"></c8y-json-schema-objects-list>',i=[{name:i("Inventory"),icon:"cubes",template:n,controller:l({MANAGED_OBJECTS:!0}),priority:4e3},{name:i("Alarm"),icon:"bell",template:n,controller:l({ALARMS:!0}),priority:3e3},{name:i("Event"),icon:"c8y-events",template:n,controller:l({EVENTS:!0}),priority:2e3},{name:i("Tenant"),icon:"c8y-sub-tenants",template:n,controller:l({TENANTS:!0}),priority:1e3,showIfPermissions:{anyRole:["ROLE_TENANT_MANAGEMENT_READ"]}}];function l(t){function e(e){e.filters={appliesTo:t}}return e.$inject=["$scope"],e}e.addNavigation(c),t.addTitle(a,{data:_.constant({title:o})}),_.forEach(i,function(e){r.when(a,e)})}e.$inject=["c8yNavigatorProvider","c8yTitleProvider","c8yViewsProvider","gettext"],angular.module("c8y.propertiesLibrary",[]).config(e)}();
1
+ (()=>{function e(e,t,r,i){var o="properties-library",n=i("Properties library"),a={parent:i("Settings"),name:n,routerLinkExact:!1,path:o,icon:"book-shelf",priority:1100},c="/".concat(o),o='<c8y-json-schema-objects-list filters="filters"></c8y-json-schema-objects-list>',i=[{name:i("Inventory"),icon:"cubes",template:o,controller:l({MANAGED_OBJECTS:!0}),priority:4e3},{name:i("Alarm"),icon:"bell",template:o,controller:l({ALARMS:!0}),priority:3e3},{name:i("Event"),icon:"c8y-events",template:o,controller:l({EVENTS:!0}),priority:2e3},{name:i("Tenant"),icon:"c8y-sub-tenants",template:o,controller:l({TENANTS:!0}),priority:1e3,showIfPermissions:{anyRole:["ROLE_TENANT_MANAGEMENT_READ"]}}];function l(t){function e(e){e.filters={appliesTo:t}}return e.$inject=["$scope"],e}e.addNavigation(a),t.addTitle(c,{data:_.constant({title:n})}),_.forEach(i,function(e){r.when(c,e)})}e.$inject=["c8yNavigatorProvider","c8yTitleProvider","c8yViewsProvider","gettext"],angular.module("c8y.propertiesLibrary",[]).config(e)})();
@@ -1 +1 @@
1
- "use strict";angular.module("c8y.propertiesLibrary").component("c8yJsonSchemaObjectEditor",{bindings:{_jsonSchemaObject:"<jsonSchemaObject",onSave:"&",onRemove:"&",onCancel:"&"},templateUrl:":::PLUGIN_PATH:::/jsonSchemaObjectEditor.html",controller:function(){var c=this;_.assign(c,{$onChanges:function(e){e._jsonSchemaObject&&(c.jsonSchemaObject=_.cloneDeep(c._jsonSchemaObject))},onSchemaChange:function(e){var n;c.jsonSchemaObject&&(n=_.first(_.keys(e.properties)),n=_.get(e,["properties",n,"title"],""),_.set(c.jsonSchemaObject,"name",n),_.assign(c.jsonSchemaObject.c8y_JsonSchema,e))},save:function(){c.onSave({jsonSchemaObject:c.jsonSchemaObject,originalJsonSchemaObject:c._jsonSchemaObject})},remove:function(){c.onRemove({jsonSchemaObject:c.jsonSchemaObject})},cancel:function(){c.onCancel()}})},controllerAs:"vm"});
1
+ angular.module("c8y.propertiesLibrary").component("c8yJsonSchemaObjectEditor",{bindings:{_jsonSchemaObject:"<jsonSchemaObject",onSave:"&",onRemove:"&",onCancel:"&"},templateUrl:":::PLUGIN_PATH:::/jsonSchemaObjectEditor.html",controller:function(){var c=this;_.assign(c,{$onChanges:function(e){e._jsonSchemaObject&&(c.jsonSchemaObject=_.cloneDeep(c._jsonSchemaObject))},onSchemaChange:function(e){var n;c.jsonSchemaObject&&(n=_.first(_.keys(e.properties)),n=_.get(e,["properties",n,"title"],""),_.set(c.jsonSchemaObject,"name",n),_.assign(c.jsonSchemaObject.c8y_JsonSchema,e))},save:function(){c.onSave({jsonSchemaObject:c.jsonSchemaObject,originalJsonSchemaObject:c._jsonSchemaObject})},remove:function(){c.onRemove({jsonSchemaObject:c.jsonSchemaObject})},cancel:function(){c.onCancel()}})},controllerAs:"vm"});
@@ -1 +1 @@
1
- "use strict";!function(){function e(t,n,c,s,r){var i=this;function o(){return n.list().then(e).then(function(e){i.jsonSchemaObjects=e})}function e(e){return _.filter(e,i.filters)}function a(e){i.selected=e}function u(){i.selected=void 0}_.assign(i,{$onInit:function(){o()},select:a,deselect:u,newJsonSchemaObject:function(){a(_.assign(n.getDefaults(),i.filters))},save:function(e){return n.save(e).then(u).then(o).then(_.partial(c.success,r("Property saved.")))},remove:function(e){return n.remove(e).then(u).then(o).then(_.partial(c.success,r("Property deleted.")))},getIcon:function(){var e=t.path(),e=_.find(s.getTabsByURL(e),{path:e});return _.get(e,"icon")},getName:function(){var e=t.path(),e=_.find(s.getTabsByURL(e),{path:e});return _.get(e,"name")}})}e.$inject=["$location","c8yJsonSchemas","c8yAlert","c8yTabs","gettext"],angular.module("c8y.propertiesLibrary").component("c8yJsonSchemaObjectsList",{bindings:{filters:"<"},templateUrl:":::PLUGIN_PATH:::/jsonSchemaObjectsList.html",controller:e,controllerAs:"vm"})}();
1
+ (()=>{function e(t,n,c,s,r){var i=this;function o(){return n.list().then(e).then(function(e){i.jsonSchemaObjects=e})}function e(e){return _.filter(e,i.filters)}function a(e){i.selected=e}function l(){i.selected=void 0}_.assign(i,{$onInit:function(){o()},select:a,deselect:l,newJsonSchemaObject:function(){a(_.assign(n.getDefaults(),i.filters))},save:function(e){return n.save(e).then(l).then(o).then(_.partial(c.success,r("Property saved.")))},remove:function(e){return n.remove(e).then(l).then(o).then(_.partial(c.success,r("Property deleted.")))},getIcon:function(){var e=t.path(),e=_.find(s.getTabsByURL(e),{path:e});return _.get(e,"icon")},getName:function(){var e=t.path(),e=_.find(s.getTabsByURL(e),{path:e});return _.get(e,"name")}})}e.$inject=["$location","c8yJsonSchemas","c8yAlert","c8yTabs","gettext"],angular.module("c8y.propertiesLibrary").component("c8yJsonSchemaObjectsList",{bindings:{filters:"<"},templateUrl:":::PLUGIN_PATH:::/jsonSchemaObjectsList.html",controller:e,controllerAs:"vm"})})();
@@ -1 +1 @@
1
- "use strict";!function(){function e(t,e,n,r,o,u,c){var i,a=e.deviceId,d=e.routeId,f=a||d,l=null;function C(e){i=e,t.qrCodeTemplate=i}function p(){return o.detailCached(f).then(r.getResData)}function q(e){l=e,t.data=l}t.print=function(){c.print([l],i)},function(){var e=function(){if(d)return u.qrCodeTypes.ROUTE;if(a)return u.qrCodeTypes.DEVICE;return!1}();if(e)return u.getTemplate(e);return n.reject()}().then(C).then(p).then(q)}e.$inject=["$scope","$routeParams","$q","c8yBase","c8yInventory","qrCodeTemplate","qrCodePrinter"],angular.module("c8y.qrCode").controller("qrCodeCtrl",e)}();
1
+ (()=>{function e(t,e,r,n,o,a,c){var d,u=e.deviceId,i=e.routeId,l=u||i,C=null;function p(e){d=e,t.qrCodeTemplate=d}function q(){return o.detailCached(l).then(n.getResData)}function s(e){C=e,t.data=C}t.print=function(){c.print([C],d)},(()=>{var e=(()=>i?a.qrCodeTypes.ROUTE:!!u&&a.qrCodeTypes.DEVICE)();return e?a.getTemplate(e):r.reject()})().then(p).then(q).then(s)}e.$inject=["$scope","$routeParams","$q","c8yBase","c8yInventory","qrCodeTemplate","qrCodePrinter"],angular.module("c8y.qrCode").controller("qrCodeCtrl",e)})();
@@ -1 +1 @@
1
- "use strict";!function(){function t(n){function i(t,e){_.isUndefined(t.data)||_.isUndefined(t.template)||e.empty().append(n.getQrCodeCompiledHtml([t.data],t.template))}return{restrict:"A",scope:{data:"=",template:"="},link:function(t,e,n){t.$watch(n.data,function(){i(t,e)}),t.$watch(n.template,function(){i(t,e)})}}}t.$inject=["qrCodePrinter"],angular.module("c8y.qrCode").directive("c8yDisplayQrCode",t)}();
1
+ (()=>{function e(n){function a(e,t){_.isUndefined(e.data)||_.isUndefined(e.template)||t.empty().append(n.getQrCodeCompiledHtml([e.data],e.template))}return{restrict:"A",scope:{data:"=",template:"="},link:function(e,t,n){e.$watch(n.data,function(){a(e,t)}),e.$watch(n.template,function(){a(e,t)})}}}e.$inject=["qrCodePrinter"],angular.module("c8y.qrCode").directive("c8yDisplayQrCode",e)})();
package/qrCode/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";angular.module("c8y.qrCode",["monospaced.qrcode"]).config(["c8yViewsProvider","c8yActionsProvider","gettext",function(e,t,o){var n=":::PLUGIN_PATH:::/views/";e.when("/device/:deviceId",{templateUrl:"".concat(n,"index.html"),priority:600,name:o("QR code"),icon:"qrcode",showIf:["qrCodeTemplate",function(e){return e.getTemplate(e.qrCodeTypes.DEVICE).then(function(e){return!!e})}],controller:["$scope","$routeParams","c8yDevices",function(t,e,o){t.device={},o.detailCached(e.deviceId).then(function(e){t.device=e.data})}]}),e.when("/route/:routeId",{templateUrl:"".concat(n,"index.html"),priority:1e3,name:o("QR code"),icon:"qrcode",showIf:["qrCodeTemplate","$routeParams",function(e,t){return e.getTemplate(e.qrCodeTypes.ROUTE).then(function(e){return!!e&&"new"!==t.routeId})}],controller:["$scope","$routeParams","c8yBase","c8yInventory",function(t,e,o,n){t.route={},n.detailCached(e.routeId).then(o.getResData).then(function(e){t.route=e})}]}),t.addUrlAction({path:"/device",text:o("Print QR codes"),actionBar:!0,showIf:["$routeParams","qrCodeTemplate",function(t,e){return e.getTemplate(e.qrCodeTypes.DEVICE).then(function(e){return!!e&&!!_.isUndefined(t.deviceId)})}],action:["$rootScope","qrCodeTemplate","qrCodePrinter",function(e,o,n){var r=e.$on("deviceList.loadedDevicesList",function(e,t){t&&0<t.length&&o.getTemplate(o.qrCodeTypes.DEVICE).then(function(e){n.print(t,e)}),r()});e.$emit("deviceList.getLoadedDevicesList")}]}),t.addUrlAction({path:"/route",text:o("Print QR codes"),actionBar:!0,showIf:["$routeParams","qrCodeTemplate",function(t,e){return e.getTemplate(e.qrCodeTypes.ROUTE).then(function(e){return!!e&&!!_.isUndefined(t.routeId)})}],action:["$rootScope","qrCodeTemplate","qrCodePrinter",function(e,o,n){var r=e.$on("routesList.loadedRoutesList",function(e,t){t&&0<t.length&&o.getTemplate(o.qrCodeTypes.ROUTE).then(function(e){n.print(t,e)}),r()});e.$emit("routesList.getLoadedRoutesList")}]})}]);
1
+ angular.module("c8y.qrCode",["monospaced.qrcode"]).config(["c8yViewsProvider","c8yActionsProvider","gettext",function(e,t,o){var n=":::PLUGIN_PATH:::/views/";e.when("/device/:deviceId",{templateUrl:"".concat(n,"index.html"),priority:600,name:o("QR code"),icon:"qrcode",showIf:["qrCodeTemplate",function(e){return e.getTemplate(e.qrCodeTypes.DEVICE).then(function(e){return!!e})}],controller:["$scope","$routeParams","c8yDevices",function(t,e,o){t.device={},o.detailCached(e.deviceId).then(function(e){t.device=e.data})}]}),e.when("/route/:routeId",{templateUrl:"".concat(n,"index.html"),priority:1e3,name:o("QR code"),icon:"qrcode",showIf:["qrCodeTemplate","$routeParams",function(e,t){return e.getTemplate(e.qrCodeTypes.ROUTE).then(function(e){return!!e&&"new"!==t.routeId})}],controller:["$scope","$routeParams","c8yBase","c8yInventory",function(t,e,o,n){t.route={},n.detailCached(e.routeId).then(o.getResData).then(function(e){t.route=e})}]}),t.addUrlAction({path:"/device",text:o("Print QR codes"),actionBar:!0,showIf:["$routeParams","qrCodeTemplate",function(t,e){return e.getTemplate(e.qrCodeTypes.DEVICE).then(function(e){return!!e&&!!_.isUndefined(t.deviceId)})}],action:["$rootScope","qrCodeTemplate","qrCodePrinter",function(e,o,n){var r=e.$on("deviceList.loadedDevicesList",function(e,t){t&&0<t.length&&o.getTemplate(o.qrCodeTypes.DEVICE).then(function(e){n.print(t,e)}),r()});e.$emit("deviceList.getLoadedDevicesList")}]}),t.addUrlAction({path:"/route",text:o("Print QR codes"),actionBar:!0,showIf:["$routeParams","qrCodeTemplate",function(t,e){return e.getTemplate(e.qrCodeTypes.ROUTE).then(function(e){return!!e&&!!_.isUndefined(t.routeId)})}],action:["$rootScope","qrCodeTemplate","qrCodePrinter",function(e,o,n){var r=e.$on("routesList.loadedRoutesList",function(e,t){t&&0<t.length&&o.getTemplate(o.qrCodeTypes.ROUTE).then(function(e){n.print(t,e)}),r()});e.$emit("routesList.getLoadedRoutesList")}]})}]);
@@ -1 +1 @@
1
- "use strict";!function(){function e(o,r,i,d,l,a){return{getQrCodeCompiledHtml:u,print:function(e,t){var e=u(e,t),n=i.open("","_blank","width=800,height=600"),t=n&&n.document;n.opener=null,t?(t.open(),t.write('<html><head></head><body id="body"></body></html>'),t.close(),angular.element(t.getElementById("body")).append(e),d(function(){n.print()})):l.danger(a("Popup window failed to open. Please confirm your browser settings."))}};function u(e,t){var n=o.$new();return n.data=e,r(angular.element(t))(n)}}e.$inject=["$rootScope","$compile","$window","$timeout","c8yAlert","gettext"],angular.module("c8y.qrCode").factory("qrCodePrinter",e)}();
1
+ (()=>{function e(o,r,d,i,l,a){return{getQrCodeCompiledHtml:u,print:function(e,n){var e=u(e,n),t=d.open("","_blank","width=800,height=600"),n=t&&t.document;t.opener=null,n?(n.open(),n.write('<html><head></head><body id="body"></body></html>'),n.close(),angular.element(n.getElementById("body")).append(e),i(function(){t.print()})):l.danger(a("Popup window failed to open. Please confirm your browser settings."))}};function u(e,n){var t=o.$new();return t.data=e,r(angular.element(n))(t)}}e.$inject=["$rootScope","$compile","$window","$timeout","c8yAlert","gettext"],angular.module("c8y.qrCode").factory("qrCodePrinter",e)})();
@@ -1 +1 @@
1
- "use strict";angular.module("c8y.qrCode").factory("qrCodeTemplate",["$cacheFactory","$http","c8yBase","c8yInventory",function(e,t,r,a){var c=e("QrCodeTemplatesCache");return{qrCodeTypes:{ROUTE:"c8y_RouteQrCodeTemplate",DEVICE:"c8y_DeviceQrCodeTemplate"},getTemplate:function(e){var t;return c.get(e)||(t=a.list({type:e,pageSize:1}).then(function(e){return 0<e.length?e[0].template:null}),c.put(e,t)),c.get(e)}}}]);
1
+ angular.module("c8y.qrCode").factory("qrCodeTemplate",["$cacheFactory","$http","c8yBase","c8yInventory",function(e,t,r,a){var n=e("QrCodeTemplatesCache");return{qrCodeTypes:{ROUTE:"c8y_RouteQrCodeTemplate",DEVICE:"c8y_DeviceQrCodeTemplate"},getTemplate:function(e){var t;return n.get(e)||(t=a.list({type:e,pageSize:1}).then(function(e){return 0<e.length?e[0].template:null}),n.put(e,t)),n.get(e)}}}]);
@@ -1 +1 @@
1
- "use strict";angular.module("c8y.relayWidget",[]).config(["c8yComponentsProvider","gettext",function(e,t){e.add({name:"Relay Widget",description:t("Widget for switching relay"),configTemplateUrl:":::PLUGIN_PATH:::/views/config.html",templateUrl:":::PLUGIN_PATH:::/views/widget.html",previewImage:"c8y-style-assets/dm-relay-widget.png"})}]);
1
+ angular.module("c8y.relayWidget",[]).config(["c8yComponentsProvider","gettext",function(e,t){e.add({name:"Relay Widget",description:t("Widget for switching relay"),configTemplateUrl:":::PLUGIN_PATH:::/views/config.html",templateUrl:":::PLUGIN_PATH:::/views/widget.html",previewImage:"c8y-style-assets/dm-relay-widget.png"})}]);
@@ -1 +1 @@
1
- "use strict";angular.module("c8y.relayWidget").controller("RelayWidgetCtrl",["$scope","c8yAlert","relayWidgetSvc","gettext",function(c,e,l,t){function i(i){l.relay(c.child&&c.child.config&&c.child.config.device&&c.child.config.device.id,c.child&&c.child.config&&c.child.config.relay_id,i).then(_.partial(e.success,t("Operation created")))}this.on=_.partial(i,!0),this.off=_.partial(i,!1)}]);
1
+ angular.module("c8y.relayWidget").controller("RelayWidgetCtrl",["$scope","c8yAlert","relayWidgetSvc","gettext",function(c,e,l,t){function i(i){l.relay(c.child&&c.child.config&&c.child.config.device&&c.child.config.device.id,c.child&&c.child.config&&c.child.config.relay_id,i).then(_.partial(e.success,t("Operation created")))}this.on=_.partial(i,!0),this.off=_.partial(i,!1)}]);
@@ -1 +1 @@
1
- "use strict";!function(){function e(c,n){return{relay:function(e,t,r){return e={deviceId:e,c8y_Relay:{id:t,relayState:r?"CLOSED":"OPEN"},description:n(r?"Close relay.":"Open relay.")},c.create(e)}}}e.$inject=["c8yDeviceControl","gettext"],angular.module("c8y.relayWidget").factory("relayWidgetSvc",e)}();
1
+ (()=>{function e(a,c){return{relay:function(e,t,r){return e={deviceId:e,c8y_Relay:{id:t,relayState:r?"CLOSED":"OPEN"},description:c(r?"Close relay.":"Open relay.")},a.create(e)}}}e.$inject=["c8yDeviceControl","gettext"],angular.module("c8y.relayWidget").factory("relayWidgetSvc",e)})();
@@ -1 +1 @@
1
- "use strict";function RemoteAccessClientsService(e,t){var n,s;this.STATUSES={CONNECTING:"CONNECTING",CONNECTED:"CONNECTED",DISCONNECTED:"DISCONNECTED",ERROR:"ERROR"},this.getConnectionStatus=function(){return s.status||this.STATUSES.DISCONNECTED},this.setConnectionStatus=function(e){s.status=e,t.setItem(n,JSON.stringify(s))},this.getParams=function(){return s},this.loadCss=function(e){var t=document.createElement("link");t.href=e,t.type="text/css",t.rel="stylesheet",t.media="screen,print",document.getElementsByTagName("head")[0].appendChild(t)},this.loadJs=function(e){var t=document.createElement("script");t.src=e,document.getElementsByTagName("head")[0].appendChild(t)},n=function(e){var t={},n=/[?&]?([^=]+)=([^&]*)/g;for(e=e.split("+").join(" ");a=n.exec(e);){var s=a[1],a=a[2];t[decodeURIComponent(s)]=decodeURIComponent(a)}return t}(e.search).paramsId;try{s=JSON.parse(t.getItem(n))}catch(e){console.err("Cannot load connection parameters!")}}
1
+ function RemoteAccessClientsService(e,t){var n,s;this.STATUSES={CONNECTING:"CONNECTING",CONNECTED:"CONNECTED",DISCONNECTED:"DISCONNECTED",ERROR:"ERROR"},this.getConnectionStatus=function(){return s.status||this.STATUSES.DISCONNECTED},this.setConnectionStatus=function(e){s.status=e,t.setItem(n,JSON.stringify(s))},this.getParams=function(){return s},this.loadCss=function(e){var t=document.createElement("link");t.href=e,t.type="text/css",t.rel="stylesheet",t.media="screen,print",document.getElementsByTagName("head")[0].appendChild(t)},this.loadJs=function(e){var t=document.createElement("script");t.src=e,document.getElementsByTagName("head")[0].appendChild(t)},n=(e=>{var t={},n=/[?&]?([^=]+)=([^&]*)/g;for(e=e.split("+").join(" ");a=n.exec(e);){var s=a[1],a=a[2];t[decodeURIComponent(s)]=decodeURIComponent(a)}return t})(e.search).paramsId;try{s=JSON.parse(t.getItem(n))}catch(e){console.err("Cannot load connection parameters!")}}
@@ -1 +1 @@
1
- "use strict";!function(){var c,r,a=!1;window.onload=function(){var e=document.getElementById("terminal"),n=new Terminal({fontSize:18,fontFamily:"consolas, monospace",cursorBlink:!0,cols:terminalSize.cols,rows:terminalSize.rows}),t=new FitAddon.FitAddon,i=(n.loadAddon(t),new ShellAdapter),o=(i.setTermType("xterm-256color"),clientService.getParams());o?(clientService.setConnectionStatus(clientService.STATUSES.CONNECTING),document.title=unescape(o.title),c=o.wsProtocol+"//"+o.host+"/"+o.path,n.open(e),t.fit(),n.focus(),setTimeout(function(){(r=new WebSocket(c,"binary")).binaryType="arraybuffer",r.onopen=function(){n.writeln("Websocket connection was established successfully, waiting for device...  \r\n")},r.onclose=function(){n.writeln(""),n.writeln("\r\nDevice disconnected.  \r\n"),n.writeln("\r\nWebsocket connection was closed.  \r\n"),clientService.setConnectionStatus(clientService.STATUSES.ERROR)},r.onmessage=function(e){e.data&&clientService.getConnectionStatus()===clientService.STATUSES.CONNECTING&&clientService.setConnectionStatus(clientService.STATUSES.CONNECTED),a||(a=!0,n.writeln("Device connection was established successfully.  \r\n"));e=i.filterReceiveData(e.data);e.dataToSend.length&&r.send(e.dataToSend),e.dataToDisplay.length&&n.write(e.dataToDisplay)},n.onData(function(e){a&&(e=i.filterSendData(e)).length&&r.send(e)}),window.onbeforeunload=function(){for(var e="exit\n",n=[],t=0;t<e.length;t++)n.push(e.charCodeAt(t));r.send(new Uint8Array(n))}})):(n.writeln(""),n.writeln("\r\nConnection parameters could not be retrieved. Please close this window and try again  \r\n"),clientService.setConnectionStatus(clientService.STATUSES.ERROR))}}();
1
+ (()=>{var c,a,r=!1;window.onload=function(){var e=document.getElementById("terminal"),n=new Terminal({fontSize:18,fontFamily:"consolas, monospace",cursorBlink:!0,cols:terminalSize.cols,rows:terminalSize.rows}),t=new FitAddon.FitAddon,i=(n.loadAddon(t),new ShellAdapter),o=(i.setTermType("xterm-256color"),clientService.getParams());o?(clientService.setConnectionStatus(clientService.STATUSES.CONNECTING),document.title=unescape(o.title),c=o.wsProtocol+"//"+o.host+"/"+o.path,n.open(e),t.fit(),n.focus(),setTimeout(function(){(a=new WebSocket(c,"binary")).binaryType="arraybuffer",a.onopen=function(){n.writeln("Websocket connection was established successfully, waiting for device...  \r\n")},a.onclose=function(){n.writeln(""),n.writeln("\r\nDevice disconnected.  \r\n"),n.writeln("\r\nWebsocket connection was closed.  \r\n"),clientService.setConnectionStatus(clientService.STATUSES.ERROR)},a.onmessage=function(e){e.data&&clientService.getConnectionStatus()===clientService.STATUSES.CONNECTING&&clientService.setConnectionStatus(clientService.STATUSES.CONNECTED),r||(r=!0,n.writeln("Device connection was established successfully.  \r\n"));e=i.filterReceiveData(e.data);e.dataToSend.length&&a.send(e.dataToSend),e.dataToDisplay.length&&n.write(e.dataToDisplay)},n.onData(function(e){r&&(e=i.filterSendData(e)).length&&a.send(e)}),window.onbeforeunload=function(){for(var e="exit\n",n=[],t=0;t<e.length;t++)n.push(e.charCodeAt(t));a.send(new Uint8Array(n))}})):(n.writeln(""),n.writeln("\r\nConnection parameters could not be retrieved. Please close this window and try again  \r\n"),clientService.setConnectionStatus(clientService.STATUSES.ERROR))}})();
@@ -1 +1 @@
1
- "use strict";function ShellAdapter(){var n="";this.setTermType=function(e){n=e},this.filterReceiveData=function(e){var t=new TelnetNegotiator,t=(t.setTermType(n),t.negotiate(e)),e=(new TextDecoder).decode(e);return{dataToSend:t.dataToSend,dataToDisplay:t.isOutput?e.split("�").join(""):""}},this.filterSendData=function(e){for(var t=[],n=0;n<e.length;n++)t.push(e.charCodeAt(n));return t.length?new Uint8Array(t):""}}
1
+ function ShellAdapter(){var n="";this.setTermType=function(e){n=e},this.filterReceiveData=function(e){var t=new TelnetNegotiator,t=(t.setTermType(n),t.negotiate(e)),e=(new TextDecoder).decode(e);return{dataToSend:t.dataToSend,dataToDisplay:t.isOutput?e.split("�").join(""):""}},this.filterSendData=function(e){for(var t=[],n=0;n<e.length;n++)t.push(e.charCodeAt(n));return t.length?new Uint8Array(t):""}}
@@ -1 +1 @@
1
- "use strict";function TelnetNegotiator(){var f="";this.setTermType=function(e){f=e},this.negotiate=function(e){for(var t,e=new Uint8Array(e),s=Array.prototype.slice.call(e),i=[],r="",n="",a="";0<s.length;)switch(t=s.shift()){case 255:switch(n=s.shift(),a=s.shift(),n){case 253:24===a?i.push(255,251,a):31===a?(i.push(255,251,31),i.push(255,250,31,0,terminalSize.cols,0,terminalSize.rows,255,240)):i.push(255,252,a);break;case 251:i.push(255,1===a?253:254,a);break;case 250:if(24===a)if(1===s[0]&&255===s[1]&&240===s[2]){s.shift(),s.shift(),s.shift(),i.push(255,250,24,0),c=o=h=void 0;for(var h=f,o=i,c=0;c<h.length;c++)o.push(h.charCodeAt(c));i.push(255,240)}else console.warn("Invalid subnegotiation received"+s);else console.warn("Ignoring SB "+a)}break;case 242:n=s.shift(),a=s.shift();break;default:r+=String.fromCharCode(t)}return{dataToSend:i.length?new Uint8Array(i):"",isOutput:!!r.length}}}
1
+ function TelnetNegotiator(){var f="";this.setTermType=function(e){f=e},this.negotiate=function(e){for(var t,e=new Uint8Array(e),s=Array.prototype.slice.call(e),i=[],r="",n="",a="";0<s.length;)switch(t=s.shift()){case 255:switch(n=s.shift(),a=s.shift(),n){case 253:24===a?i.push(255,251,a):31===a?(i.push(255,251,31),i.push(255,250,31,0,terminalSize.cols,0,terminalSize.rows,255,240)):i.push(255,252,a);break;case 251:i.push(255,1===a?253:254,a);break;case 250:if(24===a)if(1===s[0]&&255===s[1]&&240===s[2]){s.shift(),s.shift(),s.shift(),i.push(255,250,24,0),c=o=h=void 0;for(var h=f,o=i,c=0;c<h.length;c++)o.push(h.charCodeAt(c));i.push(255,240)}else console.warn("Invalid subnegotiation received"+s);else console.warn("Ignoring SB "+a)}break;case 242:n=s.shift(),a=s.shift();break;default:r+=String.fromCharCode(t)}return{dataToSend:i.length?new Uint8Array(i):"",isOutput:!!r.length}}}
@@ -1 +1 @@
1
- "use strict";!function(){var i,t,e=clientService.getParams(),l={LOADED:"loaded",NORMAL:"normal",FAILED:"failed",FATAL:"fatal",DISCONNECTED:"disconnected"},S=clientService.STATUSES.DISCONNECTED;function n(){var t,e,n;WebUtil.getConfigVar("resize",!1)&&(t=window.innerWidth,e=window.innerHeight,n=$D("noVNC_status_bar").offsetHeight,void 0!==t)&&void 0!==e&&i.requestDesktopSize(t,e-n-5)}function s(t){n(),t.set_onFBUComplete(function(){})}function o(){return i.sendCtrlAltDel(),!1}function c(){return i.xvpShutdown(),!1}function a(){return i.xvpReboot(),!1}function r(){return i.xvpReset(),!1}function u(t,e,n,i){var s=function(t){var e;switch(t){case l.FAILED:case l.FATAL:e="error";break;case l.NORMAL:case l.DISCONNECTED:case l.LOADED:e="normal";break;default:e="warn"}return e}(e),o=function(t){switch(t){case l.FAILED:case l.FATAL:status=clientService.STATUSES.ERROR,S=clientService.STATUSES.ERROR;break;case l.NORMAL:status=clientService.STATUSES.CONNECTED;break;case l.DISCONNECTED:S!=clientService.STATUSES.ERROR&&(status=clientService.STATUSES.DISCONNECTED);break;case l.LOADED:status=clientService.STATUSES.DISCONNECTED,S=clientService.STATUSES.DISCONNECTED;break;case l.CONNECT:status=clientService.STATUSES.CONNECTING,S=clientService.STATUSES.CONNECTING;break;default:status=clientService.STATUSES.DISCONNECTED,S=clientService.STATUSES.DISCONNECTED}return status}(e),c=$D("noVNC_status"),a=$D("noVNC_status_bar"),r=$D("sendCtrlAltDelButton");e===l.NORMAL?r.disabled=!1:(r.disabled=!0,T(0)),void 0!==i&&(a.setAttribute("class","noVNC_status_".concat(s)),c.textContent=i),clientService.setConnectionStatus(o)}function T(t){var e=$D("noVNC_xvp_buttons");e.style.display=1<=t?"inline":"none"}Util.load_scripts(["webutil.js","base64.js","websock.js","des.js","keysymdef.js","keyboard.js","input.js","display.js","inflator.js","rfb.js","keysym.js"]),window.onresize=function(){clearTimeout(t),t=setTimeout(function(){n()},500)},window.onscriptsload=function(){var t=$D("sendCtrlAltDelButton");if(t.style.display="inline",t.onclick=o,$D("xvpShutdownButton").onclick=c,$D("xvpRebootButton").onclick=a,$D("xvpResetButton").onclick=r,e)if(WebUtil.init_logging(e.logging||"warn"),document.title=unescape(e.title||"noVNC"),e.host&&e.port){try{i=new RFB(_.defaults(_.omit(e,["path","host","viewport","port","password","status","title","protocol","wsProtocol"]),{target:$D("noVNC_canvas"),onUpdateState:u,onXvpInit:T,onFBUComplete:s}))}catch(t){return void u(0,l.FATAL,0,"Unable to create RFB client -- ".concat(t))}i.connect(e.host,e.port,e.password,e.path)}else u(0,l.FATAL,0,"Must specify host and port in URL");else u(0,l.FATAL,0,"Connection parameters could not be retrieved. Please close this window and try again")}}();
1
+ (()=>{var i,t,e=clientService.getParams(),l={LOADED:"loaded",NORMAL:"normal",FAILED:"failed",FATAL:"fatal",DISCONNECTED:"disconnected"},S=clientService.STATUSES.DISCONNECTED;function n(){var t,e,n;WebUtil.getConfigVar("resize",!1)&&(t=window.innerWidth,e=window.innerHeight,n=$D("noVNC_status_bar").offsetHeight,void 0!==t)&&void 0!==e&&i.requestDesktopSize(t,e-n-5)}function s(t){n(),t.set_onFBUComplete(function(){})}function o(){return i.sendCtrlAltDel(),!1}function c(){return i.xvpShutdown(),!1}function a(){return i.xvpReboot(),!1}function r(){return i.xvpReset(),!1}function u(t,e,n,i){var s=(t=>{var e;switch(t){case l.FAILED:case l.FATAL:e="error";break;case l.NORMAL:case l.DISCONNECTED:case l.LOADED:e="normal";break;default:e="warn"}return e})(e),o=(t=>{switch(t){case l.FAILED:case l.FATAL:status=clientService.STATUSES.ERROR,S=clientService.STATUSES.ERROR;break;case l.NORMAL:status=clientService.STATUSES.CONNECTED;break;case l.DISCONNECTED:S!=clientService.STATUSES.ERROR&&(status=clientService.STATUSES.DISCONNECTED);break;case l.LOADED:status=clientService.STATUSES.DISCONNECTED,S=clientService.STATUSES.DISCONNECTED;break;case l.CONNECT:status=clientService.STATUSES.CONNECTING,S=clientService.STATUSES.CONNECTING;break;default:status=clientService.STATUSES.DISCONNECTED,S=clientService.STATUSES.DISCONNECTED}return status})(e),c=$D("noVNC_status"),a=$D("noVNC_status_bar"),r=$D("sendCtrlAltDelButton");e===l.NORMAL?r.disabled=!1:(r.disabled=!0,T(0)),void 0!==i&&(a.setAttribute("class","noVNC_status_".concat(s)),c.textContent=i),clientService.setConnectionStatus(o)}function T(t){var e=$D("noVNC_xvp_buttons");e.style.display=1<=t?"inline":"none"}Util.load_scripts(["webutil.js","base64.js","websock.js","des.js","keysymdef.js","keyboard.js","input.js","display.js","inflator.js","rfb.js","keysym.js"]),window.onresize=function(){clearTimeout(t),t=setTimeout(function(){n()},500)},window.onscriptsload=function(){var t=$D("sendCtrlAltDelButton");if(t.style.display="inline",t.onclick=o,$D("xvpShutdownButton").onclick=c,$D("xvpRebootButton").onclick=a,$D("xvpResetButton").onclick=r,e)if(WebUtil.init_logging(e.logging||"warn"),document.title=unescape(e.title||"noVNC"),e.host&&e.port){try{i=new RFB(_.defaults(_.omit(e,["path","host","viewport","port","password","status","title","protocol","wsProtocol"]),{target:$D("noVNC_canvas"),onUpdateState:u,onXvpInit:T,onFBUComplete:s}))}catch(t){return void u(0,l.FATAL,0,"Unable to create RFB client -- ".concat(t))}i.connect(e.host,e.port,e.password,e.path)}else u(0,l.FATAL,0,"Must specify host and port in URL");else u(0,l.FATAL,0,"Connection parameters could not be retrieved. Please close this window and try again")}})();
@@ -1 +1 @@
1
- "use strict";angular.module("c8y.remoteAccess",[]);
1
+ angular.module("c8y.remoteAccess",[]);
@@ -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 n,o=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),o.push.apply(o,n)),o}function _objectSpread(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?ownKeys(Object(n),!0).forEach(function(e){_defineProperty(t,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):ownKeys(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}function _defineProperty(e,t,n){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,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 n=e[Symbol.toPrimitive];if(void 0===n)return("string"===t?String:Number)(e);n=n.call(e,t||"default");if("object"!=_typeof(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}!function(){function e(n,r,e,a,i,c,t,s,o,l,u,p){var d="service/remoteaccess",f="127.0.0.1",y=":::PLUGIN_PATH:::/clients/terminal/index.html",m="top=30,left=30,height=933,width=1350,location=no,menubar=no,toolbar=no,status=no,resizable=no",b=a.url("".concat(d,"/keypair/generate")),S={http:"ws:",https:"wss:"}[e.protocol()]||"ws:",e="wss:"===S,v="XSRF-TOKEN",P={category:"remoteaccess",key:"pass-through.enabled"},g=a.createEnum([{name:"NONE",value:"NONE",label:l("No password")},{name:"USER_PASS",value:"USER_PASS",label:l("Username and password")},{name:"PASS_ONLY",value:"PASS_ONLY",label:l("Password only")},{name:"KEY_PAIR",value:"KEY_PAIR",label:l("Public/private keys")},{name:"CERTIFICATE",value:"CERTIFICATE",label:l("Certificate")}]),h=[{name:"VNC",value:"VNC",label:l("VNC"),supportedCredentialsTypes:[g.NONE,g.PASS_ONLY],defaults:{host:f,port:5900},clientWindowPath:":::PLUGIN_PATH:::/clients/vnc/vncClient.html",clientWindowParams:"top=0,left=0,location=no,menubar=no,toolbar=no,status=no,resizable=yes",extraConnectionParams:{encrypt:e,true_color:!0,local_cursor:!1,viewport:!0,shared:!0,view_only:!1,disconnectTimeout:10,repeaterID:"",port:443,password:""}},{name:"TELNET",value:"TELNET",label:l("Telnet"),supportedCredentialsTypes:[g.NONE],defaults:{host:f,port:23},clientWindowPath:y,clientWindowParams:m},{name:"SSH",value:"SSH",label:l("SSH"),supportedCredentialsTypes:[g.USER_PASS,g.KEY_PAIR,g.CERTIFICATE],defaults:{host:f,port:22},clientWindowPath:y,clientWindowParams:m},{name:"PASSTHROUGH",value:"PASSTHROUGH",label:l("PASSTHROUGH"),supportedCredentialsTypes:[],defaults:{host:f,port:22},isConnectDissalowed:!0,tooltipConnectDissalowed:l("PASSTHROUGH protocol configuration should be used with native client only."),showIf:function(){return p.getSystemOptionValue(P)}}];return{DEFAULT_HOST:f,getProtocols:function(){return n.all(_.map(h,function(e){return s.configureVisibility(e,"visible")})).then(function(e){return _.filter(e,"visible")})},CREDENTIALS_TYPES:g,save:function(t,n){try{return function(e,t){var n=_.includes([g.USER_PASS.value,g.PASS_ONLY.value],t.credentialsType),o=_.includes([g.KEY_PAIR.value],t.credentialsType),n=(_.defaults(t,{password:n?_.get(t,"credentials.password"):void 0,privateKey:o?_.get(t,"credentials.privateKey"):void 0}),_.unset(t,"credentials"),_.unset(t,"attrs"),E(e,t));return r.put(n,t).then(a.getResData)}(t,n)}catch(e){return function(e,t){e=w(e);return r.post(e,t).then(a.getResData)}(t,n)}},list:function(e){e=w(e);return r.get(e).then(a.getResData)},detail:function(e,t){e=E(e,t);return r.get(e).then(a.getResData)},remove:function(e,t){e=E(e,t);return r.delete(e)},getConnectionParams:function(e,t){return n.all({title:u.getString("Connected to: {{name}}",t),protocol:_.find(h,{value:t.protocol}),host:n.resolve(window.location.host),path:function(n,o){return c.current().then(function(e){var e={deviceId:a.getId(n),configurationId:o.id,token:i.encodeToken(e.userName,i.getPassword(),e.tenant)},e="service/remoteaccess/client/".concat(e.deviceId,"/configurations/").concat(e.configurationId,"?token=").concat(e.token),t=s.getCookieValue(v);return t&&(t=encodeURIComponent(t),e="".concat(e,"&").concat(v,"=").concat(t)),e})}(e,t),wsProtocol:S}).then(function(e){return _objectSpread(_objectSpread({},e),e.protocol.extraConnectionParams)})},isMicroServiceAvailable:function(t){return o.isAvailable({name:"cloud-remote-access",type:"MICROSERVICE"}).then(function(e){e=e?r.head(w(t),{silentError:!0}).then(_.constant(!0),_.constant(!1)):n.resolve(e);return e})},parseSshKeyFile:function(o){return n(function(t,e){var n=new FileReader;n.onload=function(e){e=e.target;return t(e.result)},n.onerror=function(){return e({feedback:{type:"error",summary:l("Could not read file.")}})},n.readAsText(o)})},generateKeys:function(e){return r.post(b,{hostname:e}).then(a.getResData)},exportSshKey:function(e){e=new Blob([e],{type:"text/plain"});window.saveAs(e,"key.pub")}};function w(e){e=[d,"devices",a.getId(e),"configurations"].join("/");return a.url(e)}function E(e,t){return[w(e),a.getId(t)].join("/")}}e.$inject=["$q","$http","$location","c8yBase","c8yAuth","c8yUser","c8yTenant","c8yUiUtil","c8yApplication","gettext","gettextCatalog","c8ySettings"],angular.module("c8y.remoteAccess").factory("c8yRemoteAccess",e)}();
1
+ function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ownKeys(t,e){var n,o=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),o.push.apply(o,n)),o}function _objectSpread(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?ownKeys(Object(n),!0).forEach(function(e){_defineProperty(t,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):ownKeys(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}function _defineProperty(e,t,n){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,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 n=e[Symbol.toPrimitive];if(void 0===n)return("string"===t?String:Number)(e);n=n.call(e,t||"default");if("object"!=_typeof(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}(()=>{function e(n,r,e,a,i,c,t,s,o,l,u,p){var d="service/remoteaccess",y="127.0.0.1",f=":::PLUGIN_PATH:::/clients/terminal/index.html",m="top=30,left=30,height=933,width=1350,location=no,menubar=no,toolbar=no,status=no,resizable=no",b=a.url("".concat(d,"/keypair/generate")),S={http:"ws:",https:"wss:"}[e.protocol()]||"ws:",e="wss:"===S,v="XSRF-TOKEN",P={category:"remoteaccess",key:"pass-through.enabled"},g=a.createEnum([{name:"NONE",value:"NONE",label:l("No password")},{name:"USER_PASS",value:"USER_PASS",label:l("Username and password")},{name:"PASS_ONLY",value:"PASS_ONLY",label:l("Password only")},{name:"KEY_PAIR",value:"KEY_PAIR",label:l("Public/private keys")},{name:"CERTIFICATE",value:"CERTIFICATE",label:l("Certificate")}]),h=[{name:"VNC",value:"VNC",label:l("VNC"),supportedCredentialsTypes:[g.NONE,g.PASS_ONLY],defaults:{host:y,port:5900},clientWindowPath:":::PLUGIN_PATH:::/clients/vnc/vncClient.html",clientWindowParams:"top=0,left=0,location=no,menubar=no,toolbar=no,status=no,resizable=yes",extraConnectionParams:{encrypt:e,true_color:!0,local_cursor:!1,viewport:!0,shared:!0,view_only:!1,disconnectTimeout:10,repeaterID:"",port:443,password:""}},{name:"TELNET",value:"TELNET",label:l("Telnet"),supportedCredentialsTypes:[g.NONE],defaults:{host:y,port:23},clientWindowPath:f,clientWindowParams:m},{name:"SSH",value:"SSH",label:l("SSH"),supportedCredentialsTypes:[g.USER_PASS,g.KEY_PAIR,g.CERTIFICATE],defaults:{host:y,port:22},clientWindowPath:f,clientWindowParams:m},{name:"PASSTHROUGH",value:"PASSTHROUGH",label:l("PASSTHROUGH"),supportedCredentialsTypes:[],defaults:{host:y,port:22},isConnectDissalowed:!0,tooltipConnectDissalowed:l("PASSTHROUGH protocol configuration should be used with native client only."),showIf:function(){return p.getSystemOptionValue(P)}}];return{DEFAULT_HOST:y,getProtocols:function(){return n.all(_.map(h,function(e){return s.configureVisibility(e,"visible")})).then(function(e){return _.filter(e,"visible")})},CREDENTIALS_TYPES:g,save:function(t,n){try{return((e,t)=>{var n=_.includes([g.USER_PASS.value,g.PASS_ONLY.value],t.credentialsType),o=_.includes([g.KEY_PAIR.value],t.credentialsType),n=(_.defaults(t,{password:n?_.get(t,"credentials.password"):void 0,privateKey:o?_.get(t,"credentials.privateKey"):void 0}),_.unset(t,"credentials"),_.unset(t,"attrs"),E(e,t));return r.put(n,t).then(a.getResData)})(t,n)}catch(e){return((e,t)=>(e=w(e),r.post(e,t).then(a.getResData)))(t,n)}},list:function(e){e=w(e);return r.get(e).then(a.getResData)},detail:function(e,t){e=E(e,t);return r.get(e).then(a.getResData)},remove:function(e,t){e=E(e,t);return r.delete(e)},getConnectionParams:function(e,t){return n.all({title:u.getString("Connected to: {{name}}",t),protocol:_.find(h,{value:t.protocol}),host:n.resolve(window.location.host),path:((n,o)=>c.current().then(function(e){var e={deviceId:a.getId(n),configurationId:o.id,token:i.encodeToken(e.userName,i.getPassword(),e.tenant)},e="service/remoteaccess/client/".concat(e.deviceId,"/configurations/").concat(e.configurationId,"?token=").concat(e.token),t=s.getCookieValue(v);return t&&(t=encodeURIComponent(t),e="".concat(e,"&").concat(v,"=").concat(t)),e}))(e,t),wsProtocol:S}).then(function(e){return _objectSpread(_objectSpread({},e),e.protocol.extraConnectionParams)})},isMicroServiceAvailable:function(t){return o.isAvailable({name:"cloud-remote-access",type:"MICROSERVICE"}).then(function(e){e=e?r.head(w(t),{silentError:!0}).then(_.constant(!0),_.constant(!1)):n.resolve(e);return e})},parseSshKeyFile:function(o){return n(function(t,e){var n=new FileReader;n.onload=function(e){e=e.target;return t(e.result)},n.onerror=function(){return e({feedback:{type:"error",summary:l("Could not read file.")}})},n.readAsText(o)})},generateKeys:function(e){return r.post(b,{hostname:e}).then(a.getResData)},exportSshKey:function(e){e=new Blob([e],{type:"text/plain"});window.saveAs(e,"key.pub")}};function w(e){e=[d,"devices",a.getId(e),"configurations"].join("/");return a.url(e)}function E(e,t){return[w(e),a.getId(t)].join("/")}}e.$inject=["$q","$http","$location","c8yBase","c8yAuth","c8yUser","c8yTenant","c8yUiUtil","c8yApplication","gettext","gettextCatalog","c8ySettings"],angular.module("c8y.remoteAccess").factory("c8yRemoteAccess",e)})();
@@ -1 +1 @@
1
- "use strict";!function(){function n(n,o,t){var e=this,c=t("Local"),i=t("Connect"),t=t("Show connection");function s(n){n=r(n);return n&&!!n.isConnectDissalowed}function r(o){return _.find(e.protocols,function(n){return n.value===o.config.protocol})}_.assign(e,{$onInit:function(){o.getProtocols().then(function(n){e.protocols=n})},isLocal:function(){return n.isLocalEndpoint(e.endpoint)},labelLocal:c,labelConnect:i,labelShowConnection:t,connectBtnCls:function(){var n=(e.endpoint.connection||{}).status;return{btn:!0,"btn-block":!0,"btn-default":!n,"btn-danger":"ERROR"===n,"btn-warning":"CONNECTING"===n,"btn-success":"CONNECTED"===n}},connect:function(){var n=(e.endpoint.connection||{}).clientWindow;n?n.focus():e.onConnect({endpoint:e.endpoint})},edit:function(){e.onEdit({endpoint:e.endpoint})},remove:function(){e.onRemove({endpoint:e.endpoint})},isDisabled:s,getDisabledTooltip:function(n){var o=r(n);return s(n)?_.get(o,"tooltipConnectDissalowed"):""}})}n.$inject=["c8yRemoteAccessUI","c8yRemoteAccess","gettext"],angular.module("c8y.remoteAccess").component("c8yRemoteAccessEndpointCard",{bindings:{endpoint:"<",onConnect:"&",onEdit:"&",onRemove:"&"},templateUrl:":::PLUGIN_PATH:::/remoteAccessEndpointCard/remoteAccessEndpointCard.html",controller:n,controllerAs:"vm"})}();
1
+ (()=>{function n(n,o,t){var e=this,c=t("Local"),i=t("Connect"),t=t("Show connection");function s(n){n=r(n);return n&&!!n.isConnectDissalowed}function r(o){return _.find(e.protocols,function(n){return n.value===o.config.protocol})}_.assign(e,{$onInit:function(){o.getProtocols().then(function(n){e.protocols=n})},isLocal:function(){return n.isLocalEndpoint(e.endpoint)},labelLocal:c,labelConnect:i,labelShowConnection:t,connectBtnCls:function(){var n=(e.endpoint.connection||{}).status;return{btn:!0,"btn-block":!0,"btn-default":!n,"btn-danger":"ERROR"===n,"btn-warning":"CONNECTING"===n,"btn-success":"CONNECTED"===n}},connect:function(){var n=(e.endpoint.connection||{}).clientWindow;n?n.focus():e.onConnect({endpoint:e.endpoint})},edit:function(){e.onEdit({endpoint:e.endpoint})},remove:function(){e.onRemove({endpoint:e.endpoint})},isDisabled:s,getDisabledTooltip:function(n){var o=r(n);return s(n)?_.get(o,"tooltipConnectDissalowed"):""}})}n.$inject=["c8yRemoteAccessUI","c8yRemoteAccess","gettext"],angular.module("c8y.remoteAccess").component("c8yRemoteAccessEndpointCard",{bindings:{endpoint:"<",onConnect:"&",onEdit:"&",onRemove:"&"},templateUrl:":::PLUGIN_PATH:::/remoteAccessEndpointCard/remoteAccessEndpointCard.html",controller:n,controllerAs:"vm"})})();
@@ -1 +1 @@
1
- "use strict";!function(){function e(n,i){var o,c,s,r,a,l,d=this;function p(){if(d.endpoint.config.credentialsType=d.selectedCredentialsType.value,e(!1),t(!1),f(!1),u(!1),d.selectedCredentialsType.value!==d.initialCredentialType)switch(d.endpoint.config.credentialsType){case"KEY_PAIR":_.set(d.endpoint,"config.privateKey",""),_.set(d.endpoint,"config.publicKey","");break;case"CERTIFICATE":_.set(d.endpoint,"config.privateKey",""),_.set(d.endpoint,"config.certificate","")}}function e(e){g("config.password",d.changingPassword=e,o)}function t(e){g("config.username",d.changingCredentials=e,c),g("config.password",e,o)}function f(e){g("config.privateKey",d.changingKeyPair=e,r),g("config.publicKey",e,s)}function u(e){g("config.privateKey",d.changingCertificate=e,r),g("config.certificate",e,l)}function g(e,t,n){t?_.set(d.endpoint,e,""):n&&!t&&_.set(d.endpoint,e,n)}_.assign(d,{$onInit:function(){n.getProtocols().then(function(e){d.protocols=e}).then(function(){var t=d.resolve.endpoint,e=d.resolve.rootDevice;o=_.get(t,"config.credentials.password"),c=_.get(t,"config.credentials.username"),s=_.get(t,"config.credentials.publicKey"),r=_.get(t,"config.credentials.privateKey"),a=_.get(t,"config.credentials.hostKey"),l=_.get(t,"config.credentials.certificate"),d.passwordAlreadyExists=!_.isEmpty(o),d.usernameAlreadyExists=!_.isEmpty(c),d.publicKeyAlreadyExists=!_.isEmpty(s),d.privateKeyAlreadyExists=!_.isEmpty(r),d.hostKeyAlreadyExists=!_.isEmpty(a),d.certificateAlreadyExists=!_.isEmpty(l),d.generating=!1,d.initialCredentialType=_.get(t,"config.credentials.type"),void 0===t?(d.selectedProtocol=_.find(d.protocols,function(e){return"VNC"===e.value}),d.selectedCredentialsType=d.selectedProtocol.supportedCredentialsTypes[0]):(d.selectedProtocol=_.find(d.protocols,function(e){return e.value===t.config.protocol}),d.selectedCredentialsType=t.config.credentials.type?_.find(d.credentialsTypes.values(),{value:t.config.credentials.type}):d.selectedProtocol.supportedCredentialsTypes[0]),d.endpoint=_.defaults(t,{device:e,config:{hostname:d.selectedProtocol.defaults.host,port:d.selectedProtocol.defaults.port,protocol:d.selectedProtocol.value,credentialsType:d.selectedCredentialsType.value}}),p(),e=d.resolve.rootDevice,i.getSuggestedIPAddresses(e).then(function(e){d.suggestedIPAddresses=e})})},save:function(){var e=d.endpoint,t=e.device,e=e.config;n.save(t,e).then(function(){return d.modalInstance.close(d.endpoint)})},cancel:function(){d.modalInstance.dismiss()},changePassword:function(){return e(!0)},cancelChangePassword:function(){return e(!1)},changeCredentials:function(){return t(!0)},cancelChangeCredentials:function(){return t(!1)},changeKeyPair:function(){return f(!0)},cancelChangeKeyPair:function(){return f(!1)},changeCertificate:function(){return u(!0)},cancelChangeCertificate:function(){return u(!1)},onProtocolChange:function(){d.selectedCredentialsType=d.selectedProtocol.supportedCredentialsTypes[0],_.assign(d.endpoint.config,{protocol:_.get(d,"selectedProtocol.value"),port:_.get(d,"selectedProtocol.defaults.port"),hostname:_.get(d,"selectedProtocol.defaults.host"),credentialsType:_.get(d,"selectedCredentialsType.value","NONE")})},onCredentialsTypeChange:p,credentialsTypes:n.CREDENTIALS_TYPES,credentialsAvailable:function(){return!!c&&!!o},keyPairAvailable:function(){return r&&s&&"KEY_PAIR"===d.initialCredentialType},certificateAvailable:function(){return l&&r&&"CERTIFICATE"===d.initialCredentialType},downloadPublicKey:function(){n.exportSshKey(_.get(d,"endpoint.config.publicKey"))},generateKeys:function(){var e=d.endpoint.config.hostname||d.selectedProtocol.defaults.host;d.generating=!0,n.generateKeys(e).then(function(e){var t=e.privateKey,e=e.publicKey;t&&e&&_.assign(d.endpoint.config,{privateKey:t,publicKey:e})}).finally(function(){d.generating=!1})},showIdentifiedType:function(e){d.identifiedType=e}})}e.$inject=["c8yRemoteAccess","c8yRemoteAccessUI"],angular.module("c8y.remoteAccess").component("c8yRemoteAccessEndpointModal",{bindings:{resolve:"<",modalInstance:"<"},templateUrl:":::PLUGIN_PATH:::/remoteAccessEndpointModal/remoteAccessEndpointModal.html",controller:e,controllerAs:"vm"})}();
1
+ (()=>{function e(n,i){var o,c,s,r,a,l,d=this;function p(){if(d.endpoint.config.credentialsType=d.selectedCredentialsType.value,e(!1),t(!1),f(!1),u(!1),d.selectedCredentialsType.value!==d.initialCredentialType)switch(d.endpoint.config.credentialsType){case"KEY_PAIR":_.set(d.endpoint,"config.privateKey",""),_.set(d.endpoint,"config.publicKey","");break;case"CERTIFICATE":_.set(d.endpoint,"config.privateKey",""),_.set(d.endpoint,"config.certificate","")}}function e(e){g("config.password",d.changingPassword=e,o)}function t(e){g("config.username",d.changingCredentials=e,c),g("config.password",e,o)}function f(e){g("config.privateKey",d.changingKeyPair=e,r),g("config.publicKey",e,s)}function u(e){g("config.privateKey",d.changingCertificate=e,r),g("config.certificate",e,l)}function g(e,t,n){t?_.set(d.endpoint,e,""):n&&!t&&_.set(d.endpoint,e,n)}_.assign(d,{$onInit:function(){n.getProtocols().then(function(e){d.protocols=e}).then(function(){var t=d.resolve.endpoint,e=d.resolve.rootDevice;o=_.get(t,"config.credentials.password"),c=_.get(t,"config.credentials.username"),s=_.get(t,"config.credentials.publicKey"),r=_.get(t,"config.credentials.privateKey"),a=_.get(t,"config.credentials.hostKey"),l=_.get(t,"config.credentials.certificate"),d.passwordAlreadyExists=!_.isEmpty(o),d.usernameAlreadyExists=!_.isEmpty(c),d.publicKeyAlreadyExists=!_.isEmpty(s),d.privateKeyAlreadyExists=!_.isEmpty(r),d.hostKeyAlreadyExists=!_.isEmpty(a),d.certificateAlreadyExists=!_.isEmpty(l),d.generating=!1,d.initialCredentialType=_.get(t,"config.credentials.type"),void 0===t?(d.selectedProtocol=_.find(d.protocols,function(e){return"VNC"===e.value}),d.selectedCredentialsType=d.selectedProtocol.supportedCredentialsTypes[0]):(d.selectedProtocol=_.find(d.protocols,function(e){return e.value===t.config.protocol}),d.selectedCredentialsType=t.config.credentials.type?_.find(d.credentialsTypes.values(),{value:t.config.credentials.type}):d.selectedProtocol.supportedCredentialsTypes[0]),d.endpoint=_.defaults(t,{device:e,config:{hostname:d.selectedProtocol.defaults.host,port:d.selectedProtocol.defaults.port,protocol:d.selectedProtocol.value,credentialsType:d.selectedCredentialsType.value}}),p(),e=d.resolve.rootDevice,i.getSuggestedIPAddresses(e).then(function(e){d.suggestedIPAddresses=e})})},save:function(){var e=d.endpoint,t=e.device,e=e.config;n.save(t,e).then(function(){return d.modalInstance.close(d.endpoint)})},cancel:function(){d.modalInstance.dismiss()},changePassword:function(){return e(!0)},cancelChangePassword:function(){return e(!1)},changeCredentials:function(){return t(!0)},cancelChangeCredentials:function(){return t(!1)},changeKeyPair:function(){return f(!0)},cancelChangeKeyPair:function(){return f(!1)},changeCertificate:function(){return u(!0)},cancelChangeCertificate:function(){return u(!1)},onProtocolChange:function(){d.selectedCredentialsType=d.selectedProtocol.supportedCredentialsTypes[0],_.assign(d.endpoint.config,{protocol:_.get(d,"selectedProtocol.value"),port:_.get(d,"selectedProtocol.defaults.port"),hostname:_.get(d,"selectedProtocol.defaults.host"),credentialsType:_.get(d,"selectedCredentialsType.value","NONE")})},onCredentialsTypeChange:p,credentialsTypes:n.CREDENTIALS_TYPES,credentialsAvailable:function(){return!!c&&!!o},keyPairAvailable:function(){return r&&s&&"KEY_PAIR"===d.initialCredentialType},certificateAvailable:function(){return l&&r&&"CERTIFICATE"===d.initialCredentialType},downloadPublicKey:function(){n.exportSshKey(_.get(d,"endpoint.config.publicKey"))},generateKeys:function(){var e=d.endpoint.config.hostname||d.selectedProtocol.defaults.host;d.generating=!0,n.generateKeys(e).then(function(e){var t=e.privateKey,e=e.publicKey;t&&e&&_.assign(d.endpoint.config,{privateKey:t,publicKey:e})}).finally(function(){d.generating=!1})},showIdentifiedType:function(e){d.identifiedType=e}})}e.$inject=["c8yRemoteAccess","c8yRemoteAccessUI"],angular.module("c8y.remoteAccess").component("c8yRemoteAccessEndpointModal",{bindings:{resolve:"<",modalInstance:"<"},templateUrl:":::PLUGIN_PATH:::/remoteAccessEndpointModal/remoteAccessEndpointModal.html",controller:e,controllerAs:"vm"})})();
@@ -1 +1 @@
1
- "use strict";!function(){function n(n,e,t,o){var c=this;function i(n){o.getEndpoints(n).then(s)}function s(n){c.endpoints=n,_.forEach(n,function(e){o.resumeMonitoring(e).then(function(n){n&&(e.connection=n)})})}function d(){i(c.device)}_.assign(c,{$onChanges:function(n){n.device&&n.device.currentValue&&i(n.device.currentValue)},endpointsOrderFn:function(n){var e=o.isLocalEndpoint(n)?"z":"a",n=n.config.name;return e+n},addEndpoint:function(){return o.addEndpoint(c.device).then(d)},onConnect:function(e){o.connectEndpoint(e).then(function(n){e.connection=n})},onEdit:function(n){o.editEndpoint(n).then(d)},onRemove:function(n){o.removeEndpoint(n).then(d)}})}n.$inject=["$q","c8yBase","c8yInventory","c8yRemoteAccessUI"],angular.module("c8y.remoteAccess").component("c8yRemoteAccessEndpointsList",{bindings:{device:"<"},templateUrl:":::PLUGIN_PATH:::/remoteAccessEndpointsList/remoteAccessEndpointsList.html",controller:n,controllerAs:"vm"})}();
1
+ (()=>{function n(n,e,t,o){var c=this;function i(n){o.getEndpoints(n).then(s)}function s(n){c.endpoints=n,_.forEach(n,function(e){o.resumeMonitoring(e).then(function(n){n&&(e.connection=n)})})}function d(){i(c.device)}_.assign(c,{$onChanges:function(n){n.device&&n.device.currentValue&&i(n.device.currentValue)},endpointsOrderFn:function(n){var e=o.isLocalEndpoint(n)?"z":"a",n=n.config.name;return e+n},addEndpoint:function(){return o.addEndpoint(c.device).then(d)},onConnect:function(e){o.connectEndpoint(e).then(function(n){e.connection=n})},onEdit:function(n){o.editEndpoint(n).then(d)},onRemove:function(n){o.removeEndpoint(n).then(d)}})}n.$inject=["$q","c8yBase","c8yInventory","c8yRemoteAccessUI"],angular.module("c8y.remoteAccess").component("c8yRemoteAccessEndpointsList",{bindings:{device:"<"},templateUrl:":::PLUGIN_PATH:::/remoteAccessEndpointsList/remoteAccessEndpointsList.html",controller:n,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(){function e(e,r,t,n){var o=this,i=[{name:"hostkeyAutosave",option:{category:"remoteaccess",key:"hostkey-autosave"},defaultValue:!1}];function c(e){return r.updateOption(_objectSpread(_objectSpread({},e.option),{},{value:_.get(o,e.name,e.defaultValue)}))}_.assign(o,{$onInit:function(){e.all(_.map(i,function(e){return t=e,r.detailValue(t.option,t.defaultValue).then(function(e){return _.set(o,t.name,e)});var t}))},updateSetting:c,updateSettings:function(){return e.all(_.map(i,c)).then(function(){return t.success(n("Settings saved."))}).catch(function(){return t.danger(n("Settings could not be saved."))})}})}e.$inject=["$q","c8ySettings","c8yAlert","gettext"],angular.module("c8y.remoteAccess").component("c8yRemoteAccessSettings",{templateUrl:":::PLUGIN_PATH:::/remoteAccessSettings/remoteAccessSettings.html",controller:e,controllerAs:"vm"})}();
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(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 e(e,r,t,n){var o=this,i=[{name:"hostkeyAutosave",option:{category:"remoteaccess",key:"hostkey-autosave"},defaultValue:!1}];function c(e){return r.updateOption(_objectSpread(_objectSpread({},e.option),{},{value:_.get(o,e.name,e.defaultValue)}))}_.assign(o,{$onInit:function(){e.all(_.map(i,function(e){return t=e,r.detailValue(t.option,t.defaultValue).then(function(e){return _.set(o,t.name,e)});var t}))},updateSetting:c,updateSettings:function(){return e.all(_.map(i,c)).then(function(){return t.success(n("Settings saved."))}).catch(function(){return t.danger(n("Settings could not be saved."))})}})}e.$inject=["$q","c8ySettings","c8yAlert","gettext"],angular.module("c8y.remoteAccess").component("c8yRemoteAccessSettings",{templateUrl:":::PLUGIN_PATH:::/remoteAccessSettings/remoteAccessSettings.html",controller:e,controllerAs:"vm"})})();
@@ -1 +1 @@
1
- "use strict";!function(){function e(n,t,y){r.$inject=["$q","$interval","$window","c8yRemoteAccess","$uibModal","c8yModal","c8yAlert","c8yBase","c8yInventory","c8yDevices","gettextCatalog"],i.$inject=["$routeParams","c8yBase","c8yDevices","c8yRemoteAccess"],c.$inject=["$routeParams"];var e="device/:deviceId",o={name:y("Remote access"),icon:"window-restore",template:'<c8y-remote-access-endpoints-list device="vm.id"></c8y-remote-access-endpoints-list>',controllerAs:"vm",controller:c,showIf:i};function c(e){this.id=e.deviceId}function i(e,n,t,o){var c=e.deviceId;return t.detail(c).then(n.getResData).then(function(e){return t.supportsOperation(e,"c8y_RemoteAccessConnect")}).then(function(e){return e&&o.isMicroServiceAvailable(c)})}function r(o,i,r,c,t,a,s,n,d,u,l){return{getSuggestedIPAddresses:function(e){var n=[{label:"localhost",ipAddress:c.DEFAULT_HOST}];return v(e).then(function(e){e=_.map(e,function(e){return{label:u.properName(e),ipAddress:u.getIPAddress(e)}});return _.filter(n.concat(e),"ipAddress")})},getChildDevices:v,getEndpoints:p,addEndpoint:function(e){e=g(e).then(function(e){return t.open({size:"sm",component:"c8yRemoteAccessEndpointModal",ariaLabelledBy:"modal-title",ariaDescribedBy:"modal-body",resolve:{rootDevice:_.constant(_.cloneDeep(e))}}).result});return e.then(function(){return s.success(y("Endpoint saved."))})},editEndpoint:function(n){var e=o.all({deviceDetails:g(n.device),endpointDetails:p(n.device).then(function(e){return _.find(e,function(e){return e.config.id===n.config.id})})}).then(function(e){var n=e.deviceDetails,e=e.endpointDetails;return t.open({size:"sm",component:"c8yRemoteAccessEndpointModal",ariaLabelledBy:"modal-title",ariaDescribedBy:"modal-body",resolve:{rootDevice:_.constant(_.cloneDeep(n)),endpoint:_.constant(_.cloneDeep(e))}}).result});return e.then(function(){return s.success(y("Endpoint saved."))})},removeEndpoint:function(e){var n={title:y("Delete endpoint"),body:l.getString('You are about to delete endpoint "{{config.name}}" from device "{{device.name}}". Do you want to proceed?',e),labels:{ok:y("Delete")},status:"danger"},n=a(n);return n.then(function(){return c.remove(e.device,e.config)}).then(function(){return s.success(y("Endpoint deleted."))})},connectEndpoint:function(o){return c.getConnectionParams(o.device,o.config).then(function(e){var n=m(o),t=(r.localStorage.setItem(n,JSON.stringify(e)),"".concat(e.protocol.clientWindowPath,"?paramsId=").concat(n)),t=r.open(t,n,e.protocol.clientWindowParams);return t.opener=null,f(t,n,e),_.assign(e,{paramsId:n,clientWindow:t})})},isLocalEndpoint:function(e){return _.includes(["localhost",c.DEFAULT_HOST],e.config.hostname)},resumeMonitoring:function(e){var n=m(e);if(r.localStorage.getItem(n)){var t=r.open("",n);if(t.opener=null,t)return function(e,n,t){return c.getConnectionParams(e.device,e.config).then(function(e){return f(n,t,e),_.assign(e,{paramsId:t,clientWindow:n})})}(e,t,n)}return o.resolve()}};function v(e){return d.childDevices(e)}function p(e){return g(e).then(function(n){return c.list(n).then(function(e){return _.map(e,function(e){return{device:n,config:e}})})})}function f(e,t,o){var c=i(function(){var n;try{n=JSON.parse(r.localStorage.getItem(t))}catch(e){n={}}_.assign(o,n),e.closed&&(i.cancel(c),r.localStorage.removeItem(t),o.status=void 0,o.clientWindow=void 0)},1e3)}function m(e){return"remoteConnection_".concat(e.device.id,"_").concat(e.config.id)}function g(e){return _.isObjectLike(e)?o.when(e):d.detail(e).then(n.getResData)}}return{$get:r,provideSettingsPage:function(){function e(e){return e.isAvailable({name:"cloud-remote-access",type:"MICROSERVICE"})}e.$inject=["c8yApplication"],t.addNavigation({parent:y("Settings"),name:y("Remote access"),path:"remoteAccessSettings",icon:"key",priority:2e3,showIf:e}),n.when("/remoteAccessSettings",{template:"<c8y-remote-access-settings />"})},provideDeviceTab:function(){n.when("/".concat(e),o)}}}e.$inject=["c8yViewsProvider","c8yNavigatorProvider","gettext"],angular.module("c8y.remoteAccess").provider("c8yRemoteAccessUI",e)}();
1
+ (()=>{function e(n,t,y){r.$inject=["$q","$interval","$window","c8yRemoteAccess","$uibModal","c8yModal","c8yAlert","c8yBase","c8yInventory","c8yDevices","gettextCatalog"],i.$inject=["$routeParams","c8yBase","c8yDevices","c8yRemoteAccess"],c.$inject=["$routeParams"];var e="device/:deviceId",o={name:y("Remote access"),icon:"window-restore",template:'<c8y-remote-access-endpoints-list device="vm.id"></c8y-remote-access-endpoints-list>',controllerAs:"vm",controller:c,showIf:i};function c(e){this.id=e.deviceId}function i(e,n,t,o){var c=e.deviceId;return t.detail(c).then(n.getResData).then(function(e){return t.supportsOperation(e,"c8y_RemoteAccessConnect")}).then(function(e){return e&&o.isMicroServiceAvailable(c)})}function r(o,i,r,c,t,a,s,n,d,u,l){return{getSuggestedIPAddresses:function(e){var n=[{label:"localhost",ipAddress:c.DEFAULT_HOST}];return v(e).then(function(e){e=_.map(e,function(e){return{label:u.properName(e),ipAddress:u.getIPAddress(e)}});return _.filter(n.concat(e),"ipAddress")})},getChildDevices:v,getEndpoints:p,addEndpoint:function(e){e=g(e).then(function(e){return t.open({size:"sm",component:"c8yRemoteAccessEndpointModal",ariaLabelledBy:"modal-title",ariaDescribedBy:"modal-body",resolve:{rootDevice:_.constant(_.cloneDeep(e))}}).result});return e.then(function(){return s.success(y("Endpoint saved."))})},editEndpoint:function(n){var e=o.all({deviceDetails:g(n.device),endpointDetails:p(n.device).then(function(e){return _.find(e,function(e){return e.config.id===n.config.id})})}).then(function(e){var n=e.deviceDetails,e=e.endpointDetails;return t.open({size:"sm",component:"c8yRemoteAccessEndpointModal",ariaLabelledBy:"modal-title",ariaDescribedBy:"modal-body",resolve:{rootDevice:_.constant(_.cloneDeep(n)),endpoint:_.constant(_.cloneDeep(e))}}).result});return e.then(function(){return s.success(y("Endpoint saved."))})},removeEndpoint:function(e){var n={title:y("Delete endpoint"),body:l.getString('You are about to delete endpoint "{{config.name}}" from device "{{device.name}}". Do you want to proceed?',e),labels:{ok:y("Delete")},status:"danger"},n=a(n);return n.then(function(){return c.remove(e.device,e.config)}).then(function(){return s.success(y("Endpoint deleted."))})},connectEndpoint:function(o){return c.getConnectionParams(o.device,o.config).then(function(e){var n=f(o),t=(r.localStorage.setItem(n,JSON.stringify(e)),"".concat(e.protocol.clientWindowPath,"?paramsId=").concat(n)),t=r.open(t,n,e.protocol.clientWindowParams);return t.opener=null,m(t,n,e),_.assign(e,{paramsId:n,clientWindow:t})})},isLocalEndpoint:function(e){return _.includes(["localhost",c.DEFAULT_HOST],e.config.hostname)},resumeMonitoring:function(e){var n=f(e);if(r.localStorage.getItem(n)){var t=r.open("",n);if(t.opener=null,t)return((e,n,t)=>c.getConnectionParams(e.device,e.config).then(function(e){return m(n,t,e),_.assign(e,{paramsId:t,clientWindow:n})}))(e,t,n)}return o.resolve()}};function v(e){return d.childDevices(e)}function p(e){return g(e).then(function(n){return c.list(n).then(function(e){return _.map(e,function(e){return{device:n,config:e}})})})}function m(e,t,o){var c=i(function(){var n;try{n=JSON.parse(r.localStorage.getItem(t))}catch(e){n={}}_.assign(o,n),e.closed&&(i.cancel(c),r.localStorage.removeItem(t),o.status=void 0,o.clientWindow=void 0)},1e3)}function f(e){return"remoteConnection_".concat(e.device.id,"_").concat(e.config.id)}function g(e){return _.isObjectLike(e)?o.when(e):d.detail(e).then(n.getResData)}}return{$get:r,provideSettingsPage:function(){function e(e){return e.isAvailable({name:"cloud-remote-access",type:"MICROSERVICE"})}e.$inject=["c8yApplication"],t.addNavigation({parent:y("Settings"),name:y("Remote access"),path:"remoteAccessSettings",icon:"key",priority:2e3,showIf:e}),n.when("/remoteAccessSettings",{template:"<c8y-remote-access-settings />"})},provideDeviceTab:function(){n.when("/".concat(e),o)}}}e.$inject=["c8yViewsProvider","c8yNavigatorProvider","gettext"],angular.module("c8y.remoteAccess").provider("c8yRemoteAccessUI",e)})();
@@ -1 +1 @@
1
- "use strict";!function(){function e(t,e,o,i,n,l,s){var r=this;function a(e){r.role=e,c();e=e.roles;e=(e||{}).references||[],r.selectedPermissions=_.map(e,"role.id")}function c(){i.listGlobalPermissions().then(u)}function u(e){r.permissions=e}function m(){r.globalRoleDetailForm.$setDirty()}function f(e){return r.saving=!0,e.finally(function(){r.saving=!1}),e}_.assign(r,{$onInit:function(){(function(){var e=r.id,n=r.duplicateId;("new"===e?function(e){var n=i.newGlobalRole(e);return n.then(function(){e&&s(m)}),n}(n):function(e){return o.global.detail(e).then(t.getResData)}(e)).then(a)})(),c()},STRINGS:i.STRINGS,helpLink:l.getUserGuideLink(i.STRINGS.LINKS.ROLES_INVENTORY),onSaveName:function(e){return f(i.saveGlobalRoleName(r.role,e))},cancel:i.list,save:function(){return f(i.saveGlobalRole(r.role,r.selectedPermissions))},hasAppPermissions:function(){var t=/^ROLE_APPLICATION/;return _.some(r.selectedPermissions,function(e,n){return e&&t.test(n)})},getRoleName:n.getName,onSelectedRolesChange:function(e){r.selectedPermissions=e,m()}})}e.$inject=["c8yBase","c8yPermissions","c8yRoles","c8yRolesUi","c8yPropertyValueTransformService","c8yDocs","$timeout"],angular.module("c8y.roles").component("c8yRoleDetailGlobal",{templateUrl:":::PLUGIN_PATH:::/detail/roleDetailGlobal.html",bindings:{id:"<",duplicateId:"<",tabName:"<"},controllerAs:"vm",controller:e})}();
1
+ (()=>{function e(o,e,l,t,n,i,s){var r=this;function a(e){r.role=e,c();e=e.roles;e=(e||{}).references||[],r.selectedPermissions=_.map(e,"role.id")}function c(){t.listGlobalPermissions().then(u)}function u(e){r.permissions=e}function m(){r.globalRoleDetailForm.$setDirty()}function d(e){return r.saving=!0,e.finally(function(){r.saving=!1}),e}_.assign(r,{$onInit:function(){(()=>{var e=r.id,n=r.duplicateId;("new"===e?(e=>{var n=t.newGlobalRole(e);return n.then(function(){e&&s(m)}),n})(n):(e=>l.global.detail(e).then(o.getResData))(e)).then(a)})(),c()},STRINGS:t.STRINGS,helpLink:i.getUserGuideLink(t.STRINGS.LINKS.ROLES_INVENTORY),onSaveName:function(e){return d(t.saveGlobalRoleName(r.role,e))},cancel:t.list,save:function(){return d(t.saveGlobalRole(r.role,r.selectedPermissions))},hasAppPermissions:function(){var o=/^ROLE_APPLICATION/;return _.some(r.selectedPermissions,function(e,n){return e&&o.test(n)})},getRoleName:n.getName,onSelectedRolesChange:function(e){r.selectedPermissions=e,m()}})}e.$inject=["c8yBase","c8yPermissions","c8yRoles","c8yRolesUi","c8yPropertyValueTransformService","c8yDocs","$timeout"],angular.module("c8y.roles").component("c8yRoleDetailGlobal",{templateUrl:":::PLUGIN_PATH:::/detail/roleDetailGlobal.html",bindings:{id:"<",duplicateId:"<",tabName:"<"},controllerAs:"vm",controller:e})})();
@@ -1 +1 @@
1
- "use strict";!function(){function e(t,n,o,i,e,r){var a=this;function l(e){return a.saving=!0,e.finally(function(){a.saving=!1}),e}function c(e){return"SUPPORT"===e.name&&!a.isTopTenant}_.assign(a,{$onInit:function(){!function(){var e=a.id,n=a.duplicateId;("new"===e?i.newInventoryRole(n):o.detail(e).then(t.getResData)).then(function(e){a.role=e})}()},$onChanges:function(e){e.isTopTenant&&(a.permissionScopes=function(){var e=n.SCOPES.values();return _.reject(e,c)}())},STRINGS:i.STRINGS,helpLink:r.getUserGuideLink(i.STRINGS.LINKS.ROLES_INVENTORY),onSaveName:function(e){return l(i.saveInventoryRoleName(a.role,e))},cancel:i.list,save:function(){return l(i.saveInventoryRole(a.role))},getRoleName:e.getName})}e.$inject=["c8yBase","c8yPermissions","c8yRoles","c8yRolesUi","c8yPropertyValueTransformService","c8yDocs"],angular.module("c8y.roles").component("c8yRoleDetailInventory",{templateUrl:":::PLUGIN_PATH:::/detail/roleDetailInventory.html",bindings:{id:"<",duplicateId:"<",isTopTenant:"<",tabName:"<"},controllerAs:"vm",controller:e})}();
1
+ (()=>{function e(t,n,o,i,e,a){var r=this;function l(e){return r.saving=!0,e.finally(function(){r.saving=!1}),e}function s(e){return"SUPPORT"===e.name&&!r.isTopTenant}_.assign(r,{$onInit:function(){(()=>{var e=r.id,n=r.duplicateId;("new"===e?i.newInventoryRole(n):o.detail(e).then(t.getResData)).then(function(e){r.role=e})})()},$onChanges:function(e){e.isTopTenant&&(r.permissionScopes=(()=>{var e=n.SCOPES.values();return _.reject(e,s)})())},STRINGS:i.STRINGS,helpLink:a.getUserGuideLink(i.STRINGS.LINKS.ROLES_INVENTORY),onSaveName:function(e){return l(i.saveInventoryRoleName(r.role,e))},cancel:i.list,save:function(){return l(i.saveInventoryRole(r.role))},getRoleName:e.getName})}e.$inject=["c8yBase","c8yPermissions","c8yRoles","c8yRolesUi","c8yPropertyValueTransformService","c8yDocs"],angular.module("c8y.roles").component("c8yRoleDetailInventory",{templateUrl:":::PLUGIN_PATH:::/detail/roleDetailInventory.html",bindings:{id:"<",duplicateId:"<",isTopTenant:"<",tabName:"<"},controllerAs:"vm",controller:e})})();
@@ -1 +1 @@
1
- "use strict";!function(){function e(e,o){var n=this;function t(){var e="ABCDEFGHJKLMNPQRSTUVWXYZabcdefhijkmnoprstuvwxyz123456789";return e[Math.floor(Math.random()*e.length)]}_.assign(n,{devicesWarning:"devices"===e.role.name,code:_.map(_.range(5),t).join(""),canConfirm:function(){return n.confirmString===n.code},action:e.action,$close:e.$close,$dismiss:e.$dismiss,saveLabel:o("Save"),deleteLabel:o("Delete"),saveAndLogoutUserLabel:o("Save and log out users"),deleteAndLogoutUserLabel:o("Delete and log out users"),saveTitle:o("Confirm save?"),deleteTitle:o("Confirm delete?")})}e.$inject=["$scope","gettext"],angular.module("c8y.roles").controller("GlobalRoleSaveConfirmCtrl",e)}();
1
+ (()=>{function e(e,o){var n=this;function t(){var e="ABCDEFGHJKLMNPQRSTUVWXYZabcdefhijkmnoprstuvwxyz123456789";return e[Math.floor(Math.random()*e.length)]}_.assign(n,{devicesWarning:"devices"===e.role.name,code:_.map(_.range(5),t).join(""),canConfirm:function(){return n.confirmString===n.code},action:e.action,$close:e.$close,$dismiss:e.$dismiss,saveLabel:o("Save"),deleteLabel:o("Delete"),saveAndLogoutUserLabel:o("Save and log out users"),deleteAndLogoutUserLabel:o("Delete and log out users"),saveTitle:o("Confirm save?"),deleteTitle:o("Confirm delete?")})}e.$inject=["$scope","gettext"],angular.module("c8y.roles").controller("GlobalRoleSaveConfirmCtrl",e)})();
@@ -21,17 +21,22 @@
21
21
  </p>
22
22
  <p class="text-break-word">
23
23
  <span translate>
24
- Enter the following code <code>{{ vm.code }}</code> to proceed:
24
+ Enter the following code
25
+ <code>{{ vm.code }}</code>
26
+ to proceed:
25
27
  </span>
26
28
  </p>
27
- <form class="form-inline m-t-24" ng-submit="vm.canConfirm() && vm.$close()">
29
+ <form
30
+ class="form-inline m-t-24"
31
+ ng-submit="vm.canConfirm() && vm.$close()"
32
+ >
28
33
  <div class="form-group">
29
34
  <label for="confirmString">{{ 'Confirm' | translate }}:&nbsp;</label>
30
35
  <input
31
- type="text"
32
36
  class="form-control"
33
37
  id="confirmString"
34
38
  placeholder="{{ 'Type here' | translate }}"
39
+ type="text"
35
40
  ng-model="vm.confirmString"
36
41
  c8y-autofocus
37
42
  />
@@ -39,15 +44,14 @@
39
44
  </form>
40
45
  <div class="alert-footer">
41
46
  <button
42
- title="{{ 'Cancel' | translate }}"
43
47
  class="btn btn-default"
48
+ title="{{ 'Cancel' | translate }}"
44
49
  ng-click="vm.$dismiss()"
45
50
  translate
46
51
  >
47
52
  Cancel
48
53
  </button>
49
54
  <button
50
- title="{{ 'Confirm' | translate }}"
51
55
  class="btn btn-primary"
52
56
  title="{{ (vm.action === 'update' ? vm.saveLabel : vm.deleteLabel) | translate }}"
53
57
  ng-click="vm.$close({logout: false})"
@@ -1 +1 @@
1
- "use strict";!function(){function s(e,s){var i,r=this;function n(){r.scopedPermissions=_.filter(r.permissions,{scope:r.scope})}function o(){r.permissionsListForm.$setDirty()}_.assign(r,{$onChanges:function(s){s.permissions&&(i&&i(),i=e.$watchCollection(_.constant(r.permissions),n))},accessTypes:s.ACCESS_TYPES,add:function(){r.permissions.push({scope:r.scope,permission:r.accessTypes.READ.value,type:"*"}),o()},remove:function(s){_.remove(r.permissions,s),o()},removeId:function(s){delete s.id},isOverridden:function(n){var s=r.permissions,e=r.scopedPermissions,o=["type","permission","scope"],s=_.find(_.without(s,n),function(i){return _.every(o,function(s){var e=_.matchesProperty(s,_.get(n,s)),s=_.matchesProperty(s,"*");return e(i)||s(i)})});return s&&(!_.matches(_.pick(n,o))(s)||_.indexOf(e,n)>_.indexOf(e,s))}})}s.$inject=["$scope","c8yPermissions"],angular.module("c8y.roles").component("c8yRoleInventoryPermissionList",{templateUrl:":::PLUGIN_PATH:::/detail/roleInventoryPermissionList.html",bindings:{permissions:"<",scope:"<"},controllerAs:"vm",controller:s})}();
1
+ (()=>{function s(e,s){var i,r=this;function n(){r.scopedPermissions=_.filter(r.permissions,{scope:r.scope})}function o(){r.permissionsListForm.$setDirty()}_.assign(r,{$onChanges:function(s){s.permissions&&(i&&i(),i=e.$watchCollection(_.constant(r.permissions),n))},accessTypes:s.ACCESS_TYPES,add:function(){r.permissions.push({scope:r.scope,permission:r.accessTypes.READ.value,type:"*"}),o()},remove:function(s){_.remove(r.permissions,s),o()},removeId:function(s){delete s.id},isOverridden:function(n){var s=r.permissions,e=r.scopedPermissions,o=["type","permission","scope"],s=_.find(_.without(s,n),function(i){return _.every(o,function(s){var e=_.matchesProperty(s,_.get(n,s)),s=_.matchesProperty(s,"*");return e(i)||s(i)})});return s&&(!_.matches(_.pick(n,o))(s)||_.indexOf(e,n)>_.indexOf(e,s))}})}s.$inject=["$scope","c8yPermissions"],angular.module("c8y.roles").component("c8yRoleInventoryPermissionList",{templateUrl:":::PLUGIN_PATH:::/detail/roleInventoryPermissionList.html",bindings:{permissions:"<",scope:"<"},controllerAs:"vm",controller:s})})();
@@ -1 +1 @@
1
- "use strict";!function(){function e(e){this.route_list=e.ROUTE_LIST}e.$inject=["c8yRolesUi"],angular.module("c8y.roles").component("c8yRoleTitle",{templateUrl:":::PLUGIN_PATH:::/detail/roleTitle.html",bindings:{name:"<",subtitle:"@",onSave:"&"},controllerAs:"vm",controller:e})}();
1
+ (()=>{function e(e){this.route_list=e.ROUTE_LIST}e.$inject=["c8yRolesUi"],angular.module("c8y.roles").component("c8yRoleTitle",{templateUrl:":::PLUGIN_PATH:::/detail/roleTitle.html",bindings:{name:"<",subtitle:"@",onSave:"&"},controllerAs:"vm",controller:e})})();
package/roles/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";!function(){function i(i){i.init()}i.$inject=["c8yRolesUiProvider"],angular.module("c8y.roles",[]).config(i)}();
1
+ (()=>{function i(i){i.init()}i.$inject=["c8yRolesUiProvider"],angular.module("c8y.roles",[]).config(i)})();
@@ -1 +1 @@
1
- "use strict";!function(){function e(n,o,e){var t=this;_.assign(t,{remove:function(e){o.removeAfterConfirmation(e).then(function(){t.onRemove({role:e})})},duplicate:o.duplicate,edit:o.edit,isUndeletable:o.isUndeletable,getRoleName:e.getName,$onInit:function(){o.canCreate().then(function(e){t.canCreate=e})}}),n.loadNext=function(){t.onLoadNext()},n.$watch("vm.roles.paging",function(e){t.roles&&(t.roles=t.roles.sort(function(e,n){return e.name.localeCompare(n.name,void 0,{numeric:!0})})),n.paging=e,_.forEach(t.roles,function(e){e.name=e.name&&_.trim(e.name),e.description=e.description&&_.trim(e.description)})})}e.$inject=["$scope","c8yRolesUi","c8yPropertyValueTransformService"],angular.module("c8y.roles").component("c8yRolesList",{templateUrl:":::PLUGIN_PATH:::/list/rolesList.html",bindings:{tabName:"<",roles:"<",addRole:"&",onRemove:"&",helpText:"<",onLoadNext:"&"},controllerAs:"vm",controller:e})}();
1
+ (()=>{function e(n,o,e){var t=this;_.assign(t,{remove:function(e){o.removeAfterConfirmation(e).then(function(){t.onRemove({role:e})})},duplicate:o.duplicate,edit:o.edit,isUndeletable:o.isUndeletable,getRoleName:e.getName,$onInit:function(){o.canCreate().then(function(e){t.canCreate=e})}}),n.loadNext=function(){t.onLoadNext()},n.$watch("vm.roles.paging",function(e){t.roles&&(t.roles=t.roles.sort(function(e,n){return e.name.localeCompare(n.name,void 0,{numeric:!0})})),n.paging=e,_.forEach(t.roles,function(e){e.name=e.name&&_.trim(e.name),e.description=e.description&&_.trim(e.description)})})}e.$inject=["$scope","c8yRolesUi","c8yPropertyValueTransformService"],angular.module("c8y.roles").component("c8yRolesList",{templateUrl:":::PLUGIN_PATH:::/list/rolesList.html",bindings:{tabName:"<",roles:"<",addRole:"&",onRemove:"&",helpText:"<",onLoadNext:"&"},controllerAs:"vm",controller:e})})();
@@ -1 +1 @@
1
- "use strict";!function(){function n(n,e,t,o){var r=this,i={header:o("Grant permissions on a general level."),text:o("There are several default roles defined, but you can define your own according to your needs.")},o={header:o("Manage user permissions on a particular group and/or its children."),text:o("There are several default inventory roles defined, but you can define your own according to your needs.")};function l(){return n.all([a(),c()])}function a(){return e.global.list().then(function(n){return u("global",n)})}function u(n,e){var t=(t=r["".concat(n,"Roles")])||[];e.forEach(function(n){t.push(n)}),t.paging=e.paging,r["".concat(n,"Roles")]=t}function c(){return e.list().then(function(n){return u("inventory",n)})}_.assign(r,{onRemove:function(e,n){_.remove(n,function(n){return n.id===e.id})},listGlobal:a,listInventory:c,listAll:l,loadNext:function(e){var n=r["".concat(e,"Roles")];n.paging.loading=!0,n.paging.next().then(function(n){return u(e,n)}).finally(function(){n.paging.loading=!1})},add:t.add,globalHelpText:i,inventoryHelpText:o}),t.setListTitle(),l()}n.$inject=["$q","c8yRoles","c8yRolesUi","gettext"],angular.module("c8y.roles").controller("c8yRolesOverviewCtrl",n)}();
1
+ (()=>{function n(n,e,t,o){var r=this,i={header:o("Grant permissions on a general level."),text:o("There are several default roles defined, but you can define your own according to your needs.")},o={header:o("Manage user permissions on a particular group and/or its children."),text:o("There are several default inventory roles defined, but you can define your own according to your needs.")};function l(){return n.all([a(),c()])}function a(){return e.global.list().then(function(n){return u("global",n)})}function u(n,e){var t=(t=r["".concat(n,"Roles")])||[];e.forEach(function(n){t.push(n)}),t.paging=e.paging,r["".concat(n,"Roles")]=t}function c(){return e.list().then(function(n){return u("inventory",n)})}_.assign(r,{onRemove:function(e,n){_.remove(n,function(n){return n.id===e.id})},listGlobal:a,listInventory:c,listAll:l,loadNext:function(e){var n=r["".concat(e,"Roles")];n.paging.loading=!0,n.paging.next().then(function(n){return u(e,n)}).finally(function(){n.paging.loading=!1})},add:t.add,globalHelpText:i,inventoryHelpText:o}),t.setListTitle(),l()}n.$inject=["$q","c8yRoles","c8yRolesUi","gettext"],angular.module("c8y.roles").controller("c8yRolesOverviewCtrl",n)})();
@@ -1 +1 @@
1
- "use strict";!function(){function e(g,e,n){v.$inject=["$rootScope","$location","$q","gettextCatalog","c8yBase","c8yTitle","c8yModal","c8yAlert","c8yRoles","c8yPermissions","c8yRolesUiStrings"],u.$inject=["$routeParams","c8yTenant"];var y="roles",b="roles/inventory_roles",R="".concat(y,"/global/:roleId"),w="".concat(y,"/inventory/:roleId"),t="c8y-users",o=g("Global roles"),r={priority:1e3,icon:"connected-people",template:"<c8y-roles-list tab-name=\"'".concat(o,'\' | translate" roles="vm.globalRoles" help-text="vm.globalHelpText" on-remove="vm.onRemove(role, vm.globalRoles)" add-role="vm.add(\'global\')" on-load-next="vm.loadNext(\'global\')"></c8y-roles-list>'),name:o,controller:"c8yRolesOverviewCtrl",controllerAs:"vm"},a=g("Inventory roles"),l={icon:"insurance-agent",template:"<c8y-roles-list tab-name=\"'".concat(a,'\' | translate" roles="vm.inventoryRoles" help-text="vm.inventoryHelpText" on-remove="vm.onRemove(role, vm.inventoryRoles)" add-role="vm.add(\'inventory\')" on-load-next="vm.loadNext(\'inventory\')"></c8y-roles-list>'),name:a,controller:"c8yRolesOverviewCtrl",controllerAs:"vm"},i={template:"<c8y-role-detail-global tab-name=\"'".concat(o,'\' | translate" id="vm.params.roleId" duplicate-id="vm.params.duplicate"></c8y-role-global-global>')},c={template:"<c8y-role-detail-inventory tab-name=\"'".concat(a,'\' | translate" id="vm.params.roleId" duplicate-id="vm.params.duplicate" is-top-tenant="vm.isTopTenant"></c8y-role-detail-inventory>')},s={controllerAs:"vm",controller:u};function u(e,n){var t=this;_.assign(t,{isTopTenant:!1,params:e}),n.isCurrentUserTopTenant().then(function(e){t.isTopTenant=e})}var T=["READ","ADMIN","CREATE","UPDATE"],E="ROLE_USER_MANAGEMENT_ADMIN",m=["ROLE_USER_MANAGEMENT_READ",E];function d(){e.when("/".concat(y),r),e.when("/".concat(y),l),e.when("/".concat(R),_.assign(i,s)),e.when("/".concat(w),_.assign(c,s))}function v(a,t,l,r,o,e,i,c,s,n,u){return{ROUTE_LIST:y,STRINGS:u,listGlobalPermissions:function(){return n.listGlobal().then(function(e){return _.filter(e,function(e){return _.includes(T,e.access)})})},list:m,setListTitle:function(){e.changeTitle({title:g("Roles")})},add:d,edit:function(e){var n=s.isGlobal(e)?R:w;return function(e,n){e=o.getId(e),n=n.replace(/:\w+/,e);return t.search("duplicate",null),t.path(n)}(e,n)},duplicate:function(e){d(s.isGlobal(e)?"global":"inventory",e.id)},removeAfterConfirmation:function(n){var t=s.remove,o=s.global.remove;return function(){var e=a.$new(!0);return e.role=n,e.action="delete",i({templateUrl:":::PLUGIN_PATH:::/detail/roleGlobalSaveConfirm.html",scope:e})}().then(function(e){var e=e.logout;return e=e,s.isGlobal(n)?o(n,e):t(n)}).then(function(){return c.success(g("Role deleted."))}).catch(function(e){var n;return _.get(e,"status")&&(n=e,n=_.get(n,"data",n),a.$emit("alert",{type:"danger",text:$("<div/>").text(r.getString(n.message)).html(),detailedData:n})),l.reject(e)})},canCreate:function(){return n.hasAnyRole([E])},newInventoryRole:function(e){var n=l.when({name:r.getString("New inventory role"),permissions:[]});e&&(n=s.detail(e).then(function(e){var e=e.data,n={};return n.name="".concat(e.name," 2"),n.permissions=_.map(e.permissions,function(e){return _.omit(e,["id"])}),n}));return n},saveInventoryRole:function(e){var n=l.when();e.id||(n=v(e,e.name).catch(f(e.name)));return n.then(_.partial(s.save,e)).then(function(){return c.success(g("Inventory role saved."))}).then(m)},saveInventoryRoleName:function(n,t){return v(n,t).then(function(){var e;return n.id?e=s.update({id:n.id,name:t}).then(function(e){return n.name=t,e}):n.name=t,e},f(t))},newGlobalRole:function(e){var n=l.when({name:r.getString("New global role")});e&&(n=s.global.detail(e).then(function(e){e=_.pick(e.data,["name","roles","applications"]);return e.name+=" 2",e}));return n},saveGlobalRole:function(t,n){function o(e){var n=0<arguments.length&&void 0!==e&&e,e=l.when();return(e=t.id?e:h(t,t.name).catch(f(t.name))).then(function(){return s.global.save(t,n)})}function r(e){return s.global.updateRoles(e,n)}return(t.id?function(){var e=a.$new(!0);return e.role=t,e.action="update",i({templateUrl:":::PLUGIN_PATH:::/detail/roleGlobalSaveConfirm.html",scope:e})}():l.resolve({logout:!1})).then(function(e){var n=e.logout;return t.id?r(t).then(function(){return o(n)}):o(n).then(r)}).then(function(){return c.success(g("Global role saved."))}).then(m)},saveGlobalRoleName:function(n,t){return h(n,t).then(function(){var e=l.when();return n.id?e=s.global.update({id:n.id,name:t}).then(function(e){return n.name=t,e}):n.name=t,e},f(t))},isUndeletable:function(e){return s.isGlobal(e)&&("admins"===_.lowerCase(e.name)||"devices"===_.lowerCase(e.name)||n.hasRole(e,"ROLE_NO_DELETE"))}};function m(){var e=new RegExp("\\/roles\\/inventory\\/(\\w+)"),e=t.path().match(e),e="/".concat(e?b:y);t.path(e),t.search("duplicate",null)}function d(e,n){e=("global"===e?R:w).replace(/:\w+/,"new");t.path(e),n&&t.search("duplicate",n)}function v(n,t){return s.list().then(function(e){return p(e,n,t)})}function p(e,n,t){e=_.filter(e,function(e){return e.id!==n.id});return _.some(e,{name:t})&&l.reject({duplicate:!0})}function f(n){return function(e){return _.get(e,"duplicate")&&c.danger(r.getString('There is already a role with the name "{{name}}"',{name:n})),l.reject()}}function h(n,t){return s.global.list().then(function(e){return p(e,n,t)})}}return{$get:v,init:function(){d(),n.addNavigation({name:g("Roles"),parent:g("Accounts"),routerLinkExact:!1,priority:4900,path:y,icon:t,showIfPermissions:{anyRole:m}})},hookViews:d}}e.$inject=["gettext","c8yViewsProvider","c8yNavigatorProvider"],angular.module("c8y.roles").provider("c8yRolesUi",e)}();
1
+ (()=>{function e(g,e,n){v.$inject=["$rootScope","$location","$q","gettextCatalog","c8yBase","c8yTitle","c8yModal","c8yAlert","c8yRoles","c8yPermissions","c8yRolesUiStrings"],u.$inject=["$routeParams","c8yTenant"];var y="roles",b="roles/inventory_roles",R="".concat(y,"/global/:roleId"),w="".concat(y,"/inventory/:roleId"),t="c8y-users",o=g("Global roles"),r={priority:1e3,icon:"connected-people",template:"<c8y-roles-list tab-name=\"'".concat(o,'\' | translate" roles="vm.globalRoles" help-text="vm.globalHelpText" on-remove="vm.onRemove(role, vm.globalRoles)" add-role="vm.add(\'global\')" on-load-next="vm.loadNext(\'global\')"></c8y-roles-list>'),name:o,controller:"c8yRolesOverviewCtrl",controllerAs:"vm"},a=g("Inventory roles"),l={icon:"insurance-agent",template:"<c8y-roles-list tab-name=\"'".concat(a,'\' | translate" roles="vm.inventoryRoles" help-text="vm.inventoryHelpText" on-remove="vm.onRemove(role, vm.inventoryRoles)" add-role="vm.add(\'inventory\')" on-load-next="vm.loadNext(\'inventory\')"></c8y-roles-list>'),name:a,controller:"c8yRolesOverviewCtrl",controllerAs:"vm"},i={template:"<c8y-role-detail-global tab-name=\"'".concat(o,'\' | translate" id="vm.params.roleId" duplicate-id="vm.params.duplicate"></c8y-role-global-global>')},c={template:"<c8y-role-detail-inventory tab-name=\"'".concat(a,'\' | translate" id="vm.params.roleId" duplicate-id="vm.params.duplicate" is-top-tenant="vm.isTopTenant"></c8y-role-detail-inventory>')},s={controllerAs:"vm",controller:u};function u(e,n){var t=this;_.assign(t,{isTopTenant:!1,params:e}),n.isCurrentUserTopTenant().then(function(e){t.isTopTenant=e})}var T=["READ","ADMIN","CREATE","UPDATE"],E="ROLE_USER_MANAGEMENT_ADMIN",m=["ROLE_USER_MANAGEMENT_READ",E];function d(){e.when("/".concat(y),r),e.when("/".concat(y),l),e.when("/".concat(R),_.assign(i,s)),e.when("/".concat(w),_.assign(c,s))}function v(a,t,l,r,o,e,i,c,s,n,u){return{ROUTE_LIST:y,STRINGS:u,listGlobalPermissions:function(){return n.listGlobal().then(function(e){return _.filter(e,function(e){return _.includes(T,e.access)})})},list:m,setListTitle:function(){e.changeTitle({title:g("Roles")})},add:d,edit:function(e){var n=s.isGlobal(e)?R:w;return((e,n)=>(e=o.getId(e),n=n.replace(/:\w+/,e),t.search("duplicate",null),t.path(n)))(e,n)},duplicate:function(e){d(s.isGlobal(e)?"global":"inventory",e.id)},removeAfterConfirmation:function(n){var t=s.remove,o=s.global.remove;return(()=>{var e=a.$new(!0);return e.role=n,e.action="delete",i({templateUrl:":::PLUGIN_PATH:::/detail/roleGlobalSaveConfirm.html",scope:e})})().then(function(e){var e=e.logout;return e=e,s.isGlobal(n)?o(n,e):t(n)}).then(function(){return c.success(g("Role deleted."))}).catch(function(e){var n;return _.get(e,"status")&&(n=e,n=_.get(n,"data",n),a.$emit("alert",{type:"danger",text:$("<div/>").text(r.getString(n.message)).html(),detailedData:n})),l.reject(e)})},canCreate:function(){return n.hasAnyRole([E])},newInventoryRole:function(e){var n=l.when({name:r.getString("New inventory role"),permissions:[]});e&&(n=s.detail(e).then(function(e){var e=e.data,n={};return n.name="".concat(e.name," 2"),n.permissions=_.map(e.permissions,function(e){return _.omit(e,["id"])}),n}));return n},saveInventoryRole:function(e){var n=l.when();e.id||(n=v(e,e.name).catch(h(e.name)));return n.then(_.partial(s.save,e)).then(function(){return c.success(g("Inventory role saved."))}).then(m)},saveInventoryRoleName:function(n,t){return v(n,t).then(function(){var e;return n.id?e=s.update({id:n.id,name:t}).then(function(e){return n.name=t,e}):n.name=t,e},h(t))},newGlobalRole:function(e){var n=l.when({name:r.getString("New global role")});e&&(n=s.global.detail(e).then(function(e){e=_.pick(e.data,["name","roles","applications"]);return e.name+=" 2",e}));return n},saveGlobalRole:function(t,n){function o(e){var n=0<arguments.length&&void 0!==e&&e,e=l.when();return(e=t.id?e:f(t,t.name).catch(h(t.name))).then(function(){return s.global.save(t,n)})}function r(e){return s.global.updateRoles(e,n)}return(t.id?(()=>{var e=a.$new(!0);return e.role=t,e.action="update",i({templateUrl:":::PLUGIN_PATH:::/detail/roleGlobalSaveConfirm.html",scope:e})})():l.resolve({logout:!1})).then(function(e){var n=e.logout;return t.id?r(t).then(function(){return o(n)}):o(n).then(r)}).then(function(){return c.success(g("Global role saved."))}).then(m)},saveGlobalRoleName:function(n,t){return f(n,t).then(function(){var e=l.when();return n.id?e=s.global.update({id:n.id,name:t}).then(function(e){return n.name=t,e}):n.name=t,e},h(t))},isUndeletable:function(e){return s.isGlobal(e)&&("admins"===_.lowerCase(e.name)||"devices"===_.lowerCase(e.name)||n.hasRole(e,"ROLE_NO_DELETE"))}};function m(){var e=new RegExp("\\/roles\\/inventory\\/(\\w+)"),e=t.path().match(e),e="/".concat(e?b:y);t.path(e),t.search("duplicate",null)}function d(e,n){e=("global"===e?R:w).replace(/:\w+/,"new");t.path(e),n&&t.search("duplicate",n)}function v(n,t){return s.list().then(function(e){return p(e,n,t)})}function p(e,n,t){e=_.filter(e,function(e){return e.id!==n.id});return _.some(e,{name:t})&&l.reject({duplicate:!0})}function h(n){return function(e){return _.get(e,"duplicate")&&c.danger(r.getString('There is already a role with the name "{{name}}"',{name:n})),l.reject()}}function f(n,t){return s.global.list().then(function(e){return p(e,n,t)})}}return{$get:v,init:function(){d(),n.addNavigation({name:g("Roles"),parent:g("Accounts"),routerLinkExact:!1,priority:4900,path:y,icon:t,showIfPermissions:{anyRole:m}})},hookViews:d}}e.$inject=["gettext","c8yViewsProvider","c8yNavigatorProvider"],angular.module("c8y.roles").provider("c8yRolesUi",e)})();
@@ -1 +1 @@
1
- "use strict";!function(){function e(o,i,c,a,t,n,d,r,f,s){var g=this,u="",e={c8y_Global:{}};function p(e){var n,i,t,c,a;return g.svgFile.data=e,g.svgFile&&(n=o.config.mapping||{},i=o.config.deviceIds||{},t=o.config.device&&o.config.device.id,o.config.mapping={},o.config.deviceIds={},_.forEach(function(e){var n=[],i=/{{\s*([$\w]+?)\s*}}/g,t=i.exec(e);for(;null!==t;)n.push(t[1]),t=i.exec(e);return n}(g.svgFile.data),function(e){o.config.mapping[e]=n[e]||null,o.config.deviceIds[e]=i[e]||t||null}),c=o.config.deviceIds,a=o.config.mapping,c)&&a&&_.forOwn(c,function(e,n){var e=l(e),i=r.generatePaths(e);f.list().then(function(e){e=_.sortBy(e,function(e){return e.keyPath.length}).reverse();null===a[n]&&(_.forEach(e,function(e){_.last(e.keyPath).toUpperCase()===n.toUpperCase()&&(a[n]=e)}),_.forEach(i,function(e){_.last(e).toUpperCase()===n.toUpperCase()&&(a[n]=r.createProperty(e))}))})}),e}function l(n){return _.find(g.devices,function(e){return n===e.id})}function v(e,n){g.device&&g.device.id!==n.id||_.assign(g.device,n)}function h(){e=o.config.deviceIds;var e=_(e).values().uniq().value().sort(function(e,n){return e-n}).join(",");e!==u&&(u.length&&n.stop(o.$id,"/managedobjects/".concat(u)),e.length&&(n.addListener(o.$id,"/managedobjects/".concat(e),"UPDATE",v),n.start(o.$id,"/managedobjects/".concat(e)),o.$on("$destroy",_.partial(n.stop,o.$id,"/managedobjects/".concat(e)))),u=e)}this.deviceDetail=function(e,n){var t;e&&(t=!n||!(e.name===n.name&&e.id===n.id),a.detail(e.id).then(function(e){g.device=e.data;e=_.union([g.device.id],_.map(_.union(g.device.childAssets.references,g.device.childDevices.references),function(e){return e.managedObject.id}));_.remove(e,_.isUndefined),i.all(_.map(e,function(e){return a.detail(e)})).then(function(e){var i;g.devices=_.map(e,function(e){e=e.data;return _.assign({},e,{name:c("truncate")(e.name)})}),i=t,_.forOwn(o.config.mapping,function(e,n){1!==g.devices.length&&!i||(o.config.deviceIds[n]=o.config.device.id),o.config.deviceIds[n]=o.config.deviceIds[n]||o.config.device.id}),g.updateComputedProperties(o.config.deviceIds,o.config.mapping)})}))},this.onSelectFile=function(n){g.loading=!0,t.upload(n,e).then(function(e){g.binaryFile=e.data,o.config.binaryId=e.data.id,g.retrieveSvgData(n),o.forms.componentForm.$setDirty()}).finally(function(){g.loading=!1})},this.updateComputedProperties=function(e,t){_.isEmpty(e)||_.isEmpty(t)||_.forOwn(e,function(e,n){var i=[t[n]];t[n]&&(n=l(e),d.attach(n,_.filter(i,function(e){return _.isObjectLike(e)})))})},this.onMappingChange=function(){g.updateComputedProperties(o.config.deviceIds,o.config.mapping)},this.onDeviceIdsChange=function(){g.updateComputedProperties(o.config.deviceIds,o.config.mapping),h()},this.retrieveSvgData=function(n){g.svgFile={name:n.name,size:n.length},(n instanceof Blob?t.readDataUri(n):t.downloadAsDataUri(n)).then(t.decodeDataUri).then(function(e){return new File([e],n.name,{type:n.type})}).then(function(e){return s.sanitizeFileByLevel(e,o.config.sanitization)}).then(function(e){return t.readDataUri(e)}).then(t.decodeDataUri).then(p)},g.binaryFile={},o.config.mapping=o.config.mapping||{},o.config.deviceIds=o.config.deviceIds||{},o.config.devices&&delete o.config.devices,function(){if(!o.config.binaryId)return i.when();g.loading=!0,o.config.sanitization||(o.config.sanitization="none"),t.detail(o.config.binaryId).then(function(e){g.binaryFile=e.data,g.retrieveSvgData(g.binaryFile),g.loading=!1}).then(function(){var e=[];e.push({file:g.svgFile}),g.files=e})}(),h(),o.$watch("config.device",this.deviceDetail,!0),o.$watch("config.mapping",this.onMappingChange,!0),o.$on("$destroy",function(){_.forEach(o.config.deviceIds,function(e){d.detach(l(e))})})}e.$inject=["$scope","$q","$filter","c8yDevices","c8yBinary","c8yRealtime","c8yComputedProperties","fieldbusPropertyGenerator","c8yPropertiesLibrary","c8ySanitizeHtml"],angular.module("c8y.parts.scadaWidget").controller("ScadaWidgetConfigCtrl",e)}();
1
+ (()=>{function e(o,n,c,a,t,i,d,r,f,s){var g=this,u="",e={c8y_Global:{}};function p(e){var i,n,t,c,a;return g.svgFile.data=e,g.svgFile&&(i=o.config.mapping||{},n=o.config.deviceIds||{},t=o.config.device&&o.config.device.id,o.config.mapping={},o.config.deviceIds={},_.forEach((e=>{for(var i=[],n=/{{\s*([$\w]+?)\s*}}/g,t=n.exec(e);null!==t;)i.push(t[1]),t=n.exec(e);return i})(g.svgFile.data),function(e){o.config.mapping[e]=i[e]||null,o.config.deviceIds[e]=n[e]||t||null}),c=o.config.deviceIds,a=o.config.mapping,c)&&a&&_.forOwn(c,function(e,i){var e=l(e),n=r.generatePaths(e);f.list().then(function(e){e=_.sortBy(e,function(e){return e.keyPath.length}).reverse();null===a[i]&&(_.forEach(e,function(e){_.last(e.keyPath).toUpperCase()===i.toUpperCase()&&(a[i]=e)}),_.forEach(n,function(e){_.last(e).toUpperCase()===i.toUpperCase()&&(a[i]=r.createProperty(e))}))})}),e}function l(i){return _.find(g.devices,function(e){return i===e.id})}function v(e,i){g.device&&g.device.id!==i.id||_.assign(g.device,i)}function h(){e=o.config.deviceIds;var e=_(e).values().uniq().value().sort(function(e,i){return e-i}).join(",");e!==u&&(u.length&&i.stop(o.$id,"/managedobjects/".concat(u)),e.length&&(i.addListener(o.$id,"/managedobjects/".concat(e),"UPDATE",v),i.start(o.$id,"/managedobjects/".concat(e)),o.$on("$destroy",_.partial(i.stop,o.$id,"/managedobjects/".concat(e)))),u=e)}this.deviceDetail=function(e,i){var t;e&&(t=!i||!(e.name===i.name&&e.id===i.id),a.detail(e.id).then(function(e){g.device=e.data;e=_.union([g.device.id],_.map(_.union(g.device.childAssets.references,g.device.childDevices.references),function(e){return e.managedObject.id}));_.remove(e,_.isUndefined),n.all(_.map(e,function(e){return a.detail(e)})).then(function(e){var n;g.devices=_.map(e,function(e){e=e.data;return _.assign({},e,{name:c("truncate")(e.name)})}),n=t,_.forOwn(o.config.mapping,function(e,i){1!==g.devices.length&&!n||(o.config.deviceIds[i]=o.config.device.id),o.config.deviceIds[i]=o.config.deviceIds[i]||o.config.device.id}),g.updateComputedProperties(o.config.deviceIds,o.config.mapping)})}))},this.onSelectFile=function(i){g.loading=!0,t.upload(i,e).then(function(e){g.binaryFile=e.data,o.config.binaryId=e.data.id,g.retrieveSvgData(i),o.forms.componentForm.$setDirty()}).finally(function(){g.loading=!1})},this.updateComputedProperties=function(e,t){_.isEmpty(e)||_.isEmpty(t)||_.forOwn(e,function(e,i){var n=[t[i]];t[i]&&(i=l(e),d.attach(i,_.filter(n,function(e){return _.isObjectLike(e)})))})},this.onMappingChange=function(){g.updateComputedProperties(o.config.deviceIds,o.config.mapping)},this.onDeviceIdsChange=function(){g.updateComputedProperties(o.config.deviceIds,o.config.mapping),h()},this.retrieveSvgData=function(i){g.svgFile={name:i.name,size:i.length},(i instanceof Blob?t.readDataUri(i):t.downloadAsDataUri(i)).then(t.decodeDataUri).then(function(e){return new File([e],i.name,{type:i.type})}).then(function(e){return s.sanitizeFileByLevel(e,o.config.sanitization)}).then(function(e){return t.readDataUri(e)}).then(t.decodeDataUri).then(p)},g.binaryFile={},o.config.mapping=o.config.mapping||{},o.config.deviceIds=o.config.deviceIds||{},o.config.devices&&delete o.config.devices,(()=>{if(!o.config.binaryId)return n.when();g.loading=!0,o.config.sanitization||(o.config.sanitization="none"),t.detail(o.config.binaryId).then(function(e){g.binaryFile=e.data,g.retrieveSvgData(g.binaryFile),g.loading=!1}).then(function(){var e=[];e.push({file:g.svgFile}),g.files=e})})(),h(),o.$watch("config.device",this.deviceDetail,!0),o.$watch("config.mapping",this.onMappingChange,!0),o.$on("$destroy",function(){_.forEach(o.config.deviceIds,function(e){d.detach(l(e))})})}e.$inject=["$scope","$q","$filter","c8yDevices","c8yBinary","c8yRealtime","c8yComputedProperties","fieldbusPropertyGenerator","c8yPropertiesLibrary","c8ySanitizeHtml"],angular.module("c8y.parts.scadaWidget").controller("ScadaWidgetConfigCtrl",e)})();
package/scada/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";!function(){function e(e,t){e.add({name:"SCADA",description:t("Display a configurable SVG."),templateUrl:":::PLUGIN_PATH:::/views/component.html",configTemplateUrl:":::PLUGIN_PATH:::/views/componentConfig.html",previewImage:":::PLUGIN_PATH:::/img/scada-widget-pr.png",transformConfigWithContext:["config","context","dashboard",function(e,t,n){return n.deviceType&&e.deviceIds&&(e.deviceIds=_.mapValues(e.deviceIds,_.constant(t.id))),e}],options:{groupsSelectable:!0}})}e.$inject=["c8yComponentsProvider","gettext"],angular.module("c8y.parts.scadaWidget",[]).config(e)}();
1
+ (()=>{function e(e,t){e.add({name:"SCADA",description:t("Display a configurable SVG."),templateUrl:":::PLUGIN_PATH:::/views/component.html",configTemplateUrl:":::PLUGIN_PATH:::/views/componentConfig.html",previewImage:":::PLUGIN_PATH:::/img/scada-widget-pr.png",transformConfigWithContext:["config","context","dashboard",function(e,t,n){return n.deviceType&&e.deviceIds&&(e.deviceIds=_.mapValues(e.deviceIds,_.constant(t.id))),e}],options:{groupsSelectable:!0}})}e.$inject=["c8yComponentsProvider","gettext"],angular.module("c8y.parts.scadaWidget",[]).config(e)})();
@@ -1 +1 @@
1
- "use strict";angular.module("c8y.parts.scadaWidget",[]);
1
+ angular.module("c8y.parts.scadaWidget",[]);