@c8y/ngx-components 1022.10.1 → 1022.16.2

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 (1047) hide show
  1. package/actility-device-registration/actility-device-registration-button.component.d.ts +1 -1
  2. package/actility-device-registration/actility-device-registration-button.component.d.ts.map +1 -1
  3. package/actility-device-registration/actility-device-registration.component.d.ts +1 -1
  4. package/actility-device-registration/actility-device-registration.component.d.ts.map +1 -1
  5. package/actility-device-registration/actility-device-registration.module.d.ts +4 -4
  6. package/actility-device-registration/actility-device-registration.module.d.ts.map +1 -1
  7. package/alarm-event-selector/alarm-event-attributes-form/alarm-event-attributes-form.component.d.ts +1 -1
  8. package/alarm-event-selector/alarm-event-attributes-form/alarm-event-attributes-form.component.d.ts.map +1 -1
  9. package/alarm-event-selector/alarm-event-selection-list/alarm-event-selection-list.component.d.ts +25 -1
  10. package/alarm-event-selector/alarm-event-selection-list/alarm-event-selection-list.component.d.ts.map +1 -1
  11. package/alarm-event-selector/alarm-event-selector-list-item/alarm-event-selector-list-item.component.d.ts +1 -1
  12. package/alarm-event-selector/alarm-event-selector-list-item/alarm-event-selector-list-item.component.d.ts.map +1 -1
  13. package/alarm-event-selector/alarm-event-selector-modal/alarm-event-selector-modal.component.d.ts +1 -1
  14. package/alarm-event-selector/alarm-event-selector-modal/alarm-event-selector-modal.component.d.ts.map +1 -1
  15. package/alarm-event-selector/alarm-event-selector.component.d.ts +1 -1
  16. package/alarm-event-selector/alarm-event-selector.component.d.ts.map +1 -1
  17. package/alarm-event-selector/alarm-event-selector.module.d.ts +15 -15
  18. package/alarm-event-selector/alarm-event-selector.module.d.ts.map +1 -1
  19. package/alarm-event-selector/custom-alarm-event-form/custom-alarm-event-form.component.d.ts +1 -1
  20. package/alarm-event-selector/custom-alarm-event-form/custom-alarm-event-form.component.d.ts.map +1 -1
  21. package/alarm-event-selector/pipes/includes-alarm.pipe.d.ts +1 -1
  22. package/alarm-event-selector/pipes/includes-alarm.pipe.d.ts.map +1 -1
  23. package/alarms/alarm-details.component.d.ts +1 -1
  24. package/alarms/alarm-details.component.d.ts.map +1 -1
  25. package/alarms/alarm-empty.component.d.ts +1 -1
  26. package/alarms/alarm-empty.component.d.ts.map +1 -1
  27. package/alarms/alarm-info.component.d.ts +1 -1
  28. package/alarms/alarm-info.component.d.ts.map +1 -1
  29. package/alarms/alarm-severities-to-title.pipe.d.ts +1 -1
  30. package/alarms/alarm-severities-to-title.pipe.d.ts.map +1 -1
  31. package/alarms/alarm-severity-to-label.pipe.d.ts +1 -1
  32. package/alarms/alarm-severity-to-label.pipe.d.ts.map +1 -1
  33. package/alarms/alarm-status-to-icon.pipe.d.ts +1 -1
  34. package/alarms/alarm-status-to-icon.pipe.d.ts.map +1 -1
  35. package/alarms/alarm-status-to-label.pipe.d.ts +1 -1
  36. package/alarms/alarm-status-to-label.pipe.d.ts.map +1 -1
  37. package/alarms/alarms-date-filter.component.d.ts +1 -1
  38. package/alarms/alarms-date-filter.component.d.ts.map +1 -1
  39. package/alarms/alarms-filter.component.d.ts +1 -1
  40. package/alarms/alarms-filter.component.d.ts.map +1 -1
  41. package/alarms/alarms-icon.component.d.ts +1 -1
  42. package/alarms/alarms-icon.component.d.ts.map +1 -1
  43. package/alarms/alarms-interval-refresh.component.d.ts +1 -1
  44. package/alarms/alarms-interval-refresh.component.d.ts.map +1 -1
  45. package/alarms/alarms-list.component.d.ts +1 -1
  46. package/alarms/alarms-list.component.d.ts.map +1 -1
  47. package/alarms/alarms-type-filter.component.d.ts +1 -1
  48. package/alarms/alarms-type-filter.component.d.ts.map +1 -1
  49. package/alarms/alarms.component.d.ts +1 -1
  50. package/alarms/alarms.component.d.ts.map +1 -1
  51. package/alarms/alarms.helper.d.ts.map +1 -1
  52. package/alarms/alarms.module.d.ts +27 -27
  53. package/alarms/alarms.module.d.ts.map +1 -1
  54. package/alarms/audit-changes-message.pipe.d.ts +1 -1
  55. package/alarms/audit-changes-message.pipe.d.ts.map +1 -1
  56. package/api/api.service.d.ts +8 -0
  57. package/api/api.service.d.ts.map +1 -1
  58. package/app-logs/app-logs-auto-refresh.component.d.ts +1 -1
  59. package/app-logs/app-logs-auto-refresh.component.d.ts.map +1 -1
  60. package/app-logs/app-logs-auto-refresh.module.d.ts +4 -4
  61. package/app-logs/app-logs-auto-refresh.module.d.ts.map +1 -1
  62. package/assets-navigator/asset-selector/asset-selector-node.component.d.ts +1 -1
  63. package/assets-navigator/asset-selector/asset-selector-node.component.d.ts.map +1 -1
  64. package/assets-navigator/asset-selector/asset-selector.component.d.ts +12 -1
  65. package/assets-navigator/asset-selector/asset-selector.component.d.ts.map +1 -1
  66. package/assets-navigator/asset-selector/asset-selector.module.d.ts +8 -8
  67. package/assets-navigator/asset-selector/asset-selector.module.d.ts.map +1 -1
  68. package/assets-navigator/asset-selector/miller-view.component.d.ts +1 -1
  69. package/assets-navigator/asset-selector/miller-view.component.d.ts.map +1 -1
  70. package/auth-configuration/basic-settings/auth-configuration.component.d.ts +1 -1
  71. package/auth-configuration/basic-settings/auth-configuration.component.d.ts.map +1 -1
  72. package/auth-configuration/basic-settings/basic-auth-settings.component.d.ts +1 -1
  73. package/auth-configuration/basic-settings/basic-auth-settings.component.d.ts.map +1 -1
  74. package/auth-configuration/basic-settings/basic-settings.module.d.ts +8 -8
  75. package/auth-configuration/basic-settings/basic-settings.module.d.ts.map +1 -1
  76. package/auth-configuration/basic-settings/login-settings.component.d.ts +2 -2
  77. package/auth-configuration/basic-settings/login-settings.component.d.ts.map +1 -1
  78. package/auth-configuration/basic-settings/session-configuration.component.d.ts +1 -1
  79. package/auth-configuration/basic-settings/session-configuration.component.d.ts.map +1 -1
  80. package/auth-configuration/basic-settings/tfa-settings.component.d.ts +1 -1
  81. package/auth-configuration/basic-settings/tfa-settings.component.d.ts.map +1 -1
  82. package/auth-configuration/sso-configuration/sso-configuration.component.d.ts +1 -1
  83. package/auth-configuration/sso-configuration/sso-configuration.component.d.ts.map +1 -1
  84. package/auth-configuration/sso-configuration/sso-configuration.module.d.ts +24 -24
  85. package/auth-configuration/sso-configuration/sso-configuration.module.d.ts.map +1 -1
  86. package/auth-configuration/sso-configuration/template-parts/access-mapping/access-mapping.component.d.ts +1 -1
  87. package/auth-configuration/sso-configuration/template-parts/access-mapping/access-mapping.component.d.ts.map +1 -1
  88. package/auth-configuration/sso-configuration/template-parts/access-mapping/child-predicates.component.d.ts +1 -1
  89. package/auth-configuration/sso-configuration/template-parts/access-mapping/child-predicates.component.d.ts.map +1 -1
  90. package/auth-configuration/sso-configuration/template-parts/access-mapping/dynamic-access-mapping.component.d.ts +1 -1
  91. package/auth-configuration/sso-configuration/template-parts/access-mapping/dynamic-access-mapping.component.d.ts.map +1 -1
  92. package/auth-configuration/sso-configuration/template-parts/access-mapping/inventory-roles-mapping.component.d.ts +1 -1
  93. package/auth-configuration/sso-configuration/template-parts/access-mapping/inventory-roles-mapping.component.d.ts.map +1 -1
  94. package/auth-configuration/sso-configuration/template-parts/access-mapping/inventory-roles-modal.component.d.ts +1 -1
  95. package/auth-configuration/sso-configuration/template-parts/access-mapping/inventory-roles-modal.component.d.ts.map +1 -1
  96. package/auth-configuration/sso-configuration/template-parts/basic-configuration.component.d.ts +1 -1
  97. package/auth-configuration/sso-configuration/template-parts/basic-configuration.component.d.ts.map +1 -1
  98. package/auth-configuration/sso-configuration/template-parts/external-token-config.component.d.ts +1 -1
  99. package/auth-configuration/sso-configuration/template-parts/external-token-config.component.d.ts.map +1 -1
  100. package/auth-configuration/sso-configuration/template-parts/logout-configuration.component.d.ts +1 -1
  101. package/auth-configuration/sso-configuration/template-parts/logout-configuration.component.d.ts.map +1 -1
  102. package/auth-configuration/sso-configuration/template-parts/request-configuration.component.d.ts +1 -1
  103. package/auth-configuration/sso-configuration/template-parts/request-configuration.component.d.ts.map +1 -1
  104. package/auth-configuration/sso-configuration/template-parts/signature-configuration.component.d.ts +1 -1
  105. package/auth-configuration/sso-configuration/template-parts/signature-configuration.component.d.ts.map +1 -1
  106. package/auth-configuration/sso-configuration/template-parts/user-data-mapping.component.d.ts +1 -1
  107. package/auth-configuration/sso-configuration/template-parts/user-data-mapping.component.d.ts.map +1 -1
  108. package/auth-configuration/sso-configuration/template-parts/user-id-configuration.component.d.ts +1 -1
  109. package/auth-configuration/sso-configuration/template-parts/user-id-configuration.component.d.ts.map +1 -1
  110. package/auth-configuration/sso-configuration/templates/aad-template.component.d.ts +1 -1
  111. package/auth-configuration/sso-configuration/templates/aad-template.component.d.ts.map +1 -1
  112. package/auth-configuration/sso-configuration/templates/custom-template.component.d.ts +1 -1
  113. package/auth-configuration/sso-configuration/templates/custom-template.component.d.ts.map +1 -1
  114. package/auth-configuration/sso-configuration/templates/key-cloak-template.component.d.ts +1 -1
  115. package/auth-configuration/sso-configuration/templates/key-cloak-template.component.d.ts.map +1 -1
  116. package/auth-configuration/sso-configuration/templates/template.component.d.ts +1 -1
  117. package/bookmarks/bookmarks.component.d.ts +1 -1
  118. package/bookmarks/bookmarks.component.d.ts.map +1 -1
  119. package/bookmarks/bookmarks.module.d.ts +7 -7
  120. package/bookmarks/bookmarks.module.d.ts.map +1 -1
  121. package/bookmarks/edit-bookmarks/edit-bookmarks.component.d.ts +1 -1
  122. package/bookmarks/edit-bookmarks/edit-bookmarks.component.d.ts.map +1 -1
  123. package/child-devices/child-devices.component.d.ts +1 -1
  124. package/child-devices/child-devices.component.d.ts.map +1 -1
  125. package/child-devices/child-devices.module.d.ts +5 -5
  126. package/child-devices/child-devices.module.d.ts.map +1 -1
  127. package/cockpit-config/cockpit-config.module.d.ts +17 -17
  128. package/cockpit-config/cockpit-config.module.d.ts.map +1 -1
  129. package/cockpit-config/cockpit-configuration.component.d.ts +1 -1
  130. package/cockpit-config/cockpit-configuration.component.d.ts.map +1 -1
  131. package/cockpit-config/feature-config.component.d.ts +1 -1
  132. package/cockpit-config/feature-config.component.d.ts.map +1 -1
  133. package/cockpit-config/home-dashboard-config.component.d.ts +1 -1
  134. package/cockpit-config/home-dashboard-config.component.d.ts.map +1 -1
  135. package/cockpit-config/misc-config.component.d.ts +1 -1
  136. package/cockpit-config/misc-config.component.d.ts.map +1 -1
  137. package/cockpit-config/root-node-config.component.d.ts +1 -1
  138. package/cockpit-config/root-node-config.component.d.ts.map +1 -1
  139. package/cockpit-config/setup/cockpit-setup-step1.component.d.ts +1 -1
  140. package/cockpit-config/setup/cockpit-setup-step1.component.d.ts.map +1 -1
  141. package/cockpit-config/setup/cockpit-setup-step2.component.d.ts +1 -1
  142. package/cockpit-config/setup/cockpit-setup-step2.component.d.ts.map +1 -1
  143. package/cockpit-config/setup/cockpit-setup-step3.component.d.ts +1 -1
  144. package/cockpit-config/setup/cockpit-setup-step3.component.d.ts.map +1 -1
  145. package/cockpit-config/setup/cockpit-setup-step4.component.d.ts +1 -1
  146. package/cockpit-config/setup/cockpit-setup-step4.component.d.ts.map +1 -1
  147. package/cockpit-config/setup/cockpit-setup-stepper-buttons.component.d.ts +1 -1
  148. package/cockpit-config/setup/cockpit-setup-stepper-buttons.component.d.ts.map +1 -1
  149. package/context-dashboard/add-dashboard.component.d.ts +1 -1
  150. package/context-dashboard/add-dashboard.component.d.ts.map +1 -1
  151. package/context-dashboard/context-dashboard.component.d.ts +2 -1
  152. package/context-dashboard/context-dashboard.component.d.ts.map +1 -1
  153. package/context-dashboard/context-dashboard.model.d.ts +0 -1
  154. package/context-dashboard/context-dashboard.model.d.ts.map +1 -1
  155. package/context-dashboard/context-dashboard.module.d.ts +26 -19
  156. package/context-dashboard/context-dashboard.module.d.ts.map +1 -1
  157. package/context-dashboard/context-dashboard.service.d.ts +6 -1
  158. package/context-dashboard/context-dashboard.service.d.ts.map +1 -1
  159. package/context-dashboard/dashboard-detail.component.d.ts +2 -2
  160. package/context-dashboard/dashboard-detail.component.d.ts.map +1 -1
  161. package/context-dashboard/device-info-dashboard/device-info-dashboard.component.d.ts +1 -1
  162. package/context-dashboard/device-info-dashboard/device-info-dashboard.component.d.ts.map +1 -1
  163. package/context-dashboard/device-info-dashboard/device-info-dashboard.module.d.ts +5 -5
  164. package/context-dashboard/device-info-dashboard/device-info-dashboard.module.d.ts.map +1 -1
  165. package/context-dashboard/device-management-home-dashboard/device-management-home-dashboard.component.d.ts +1 -1
  166. package/context-dashboard/device-management-home-dashboard/device-management-home-dashboard.component.d.ts.map +1 -1
  167. package/context-dashboard/device-management-home-dashboard/device-management-home-dashboard.module.d.ts +5 -5
  168. package/context-dashboard/device-management-home-dashboard/device-management-home-dashboard.module.d.ts.map +1 -1
  169. package/context-dashboard/paste-dashboard-action.component.d.ts +1 -1
  170. package/context-dashboard/paste-dashboard-action.component.d.ts.map +1 -1
  171. package/context-dashboard/widget-config.component.d.ts +1 -1
  172. package/context-dashboard/widget-config.component.d.ts.map +1 -1
  173. package/context-dashboard/widget-config.service.d.ts +1 -1
  174. package/core/alert/alert.service.d.ts +14 -5
  175. package/core/alert/alert.service.d.ts.map +1 -1
  176. package/core/asset-property/asset-property.model.d.ts +2 -0
  177. package/core/asset-property/asset-property.model.d.ts.map +1 -1
  178. package/core/authentication/authentication.module.d.ts.map +1 -1
  179. package/core/bottom-drawer/bottom-drawer.component.d.ts +3 -0
  180. package/core/bottom-drawer/bottom-drawer.component.d.ts.map +1 -1
  181. package/core/breadcrumb/breadcrumb.module.d.ts +3 -3
  182. package/core/common/ApplicationOptions.d.ts +14 -12
  183. package/core/common/ApplicationOptions.d.ts.map +1 -1
  184. package/core/common/date.pipe.d.ts +1 -1
  185. package/core/common/forOf.directive.d.ts +16 -16
  186. package/core/common/forOf.directive.d.ts.map +1 -1
  187. package/core/common/humanize-app-name.pipe.d.ts +7 -0
  188. package/core/common/humanize-app-name.pipe.d.ts.map +1 -1
  189. package/core/common/humanize.pipe.d.ts +7 -0
  190. package/core/common/humanize.pipe.d.ts.map +1 -1
  191. package/core/common/icon.directive.d.ts +19 -0
  192. package/core/common/icon.directive.d.ts.map +1 -1
  193. package/core/common/markdown-to-html.pipe.d.ts +8 -0
  194. package/core/common/markdown-to-html.pipe.d.ts.map +1 -1
  195. package/core/common/options.service.d.ts +5 -5
  196. package/core/common/outlet.directive.d.ts +4 -6
  197. package/core/common/outlet.directive.d.ts.map +1 -1
  198. package/core/common/permissions.service.d.ts +12 -12
  199. package/core/common/service-registry.service.d.ts +2 -1
  200. package/core/common/service-registry.service.d.ts.map +1 -1
  201. package/core/common/user-name-initials.pipe.d.ts +7 -0
  202. package/core/common/user-name-initials.pipe.d.ts.map +1 -1
  203. package/core/common/user-preferences/user-preferences.service.d.ts +1 -1
  204. package/core/countdown-interval/countdown-interval.component.d.ts +7 -0
  205. package/core/countdown-interval/countdown-interval.component.d.ts.map +1 -1
  206. package/core/dashboard/widget-auto-refresh-context/auto-refresh-control.component.d.ts.map +1 -1
  207. package/core/date-time-picker/date-time-picker.component.d.ts +20 -0
  208. package/core/date-time-picker/date-time-picker.component.d.ts.map +1 -1
  209. package/core/device-status/device-status.component.d.ts +3 -0
  210. package/core/device-status/device-status.component.d.ts.map +1 -1
  211. package/core/drop-area/drop-area.component.d.ts +2 -0
  212. package/core/drop-area/drop-area.component.d.ts.map +1 -1
  213. package/core/dynamic-forms/file/file.type.component.d.ts.map +1 -1
  214. package/core/header/header.model.d.ts +3 -2
  215. package/core/header/header.model.d.ts.map +1 -1
  216. package/core/header/title/title.component.d.ts +2 -0
  217. package/core/header/title/title.component.d.ts.map +1 -1
  218. package/core/i18n/c8y-translate.directive.d.ts +2 -2
  219. package/core/list-display-switch/list-display-switch.component.d.ts +9 -0
  220. package/core/list-display-switch/list-display-switch.component.d.ts.map +1 -1
  221. package/core/modal/modal.module.d.ts.map +1 -1
  222. package/core/plugins/plugins.module.d.ts.map +1 -1
  223. package/core/plugins/plugins.service.d.ts +1 -2
  224. package/core/plugins/plugins.service.d.ts.map +1 -1
  225. package/core/preview-feature/preview-feature.service.d.ts +1 -0
  226. package/core/preview-feature/preview-feature.service.d.ts.map +1 -1
  227. package/core/range-display/range-display.component.d.ts +11 -0
  228. package/core/range-display/range-display.component.d.ts.map +1 -1
  229. package/core/realtime/realtime.service.d.ts +4 -4
  230. package/core/select/select.component.d.ts.map +1 -1
  231. package/dashboard-manager/dashboard-manager.module.d.ts +8 -8
  232. package/dashboard-manager/dashboard-manager.module.d.ts.map +1 -1
  233. package/dashboard-manager/type-dashboard-target-assets-grid/type-dashboard-target-assets-grid.component.d.ts +1 -1
  234. package/dashboard-manager/type-dashboard-target-assets-grid/type-dashboard-target-assets-grid.component.d.ts.map +1 -1
  235. package/dashboard-manager/type-dashboard-target-assets-modal/type-dashboard-target-assets-modal.component.d.ts +1 -1
  236. package/dashboard-manager/type-dashboard-target-assets-modal/type-dashboard-target-assets-modal.component.d.ts.map +1 -1
  237. package/dashboard-manager/type-dashboards-list/type-dashboards-list.component.d.ts +1 -1
  238. package/dashboard-manager/type-dashboards-list/type-dashboards-list.component.d.ts.map +1 -1
  239. package/datapoint-selector/datapoint-attributes-form/datapoint-attributes-form.component.d.ts +1 -1
  240. package/datapoint-selector/datapoint-attributes-form/datapoint-attributes-form.component.d.ts.map +1 -1
  241. package/datapoint-selector/datapoint-selection-list/datapoint-selection-list.component.d.ts +10 -1
  242. package/datapoint-selector/datapoint-selection-list/datapoint-selection-list.component.d.ts.map +1 -1
  243. package/datapoint-selector/datapoint-selector-list-item/datapoint-selector-list-item.component.d.ts +1 -1
  244. package/datapoint-selector/datapoint-selector-list-item/datapoint-selector-list-item.component.d.ts.map +1 -1
  245. package/datapoint-selector/datapoint-selector-modal/datapoint-selector-modal.component.d.ts +1 -1
  246. package/datapoint-selector/datapoint-selector-modal/datapoint-selector-modal.component.d.ts.map +1 -1
  247. package/datapoint-selector/datapoint-selector.component.d.ts +1 -1
  248. package/datapoint-selector/datapoint-selector.component.d.ts.map +1 -1
  249. package/datapoint-selector/datapoint-selector.module.d.ts +18 -18
  250. package/datapoint-selector/datapoint-selector.module.d.ts.map +1 -1
  251. package/datapoint-selector/datapoint-template-popover/datapoint-template-popover.component.d.ts +1 -1
  252. package/datapoint-selector/datapoint-template-popover/datapoint-template-popover.component.d.ts.map +1 -1
  253. package/datapoint-selector/pipes/datapoint-label.pipe.d.ts +1 -1
  254. package/datapoint-selector/pipes/datapoint-label.pipe.d.ts.map +1 -1
  255. package/datapoint-selector/pipes/filter-datapoints.pipe.d.ts +1 -1
  256. package/datapoint-selector/pipes/filter-datapoints.pipe.d.ts.map +1 -1
  257. package/datapoint-selector/pipes/includes-datapoint.pipe.d.ts +1 -1
  258. package/datapoint-selector/pipes/includes-datapoint.pipe.d.ts.map +1 -1
  259. package/datapoints-export-selector/datapoints-export-selector.component.d.ts +7 -0
  260. package/datapoints-export-selector/datapoints-export-selector.component.d.ts.map +1 -1
  261. package/default-subscriptions/default-subscriptions.component.d.ts +1 -1
  262. package/default-subscriptions/default-subscriptions.component.d.ts.map +1 -1
  263. package/default-subscriptions/default-subscriptions.module.d.ts +4 -4
  264. package/default-subscriptions/default-subscriptions.module.d.ts.map +1 -1
  265. package/device-grid/columns/alarms.cell-renderer.component.d.ts +1 -1
  266. package/device-grid/columns/alarms.cell-renderer.component.d.ts.map +1 -1
  267. package/device-grid/columns/alarms.header-cell-renderer.component.d.ts +1 -1
  268. package/device-grid/columns/alarms.header-cell-renderer.component.d.ts.map +1 -1
  269. package/device-grid/columns/group.cell-renderer.component.d.ts +1 -1
  270. package/device-grid/columns/group.cell-renderer.component.d.ts.map +1 -1
  271. package/device-grid/columns/group.filtering-form-renderer.component.d.ts +1 -1
  272. package/device-grid/columns/group.filtering-form-renderer.component.d.ts.map +1 -1
  273. package/device-grid/columns/model.cell-renderer.component.d.ts +1 -1
  274. package/device-grid/columns/model.cell-renderer.component.d.ts.map +1 -1
  275. package/device-grid/columns/name.cell-renderer.component.d.ts +1 -1
  276. package/device-grid/columns/name.cell-renderer.component.d.ts.map +1 -1
  277. package/device-grid/columns/registration-date.cell-renderer.component.d.ts +1 -1
  278. package/device-grid/columns/registration-date.cell-renderer.component.d.ts.map +1 -1
  279. package/device-grid/columns/serial-number.cell-renderer.component.d.ts +1 -1
  280. package/device-grid/columns/serial-number.cell-renderer.component.d.ts.map +1 -1
  281. package/device-grid/columns/status.cell-renderer.component.d.ts +1 -1
  282. package/device-grid/columns/status.cell-renderer.component.d.ts.map +1 -1
  283. package/device-grid/device-grid.component.d.ts +1 -1
  284. package/device-grid/device-grid.component.d.ts.map +1 -1
  285. package/device-grid/device-grid.module.d.ts +15 -15
  286. package/device-grid/device-grid.module.d.ts.map +1 -1
  287. package/device-list/add-smart-group.component.d.ts +1 -1
  288. package/device-list/add-smart-group.component.d.ts.map +1 -1
  289. package/device-list/device-list.component.d.ts +1 -1
  290. package/device-list/device-list.component.d.ts.map +1 -1
  291. package/device-list/device-list.module.d.ts +8 -8
  292. package/device-list/device-list.module.d.ts.map +1 -1
  293. package/device-list/devices.breadcrumb-factory.d.ts +1 -0
  294. package/device-list/devices.breadcrumb-factory.d.ts.map +1 -1
  295. package/device-parameters/device-parameter-details.component.d.ts +22 -0
  296. package/device-parameters/device-parameter-details.component.d.ts.map +1 -0
  297. package/device-parameters/device-parameter-value.component.d.ts +12 -0
  298. package/device-parameters/device-parameter-value.component.d.ts.map +1 -0
  299. package/device-parameters/device-parameters-list.component.d.ts +2 -1
  300. package/device-parameters/device-parameters-list.component.d.ts.map +1 -1
  301. package/device-parameters/index.d.ts +5 -0
  302. package/device-parameters/index.d.ts.map +1 -1
  303. package/device-parameters/parameter-type-cell-renderer.components.d.ts +8 -0
  304. package/device-parameters/parameter-type-cell-renderer.components.d.ts.map +1 -0
  305. package/device-profile/add-device-profile.component.d.ts +1 -1
  306. package/device-profile/add-device-profile.component.d.ts.map +1 -1
  307. package/device-profile/device-profile-list.component.d.ts +1 -1
  308. package/device-profile/device-profile-list.component.d.ts.map +1 -1
  309. package/device-profile/device-profile.component.d.ts +1 -1
  310. package/device-profile/device-profile.component.d.ts.map +1 -1
  311. package/device-profile/device-profile.module.d.ts +17 -17
  312. package/device-profile/device-profile.module.d.ts.map +1 -1
  313. package/device-profile/device-tab-profile/device-profile-item-list.component.d.ts +1 -1
  314. package/device-profile/device-tab-profile/device-profile-item-list.component.d.ts.map +1 -1
  315. package/device-profile/device-tab-profile/device-tab-profile-detail.component.d.ts +1 -1
  316. package/device-profile/device-tab-profile/device-tab-profile-detail.component.d.ts.map +1 -1
  317. package/device-profile/device-tab-profile/device-tab-profile.component.d.ts +1 -1
  318. package/device-profile/device-tab-profile/device-tab-profile.component.d.ts.map +1 -1
  319. package/device-profile/select-configuration-modal.component.d.ts +1 -1
  320. package/device-profile/select-configuration-modal.component.d.ts.map +1 -1
  321. package/device-protocols/device-protocols.module.d.ts +1 -1
  322. package/device-protocols/device-type-detail.component.d.ts +1 -1
  323. package/device-protocols/device-type-detail.component.d.ts.map +1 -1
  324. package/device-protocols/device-type-detail.directive.d.ts +1 -1
  325. package/device-protocols/device-type-detail.directive.d.ts.map +1 -1
  326. package/device-provisioned-certificates/device-provisioned-certificates.module.d.ts +7 -7
  327. package/device-provisioned-certificates/device-provisioned-certificates.module.d.ts.map +1 -1
  328. package/device-provisioned-certificates/device-tab-provisioned-certificates.component.d.ts +5 -3
  329. package/device-provisioned-certificates/device-tab-provisioned-certificates.component.d.ts.map +1 -1
  330. package/device-shell/command-templates/command-templates.component.d.ts +1 -1
  331. package/device-shell/command-templates/command-templates.component.d.ts.map +1 -1
  332. package/device-shell/command-templates/command-templates.directive.d.ts +1 -1
  333. package/device-shell/command-templates/command-templates.directive.d.ts.map +1 -1
  334. package/device-shell/command-templates/command-templates.module.d.ts +1 -1
  335. package/device-shell/shell/shell.component.d.ts +1 -1
  336. package/device-shell/shell/shell.component.d.ts.map +1 -1
  337. package/device-shell/shell/shell.module.d.ts +7 -7
  338. package/diagnostics/diagnostics.component.d.ts +1 -1
  339. package/diagnostics/diagnostics.component.d.ts.map +1 -1
  340. package/diagnostics/diagnostics.module.d.ts +8 -8
  341. package/diagnostics/diagnostics.module.d.ts.map +1 -1
  342. package/ecosystem/activity-log/activity-log.component.d.ts +1 -1
  343. package/ecosystem/activity-log/activity-log.component.d.ts.map +1 -1
  344. package/ecosystem/application-plugins/appState.pipe.d.ts +1 -1
  345. package/ecosystem/application-plugins/appState.pipe.d.ts.map +1 -1
  346. package/ecosystem/application-plugins/application-plugin-readme.component.d.ts +1 -1
  347. package/ecosystem/application-plugins/application-plugin-readme.component.d.ts.map +1 -1
  348. package/ecosystem/application-plugins/application-plugins.component.d.ts +1 -1
  349. package/ecosystem/application-plugins/application-plugins.component.d.ts.map +1 -1
  350. package/ecosystem/application-plugins/application-plugins.module.d.ts +14 -14
  351. package/ecosystem/application-plugins/application-plugins.module.d.ts.map +1 -1
  352. package/ecosystem/application-plugins/apps-to-update-remotes-select.component.d.ts +2 -2
  353. package/ecosystem/application-plugins/apps-to-update-remotes-select.component.d.ts.map +1 -1
  354. package/ecosystem/application-plugins/install-plugin.component.d.ts +1 -1
  355. package/ecosystem/application-plugins/install-plugin.component.d.ts.map +1 -1
  356. package/ecosystem/application-plugins/label-cell-renderer.component.d.ts +1 -1
  357. package/ecosystem/application-plugins/label-cell-renderer.component.d.ts.map +1 -1
  358. package/ecosystem/application-plugins/only-latest-filter/only-latest-filter.component.d.ts +1 -1
  359. package/ecosystem/application-plugins/only-latest-filter/only-latest-filter.component.d.ts.map +1 -1
  360. package/ecosystem/application-plugins/orphaned-status-cell-renderer.component.d.ts +1 -1
  361. package/ecosystem/application-plugins/orphaned-status-cell-renderer.component.d.ts.map +1 -1
  362. package/ecosystem/application-plugins/plugin-list-item.component.d.ts +1 -1
  363. package/ecosystem/application-plugins/plugin-list-item.component.d.ts.map +1 -1
  364. package/ecosystem/application-plugins/plugin-list.component.d.ts +1 -1
  365. package/ecosystem/application-plugins/plugin-list.component.d.ts.map +1 -1
  366. package/ecosystem/application-plugins/update-plugin-of-app/update-plugin-of-app.component.d.ts +1 -1
  367. package/ecosystem/application-plugins/update-plugin-of-app/update-plugin-of-app.component.d.ts.map +1 -1
  368. package/ecosystem/application-properties/application-properties.component.d.ts +1 -1
  369. package/ecosystem/application-properties/application-properties.component.d.ts.map +1 -1
  370. package/ecosystem/application-properties/subscription-modal/subscription-modal.component.d.ts +1 -1
  371. package/ecosystem/application-properties/subscription-modal/subscription-modal.component.d.ts.map +1 -1
  372. package/ecosystem/application-properties/update-application-modal/update-application-modal.component.d.ts +1 -1
  373. package/ecosystem/application-properties/update-application-modal/update-application-modal.component.d.ts.map +1 -1
  374. package/ecosystem/applications/add-external-applicaiton/add-external-application.component.d.ts +1 -1
  375. package/ecosystem/applications/add-external-applicaiton/add-external-application.component.d.ts.map +1 -1
  376. package/ecosystem/applications/add-web-application/add-web-application.component.d.ts +1 -1
  377. package/ecosystem/applications/add-web-application/add-web-application.component.d.ts.map +1 -1
  378. package/ecosystem/applications/application-list/application-list.component.d.ts +1 -1
  379. package/ecosystem/applications/application-list/application-list.component.d.ts.map +1 -1
  380. package/ecosystem/applications/install-from-package/install-from-package.component.d.ts +2 -3
  381. package/ecosystem/applications/install-from-package/install-from-package.component.d.ts.map +1 -1
  382. package/ecosystem/archived-confirm/archived-confirm-modal.component.d.ts +1 -1
  383. package/ecosystem/archived-confirm/archived-confirm-modal.component.d.ts.map +1 -1
  384. package/ecosystem/archived-confirm/archived-confirm.module.d.ts +4 -4
  385. package/ecosystem/archived-confirm/archived-confirm.module.d.ts.map +1 -1
  386. package/ecosystem/ecosystem.module.d.ts +34 -34
  387. package/ecosystem/ecosystem.module.d.ts.map +1 -1
  388. package/ecosystem/features/feature-list.component.d.ts +1 -1
  389. package/ecosystem/features/feature-list.component.d.ts.map +1 -1
  390. package/ecosystem/license-confirm/license-confirm-modal.component.d.ts +1 -1
  391. package/ecosystem/license-confirm/license-confirm-modal.component.d.ts.map +1 -1
  392. package/ecosystem/license-confirm/license-confirm.module.d.ts +5 -5
  393. package/ecosystem/license-confirm/license-confirm.module.d.ts.map +1 -1
  394. package/ecosystem/license-confirm/license-view.component.d.ts +1 -1
  395. package/ecosystem/license-confirm/license-view.component.d.ts.map +1 -1
  396. package/ecosystem/microservices/add-microservice.component.d.ts +1 -1
  397. package/ecosystem/microservices/add-microservice.component.d.ts.map +1 -1
  398. package/ecosystem/microservices/microservice-list.component.d.ts +1 -1
  399. package/ecosystem/microservices/microservice-list.component.d.ts.map +1 -1
  400. package/ecosystem/packages/add-package.component.d.ts +1 -1
  401. package/ecosystem/packages/add-package.component.d.ts.map +1 -1
  402. package/ecosystem/packages/deploy-application/deploy-application.component.d.ts +1 -1
  403. package/ecosystem/packages/deploy-application/deploy-application.component.d.ts.map +1 -1
  404. package/ecosystem/packages/package-details/package-details.component.d.ts +1 -1
  405. package/ecosystem/packages/package-details/package-details.component.d.ts.map +1 -1
  406. package/ecosystem/packages/package-list/packages-list.component.d.ts +1 -1
  407. package/ecosystem/packages/package-list/packages-list.component.d.ts.map +1 -1
  408. package/ecosystem/packages/package-versions/package-contents/contents-apps/contents-apps.component.d.ts +1 -1
  409. package/ecosystem/packages/package-versions/package-contents/contents-apps/contents-apps.component.d.ts.map +1 -1
  410. package/ecosystem/packages/package-versions/package-contents/contents-plugins/contents-plugins.component.d.ts +1 -1
  411. package/ecosystem/packages/package-versions/package-contents/contents-plugins/contents-plugins.component.d.ts.map +1 -1
  412. package/ecosystem/packages/package-versions/package-contents/packages-contents.component.d.ts +1 -1
  413. package/ecosystem/packages/package-versions/package-contents/packages-contents.component.d.ts.map +1 -1
  414. package/ecosystem/packages/package-versions/package-versions-list/package-versions-list.component.d.ts +1 -1
  415. package/ecosystem/packages/package-versions/package-versions-list/package-versions-list.component.d.ts.map +1 -1
  416. package/ecosystem/packages/package-versions/packages-versions.component.d.ts +1 -1
  417. package/ecosystem/packages/package-versions/packages-versions.component.d.ts.map +1 -1
  418. package/ecosystem/shared/add-application.component.d.ts +1 -1
  419. package/ecosystem/shared/add-application.component.d.ts.map +1 -1
  420. package/ecosystem/shared/application-card.component.d.ts +1 -1
  421. package/ecosystem/shared/application-card.component.d.ts.map +1 -1
  422. package/ecosystem/shared/application-properties-form.component.d.ts +1 -1
  423. package/ecosystem/shared/application-properties-form.component.d.ts.map +1 -1
  424. package/ecosystem/shared/archived-filter/archived-filter.component.d.ts +1 -1
  425. package/ecosystem/shared/archived-filter/archived-filter.component.d.ts.map +1 -1
  426. package/ecosystem/shared/duplicate-application/duplicate-application-list/duplicate-application-list.component.d.ts +1 -1
  427. package/ecosystem/shared/duplicate-application/duplicate-application-list/duplicate-application-list.component.d.ts.map +1 -1
  428. package/ecosystem/shared/duplicate-application/duplicate-application-properties/duplicate-application-properties.component.d.ts +2 -2
  429. package/ecosystem/shared/duplicate-application/duplicate-application-properties/duplicate-application-properties.component.d.ts.map +1 -1
  430. package/ecosystem/shared/duplicate-application/duplicate-application.component.d.ts +1 -1
  431. package/ecosystem/shared/duplicate-application/duplicate-application.component.d.ts.map +1 -1
  432. package/ecosystem/shared/list-filters/list-filters.component.d.ts +1 -1
  433. package/ecosystem/shared/list-filters/list-filters.component.d.ts.map +1 -1
  434. package/ecosystem/shared/package-version-select/package-version-select.component.d.ts +1 -1
  435. package/ecosystem/shared/package-version-select/package-version-select.component.d.ts.map +1 -1
  436. package/ecosystem/shared/shared-ecosystem.module.d.ts +20 -20
  437. package/ecosystem/shared/shared-ecosystem.module.d.ts.map +1 -1
  438. package/ecosystem/shared/translate-package-label.pipe.d.ts +1 -1
  439. package/ecosystem/shared/translate-package-label.pipe.d.ts.map +1 -1
  440. package/ecosystem/shared/upload-archive.component.d.ts +1 -1
  441. package/ecosystem/shared/upload-archive.component.d.ts.map +1 -1
  442. package/events/c8y-ngx-components-events.d.ts.map +1 -0
  443. package/events/events-timeline/c8y-ngx-components-events-events-timeline.d.ts.map +1 -0
  444. package/events/events-timeline/events-timeline.component.d.ts +19 -0
  445. package/events/events-timeline/events-timeline.component.d.ts.map +1 -0
  446. package/events/events-timeline/index.d.ts +2 -0
  447. package/events/events-timeline/index.d.ts.map +1 -0
  448. package/events/events.model.d.ts +6 -0
  449. package/events/events.model.d.ts.map +1 -0
  450. package/events/events.service.d.ts +10 -0
  451. package/events/events.service.d.ts.map +1 -0
  452. package/events/index.d.ts +3 -0
  453. package/events/index.d.ts.map +1 -0
  454. package/fesm2022/c8y-ngx-components-actility-device-registration.mjs +36 -12
  455. package/fesm2022/c8y-ngx-components-actility-device-registration.mjs.map +1 -1
  456. package/fesm2022/c8y-ngx-components-alarm-event-selector.mjs +195 -107
  457. package/fesm2022/c8y-ngx-components-alarm-event-selector.mjs.map +1 -1
  458. package/fesm2022/c8y-ngx-components-alarms.mjs +238 -97
  459. package/fesm2022/c8y-ngx-components-alarms.mjs.map +1 -1
  460. package/fesm2022/c8y-ngx-components-api.mjs +8 -0
  461. package/fesm2022/c8y-ngx-components-api.mjs.map +1 -1
  462. package/fesm2022/c8y-ngx-components-app-logs.mjs +6 -8
  463. package/fesm2022/c8y-ngx-components-app-logs.mjs.map +1 -1
  464. package/fesm2022/c8y-ngx-components-assets-navigator.mjs +74 -26
  465. package/fesm2022/c8y-ngx-components-assets-navigator.mjs.map +1 -1
  466. package/fesm2022/c8y-ngx-components-auth-configuration.mjs +580 -368
  467. package/fesm2022/c8y-ngx-components-auth-configuration.mjs.map +1 -1
  468. package/fesm2022/c8y-ngx-components-bookmarks.mjs +36 -17
  469. package/fesm2022/c8y-ngx-components-bookmarks.mjs.map +1 -1
  470. package/fesm2022/c8y-ngx-components-child-devices.mjs +7 -9
  471. package/fesm2022/c8y-ngx-components-child-devices.mjs.map +1 -1
  472. package/fesm2022/c8y-ngx-components-cockpit-config.mjs +138 -67
  473. package/fesm2022/c8y-ngx-components-cockpit-config.mjs.map +1 -1
  474. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-appearance-settings.component-B7m2lsIe.mjs → c8y-ngx-components-context-dashboard-dashboard-appearance-settings.component-C-JLbcn5.mjs} +3 -3
  475. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-appearance-settings.component-B7m2lsIe.mjs.map → c8y-ngx-components-context-dashboard-dashboard-appearance-settings.component-C-JLbcn5.mjs.map} +1 -1
  476. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-general-settings.component-BCG_pjJz.mjs → c8y-ngx-components-context-dashboard-dashboard-general-settings.component-RXvOcs04.mjs} +5 -5
  477. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-general-settings.component-BCG_pjJz.mjs.map → c8y-ngx-components-context-dashboard-dashboard-general-settings.component-RXvOcs04.mjs.map} +1 -1
  478. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-version-history.component-DjCdFkJw.mjs → c8y-ngx-components-context-dashboard-dashboard-version-history.component-DmPIJGXO.mjs} +3 -3
  479. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-version-history.component-DjCdFkJw.mjs.map → c8y-ngx-components-context-dashboard-dashboard-version-history.component-DmPIJGXO.mjs.map} +1 -1
  480. package/fesm2022/c8y-ngx-components-context-dashboard.mjs +170 -94
  481. package/fesm2022/c8y-ngx-components-context-dashboard.mjs.map +1 -1
  482. package/fesm2022/c8y-ngx-components-dashboard-manager.mjs +44 -31
  483. package/fesm2022/c8y-ngx-components-dashboard-manager.mjs.map +1 -1
  484. package/fesm2022/c8y-ngx-components-datapoint-selector.mjs +132 -66
  485. package/fesm2022/c8y-ngx-components-datapoint-selector.mjs.map +1 -1
  486. package/fesm2022/c8y-ngx-components-datapoints-export-selector.mjs.map +1 -1
  487. package/fesm2022/c8y-ngx-components-default-subscriptions.mjs +32 -16
  488. package/fesm2022/c8y-ngx-components-default-subscriptions.mjs.map +1 -1
  489. package/fesm2022/c8y-ngx-components-device-grid.mjs +50 -45
  490. package/fesm2022/c8y-ngx-components-device-grid.mjs.map +1 -1
  491. package/fesm2022/c8y-ngx-components-device-list.mjs +59 -27
  492. package/fesm2022/c8y-ngx-components-device-list.mjs.map +1 -1
  493. package/fesm2022/c8y-ngx-components-device-parameters.mjs +110 -13
  494. package/fesm2022/c8y-ngx-components-device-parameters.mjs.map +1 -1
  495. package/fesm2022/c8y-ngx-components-device-profile.mjs +126 -49
  496. package/fesm2022/c8y-ngx-components-device-profile.mjs.map +1 -1
  497. package/fesm2022/c8y-ngx-components-device-protocols.mjs +6 -9
  498. package/fesm2022/c8y-ngx-components-device-protocols.mjs.map +1 -1
  499. package/fesm2022/c8y-ngx-components-device-provisioned-certificates.mjs +78 -18
  500. package/fesm2022/c8y-ngx-components-device-provisioned-certificates.mjs.map +1 -1
  501. package/fesm2022/c8y-ngx-components-device-shell.mjs +31 -22
  502. package/fesm2022/c8y-ngx-components-device-shell.mjs.map +1 -1
  503. package/fesm2022/c8y-ngx-components-diagnostics.mjs +36 -19
  504. package/fesm2022/c8y-ngx-components-diagnostics.mjs.map +1 -1
  505. package/fesm2022/c8y-ngx-components-ecosystem-application-plugins.mjs +155 -72
  506. package/fesm2022/c8y-ngx-components-ecosystem-application-plugins.mjs.map +1 -1
  507. package/fesm2022/c8y-ngx-components-ecosystem-archived-confirm.mjs +13 -7
  508. package/fesm2022/c8y-ngx-components-ecosystem-archived-confirm.mjs.map +1 -1
  509. package/fesm2022/c8y-ngx-components-ecosystem-license-confirm.mjs +43 -12
  510. package/fesm2022/c8y-ngx-components-ecosystem-license-confirm.mjs.map +1 -1
  511. package/fesm2022/c8y-ngx-components-ecosystem-shared.mjs +179 -80
  512. package/fesm2022/c8y-ngx-components-ecosystem-shared.mjs.map +1 -1
  513. package/fesm2022/c8y-ngx-components-ecosystem.mjs +353 -1316
  514. package/fesm2022/c8y-ngx-components-ecosystem.mjs.map +1 -1
  515. package/fesm2022/c8y-ngx-components-events-events-timeline.mjs +45 -0
  516. package/fesm2022/c8y-ngx-components-events-events-timeline.mjs.map +1 -0
  517. package/fesm2022/c8y-ngx-components-events.mjs +44 -0
  518. package/fesm2022/c8y-ngx-components-events.mjs.map +1 -0
  519. package/fesm2022/c8y-ngx-components-file-preview.mjs +17 -8
  520. package/fesm2022/c8y-ngx-components-file-preview.mjs.map +1 -1
  521. package/fesm2022/c8y-ngx-components-files-repository.mjs +55 -22
  522. package/fesm2022/c8y-ngx-components-files-repository.mjs.map +1 -1
  523. package/fesm2022/c8y-ngx-components-icon-selector.mjs +46 -28
  524. package/fesm2022/c8y-ngx-components-icon-selector.mjs.map +1 -1
  525. package/fesm2022/c8y-ngx-components-location.mjs +28 -15
  526. package/fesm2022/c8y-ngx-components-location.mjs.map +1 -1
  527. package/fesm2022/c8y-ngx-components-loriot-device-registration.mjs +36 -12
  528. package/fesm2022/c8y-ngx-components-loriot-device-registration.mjs.map +1 -1
  529. package/fesm2022/c8y-ngx-components-map.mjs +260 -28
  530. package/fesm2022/c8y-ngx-components-map.mjs.map +1 -1
  531. package/fesm2022/c8y-ngx-components-operations-bulk-operation-from-single.mjs +8 -14
  532. package/fesm2022/c8y-ngx-components-operations-bulk-operation-from-single.mjs.map +1 -1
  533. package/fesm2022/c8y-ngx-components-operations-bulk-operation-list-item.mjs +49 -49
  534. package/fesm2022/c8y-ngx-components-operations-bulk-operation-list-item.mjs.map +1 -1
  535. package/fesm2022/c8y-ngx-components-operations-bulk-operation-scheduler.mjs +27 -14
  536. package/fesm2022/c8y-ngx-components-operations-bulk-operation-scheduler.mjs.map +1 -1
  537. package/fesm2022/c8y-ngx-components-operations-bulk-operation-stepper.mjs +27 -33
  538. package/fesm2022/c8y-ngx-components-operations-bulk-operation-stepper.mjs.map +1 -1
  539. package/fesm2022/c8y-ngx-components-operations-bulk-operations-list.mjs +51 -39
  540. package/fesm2022/c8y-ngx-components-operations-bulk-operations-list.mjs.map +1 -1
  541. package/fesm2022/c8y-ngx-components-operations-bulk-operations-stepper-container.mjs +10 -8
  542. package/fesm2022/c8y-ngx-components-operations-bulk-operations-stepper-container.mjs.map +1 -1
  543. package/fesm2022/c8y-ngx-components-operations-create-bulk-operation-details.mjs +16 -11
  544. package/fesm2022/c8y-ngx-components-operations-create-bulk-operation-details.mjs.map +1 -1
  545. package/fesm2022/c8y-ngx-components-operations-device-selector.mjs +8 -11
  546. package/fesm2022/c8y-ngx-components-operations-device-selector.mjs.map +1 -1
  547. package/fesm2022/c8y-ngx-components-operations-operation-details.mjs +25 -21
  548. package/fesm2022/c8y-ngx-components-operations-operation-details.mjs.map +1 -1
  549. package/fesm2022/c8y-ngx-components-operations-operation-summary.mjs +7 -9
  550. package/fesm2022/c8y-ngx-components-operations-operation-summary.mjs.map +1 -1
  551. package/fesm2022/c8y-ngx-components-operations-operations-list-item-details.mjs +31 -31
  552. package/fesm2022/c8y-ngx-components-operations-operations-list-item-details.mjs.map +1 -1
  553. package/fesm2022/c8y-ngx-components-operations-operations-list.mjs +3 -3
  554. package/fesm2022/c8y-ngx-components-operations-operations-list.mjs.map +1 -1
  555. package/fesm2022/c8y-ngx-components-operations-operations-timeline.mjs +33 -13
  556. package/fesm2022/c8y-ngx-components-operations-operations-timeline.mjs.map +1 -1
  557. package/fesm2022/c8y-ngx-components-operations-status-filter.mjs +19 -13
  558. package/fesm2022/c8y-ngx-components-operations-status-filter.mjs.map +1 -1
  559. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs +40 -36
  560. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs.map +1 -1
  561. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs +60 -41
  562. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs.map +1 -1
  563. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-firmware.mjs +122 -109
  564. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-firmware.mjs.map +1 -1
  565. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-software.mjs +66 -41
  566. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-software.mjs.map +1 -1
  567. package/fesm2022/c8y-ngx-components-operations-stepper-frames.mjs +11 -16
  568. package/fesm2022/c8y-ngx-components-operations-stepper-frames.mjs.map +1 -1
  569. package/fesm2022/c8y-ngx-components-platform-configuration.mjs +24 -13
  570. package/fesm2022/c8y-ngx-components-platform-configuration.mjs.map +1 -1
  571. package/fesm2022/c8y-ngx-components-protocol-lpwan.mjs +133 -26
  572. package/fesm2022/c8y-ngx-components-protocol-lpwan.mjs.map +1 -1
  573. package/fesm2022/c8y-ngx-components-protocol-opcua.mjs +212 -83
  574. package/fesm2022/c8y-ngx-components-protocol-opcua.mjs.map +1 -1
  575. package/fesm2022/c8y-ngx-components-register-device.mjs +314 -249
  576. package/fesm2022/c8y-ngx-components-register-device.mjs.map +1 -1
  577. package/fesm2022/c8y-ngx-components-report-dashboard.mjs +41 -17
  578. package/fesm2022/c8y-ngx-components-report-dashboard.mjs.map +1 -1
  579. package/fesm2022/c8y-ngx-components-reports.mjs +61 -21
  580. package/fesm2022/c8y-ngx-components-reports.mjs.map +1 -1
  581. package/fesm2022/c8y-ngx-components-repository-configuration.mjs +113 -54
  582. package/fesm2022/c8y-ngx-components-repository-configuration.mjs.map +1 -1
  583. package/fesm2022/c8y-ngx-components-repository-firmware.mjs +130 -62
  584. package/fesm2022/c8y-ngx-components-repository-firmware.mjs.map +1 -1
  585. package/fesm2022/c8y-ngx-components-repository-shared.mjs +37 -28
  586. package/fesm2022/c8y-ngx-components-repository-shared.mjs.map +1 -1
  587. package/fesm2022/c8y-ngx-components-repository-software.mjs +156 -83
  588. package/fesm2022/c8y-ngx-components-repository-software.mjs.map +1 -1
  589. package/fesm2022/c8y-ngx-components-search.mjs +34 -21
  590. package/fesm2022/c8y-ngx-components-search.mjs.map +1 -1
  591. package/fesm2022/c8y-ngx-components-services.mjs +32 -19
  592. package/fesm2022/c8y-ngx-components-services.mjs.map +1 -1
  593. package/fesm2022/c8y-ngx-components-sigfox-device-registration.mjs +43 -19
  594. package/fesm2022/c8y-ngx-components-sigfox-device-registration.mjs.map +1 -1
  595. package/fesm2022/c8y-ngx-components-sub-assets.mjs +207 -72
  596. package/fesm2022/c8y-ngx-components-sub-assets.mjs.map +1 -1
  597. package/fesm2022/c8y-ngx-components-tenants.mjs +96 -39
  598. package/fesm2022/c8y-ngx-components-tenants.mjs.map +1 -1
  599. package/fesm2022/c8y-ngx-components-trusted-certificates.mjs +224 -67
  600. package/fesm2022/c8y-ngx-components-trusted-certificates.mjs.map +1 -1
  601. package/fesm2022/c8y-ngx-components-upgrade-upgraded-services.mjs +16 -3
  602. package/fesm2022/c8y-ngx-components-upgrade-upgraded-services.mjs.map +1 -1
  603. package/fesm2022/c8y-ngx-components-upgrade.mjs +20 -24
  604. package/fesm2022/c8y-ngx-components-upgrade.mjs.map +1 -1
  605. package/fesm2022/c8y-ngx-components-user-roles.mjs +24 -14
  606. package/fesm2022/c8y-ngx-components-user-roles.mjs.map +1 -1
  607. package/fesm2022/c8y-ngx-components-widgets-implementations-alarms.mjs +76 -50
  608. package/fesm2022/c8y-ngx-components-widgets-implementations-alarms.mjs.map +1 -1
  609. package/fesm2022/c8y-ngx-components-widgets-implementations-device-management-welcome.mjs +15 -8
  610. package/fesm2022/c8y-ngx-components-widgets-implementations-device-management-welcome.mjs.map +1 -1
  611. package/fesm2022/c8y-ngx-components-widgets-implementations-map.mjs +2 -2
  612. package/fesm2022/c8y-ngx-components-widgets-implementations-map.mjs.map +1 -1
  613. package/fesm2022/c8y-ngx-components.mjs +640 -549
  614. package/fesm2022/c8y-ngx-components.mjs.map +1 -1
  615. package/file-preview/file-preview.component.d.ts +1 -1
  616. package/file-preview/file-preview.component.d.ts.map +1 -1
  617. package/file-preview/file-preview.module.d.ts +3 -3
  618. package/file-preview/file-preview.module.d.ts.map +1 -1
  619. package/files-repository/files-repository-upload.component.d.ts +1 -1
  620. package/files-repository/files-repository-upload.component.d.ts.map +1 -1
  621. package/files-repository/files-repository.component.d.ts +1 -1
  622. package/files-repository/files-repository.component.d.ts.map +1 -1
  623. package/files-repository/files-repository.module.d.ts +6 -6
  624. package/files-repository/files-repository.module.d.ts.map +1 -1
  625. package/icon-selector/icon-name.pipe.d.ts +1 -1
  626. package/icon-selector/icon-name.pipe.d.ts.map +1 -1
  627. package/icon-selector/icon-selector-modal/icon-selector-modal.component.d.ts +1 -1
  628. package/icon-selector/icon-selector-modal/icon-selector-modal.component.d.ts.map +1 -1
  629. package/icon-selector/icon-selector-wrapper/icon-selector-wrapper.component.d.ts +1 -1
  630. package/icon-selector/icon-selector-wrapper/icon-selector-wrapper.component.d.ts.map +1 -1
  631. package/icon-selector/icon-selector.component.d.ts +1 -1
  632. package/icon-selector/icon-selector.component.d.ts.map +1 -1
  633. package/icon-selector/icon-selector.module.d.ts +8 -8
  634. package/icon-selector/icon-selector.module.d.ts.map +1 -1
  635. package/locales/de.po +55 -17
  636. package/locales/es.po +43 -4
  637. package/locales/fr.po +43 -4
  638. package/locales/ja_JP.po +45 -6
  639. package/locales/ko.po +43 -4
  640. package/locales/locales.pot +41 -2
  641. package/locales/nl.po +43 -4
  642. package/locales/pl.po +43 -4
  643. package/locales/pt_BR.po +43 -4
  644. package/locales/zh_CN.po +44 -5
  645. package/locales/zh_TW.po +43 -4
  646. package/location/add-location.component.d.ts +1 -1
  647. package/location/add-location.component.d.ts.map +1 -1
  648. package/location/location.component.d.ts +1 -1
  649. package/location/location.component.d.ts.map +1 -1
  650. package/location/location.module.d.ts +6 -6
  651. package/location/location.module.d.ts.map +1 -1
  652. package/loriot-device-registration/loriot-device-registration-button.component.d.ts +1 -1
  653. package/loriot-device-registration/loriot-device-registration-button.component.d.ts.map +1 -1
  654. package/loriot-device-registration/loriot-device-registration.component.d.ts +1 -1
  655. package/loriot-device-registration/loriot-device-registration.component.d.ts.map +1 -1
  656. package/loriot-device-registration/loriot-device-registration.module.d.ts +4 -4
  657. package/loriot-device-registration/loriot-device-registration.module.d.ts.map +1 -1
  658. package/map/cluster-map.component.d.ts +61 -1
  659. package/map/cluster-map.component.d.ts.map +1 -1
  660. package/map/map-popup.directive.d.ts +1 -1
  661. package/map/map-popup.directive.d.ts.map +1 -1
  662. package/map/map-status.component.d.ts +86 -3
  663. package/map/map-status.component.d.ts.map +1 -1
  664. package/map/map.component.d.ts +100 -5
  665. package/map/map.component.d.ts.map +1 -1
  666. package/map/map.model.d.ts +98 -4
  667. package/map/map.model.d.ts.map +1 -1
  668. package/map/map.module.d.ts +9 -9
  669. package/map/map.module.d.ts.map +1 -1
  670. package/operations/bulk-operation-from-single/bulk-operation-from-single.component.d.ts +1 -1
  671. package/operations/bulk-operation-from-single/bulk-operation-from-single.component.d.ts.map +1 -1
  672. package/operations/bulk-operation-from-single/bulk-operation-from-single.module.d.ts +3 -5
  673. package/operations/bulk-operation-from-single/bulk-operation-from-single.module.d.ts.map +1 -1
  674. package/operations/bulk-operation-list-item/bulk-operation-list-item.component.d.ts +1 -1
  675. package/operations/bulk-operation-list-item/bulk-operation-list-item.component.d.ts.map +1 -1
  676. package/operations/bulk-operation-list-item/bulk-operation-list-item.module.d.ts +1 -7
  677. package/operations/bulk-operation-list-item/bulk-operation-list-item.module.d.ts.map +1 -1
  678. package/operations/bulk-operation-list-item/bulk-operation-wrapper.component.d.ts +1 -1
  679. package/operations/bulk-operation-list-item/bulk-operation-wrapper.component.d.ts.map +1 -1
  680. package/operations/bulk-operation-list-item/modal-body-host.directive.d.ts +1 -1
  681. package/operations/bulk-operation-list-item/modal-body-host.directive.d.ts.map +1 -1
  682. package/operations/bulk-operation-list-item/modals/bulk-operations-reschedule-modal.component.d.ts +1 -1
  683. package/operations/bulk-operation-list-item/modals/bulk-operations-reschedule-modal.component.d.ts.map +1 -1
  684. package/operations/bulk-operation-scheduler/bulk-operation-scheduler.module.d.ts +6 -6
  685. package/operations/bulk-operation-scheduler/operation-scheduler.component.d.ts +1 -1
  686. package/operations/bulk-operation-scheduler/operation-scheduler.component.d.ts.map +1 -1
  687. package/operations/bulk-operation-stepper/base-stepper.component.d.ts +1 -1
  688. package/operations/bulk-operation-stepper/bulk-operation-stepper.component.d.ts +1 -1
  689. package/operations/bulk-operation-stepper/bulk-operation-stepper.component.d.ts.map +1 -1
  690. package/operations/bulk-operation-stepper/bulk-operation-stepper.module.d.ts +1 -5
  691. package/operations/bulk-operation-stepper/bulk-operation-stepper.module.d.ts.map +1 -1
  692. package/operations/bulk-operation-stepper/custom-step.directive.d.ts +1 -1
  693. package/operations/bulk-operation-stepper/custom-step.directive.d.ts.map +1 -1
  694. package/operations/bulk-operations-list/bulk-operations-list.component.d.ts +1 -1
  695. package/operations/bulk-operations-list/bulk-operations-list.component.d.ts.map +1 -1
  696. package/operations/bulk-operations-list/bulk-operations-list.module.d.ts +4 -10
  697. package/operations/bulk-operations-list/bulk-operations-list.module.d.ts.map +1 -1
  698. package/operations/bulk-operations-list/modals/bulk-operations-modal.component.d.ts +1 -1
  699. package/operations/bulk-operations-list/modals/bulk-operations-modal.component.d.ts.map +1 -1
  700. package/operations/bulk-operations-stepper-container/bulk-operations-stepper-container.component.d.ts +1 -1
  701. package/operations/bulk-operations-stepper-container/bulk-operations-stepper-container.component.d.ts.map +1 -1
  702. package/operations/bulk-operations-stepper-container/bulk-operations-stepper-container.module.d.ts +3 -4
  703. package/operations/bulk-operations-stepper-container/bulk-operations-stepper-container.module.d.ts.map +1 -1
  704. package/operations/create-bulk-operation-details/create-bulk-operation-details.component.d.ts +1 -1
  705. package/operations/create-bulk-operation-details/create-bulk-operation-details.component.d.ts.map +1 -1
  706. package/operations/create-bulk-operation-details/create-bulk-operation-details.module.d.ts +1 -4
  707. package/operations/create-bulk-operation-details/create-bulk-operation-details.module.d.ts.map +1 -1
  708. package/operations/device-selector/device-selector.component.d.ts +1 -1
  709. package/operations/device-selector/device-selector.component.d.ts.map +1 -1
  710. package/operations/device-selector/device-selector.module.d.ts +1 -3
  711. package/operations/device-selector/device-selector.module.d.ts.map +1 -1
  712. package/operations/operation-details/operation-details-modal.component.d.ts +1 -1
  713. package/operations/operation-details/operation-details-modal.component.d.ts.map +1 -1
  714. package/operations/operation-details/operation-details.component.d.ts +1 -1
  715. package/operations/operation-details/operation-details.component.d.ts.map +1 -1
  716. package/operations/operation-details/operation-details.module.d.ts +1 -7
  717. package/operations/operation-details/operation-details.module.d.ts.map +1 -1
  718. package/operations/operation-details/operation-details.service.d.ts.map +1 -1
  719. package/operations/operation-summary/operation-summary.component.d.ts +1 -1
  720. package/operations/operation-summary/operation-summary.component.d.ts.map +1 -1
  721. package/operations/operation-summary/operation-summary.module.d.ts +1 -2
  722. package/operations/operation-summary/operation-summary.module.d.ts.map +1 -1
  723. package/operations/operations-list/operations-list-item.component.d.ts.map +1 -1
  724. package/operations/operations-list/operations-list.component.d.ts.map +1 -1
  725. package/operations/operations-list/operations-list.service.d.ts +1 -1
  726. package/operations/operations-list/operations-list.service.d.ts.map +1 -1
  727. package/operations/operations-list-item-details/operation-details-tabs.component.d.ts +1 -1
  728. package/operations/operations-list-item-details/operation-details-tabs.component.d.ts.map +1 -1
  729. package/operations/operations-list-item-details/operation-details.component.d.ts +1 -1
  730. package/operations/operations-list-item-details/operation-details.component.d.ts.map +1 -1
  731. package/operations/operations-list-item-details/operations-list-item-details.module.d.ts +1 -6
  732. package/operations/operations-list-item-details/operations-list-item-details.module.d.ts.map +1 -1
  733. package/operations/operations-timeline/operations-timeline.component.d.ts +5 -5
  734. package/operations/operations-timeline/operations-timeline.component.d.ts.map +1 -1
  735. package/operations/operations-timeline/operations-timeline.module.d.ts +4 -6
  736. package/operations/operations-timeline/operations-timeline.module.d.ts.map +1 -1
  737. package/operations/status-filter/status-filter.component.d.ts +1 -1
  738. package/operations/status-filter/status-filter.component.d.ts.map +1 -1
  739. package/operations/status-filter/status-filter.module.d.ts +1 -4
  740. package/operations/status-filter/status-filter.module.d.ts.map +1 -1
  741. package/operations/stepper-bulk-type-configuration/stepper-bulk-type-configuration.component.d.ts +1 -1
  742. package/operations/stepper-bulk-type-configuration/stepper-bulk-type-configuration.component.d.ts.map +1 -1
  743. package/operations/stepper-bulk-type-configuration/stepper-bulk-type-configuration.module.d.ts +1 -6
  744. package/operations/stepper-bulk-type-configuration/stepper-bulk-type-configuration.module.d.ts.map +1 -1
  745. package/operations/stepper-bulk-type-device-profile/confirm-device-profile-selection-step.component.d.ts +1 -1
  746. package/operations/stepper-bulk-type-device-profile/confirm-device-profile-selection-step.component.d.ts.map +1 -1
  747. package/operations/stepper-bulk-type-device-profile/select-device-profile-step.component.d.ts +1 -1
  748. package/operations/stepper-bulk-type-device-profile/select-device-profile-step.component.d.ts.map +1 -1
  749. package/operations/stepper-bulk-type-device-profile/stepper-bulk-type-device-profile.component.d.ts +1 -1
  750. package/operations/stepper-bulk-type-device-profile/stepper-bulk-type-device-profile.component.d.ts.map +1 -1
  751. package/operations/stepper-bulk-type-device-profile/stepper-bulk-type-device-profile.module.d.ts +1 -6
  752. package/operations/stepper-bulk-type-device-profile/stepper-bulk-type-device-profile.module.d.ts.map +1 -1
  753. package/operations/stepper-bulk-type-firmware/select-firmware.component.d.ts +1 -1
  754. package/operations/stepper-bulk-type-firmware/select-firmware.component.d.ts.map +1 -1
  755. package/operations/stepper-bulk-type-firmware/stepper-bulk-type-firmware.component.d.ts +1 -1
  756. package/operations/stepper-bulk-type-firmware/stepper-bulk-type-firmware.component.d.ts.map +1 -1
  757. package/operations/stepper-bulk-type-firmware/stepper-bulk-type-firmware.module.d.ts +1 -6
  758. package/operations/stepper-bulk-type-firmware/stepper-bulk-type-firmware.module.d.ts.map +1 -1
  759. package/operations/stepper-bulk-type-firmware/version-or-patch.component.d.ts +1 -1
  760. package/operations/stepper-bulk-type-firmware/version-or-patch.component.d.ts.map +1 -1
  761. package/operations/stepper-bulk-type-software/confirm-software-selection-step.component.d.ts +1 -1
  762. package/operations/stepper-bulk-type-software/confirm-software-selection-step.component.d.ts.map +1 -1
  763. package/operations/stepper-bulk-type-software/select-software-step.component.d.ts +1 -1
  764. package/operations/stepper-bulk-type-software/select-software-step.component.d.ts.map +1 -1
  765. package/operations/stepper-bulk-type-software/stepper-bulk-type-software.component.d.ts +1 -1
  766. package/operations/stepper-bulk-type-software/stepper-bulk-type-software.component.d.ts.map +1 -1
  767. package/operations/stepper-bulk-type-software/stepper-bulk-type-software.module.d.ts +1 -6
  768. package/operations/stepper-bulk-type-software/stepper-bulk-type-software.module.d.ts.map +1 -1
  769. package/operations/stepper-frames/preview-block.directive.d.ts +1 -1
  770. package/operations/stepper-frames/preview-block.directive.d.ts.map +1 -1
  771. package/operations/stepper-frames/preview-selection-frame.component.d.ts +1 -1
  772. package/operations/stepper-frames/preview-selection-frame.component.d.ts.map +1 -1
  773. package/operations/stepper-frames/select-step-frame.component.d.ts +1 -1
  774. package/operations/stepper-frames/select-step-frame.component.d.ts.map +1 -1
  775. package/operations/stepper-frames/stepper-frames.modules.d.ts +1 -2
  776. package/operations/stepper-frames/stepper-frames.modules.d.ts.map +1 -1
  777. package/package.json +1 -1
  778. package/platform-configuration/platform-configuration-form.component.d.ts +1 -1
  779. package/platform-configuration/platform-configuration-form.component.d.ts.map +1 -1
  780. package/platform-configuration/platform-configuration.module.d.ts +4 -4
  781. package/platform-configuration/platform-configuration.module.d.ts.map +1 -1
  782. package/protocol-lpwan/lpwan-protocol.module.d.ts +4 -4
  783. package/protocol-lpwan/lpwan-protocol.module.d.ts.map +1 -1
  784. package/protocol-lpwan/lpwan-set-connections.component.d.ts +1 -1
  785. package/protocol-lpwan/lpwan-set-connections.component.d.ts.map +1 -1
  786. package/protocol-lpwan/lpwan-set-device-protocol.component.d.ts +1 -1
  787. package/protocol-lpwan/lpwan-set-device-protocol.component.d.ts.map +1 -1
  788. package/protocol-lpwan/multiple-lns-connectors/actility-multiple-lns-connector.component.d.ts +1 -1
  789. package/protocol-lpwan/multiple-lns-connectors/actility-multiple-lns-connector.component.d.ts.map +1 -1
  790. package/protocol-lpwan/multiple-lns-connectors/connection-info-with-download-csv.component.d.ts +1 -1
  791. package/protocol-lpwan/multiple-lns-connectors/connection-info-with-download-csv.component.d.ts.map +1 -1
  792. package/protocol-lpwan/multiple-lns-connectors/loriot/loriot-multiple-lns-connector.component.d.ts +1 -1
  793. package/protocol-lpwan/multiple-lns-connectors/loriot/loriot-multiple-lns-connector.component.d.ts.map +1 -1
  794. package/protocol-lpwan/multiple-lns-connectors/multiple-lns-connectors.module.d.ts +8 -8
  795. package/protocol-lpwan/multiple-lns-connectors/multiple-lns-connectors.module.d.ts.map +1 -1
  796. package/protocol-lpwan/multiple-lns-connectors/no-connections-found.component.d.ts +1 -1
  797. package/protocol-lpwan/multiple-lns-connectors/sigfox-multiple-lns-connector.component.d.ts +1 -1
  798. package/protocol-lpwan/multiple-lns-connectors/sigfox-multiple-lns-connector.component.d.ts.map +1 -1
  799. package/protocol-opcua/opcua-address-space-detail.component.d.ts +1 -1
  800. package/protocol-opcua/opcua-address-space-detail.component.d.ts.map +1 -1
  801. package/protocol-opcua/opcua-address-space-tree.component.d.ts +1 -1
  802. package/protocol-opcua/opcua-address-space-tree.component.d.ts.map +1 -1
  803. package/protocol-opcua/opcua-address-space.component.d.ts +1 -1
  804. package/protocol-opcua/opcua-address-space.component.d.ts.map +1 -1
  805. package/protocol-opcua/opcua-auto-apply-settings.component.d.ts +1 -1
  806. package/protocol-opcua/opcua-auto-apply-settings.component.d.ts.map +1 -1
  807. package/protocol-opcua/opcua-device-protocol-browse-path-validation.directive.d.ts +1 -1
  808. package/protocol-opcua/opcua-device-protocol-browse-path-validation.directive.d.ts.map +1 -1
  809. package/protocol-opcua/opcua-device-protocol-data-reporting.component.d.ts +1 -1
  810. package/protocol-opcua/opcua-device-protocol-data-reporting.component.d.ts.map +1 -1
  811. package/protocol-opcua/opcua-device-protocol-description.component.d.ts +1 -1
  812. package/protocol-opcua/opcua-device-protocol-description.component.d.ts.map +1 -1
  813. package/protocol-opcua/opcua-device-protocol-detail.component.d.ts +1 -1
  814. package/protocol-opcua/opcua-device-protocol-detail.component.d.ts.map +1 -1
  815. package/protocol-opcua/opcua-device-protocol-mapping.component.d.ts +1 -1
  816. package/protocol-opcua/opcua-device-protocol-mapping.component.d.ts.map +1 -1
  817. package/protocol-opcua/opcua-device-protocol-object-mapping-status-icon.component.d.ts +1 -1
  818. package/protocol-opcua/opcua-device-protocol-object-mapping-status-icon.component.d.ts.map +1 -1
  819. package/protocol-opcua/opcua-protocol.module.d.ts +26 -26
  820. package/protocol-opcua/opcua-protocol.module.d.ts.map +1 -1
  821. package/protocol-opcua/opcua-server-config.component.d.ts +1 -1
  822. package/protocol-opcua/opcua-server-config.component.d.ts.map +1 -1
  823. package/protocol-opcua/opcua-server-list.component.d.ts +1 -1
  824. package/protocol-opcua/opcua-server-list.component.d.ts.map +1 -1
  825. package/protocol-opcua/opcua-servers.component.d.ts +1 -1
  826. package/protocol-opcua/opcua-servers.component.d.ts.map +1 -1
  827. package/register-device/bulk/bulk-device-registration-button.component.d.ts +1 -1
  828. package/register-device/bulk/bulk-device-registration-button.component.d.ts.map +1 -1
  829. package/register-device/bulk/bulk-device-registration-modal.component.d.ts +1 -1
  830. package/register-device/bulk/bulk-device-registration-modal.component.d.ts.map +1 -1
  831. package/register-device/device-registration-view.component.d.ts +1 -1
  832. package/register-device/device-registration-view.component.d.ts.map +1 -1
  833. package/register-device/dropdown/register-device-dropdown.component.d.ts +1 -1
  834. package/register-device/dropdown/register-device-dropdown.component.d.ts.map +1 -1
  835. package/register-device/extensible/bulk/extensible-bulk-device-registration-button.component.d.ts +1 -1
  836. package/register-device/extensible/bulk/extensible-bulk-device-registration-button.component.d.ts.map +1 -1
  837. package/register-device/extensible/bulk/extensible-bulk-device-registration-modal.component.d.ts +1 -1
  838. package/register-device/extensible/bulk/extensible-bulk-device-registration-modal.component.d.ts.map +1 -1
  839. package/register-device/extensible/single/extensible-device-registration-button.component.d.ts +1 -1
  840. package/register-device/extensible/single/extensible-device-registration-button.component.d.ts.map +1 -1
  841. package/register-device/extensible/single/extensible-device-registration-modal.component.d.ts +1 -1
  842. package/register-device/extensible/single/extensible-device-registration-modal.component.d.ts.map +1 -1
  843. package/register-device/extensible/single/extensible-device-registration-stepper.component.d.ts +1 -1
  844. package/register-device/extensible/single/extensible-device-registration-stepper.component.d.ts.map +1 -1
  845. package/register-device/general/general-device-registration-button.component.d.ts +1 -1
  846. package/register-device/general/general-device-registration-button.component.d.ts.map +1 -1
  847. package/register-device/general/general-device-registration.component.d.ts +3 -6
  848. package/register-device/general/general-device-registration.component.d.ts.map +1 -1
  849. package/register-device/register-device.module.d.ts +16 -16
  850. package/register-device/register-device.module.d.ts.map +1 -1
  851. package/report-dashboard/report-dashboard-list.component.d.ts +1 -1
  852. package/report-dashboard/report-dashboard-list.component.d.ts.map +1 -1
  853. package/report-dashboard/report-dashboard.module.d.ts +7 -7
  854. package/reports/cron.component.d.ts +1 -1
  855. package/reports/cron.component.d.ts.map +1 -1
  856. package/reports/export-schedules.component.d.ts +2 -3
  857. package/reports/export-schedules.component.d.ts.map +1 -1
  858. package/reports/reports.module.d.ts +7 -7
  859. package/reports/reports.module.d.ts.map +1 -1
  860. package/reports/schedule-modal.component.d.ts +2 -3
  861. package/reports/schedule-modal.component.d.ts.map +1 -1
  862. package/repository/configuration/device-tab/configuration-filter.pipe.d.ts +1 -1
  863. package/repository/configuration/device-tab/configuration-filter.pipe.d.ts.map +1 -1
  864. package/repository/configuration/device-tab/configuration-preview.component.d.ts +1 -1
  865. package/repository/configuration/device-tab/configuration-preview.component.d.ts.map +1 -1
  866. package/repository/configuration/device-tab/configuration-repository-device-tab.module.d.ts +11 -13
  867. package/repository/configuration/device-tab/configuration-repository-device-tab.module.d.ts.map +1 -1
  868. package/repository/configuration/device-tab/device-configuration-list.component.d.ts +1 -1
  869. package/repository/configuration/device-tab/device-configuration-list.component.d.ts.map +1 -1
  870. package/repository/configuration/device-tab/device-configuration.component.d.ts +1 -1
  871. package/repository/configuration/device-tab/device-configuration.component.d.ts.map +1 -1
  872. package/repository/configuration/device-tab/save-to-repository.component.d.ts +1 -1
  873. package/repository/configuration/device-tab/save-to-repository.component.d.ts.map +1 -1
  874. package/repository/configuration/device-tab/source-code-preview.component.d.ts +1 -1
  875. package/repository/configuration/device-tab/source-code-preview.component.d.ts.map +1 -1
  876. package/repository/configuration/device-tab/text-based-configuration.component.d.ts +1 -1
  877. package/repository/configuration/device-tab/text-based-configuration.component.d.ts.map +1 -1
  878. package/repository/configuration/list/configuration-detail.component.d.ts +1 -1
  879. package/repository/configuration/list/configuration-detail.component.d.ts.map +1 -1
  880. package/repository/configuration/list/configuration-list.component.d.ts +1 -1
  881. package/repository/configuration/list/configuration-list.component.d.ts.map +1 -1
  882. package/repository/configuration/list/configuration-repository-list.module.d.ts +4 -7
  883. package/repository/configuration/list/configuration-repository-list.module.d.ts.map +1 -1
  884. package/repository/firmware/device-tab/firmware-device-tab.component.d.ts +1 -1
  885. package/repository/firmware/device-tab/firmware-device-tab.component.d.ts.map +1 -1
  886. package/repository/firmware/device-tab/firmware-repository-device-tab.module.d.ts +4 -6
  887. package/repository/firmware/device-tab/firmware-repository-device-tab.module.d.ts.map +1 -1
  888. package/repository/firmware/list/add-firmware-modal.component.d.ts +1 -1
  889. package/repository/firmware/list/add-firmware-modal.component.d.ts.map +1 -1
  890. package/repository/firmware/list/add-firmware-patch-modal.component.d.ts +1 -1
  891. package/repository/firmware/list/add-firmware-patch-modal.component.d.ts.map +1 -1
  892. package/repository/firmware/list/firmware-details.component.d.ts +1 -1
  893. package/repository/firmware/list/firmware-details.component.d.ts.map +1 -1
  894. package/repository/firmware/list/firmware-list.component.d.ts +1 -1
  895. package/repository/firmware/list/firmware-list.component.d.ts.map +1 -1
  896. package/repository/firmware/list/firmware-repository-list.module.d.ts +6 -11
  897. package/repository/firmware/list/firmware-repository-list.module.d.ts.map +1 -1
  898. package/repository/shared/file-download/file-download.component.d.ts +1 -1
  899. package/repository/shared/file-download/file-download.component.d.ts.map +1 -1
  900. package/repository/shared/select-modal/repository-select-modal.component.d.ts +1 -1
  901. package/repository/shared/select-modal/repository-select-modal.component.d.ts.map +1 -1
  902. package/repository/shared/shared-repository.module.d.ts +1 -4
  903. package/repository/shared/shared-repository.module.d.ts.map +1 -1
  904. package/repository/shared/software-type/software-type.component.d.ts +1 -1
  905. package/repository/shared/software-type/software-type.component.d.ts.map +1 -1
  906. package/repository/software/device-tab/device-software-changes.component.d.ts +1 -1
  907. package/repository/software/device-tab/device-software-changes.component.d.ts.map +1 -1
  908. package/repository/software/device-tab/device-software-list.component.d.ts +1 -1
  909. package/repository/software/device-tab/device-software-list.component.d.ts.map +1 -1
  910. package/repository/software/device-tab/installed-software.component.d.ts +1 -1
  911. package/repository/software/device-tab/installed-software.component.d.ts.map +1 -1
  912. package/repository/software/device-tab/software-device-tab.component.d.ts +1 -1
  913. package/repository/software/device-tab/software-device-tab.component.d.ts.map +1 -1
  914. package/repository/software/device-tab/software-repository-device-tab.module.d.ts +7 -11
  915. package/repository/software/device-tab/software-repository-device-tab.module.d.ts.map +1 -1
  916. package/repository/software/list/add-software-modal.component.d.ts +1 -1
  917. package/repository/software/list/add-software-modal.component.d.ts.map +1 -1
  918. package/repository/software/list/software-details.component.d.ts +1 -1
  919. package/repository/software/list/software-details.component.d.ts.map +1 -1
  920. package/repository/software/list/software-list.component.d.ts +1 -1
  921. package/repository/software/list/software-list.component.d.ts.map +1 -1
  922. package/repository/software/list/software-repository-list.module.d.ts +5 -11
  923. package/repository/software/list/software-repository-list.module.d.ts.map +1 -1
  924. package/search/search-action.component.d.ts +1 -1
  925. package/search/search-action.component.d.ts.map +1 -1
  926. package/search/search-custom-filters.component.d.ts +1 -1
  927. package/search/search-custom-filters.component.d.ts.map +1 -1
  928. package/search/search-grid.component.d.ts +1 -1
  929. package/search/search-grid.component.d.ts.map +1 -1
  930. package/search/search-results.component.d.ts +1 -1
  931. package/search/search-results.component.d.ts.map +1 -1
  932. package/search/search.module.d.ts +8 -8
  933. package/search/search.module.d.ts.map +1 -1
  934. package/services/services-device-tab/columns/last-updated-date.cell-renderer.component.d.ts +1 -1
  935. package/services/services-device-tab/columns/last-updated-date.cell-renderer.component.d.ts.map +1 -1
  936. package/services/services-device-tab/columns/name.cell-renderer.component.d.ts +1 -1
  937. package/services/services-device-tab/columns/name.cell-renderer.component.d.ts.map +1 -1
  938. package/services/services-device-tab/columns/status.cell-renderer.component.d.ts +1 -1
  939. package/services/services-device-tab/columns/status.cell-renderer.component.d.ts.map +1 -1
  940. package/services/services-device-tab/services-device-tab.component.d.ts +1 -1
  941. package/services/services-device-tab/services-device-tab.component.d.ts.map +1 -1
  942. package/services/services-device-tab/services-device-tab.module.d.ts +1 -4
  943. package/services/services-device-tab/services-device-tab.module.d.ts.map +1 -1
  944. package/sigfox-device-registration/sigfox-device-registration-button.component.d.ts +1 -1
  945. package/sigfox-device-registration/sigfox-device-registration-button.component.d.ts.map +1 -1
  946. package/sigfox-device-registration/sigfox-device-registration.component.d.ts +1 -1
  947. package/sigfox-device-registration/sigfox-device-registration.component.d.ts.map +1 -1
  948. package/sigfox-device-registration/sigfox-device-registration.module.d.ts +4 -4
  949. package/sigfox-device-registration/sigfox-device-registration.module.d.ts.map +1 -1
  950. package/sub-assets/add-group/add-group.component.d.ts +1 -1
  951. package/sub-assets/add-group/add-group.component.d.ts.map +1 -1
  952. package/sub-assets/add-group/add-group.module.d.ts +7 -7
  953. package/sub-assets/asset-properties-item.component.d.ts +1 -1
  954. package/sub-assets/asset-properties-item.component.d.ts.map +1 -1
  955. package/sub-assets/asset-properties.component.d.ts +1 -1
  956. package/sub-assets/asset-properties.component.d.ts.map +1 -1
  957. package/sub-assets/assign-devices/assign-child-devices.component.d.ts +2 -3
  958. package/sub-assets/assign-devices/assign-child-devices.component.d.ts.map +1 -1
  959. package/sub-assets/assign-devices/assign-devices.component.d.ts +1 -1
  960. package/sub-assets/assign-devices/assign-devices.component.d.ts.map +1 -1
  961. package/sub-assets/delete-assets-modal/delete-assets-modal.component.d.ts +1 -1
  962. package/sub-assets/delete-assets-modal/delete-assets-modal.component.d.ts.map +1 -1
  963. package/sub-assets/group-info.component.d.ts +1 -1
  964. package/sub-assets/group-info.component.d.ts.map +1 -1
  965. package/sub-assets/groups.component.d.ts +1 -1
  966. package/sub-assets/groups.component.d.ts.map +1 -1
  967. package/sub-assets/location/asset-location.component.d.ts +1 -1
  968. package/sub-assets/location/asset-location.component.d.ts.map +1 -1
  969. package/sub-assets/sub-assets-grid.component.d.ts +1 -1
  970. package/sub-assets/sub-assets-grid.component.d.ts.map +1 -1
  971. package/sub-assets/sub-assets-grids.module.d.ts +9 -9
  972. package/sub-assets/sub-assets-grids.module.d.ts.map +1 -1
  973. package/sub-assets/sub-assets.component.d.ts +1 -1
  974. package/sub-assets/sub-assets.component.d.ts.map +1 -1
  975. package/sub-assets/sub-assets.module.d.ts +18 -18
  976. package/sub-assets/sub-assets.module.d.ts.map +1 -1
  977. package/sub-assets/unassign-assets-modal/unassign-modal.component.d.ts +1 -1
  978. package/sub-assets/unassign-assets-modal/unassign-modal.component.d.ts.map +1 -1
  979. package/tenants/tenant-form/tenant-form.component.d.ts +1 -1
  980. package/tenants/tenant-form/tenant-form.component.d.ts.map +1 -1
  981. package/tenants/tenant-list/creation-time.filtering-form-renderer.component.d.ts +2 -3
  982. package/tenants/tenant-list/creation-time.filtering-form-renderer.component.d.ts.map +1 -1
  983. package/tenants/tenant-list/status.filtering-form-renderer.component.d.ts +1 -1
  984. package/tenants/tenant-list/status.filtering-form-renderer.component.d.ts.map +1 -1
  985. package/tenants/tenant-list/tenant-list.component.d.ts +1 -1
  986. package/tenants/tenant-list/tenant-list.component.d.ts.map +1 -1
  987. package/tenants/tenants.module.d.ts +9 -9
  988. package/tenants/tenants.module.d.ts.map +1 -1
  989. package/trusted-certificates/crl/crl-check-settings.component.d.ts +1 -1
  990. package/trusted-certificates/crl/crl-check-settings.component.d.ts.map +1 -1
  991. package/trusted-certificates/crl/crl-settings.component.d.ts +6 -2
  992. package/trusted-certificates/crl/crl-settings.component.d.ts.map +1 -1
  993. package/trusted-certificates/crl/crl-settings.module.d.ts +8 -8
  994. package/trusted-certificates/crl/crl-settings.module.d.ts.map +1 -1
  995. package/trusted-certificates/factories/tabs.factory.d.ts +3 -2
  996. package/trusted-certificates/factories/tabs.factory.d.ts.map +1 -1
  997. package/trusted-certificates/factories/trusted-certificates-navigation.factory.d.ts +2 -0
  998. package/trusted-certificates/factories/trusted-certificates-navigation.factory.d.ts.map +1 -1
  999. package/trusted-certificates/list/add-trusted-certificate.component.d.ts +4 -3
  1000. package/trusted-certificates/list/add-trusted-certificate.component.d.ts.map +1 -1
  1001. package/trusted-certificates/list/trusted-certificate-list.component.d.ts +16 -3
  1002. package/trusted-certificates/list/trusted-certificate-list.component.d.ts.map +1 -1
  1003. package/trusted-certificates/list/trusted-certificate-list.module.d.ts +10 -10
  1004. package/trusted-certificates/list/trusted-certificate-list.module.d.ts.map +1 -1
  1005. package/trusted-certificates/list/trusted-certificate.model.d.ts +2 -0
  1006. package/trusted-certificates/list/trusted-certificate.model.d.ts.map +1 -1
  1007. package/trusted-certificates/pattern-messages.data.d.ts +6 -0
  1008. package/trusted-certificates/pattern-messages.data.d.ts.map +1 -1
  1009. package/trusted-certificates/trusted-certificates.guard.d.ts +11 -0
  1010. package/trusted-certificates/trusted-certificates.guard.d.ts.map +1 -0
  1011. package/upgrade/dashboard/dashboard-upgrade.module.d.ts +6 -6
  1012. package/upgrade/dashboard/dashboard-upgrade.module.d.ts.map +1 -1
  1013. package/upgrade/dashboard/device-selector.component.d.ts +1 -1
  1014. package/upgrade/dashboard/device-selector.component.d.ts.map +1 -1
  1015. package/upgrade/dashboard/widget.component.d.ts +1 -1
  1016. package/upgrade/dashboard/widget.component.d.ts.map +1 -1
  1017. package/upgrade/index.d.ts +0 -1
  1018. package/upgrade/index.d.ts.map +1 -1
  1019. package/upgrade/upgrade.module.d.ts.map +1 -1
  1020. package/upgrade/upgraded-services/index.d.ts +1 -0
  1021. package/upgrade/upgraded-services/index.d.ts.map +1 -1
  1022. package/upgrade/upgraded-services/smart-rules.service.d.ts.map +1 -0
  1023. package/upgrade/upgraded-services/upgraded-services.module.d.ts.map +1 -1
  1024. package/user-roles/inventory-role-selector/inventory-role-selector.component.d.ts +2 -1
  1025. package/user-roles/inventory-role-selector/inventory-role-selector.component.d.ts.map +1 -1
  1026. package/user-roles/roles-asset-tree/roles-asset-tree.component.d.ts +2 -1
  1027. package/user-roles/roles-asset-tree/roles-asset-tree.component.d.ts.map +1 -1
  1028. package/user-roles/user-roles.module.d.ts +4 -4
  1029. package/user-roles/user-roles.module.d.ts.map +1 -1
  1030. package/widgets/implementations/alarms/alarm-list-widget-config/alarm-list-widget-config.component.d.ts +1 -1
  1031. package/widgets/implementations/alarms/alarm-list-widget-config/alarm-list-widget-config.component.d.ts.map +1 -1
  1032. package/widgets/implementations/alarms/alarm-list-widget-view/alarm-list-widget.component.d.ts +1 -1
  1033. package/widgets/implementations/alarms/alarm-list-widget-view/alarm-list-widget.component.d.ts.map +1 -1
  1034. package/widgets/implementations/alarms/alarm-widget-alarms-reload.component.d.ts +1 -1
  1035. package/widgets/implementations/alarms/alarm-widget-alarms-reload.component.d.ts.map +1 -1
  1036. package/widgets/implementations/alarms/alarms-widget.module.d.ts +13 -13
  1037. package/widgets/implementations/alarms/alarms-widget.module.d.ts.map +1 -1
  1038. package/widgets/implementations/alarms/severity-icon.pipe.d.ts +1 -1
  1039. package/widgets/implementations/alarms/severity-icon.pipe.d.ts.map +1 -1
  1040. package/widgets/implementations/alarms/sorting-description-popover-message.pipe.d.ts +1 -1
  1041. package/widgets/implementations/alarms/sorting-description-popover-message.pipe.d.ts.map +1 -1
  1042. package/widgets/implementations/device-management-welcome/device-management-welcome-widget.module.d.ts +4 -4
  1043. package/widgets/implementations/device-management-welcome/device-management-welcome-widget.module.d.ts.map +1 -1
  1044. package/widgets/implementations/device-management-welcome/welcome.component.d.ts +1 -1
  1045. package/widgets/implementations/device-management-welcome/welcome.component.d.ts.map +1 -1
  1046. package/upgrade/smart-rules.service.d.ts.map +0 -1
  1047. /package/upgrade/{smart-rules.service.d.ts → upgraded-services/smart-rules.service.d.ts} +0 -0
@@ -8,9 +8,9 @@ import { IconSelectorModule } from '@c8y/ngx-components/icon-selector';
8
8
  import * as i2$1 from 'ngx-bootstrap/popover';
9
9
  import { PopoverModule } from 'ngx-bootstrap/popover';
10
10
  import * as i1 from '@c8y/client';
11
- import * as i6 from '@angular/forms';
11
+ import * as i5 from '@angular/forms';
12
12
  import { ReactiveFormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
13
- import * as i5 from '@angular/common';
13
+ import * as i3 from '@angular/common';
14
14
  import { NgIf } from '@angular/common';
15
15
  import * as i1$1 from '@angular/router';
16
16
 
@@ -208,7 +208,7 @@ class TypedDashboardSettingsComponent {
208
208
  useExisting: forwardRef(() => TypedDashboardSettingsComponent),
209
209
  multi: true
210
210
  }
211
- ], ngImport: i0, template: "<fieldset class=\"c8y-fieldset c8y-fieldset--lg\">\n <legend>{{ 'Dashboard template' | translate }}</legend>\n <div class=\"d-flex p-b-16 gap-16\">\n <label class=\"c8y-switch flex-no-shrink\">\n <input\n type=\"checkbox\"\n [checked]=\"value\"\n [disabled]=\"disabled\"\n (click)=\"toggle()\"\n />\n <span></span>\n <span>{{ typedDashboardStatus | translate }}</span>\n </label>\n <div class=\"flex-grow d-flex d-col\">\n <div\n class=\"flex-grow\"\n [innerHtml]=\"infoText | translate: { displayDeviceTypeValue: displayDeviceTypeValue }\"\n ></div>\n <button\n class=\"btn-link p-0 m-r-auto\"\n type=\"button\"\n *ngIf=\"allowTypeDashboard === 'allow_if_type_filled' && showSourceNavigationLink$ | async\"\n (click)=\"goToDeviceView()\"\n >\n {{\n deviceManagementLinkTitle\n | translate\n : {\n deviceManagementAppName:\n userDeviceManagementApp$ | async | humanizeAppName | async\n }\n }}\n <i c8yIcon=\"external-link\"></i>\n </button>\n </div>\n </div>\n\n <c8y-type-dashboard-info\n *ngIf=\"allowTypeDashboard === 'allow'\"\n [context]=\"mo\"\n [deviceTypeValue]=\"deviceTypeValue\"\n [displayDeviceTypeValue]=\"displayDeviceTypeValue\"\n ></c8y-type-dashboard-info>\n\n <div\n class=\"p-t-8 p-b-16\"\n *ngIf=\"mo?.c8y_Dashboard && value\"\n >\n <button\n class=\"btn btn-default btn-sm\"\n type=\"button\"\n c8yProductExperience\n [actionName]=\"PRODUCT_EXPERIENCE.DASHBOARD.EVENTS.DASHBOARD_TEMPLATE\"\n [actionData]=\"{\n component: PRODUCT_EXPERIENCE.DASHBOARD.COMPONENTS.TYPED_DASHBOARD_SETTINGS,\n action: PRODUCT_EXPERIENCE.DASHBOARD.ACTIONS.DUPLICATE_AS_REGULAR_DASHBOARD\n }\"\n (click)=\"onDuplicateWithoutType.emit()\"\n [disabled]=\"formInvalid\"\n >\n {{ 'Duplicate as regular dashboard' | translate }}\n </button>\n </div>\n</fieldset>\n", dependencies: [{ kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i2.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.HumanizeAppNamePipe, name: "humanizeAppName" }, { kind: "directive", type: i2.ProductExperienceDirective, selector: "[c8yProductExperience]", inputs: ["actionName", "actionData", "inherit", "suppressDataOverriding"] }, { kind: "component", type: TypeDashboardInfoComponent, selector: "c8y-type-dashboard-info", inputs: ["deviceTypeValue", "displayDeviceTypeValue", "context", "asyncRenderSuccess", "asyncRenderFail"] }] }); }
211
+ ], ngImport: i0, template: "<fieldset class=\"c8y-fieldset c8y-fieldset--lg\">\n <legend>{{ 'Dashboard template' | translate }}</legend>\n <div class=\"d-flex p-b-16 gap-16\">\n <label class=\"c8y-switch flex-no-shrink\">\n <input\n type=\"checkbox\"\n [checked]=\"value\"\n [disabled]=\"disabled\"\n (click)=\"toggle()\"\n />\n <span></span>\n <span>{{ typedDashboardStatus | translate }}</span>\n </label>\n <div class=\"flex-grow d-flex d-col\">\n <div\n class=\"flex-grow\"\n [innerHtml]=\"infoText | translate: { displayDeviceTypeValue: displayDeviceTypeValue }\"\n ></div>\n <button\n class=\"btn-link p-0 m-r-auto\"\n type=\"button\"\n *ngIf=\"allowTypeDashboard === 'allow_if_type_filled' && showSourceNavigationLink$ | async\"\n (click)=\"goToDeviceView()\"\n >\n {{\n deviceManagementLinkTitle\n | translate\n : {\n deviceManagementAppName:\n userDeviceManagementApp$ | async | humanizeAppName | async\n }\n }}\n <i c8yIcon=\"external-link\"></i>\n </button>\n </div>\n </div>\n\n <c8y-type-dashboard-info\n *ngIf=\"allowTypeDashboard === 'allow'\"\n [context]=\"mo\"\n [deviceTypeValue]=\"deviceTypeValue\"\n [displayDeviceTypeValue]=\"displayDeviceTypeValue\"\n ></c8y-type-dashboard-info>\n\n <div\n class=\"p-t-8 p-b-16\"\n *ngIf=\"mo?.c8y_Dashboard && value\"\n >\n <button\n class=\"btn btn-default btn-sm\"\n type=\"button\"\n c8yProductExperience\n [actionName]=\"PRODUCT_EXPERIENCE.DASHBOARD.EVENTS.DASHBOARD_TEMPLATE\"\n [actionData]=\"{\n component: PRODUCT_EXPERIENCE.DASHBOARD.COMPONENTS.TYPED_DASHBOARD_SETTINGS,\n action: PRODUCT_EXPERIENCE.DASHBOARD.ACTIONS.DUPLICATE_AS_REGULAR_DASHBOARD\n }\"\n (click)=\"onDuplicateWithoutType.emit()\"\n [disabled]=\"formInvalid\"\n >\n {{ 'Duplicate as regular dashboard' | translate }}\n </button>\n </div>\n</fieldset>\n", dependencies: [{ kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i2.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.HumanizeAppNamePipe, name: "humanizeAppName" }, { kind: "directive", type: i2.ProductExperienceDirective, selector: "[c8yProductExperience]", inputs: ["actionName", "actionData", "inherit", "suppressDataOverriding"] }, { kind: "component", type: TypeDashboardInfoComponent, selector: "c8y-type-dashboard-info", inputs: ["deviceTypeValue", "displayDeviceTypeValue", "context", "asyncRenderSuccess", "asyncRenderFail"] }] }); }
212
212
  }
213
213
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TypedDashboardSettingsComponent, decorators: [{
214
214
  type: Component,
@@ -257,7 +257,7 @@ class DashboardGeneralSettingsComponent {
257
257
  await this.dashboardDetailService.duplicateWithoutTypeFn();
258
258
  }
259
259
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DashboardGeneralSettingsComponent, deps: [{ token: i2.NavigatorService }, { token: DashboardDetailService }], target: i0.ɵɵFactoryTarget.Component }); }
260
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: DashboardGeneralSettingsComponent, isStandalone: true, selector: "c8y-dashboard-general-settings", ngImport: i0, template: "<div\n class=\"row\"\n [formGroup]=\"generalSettingsForm\"\n>\n <div\n class=\"col-xs-12 p-b-24\"\n [ngClass]=\"{ 'col-md-6': !isReport, 'col-md-8': isReport }\"\n *ngIf=\"!isNamedDashboard || isReport\"\n >\n <fieldset class=\"c8y-fieldset c8y-fieldset--lg m-b-24\">\n <legend>{{ 'Navigation' | translate }}</legend>\n <div class=\"d-flex gap-16\">\n <c8y-form-group>\n <label>{{ 'Icon' | translate }}</label>\n <c8y-icon-selector-wrapper\n [iconSize]=\"24\"\n name=\"icon\"\n formControlName=\"icon\"\n ></c8y-icon-selector-wrapper>\n </c8y-form-group>\n <c8y-form-group class=\"flex-grow\">\n <label for=\"menuLabel\">\n {{ 'Menu label' | translate }}\n <button\n class=\"btn-help btn-help--sm\"\n [attr.aria-label]=\"'Help' | translate\"\n popover=\"{{\n 'Menu label to display in submenu when dashboard is attached' | translate\n }}\"\n placement=\"right\"\n triggers=\"focus\"\n container=\"body\"\n type=\"button\"\n ></button>\n </label>\n <input\n class=\"form-control\"\n id=\"menuLabel\"\n placeholder=\"{{ namePlaceholder | translate }}\"\n name=\"name\"\n type=\"text\"\n formControlName=\"name\"\n />\n </c8y-form-group>\n </div>\n\n <c8y-form-group>\n <label for=\"description\">{{ 'Description ' | translate }}</label>\n <textarea\n class=\"form-control\"\n id=\"description\"\n name=\"description\"\n c8y-textarea-autoresize\n formControlName=\"description\"\n ></textarea>\n </c8y-form-group>\n\n <div class=\"row\">\n <div\n class=\"col-lg-7 col-xs-12\"\n *ngIf=\"!isReport\"\n >\n <c8y-form-group>\n <label for=\"position\">\n {{ 'Position in tabs' | translate }}\n <button\n class=\"btn-help btn-help--sm\"\n [attr.aria-label]=\"'Help' | translate\"\n popover=\"{{ positionInTabsExampleLabel | translate }}\"\n placement=\"right\"\n triggers=\"focus\"\n container=\"body\"\n type=\"button\"\n ></button>\n </label>\n <input\n class=\"form-control\"\n id=\"positionNav\"\n placeholder=\"{{ priorityExampleLabel | translate: { example: '500' } }}\"\n name=\"priority\"\n for=\"position\"\n type=\"number\"\n formControlName=\"priority\"\n />\n </c8y-form-group>\n </div>\n\n <div\n class=\"col-xs-6\"\n *ngIf=\"isReport\"\n >\n <label translate>Navigator menu item</label>\n <c8y-form-group>\n <label\n class=\"c8y-switch\"\n title=\"{{ 'Show in navigator' | translate }}\"\n >\n <input\n type=\"checkbox\"\n formControlName=\"c8y_IsNavigatorNode\"\n />\n <span></span>\n <span>{{ 'Show in navigator' | translate }}</span>\n </label>\n </c8y-form-group>\n </div>\n\n <div\n class=\"col-xs-6\"\n *ngIf=\"isReport && generalSettingsForm.value.c8y_IsNavigatorNode\"\n >\n <c8y-form-group>\n <label\n class=\"d-block\"\n for=\"position\"\n >\n {{ 'Position in navigator' | translate }}\n <ng-template #positionInNavPop>\n <span>\n {{ positionInTabsExampleLabel | translate }}&nbsp;\n {{ 'Existing nodes:' | translate }}\n </span>\n <ul class=\"list-unstyled m-t-16 m-b-0\">\n <li\n class=\"p-t-4 p-b-4\"\n title=\"{{ node.label | translate }}\"\n *ngFor=\"let node of navigatorNodes$ | async\"\n >\n <div class=\"icon-flex fit-w\">\n <i [c8yIcon]=\"node.icon\"></i>\n <span class=\"text-truncate m-l-4 m-r-16 flex-grow\">\n {{ node.label | translate }}\n </span>\n <span class=\"text-medium flex-no-shrink\">{{ node.priority }}</span>\n </div>\n </li>\n </ul>\n </ng-template>\n <button\n class=\"btn-help btn-help--sm\"\n [attr.aria-label]=\"'Help' | translate\"\n [popover]=\"positionInNavPop\"\n placement=\"right\"\n triggers=\"focus\"\n container=\"body\"\n type=\"button\"\n ></button>\n </label>\n <input\n class=\"form-control\"\n placeholder=\"{{ priorityExampleLabel | translate: { example: '500' } }}\"\n name=\"priority\"\n for=\"position\"\n type=\"number\"\n formControlName=\"priority\"\n />\n </c8y-form-group>\n </div>\n </div>\n </fieldset>\n <c8y-dashboard-availability\n *ngIf=\"\n !!isReport === false &&\n allowTypeDashboard &&\n deviceTypeValue &&\n generalSettingsForm.get('deviceType') &&\n !hideAvailability\n \"\n [(globalRolesIds)]=\"globalRolesIds\"\n (globalRolesIdsChange)=\"changeGlobalRoleIds()\"\n ></c8y-dashboard-availability>\n </div>\n\n <div class=\"col-xs-12 col-md-6 p-b-24\">\n <c8y-typed-dashboard-settings\n *ngIf=\"allowTypeDashboard !== 'disallow'\"\n formControlName=\"deviceType\"\n [deviceTypeValue]=\"deviceTypeValue\"\n [displayDeviceTypeValue]=\"displayDeviceTypeValue\"\n [formInvalid]=\"generalSettingsForm.invalid\"\n [mo]=\"mo\"\n [isDevice]=\"isDevice\"\n [allowTypeDashboard]=\"allowTypeDashboard\"\n (onDuplicateWithoutType)=\"duplicateWithoutType()\"\n ></c8y-typed-dashboard-settings>\n <c8y-dashboard-availability\n *ngIf=\"\n !!isReport === false &&\n (!allowTypeDashboard || !deviceTypeValue || !generalSettingsForm.get('deviceType')) &&\n !hideAvailability\n \"\n [(globalRolesIds)]=\"globalRolesIds\"\n (globalRolesIdsChange)=\"changeGlobalRoleIds()\"\n ></c8y-dashboard-availability>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i2.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "pipe", type: i2.C8yTranslatePipe, name: "translate" }, { kind: "directive", type: i2.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "directive", type: i2.TextareaAutoresizeDirective, selector: "[c8y-textarea-autoresize]" }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i6.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i2.FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "directive", type: i2.RequiredInputPlaceholderDirective, selector: "input[required], input[formControlName]" }, { kind: "directive", type: i6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: IconSelectorModule }, { kind: "component", type: i5$1.IconSelectorWrapperComponent, selector: "c8y-icon-selector-wrapper", inputs: ["canRemoveIcon", "selectedIcon", "iconSize"], outputs: ["onSelect"] }, { kind: "ngmodule", type: PopoverModule }, { kind: "directive", type: i2$1.PopoverDirective, selector: "[popover]", inputs: ["adaptivePosition", "boundariesElement", "popover", "popoverContext", "popoverTitle", "placement", "outsideClick", "triggers", "container", "containerClass", "isOpen", "delay"], outputs: ["onShown", "onHidden"], exportAs: ["bs-popover"] }, { kind: "component", type: DashboardAvailabilityComponent, selector: "c8y-dashboard-availability", inputs: ["globalRolesIds"], outputs: ["globalRolesIdsChange"] }, { kind: "component", type: TypedDashboardSettingsComponent, selector: "c8y-typed-dashboard-settings", inputs: ["deviceTypeValue", "displayDeviceTypeValue", "formInvalid", "mo", "isDevice", "allowTypeDashboard"], outputs: ["onDuplicateWithoutType"] }] }); }
260
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: DashboardGeneralSettingsComponent, isStandalone: true, selector: "c8y-dashboard-general-settings", ngImport: i0, template: "<div\n class=\"row\"\n [formGroup]=\"generalSettingsForm\"\n>\n <div\n class=\"col-xs-12 p-b-24\"\n [ngClass]=\"{ 'col-md-6': !isReport, 'col-md-8': isReport }\"\n *ngIf=\"!isNamedDashboard || isReport\"\n >\n <fieldset class=\"c8y-fieldset c8y-fieldset--lg m-b-24\">\n <legend>{{ 'Navigation' | translate }}</legend>\n <div class=\"d-flex gap-16\">\n <c8y-form-group>\n <label>{{ 'Icon' | translate }}</label>\n <c8y-icon-selector-wrapper\n [iconSize]=\"24\"\n name=\"icon\"\n formControlName=\"icon\"\n ></c8y-icon-selector-wrapper>\n </c8y-form-group>\n <c8y-form-group class=\"flex-grow\">\n <label for=\"menuLabel\">\n {{ 'Menu label' | translate }}\n <button\n class=\"btn-help btn-help--sm\"\n [attr.aria-label]=\"'Help' | translate\"\n popover=\"{{\n 'Menu label to display in submenu when dashboard is attached' | translate\n }}\"\n placement=\"right\"\n triggers=\"focus\"\n container=\"body\"\n type=\"button\"\n ></button>\n </label>\n <input\n class=\"form-control\"\n id=\"menuLabel\"\n placeholder=\"{{ namePlaceholder | translate }}\"\n name=\"name\"\n type=\"text\"\n formControlName=\"name\"\n />\n </c8y-form-group>\n </div>\n\n <c8y-form-group>\n <label for=\"description\">{{ 'Description ' | translate }}</label>\n <textarea\n class=\"form-control\"\n id=\"description\"\n name=\"description\"\n c8y-textarea-autoresize\n formControlName=\"description\"\n ></textarea>\n </c8y-form-group>\n\n <div class=\"row\">\n <div\n class=\"col-lg-7 col-xs-12\"\n *ngIf=\"!isReport\"\n >\n <c8y-form-group>\n <label for=\"position\">\n {{ 'Position in tabs' | translate }}\n <button\n class=\"btn-help btn-help--sm\"\n [attr.aria-label]=\"'Help' | translate\"\n popover=\"{{ positionInTabsExampleLabel | translate }}\"\n placement=\"right\"\n triggers=\"focus\"\n container=\"body\"\n type=\"button\"\n ></button>\n </label>\n <input\n class=\"form-control\"\n id=\"positionNav\"\n placeholder=\"{{ priorityExampleLabel | translate: { example: '500' } }}\"\n name=\"priority\"\n for=\"position\"\n type=\"number\"\n formControlName=\"priority\"\n />\n </c8y-form-group>\n </div>\n\n <div\n class=\"col-xs-6\"\n *ngIf=\"isReport\"\n >\n <label translate>Navigator menu item</label>\n <c8y-form-group>\n <label\n class=\"c8y-switch\"\n title=\"{{ 'Show in navigator' | translate }}\"\n >\n <input\n type=\"checkbox\"\n formControlName=\"c8y_IsNavigatorNode\"\n />\n <span></span>\n <span>{{ 'Show in navigator' | translate }}</span>\n </label>\n </c8y-form-group>\n </div>\n\n <div\n class=\"col-xs-6\"\n *ngIf=\"isReport && generalSettingsForm.value.c8y_IsNavigatorNode\"\n >\n <c8y-form-group>\n <label\n class=\"d-block\"\n for=\"position\"\n >\n {{ 'Position in navigator' | translate }}\n <ng-template #positionInNavPop>\n <span>\n {{ positionInTabsExampleLabel | translate }}&nbsp;\n {{ 'Existing nodes:' | translate }}\n </span>\n <ul class=\"list-unstyled m-t-16 m-b-0\">\n <li\n class=\"p-t-4 p-b-4\"\n title=\"{{ node.label | translate }}\"\n *ngFor=\"let node of navigatorNodes$ | async\"\n >\n <div class=\"icon-flex fit-w\">\n <i [c8yIcon]=\"node.icon\"></i>\n <span class=\"text-truncate m-l-4 m-r-16 flex-grow\">\n {{ node.label | translate }}\n </span>\n <span class=\"text-medium flex-no-shrink\">{{ node.priority }}</span>\n </div>\n </li>\n </ul>\n </ng-template>\n <button\n class=\"btn-help btn-help--sm\"\n [attr.aria-label]=\"'Help' | translate\"\n [popover]=\"positionInNavPop\"\n placement=\"right\"\n triggers=\"focus\"\n container=\"body\"\n type=\"button\"\n ></button>\n </label>\n <input\n class=\"form-control\"\n placeholder=\"{{ priorityExampleLabel | translate: { example: '500' } }}\"\n name=\"priority\"\n for=\"position\"\n type=\"number\"\n formControlName=\"priority\"\n />\n </c8y-form-group>\n </div>\n </div>\n </fieldset>\n <c8y-dashboard-availability\n *ngIf=\"\n !!isReport === false &&\n allowTypeDashboard &&\n deviceTypeValue &&\n generalSettingsForm.get('deviceType') &&\n !hideAvailability\n \"\n [(globalRolesIds)]=\"globalRolesIds\"\n (globalRolesIdsChange)=\"changeGlobalRoleIds()\"\n ></c8y-dashboard-availability>\n </div>\n\n <div class=\"col-xs-12 col-md-6 p-b-24\">\n <c8y-typed-dashboard-settings\n *ngIf=\"allowTypeDashboard !== 'disallow'\"\n formControlName=\"deviceType\"\n [deviceTypeValue]=\"deviceTypeValue\"\n [displayDeviceTypeValue]=\"displayDeviceTypeValue\"\n [formInvalid]=\"generalSettingsForm.invalid\"\n [mo]=\"mo\"\n [isDevice]=\"isDevice\"\n [allowTypeDashboard]=\"allowTypeDashboard\"\n (onDuplicateWithoutType)=\"duplicateWithoutType()\"\n ></c8y-typed-dashboard-settings>\n <c8y-dashboard-availability\n *ngIf=\"\n !!isReport === false &&\n (!allowTypeDashboard || !deviceTypeValue || !generalSettingsForm.get('deviceType')) &&\n !hideAvailability\n \"\n [(globalRolesIds)]=\"globalRolesIds\"\n (globalRolesIdsChange)=\"changeGlobalRoleIds()\"\n ></c8y-dashboard-availability>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i2.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "pipe", type: i2.C8yTranslatePipe, name: "translate" }, { kind: "directive", type: i2.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "directive", type: i2.TextareaAutoresizeDirective, selector: "[c8y-textarea-autoresize]" }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i5.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i2.FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "directive", type: i2.RequiredInputPlaceholderDirective, selector: "input[required], input[formControlName]" }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: IconSelectorModule }, { kind: "component", type: i5$1.IconSelectorWrapperComponent, selector: "c8y-icon-selector-wrapper", inputs: ["canRemoveIcon", "selectedIcon", "iconSize"], outputs: ["onSelect"] }, { kind: "ngmodule", type: PopoverModule }, { kind: "directive", type: i2$1.PopoverDirective, selector: "[popover]", inputs: ["adaptivePosition", "boundariesElement", "popover", "popoverContext", "popoverTitle", "placement", "outsideClick", "triggers", "container", "containerClass", "isOpen", "delay"], outputs: ["onShown", "onHidden"], exportAs: ["bs-popover"] }, { kind: "component", type: DashboardAvailabilityComponent, selector: "c8y-dashboard-availability", inputs: ["globalRolesIds"], outputs: ["globalRolesIdsChange"] }, { kind: "component", type: TypedDashboardSettingsComponent, selector: "c8y-typed-dashboard-settings", inputs: ["deviceTypeValue", "displayDeviceTypeValue", "formInvalid", "mo", "isDevice", "allowTypeDashboard"], outputs: ["onDuplicateWithoutType"] }] }); }
261
261
  }
262
262
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DashboardGeneralSettingsComponent, decorators: [{
263
263
  type: Component,
@@ -272,4 +272,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
272
272
  }], ctorParameters: () => [{ type: i2.NavigatorService }, { type: DashboardDetailService }] });
273
273
 
274
274
  export { DashboardGeneralSettingsComponent };
275
- //# sourceMappingURL=c8y-ngx-components-context-dashboard-dashboard-general-settings.component-BCG_pjJz.mjs.map
275
+ //# sourceMappingURL=c8y-ngx-components-context-dashboard-dashboard-general-settings.component-RXvOcs04.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"c8y-ngx-components-context-dashboard-dashboard-general-settings.component-BCG_pjJz.mjs","sources":["../../context-dashboard/dashboard-availability.component.ts","../../context-dashboard/dashboard-availability.component.html","../../context-dashboard/dashboard-settings/typed-dashboard-settings.component.ts","../../context-dashboard/dashboard-settings/typed-dashboard-settings.component.html","../../context-dashboard/dashboard-settings/dashboard-general-settings.component.ts","../../context-dashboard/dashboard-settings/dashboard-general-settings.component.html"],"sourcesContent":["import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { IUserGroup, UserGroupService } from '@c8y/client';\nimport {\n C8yTranslatePipe,\n FormsModule,\n GainsightService,\n Item,\n Permissions,\n SelectModule\n} from '@c8y/ngx-components';\nimport {\n DashboardGlobalRoles,\n ALL_GLOBAL_ROLES_SELECTED,\n PRODUCT_EXPERIENCE\n} from './context-dashboard.model';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { PopoverModule } from 'ngx-bootstrap/popover';\nimport { NgIf } from '@angular/common';\n\n@Component({\n selector: 'c8y-dashboard-availability',\n templateUrl: './dashboard-availability.component.html',\n standalone: true,\n imports: [C8yTranslatePipe, ReactiveFormsModule, PopoverModule, FormsModule, NgIf, SelectModule]\n})\nexport class DashboardAvailabilityComponent implements OnInit {\n /**\n * Ids of global roles assigned to the dashboard or a string \"all\" indicating the selection of all global roles.\n * The value undefined is treated as equivalent to 'all'.\n */\n @Input()\n get globalRolesIds(): DashboardGlobalRoles {\n return this._globalRolesIds;\n }\n set globalRolesIds(ids: DashboardGlobalRoles) {\n if (!ids || ids === ALL_GLOBAL_ROLES_SELECTED) {\n this._globalRolesIds = ALL_GLOBAL_ROLES_SELECTED;\n return;\n }\n this._globalRolesIds = [...ids];\n }\n @Output() globalRolesIdsChange = new EventEmitter<DashboardGlobalRoles>();\n globalRolesItems: Item[] = [];\n globalRolesItemsSelected: Item[] = [];\n selectHidden = false;\n private globalRoles: IUserGroup[] = [];\n private PAGE_SIZE = 100;\n private _globalRolesIds: DashboardGlobalRoles;\n\n constructor(\n private userGroupService: UserGroupService,\n private gainsightService: GainsightService,\n private permissions: Permissions\n ) {}\n\n async ngOnInit() {\n if (this.permissions.hasRole(Permissions.ROLE_USER_MANAGEMENT_READ)) {\n this.globalRoles = await this.getGlobalRoles();\n this.globalRolesItems = this.mapGlobalRolesToItems();\n this.globalRolesItemsSelected = this.getSelectedGlobalRolesItems();\n } else {\n this.selectHidden = true;\n }\n }\n\n onSelected(items: Item[]) {\n if (!items || !Array.isArray(items)) {\n return;\n }\n\n const allItemsSelected = items.length === this.globalRolesItems.length;\n this.globalRolesItemsSelected = items;\n\n if (allItemsSelected) {\n this.globalRolesIdsChange.emit(ALL_GLOBAL_ROLES_SELECTED);\n this.gainsightService.triggerEvent(PRODUCT_EXPERIENCE.DASHBOARD.EVENTS.DASHBOARDS, {\n component: PRODUCT_EXPERIENCE.DASHBOARD.COMPONENTS.DASHBOARD_AVAILABILITY,\n action: PRODUCT_EXPERIENCE.DASHBOARD.ACTIONS.APPLY_GLOBAL_ROLES_CHANGES,\n globalRoles: ALL_GLOBAL_ROLES_SELECTED\n });\n } else {\n const selectedGlobalRolesIds = items.map(i => i.id);\n this.globalRolesIdsChange.emit([...selectedGlobalRolesIds]);\n\n this.gainsightService.triggerEvent(PRODUCT_EXPERIENCE.DASHBOARD.EVENTS.DASHBOARDS, {\n component: PRODUCT_EXPERIENCE.DASHBOARD.COMPONENTS.DASHBOARD_AVAILABILITY,\n action: PRODUCT_EXPERIENCE.DASHBOARD.ACTIONS.APPLY_GLOBAL_ROLES_CHANGES,\n globalRoles: selectedGlobalRolesIds?.sort()?.join()\n });\n }\n }\n\n private async getGlobalRoles() {\n return (await this.userGroupService.list({ pageSize: this.PAGE_SIZE })).data;\n }\n\n private mapGlobalRolesToItems(): Item[] {\n return this.globalRoles.map(({ name, id }) => ({\n name,\n id\n }));\n }\n\n private getSelectedGlobalRolesItems(): Item[] {\n if (!this.globalRolesIds || this.globalRolesIds === ALL_GLOBAL_ROLES_SELECTED) {\n return this.globalRolesItems;\n }\n return this.globalRolesIds\n .map(globalRoleId => this.globalRolesItems.find(gR => gR.id === globalRoleId))\n .filter(Boolean);\n }\n}\n","<fieldset class=\"c8y-fieldset c8y-fieldset--lg\">\n <legend>{{ 'Availability`of dashboard based on permissions`' | translate }}</legend>\n <c8y-form-group>\n <label for=\"availability\">\n <span\n class=\"m-r-4\"\n id=\"availability\"\n >\n {{ 'Global roles' | translate }}\n </span>\n <button\n class=\"btn-help btn-help--sm\"\n [attr.aria-label]=\"'Help' | translate\"\n popover=\"{{\n 'Select the global roles for which the dashboard will be available' | translate\n }}\"\n placement=\"right\"\n triggers=\"focus\"\n container=\"body\"\n type=\"button\"\n ></button>\n </label>\n <c8y-select-legacy\n *ngIf=\"!selectHidden\"\n [items]=\"globalRolesItems\"\n [selected]=\"globalRolesItemsSelected\"\n (onChange)=\"onSelected($event)\"\n ></c8y-select-legacy>\n <p\n class=\"form-control-static\"\n *ngIf=\"selectHidden\"\n >\n {{ \"You don't have permission to change global roles.\" | translate }}\n </p>\n </c8y-form-group>\n</fieldset>\n","import { Component, EventEmitter, forwardRef, Input, OnInit, Output } from '@angular/core';\nimport {\n gettext,\n InterAppService,\n SupportedApps,\n SupportedAppKey,\n CoreModule,\n C8yTranslatePipe,\n ProductExperienceDirective\n} from '@c8y/ngx-components';\nimport { IApplication, InventoryService } from '@c8y/client';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport {\n AllowTypeDashboard,\n ContextDashboardManagedObject,\n PRODUCT_EXPERIENCE\n} from '../context-dashboard.model';\nimport { Observable } from 'rxjs';\nimport { ActivatedRoute } from '@angular/router';\nimport { TypeDashboardInfoComponent } from '../type-dashboard-info/type-dashboard-info.component';\n\n@Component({\n selector: 'c8y-typed-dashboard-settings',\n templateUrl: './typed-dashboard-settings.component.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TypedDashboardSettingsComponent),\n multi: true\n }\n ],\n standalone: true,\n imports: [C8yTranslatePipe, CoreModule, TypeDashboardInfoComponent, ProductExperienceDirective]\n})\nexport class TypedDashboardSettingsComponent implements ControlValueAccessor, OnInit {\n value: boolean;\n touched = false;\n disabled = false;\n\n @Input() deviceTypeValue: string;\n @Input() displayDeviceTypeValue: string;\n @Input() formInvalid: boolean;\n @Input() mo: ContextDashboardManagedObject;\n @Input() isDevice: boolean;\n @Input() allowTypeDashboard: AllowTypeDashboard;\n @Output() onDuplicateWithoutType = new EventEmitter<void>();\n typedDashboardStatus: string;\n infoText: string;\n deviceTypeInstancesCount: number;\n showSourceNavigationLink$: Observable<boolean>;\n userDeviceManagementApp$: Observable<IApplication>;\n context: any;\n deviceManagementAppKey: SupportedAppKey = SupportedApps.devicemanagement;\n deviceManagementLinkTitle = gettext('Device Info page in {{ deviceManagementAppName }}');\n PRODUCT_EXPERIENCE = PRODUCT_EXPERIENCE;\n\n constructor(\n private inventory: InventoryService,\n private interAppService: InterAppService,\n private route: ActivatedRoute\n ) {}\n\n async ngOnInit() {\n this.userDeviceManagementApp$ = this.interAppService.getApp$(this.deviceManagementAppKey);\n this.context = this.route.parent.snapshot.data.contextData;\n this.showSourceNavigationLink$ = this.interAppService.shouldShowAppLink$(\n this.deviceManagementAppKey\n );\n }\n\n async goToDeviceView(): Promise<void> {\n await this.interAppService.navigateToApp(\n this.deviceManagementAppKey,\n `#/device/${this.context.id}/device-info`\n );\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onChange = _ => {};\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onTouched = () => {};\n\n writeValue(value: boolean): void {\n this.value = value;\n this.updateTexts();\n if (value) {\n this.updateDeviceTypeCount();\n }\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(onTouched: any): void {\n this.onTouched = onTouched;\n }\n\n markAsTouched(): void {\n if (!this.touched) {\n this.onTouched();\n this.touched = true;\n }\n }\n\n setDisabledState(disabled: boolean): void {\n this.disabled = disabled;\n }\n\n async toggle(): Promise<void> {\n this.value = !this.value;\n this.onChange(this.value);\n if (this.value && this.deviceTypeInstancesCount == null) {\n this.setDisabledState(true);\n await this.updateDeviceTypeCount();\n }\n this.updateTexts();\n this.setDisabledState(false);\n }\n\n private updateTexts(): void {\n this.typedDashboardStatus = this.value\n ? gettext('Enabled`typed dashboard`')\n : gettext('Disabled`typed dashboard`');\n\n if (this.allowTypeDashboard === 'allow_if_type_filled') {\n this.infoText = gettext(\n `<p class=\"p-b-8\">Enabling this option uses the layout and configuration of this dashboard to create dashboard instances for all devices based on the device type.</p>\n <p class=\"p-b-16\">The current device doesn't have a device type assigned to it. Assign a device type to the device via the \"Asset properties\" widget in the <strong>Info</strong> tab of the device.</p>`\n );\n return;\n }\n\n if (this.value) {\n if (this.isDevice) {\n this.infoText = gettext(\n `<p class=\"p-b-8\">\n The layout and configuration of this dashboard is used by all devices based on device type <span class=\"tag tag--info text-12\">{{ displayDeviceTypeValue }}</span>.\n </p>\n <p class=\"p-b-16\">\n Disabling this option removes it from all devices based on the same type and makes it available only for the current instance.\n </p>`\n );\n } else {\n this.infoText = gettext(\n `<p class=\"p-b-8\">\n The layout and configuration of this dashboard is used by all assets based on asset model <span class=\"tag tag--info text-12\">{{ displayDeviceTypeValue }}</span>.\n </p>\n <p class=\"p-b-16\">\n Disabling this option removes it from all assets based on the same model and makes it available only for the current instance.\n </p>`\n );\n }\n } else {\n if (this.isDevice) {\n this.infoText = gettext(\n `<p>Enabling this option uses the layout and configuration of this dashboard to create dashboard instances for all devices based on the type <span class=\"tag tag--info text-12\">{{ displayDeviceTypeValue }}</span>.</p>`\n );\n } else {\n this.infoText = gettext(\n `<p>Enabling this option uses the layout and configuration of this dashboard to create dashboard instances for all assets based on the model <span class=\"tag tag--info text-12\">{{ displayDeviceTypeValue }}</span>.</p>`\n );\n }\n }\n }\n\n private async updateDeviceTypeCount(): Promise<void> {\n const count = await this.inventory.count({\n type: this.deviceTypeValue\n });\n this.deviceTypeInstancesCount = count.data;\n }\n}\n","<fieldset class=\"c8y-fieldset c8y-fieldset--lg\">\n <legend>{{ 'Dashboard template' | translate }}</legend>\n <div class=\"d-flex p-b-16 gap-16\">\n <label class=\"c8y-switch flex-no-shrink\">\n <input\n type=\"checkbox\"\n [checked]=\"value\"\n [disabled]=\"disabled\"\n (click)=\"toggle()\"\n />\n <span></span>\n <span>{{ typedDashboardStatus | translate }}</span>\n </label>\n <div class=\"flex-grow d-flex d-col\">\n <div\n class=\"flex-grow\"\n [innerHtml]=\"infoText | translate: { displayDeviceTypeValue: displayDeviceTypeValue }\"\n ></div>\n <button\n class=\"btn-link p-0 m-r-auto\"\n type=\"button\"\n *ngIf=\"allowTypeDashboard === 'allow_if_type_filled' && showSourceNavigationLink$ | async\"\n (click)=\"goToDeviceView()\"\n >\n {{\n deviceManagementLinkTitle\n | translate\n : {\n deviceManagementAppName:\n userDeviceManagementApp$ | async | humanizeAppName | async\n }\n }}\n <i c8yIcon=\"external-link\"></i>\n </button>\n </div>\n </div>\n\n <c8y-type-dashboard-info\n *ngIf=\"allowTypeDashboard === 'allow'\"\n [context]=\"mo\"\n [deviceTypeValue]=\"deviceTypeValue\"\n [displayDeviceTypeValue]=\"displayDeviceTypeValue\"\n ></c8y-type-dashboard-info>\n\n <div\n class=\"p-t-8 p-b-16\"\n *ngIf=\"mo?.c8y_Dashboard && value\"\n >\n <button\n class=\"btn btn-default btn-sm\"\n type=\"button\"\n c8yProductExperience\n [actionName]=\"PRODUCT_EXPERIENCE.DASHBOARD.EVENTS.DASHBOARD_TEMPLATE\"\n [actionData]=\"{\n component: PRODUCT_EXPERIENCE.DASHBOARD.COMPONENTS.TYPED_DASHBOARD_SETTINGS,\n action: PRODUCT_EXPERIENCE.DASHBOARD.ACTIONS.DUPLICATE_AS_REGULAR_DASHBOARD\n }\"\n (click)=\"onDuplicateWithoutType.emit()\"\n [disabled]=\"formInvalid\"\n >\n {{ 'Duplicate as regular dashboard' | translate }}\n </button>\n </div>\n</fieldset>\n","import { Component } from '@angular/core';\nimport {\n AllowTypeDashboard,\n ContextDashboard,\n ContextDashboardManagedObject,\n DashboardGlobalRoles,\n DashboardMetadata\n} from '../context-dashboard.model';\nimport {\n C8yTranslatePipe,\n CoreModule,\n gettext,\n NavigatorNode,\n NavigatorService\n} from '@c8y/ngx-components';\nimport { Observable } from 'rxjs';\nimport { DashboardDetailService } from '../dashboard-detail.service';\nimport { IconSelectorModule } from '@c8y/ngx-components/icon-selector';\nimport { PopoverModule } from 'ngx-bootstrap/popover';\nimport { DashboardAvailabilityComponent } from '../dashboard-availability.component';\nimport { TypedDashboardSettingsComponent } from './typed-dashboard-settings.component';\n\n@Component({\n selector: 'c8y-dashboard-general-settings',\n templateUrl: './dashboard-general-settings.component.html',\n standalone: true,\n imports: [\n CoreModule,\n IconSelectorModule,\n C8yTranslatePipe,\n PopoverModule,\n DashboardAvailabilityComponent,\n TypedDashboardSettingsComponent\n ]\n})\nexport class DashboardGeneralSettingsComponent implements Omit<DashboardMetadata, 'context'> {\n isReport: boolean;\n isNamedDashboard: boolean;\n hideAvailability: boolean;\n dashboard: ContextDashboard;\n deviceTypeValue: string;\n displayDeviceTypeValue: string;\n allowTypeDashboard: AllowTypeDashboard;\n isDevice: boolean;\n mo: ContextDashboardManagedObject;\n\n generalSettingsForm: DashboardDetailService['generalSettingsForm'];\n dashboardName: string;\n navigatorNodes$: Observable<NavigatorNode[]>;\n globalRolesIds: DashboardGlobalRoles;\n readonly priorityExampleLabel = gettext('e.g. {{ example }}');\n readonly positionInTabsExampleLabel = gettext('Position in tabs (10000 first, -10000 last)');\n namePlaceholder: string;\n constructor(\n private navigatorService: NavigatorService,\n private dashboardDetailService: DashboardDetailService\n ) {}\n\n ngOnInit() {\n this.generalSettingsForm = this.dashboardDetailService.generalSettingsForm;\n Object.assign(this, this.dashboardDetailService.details);\n this.namePlaceholder = this.isReport ? gettext('e.g. My report') : gettext('e.g. My dashboard');\n this.navigatorNodes$ = this.navigatorService.items$;\n this.globalRolesIds = this.generalSettingsForm.value.globalRolesIds;\n }\n\n changeGlobalRoleIds() {\n this.generalSettingsForm.get('globalRolesIds').setValue(this.globalRolesIds);\n this.generalSettingsForm.markAsDirty();\n }\n\n async duplicateWithoutType() {\n await this.dashboardDetailService.duplicateWithoutTypeFn();\n }\n}\n","<div\n class=\"row\"\n [formGroup]=\"generalSettingsForm\"\n>\n <div\n class=\"col-xs-12 p-b-24\"\n [ngClass]=\"{ 'col-md-6': !isReport, 'col-md-8': isReport }\"\n *ngIf=\"!isNamedDashboard || isReport\"\n >\n <fieldset class=\"c8y-fieldset c8y-fieldset--lg m-b-24\">\n <legend>{{ 'Navigation' | translate }}</legend>\n <div class=\"d-flex gap-16\">\n <c8y-form-group>\n <label>{{ 'Icon' | translate }}</label>\n <c8y-icon-selector-wrapper\n [iconSize]=\"24\"\n name=\"icon\"\n formControlName=\"icon\"\n ></c8y-icon-selector-wrapper>\n </c8y-form-group>\n <c8y-form-group class=\"flex-grow\">\n <label for=\"menuLabel\">\n {{ 'Menu label' | translate }}\n <button\n class=\"btn-help btn-help--sm\"\n [attr.aria-label]=\"'Help' | translate\"\n popover=\"{{\n 'Menu label to display in submenu when dashboard is attached' | translate\n }}\"\n placement=\"right\"\n triggers=\"focus\"\n container=\"body\"\n type=\"button\"\n ></button>\n </label>\n <input\n class=\"form-control\"\n id=\"menuLabel\"\n placeholder=\"{{ namePlaceholder | translate }}\"\n name=\"name\"\n type=\"text\"\n formControlName=\"name\"\n />\n </c8y-form-group>\n </div>\n\n <c8y-form-group>\n <label for=\"description\">{{ 'Description ' | translate }}</label>\n <textarea\n class=\"form-control\"\n id=\"description\"\n name=\"description\"\n c8y-textarea-autoresize\n formControlName=\"description\"\n ></textarea>\n </c8y-form-group>\n\n <div class=\"row\">\n <div\n class=\"col-lg-7 col-xs-12\"\n *ngIf=\"!isReport\"\n >\n <c8y-form-group>\n <label for=\"position\">\n {{ 'Position in tabs' | translate }}\n <button\n class=\"btn-help btn-help--sm\"\n [attr.aria-label]=\"'Help' | translate\"\n popover=\"{{ positionInTabsExampleLabel | translate }}\"\n placement=\"right\"\n triggers=\"focus\"\n container=\"body\"\n type=\"button\"\n ></button>\n </label>\n <input\n class=\"form-control\"\n id=\"positionNav\"\n placeholder=\"{{ priorityExampleLabel | translate: { example: '500' } }}\"\n name=\"priority\"\n for=\"position\"\n type=\"number\"\n formControlName=\"priority\"\n />\n </c8y-form-group>\n </div>\n\n <div\n class=\"col-xs-6\"\n *ngIf=\"isReport\"\n >\n <label translate>Navigator menu item</label>\n <c8y-form-group>\n <label\n class=\"c8y-switch\"\n title=\"{{ 'Show in navigator' | translate }}\"\n >\n <input\n type=\"checkbox\"\n formControlName=\"c8y_IsNavigatorNode\"\n />\n <span></span>\n <span>{{ 'Show in navigator' | translate }}</span>\n </label>\n </c8y-form-group>\n </div>\n\n <div\n class=\"col-xs-6\"\n *ngIf=\"isReport && generalSettingsForm.value.c8y_IsNavigatorNode\"\n >\n <c8y-form-group>\n <label\n class=\"d-block\"\n for=\"position\"\n >\n {{ 'Position in navigator' | translate }}\n <ng-template #positionInNavPop>\n <span>\n {{ positionInTabsExampleLabel | translate }}&nbsp;\n {{ 'Existing nodes:' | translate }}\n </span>\n <ul class=\"list-unstyled m-t-16 m-b-0\">\n <li\n class=\"p-t-4 p-b-4\"\n title=\"{{ node.label | translate }}\"\n *ngFor=\"let node of navigatorNodes$ | async\"\n >\n <div class=\"icon-flex fit-w\">\n <i [c8yIcon]=\"node.icon\"></i>\n <span class=\"text-truncate m-l-4 m-r-16 flex-grow\">\n {{ node.label | translate }}\n </span>\n <span class=\"text-medium flex-no-shrink\">{{ node.priority }}</span>\n </div>\n </li>\n </ul>\n </ng-template>\n <button\n class=\"btn-help btn-help--sm\"\n [attr.aria-label]=\"'Help' | translate\"\n [popover]=\"positionInNavPop\"\n placement=\"right\"\n triggers=\"focus\"\n container=\"body\"\n type=\"button\"\n ></button>\n </label>\n <input\n class=\"form-control\"\n placeholder=\"{{ priorityExampleLabel | translate: { example: '500' } }}\"\n name=\"priority\"\n for=\"position\"\n type=\"number\"\n formControlName=\"priority\"\n />\n </c8y-form-group>\n </div>\n </div>\n </fieldset>\n <c8y-dashboard-availability\n *ngIf=\"\n !!isReport === false &&\n allowTypeDashboard &&\n deviceTypeValue &&\n generalSettingsForm.get('deviceType') &&\n !hideAvailability\n \"\n [(globalRolesIds)]=\"globalRolesIds\"\n (globalRolesIdsChange)=\"changeGlobalRoleIds()\"\n ></c8y-dashboard-availability>\n </div>\n\n <div class=\"col-xs-12 col-md-6 p-b-24\">\n <c8y-typed-dashboard-settings\n *ngIf=\"allowTypeDashboard !== 'disallow'\"\n formControlName=\"deviceType\"\n [deviceTypeValue]=\"deviceTypeValue\"\n [displayDeviceTypeValue]=\"displayDeviceTypeValue\"\n [formInvalid]=\"generalSettingsForm.invalid\"\n [mo]=\"mo\"\n [isDevice]=\"isDevice\"\n [allowTypeDashboard]=\"allowTypeDashboard\"\n (onDuplicateWithoutType)=\"duplicateWithoutType()\"\n ></c8y-typed-dashboard-settings>\n <c8y-dashboard-availability\n *ngIf=\"\n !!isReport === false &&\n (!allowTypeDashboard || !deviceTypeValue || !generalSettingsForm.get('deviceType')) &&\n !hideAvailability\n \"\n [(globalRolesIds)]=\"globalRolesIds\"\n (globalRolesIdsChange)=\"changeGlobalRoleIds()\"\n ></c8y-dashboard-availability>\n </div>\n</div>\n"],"names":["i3","i1","i2.DashboardDetailService","i4","i5","i6"],"mappings":"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"}
1
+ {"version":3,"file":"c8y-ngx-components-context-dashboard-dashboard-general-settings.component-RXvOcs04.mjs","sources":["../../context-dashboard/dashboard-availability.component.ts","../../context-dashboard/dashboard-availability.component.html","../../context-dashboard/dashboard-settings/typed-dashboard-settings.component.ts","../../context-dashboard/dashboard-settings/typed-dashboard-settings.component.html","../../context-dashboard/dashboard-settings/dashboard-general-settings.component.ts","../../context-dashboard/dashboard-settings/dashboard-general-settings.component.html"],"sourcesContent":["import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { IUserGroup, UserGroupService } from '@c8y/client';\nimport {\n C8yTranslatePipe,\n FormsModule,\n GainsightService,\n Item,\n Permissions,\n SelectModule\n} from '@c8y/ngx-components';\nimport {\n DashboardGlobalRoles,\n ALL_GLOBAL_ROLES_SELECTED,\n PRODUCT_EXPERIENCE\n} from './context-dashboard.model';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { PopoverModule } from 'ngx-bootstrap/popover';\nimport { NgIf } from '@angular/common';\n\n@Component({\n selector: 'c8y-dashboard-availability',\n templateUrl: './dashboard-availability.component.html',\n standalone: true,\n imports: [C8yTranslatePipe, ReactiveFormsModule, PopoverModule, FormsModule, NgIf, SelectModule]\n})\nexport class DashboardAvailabilityComponent implements OnInit {\n /**\n * Ids of global roles assigned to the dashboard or a string \"all\" indicating the selection of all global roles.\n * The value undefined is treated as equivalent to 'all'.\n */\n @Input()\n get globalRolesIds(): DashboardGlobalRoles {\n return this._globalRolesIds;\n }\n set globalRolesIds(ids: DashboardGlobalRoles) {\n if (!ids || ids === ALL_GLOBAL_ROLES_SELECTED) {\n this._globalRolesIds = ALL_GLOBAL_ROLES_SELECTED;\n return;\n }\n this._globalRolesIds = [...ids];\n }\n @Output() globalRolesIdsChange = new EventEmitter<DashboardGlobalRoles>();\n globalRolesItems: Item[] = [];\n globalRolesItemsSelected: Item[] = [];\n selectHidden = false;\n private globalRoles: IUserGroup[] = [];\n private PAGE_SIZE = 100;\n private _globalRolesIds: DashboardGlobalRoles;\n\n constructor(\n private userGroupService: UserGroupService,\n private gainsightService: GainsightService,\n private permissions: Permissions\n ) {}\n\n async ngOnInit() {\n if (this.permissions.hasRole(Permissions.ROLE_USER_MANAGEMENT_READ)) {\n this.globalRoles = await this.getGlobalRoles();\n this.globalRolesItems = this.mapGlobalRolesToItems();\n this.globalRolesItemsSelected = this.getSelectedGlobalRolesItems();\n } else {\n this.selectHidden = true;\n }\n }\n\n onSelected(items: Item[]) {\n if (!items || !Array.isArray(items)) {\n return;\n }\n\n const allItemsSelected = items.length === this.globalRolesItems.length;\n this.globalRolesItemsSelected = items;\n\n if (allItemsSelected) {\n this.globalRolesIdsChange.emit(ALL_GLOBAL_ROLES_SELECTED);\n this.gainsightService.triggerEvent(PRODUCT_EXPERIENCE.DASHBOARD.EVENTS.DASHBOARDS, {\n component: PRODUCT_EXPERIENCE.DASHBOARD.COMPONENTS.DASHBOARD_AVAILABILITY,\n action: PRODUCT_EXPERIENCE.DASHBOARD.ACTIONS.APPLY_GLOBAL_ROLES_CHANGES,\n globalRoles: ALL_GLOBAL_ROLES_SELECTED\n });\n } else {\n const selectedGlobalRolesIds = items.map(i => i.id);\n this.globalRolesIdsChange.emit([...selectedGlobalRolesIds]);\n\n this.gainsightService.triggerEvent(PRODUCT_EXPERIENCE.DASHBOARD.EVENTS.DASHBOARDS, {\n component: PRODUCT_EXPERIENCE.DASHBOARD.COMPONENTS.DASHBOARD_AVAILABILITY,\n action: PRODUCT_EXPERIENCE.DASHBOARD.ACTIONS.APPLY_GLOBAL_ROLES_CHANGES,\n globalRoles: selectedGlobalRolesIds?.sort()?.join()\n });\n }\n }\n\n private async getGlobalRoles() {\n return (await this.userGroupService.list({ pageSize: this.PAGE_SIZE })).data;\n }\n\n private mapGlobalRolesToItems(): Item[] {\n return this.globalRoles.map(({ name, id }) => ({\n name,\n id\n }));\n }\n\n private getSelectedGlobalRolesItems(): Item[] {\n if (!this.globalRolesIds || this.globalRolesIds === ALL_GLOBAL_ROLES_SELECTED) {\n return this.globalRolesItems;\n }\n return this.globalRolesIds\n .map(globalRoleId => this.globalRolesItems.find(gR => gR.id === globalRoleId))\n .filter(Boolean);\n }\n}\n","<fieldset class=\"c8y-fieldset c8y-fieldset--lg\">\n <legend>{{ 'Availability`of dashboard based on permissions`' | translate }}</legend>\n <c8y-form-group>\n <label for=\"availability\">\n <span\n class=\"m-r-4\"\n id=\"availability\"\n >\n {{ 'Global roles' | translate }}\n </span>\n <button\n class=\"btn-help btn-help--sm\"\n [attr.aria-label]=\"'Help' | translate\"\n popover=\"{{\n 'Select the global roles for which the dashboard will be available' | translate\n }}\"\n placement=\"right\"\n triggers=\"focus\"\n container=\"body\"\n type=\"button\"\n ></button>\n </label>\n <c8y-select-legacy\n *ngIf=\"!selectHidden\"\n [items]=\"globalRolesItems\"\n [selected]=\"globalRolesItemsSelected\"\n (onChange)=\"onSelected($event)\"\n ></c8y-select-legacy>\n <p\n class=\"form-control-static\"\n *ngIf=\"selectHidden\"\n >\n {{ \"You don't have permission to change global roles.\" | translate }}\n </p>\n </c8y-form-group>\n</fieldset>\n","import { Component, EventEmitter, forwardRef, Input, OnInit, Output } from '@angular/core';\nimport {\n gettext,\n InterAppService,\n SupportedApps,\n SupportedAppKey,\n CoreModule,\n C8yTranslatePipe,\n ProductExperienceDirective\n} from '@c8y/ngx-components';\nimport { IApplication, InventoryService } from '@c8y/client';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport {\n AllowTypeDashboard,\n ContextDashboardManagedObject,\n PRODUCT_EXPERIENCE\n} from '../context-dashboard.model';\nimport { Observable } from 'rxjs';\nimport { ActivatedRoute } from '@angular/router';\nimport { TypeDashboardInfoComponent } from '../type-dashboard-info/type-dashboard-info.component';\n\n@Component({\n selector: 'c8y-typed-dashboard-settings',\n templateUrl: './typed-dashboard-settings.component.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TypedDashboardSettingsComponent),\n multi: true\n }\n ],\n standalone: true,\n imports: [C8yTranslatePipe, CoreModule, TypeDashboardInfoComponent, ProductExperienceDirective]\n})\nexport class TypedDashboardSettingsComponent implements ControlValueAccessor, OnInit {\n value: boolean;\n touched = false;\n disabled = false;\n\n @Input() deviceTypeValue: string;\n @Input() displayDeviceTypeValue: string;\n @Input() formInvalid: boolean;\n @Input() mo: ContextDashboardManagedObject;\n @Input() isDevice: boolean;\n @Input() allowTypeDashboard: AllowTypeDashboard;\n @Output() onDuplicateWithoutType = new EventEmitter<void>();\n typedDashboardStatus: string;\n infoText: string;\n deviceTypeInstancesCount: number;\n showSourceNavigationLink$: Observable<boolean>;\n userDeviceManagementApp$: Observable<IApplication>;\n context: any;\n deviceManagementAppKey: SupportedAppKey = SupportedApps.devicemanagement;\n deviceManagementLinkTitle = gettext('Device Info page in {{ deviceManagementAppName }}');\n PRODUCT_EXPERIENCE = PRODUCT_EXPERIENCE;\n\n constructor(\n private inventory: InventoryService,\n private interAppService: InterAppService,\n private route: ActivatedRoute\n ) {}\n\n async ngOnInit() {\n this.userDeviceManagementApp$ = this.interAppService.getApp$(this.deviceManagementAppKey);\n this.context = this.route.parent.snapshot.data.contextData;\n this.showSourceNavigationLink$ = this.interAppService.shouldShowAppLink$(\n this.deviceManagementAppKey\n );\n }\n\n async goToDeviceView(): Promise<void> {\n await this.interAppService.navigateToApp(\n this.deviceManagementAppKey,\n `#/device/${this.context.id}/device-info`\n );\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onChange = _ => {};\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onTouched = () => {};\n\n writeValue(value: boolean): void {\n this.value = value;\n this.updateTexts();\n if (value) {\n this.updateDeviceTypeCount();\n }\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(onTouched: any): void {\n this.onTouched = onTouched;\n }\n\n markAsTouched(): void {\n if (!this.touched) {\n this.onTouched();\n this.touched = true;\n }\n }\n\n setDisabledState(disabled: boolean): void {\n this.disabled = disabled;\n }\n\n async toggle(): Promise<void> {\n this.value = !this.value;\n this.onChange(this.value);\n if (this.value && this.deviceTypeInstancesCount == null) {\n this.setDisabledState(true);\n await this.updateDeviceTypeCount();\n }\n this.updateTexts();\n this.setDisabledState(false);\n }\n\n private updateTexts(): void {\n this.typedDashboardStatus = this.value\n ? gettext('Enabled`typed dashboard`')\n : gettext('Disabled`typed dashboard`');\n\n if (this.allowTypeDashboard === 'allow_if_type_filled') {\n this.infoText = gettext(\n `<p class=\"p-b-8\">Enabling this option uses the layout and configuration of this dashboard to create dashboard instances for all devices based on the device type.</p>\n <p class=\"p-b-16\">The current device doesn't have a device type assigned to it. Assign a device type to the device via the \"Asset properties\" widget in the <strong>Info</strong> tab of the device.</p>`\n );\n return;\n }\n\n if (this.value) {\n if (this.isDevice) {\n this.infoText = gettext(\n `<p class=\"p-b-8\">\n The layout and configuration of this dashboard is used by all devices based on device type <span class=\"tag tag--info text-12\">{{ displayDeviceTypeValue }}</span>.\n </p>\n <p class=\"p-b-16\">\n Disabling this option removes it from all devices based on the same type and makes it available only for the current instance.\n </p>`\n );\n } else {\n this.infoText = gettext(\n `<p class=\"p-b-8\">\n The layout and configuration of this dashboard is used by all assets based on asset model <span class=\"tag tag--info text-12\">{{ displayDeviceTypeValue }}</span>.\n </p>\n <p class=\"p-b-16\">\n Disabling this option removes it from all assets based on the same model and makes it available only for the current instance.\n </p>`\n );\n }\n } else {\n if (this.isDevice) {\n this.infoText = gettext(\n `<p>Enabling this option uses the layout and configuration of this dashboard to create dashboard instances for all devices based on the type <span class=\"tag tag--info text-12\">{{ displayDeviceTypeValue }}</span>.</p>`\n );\n } else {\n this.infoText = gettext(\n `<p>Enabling this option uses the layout and configuration of this dashboard to create dashboard instances for all assets based on the model <span class=\"tag tag--info text-12\">{{ displayDeviceTypeValue }}</span>.</p>`\n );\n }\n }\n }\n\n private async updateDeviceTypeCount(): Promise<void> {\n const count = await this.inventory.count({\n type: this.deviceTypeValue\n });\n this.deviceTypeInstancesCount = count.data;\n }\n}\n","<fieldset class=\"c8y-fieldset c8y-fieldset--lg\">\n <legend>{{ 'Dashboard template' | translate }}</legend>\n <div class=\"d-flex p-b-16 gap-16\">\n <label class=\"c8y-switch flex-no-shrink\">\n <input\n type=\"checkbox\"\n [checked]=\"value\"\n [disabled]=\"disabled\"\n (click)=\"toggle()\"\n />\n <span></span>\n <span>{{ typedDashboardStatus | translate }}</span>\n </label>\n <div class=\"flex-grow d-flex d-col\">\n <div\n class=\"flex-grow\"\n [innerHtml]=\"infoText | translate: { displayDeviceTypeValue: displayDeviceTypeValue }\"\n ></div>\n <button\n class=\"btn-link p-0 m-r-auto\"\n type=\"button\"\n *ngIf=\"allowTypeDashboard === 'allow_if_type_filled' && showSourceNavigationLink$ | async\"\n (click)=\"goToDeviceView()\"\n >\n {{\n deviceManagementLinkTitle\n | translate\n : {\n deviceManagementAppName:\n userDeviceManagementApp$ | async | humanizeAppName | async\n }\n }}\n <i c8yIcon=\"external-link\"></i>\n </button>\n </div>\n </div>\n\n <c8y-type-dashboard-info\n *ngIf=\"allowTypeDashboard === 'allow'\"\n [context]=\"mo\"\n [deviceTypeValue]=\"deviceTypeValue\"\n [displayDeviceTypeValue]=\"displayDeviceTypeValue\"\n ></c8y-type-dashboard-info>\n\n <div\n class=\"p-t-8 p-b-16\"\n *ngIf=\"mo?.c8y_Dashboard && value\"\n >\n <button\n class=\"btn btn-default btn-sm\"\n type=\"button\"\n c8yProductExperience\n [actionName]=\"PRODUCT_EXPERIENCE.DASHBOARD.EVENTS.DASHBOARD_TEMPLATE\"\n [actionData]=\"{\n component: PRODUCT_EXPERIENCE.DASHBOARD.COMPONENTS.TYPED_DASHBOARD_SETTINGS,\n action: PRODUCT_EXPERIENCE.DASHBOARD.ACTIONS.DUPLICATE_AS_REGULAR_DASHBOARD\n }\"\n (click)=\"onDuplicateWithoutType.emit()\"\n [disabled]=\"formInvalid\"\n >\n {{ 'Duplicate as regular dashboard' | translate }}\n </button>\n </div>\n</fieldset>\n","import { Component } from '@angular/core';\nimport {\n AllowTypeDashboard,\n ContextDashboard,\n ContextDashboardManagedObject,\n DashboardGlobalRoles,\n DashboardMetadata\n} from '../context-dashboard.model';\nimport {\n C8yTranslatePipe,\n CoreModule,\n gettext,\n NavigatorNode,\n NavigatorService\n} from '@c8y/ngx-components';\nimport { Observable } from 'rxjs';\nimport { DashboardDetailService } from '../dashboard-detail.service';\nimport { IconSelectorModule } from '@c8y/ngx-components/icon-selector';\nimport { PopoverModule } from 'ngx-bootstrap/popover';\nimport { DashboardAvailabilityComponent } from '../dashboard-availability.component';\nimport { TypedDashboardSettingsComponent } from './typed-dashboard-settings.component';\n\n@Component({\n selector: 'c8y-dashboard-general-settings',\n templateUrl: './dashboard-general-settings.component.html',\n standalone: true,\n imports: [\n CoreModule,\n IconSelectorModule,\n C8yTranslatePipe,\n PopoverModule,\n DashboardAvailabilityComponent,\n TypedDashboardSettingsComponent\n ]\n})\nexport class DashboardGeneralSettingsComponent implements Omit<DashboardMetadata, 'context'> {\n isReport: boolean;\n isNamedDashboard: boolean;\n hideAvailability: boolean;\n dashboard: ContextDashboard;\n deviceTypeValue: string;\n displayDeviceTypeValue: string;\n allowTypeDashboard: AllowTypeDashboard;\n isDevice: boolean;\n mo: ContextDashboardManagedObject;\n\n generalSettingsForm: DashboardDetailService['generalSettingsForm'];\n dashboardName: string;\n navigatorNodes$: Observable<NavigatorNode[]>;\n globalRolesIds: DashboardGlobalRoles;\n readonly priorityExampleLabel = gettext('e.g. {{ example }}');\n readonly positionInTabsExampleLabel = gettext('Position in tabs (10000 first, -10000 last)');\n namePlaceholder: string;\n constructor(\n private navigatorService: NavigatorService,\n private dashboardDetailService: DashboardDetailService\n ) {}\n\n ngOnInit() {\n this.generalSettingsForm = this.dashboardDetailService.generalSettingsForm;\n Object.assign(this, this.dashboardDetailService.details);\n this.namePlaceholder = this.isReport ? gettext('e.g. My report') : gettext('e.g. My dashboard');\n this.navigatorNodes$ = this.navigatorService.items$;\n this.globalRolesIds = this.generalSettingsForm.value.globalRolesIds;\n }\n\n changeGlobalRoleIds() {\n this.generalSettingsForm.get('globalRolesIds').setValue(this.globalRolesIds);\n this.generalSettingsForm.markAsDirty();\n }\n\n async duplicateWithoutType() {\n await this.dashboardDetailService.duplicateWithoutTypeFn();\n }\n}\n","<div\n class=\"row\"\n [formGroup]=\"generalSettingsForm\"\n>\n <div\n class=\"col-xs-12 p-b-24\"\n [ngClass]=\"{ 'col-md-6': !isReport, 'col-md-8': isReport }\"\n *ngIf=\"!isNamedDashboard || isReport\"\n >\n <fieldset class=\"c8y-fieldset c8y-fieldset--lg m-b-24\">\n <legend>{{ 'Navigation' | translate }}</legend>\n <div class=\"d-flex gap-16\">\n <c8y-form-group>\n <label>{{ 'Icon' | translate }}</label>\n <c8y-icon-selector-wrapper\n [iconSize]=\"24\"\n name=\"icon\"\n formControlName=\"icon\"\n ></c8y-icon-selector-wrapper>\n </c8y-form-group>\n <c8y-form-group class=\"flex-grow\">\n <label for=\"menuLabel\">\n {{ 'Menu label' | translate }}\n <button\n class=\"btn-help btn-help--sm\"\n [attr.aria-label]=\"'Help' | translate\"\n popover=\"{{\n 'Menu label to display in submenu when dashboard is attached' | translate\n }}\"\n placement=\"right\"\n triggers=\"focus\"\n container=\"body\"\n type=\"button\"\n ></button>\n </label>\n <input\n class=\"form-control\"\n id=\"menuLabel\"\n placeholder=\"{{ namePlaceholder | translate }}\"\n name=\"name\"\n type=\"text\"\n formControlName=\"name\"\n />\n </c8y-form-group>\n </div>\n\n <c8y-form-group>\n <label for=\"description\">{{ 'Description ' | translate }}</label>\n <textarea\n class=\"form-control\"\n id=\"description\"\n name=\"description\"\n c8y-textarea-autoresize\n formControlName=\"description\"\n ></textarea>\n </c8y-form-group>\n\n <div class=\"row\">\n <div\n class=\"col-lg-7 col-xs-12\"\n *ngIf=\"!isReport\"\n >\n <c8y-form-group>\n <label for=\"position\">\n {{ 'Position in tabs' | translate }}\n <button\n class=\"btn-help btn-help--sm\"\n [attr.aria-label]=\"'Help' | translate\"\n popover=\"{{ positionInTabsExampleLabel | translate }}\"\n placement=\"right\"\n triggers=\"focus\"\n container=\"body\"\n type=\"button\"\n ></button>\n </label>\n <input\n class=\"form-control\"\n id=\"positionNav\"\n placeholder=\"{{ priorityExampleLabel | translate: { example: '500' } }}\"\n name=\"priority\"\n for=\"position\"\n type=\"number\"\n formControlName=\"priority\"\n />\n </c8y-form-group>\n </div>\n\n <div\n class=\"col-xs-6\"\n *ngIf=\"isReport\"\n >\n <label translate>Navigator menu item</label>\n <c8y-form-group>\n <label\n class=\"c8y-switch\"\n title=\"{{ 'Show in navigator' | translate }}\"\n >\n <input\n type=\"checkbox\"\n formControlName=\"c8y_IsNavigatorNode\"\n />\n <span></span>\n <span>{{ 'Show in navigator' | translate }}</span>\n </label>\n </c8y-form-group>\n </div>\n\n <div\n class=\"col-xs-6\"\n *ngIf=\"isReport && generalSettingsForm.value.c8y_IsNavigatorNode\"\n >\n <c8y-form-group>\n <label\n class=\"d-block\"\n for=\"position\"\n >\n {{ 'Position in navigator' | translate }}\n <ng-template #positionInNavPop>\n <span>\n {{ positionInTabsExampleLabel | translate }}&nbsp;\n {{ 'Existing nodes:' | translate }}\n </span>\n <ul class=\"list-unstyled m-t-16 m-b-0\">\n <li\n class=\"p-t-4 p-b-4\"\n title=\"{{ node.label | translate }}\"\n *ngFor=\"let node of navigatorNodes$ | async\"\n >\n <div class=\"icon-flex fit-w\">\n <i [c8yIcon]=\"node.icon\"></i>\n <span class=\"text-truncate m-l-4 m-r-16 flex-grow\">\n {{ node.label | translate }}\n </span>\n <span class=\"text-medium flex-no-shrink\">{{ node.priority }}</span>\n </div>\n </li>\n </ul>\n </ng-template>\n <button\n class=\"btn-help btn-help--sm\"\n [attr.aria-label]=\"'Help' | translate\"\n [popover]=\"positionInNavPop\"\n placement=\"right\"\n triggers=\"focus\"\n container=\"body\"\n type=\"button\"\n ></button>\n </label>\n <input\n class=\"form-control\"\n placeholder=\"{{ priorityExampleLabel | translate: { example: '500' } }}\"\n name=\"priority\"\n for=\"position\"\n type=\"number\"\n formControlName=\"priority\"\n />\n </c8y-form-group>\n </div>\n </div>\n </fieldset>\n <c8y-dashboard-availability\n *ngIf=\"\n !!isReport === false &&\n allowTypeDashboard &&\n deviceTypeValue &&\n generalSettingsForm.get('deviceType') &&\n !hideAvailability\n \"\n [(globalRolesIds)]=\"globalRolesIds\"\n (globalRolesIdsChange)=\"changeGlobalRoleIds()\"\n ></c8y-dashboard-availability>\n </div>\n\n <div class=\"col-xs-12 col-md-6 p-b-24\">\n <c8y-typed-dashboard-settings\n *ngIf=\"allowTypeDashboard !== 'disallow'\"\n formControlName=\"deviceType\"\n [deviceTypeValue]=\"deviceTypeValue\"\n [displayDeviceTypeValue]=\"displayDeviceTypeValue\"\n [formInvalid]=\"generalSettingsForm.invalid\"\n [mo]=\"mo\"\n [isDevice]=\"isDevice\"\n [allowTypeDashboard]=\"allowTypeDashboard\"\n (onDuplicateWithoutType)=\"duplicateWithoutType()\"\n ></c8y-typed-dashboard-settings>\n <c8y-dashboard-availability\n *ngIf=\"\n !!isReport === false &&\n (!allowTypeDashboard || !deviceTypeValue || !generalSettingsForm.get('deviceType')) &&\n !hideAvailability\n \"\n [(globalRolesIds)]=\"globalRolesIds\"\n (globalRolesIdsChange)=\"changeGlobalRoleIds()\"\n ></c8y-dashboard-availability>\n </div>\n</div>\n"],"names":["i3","i1","i2.DashboardDetailService","i4","i5","i6"],"mappings":"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"}
@@ -5,7 +5,7 @@ import { gettext, C8yTranslatePipe, CoreModule } from '@c8y/ngx-components';
5
5
  import * as i2 from '@ngx-translate/core';
6
6
  import { cloneDeep } from 'lodash-es';
7
7
  import { ContextDashboardService, DashboardDetailService } from './c8y-ngx-components-context-dashboard.mjs';
8
- import * as i5 from '@angular/common';
8
+ import * as i3 from '@angular/common';
9
9
 
10
10
  class DashboardVersionHistoryComponent {
11
11
  constructor(translateService, contextDashboardService, dashboardDetailService) {
@@ -106,7 +106,7 @@ class DashboardVersionHistoryComponent {
106
106
  this.dashboardDetailService.revertToDashboardFn(newDashboard);
107
107
  }
108
108
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DashboardVersionHistoryComponent, deps: [{ token: i2.TranslateService }, { token: ContextDashboardService }, { token: DashboardDetailService }], target: i0.ɵɵFactoryTarget.Component }); }
109
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: DashboardVersionHistoryComponent, isStandalone: true, selector: "c8y-dashboard-version-history", ngImport: i0, template: "<div class=\"bg-component p-t-8 p-b-8 separator-bottom text-center\">\n <i\n class=\"text-info m-r-4\"\n c8yIcon=\"info\"\n ></i>\n {{\n versionHistoryLimitMessage\n | translate: { versionHistoryLimit: contextDashboardService.VERSION_HISTORY_SIZE_LIMIT }\n }}\n</div>\n<c8y-list-group class=\"p-t-24 p-b-24\">\n <c8y-li-timeline\n *ngFor=\"let dashboard of dashboardHistoryExtended; index as i\"\n [ngClass]=\"{ active: i === 0 }\"\n >\n {{ dashboard.created | date: 'mediumDate' }}\n {{ dashboard.created | date: 'shortTime' }}\n <c8y-li data-cy=\"c8y-dashboard-version-history--history-row\">\n <c8y-li-body>\n <div class=\"d-flex a-i-start\">\n <div class=\"flex-grow\">\n <span\n class=\"text-truncate-wrap\"\n title=\"{{ dashboard.descriptionText }}\"\n data-cy=\"c8y-dashboard-version-history--history-title\"\n >\n {{ dashboard.descriptionText }}\n {{\n dashboard.historyDescription.restored\n ? (restoredDashboardMessage\n | translate\n : {\n restoredStateCreationDate: dashboard.historyDescription.restored | c8yDate\n })\n : ''\n }}\n </span>\n <small\n class=\"text-muted\"\n title=\"{{ 'by`user`' | translate }} {{ dashboard.author }}\"\n *ngIf=\"dashboard.author\"\n >\n <div class=\"icon-flex\">\n <i c8yIcon=\"c8y-user\"></i>\n {{ dashboard.author }}\n </div>\n </small>\n </div>\n\n <span\n class=\"label label-primary m-l-auto\"\n title=\"{{ 'The last saved status of the dashboard' | translate }}\"\n *ngIf=\"i === 0\"\n >\n {{ 'Current`dashboard status`' | translate }}\n </span>\n <span\n class=\"m-l-auto showOnHover\"\n *ngIf=\"dashboardHistoryExtended.length > 1 && i > 0\"\n >\n <button\n class=\"btn btn-default btn-sm\"\n title=\"{{ 'Restore the dashboard to this status' | translate }}\"\n type=\"button\"\n (click)=\"revertDashboard(dashboard)\"\n >\n {{ 'Restore' | translate }}\n </button>\n </span>\n </div>\n </c8y-li-body>\n </c8y-li>\n </c8y-li-timeline>\n</c8y-list-group>\n", dependencies: [{ kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i2$1.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i5.DatePipe, name: "date" }, { kind: "pipe", type: i2$1.DatePipe, name: "c8yDate" }, { kind: "component", type: i2$1.ListGroupComponent, selector: "c8y-list-group" }, { kind: "component", type: i2$1.ListItemComponent, selector: "c8y-list-item, c8y-li", inputs: ["active", "highlighted", "emptyActions", "dense", "collapsed", "selectable"], outputs: ["collapsedChange"] }, { kind: "component", type: i2$1.ListItemBodyComponent, selector: "c8y-list-item-body, c8y-li-body", inputs: ["body"] }, { kind: "component", type: i2$1.ListItemTimelineComponent, selector: "c8y-list-item-timeline, c8y-li-timeline" }] }); }
109
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: DashboardVersionHistoryComponent, isStandalone: true, selector: "c8y-dashboard-version-history", ngImport: i0, template: "<div class=\"bg-component p-t-8 p-b-8 separator-bottom text-center\">\n <i\n class=\"text-info m-r-4\"\n c8yIcon=\"info\"\n ></i>\n {{\n versionHistoryLimitMessage\n | translate: { versionHistoryLimit: contextDashboardService.VERSION_HISTORY_SIZE_LIMIT }\n }}\n</div>\n<c8y-list-group class=\"p-t-24 p-b-24\">\n <c8y-li-timeline\n *ngFor=\"let dashboard of dashboardHistoryExtended; index as i\"\n [ngClass]=\"{ active: i === 0 }\"\n >\n {{ dashboard.created | date: 'mediumDate' }}\n {{ dashboard.created | date: 'shortTime' }}\n <c8y-li data-cy=\"c8y-dashboard-version-history--history-row\">\n <c8y-li-body>\n <div class=\"d-flex a-i-start\">\n <div class=\"flex-grow\">\n <span\n class=\"text-truncate-wrap\"\n title=\"{{ dashboard.descriptionText }}\"\n data-cy=\"c8y-dashboard-version-history--history-title\"\n >\n {{ dashboard.descriptionText }}\n {{\n dashboard.historyDescription.restored\n ? (restoredDashboardMessage\n | translate\n : {\n restoredStateCreationDate: dashboard.historyDescription.restored | c8yDate\n })\n : ''\n }}\n </span>\n <small\n class=\"text-muted\"\n title=\"{{ 'by`user`' | translate }} {{ dashboard.author }}\"\n *ngIf=\"dashboard.author\"\n >\n <div class=\"icon-flex\">\n <i c8yIcon=\"c8y-user\"></i>\n {{ dashboard.author }}\n </div>\n </small>\n </div>\n\n <span\n class=\"label label-primary m-l-auto\"\n title=\"{{ 'The last saved status of the dashboard' | translate }}\"\n *ngIf=\"i === 0\"\n >\n {{ 'Current`dashboard status`' | translate }}\n </span>\n <span\n class=\"m-l-auto showOnHover\"\n *ngIf=\"dashboardHistoryExtended.length > 1 && i > 0\"\n >\n <button\n class=\"btn btn-default btn-sm\"\n title=\"{{ 'Restore the dashboard to this status' | translate }}\"\n type=\"button\"\n (click)=\"revertDashboard(dashboard)\"\n >\n {{ 'Restore' | translate }}\n </button>\n </span>\n </div>\n </c8y-li-body>\n </c8y-li>\n </c8y-li-timeline>\n</c8y-list-group>\n", dependencies: [{ kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i2$1.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.DatePipe, name: "date" }, { kind: "pipe", type: i2$1.DatePipe, name: "c8yDate" }, { kind: "component", type: i2$1.ListGroupComponent, selector: "c8y-list-group" }, { kind: "component", type: i2$1.ListItemComponent, selector: "c8y-list-item, c8y-li", inputs: ["active", "highlighted", "emptyActions", "dense", "collapsed", "selectable"], outputs: ["collapsedChange"] }, { kind: "component", type: i2$1.ListItemBodyComponent, selector: "c8y-list-item-body, c8y-li-body", inputs: ["body"] }, { kind: "component", type: i2$1.ListItemTimelineComponent, selector: "c8y-list-item-timeline, c8y-li-timeline" }] }); }
110
110
  }
111
111
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DashboardVersionHistoryComponent, decorators: [{
112
112
  type: Component,
@@ -114,4 +114,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
114
114
  }], ctorParameters: () => [{ type: i2.TranslateService }, { type: ContextDashboardService }, { type: DashboardDetailService }] });
115
115
 
116
116
  export { DashboardVersionHistoryComponent };
117
- //# sourceMappingURL=c8y-ngx-components-context-dashboard-dashboard-version-history.component-DjCdFkJw.mjs.map
117
+ //# sourceMappingURL=c8y-ngx-components-context-dashboard-dashboard-version-history.component-DmPIJGXO.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"c8y-ngx-components-context-dashboard-dashboard-version-history.component-DjCdFkJw.mjs","sources":["../../context-dashboard/dashboard-settings/dashboard-version-history.component.ts","../../context-dashboard/dashboard-settings/dashboard-version-history.component.html"],"sourcesContent":["import { Component } from '@angular/core';\nimport { C8yTranslatePipe, CoreModule, gettext } from '@c8y/ngx-components';\nimport { ContextDashboard } from '../context-dashboard.model';\nimport { TranslateService } from '@ngx-translate/core';\nimport { cloneDeep } from 'lodash-es';\nimport { ContextDashboardService } from '../context-dashboard.service';\nimport { DashboardDetailService } from '../dashboard-detail.service';\n\n@Component({\n selector: 'c8y-dashboard-version-history',\n templateUrl: './dashboard-version-history.component.html',\n standalone: true,\n imports: [C8yTranslatePipe, CoreModule]\n})\nexport class DashboardVersionHistoryComponent {\n dashboardHistory: ContextDashboard[] = [];\n isReport: boolean;\n dashboardHistoryExtended: (ContextDashboard & { descriptionText?: string })[] = [];\n restoredDashboardMessage = gettext(\n 'Restored dashboard state from {{ restoredStateCreationDate }}'\n );\n versionHistoryLimitMessage = gettext(\n 'Store up to {{ versionHistoryLimit }} dashboard versions. Any additional versions will replace/delete older ones'\n );\n\n constructor(\n private translateService: TranslateService,\n public contextDashboardService: ContextDashboardService,\n private dashboardDetailService: DashboardDetailService\n ) {}\n\n ngOnInit() {\n this.isReport = this.dashboardDetailService.details.isReport;\n this.dashboardHistory = this.dashboardDetailService.details.mo.c8y_DashboardHistory;\n this.generateDashboardHistoryDescription();\n }\n\n generateDashboardHistoryDescription() {\n for (const dashboard of this.dashboardHistory) {\n const copiedDashboard: ContextDashboard & { descriptionText?: string } = { ...dashboard };\n\n let settingChangesMessage = '';\n let assetModelMessage = '';\n let widgetChanges = '';\n\n if (dashboard.historyDescription.changeType === 'create') {\n copiedDashboard.descriptionText = this.translateService.instant(\n this.isReport ? gettext('Report created.') : gettext('Dashboard created.')\n );\n this.dashboardHistoryExtended.push(copiedDashboard);\n continue;\n }\n if (dashboard.historyDescription.changeType === 'reset') {\n copiedDashboard.descriptionText = this.translateService.instant(gettext('Reset widgets'));\n this.dashboardHistoryExtended.push(copiedDashboard);\n continue;\n }\n\n const isDashboardUpdated = dashboard.historyDescription.dashboardSettingChanges?.length > 0;\n if (isDashboardUpdated) {\n const translatedValuesChanged = dashboard.historyDescription.dashboardSettingChanges\n .map(val => this.translateService.instant(val))\n .join(', ');\n settingChangesMessage = this.translateService.instant(\n this.isReport\n ? gettext('Report updated: {{ values }}.')\n : gettext('Dashboard updated: {{ values }}.'),\n { values: translatedValuesChanged }\n );\n }\n\n const isDeviceDashboard = dashboard.historyDescription.deviceType != null && !this.isReport;\n if (isDeviceDashboard) {\n assetModelMessage = this.translateService.instant(\n dashboard.historyDescription.deviceType\n ? gettext('Dashboard asset model has been enabled.')\n : gettext('Dashboard asset model has been disabled.')\n );\n }\n\n if (dashboard.historyDescription.widgetChanges) {\n for (const change in dashboard.historyDescription.widgetChanges) {\n const widgetList = dashboard.historyDescription.widgetChanges[change];\n if (!widgetList) {\n continue;\n }\n const translatedWidgetList = dashboard.translateWidgetTitle\n ? widgetList.map(widget => this.translateService.instant(widget))\n : widgetList;\n switch (change) {\n case 'added':\n widgetChanges =\n widgetChanges +\n this.translateService.instant(gettext('Added widgets: {{ widgetList }}. '), {\n widgetList: `\"${translatedWidgetList.join('\", \"')}\"`\n });\n break;\n case 'removed':\n widgetChanges =\n widgetChanges +\n this.translateService.instant(gettext('Removed widgets: {{ widgetList }}. '), {\n widgetList: `\"${translatedWidgetList.join('\", \"')}\"`\n });\n break;\n case 'config':\n widgetChanges =\n widgetChanges +\n this.translateService.instant(gettext('Updated widgets: {{ widgetList }}. '), {\n widgetList: `\"${translatedWidgetList.join('\", \"')}\"`\n });\n break;\n case 'arrangement':\n widgetChanges =\n widgetChanges +\n this.translateService.instant(gettext('Rearranged widgets: {{ widgetList }}. '), {\n widgetList: `\"${translatedWidgetList.join('\", \"')}\"`\n });\n break;\n default:\n break;\n }\n }\n }\n\n copiedDashboard.descriptionText = `${settingChangesMessage} ${assetModelMessage} ${widgetChanges}`;\n this.dashboardHistoryExtended.push(copiedDashboard);\n }\n }\n\n revertDashboard(dashboard: ContextDashboard) {\n const newDashboard = cloneDeep(dashboard);\n newDashboard.historyDescription.restored = dashboard.created;\n this.dashboardDetailService.revertToDashboardFn(newDashboard);\n }\n}\n","<div class=\"bg-component p-t-8 p-b-8 separator-bottom text-center\">\n <i\n class=\"text-info m-r-4\"\n c8yIcon=\"info\"\n ></i>\n {{\n versionHistoryLimitMessage\n | translate: { versionHistoryLimit: contextDashboardService.VERSION_HISTORY_SIZE_LIMIT }\n }}\n</div>\n<c8y-list-group class=\"p-t-24 p-b-24\">\n <c8y-li-timeline\n *ngFor=\"let dashboard of dashboardHistoryExtended; index as i\"\n [ngClass]=\"{ active: i === 0 }\"\n >\n {{ dashboard.created | date: 'mediumDate' }}\n {{ dashboard.created | date: 'shortTime' }}\n <c8y-li data-cy=\"c8y-dashboard-version-history--history-row\">\n <c8y-li-body>\n <div class=\"d-flex a-i-start\">\n <div class=\"flex-grow\">\n <span\n class=\"text-truncate-wrap\"\n title=\"{{ dashboard.descriptionText }}\"\n data-cy=\"c8y-dashboard-version-history--history-title\"\n >\n {{ dashboard.descriptionText }}\n {{\n dashboard.historyDescription.restored\n ? (restoredDashboardMessage\n | translate\n : {\n restoredStateCreationDate: dashboard.historyDescription.restored | c8yDate\n })\n : ''\n }}\n </span>\n <small\n class=\"text-muted\"\n title=\"{{ 'by`user`' | translate }} {{ dashboard.author }}\"\n *ngIf=\"dashboard.author\"\n >\n <div class=\"icon-flex\">\n <i c8yIcon=\"c8y-user\"></i>\n {{ dashboard.author }}\n </div>\n </small>\n </div>\n\n <span\n class=\"label label-primary m-l-auto\"\n title=\"{{ 'The last saved status of the dashboard' | translate }}\"\n *ngIf=\"i === 0\"\n >\n {{ 'Current`dashboard status`' | translate }}\n </span>\n <span\n class=\"m-l-auto showOnHover\"\n *ngIf=\"dashboardHistoryExtended.length > 1 && i > 0\"\n >\n <button\n class=\"btn btn-default btn-sm\"\n title=\"{{ 'Restore the dashboard to this status' | translate }}\"\n type=\"button\"\n (click)=\"revertDashboard(dashboard)\"\n >\n {{ 'Restore' | translate }}\n </button>\n </span>\n </div>\n </c8y-li-body>\n </c8y-li>\n </c8y-li-timeline>\n</c8y-list-group>\n"],"names":["i1","i2.ContextDashboardService","i3.DashboardDetailService","i4"],"mappings":"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"}
1
+ {"version":3,"file":"c8y-ngx-components-context-dashboard-dashboard-version-history.component-DmPIJGXO.mjs","sources":["../../context-dashboard/dashboard-settings/dashboard-version-history.component.ts","../../context-dashboard/dashboard-settings/dashboard-version-history.component.html"],"sourcesContent":["import { Component } from '@angular/core';\nimport { C8yTranslatePipe, CoreModule, gettext } from '@c8y/ngx-components';\nimport { ContextDashboard } from '../context-dashboard.model';\nimport { TranslateService } from '@ngx-translate/core';\nimport { cloneDeep } from 'lodash-es';\nimport { ContextDashboardService } from '../context-dashboard.service';\nimport { DashboardDetailService } from '../dashboard-detail.service';\n\n@Component({\n selector: 'c8y-dashboard-version-history',\n templateUrl: './dashboard-version-history.component.html',\n standalone: true,\n imports: [C8yTranslatePipe, CoreModule]\n})\nexport class DashboardVersionHistoryComponent {\n dashboardHistory: ContextDashboard[] = [];\n isReport: boolean;\n dashboardHistoryExtended: (ContextDashboard & { descriptionText?: string })[] = [];\n restoredDashboardMessage = gettext(\n 'Restored dashboard state from {{ restoredStateCreationDate }}'\n );\n versionHistoryLimitMessage = gettext(\n 'Store up to {{ versionHistoryLimit }} dashboard versions. Any additional versions will replace/delete older ones'\n );\n\n constructor(\n private translateService: TranslateService,\n public contextDashboardService: ContextDashboardService,\n private dashboardDetailService: DashboardDetailService\n ) {}\n\n ngOnInit() {\n this.isReport = this.dashboardDetailService.details.isReport;\n this.dashboardHistory = this.dashboardDetailService.details.mo.c8y_DashboardHistory;\n this.generateDashboardHistoryDescription();\n }\n\n generateDashboardHistoryDescription() {\n for (const dashboard of this.dashboardHistory) {\n const copiedDashboard: ContextDashboard & { descriptionText?: string } = { ...dashboard };\n\n let settingChangesMessage = '';\n let assetModelMessage = '';\n let widgetChanges = '';\n\n if (dashboard.historyDescription.changeType === 'create') {\n copiedDashboard.descriptionText = this.translateService.instant(\n this.isReport ? gettext('Report created.') : gettext('Dashboard created.')\n );\n this.dashboardHistoryExtended.push(copiedDashboard);\n continue;\n }\n if (dashboard.historyDescription.changeType === 'reset') {\n copiedDashboard.descriptionText = this.translateService.instant(gettext('Reset widgets'));\n this.dashboardHistoryExtended.push(copiedDashboard);\n continue;\n }\n\n const isDashboardUpdated = dashboard.historyDescription.dashboardSettingChanges?.length > 0;\n if (isDashboardUpdated) {\n const translatedValuesChanged = dashboard.historyDescription.dashboardSettingChanges\n .map(val => this.translateService.instant(val))\n .join(', ');\n settingChangesMessage = this.translateService.instant(\n this.isReport\n ? gettext('Report updated: {{ values }}.')\n : gettext('Dashboard updated: {{ values }}.'),\n { values: translatedValuesChanged }\n );\n }\n\n const isDeviceDashboard = dashboard.historyDescription.deviceType != null && !this.isReport;\n if (isDeviceDashboard) {\n assetModelMessage = this.translateService.instant(\n dashboard.historyDescription.deviceType\n ? gettext('Dashboard asset model has been enabled.')\n : gettext('Dashboard asset model has been disabled.')\n );\n }\n\n if (dashboard.historyDescription.widgetChanges) {\n for (const change in dashboard.historyDescription.widgetChanges) {\n const widgetList = dashboard.historyDescription.widgetChanges[change];\n if (!widgetList) {\n continue;\n }\n const translatedWidgetList = dashboard.translateWidgetTitle\n ? widgetList.map(widget => this.translateService.instant(widget))\n : widgetList;\n switch (change) {\n case 'added':\n widgetChanges =\n widgetChanges +\n this.translateService.instant(gettext('Added widgets: {{ widgetList }}. '), {\n widgetList: `\"${translatedWidgetList.join('\", \"')}\"`\n });\n break;\n case 'removed':\n widgetChanges =\n widgetChanges +\n this.translateService.instant(gettext('Removed widgets: {{ widgetList }}. '), {\n widgetList: `\"${translatedWidgetList.join('\", \"')}\"`\n });\n break;\n case 'config':\n widgetChanges =\n widgetChanges +\n this.translateService.instant(gettext('Updated widgets: {{ widgetList }}. '), {\n widgetList: `\"${translatedWidgetList.join('\", \"')}\"`\n });\n break;\n case 'arrangement':\n widgetChanges =\n widgetChanges +\n this.translateService.instant(gettext('Rearranged widgets: {{ widgetList }}. '), {\n widgetList: `\"${translatedWidgetList.join('\", \"')}\"`\n });\n break;\n default:\n break;\n }\n }\n }\n\n copiedDashboard.descriptionText = `${settingChangesMessage} ${assetModelMessage} ${widgetChanges}`;\n this.dashboardHistoryExtended.push(copiedDashboard);\n }\n }\n\n revertDashboard(dashboard: ContextDashboard) {\n const newDashboard = cloneDeep(dashboard);\n newDashboard.historyDescription.restored = dashboard.created;\n this.dashboardDetailService.revertToDashboardFn(newDashboard);\n }\n}\n","<div class=\"bg-component p-t-8 p-b-8 separator-bottom text-center\">\n <i\n class=\"text-info m-r-4\"\n c8yIcon=\"info\"\n ></i>\n {{\n versionHistoryLimitMessage\n | translate: { versionHistoryLimit: contextDashboardService.VERSION_HISTORY_SIZE_LIMIT }\n }}\n</div>\n<c8y-list-group class=\"p-t-24 p-b-24\">\n <c8y-li-timeline\n *ngFor=\"let dashboard of dashboardHistoryExtended; index as i\"\n [ngClass]=\"{ active: i === 0 }\"\n >\n {{ dashboard.created | date: 'mediumDate' }}\n {{ dashboard.created | date: 'shortTime' }}\n <c8y-li data-cy=\"c8y-dashboard-version-history--history-row\">\n <c8y-li-body>\n <div class=\"d-flex a-i-start\">\n <div class=\"flex-grow\">\n <span\n class=\"text-truncate-wrap\"\n title=\"{{ dashboard.descriptionText }}\"\n data-cy=\"c8y-dashboard-version-history--history-title\"\n >\n {{ dashboard.descriptionText }}\n {{\n dashboard.historyDescription.restored\n ? (restoredDashboardMessage\n | translate\n : {\n restoredStateCreationDate: dashboard.historyDescription.restored | c8yDate\n })\n : ''\n }}\n </span>\n <small\n class=\"text-muted\"\n title=\"{{ 'by`user`' | translate }} {{ dashboard.author }}\"\n *ngIf=\"dashboard.author\"\n >\n <div class=\"icon-flex\">\n <i c8yIcon=\"c8y-user\"></i>\n {{ dashboard.author }}\n </div>\n </small>\n </div>\n\n <span\n class=\"label label-primary m-l-auto\"\n title=\"{{ 'The last saved status of the dashboard' | translate }}\"\n *ngIf=\"i === 0\"\n >\n {{ 'Current`dashboard status`' | translate }}\n </span>\n <span\n class=\"m-l-auto showOnHover\"\n *ngIf=\"dashboardHistoryExtended.length > 1 && i > 0\"\n >\n <button\n class=\"btn btn-default btn-sm\"\n title=\"{{ 'Restore the dashboard to this status' | translate }}\"\n type=\"button\"\n (click)=\"revertDashboard(dashboard)\"\n >\n {{ 'Restore' | translate }}\n </button>\n </span>\n </div>\n </c8y-li-body>\n </c8y-li>\n </c8y-li-timeline>\n</c8y-list-group>\n"],"names":["i1","i2.ContextDashboardService","i3.DashboardDetailService","i4","i5"],"mappings":"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"}