@c8y/ngx-components 1022.35.1 → 1022.44.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (925) hide show
  1. package/actility-device-registration/actility-device-registration.component.d.ts.map +1 -1
  2. package/actility-device-registration/actility-device-registration.service.d.ts.map +1 -1
  3. package/alarms/alarm-details.component.d.ts.map +1 -1
  4. package/alarms/alarm-info.component.d.ts.map +1 -1
  5. package/alarms/alarm-severity-to-icon-class.pipe.d.ts +9 -0
  6. package/alarms/alarm-severity-to-icon-class.pipe.d.ts.map +1 -0
  7. package/alarms/alarms-icon.component.d.ts.map +1 -1
  8. package/alarms/alarms-interval-refresh.component.d.ts.map +1 -1
  9. package/alarms/alarms-list.component.d.ts.map +1 -1
  10. package/alarms/alarms-view.service.d.ts.map +1 -1
  11. package/alarms/alarms.component.d.ts.map +1 -1
  12. package/alarms/alarms.helper.d.ts.map +1 -1
  13. package/alarms/alarms.model.d.ts.map +1 -1
  14. package/alarms/cockpit/index.d.ts.map +1 -1
  15. package/alarms/devicemanagement/index.d.ts.map +1 -1
  16. package/alarms/index.d.ts +1 -0
  17. package/alarms/index.d.ts.map +1 -1
  18. package/asset-properties/asset-properties.model.d.ts +77 -1
  19. package/asset-properties/asset-properties.model.d.ts.map +1 -1
  20. package/asset-properties/asset-properties.service.d.ts +17 -0
  21. package/asset-properties/asset-properties.service.d.ts.map +1 -1
  22. package/asset-properties/asset-property-list/asset-property-collapse-button-title.pipe.d.ts +14 -0
  23. package/asset-properties/asset-property-list/asset-property-collapse-button-title.pipe.d.ts.map +1 -0
  24. package/asset-properties/asset-property-list/asset-property-icon.pipe.d.ts +2 -1
  25. package/asset-properties/asset-property-list/asset-property-icon.pipe.d.ts.map +1 -1
  26. package/asset-properties/asset-property-list/asset-property-list.component.d.ts +52 -13
  27. package/asset-properties/asset-property-list/asset-property-list.component.d.ts.map +1 -1
  28. package/asset-properties/asset-property-list/asset-property-value.pipe.d.ts +7 -3
  29. package/asset-properties/asset-property-list/asset-property-value.pipe.d.ts.map +1 -1
  30. package/asset-properties/asset-property-list/tree-data-source.d.ts +1 -0
  31. package/asset-properties/asset-property-list/tree-data-source.d.ts.map +1 -1
  32. package/asset-properties/asset-property-selector-drawer/asset-property-selector-drawer.component.d.ts.map +1 -1
  33. package/asset-properties/computed-properties-config/computed-properties-config.component.d.ts +39 -0
  34. package/asset-properties/computed-properties-config/computed-properties-config.component.d.ts.map +1 -0
  35. package/asset-properties/computed-properties.service.d.ts +27 -0
  36. package/asset-properties/computed-properties.service.d.ts.map +1 -0
  37. package/asset-properties/custom-properties-drawer/custom-properties-drawer.component.d.ts +11 -6
  38. package/asset-properties/custom-properties-drawer/custom-properties-drawer.component.d.ts.map +1 -1
  39. package/asset-properties/custom-properties-drawer.service.d.ts +2 -1
  40. package/asset-properties/custom-properties-drawer.service.d.ts.map +1 -1
  41. package/asset-properties/index.d.ts +1 -0
  42. package/asset-properties/index.d.ts.map +1 -1
  43. package/assets-navigator/asset-node.d.ts.map +1 -1
  44. package/assets-navigator/asset-node.service.d.ts.map +1 -1
  45. package/assets-navigator/asset-selector/asset-selector-node.component.d.ts.map +1 -1
  46. package/assets-navigator/asset-selector/asset-selector.model.d.ts +1 -2
  47. package/assets-navigator/asset-selector/asset-selector.model.d.ts.map +1 -1
  48. package/assets-navigator/asset-selector/miller-view.component.d.ts +17 -5
  49. package/assets-navigator/asset-selector/miller-view.component.d.ts.map +1 -1
  50. package/assets-navigator/asset-selector/unassigned-devices-node.d.ts.map +1 -1
  51. package/assets-navigator/load-more-node.d.ts.map +1 -1
  52. package/auth-configuration/basic-settings/login-settings.component.d.ts.map +1 -1
  53. package/auth-configuration/basic-settings/session-configuration.component.d.ts.map +1 -1
  54. package/auth-configuration/factories/navigation.factory.d.ts.map +1 -1
  55. package/auth-configuration/factories/tabs.factory.d.ts.map +1 -1
  56. package/auth-configuration/sso-configuration/sso-configuration.component.d.ts.map +1 -1
  57. package/auth-configuration/sso-configuration/template-parts/access-mapping/inventory-roles-modal.component.d.ts.map +1 -1
  58. package/auth-configuration/sso-configuration/template-parts/signature-configuration.component.d.ts.map +1 -1
  59. package/auth-configuration/sso-configuration/template-parts/user-data-mapping.component.d.ts.map +1 -1
  60. package/binary-file-download/binary-file-download.service.d.ts.map +1 -1
  61. package/bookmarks/bookmarks.component.d.ts.map +1 -1
  62. package/bookmarks/bookmarks.service.d.ts.map +1 -1
  63. package/bookmarks/edit-bookmarks/edit-bookmarks.component.d.ts.map +1 -1
  64. package/branding/dark-theme/dark-theme-tab.factory.d.ts.map +1 -1
  65. package/branding/extra-css-branding-editor/extra-css-branding-editor-tab.factory.d.ts.map +1 -1
  66. package/branding/plain-branding-editor/plain-branding-editor-tab.factory.d.ts.map +1 -1
  67. package/branding/shared/lazy/branding-form/branding-form.component.d.ts.map +1 -1
  68. package/branding/shared/lazy/branding-import-modal/branding-import-modal.component.d.ts.map +1 -1
  69. package/branding/shared/lazy/edit-branding-router-outlet/edit-branding-router-outlet.component.d.ts.map +1 -1
  70. package/cockpit-config/cockpit-config.guard.d.ts.map +1 -1
  71. package/cockpit-config/cockpit-configuration.component.d.ts.map +1 -1
  72. package/computed-asset-properties/alarm-count/alarm-count-3-months-computed-property.d.ts +8 -0
  73. package/computed-asset-properties/alarm-count/alarm-count-3-months-computed-property.d.ts.map +1 -0
  74. package/computed-asset-properties/alarm-count/alarm-count-config.component.d.ts +26 -0
  75. package/computed-asset-properties/alarm-count/alarm-count-config.component.d.ts.map +1 -0
  76. package/computed-asset-properties/alarm-count/alarm-count-today-computed-property.d.ts +8 -0
  77. package/computed-asset-properties/alarm-count/alarm-count-today-computed-property.d.ts.map +1 -0
  78. package/computed-asset-properties/alarm-count/alarm-count-value.d.ts +17 -0
  79. package/computed-asset-properties/alarm-count/alarm-count-value.d.ts.map +1 -0
  80. package/computed-asset-properties/alarm-count/alarm-count.model.d.ts +6 -0
  81. package/computed-asset-properties/alarm-count/alarm-count.model.d.ts.map +1 -0
  82. package/computed-asset-properties/c8y-ngx-components-computed-asset-properties.d.ts.map +1 -0
  83. package/computed-asset-properties/child-count/child-assets-count-computed-property.d.ts +14 -0
  84. package/computed-asset-properties/child-count/child-assets-count-computed-property.d.ts.map +1 -0
  85. package/computed-asset-properties/child-count/child-count-value.d.ts +14 -0
  86. package/computed-asset-properties/child-count/child-count-value.d.ts.map +1 -0
  87. package/computed-asset-properties/child-count/child-devices-count-computed-property.d.ts +14 -0
  88. package/computed-asset-properties/child-count/child-devices-count-computed-property.d.ts.map +1 -0
  89. package/computed-asset-properties/common/realtime-value-base.d.ts +32 -0
  90. package/computed-asset-properties/common/realtime-value-base.d.ts.map +1 -0
  91. package/computed-asset-properties/common/realtime-value-handler.d.ts +19 -0
  92. package/computed-asset-properties/common/realtime-value-handler.d.ts.map +1 -0
  93. package/computed-asset-properties/configuration-snapshot/configuration-snapshot-computed-property.d.ts +7 -0
  94. package/computed-asset-properties/configuration-snapshot/configuration-snapshot-computed-property.d.ts.map +1 -0
  95. package/computed-asset-properties/configuration-snapshot/configuration-snapshot-config.component.d.ts +21 -0
  96. package/computed-asset-properties/configuration-snapshot/configuration-snapshot-config.component.d.ts.map +1 -0
  97. package/computed-asset-properties/configuration-snapshot/configuration-snapshot.model.d.ts +8 -0
  98. package/computed-asset-properties/configuration-snapshot/configuration-snapshot.model.d.ts.map +1 -0
  99. package/computed-asset-properties/event-count/event-count-3-months.d.ts +8 -0
  100. package/computed-asset-properties/event-count/event-count-3-months.d.ts.map +1 -0
  101. package/computed-asset-properties/event-count/event-count-config.component.d.ts +18 -0
  102. package/computed-asset-properties/event-count/event-count-config.component.d.ts.map +1 -0
  103. package/computed-asset-properties/event-count/event-count-today.d.ts +8 -0
  104. package/computed-asset-properties/event-count/event-count-today.d.ts.map +1 -0
  105. package/computed-asset-properties/event-count/event-count-value.d.ts +17 -0
  106. package/computed-asset-properties/event-count/event-count-value.d.ts.map +1 -0
  107. package/computed-asset-properties/event-count/event-count.model.d.ts +4 -0
  108. package/computed-asset-properties/event-count/event-count.model.d.ts.map +1 -0
  109. package/computed-asset-properties/index.d.ts +3 -0
  110. package/computed-asset-properties/index.d.ts.map +1 -0
  111. package/computed-asset-properties/last-device-message/last-device-message-computed-property.d.ts +3 -0
  112. package/computed-asset-properties/last-device-message/last-device-message-computed-property.d.ts.map +1 -0
  113. package/computed-asset-properties/last-device-message/last-device-message-value.d.ts +13 -0
  114. package/computed-asset-properties/last-device-message/last-device-message-value.d.ts.map +1 -0
  115. package/computed-asset-properties/last-measurement/last-measurement-computed-property.d.ts +8 -0
  116. package/computed-asset-properties/last-measurement/last-measurement-computed-property.d.ts.map +1 -0
  117. package/computed-asset-properties/last-measurement/last-measurement-config.component.d.ts +48 -0
  118. package/computed-asset-properties/last-measurement/last-measurement-config.component.d.ts.map +1 -0
  119. package/computed-asset-properties/last-measurement/last-measurement-value.d.ts +13 -0
  120. package/computed-asset-properties/last-measurement/last-measurement-value.d.ts.map +1 -0
  121. package/computed-asset-properties/last-measurement/last-measurement.model.d.ts +28 -0
  122. package/computed-asset-properties/last-measurement/last-measurement.model.d.ts.map +1 -0
  123. package/computed-asset-properties/strategies/alarm-count-strategy.d.ts +17 -0
  124. package/computed-asset-properties/strategies/alarm-count-strategy.d.ts.map +1 -0
  125. package/computed-asset-properties/strategies/child-count-strategy.d.ts +14 -0
  126. package/computed-asset-properties/strategies/child-count-strategy.d.ts.map +1 -0
  127. package/computed-asset-properties/strategies/count-strategy-base.d.ts +12 -0
  128. package/computed-asset-properties/strategies/count-strategy-base.d.ts.map +1 -0
  129. package/computed-asset-properties/strategies/event-count-strategy.d.ts +16 -0
  130. package/computed-asset-properties/strategies/event-count-strategy.d.ts.map +1 -0
  131. package/computed-asset-properties/strategies/last-device-message-strategy.d.ts +20 -0
  132. package/computed-asset-properties/strategies/last-device-message-strategy.d.ts.map +1 -0
  133. package/computed-asset-properties/strategies/last-measurement-strategy.d.ts +16 -0
  134. package/computed-asset-properties/strategies/last-measurement-strategy.d.ts.map +1 -0
  135. package/connectivity/abstract-connectivity-node.factory.d.ts.map +1 -1
  136. package/connectivity/actility/actility-tab.factory.d.ts.map +1 -1
  137. package/connectivity/sigfox/sigfox-tab.factory.d.ts.map +1 -1
  138. package/connectivity/sim/sim.module.d.ts.map +1 -1
  139. package/context-dashboard/cockpit-home-dashboard/cockpit-dashboard.component.d.ts.map +1 -1
  140. package/context-dashboard/cockpit-home-dashboard/cockpit-dashboard.model.d.ts.map +1 -1
  141. package/context-dashboard/cockpit-home-dashboard/cockpit-dashboard.module.d.ts.map +1 -1
  142. package/context-dashboard/context-dashboard.component.d.ts.map +1 -1
  143. package/context-dashboard/context-dashboard.model.d.ts +16 -0
  144. package/context-dashboard/context-dashboard.model.d.ts.map +1 -1
  145. package/context-dashboard/context-dashboard.service.d.ts.map +1 -1
  146. package/context-dashboard/dashboard-detail.component.d.ts.map +1 -1
  147. package/context-dashboard/dashboard-detail.service.d.ts.map +1 -1
  148. package/context-dashboard/dashboard-details-tabs.factory.d.ts.map +1 -1
  149. package/context-dashboard/dashboard-settings/dashboard-general-settings.component.d.ts.map +1 -1
  150. package/context-dashboard/dashboard-settings/dashboard-version-history.component.d.ts.map +1 -1
  151. package/context-dashboard/dashboard-settings/typed-dashboard-settings.component.d.ts.map +1 -1
  152. package/context-dashboard/device-info-dashboard/device-info-dashboard.component.d.ts.map +1 -1
  153. package/context-dashboard/device-info-dashboard/device-info-dashboard.module.d.ts.map +1 -1
  154. package/context-dashboard/device-management-home-dashboard/device-management-home-dashboard.component.d.ts.map +1 -1
  155. package/context-dashboard/device-management-home-dashboard/device-management-home-dashboard.module.d.ts.map +1 -1
  156. package/context-dashboard/new-dashboard.guard.d.ts.map +1 -1
  157. package/context-dashboard/widget-config/appearance-settings.component.d.ts.map +1 -1
  158. package/context-dashboard/widget-config.service.d.ts +11 -1
  159. package/context-dashboard/widget-config.service.d.ts.map +1 -1
  160. package/core/action/action.service.d.ts +1 -1
  161. package/core/action-bar/action-bar.service.d.ts +1 -1
  162. package/core/authentication/simplified-auth.service.d.ts +1 -1
  163. package/core/authentication/simplified-auth.service.d.ts.map +1 -1
  164. package/core/bottom-drawer/bottom-drawer.component.d.ts +16 -2
  165. package/core/bottom-drawer/bottom-drawer.component.d.ts.map +1 -1
  166. package/core/bottom-drawer/bottom-drawer.service.d.ts +13 -5
  167. package/core/bottom-drawer/bottom-drawer.service.d.ts.map +1 -1
  168. package/core/breadcrumb/breadcrumb.service.d.ts +1 -1
  169. package/core/common/extension-hooks.d.ts.map +1 -1
  170. package/core/common/options.service.d.ts +1 -1
  171. package/core/common/service-registry.service.d.ts +1 -1
  172. package/core/common/ui-state.service.d.ts +7 -7
  173. package/core/common/ui-state.service.d.ts.map +1 -1
  174. package/core/common/user-preferences/user-preferences.service.d.ts +4 -4
  175. package/core/common/user-preferences/user-preferences.service.d.ts.map +1 -1
  176. package/core/dashboard/widgets-dashboard.component.d.ts +9 -1
  177. package/core/dashboard/widgets-dashboard.component.d.ts.map +1 -1
  178. package/core/data-grid/action-controls-extension.service.d.ts +1 -1
  179. package/core/data-grid/filter-chip/filter-mapper.factory.d.ts +1 -1
  180. package/core/date-picker/date-picker.component.d.ts.map +1 -1
  181. package/core/docs/docs.models.d.ts +1 -1
  182. package/core/docs/docs.module.d.ts +1 -1
  183. package/core/docs/help-and-support-outlet/help-and-support-outlet.module.d.ts +1 -1
  184. package/core/docs/legal-notices-outlet/legal-notices-outlet.module.d.ts +1 -1
  185. package/core/docs/support-outlet/support-outlet.component.d.ts +4 -3
  186. package/core/docs/support-outlet/support-outlet.component.d.ts.map +1 -1
  187. package/core/docs/support-outlet/support-outlet.module.d.ts +1 -1
  188. package/core/drawer/drawer.service.d.ts +1 -1
  189. package/core/dynamic-component/dynamic-component.model.d.ts +18 -4
  190. package/core/dynamic-component/dynamic-component.model.d.ts.map +1 -1
  191. package/core/dynamic-forms/i18n/translate.extension.d.ts.map +1 -1
  192. package/core/feedback-form/feedback-form.component.d.ts +27 -0
  193. package/core/feedback-form/feedback-form.component.d.ts.map +1 -0
  194. package/core/feedback-form/feedback-form.model.d.ts +6 -0
  195. package/core/feedback-form/feedback-form.model.d.ts.map +1 -0
  196. package/core/feedback-form/index.d.ts +2 -0
  197. package/core/feedback-form/index.d.ts.map +1 -0
  198. package/core/i18n/gettext.d.ts +4 -1
  199. package/core/i18n/gettext.d.ts.map +1 -1
  200. package/core/i18n/pattern-messages.data.d.ts +61 -0
  201. package/core/i18n/pattern-messages.data.d.ts.map +1 -1
  202. package/core/i18n/patterns-message.hook.d.ts +1 -1
  203. package/core/index.d.ts +1 -0
  204. package/core/index.d.ts.map +1 -1
  205. package/core/modal/modal.service.d.ts +0 -1
  206. package/core/modal/modal.service.d.ts.map +1 -1
  207. package/core/navigator/navigator-bottom/navigator-bottom.module.d.ts +1 -1
  208. package/core/navigator/navigator-top/navigator-top.module.d.ts +1 -1
  209. package/core/navigator/navigator.module.d.ts +1 -1
  210. package/core/navigator/navigator.service.d.ts +1 -1
  211. package/core/plugins/index.d.ts +1 -0
  212. package/core/plugins/index.d.ts.map +1 -1
  213. package/core/plugins/plugins-injection-token.d.ts +14 -0
  214. package/core/plugins/plugins-injection-token.d.ts.map +1 -0
  215. package/core/plugins/plugins-loader.service.d.ts +7 -21
  216. package/core/plugins/plugins-loader.service.d.ts.map +1 -1
  217. package/core/plugins/plugins-resolve.service.d.ts +1 -0
  218. package/core/plugins/plugins-resolve.service.d.ts.map +1 -1
  219. package/core/preview-feature/preview-feature.component.d.ts.map +1 -1
  220. package/core/preview-feature/preview-feature.service.d.ts +1 -1
  221. package/core/provider-configuration/provider-configuration-hook.d.ts +1 -1
  222. package/core/query-param-handler/index.d.ts +1 -1
  223. package/core/query-param-handler/query-param-bottom-drawer.service.d.ts +1 -1
  224. package/core/query-param-handler/query-param-handler.service.d.ts +1 -1
  225. package/core/query-param-handler/query-param-modal-handler.service.d.ts +1 -1
  226. package/core/router/router.service.d.ts +1 -1
  227. package/core/search/search.service.d.ts +1 -1
  228. package/core/stepper/stepper.service.d.ts +1 -1
  229. package/core/tabs/tab.component.d.ts +2 -2
  230. package/core/tabs/tab.component.d.ts.map +1 -1
  231. package/core/tabs/tab.model.d.ts +2 -2
  232. package/core/tabs/tab.model.d.ts.map +1 -1
  233. package/core/tabs/tabs.service.d.ts +1 -1
  234. package/core/tabs/tabs.service.d.ts.map +1 -1
  235. package/core/ui-settings/ui-settings.module.d.ts +1 -1
  236. package/core/user/change-current-user-password.service.d.ts +10 -0
  237. package/core/user/change-current-user-password.service.d.ts.map +1 -0
  238. package/core/user/index.d.ts +1 -0
  239. package/core/user/index.d.ts.map +1 -1
  240. package/core/user/user-details-drawer/user-details-drawer.module.d.ts +1 -1
  241. package/core/user/user-menu.service.d.ts +1 -1
  242. package/core/user/user.module.d.ts +1 -1
  243. package/core/version/version.model.d.ts +1 -1
  244. package/core/version/version.module.d.ts +1 -1
  245. package/core/wizard/wizard.model.d.ts +1 -1
  246. package/dashboard-details-advanced-tab/advanced-tab.factory.d.ts.map +1 -1
  247. package/dashboard-details-advanced-tab/assign-widget-assets/assign-widget-asset-modal.component.d.ts.map +1 -1
  248. package/dashboard-details-advanced-tab/dashboard-json-editor/dashboard-json-editor.component.d.ts.map +1 -1
  249. package/dashboard-details-advanced-tab/dashboard-json-editor/import-export-widgets.service.d.ts.map +1 -1
  250. package/dashboard-manager/dashboard-manager-tabs.factory.d.ts.map +1 -1
  251. package/dashboard-manager/dashboard-manager.service.d.ts.map +1 -1
  252. package/dashboard-manager/devicemanagement/index.d.ts +1 -1
  253. package/dashboard-manager/type-dashboard-target-assets-grid/type-dashboard-target-assets-grid.component.d.ts.map +1 -1
  254. package/dashboard-manager/type-dashboard-target-assets-modal/type-dashboard-target-assets-modal.component.d.ts.map +1 -1
  255. package/dashboard-manager/type-dashboards-list/device-type-value.grid-column.d.ts.map +1 -1
  256. package/dashboard-manager/type-dashboards-list/type-dashboards-list.component.d.ts.map +1 -1
  257. package/data-grid-columns/asset-type/asset-type-grid-column.d.ts.map +1 -1
  258. package/data-grid-columns/asset-type/asset-type.cell-renderer.component.d.ts.map +1 -1
  259. package/datapoint-explorer/datapoint-explorer-navigation-factory.d.ts.map +1 -1
  260. package/datapoint-explorer/devicemanagement/index.d.ts +3 -0
  261. package/datapoint-explorer/devicemanagement/index.d.ts.map +1 -1
  262. package/datapoint-explorer/view/configuration/workspace-configuration.component.d.ts +4 -2
  263. package/datapoint-explorer/view/configuration/workspace-configuration.component.d.ts.map +1 -1
  264. package/datapoint-explorer/view/create-new-report-modal/create-new-report-modal.component.d.ts.map +1 -1
  265. package/datapoint-explorer/view/datapoint-explorer.model.d.ts +1 -0
  266. package/datapoint-explorer/view/datapoint-explorer.model.d.ts.map +1 -1
  267. package/datapoint-explorer/view/index.d.ts +3 -0
  268. package/datapoint-explorer/view/index.d.ts.map +1 -1
  269. package/datapoint-explorer/view/send-as-widget-to-dashboard-modal/send-as-widget-to-dashboard-modal.component.d.ts.map +1 -1
  270. package/datapoint-explorer/view/send-as-widget-to-report-modal/send-as-widget-to-report-modal.component.d.ts.map +1 -1
  271. package/datapoint-library/datapoint-library.module.d.ts.map +1 -1
  272. package/datapoint-library/details/datapoint-library-details.component.d.ts +1 -2
  273. package/datapoint-library/details/datapoint-library-details.component.d.ts.map +1 -1
  274. package/datapoint-library/list/datapoint-library-list.component.d.ts.map +1 -1
  275. package/datapoint-selector/datapoint-attributes-form/datapoint-attributes-form-validation.service.d.ts.map +1 -1
  276. package/datapoint-selector/datapoint-selector-modal/datapoint-selector-modal.component.d.ts.map +1 -1
  277. package/datapoint-selector/datapoint-template-popover/datapoint-template-popover.component.d.ts.map +1 -1
  278. package/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/data-fetching.service.d.ts.map +1 -1
  279. package/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/datapoints-export-selector-file-exporter.service.d.ts.map +1 -1
  280. package/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/datapoints-exports-selector-time-range/datapoints-exports-selector-time-range.component.d.ts.map +1 -1
  281. package/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-modal.component.d.ts.map +1 -1
  282. package/datapoints-export-selector/datapoints-export-selector.model.d.ts.map +1 -1
  283. package/default-subscriptions/default-subscriptions-navigation.factory.d.ts.map +1 -1
  284. package/default-subscriptions/default-subscriptions.component.d.ts.map +1 -1
  285. package/device-grid/columns/alarms.cell-renderer.component.d.ts.map +1 -1
  286. package/device-grid/columns/alarms.device-grid-column.d.ts.map +1 -1
  287. package/device-grid/columns/group.device-grid-column.d.ts.map +1 -1
  288. package/device-grid/columns/imei.device-grid-column.d.ts.map +1 -1
  289. package/device-grid/columns/model.device-grid-column.d.ts.map +1 -1
  290. package/device-grid/columns/name.device-grid-column.d.ts.map +1 -1
  291. package/device-grid/columns/registration-date.device-grid-column.d.ts.map +1 -1
  292. package/device-grid/columns/serial-number.device-grid-column.d.ts.map +1 -1
  293. package/device-grid/columns/status.device-grid-column.d.ts.map +1 -1
  294. package/device-grid/columns/system-id.device-grid-column.d.ts.map +1 -1
  295. package/device-grid/columns/type.device-grid-column.d.ts.map +1 -1
  296. package/device-grid/device-grid.component.d.ts.map +1 -1
  297. package/device-grid/device-grid.service.d.ts.map +1 -1
  298. package/device-list/add-smart-group.component.d.ts.map +1 -1
  299. package/device-list/device-list-navigation.factory.d.ts.map +1 -1
  300. package/device-list/devices.breadcrumb-factory.d.ts.map +1 -1
  301. package/device-map/device-map-navigation.factory.d.ts.map +1 -1
  302. package/device-profile/add-device-profile.component.d.ts.map +1 -1
  303. package/device-profile/device-profile-list.component.d.ts.map +1 -1
  304. package/device-profile/device-profile-navigation.factory.d.ts.map +1 -1
  305. package/device-profile/device-profile.component.d.ts.map +1 -1
  306. package/device-profile/device-profile.service.d.ts.map +1 -1
  307. package/device-profile/device-tab-profile/device-tab-profile.component.d.ts.map +1 -1
  308. package/device-profile/select-configuration-modal.component.d.ts.map +1 -1
  309. package/device-protocols/device-protocols.guard.d.ts.map +1 -1
  310. package/device-provisioned-certificates/device-provisioned-certificates.module.d.ts.map +1 -1
  311. package/device-provisioned-certificates/device-tab-provisioned-certificates.component.d.ts.map +1 -1
  312. package/device-shell/device-shell.module.d.ts.map +1 -1
  313. package/device-shell/shared/device-shell.service.d.ts.map +1 -1
  314. package/device-shell/shell/shell.component.d.ts.map +1 -1
  315. package/diagnostics/diagnostics.module.d.ts.map +1 -1
  316. package/diagnostics/diagnostics.service.d.ts.map +1 -1
  317. package/echart/services/echarts-options.service.d.ts +2 -3
  318. package/echart/services/echarts-options.service.d.ts.map +1 -1
  319. package/ecosystem/application-plugins/application-plugins.component.d.ts.map +1 -1
  320. package/ecosystem/application-plugins/application-plugins.module.d.ts.map +1 -1
  321. package/ecosystem/application-plugins/apps-to-update-remotes-select.component.d.ts.map +1 -1
  322. package/ecosystem/application-plugins/only-latest-filter/only-latest-filter.component.d.ts.map +1 -1
  323. package/ecosystem/application-plugins/orphaned-status-cell-renderer.component.d.ts.map +1 -1
  324. package/ecosystem/application-plugins/plugin-list.service.d.ts.map +1 -1
  325. package/ecosystem/application-plugins/update-plugin-of-app/update-plugin-of-app.component.d.ts.map +1 -1
  326. package/ecosystem/application-properties/application-properties.component.d.ts.map +1 -1
  327. package/ecosystem/application-properties/subscription-modal/subscription-modal.component.d.ts.map +1 -1
  328. package/ecosystem/ecosystem-tabs.factory.d.ts.map +1 -1
  329. package/ecosystem/license-confirm/license-confirm-modal.component.d.ts.map +1 -1
  330. package/ecosystem/license-confirm/license-view.component.d.ts.map +1 -1
  331. package/ecosystem/microservices/add-microservice.component.d.ts.map +1 -1
  332. package/ecosystem/packages/add-package.component.d.ts.map +1 -1
  333. package/ecosystem/packages/deploy-application/deploy-application.component.d.ts.map +1 -1
  334. package/ecosystem/packages/package-list/packages-list.component.d.ts.map +1 -1
  335. package/ecosystem/packages/package-versions/package-versions-list/package-versions-list.component.d.ts.map +1 -1
  336. package/ecosystem/packages/package-versions/packages-versions.component.d.ts.map +1 -1
  337. package/ecosystem/plugin-setup-stepper/plugin-setup-stepper.module.d.ts.map +1 -1
  338. package/ecosystem/shared/add-application.component.d.ts.map +1 -1
  339. package/ecosystem/shared/application-card.component.d.ts.map +1 -1
  340. package/ecosystem/shared/archived-filter/archived-filter.component.d.ts.map +1 -1
  341. package/ecosystem/shared/ecosystem.constants.d.ts.map +1 -1
  342. package/ecosystem/shared/ecosystem.service.d.ts.map +1 -1
  343. package/ecosystem/shared/package-availability.service.d.ts.map +1 -1
  344. package/ecosystem/shared/package-version-select/package-version-select.component.d.ts.map +1 -1
  345. package/ecosystem/shared/upload-archive.component.d.ts.map +1 -1
  346. package/editor/editor.component.d.ts +16 -0
  347. package/editor/editor.component.d.ts.map +1 -1
  348. package/exports/index.d.ts +1 -1
  349. package/exports/index.d.ts.map +1 -1
  350. package/exports/list/exports-grid.service.d.ts.map +1 -1
  351. package/exports/list/exports-list/exports-list.component.d.ts.map +1 -1
  352. package/fesm2022/c8y-ngx-components-actility-device-registration.mjs +2 -1
  353. package/fesm2022/c8y-ngx-components-actility-device-registration.mjs.map +1 -1
  354. package/fesm2022/c8y-ngx-components-alarm-event-selector.mjs +8 -7
  355. package/fesm2022/c8y-ngx-components-alarm-event-selector.mjs.map +1 -1
  356. package/fesm2022/c8y-ngx-components-alarms-cockpit.mjs +2 -1
  357. package/fesm2022/c8y-ngx-components-alarms-cockpit.mjs.map +1 -1
  358. package/fesm2022/c8y-ngx-components-alarms-devicemanagement.mjs +2 -1
  359. package/fesm2022/c8y-ngx-components-alarms-devicemanagement.mjs.map +1 -1
  360. package/fesm2022/c8y-ngx-components-alarms.mjs +40 -2
  361. package/fesm2022/c8y-ngx-components-alarms.mjs.map +1 -1
  362. package/fesm2022/c8y-ngx-components-asset-properties.mjs +608 -97
  363. package/fesm2022/c8y-ngx-components-asset-properties.mjs.map +1 -1
  364. package/fesm2022/c8y-ngx-components-asset-property-grid.component-CRnyUbyz.mjs.map +1 -1
  365. package/fesm2022/c8y-ngx-components-assets-navigator.mjs +70 -23
  366. package/fesm2022/c8y-ngx-components-assets-navigator.mjs.map +1 -1
  367. package/fesm2022/c8y-ngx-components-auth-configuration.mjs +2 -1
  368. package/fesm2022/c8y-ngx-components-auth-configuration.mjs.map +1 -1
  369. package/fesm2022/c8y-ngx-components-binary-file-download.mjs +2 -1
  370. package/fesm2022/c8y-ngx-components-binary-file-download.mjs.map +1 -1
  371. package/fesm2022/c8y-ngx-components-bookmarks.mjs +2 -1
  372. package/fesm2022/c8y-ngx-components-bookmarks.mjs.map +1 -1
  373. package/fesm2022/c8y-ngx-components-branding-dark-theme.mjs +2 -1
  374. package/fesm2022/c8y-ngx-components-branding-dark-theme.mjs.map +1 -1
  375. package/fesm2022/c8y-ngx-components-branding-extra-css-branding-editor.mjs +3 -3
  376. package/fesm2022/c8y-ngx-components-branding-extra-css-branding-editor.mjs.map +1 -1
  377. package/fesm2022/c8y-ngx-components-branding-plain-branding-editor.mjs +2 -1
  378. package/fesm2022/c8y-ngx-components-branding-plain-branding-editor.mjs.map +1 -1
  379. package/fesm2022/c8y-ngx-components-branding-shared-lazy.mjs +22 -12
  380. package/fesm2022/c8y-ngx-components-branding-shared-lazy.mjs.map +1 -1
  381. package/fesm2022/c8y-ngx-components-child-devices.mjs +2 -1
  382. package/fesm2022/c8y-ngx-components-child-devices.mjs.map +1 -1
  383. package/fesm2022/c8y-ngx-components-cockpit-config.mjs +2 -1
  384. package/fesm2022/c8y-ngx-components-cockpit-config.mjs.map +1 -1
  385. package/fesm2022/c8y-ngx-components-computed-asset-properties-alarm-count-config.component-BOpIFCYh.mjs +68 -0
  386. package/fesm2022/c8y-ngx-components-computed-asset-properties-alarm-count-config.component-BOpIFCYh.mjs.map +1 -0
  387. package/fesm2022/c8y-ngx-components-computed-asset-properties-configuration-snapshot-config.component-D8otkLI8.mjs +73 -0
  388. package/fesm2022/c8y-ngx-components-computed-asset-properties-configuration-snapshot-config.component-D8otkLI8.mjs.map +1 -0
  389. package/fesm2022/c8y-ngx-components-computed-asset-properties-event-count-config.component-AVm6qa9k.mjs +44 -0
  390. package/fesm2022/c8y-ngx-components-computed-asset-properties-event-count-config.component-AVm6qa9k.mjs.map +1 -0
  391. package/fesm2022/c8y-ngx-components-computed-asset-properties-last-measurement-config.component-CtUoKGuU.mjs +91 -0
  392. package/fesm2022/c8y-ngx-components-computed-asset-properties-last-measurement-config.component-CtUoKGuU.mjs.map +1 -0
  393. package/fesm2022/c8y-ngx-components-computed-asset-properties.mjs +643 -0
  394. package/fesm2022/c8y-ngx-components-computed-asset-properties.mjs.map +1 -0
  395. package/fesm2022/c8y-ngx-components-connectivity.mjs +2 -1
  396. package/fesm2022/c8y-ngx-components-connectivity.mjs.map +1 -1
  397. package/fesm2022/c8y-ngx-components-context-dashboard-cockpit-home-dashboard.mjs +2 -1
  398. package/fesm2022/c8y-ngx-components-context-dashboard-cockpit-home-dashboard.mjs.map +1 -1
  399. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-general-settings.component-DjlpSztw.mjs → c8y-ngx-components-context-dashboard-dashboard-general-settings.component-BkcNSexF.mjs} +3 -2
  400. package/fesm2022/c8y-ngx-components-context-dashboard-dashboard-general-settings.component-BkcNSexF.mjs.map +1 -0
  401. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-version-history.component-B2zLhv0X.mjs → c8y-ngx-components-context-dashboard-dashboard-version-history.component-D9W68e7h.mjs} +3 -2
  402. package/fesm2022/c8y-ngx-components-context-dashboard-dashboard-version-history.component-D9W68e7h.mjs.map +1 -0
  403. package/fesm2022/c8y-ngx-components-context-dashboard.mjs +45 -12
  404. package/fesm2022/c8y-ngx-components-context-dashboard.mjs.map +1 -1
  405. package/fesm2022/{c8y-ngx-components-dashboard-details-advanced-tab-dashboard-details-advanced-tab.component-CwfVxTSx.mjs → c8y-ngx-components-dashboard-details-advanced-tab-dashboard-details-advanced-tab.component-D0lATUjO.mjs} +12 -8
  406. package/fesm2022/c8y-ngx-components-dashboard-details-advanced-tab-dashboard-details-advanced-tab.component-D0lATUjO.mjs.map +1 -0
  407. package/fesm2022/c8y-ngx-components-dashboard-details-advanced-tab.mjs +4 -3
  408. package/fesm2022/c8y-ngx-components-dashboard-details-advanced-tab.mjs.map +1 -1
  409. package/fesm2022/c8y-ngx-components-dashboard-manager.mjs +2 -1
  410. package/fesm2022/c8y-ngx-components-dashboard-manager.mjs.map +1 -1
  411. package/fesm2022/c8y-ngx-components-data-broker.mjs +2 -1
  412. package/fesm2022/c8y-ngx-components-data-broker.mjs.map +1 -1
  413. package/fesm2022/c8y-ngx-components-data-grid-columns-asset-type.mjs +2 -1
  414. package/fesm2022/c8y-ngx-components-data-grid-columns-asset-type.mjs.map +1 -1
  415. package/fesm2022/c8y-ngx-components-data-grid-columns.mjs +2 -1
  416. package/fesm2022/c8y-ngx-components-data-grid-columns.mjs.map +1 -1
  417. package/fesm2022/c8y-ngx-components-datapoint-explorer-devicemanagement.mjs +38 -9
  418. package/fesm2022/c8y-ngx-components-datapoint-explorer-devicemanagement.mjs.map +1 -1
  419. package/fesm2022/c8y-ngx-components-datapoint-explorer-view.mjs +58 -53
  420. package/fesm2022/c8y-ngx-components-datapoint-explorer-view.mjs.map +1 -1
  421. package/fesm2022/c8y-ngx-components-datapoint-explorer.mjs +2 -1
  422. package/fesm2022/c8y-ngx-components-datapoint-explorer.mjs.map +1 -1
  423. package/fesm2022/c8y-ngx-components-datapoint-library-details.mjs +2 -1
  424. package/fesm2022/c8y-ngx-components-datapoint-library-details.mjs.map +1 -1
  425. package/fesm2022/c8y-ngx-components-datapoint-library-list.mjs +2 -1
  426. package/fesm2022/c8y-ngx-components-datapoint-library-list.mjs.map +1 -1
  427. package/fesm2022/c8y-ngx-components-datapoint-library.mjs +2 -1
  428. package/fesm2022/c8y-ngx-components-datapoint-library.mjs.map +1 -1
  429. package/fesm2022/c8y-ngx-components-datapoint-selector.mjs +2 -1
  430. package/fesm2022/c8y-ngx-components-datapoint-selector.mjs.map +1 -1
  431. package/fesm2022/c8y-ngx-components-datapoints-export-selector.mjs +2 -1
  432. package/fesm2022/c8y-ngx-components-datapoints-export-selector.mjs.map +1 -1
  433. package/fesm2022/c8y-ngx-components-default-subscriptions.mjs +2 -1
  434. package/fesm2022/c8y-ngx-components-default-subscriptions.mjs.map +1 -1
  435. package/fesm2022/c8y-ngx-components-device-grid.mjs +3 -3
  436. package/fesm2022/c8y-ngx-components-device-grid.mjs.map +1 -1
  437. package/fesm2022/c8y-ngx-components-device-list.mjs +2 -1
  438. package/fesm2022/c8y-ngx-components-device-list.mjs.map +1 -1
  439. package/fesm2022/c8y-ngx-components-device-map.mjs +2 -1
  440. package/fesm2022/c8y-ngx-components-device-map.mjs.map +1 -1
  441. package/fesm2022/c8y-ngx-components-device-profile.mjs +2 -1
  442. package/fesm2022/c8y-ngx-components-device-profile.mjs.map +1 -1
  443. package/fesm2022/c8y-ngx-components-device-protocol-object-mappings.mjs +3 -2
  444. package/fesm2022/c8y-ngx-components-device-protocol-object-mappings.mjs.map +1 -1
  445. package/fesm2022/c8y-ngx-components-device-protocols.mjs +2 -1
  446. package/fesm2022/c8y-ngx-components-device-protocols.mjs.map +1 -1
  447. package/fesm2022/c8y-ngx-components-device-provisioned-certificates.mjs +2 -1
  448. package/fesm2022/c8y-ngx-components-device-provisioned-certificates.mjs.map +1 -1
  449. package/fesm2022/c8y-ngx-components-device-shell.mjs +2 -1
  450. package/fesm2022/c8y-ngx-components-device-shell.mjs.map +1 -1
  451. package/fesm2022/c8y-ngx-components-diagnostics.mjs +2 -1
  452. package/fesm2022/c8y-ngx-components-diagnostics.mjs.map +1 -1
  453. package/fesm2022/c8y-ngx-components-echart.mjs +6 -8
  454. package/fesm2022/c8y-ngx-components-echart.mjs.map +1 -1
  455. package/fesm2022/c8y-ngx-components-ecosystem-application-plugins.mjs +2 -1
  456. package/fesm2022/c8y-ngx-components-ecosystem-application-plugins.mjs.map +1 -1
  457. package/fesm2022/c8y-ngx-components-ecosystem-license-confirm.mjs +2 -1
  458. package/fesm2022/c8y-ngx-components-ecosystem-license-confirm.mjs.map +1 -1
  459. package/fesm2022/c8y-ngx-components-ecosystem-plugin-setup-stepper.mjs +2 -1
  460. package/fesm2022/c8y-ngx-components-ecosystem-plugin-setup-stepper.mjs.map +1 -1
  461. package/fesm2022/c8y-ngx-components-ecosystem-shared.mjs +2 -1
  462. package/fesm2022/c8y-ngx-components-ecosystem-shared.mjs.map +1 -1
  463. package/fesm2022/c8y-ngx-components-ecosystem.mjs +2 -1
  464. package/fesm2022/c8y-ngx-components-ecosystem.mjs.map +1 -1
  465. package/fesm2022/c8y-ngx-components-editor.mjs +39 -1
  466. package/fesm2022/c8y-ngx-components-editor.mjs.map +1 -1
  467. package/fesm2022/c8y-ngx-components-events.mjs +1 -1
  468. package/fesm2022/c8y-ngx-components-events.mjs.map +1 -1
  469. package/fesm2022/c8y-ngx-components-exports-list.mjs +2 -1
  470. package/fesm2022/c8y-ngx-components-exports-list.mjs.map +1 -1
  471. package/fesm2022/c8y-ngx-components-exports.mjs +2 -1
  472. package/fesm2022/c8y-ngx-components-exports.mjs.map +1 -1
  473. package/fesm2022/c8y-ngx-components-file-preview.mjs +2 -1
  474. package/fesm2022/c8y-ngx-components-file-preview.mjs.map +1 -1
  475. package/fesm2022/c8y-ngx-components-files-repository.mjs +2 -1
  476. package/fesm2022/c8y-ngx-components-files-repository.mjs.map +1 -1
  477. package/fesm2022/c8y-ngx-components-icon-selector.mjs +2 -1
  478. package/fesm2022/c8y-ngx-components-icon-selector.mjs.map +1 -1
  479. package/fesm2022/c8y-ngx-components-location.mjs +2 -1
  480. package/fesm2022/c8y-ngx-components-location.mjs.map +1 -1
  481. package/fesm2022/c8y-ngx-components-loriot-device-registration.mjs +2 -1
  482. package/fesm2022/c8y-ngx-components-loriot-device-registration.mjs.map +1 -1
  483. package/fesm2022/c8y-ngx-components-map.mjs +2 -1
  484. package/fesm2022/c8y-ngx-components-map.mjs.map +1 -1
  485. package/fesm2022/c8y-ngx-components-messaging-management.mjs +2 -1
  486. package/fesm2022/c8y-ngx-components-messaging-management.mjs.map +1 -1
  487. package/fesm2022/c8y-ngx-components-operations-bulk-operation-list-item.mjs +2 -1
  488. package/fesm2022/c8y-ngx-components-operations-bulk-operation-list-item.mjs.map +1 -1
  489. package/fesm2022/c8y-ngx-components-operations-bulk-operation-scheduler.mjs +2 -1
  490. package/fesm2022/c8y-ngx-components-operations-bulk-operation-scheduler.mjs.map +1 -1
  491. package/fesm2022/c8y-ngx-components-operations-bulk-operation-stepper.mjs +2 -1
  492. package/fesm2022/c8y-ngx-components-operations-bulk-operation-stepper.mjs.map +1 -1
  493. package/fesm2022/c8y-ngx-components-operations-bulk-single-operations-list.mjs +2 -1
  494. package/fesm2022/c8y-ngx-components-operations-bulk-single-operations-list.mjs.map +1 -1
  495. package/fesm2022/c8y-ngx-components-operations-create-bulk-operation-details.mjs +2 -1
  496. package/fesm2022/c8y-ngx-components-operations-create-bulk-operation-details.mjs.map +1 -1
  497. package/fesm2022/c8y-ngx-components-operations-grid-columns.mjs +2 -1
  498. package/fesm2022/c8y-ngx-components-operations-grid-columns.mjs.map +1 -1
  499. package/fesm2022/c8y-ngx-components-operations-operations-list-item-details.mjs +2 -1
  500. package/fesm2022/c8y-ngx-components-operations-operations-list-item-details.mjs.map +1 -1
  501. package/fesm2022/c8y-ngx-components-operations-operations-list.mjs +2 -1
  502. package/fesm2022/c8y-ngx-components-operations-operations-list.mjs.map +1 -1
  503. package/fesm2022/c8y-ngx-components-operations-shared.mjs +2 -1
  504. package/fesm2022/c8y-ngx-components-operations-shared.mjs.map +1 -1
  505. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs +4 -4
  506. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs.map +1 -1
  507. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs +4 -4
  508. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs.map +1 -1
  509. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-firmware.mjs +4 -4
  510. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-firmware.mjs.map +1 -1
  511. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-software.mjs +4 -4
  512. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-software.mjs.map +1 -1
  513. package/fesm2022/c8y-ngx-components-operations.mjs +2 -1
  514. package/fesm2022/c8y-ngx-components-operations.mjs.map +1 -1
  515. package/fesm2022/c8y-ngx-components-pending-mo-request.mjs +2 -1
  516. package/fesm2022/c8y-ngx-components-pending-mo-request.mjs.map +1 -1
  517. package/fesm2022/c8y-ngx-components-platform-configuration.mjs +2 -1
  518. package/fesm2022/c8y-ngx-components-platform-configuration.mjs.map +1 -1
  519. package/fesm2022/c8y-ngx-components-protocol-lpwan.mjs +2 -1
  520. package/fesm2022/c8y-ngx-components-protocol-lpwan.mjs.map +1 -1
  521. package/fesm2022/c8y-ngx-components-protocol-opcua-mappings.mjs +1 -1
  522. package/fesm2022/c8y-ngx-components-protocol-opcua-mappings.mjs.map +1 -1
  523. package/fesm2022/c8y-ngx-components-protocol-opcua.mjs +2 -1
  524. package/fesm2022/c8y-ngx-components-protocol-opcua.mjs.map +1 -1
  525. package/fesm2022/c8y-ngx-components-register-device.mjs +2 -1
  526. package/fesm2022/c8y-ngx-components-register-device.mjs.map +1 -1
  527. package/fesm2022/c8y-ngx-components-remote-access-configurations.mjs +3 -3
  528. package/fesm2022/c8y-ngx-components-remote-access-configurations.mjs.map +1 -1
  529. package/fesm2022/c8y-ngx-components-remote-access-passthrough.mjs +2 -1
  530. package/fesm2022/c8y-ngx-components-remote-access-passthrough.mjs.map +1 -1
  531. package/fesm2022/c8y-ngx-components-remote-access-shared.mjs +2 -1
  532. package/fesm2022/c8y-ngx-components-remote-access-shared.mjs.map +1 -1
  533. package/fesm2022/c8y-ngx-components-remote-access-ssh.mjs +2 -1
  534. package/fesm2022/c8y-ngx-components-remote-access-ssh.mjs.map +1 -1
  535. package/fesm2022/c8y-ngx-components-remote-access-telnet.mjs +2 -1
  536. package/fesm2022/c8y-ngx-components-remote-access-telnet.mjs.map +1 -1
  537. package/fesm2022/c8y-ngx-components-remote-access-vnc-vnc-viewer.mjs +3 -3
  538. package/fesm2022/c8y-ngx-components-remote-access-vnc-vnc-viewer.mjs.map +1 -1
  539. package/fesm2022/c8y-ngx-components-remote-access-vnc.mjs +2 -1
  540. package/fesm2022/c8y-ngx-components-remote-access-vnc.mjs.map +1 -1
  541. package/fesm2022/c8y-ngx-components-replace-device-replace-device-wizard.mjs +2 -1
  542. package/fesm2022/c8y-ngx-components-replace-device-replace-device-wizard.mjs.map +1 -1
  543. package/fesm2022/c8y-ngx-components-replace-device.mjs +2 -1
  544. package/fesm2022/c8y-ngx-components-replace-device.mjs.map +1 -1
  545. package/fesm2022/c8y-ngx-components-report-dashboard.mjs +2 -1
  546. package/fesm2022/c8y-ngx-components-report-dashboard.mjs.map +1 -1
  547. package/fesm2022/c8y-ngx-components-reports.mjs +2 -1
  548. package/fesm2022/c8y-ngx-components-reports.mjs.map +1 -1
  549. package/fesm2022/c8y-ngx-components-repository-configuration.mjs +2 -1
  550. package/fesm2022/c8y-ngx-components-repository-configuration.mjs.map +1 -1
  551. package/fesm2022/c8y-ngx-components-repository-firmware.mjs +2 -1
  552. package/fesm2022/c8y-ngx-components-repository-firmware.mjs.map +1 -1
  553. package/fesm2022/c8y-ngx-components-repository-shared.mjs +3 -2
  554. package/fesm2022/c8y-ngx-components-repository-shared.mjs.map +1 -1
  555. package/fesm2022/c8y-ngx-components-repository-software.mjs +2 -1
  556. package/fesm2022/c8y-ngx-components-repository-software.mjs.map +1 -1
  557. package/fesm2022/c8y-ngx-components-search.mjs +2 -1
  558. package/fesm2022/c8y-ngx-components-search.mjs.map +1 -1
  559. package/fesm2022/c8y-ngx-components-sensor-phone-sensor-phone-modal.mjs +2 -1
  560. package/fesm2022/c8y-ngx-components-sensor-phone-sensor-phone-modal.mjs.map +1 -1
  561. package/fesm2022/c8y-ngx-components-sensor-phone.mjs +3 -2
  562. package/fesm2022/c8y-ngx-components-sensor-phone.mjs.map +1 -1
  563. package/fesm2022/c8y-ngx-components-services-service-command-tab.mjs +2 -1
  564. package/fesm2022/c8y-ngx-components-services-service-command-tab.mjs.map +1 -1
  565. package/fesm2022/c8y-ngx-components-services-shared.mjs +1 -1
  566. package/fesm2022/c8y-ngx-components-services-shared.mjs.map +1 -1
  567. package/fesm2022/c8y-ngx-components-services.mjs +2 -1
  568. package/fesm2022/c8y-ngx-components-services.mjs.map +1 -1
  569. package/fesm2022/c8y-ngx-components-sigfox-device-registration.mjs +2 -1
  570. package/fesm2022/c8y-ngx-components-sigfox-device-registration.mjs.map +1 -1
  571. package/fesm2022/c8y-ngx-components-sms-gateway.mjs +3 -2
  572. package/fesm2022/c8y-ngx-components-sms-gateway.mjs.map +1 -1
  573. package/fesm2022/c8y-ngx-components-sub-assets.mjs +13 -9
  574. package/fesm2022/c8y-ngx-components-sub-assets.mjs.map +1 -1
  575. package/fesm2022/c8y-ngx-components-tenants.mjs +37 -37
  576. package/fesm2022/c8y-ngx-components-tenants.mjs.map +1 -1
  577. package/fesm2022/c8y-ngx-components-tracking.mjs +2 -1
  578. package/fesm2022/c8y-ngx-components-tracking.mjs.map +1 -1
  579. package/fesm2022/c8y-ngx-components-translation-editor-lazy.mjs +5 -5
  580. package/fesm2022/c8y-ngx-components-translation-editor-lazy.mjs.map +1 -1
  581. package/fesm2022/c8y-ngx-components-trusted-certificates.mjs +2 -1
  582. package/fesm2022/c8y-ngx-components-trusted-certificates.mjs.map +1 -1
  583. package/fesm2022/c8y-ngx-components-upgrade.mjs +10 -3
  584. package/fesm2022/c8y-ngx-components-upgrade.mjs.map +1 -1
  585. package/fesm2022/c8y-ngx-components-user-roles.mjs +2 -1
  586. package/fesm2022/c8y-ngx-components-user-roles.mjs.map +1 -1
  587. package/fesm2022/c8y-ngx-components-widgets-definitions-alarms-alarm-list.mjs +2 -1
  588. package/fesm2022/c8y-ngx-components-widgets-definitions-alarms-alarm-list.mjs.map +1 -1
  589. package/fesm2022/c8y-ngx-components-widgets-definitions-alarms-all-critical-alarms.mjs +2 -1
  590. package/fesm2022/c8y-ngx-components-widgets-definitions-alarms-all-critical-alarms.mjs.map +1 -1
  591. package/fesm2022/c8y-ngx-components-widgets-definitions-alarms-recent-alarms.mjs +2 -1
  592. package/fesm2022/c8y-ngx-components-widgets-definitions-alarms-recent-alarms.mjs.map +1 -1
  593. package/fesm2022/c8y-ngx-components-widgets-definitions-applications.mjs +2 -1
  594. package/fesm2022/c8y-ngx-components-widgets-definitions-applications.mjs.map +1 -1
  595. package/fesm2022/c8y-ngx-components-widgets-definitions-asset-notes.mjs +2 -1
  596. package/fesm2022/c8y-ngx-components-widgets-definitions-asset-notes.mjs.map +1 -1
  597. package/fesm2022/c8y-ngx-components-widgets-definitions-cockpit-legacy-welcome.mjs +2 -1
  598. package/fesm2022/c8y-ngx-components-widgets-definitions-cockpit-legacy-welcome.mjs.map +1 -1
  599. package/fesm2022/c8y-ngx-components-widgets-definitions-cockpit-welcome.mjs +2 -1
  600. package/fesm2022/c8y-ngx-components-widgets-definitions-cockpit-welcome.mjs.map +1 -1
  601. package/fesm2022/c8y-ngx-components-widgets-definitions-datapoints-graph.mjs +2 -1
  602. package/fesm2022/c8y-ngx-components-widgets-definitions-datapoints-graph.mjs.map +1 -1
  603. package/fesm2022/c8y-ngx-components-widgets-definitions-datapoints-table.mjs +2 -1
  604. package/fesm2022/c8y-ngx-components-widgets-definitions-datapoints-table.mjs.map +1 -1
  605. package/fesm2022/c8y-ngx-components-widgets-definitions-device-control-message.mjs +2 -1
  606. package/fesm2022/c8y-ngx-components-widgets-definitions-device-control-message.mjs.map +1 -1
  607. package/fesm2022/c8y-ngx-components-widgets-definitions-device-management-welcome.mjs +1 -1
  608. package/fesm2022/c8y-ngx-components-widgets-definitions-device-management-welcome.mjs.map +1 -1
  609. package/fesm2022/c8y-ngx-components-widgets-definitions-help-and-service.mjs +2 -1
  610. package/fesm2022/c8y-ngx-components-widgets-definitions-help-and-service.mjs.map +1 -1
  611. package/fesm2022/c8y-ngx-components-widgets-definitions-html-widget.mjs +3 -3
  612. package/fesm2022/c8y-ngx-components-widgets-definitions-html-widget.mjs.map +1 -1
  613. package/fesm2022/c8y-ngx-components-widgets-definitions-image.mjs +3 -6
  614. package/fesm2022/c8y-ngx-components-widgets-definitions-image.mjs.map +1 -1
  615. package/fesm2022/c8y-ngx-components-widgets-definitions-info-gauge.mjs +2 -1
  616. package/fesm2022/c8y-ngx-components-widgets-definitions-info-gauge.mjs.map +1 -1
  617. package/fesm2022/c8y-ngx-components-widgets-definitions-kpi.mjs +2 -1
  618. package/fesm2022/c8y-ngx-components-widgets-definitions-kpi.mjs.map +1 -1
  619. package/fesm2022/c8y-ngx-components-widgets-definitions-linear-gauge.mjs +2 -1
  620. package/fesm2022/c8y-ngx-components-widgets-definitions-linear-gauge.mjs.map +1 -1
  621. package/fesm2022/c8y-ngx-components-widgets-definitions-map.mjs +2 -1
  622. package/fesm2022/c8y-ngx-components-widgets-definitions-map.mjs.map +1 -1
  623. package/fesm2022/c8y-ngx-components-widgets-definitions-markdown.mjs +2 -2
  624. package/fesm2022/c8y-ngx-components-widgets-definitions-markdown.mjs.map +1 -1
  625. package/fesm2022/c8y-ngx-components-widgets-definitions-quick-links.mjs +2 -1
  626. package/fesm2022/c8y-ngx-components-widgets-definitions-quick-links.mjs.map +1 -1
  627. package/fesm2022/c8y-ngx-components-widgets-definitions-radial-gauge.mjs +2 -1
  628. package/fesm2022/c8y-ngx-components-widgets-definitions-radial-gauge.mjs.map +1 -1
  629. package/fesm2022/c8y-ngx-components-widgets-definitions-silo.mjs +2 -1
  630. package/fesm2022/c8y-ngx-components-widgets-definitions-silo.mjs.map +1 -1
  631. package/fesm2022/c8y-ngx-components-widgets-definitions-three-d-rotation.mjs +2 -1
  632. package/fesm2022/c8y-ngx-components-widgets-definitions-three-d-rotation.mjs.map +1 -1
  633. package/fesm2022/c8y-ngx-components-widgets-implementations-alarms.mjs +2 -1
  634. package/fesm2022/c8y-ngx-components-widgets-implementations-alarms.mjs.map +1 -1
  635. package/fesm2022/c8y-ngx-components-widgets-implementations-asset-notes.mjs +2 -1
  636. package/fesm2022/c8y-ngx-components-widgets-implementations-asset-notes.mjs.map +1 -1
  637. package/fesm2022/c8y-ngx-components-widgets-implementations-cockpit-welcome.mjs +9 -6
  638. package/fesm2022/c8y-ngx-components-widgets-implementations-cockpit-welcome.mjs.map +1 -1
  639. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-table.mjs +2 -1
  640. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-table.mjs.map +1 -1
  641. package/fesm2022/c8y-ngx-components-widgets-implementations-device-control-message.mjs +2 -1
  642. package/fesm2022/c8y-ngx-components-widgets-implementations-device-control-message.mjs.map +1 -1
  643. package/fesm2022/c8y-ngx-components-widgets-implementations-device-management-welcome.mjs +2 -1
  644. package/fesm2022/c8y-ngx-components-widgets-implementations-device-management-welcome.mjs.map +1 -1
  645. package/fesm2022/c8y-ngx-components-widgets-implementations-help-and-service-widget.mjs +2 -1
  646. package/fesm2022/c8y-ngx-components-widgets-implementations-help-and-service-widget.mjs.map +1 -1
  647. package/fesm2022/c8y-ngx-components-widgets-implementations-html-widget.mjs +13 -8
  648. package/fesm2022/c8y-ngx-components-widgets-implementations-html-widget.mjs.map +1 -1
  649. package/fesm2022/c8y-ngx-components-widgets-implementations-image.mjs +2 -1
  650. package/fesm2022/c8y-ngx-components-widgets-implementations-image.mjs.map +1 -1
  651. package/fesm2022/c8y-ngx-components-widgets-implementations-info-gauge.mjs +2 -1
  652. package/fesm2022/c8y-ngx-components-widgets-implementations-info-gauge.mjs.map +1 -1
  653. package/fesm2022/c8y-ngx-components-widgets-implementations-linear-gauge.mjs +2 -1
  654. package/fesm2022/c8y-ngx-components-widgets-implementations-linear-gauge.mjs.map +1 -1
  655. package/fesm2022/c8y-ngx-components-widgets-implementations-map.mjs +2 -1
  656. package/fesm2022/c8y-ngx-components-widgets-implementations-map.mjs.map +1 -1
  657. package/fesm2022/c8y-ngx-components-widgets-implementations-markdown.mjs +2 -1
  658. package/fesm2022/c8y-ngx-components-widgets-implementations-markdown.mjs.map +1 -1
  659. package/fesm2022/c8y-ngx-components-widgets-implementations-quick-links.mjs +2 -1
  660. package/fesm2022/c8y-ngx-components-widgets-implementations-quick-links.mjs.map +1 -1
  661. package/fesm2022/c8y-ngx-components-widgets-import-export-config.mjs +3 -10
  662. package/fesm2022/c8y-ngx-components-widgets-import-export-config.mjs.map +1 -1
  663. package/fesm2022/c8y-ngx-components.mjs +789 -531
  664. package/fesm2022/c8y-ngx-components.mjs.map +1 -1
  665. package/file-preview/file-preview.component.d.ts.map +1 -1
  666. package/files-repository/files-repository-navigation.factory.d.ts.map +1 -1
  667. package/files-repository/files-repository-upload.component.d.ts.map +1 -1
  668. package/files-repository/files-repository.component.d.ts.map +1 -1
  669. package/files-repository/files-repository.service.d.ts +1 -2
  670. package/files-repository/files-repository.service.d.ts.map +1 -1
  671. package/icon-selector/icon-selector-modal/icon-selector-modal.component.d.ts.map +1 -1
  672. package/icon-selector/icon-selector.component.d.ts.map +1 -1
  673. package/locales/de.po +105 -12
  674. package/locales/es.po +105 -12
  675. package/locales/fr.po +105 -12
  676. package/locales/ja_JP.po +99 -12
  677. package/locales/ko.po +104 -12
  678. package/locales/locales.pot +97 -12
  679. package/locales/nl.po +105 -12
  680. package/locales/pl.po +105 -12
  681. package/locales/pt_BR.po +105 -12
  682. package/locales/zh_CN.po +104 -12
  683. package/locales/zh_TW.po +104 -12
  684. package/location/location-tab.factory.d.ts.map +1 -1
  685. package/location/location.component.d.ts.map +1 -1
  686. package/loriot-device-registration/loriot-device-registration.component.d.ts.map +1 -1
  687. package/loriot-device-registration/loriot-provider.service.d.ts.map +1 -1
  688. package/map/map.component.d.ts.map +1 -1
  689. package/messaging-management/messaging/namespace-list/namespace-item/namespace-item-card/namespace-item-card.component.d.ts.map +1 -1
  690. package/messaging-management/messaging/shared/usage/usage.component.d.ts.map +1 -1
  691. package/messaging-management/messaging/topic/topic-list-view.component.d.ts.map +1 -1
  692. package/messaging-management/messaging/topic/topic-subscribers-view/topic-subscribers-data-grid.service.d.ts.map +1 -1
  693. package/messaging-management/messaging/topic/topic-subscribers-view/topic-subscribers-view.component.d.ts.map +1 -1
  694. package/messaging-management/messaging/topic/topics-data-grid.service.d.ts.map +1 -1
  695. package/messaging-management/navigator/messaging-navigator-factory.d.ts.map +1 -1
  696. package/messaging-management/navigator/topic-details-tab.factory.d.ts.map +1 -1
  697. package/operations/bulk-operation-list-item/bulk-operation-list-item.component.d.ts.map +1 -1
  698. package/operations/bulk-operation-list-item/modals/bulk-operations-reschedule-modal.component.d.ts.map +1 -1
  699. package/operations/bulk-operation-scheduler/operation-scheduler.component.d.ts.map +1 -1
  700. package/operations/bulk-operation-stepper/bulk-operation-stepper.component.d.ts.map +1 -1
  701. package/operations/bulk-single-operations-list/single-operation-item.component.d.ts.map +1 -1
  702. package/operations/bulk-single-operations-list/single-operations-list.component.d.ts.map +1 -1
  703. package/operations/factories/bulk-operations-tab.factory.d.ts.map +1 -1
  704. package/operations/grid-columns/creation-time.grid-column.d.ts.map +1 -1
  705. package/operations/grid-columns/device.grid-column.d.ts.map +1 -1
  706. package/operations/grid-columns/failure-reason.grid-column.d.ts.map +1 -1
  707. package/operations/grid-columns/status.grid-column.d.ts.map +1 -1
  708. package/operations/operations-list/device-control.feature.d.ts.map +1 -1
  709. package/operations/operations-list/operations-list-item.component.d.ts.map +1 -1
  710. package/operations/operations-list/operations-list.component.d.ts.map +1 -1
  711. package/operations/operations-list/single-operations-tab.factory.d.ts.map +1 -1
  712. package/operations/operations-list-item-details/operation-details-tabs.component.d.ts.map +1 -1
  713. package/operations/shared/nav.factory.d.ts.map +1 -1
  714. package/operations/shared/operations.service.d.ts.map +1 -1
  715. package/operations/stepper-bulk-type-configuration/stepper-bulk-type-configuration.component.d.ts.map +1 -1
  716. package/operations/stepper-bulk-type-device-profile/stepper-bulk-type-device-profile.component.d.ts.map +1 -1
  717. package/operations/stepper-bulk-type-firmware/stepper-bulk-type-firmware.component.d.ts.map +1 -1
  718. package/operations/stepper-bulk-type-software/select-software-step.component.d.ts.map +1 -1
  719. package/operations/stepper-bulk-type-software/stepper-bulk-type-software.component.d.ts.map +1 -1
  720. package/package.json +1 -1
  721. package/pending-mo-request/pending-mo-request-interceptor.d.ts.map +1 -1
  722. package/pending-mo-request/pending-mo-request.service.d.ts.map +1 -1
  723. package/platform-configuration/platform-configuration-form-provider.service.d.ts.map +1 -1
  724. package/protocol-lpwan/lpwan-protocol.module.d.ts.map +1 -1
  725. package/protocol-lpwan/lpwan-set-connections.component.d.ts.map +1 -1
  726. package/protocol-lpwan/lpwan-set-device-protocol.component.d.ts.map +1 -1
  727. package/protocol-lpwan/multiple-lns-connectors/actility-multiple-lns-connector.component.d.ts.map +1 -1
  728. package/protocol-lpwan/multiple-lns-connectors/connection-info-with-download-csv.component.d.ts.map +1 -1
  729. package/protocol-lpwan/multiple-lns-connectors/loriot/loriot-multiple-lns-connector.component.d.ts.map +1 -1
  730. package/protocol-lpwan/multiple-lns-connectors/no-connections-found.component.d.ts.map +1 -1
  731. package/protocol-lpwan/multiple-lns-connectors/sigfox-multiple-lns-connector.component.d.ts.map +1 -1
  732. package/protocol-opcua/opcua-address-space.component.d.ts.map +1 -1
  733. package/protocol-opcua/opcua-device-protocol-detail.component.d.ts.map +1 -1
  734. package/protocol-opcua/opcua-server-config.component.d.ts.map +1 -1
  735. package/protocol-opcua/opcua-servers.component.d.ts.map +1 -1
  736. package/register-device/bulk/bulk-device-registration-modal.component.d.ts.map +1 -1
  737. package/register-device/device-registration-view.component.d.ts.map +1 -1
  738. package/register-device/extensible/base-extensible-device-registration.service.d.ts.map +1 -1
  739. package/register-device/extensible/bulk/extensible-bulk-device-registration-modal.component.d.ts.map +1 -1
  740. package/register-device/extensible/bulk/extensible-bulk-device-registration.service.d.ts.map +1 -1
  741. package/register-device/extensible/single/extensible-device-registration-modal.component.d.ts.map +1 -1
  742. package/register-device/extensible/single/extensible-device-registration-stepper.component.d.ts.map +1 -1
  743. package/register-device/extensible/single/extensible-device-registration.service.d.ts.map +1 -1
  744. package/register-device/general/general-device-registration.component.d.ts.map +1 -1
  745. package/register-device/register-device-navigation.factory.d.ts.map +1 -1
  746. package/register-device/register-device.service.d.ts.map +1 -1
  747. package/remote-access/configurations/remote-access-configuration-list/remote-access-configuration-list.component.d.ts.map +1 -1
  748. package/remote-access/configurations/remote-access-pick-protocol-modal/remote-access-pick-protocol-modal.component.d.ts.map +1 -1
  749. package/remote-access/passthrough/index.d.ts +1 -1
  750. package/remote-access/passthrough/index.d.ts.map +1 -1
  751. package/remote-access/shared/remote-access-basic-endpoint-modal/remote-access-basic-endpoint-modal.component.d.ts.map +1 -1
  752. package/remote-access/ssh/index.d.ts.map +1 -1
  753. package/remote-access/telnet/index.d.ts.map +1 -1
  754. package/remote-access/vnc/index.d.ts.map +1 -1
  755. package/replace-device/replace-device-grid-action.factory.d.ts.map +1 -1
  756. package/replace-device/replace-device-wizard/replace-device-wizard.component.d.ts.map +1 -1
  757. package/replace-device/replace-device-wizard/replace-device-wizard.service.d.ts.map +1 -1
  758. package/replace-device/replace-device.service.d.ts.map +1 -1
  759. package/report-dashboard/report-dashboard-list.component.d.ts.map +1 -1
  760. package/report-dashboard/report-dashboard-navigation.factory.d.ts.map +1 -1
  761. package/reports/export-schedules.component.d.ts.map +1 -1
  762. package/repository/configuration/device-tab/configuration-repository-device-tab.module.d.ts.map +1 -1
  763. package/repository/configuration/device-tab/save-to-repository.component.d.ts.map +1 -1
  764. package/repository/configuration/device-tab/text-based-configuration.component.d.ts.map +1 -1
  765. package/repository/configuration/list/configuration-detail.component.d.ts.map +1 -1
  766. package/repository/configuration/list/configuration-list.component.d.ts.map +1 -1
  767. package/repository/configuration/list/configuration-repository-navigation-factory.d.ts.map +1 -1
  768. package/repository/firmware/device-tab/firmware-device-tab.component.d.ts.map +1 -1
  769. package/repository/firmware/device-tab/firmware-repository-device-tab.module.d.ts.map +1 -1
  770. package/repository/firmware/list/add-firmware-modal.component.d.ts.map +1 -1
  771. package/repository/firmware/list/add-firmware-patch-modal.component.d.ts.map +1 -1
  772. package/repository/firmware/list/firmware-details.component.d.ts.map +1 -1
  773. package/repository/firmware/list/firmware-list.component.d.ts.map +1 -1
  774. package/repository/firmware/list/firmware-repository-navigation-factory.d.ts.map +1 -1
  775. package/repository/shared/columns/description.grid-column.d.ts.map +1 -1
  776. package/repository/shared/columns/device-type.grid-column.d.ts.map +1 -1
  777. package/repository/shared/columns/file.grid-column.d.ts.map +1 -1
  778. package/repository/shared/columns/name.grid-column.d.ts.map +1 -1
  779. package/repository/shared/columns/type.filtering-form-renderer.component.d.ts.map +1 -1
  780. package/repository/shared/columns/type.grid-column.d.ts.map +1 -1
  781. package/repository/shared/columns/versions.grid-column.d.ts.map +1 -1
  782. package/repository/shared/repository.service.d.ts.map +1 -1
  783. package/repository/shared/select-modal/repository-select-modal.component.d.ts +1 -1
  784. package/repository/shared/select-modal/repository-select-modal.component.d.ts.map +1 -1
  785. package/repository/shared/software-type/software-type.component.d.ts.map +1 -1
  786. package/repository/software/device-tab/installed-software.component.d.ts.map +1 -1
  787. package/repository/software/device-tab/software-repository-device-tab.module.d.ts.map +1 -1
  788. package/repository/software/list/add-software-modal.component.d.ts.map +1 -1
  789. package/repository/software/list/software-details.component.d.ts.map +1 -1
  790. package/repository/software/list/software-list.component.d.ts.map +1 -1
  791. package/repository/software/list/software-repository-navigation-factory.d.ts.map +1 -1
  792. package/search/columns/asset-type-search-grid-column.d.ts.map +1 -1
  793. package/search/search-grid.component.d.ts.map +1 -1
  794. package/search/search-results.component.d.ts.map +1 -1
  795. package/sensor-phone/connect-smartphone.factory.d.ts.map +1 -1
  796. package/sensor-phone/sensor-phone-modal/sensor-phone-modal.component.d.ts.map +1 -1
  797. package/sensor-phone/sensor-phone-modal/sensor-phone.service.d.ts.map +1 -1
  798. package/services/service-command-tab/service-command.feature.d.ts.map +1 -1
  799. package/services/services-device-tab/columns/last-updated-date.device-grid-column.d.ts.map +1 -1
  800. package/services/services-device-tab/columns/name.grid-column.d.ts.map +1 -1
  801. package/services/services-device-tab/columns/service-type.grid-column.d.ts.map +1 -1
  802. package/services/services-device-tab/columns/status.grid-column.d.ts.map +1 -1
  803. package/services/services-device-tab/services-device-tab.component.d.ts.map +1 -1
  804. package/services/services-device-tab/services-device-tab.module.d.ts.map +1 -1
  805. package/services/services-device-tab/services.breadcrumb-factory.d.ts.map +1 -1
  806. package/services/shared/service-command.service.d.ts.map +1 -1
  807. package/services/status-options/status-options.model.d.ts.map +1 -1
  808. package/sigfox-device-registration/sigfox-device-registration.component.d.ts.map +1 -1
  809. package/sigfox-device-registration/sigfox-provider.service.d.ts.map +1 -1
  810. package/sms-gateway/sms-gateway.module.d.ts.map +1 -1
  811. package/sub-assets/add-group/add-group.component.d.ts.map +1 -1
  812. package/sub-assets/asset-properties-item.component.d.ts.map +1 -1
  813. package/sub-assets/asset-properties.component.d.ts.map +1 -1
  814. package/sub-assets/assign-devices/assign-child-devices.component.d.ts.map +1 -1
  815. package/sub-assets/assign-devices/assign-devices.component.d.ts.map +1 -1
  816. package/sub-assets/delete-assets-modal/delete-assets-modal.component.d.ts.map +1 -1
  817. package/sub-assets/group-info.component.d.ts.map +1 -1
  818. package/sub-assets/sub-assets-grid.component.d.ts.map +1 -1
  819. package/sub-assets/sub-assets.component.d.ts.map +1 -1
  820. package/sub-assets/sub-assets.module.d.ts.map +1 -1
  821. package/sub-assets/sub-assets.service.d.ts.map +1 -1
  822. package/sub-assets/unassign-assets-modal/unassign-modal.component.d.ts.map +1 -1
  823. package/tenants/custom-properties/custom-properties.component.d.ts.map +1 -1
  824. package/tenants/tenant-form/tenant-form.component.d.ts.map +1 -1
  825. package/tenants/tenant-limits/tenant-limits.component.d.ts.map +1 -1
  826. package/tenants/tenant-list/creation-time.filtering-form-renderer.component.d.ts.map +1 -1
  827. package/tenants/tenant-list/tenant-list.component.d.ts.map +1 -1
  828. package/tenants/tenants-navigation.factory.d.ts.map +1 -1
  829. package/tenants/tenants.module.d.ts.map +1 -1
  830. package/tracking/tracking.feature.d.ts.map +1 -1
  831. package/translation-editor/lazy/translation-editor/translation-editor.component.d.ts.map +1 -1
  832. package/trusted-certificates/crl/crl-check-settings.component.d.ts.map +1 -1
  833. package/trusted-certificates/crl/crl-settings.component.d.ts.map +1 -1
  834. package/trusted-certificates/factories/tabs.factory.d.ts.map +1 -1
  835. package/trusted-certificates/factories/trusted-certificates-navigation.factory.d.ts.map +1 -1
  836. package/trusted-certificates/list/add-trusted-certificate.component.d.ts.map +1 -1
  837. package/trusted-certificates/list/trusted-certificate-list.component.d.ts.map +1 -1
  838. package/upgrade/auth-bridge.service.d.ts.map +1 -1
  839. package/upgrade/bridge.service.d.ts.map +1 -1
  840. package/upgrade/ng1/downgraded.services.d.ts +1 -0
  841. package/upgrade/ng1/downgraded.services.d.ts.map +1 -1
  842. package/upgrade/ng1/index.d.ts.map +1 -1
  843. package/user-roles/roles-asset-tree/roles-asset-tree.component.d.ts.map +1 -1
  844. package/widgets/cockpit/index.d.ts +4 -4
  845. package/widgets/definitions/alarms/alarm-list/index.d.ts +1 -1
  846. package/widgets/definitions/alarms/alarm-list/index.d.ts.map +1 -1
  847. package/widgets/definitions/alarms/all-critical-alarms/index.d.ts +1 -1
  848. package/widgets/definitions/alarms/all-critical-alarms/index.d.ts.map +1 -1
  849. package/widgets/definitions/alarms/recent-alarms/index.d.ts +1 -1
  850. package/widgets/definitions/alarms/recent-alarms/index.d.ts.map +1 -1
  851. package/widgets/definitions/applications/index.d.ts +1 -1
  852. package/widgets/definitions/applications/index.d.ts.map +1 -1
  853. package/widgets/definitions/asset-notes/index.d.ts +1 -1
  854. package/widgets/definitions/asset-notes/index.d.ts.map +1 -1
  855. package/widgets/definitions/cockpit-legacy-welcome/index.d.ts +1 -1
  856. package/widgets/definitions/cockpit-legacy-welcome/index.d.ts.map +1 -1
  857. package/widgets/definitions/cockpit-welcome/index.d.ts +1 -1
  858. package/widgets/definitions/cockpit-welcome/index.d.ts.map +1 -1
  859. package/widgets/definitions/datapoints-graph/datapoint-graph-widget-factory.d.ts.map +1 -1
  860. package/widgets/definitions/datapoints-graph/index.d.ts +1 -1
  861. package/widgets/definitions/datapoints-table/index.d.ts +1 -1
  862. package/widgets/definitions/datapoints-table/index.d.ts.map +1 -1
  863. package/widgets/definitions/device-control-message/index.d.ts +1 -1
  864. package/widgets/definitions/device-control-message/index.d.ts.map +1 -1
  865. package/widgets/definitions/help-and-service/index.d.ts +1 -1
  866. package/widgets/definitions/help-and-service/index.d.ts.map +1 -1
  867. package/widgets/definitions/html-widget/html-widget.factory.d.ts.map +1 -1
  868. package/widgets/definitions/html-widget/index.d.ts +1 -1
  869. package/widgets/definitions/image/index.d.ts +5 -3
  870. package/widgets/definitions/image/index.d.ts.map +1 -1
  871. package/widgets/definitions/info-gauge/index.d.ts +2 -3
  872. package/widgets/definitions/info-gauge/index.d.ts.map +1 -1
  873. package/widgets/definitions/kpi/index.d.ts +1 -1
  874. package/widgets/definitions/kpi/index.d.ts.map +1 -1
  875. package/widgets/definitions/linear-gauge/index.d.ts +1 -1
  876. package/widgets/definitions/linear-gauge/index.d.ts.map +1 -1
  877. package/widgets/definitions/map/index.d.ts +1 -1
  878. package/widgets/definitions/map/index.d.ts.map +1 -1
  879. package/widgets/definitions/markdown/index.d.ts +5 -3
  880. package/widgets/definitions/markdown/index.d.ts.map +1 -1
  881. package/widgets/definitions/quick-links/index.d.ts +1 -1
  882. package/widgets/definitions/quick-links/index.d.ts.map +1 -1
  883. package/widgets/definitions/radial-gauge/index.d.ts +1 -1
  884. package/widgets/definitions/radial-gauge/index.d.ts.map +1 -1
  885. package/widgets/definitions/silo/index.d.ts +1 -1
  886. package/widgets/definitions/silo/index.d.ts.map +1 -1
  887. package/widgets/definitions/three-d-rotation/index.d.ts +1 -1
  888. package/widgets/definitions/three-d-rotation/index.d.ts.map +1 -1
  889. package/widgets/implementations/alarms/alarm-list-widget-config/alarm-list-widget-config.component.d.ts.map +1 -1
  890. package/widgets/implementations/alarms/alarm-list-widget-view/alarm-list-widget.component.d.ts.map +1 -1
  891. package/widgets/implementations/alarms/alarm-list-widget.model.d.ts.map +1 -1
  892. package/widgets/implementations/alarms/alarm-widget-alarms-reload.component.d.ts.map +1 -1
  893. package/widgets/implementations/cockpit-welcome/welcome.component.d.ts +3 -2
  894. package/widgets/implementations/cockpit-welcome/welcome.component.d.ts.map +1 -1
  895. package/widgets/implementations/datapoints-table/datapoints-table-view/datapoints-reload/datapoints-reload.component.d.ts.map +1 -1
  896. package/widgets/implementations/datapoints-table/datapoints-table-view/datapoints-table/datapoints-table.component.d.ts.map +1 -1
  897. package/widgets/implementations/datapoints-table/datapoints-table-view/datapoints-table-view.component.d.ts.map +1 -1
  898. package/widgets/implementations/datapoints-table/datapoints-table-widget.model.d.ts.map +1 -1
  899. package/widgets/implementations/datapoints-table/date-range-picker.component.d.ts.map +1 -1
  900. package/widgets/implementations/device-control-message/device-control-message-widget-view/device-control-message-widget-view.component.d.ts.map +1 -1
  901. package/widgets/implementations/device-management-welcome/welcome.component.d.ts.map +1 -1
  902. package/widgets/implementations/help-and-service-widget/help-and-service-view/help-and-service-view.component.d.ts.map +1 -1
  903. package/widgets/implementations/html-widget/advanced-settings/advanced-settings.component.d.ts.map +1 -1
  904. package/widgets/implementations/html-widget/html-widget-config.service.d.ts.map +1 -1
  905. package/widgets/implementations/html-widget/widget-code-editor-section/widget-code-editor.component.d.ts +5 -3
  906. package/widgets/implementations/html-widget/widget-code-editor-section/widget-code-editor.component.d.ts.map +1 -1
  907. package/widgets/implementations/image/image-widget-config/image-widget-config.component.d.ts.map +1 -1
  908. package/widgets/implementations/image/image-widget.service.d.ts +1 -2
  909. package/widgets/implementations/image/image-widget.service.d.ts.map +1 -1
  910. package/widgets/implementations/info-gauge/info-gauge-widget-config/info-gauge-widget-config.component.d.ts.map +1 -1
  911. package/widgets/implementations/linear-gauge/linear-gauge-widget-view/linear-gauge-widget-view.component.d.ts.map +1 -1
  912. package/widgets/implementations/map/map-widget-config.component.d.ts.map +1 -1
  913. package/widgets/implementations/map/map-widget.component.d.ts.map +1 -1
  914. package/widgets/implementations/markdown/markdown-widget-config/markdown-widget-config.component.d.ts.map +1 -1
  915. package/widgets/implementations/markdown/markdown-widget.service.d.ts.map +1 -1
  916. package/widgets/implementations/quick-links/quick-links-widget-config/quick-links-widget-config.component.d.ts.map +1 -1
  917. package/widgets/import-export-config/config-target-export.d.ts +3 -1
  918. package/widgets/import-export-config/config-target-export.d.ts.map +1 -1
  919. package/widgets/import-export-config/config-target-import.d.ts +3 -1
  920. package/widgets/import-export-config/config-target-import.d.ts.map +1 -1
  921. package/widgets/import-export-config/device-import-export.d.ts +3 -1
  922. package/widgets/import-export-config/device-import-export.d.ts.map +1 -1
  923. package/fesm2022/c8y-ngx-components-context-dashboard-dashboard-general-settings.component-DjlpSztw.mjs.map +0 -1
  924. package/fesm2022/c8y-ngx-components-context-dashboard-dashboard-version-history.component-B2zLhv0X.mjs.map +0 -1
  925. package/fesm2022/c8y-ngx-components-dashboard-details-advanced-tab-dashboard-details-advanced-tab.component-CwfVxTSx.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"c8y-ngx-components-asset-property-grid.component-CRnyUbyz.mjs","sources":["../../core/data-grid/configure-custom-column/columns/identifier.cell-renderer.component.ts","../../core/data-grid/configure-custom-column/columns/identifier.data-grid-column.ts","../../core/data-grid/configure-custom-column/columns/tags.cell-renderer.components.ts","../../core/data-grid/configure-custom-column/columns/tags.data-grid-column.ts","../../core/data-grid/configure-custom-column/columns/title.cell-renderer.component.ts","../../core/data-grid/configure-custom-column/columns/title.data-grid-column.ts","../../core/data-grid/configure-custom-column/asset-property-grid.component.ts","../../core/data-grid/configure-custom-column/asset-property-grid.component.html"],"sourcesContent":["import { Component } from '@angular/core';\nimport { CellRendererContext } from '../../column/cell-renderer';\n\n@Component({\n template: ` {{ context.item.id }} `,\n selector: 'c8y-identifier-cell-renderer',\n standalone: true\n})\nexport class IdentifierCellRendererComponent {\n constructor(public context: CellRendererContext) {}\n}\n","import { getBasicInputArrayFormFieldConfig } from '../../../dynamic-forms';\nimport { gettext } from '../../../i18n';\nimport { BaseColumn } from '../../column/base.column';\nimport { ColumnConfig } from '../../data-grid.model';\nimport { IdentifierCellRendererComponent } from './identifier.cell-renderer.component';\n\nexport class IdentifierGridColumn extends BaseColumn {\n constructor(initialColumnConfig?: ColumnConfig) {\n super(initialColumnConfig);\n\n this.name = 'key';\n this.header = gettext('Key');\n this.cellRendererComponent = IdentifierCellRendererComponent;\n\n this.filterable = true;\n this.filteringConfig = {\n fields: getBasicInputArrayFormFieldConfig({\n key: 'identifiers',\n label: gettext('Show items with identifier'),\n addText: gettext('Add next`identifier`'),\n placeholder: 'c8y_Position'\n }),\n getFilter(_model) {\n return _model;\n }\n };\n\n this.sortable = false;\n }\n}\n","import { Component } from '@angular/core';\nimport { CellRendererContext } from '../../column/cell-renderer';\n\n@Component({\n template: ` {{ context.item.tags }} `,\n selector: 'c8y-tags-cell-renderer',\n standalone: true\n})\nexport class TagsCellRendererComponent {\n constructor(public context: CellRendererContext) {}\n}\n","import { getBasicInputArrayFormFieldConfig } from '../../../dynamic-forms';\nimport { gettext } from '../../../i18n';\nimport { BaseColumn } from '../../column/base.column';\nimport { ColumnConfig } from '../../data-grid.model';\nimport { TagsCellRendererComponent } from './tags.cell-renderer.components';\n\nexport class TagsGridColumn extends BaseColumn {\n constructor(initialColumnConfig?: ColumnConfig) {\n super(initialColumnConfig);\n\n this.name = 'tags';\n this.header = gettext('Tags');\n this.cellRendererComponent = TagsCellRendererComponent;\n\n this.filterable = true;\n this.filteringConfig = {\n fields: getBasicInputArrayFormFieldConfig({\n key: 'tags',\n label: gettext('Show items with tags'),\n addText: gettext('Add next`tag`'),\n placeholder: 'tag1'\n }),\n getFilter(_model) {\n return _model;\n }\n };\n\n this.sortable = false;\n }\n}\n","import { Component } from '@angular/core';\nimport { CellRendererContext } from '../..';\n\n@Component({\n template: ` {{ context.item.title }} `,\n selector: 'c8y-title-cell-renderer',\n standalone: true\n})\nexport class TitleCellRendererComponent {\n constructor(public context: CellRendererContext) {}\n}\n","import { getBasicInputArrayFormFieldConfig } from '../../../dynamic-forms';\nimport { gettext } from '../../../i18n';\nimport { BaseColumn } from '../../column/base.column';\nimport { ColumnConfig } from '../../data-grid.model';\nimport { TitleCellRendererComponent } from './title.cell-renderer.component';\n\nexport class TitleGridColumn extends BaseColumn {\n constructor(initialColumnConfig?: ColumnConfig) {\n super(initialColumnConfig);\n\n this.name = 'title';\n this.header = gettext('Title');\n this.cellRendererComponent = TitleCellRendererComponent;\n\n this.filterable = true;\n this.filteringConfig = {\n fields: getBasicInputArrayFormFieldConfig({\n key: 'titles',\n label: gettext('Show items with title'),\n addText: gettext('Add next`title`'),\n placeholder: 'location'\n }),\n getFilter(_model) {\n return _model;\n }\n };\n\n this.sortable = false;\n }\n}\n","import { Component, EventEmitter, Output } from '@angular/core';\nimport { camelCase } from 'lodash-es';\nimport { AlertService } from '../../alert';\nimport {\n AssetPropertyDefinition,\n SchemaNode,\n TreeNode\n} from '../../asset-property/asset-property.model';\nimport { AssetPropertyService } from '../../asset-property/asset-property.service';\nimport { BottomDrawerRef } from '../../bottom-drawer';\nimport { gettext } from '../../i18n';\nimport { C8yTranslatePipe } from '../../i18n/c8y-translate.pipe';\nimport { DataGridComponent } from '../data-grid.component';\nimport {\n Column,\n CustomColumnConfig,\n DataSourceModifier,\n DisplayOptions,\n Pagination,\n ServerSideDataCallback,\n ServerSideDataResult\n} from '../data-grid.model';\nimport { IdentifierCellRendererComponent } from './columns/identifier.cell-renderer.component';\nimport { IdentifierGridColumn } from './columns/identifier.data-grid-column';\nimport { TagsCellRendererComponent } from './columns/tags.cell-renderer.components';\nimport { TagsGridColumn } from './columns/tags.data-grid-column';\nimport { TitleCellRendererComponent } from './columns/title.cell-renderer.component';\nimport { TitleGridColumn } from './columns/title.data-grid-column';\n\nconst CHILD_PAGE_SIZE = 5;\nconst ROOT_PAGE_SIZE = 25;\n\n@Component({\n selector: 'c8y-asset-property-grid',\n standalone: true,\n imports: [\n C8yTranslatePipe,\n DataGridComponent,\n IdentifierCellRendererComponent,\n TitleCellRendererComponent,\n TagsCellRendererComponent\n ],\n templateUrl: './asset-property-grid.component.html'\n})\nexport class AssetPropertyGridComponent {\n columns: readonly Column[] = [\n new TitleGridColumn(),\n new IdentifierGridColumn(),\n new TagsGridColumn(),\n {\n name: 'description',\n header: gettext('Description'),\n path: 'description',\n filterable: false,\n sortable: false\n },\n {\n name: 'dataType',\n header: gettext('Data Type'),\n path: 'type',\n filterable: false,\n sortable: false\n }\n ];\n\n pagination: Pagination = { pageSize: ROOT_PAGE_SIZE, currentPage: 1 };\n childNodePagination: Pagination = { pageSize: CHILD_PAGE_SIZE, currentPage: 1 };\n serverSideDataCallback: ServerSideDataCallback = this.onDataSourceModifier.bind(this);\n\n headerActionControls = [\n {\n text: gettext('Close'),\n callback: () => this.close(),\n icon: 'clear',\n type: 'custom'\n }\n ];\n\n displayOptions: DisplayOptions = {\n bordered: false,\n striped: true,\n filter: true,\n gridHeader: true,\n hover: true\n };\n\n @Output() onAddCustomColumn = new EventEmitter<CustomColumnConfig>();\n\n constructor(\n private service: AssetPropertyService,\n private bottomDrawerRef: BottomDrawerRef<AssetPropertyGridComponent>,\n private alertService: AlertService\n ) {}\n\n async onDataSourceModifier(\n dataSourceModifier: DataSourceModifier\n ): Promise<ServerSideDataResult> {\n const { columns, pagination, parentRow } = dataSourceModifier;\n\n if (parentRow) {\n return this.buildChildGridData(parentRow);\n }\n\n const {\n res,\n data = [],\n paging\n } = await this.service.list(this.buildFilter(columns, pagination));\n\n const treeNodes = data.map(d => this.toTreeNode(d));\n\n return {\n res,\n data: treeNodes,\n paging,\n filteredSize: paging?.totalElements,\n size: paging?.totalElements\n };\n }\n\n async selectItem(identifiers: string[]) {\n if (this.bottomDrawerRef) {\n this.bottomDrawerRef.close();\n }\n this.addColumn(identifiers[0]);\n }\n\n async addColumn(path: string): Promise<void> {\n const [parentId, childKey] = path.split('.');\n try {\n const def = await this.service.getByIdentifier(parentId);\n const childSchema = def.jsonSchema?.properties?.[childKey];\n\n const header = childSchema?.title || childKey || def.jsonSchema?.title;\n\n this.onAddCustomColumn.emit({\n name: camelCase(path),\n header,\n path,\n type: 'property',\n custom: true,\n visible: true\n });\n } catch (err) {\n this.alertService.addServerFailure(err);\n }\n }\n\n close(): void {\n this.bottomDrawerRef?.close();\n }\n\n private buildChildGridData(parentRow) {\n const children = parentRow.children ?? [];\n const currentPage = parentRow.pagination?.currentPage ?? 1;\n\n const start = (currentPage - 1) * CHILD_PAGE_SIZE;\n const data = children.slice(start, start + CHILD_PAGE_SIZE);\n const totalPages = Math.ceil(children.length / CHILD_PAGE_SIZE);\n\n return {\n data,\n filteredSize: children.length,\n size: children.length,\n paging: {\n currentPage,\n pageSize: CHILD_PAGE_SIZE,\n totalPages,\n totalElements: children.length,\n nextPage: currentPage < totalPages ? currentPage + 1 : null,\n prevPage: currentPage > 1 ? currentPage - 1 : null\n },\n parentRow\n } as ServerSideDataResult;\n }\n\n private buildFilter(columns: Column[], pagination: Pagination) {\n const predicates = columns\n .filter(column => column.filterable && column.externalFilterQuery)\n .reduce((acc, column) => ({ ...acc, ...column.externalFilterQuery }), {});\n\n return { currentPage: pagination.currentPage, pageSize: pagination.pageSize, ...predicates };\n }\n\n private toTreeNode({ identifier, jsonSchema = {}, tags }: AssetPropertyDefinition): TreeNode {\n const { title, description, type, properties } = jsonSchema;\n\n return {\n id: identifier,\n title: title ?? identifier,\n description,\n type,\n tags,\n children: this.mapSchema(properties, identifier),\n hasChildren: !!properties\n };\n }\n\n private mapSchema(props: Record<string, SchemaNode> | undefined, base = ''): TreeNode[] {\n if (!props) return [];\n\n return Object.entries(props).map(([key, schema]) => {\n const id = base ? `${base}.${key}` : key;\n const children = this.mapSchema(schema.properties, id);\n return {\n id,\n title: schema.title ?? key,\n description: schema.description,\n type: schema.type,\n children,\n hasChildren: children.length > 0\n };\n });\n }\n}\n","<c8y-data-grid\n class=\"content-fullpage d-flex d-col border-top border-bottom\"\n [title]=\"'Asset properties' | translate\"\n [loadMoreItemsLabel]=\"'Load more asset properties' | translate\"\n [loadingItemsLabel]=\"'Loading asset properties…' | translate\"\n [displayOptions]=\"displayOptions\"\n [headerActionControls]=\"headerActionControls\"\n [columns]=\"columns\"\n [treeGrid]=\"true\"\n [childNodePagination]=\"childNodePagination\"\n parentNodeLabelProperty=\"title\"\n [pagination]=\"pagination\"\n [serverSideDataCallback]=\"serverSideDataCallback\"\n [selectable]=\"true\"\n [singleSelection]=\"true\"\n (itemsSelect)=\"selectItem($event)\"\n></c8y-data-grid>\n"],"names":["i1.CellRendererContext","i1.AssetPropertyService","i2.BottomDrawerRef","i3.AlertService"],"mappings":"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"}
1
+ {"version":3,"file":"c8y-ngx-components-asset-property-grid.component-CRnyUbyz.mjs","sources":["../../core/data-grid/configure-custom-column/columns/identifier.cell-renderer.component.ts","../../core/data-grid/configure-custom-column/columns/identifier.data-grid-column.ts","../../core/data-grid/configure-custom-column/columns/tags.cell-renderer.components.ts","../../core/data-grid/configure-custom-column/columns/tags.data-grid-column.ts","../../core/data-grid/configure-custom-column/columns/title.cell-renderer.component.ts","../../core/data-grid/configure-custom-column/columns/title.data-grid-column.ts","../../core/data-grid/configure-custom-column/asset-property-grid.component.ts","../../core/data-grid/configure-custom-column/asset-property-grid.component.html"],"sourcesContent":["import { Component } from '@angular/core';\nimport { CellRendererContext } from '../../column/cell-renderer';\n\n@Component({\n template: ` {{ context.item.id }} `,\n selector: 'c8y-identifier-cell-renderer',\n standalone: true\n})\nexport class IdentifierCellRendererComponent {\n constructor(public context: CellRendererContext) {}\n}\n","import { getBasicInputArrayFormFieldConfig } from '../../../dynamic-forms';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport { BaseColumn } from '../../column/base.column';\nimport { ColumnConfig } from '../../data-grid.model';\nimport { IdentifierCellRendererComponent } from './identifier.cell-renderer.component';\n\nexport class IdentifierGridColumn extends BaseColumn {\n constructor(initialColumnConfig?: ColumnConfig) {\n super(initialColumnConfig);\n\n this.name = 'key';\n this.header = gettext('Key');\n this.cellRendererComponent = IdentifierCellRendererComponent;\n\n this.filterable = true;\n this.filteringConfig = {\n fields: getBasicInputArrayFormFieldConfig({\n key: 'identifiers',\n label: gettext('Show items with identifier'),\n addText: gettext('Add next`identifier`'),\n placeholder: 'c8y_Position'\n }),\n getFilter(_model) {\n return _model;\n }\n };\n\n this.sortable = false;\n }\n}\n","import { Component } from '@angular/core';\nimport { CellRendererContext } from '../../column/cell-renderer';\n\n@Component({\n template: ` {{ context.item.tags }} `,\n selector: 'c8y-tags-cell-renderer',\n standalone: true\n})\nexport class TagsCellRendererComponent {\n constructor(public context: CellRendererContext) {}\n}\n","import { getBasicInputArrayFormFieldConfig } from '../../../dynamic-forms';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport { BaseColumn } from '../../column/base.column';\nimport { ColumnConfig } from '../../data-grid.model';\nimport { TagsCellRendererComponent } from './tags.cell-renderer.components';\n\nexport class TagsGridColumn extends BaseColumn {\n constructor(initialColumnConfig?: ColumnConfig) {\n super(initialColumnConfig);\n\n this.name = 'tags';\n this.header = gettext('Tags');\n this.cellRendererComponent = TagsCellRendererComponent;\n\n this.filterable = true;\n this.filteringConfig = {\n fields: getBasicInputArrayFormFieldConfig({\n key: 'tags',\n label: gettext('Show items with tags'),\n addText: gettext('Add next`tag`'),\n placeholder: 'tag1'\n }),\n getFilter(_model) {\n return _model;\n }\n };\n\n this.sortable = false;\n }\n}\n","import { Component } from '@angular/core';\nimport { CellRendererContext } from '../..';\n\n@Component({\n template: ` {{ context.item.title }} `,\n selector: 'c8y-title-cell-renderer',\n standalone: true\n})\nexport class TitleCellRendererComponent {\n constructor(public context: CellRendererContext) {}\n}\n","import { getBasicInputArrayFormFieldConfig } from '../../../dynamic-forms';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport { BaseColumn } from '../../column/base.column';\nimport { ColumnConfig } from '../../data-grid.model';\nimport { TitleCellRendererComponent } from './title.cell-renderer.component';\n\nexport class TitleGridColumn extends BaseColumn {\n constructor(initialColumnConfig?: ColumnConfig) {\n super(initialColumnConfig);\n\n this.name = 'title';\n this.header = gettext('Title');\n this.cellRendererComponent = TitleCellRendererComponent;\n\n this.filterable = true;\n this.filteringConfig = {\n fields: getBasicInputArrayFormFieldConfig({\n key: 'titles',\n label: gettext('Show items with title'),\n addText: gettext('Add next`title`'),\n placeholder: 'location'\n }),\n getFilter(_model) {\n return _model;\n }\n };\n\n this.sortable = false;\n }\n}\n","import { Component, EventEmitter, Output } from '@angular/core';\nimport { camelCase } from 'lodash-es';\nimport { AlertService } from '../../alert';\nimport {\n AssetPropertyDefinition,\n SchemaNode,\n TreeNode\n} from '../../asset-property/asset-property.model';\nimport { AssetPropertyService } from '../../asset-property/asset-property.service';\nimport { BottomDrawerRef } from '../../bottom-drawer';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport { C8yTranslatePipe } from '../../i18n/c8y-translate.pipe';\nimport { DataGridComponent } from '../data-grid.component';\nimport {\n Column,\n CustomColumnConfig,\n DataSourceModifier,\n DisplayOptions,\n Pagination,\n ServerSideDataCallback,\n ServerSideDataResult\n} from '../data-grid.model';\nimport { IdentifierCellRendererComponent } from './columns/identifier.cell-renderer.component';\nimport { IdentifierGridColumn } from './columns/identifier.data-grid-column';\nimport { TagsCellRendererComponent } from './columns/tags.cell-renderer.components';\nimport { TagsGridColumn } from './columns/tags.data-grid-column';\nimport { TitleCellRendererComponent } from './columns/title.cell-renderer.component';\nimport { TitleGridColumn } from './columns/title.data-grid-column';\n\nconst CHILD_PAGE_SIZE = 5;\nconst ROOT_PAGE_SIZE = 25;\n\n@Component({\n selector: 'c8y-asset-property-grid',\n standalone: true,\n imports: [\n C8yTranslatePipe,\n DataGridComponent,\n IdentifierCellRendererComponent,\n TitleCellRendererComponent,\n TagsCellRendererComponent\n ],\n templateUrl: './asset-property-grid.component.html'\n})\nexport class AssetPropertyGridComponent {\n columns: readonly Column[] = [\n new TitleGridColumn(),\n new IdentifierGridColumn(),\n new TagsGridColumn(),\n {\n name: 'description',\n header: gettext('Description'),\n path: 'description',\n filterable: false,\n sortable: false\n },\n {\n name: 'dataType',\n header: gettext('Data Type'),\n path: 'type',\n filterable: false,\n sortable: false\n }\n ];\n\n pagination: Pagination = { pageSize: ROOT_PAGE_SIZE, currentPage: 1 };\n childNodePagination: Pagination = { pageSize: CHILD_PAGE_SIZE, currentPage: 1 };\n serverSideDataCallback: ServerSideDataCallback = this.onDataSourceModifier.bind(this);\n\n headerActionControls = [\n {\n text: gettext('Close'),\n callback: () => this.close(),\n icon: 'clear',\n type: 'custom'\n }\n ];\n\n displayOptions: DisplayOptions = {\n bordered: false,\n striped: true,\n filter: true,\n gridHeader: true,\n hover: true\n };\n\n @Output() onAddCustomColumn = new EventEmitter<CustomColumnConfig>();\n\n constructor(\n private service: AssetPropertyService,\n private bottomDrawerRef: BottomDrawerRef<AssetPropertyGridComponent>,\n private alertService: AlertService\n ) {}\n\n async onDataSourceModifier(\n dataSourceModifier: DataSourceModifier\n ): Promise<ServerSideDataResult> {\n const { columns, pagination, parentRow } = dataSourceModifier;\n\n if (parentRow) {\n return this.buildChildGridData(parentRow);\n }\n\n const {\n res,\n data = [],\n paging\n } = await this.service.list(this.buildFilter(columns, pagination));\n\n const treeNodes = data.map(d => this.toTreeNode(d));\n\n return {\n res,\n data: treeNodes,\n paging,\n filteredSize: paging?.totalElements,\n size: paging?.totalElements\n };\n }\n\n async selectItem(identifiers: string[]) {\n if (this.bottomDrawerRef) {\n this.bottomDrawerRef.close();\n }\n this.addColumn(identifiers[0]);\n }\n\n async addColumn(path: string): Promise<void> {\n const [parentId, childKey] = path.split('.');\n try {\n const def = await this.service.getByIdentifier(parentId);\n const childSchema = def.jsonSchema?.properties?.[childKey];\n\n const header = childSchema?.title || childKey || def.jsonSchema?.title;\n\n this.onAddCustomColumn.emit({\n name: camelCase(path),\n header,\n path,\n type: 'property',\n custom: true,\n visible: true\n });\n } catch (err) {\n this.alertService.addServerFailure(err);\n }\n }\n\n close(): void {\n this.bottomDrawerRef?.close();\n }\n\n private buildChildGridData(parentRow) {\n const children = parentRow.children ?? [];\n const currentPage = parentRow.pagination?.currentPage ?? 1;\n\n const start = (currentPage - 1) * CHILD_PAGE_SIZE;\n const data = children.slice(start, start + CHILD_PAGE_SIZE);\n const totalPages = Math.ceil(children.length / CHILD_PAGE_SIZE);\n\n return {\n data,\n filteredSize: children.length,\n size: children.length,\n paging: {\n currentPage,\n pageSize: CHILD_PAGE_SIZE,\n totalPages,\n totalElements: children.length,\n nextPage: currentPage < totalPages ? currentPage + 1 : null,\n prevPage: currentPage > 1 ? currentPage - 1 : null\n },\n parentRow\n } as ServerSideDataResult;\n }\n\n private buildFilter(columns: Column[], pagination: Pagination) {\n const predicates = columns\n .filter(column => column.filterable && column.externalFilterQuery)\n .reduce((acc, column) => ({ ...acc, ...column.externalFilterQuery }), {});\n\n return { currentPage: pagination.currentPage, pageSize: pagination.pageSize, ...predicates };\n }\n\n private toTreeNode({ identifier, jsonSchema = {}, tags }: AssetPropertyDefinition): TreeNode {\n const { title, description, type, properties } = jsonSchema;\n\n return {\n id: identifier,\n title: title ?? identifier,\n description,\n type,\n tags,\n children: this.mapSchema(properties, identifier),\n hasChildren: !!properties\n };\n }\n\n private mapSchema(props: Record<string, SchemaNode> | undefined, base = ''): TreeNode[] {\n if (!props) return [];\n\n return Object.entries(props).map(([key, schema]) => {\n const id = base ? `${base}.${key}` : key;\n const children = this.mapSchema(schema.properties, id);\n return {\n id,\n title: schema.title ?? key,\n description: schema.description,\n type: schema.type,\n children,\n hasChildren: children.length > 0\n };\n });\n }\n}\n","<c8y-data-grid\n class=\"content-fullpage d-flex d-col border-top border-bottom\"\n [title]=\"'Asset properties' | translate\"\n [loadMoreItemsLabel]=\"'Load more asset properties' | translate\"\n [loadingItemsLabel]=\"'Loading asset properties…' | translate\"\n [displayOptions]=\"displayOptions\"\n [headerActionControls]=\"headerActionControls\"\n [columns]=\"columns\"\n [treeGrid]=\"true\"\n [childNodePagination]=\"childNodePagination\"\n parentNodeLabelProperty=\"title\"\n [pagination]=\"pagination\"\n [serverSideDataCallback]=\"serverSideDataCallback\"\n [selectable]=\"true\"\n [singleSelection]=\"true\"\n (itemsSelect)=\"selectItem($event)\"\n></c8y-data-grid>\n"],"names":["i1.CellRendererContext","i1.AssetPropertyService","i2.BottomDrawerRef","i3.AlertService"],"mappings":"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"}
@@ -1,14 +1,15 @@
1
+ import { gettext } from '@c8y/ngx-components/gettext';
1
2
  import * as i1 from '@c8y/ngx-components';
2
- import { NavigatorNode, gettext, DeviceStatusComponent, GroupFragment, ModalService, AlertService, BreadcrumbService, AppStateService, OptionsService, ViewContext, Permissions, IconDirective, C8yTranslateDirective, C8yTranslatePipe, SearchInputComponent, GetGroupIconPipe, LoadingComponent, EmptyStateComponent, CoreModule, CommonModule, CoreSearchModule, ModalModule, DeviceStatusModule, hookNavigator } from '@c8y/ngx-components';
3
+ import { NavigatorNode, DeviceStatusComponent, GroupFragment, ModalService, AlertService, BreadcrumbService, AppStateService, OptionsService, ViewContext, Permissions, IconDirective, C8yTranslateDirective, C8yTranslatePipe, SearchInputComponent, GetGroupIconPipe, LoadingComponent, EmptyStateComponent, CoreModule, CommonModule, CoreSearchModule, ModalModule, DeviceStatusModule, hookNavigator } from '@c8y/ngx-components';
3
4
  import { debounce, get } from 'lodash-es';
4
- import { BehaviorSubject, Subject, empty, of } from 'rxjs';
5
+ import { BehaviorSubject, Subject, empty } from 'rxjs';
5
6
  import * as i0 from '@angular/core';
6
- import { InjectionToken, Injectable, inject, Optional, Inject, EventEmitter, Output, Input, Component, forwardRef, ViewChild, ViewChildren, NgModule } from '@angular/core';
7
+ import { InjectionToken, Injectable, inject, Optional, Inject, EventEmitter, Output, Input, Component, forwardRef, ViewChild, NgModule } from '@angular/core';
7
8
  import { Router, ActivationEnd } from '@angular/router';
8
9
  import * as i2 from '@c8y/client';
9
10
  import { InventoryService, UserService, QueriesUtil } from '@c8y/client';
10
11
  import { ApiService } from '@c8y/ngx-components/api';
11
- import { filter, first, mergeMap, takeUntil, tap, startWith, switchMap, map } from 'rxjs/operators';
12
+ import { filter, first, mergeMap, takeUntil, tap } from 'rxjs/operators';
12
13
  import * as i1$1 from '@ngx-translate/core';
13
14
  import { TranslateService } from '@ngx-translate/core';
14
15
  import { CollapseDirective, CollapseModule } from 'ngx-bootstrap/collapse';
@@ -1686,7 +1687,7 @@ class AssetSelectorComponent extends AssetSelectorBase {
1686
1687
  multi: true
1687
1688
  },
1688
1689
  AssetSelectorService
1689
- ], viewQueries: [{ propertyName: "header", first: true, predicate: ["header"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\n class=\"bg-inherit p-t-8 p-b-8 separator-bottom p-r-16 p-l-16 sticky-top\"\n [ngStyle]=\"{ 'z-index': config.singleColumn && config.search ? '30' : '20' }\"\n #header\n [ngClass]=\"{\n 'p-absolute miller-column__selection d-flex flex-wrap a-i-center': config.view === 'miller',\n 'miller-column__search': config.search,\n 'miller-column__multi': config.multi\n }\"\n *ngIf=\"\n !selectedDevice &&\n index === 0 &&\n (config.search || config.multi || config.label?.length || config.showSelected)\n \"\n>\n <p\n class=\"text-medium flex-no-shrink a-s-center\"\n [ngClass]=\"{\n 'm-b-4': config.search && root && config.singleColumn,\n 'm-r-8': !config.singleColumn && !config.search,\n 'fit-w': config.singleColumn\n }\"\n *ngIf=\"config.label?.length\"\n >\n {{ config.label | translate }}\n </p>\n <c8y-search-input\n [ngStyle]=\"{ 'min-width': !config.singleColumn && config.label.length ? '50%' : 'inherit' }\"\n *ngIf=\"config.search && root\"\n (onClick)=\"onSearchResultClick($event)\"\n (reset)=\"onSearchResultReset($event)\"\n [mode]=\"'select'\"\n [container]=\"container\"\n class=\"input-group-sm\"\n [groupsOnly]=\"config.groupsOnly\"\n [ngClass]=\"{\n 'm-l-auto': !config.singleColumn && config.label.length,\n 'fit-w': config.singleColumn || !config.label.length\n }\"\n ></c8y-search-input>\n <div\n class=\"bg-inherit d-flex gap-4 fit-w\"\n *ngIf=\"config.showSelected\"\n [ngClass]=\"{ 'm-t-4': config.search }\"\n >\n <span class=\"text-label-small m-r-4 a-s-center l-h-1\">{{ 'Selected' | translate }}</span>\n <div class=\"flex-grow inner-scroll d-flex gap-4 a-i-center\">\n <ng-container *ngIf=\"!selected.length\">\n <em class=\"text-12 text-muted d-flex a-i-center fit-h-20\">{{ 'None' | translate }}</em>\n </ng-container>\n <span\n class=\"tag tag--info chip\"\n *ngFor=\"let selectedItem of selected\"\n >\n <button\n class=\"btn btn-xs btn-clean text-10\"\n title=\"{{ selectedItem.name }}\"\n [disabled]=\"disabled\"\n type=\"button\"\n (click)=\"config.multi ? deselect(selectedItem) : deselectAll()\"\n >\n <i c8yIcon=\"times\"></i>\n </button>\n {{ selectedItem.name || (ASSET_CONST | translate: { assetId: selectedItem.id }) }}\n </span>\n </div>\n </div>\n</div>\n\n<div\n class=\"p-r-16\"\n *ngIf=\"selectedDevice\"\n>\n <div class=\"d-flex p-b-4\">\n <p\n class=\"text-medium p-t-8 m-r-8\"\n *ngIf=\"selectedDevice; else multiAssets\"\n >\n {{ 'Selected asset' | translate }}\n </p>\n <ng-template #multiAssets>\n <p class=\"text-medium m-r-8\">{{ 'Selected assets' | translate }}</p>\n </ng-template>\n <button\n class=\"btn btn-default btn-xs a-s-center m-t-4 m-l-auto\"\n title=\"{{ 'Change' | translate }}\"\n type=\"button\"\n (click)=\"$event.stopPropagation(); clearSelectedDevices()\"\n >\n {{ 'Change' | translate }}\n </button>\n </div>\n <div class=\"d-flex\">\n <i\n class=\"text-success p-l-0 p-r-8\"\n [c8yIcon]=\"'check-circle'\"\n ></i>\n <i\n class=\"m-r-4 icon-20\"\n [c8yIcon]=\"selectedDevice | getGroupIcon | async\"\n ></i>\n <span>{{ selectedDevice.name }}</span>\n </div>\n</div>\n\n<!-- miller columns header -->\n<div\n class=\"miller-column__header sticky-top bg-inherit separator-bottom\"\n *ngIf=\"\n config.view === 'miller' &&\n ((config.showFilter && !rootNode.root) || config.columnHeaders) &&\n !selectedDevice\n \"\n [ngClass]=\"{ 'p-t-8': config.search }\"\n>\n <div class=\"d-flex\" *ngIf=\"config.singleColumn && index !== 0\">\n <i\n class=\"m-r-4\"\n c8yIcon=\"home\"\n ></i>\n <p\n class=\"text-12 text-muted text-truncate text-rtl m-b-4\"\n title=\"{{ rootNode.breadcrumb || rootNode.label | translate }}\"\n >\n {{ rootNode.breadcrumb || rootNode.label | translate }}\n </p>\n </div>\n <div\n class=\"d-flex a-i-center\"\n *ngIf=\"config.columnHeaders || config.singleColumn\"\n >\n <button\n class=\"btn btn-default btn-xs m-r-8 p-t-0 p-b-0 p-l-4 p-r-4 l-h-1\"\n title=\"{{ 'Back' | translate }}\"\n type=\"button\"\n *ngIf=\"config.singleColumn && !rootNode.root && index !== 0\"\n (click)=\"$event.stopPropagation(); back()\"\n >\n <i c8yIcon=\"angle-left\"></i>\n </button>\n <label\n class=\"c8y-radio checkbox-inline m-r-8\"\n *ngIf=\"!rootNode.root && index === 0 && (config.groupsSelectable || !rootNode.isGroup())\"\n >\n <input\n title=\"{{ 'Select group' | translate }}\"\n type=\"radio\"\n (change)=\"select(rootNode.mo)\"\n [checked]=\"isGroupSelected()\"\n />\n <span></span>\n </label>\n\n <i\n class=\"icon-20 c8y-icon-duocolor m-r-4\"\n [c8yIcon]=\"this.rootNode.mo | getGroupIcon: true : this.rootNode.icon | async\"\n *ngIf=\"config.columnHeaders && (config.singleColumn || (!rootNode.root && index === 0))\"\n ></i>\n <p\n class=\"text-truncate\"\n title=\"{{ rootNode.label | translate }}\"\n *ngIf=\"config.columnHeaders\"\n [ngClass]=\"{\n 'text-label-small': !config.singleColumn,\n 'text-medium': config.singleColumn\n }\"\n >\n {{ rootNode.label | translate }}\n </p>\n </div>\n\n <div\n *ngIf=\"!rootNode.root && config.showFilter\"\n [ngClass]=\"{ 'p-t-4': config.columnHeaders }\"\n >\n <div class=\"input-group input-group-sm input-group-search\">\n <input\n class=\"form-control text-truncate\"\n placeholder=\"{{ 'Filter this column\u2026' | translate }}\"\n [(ngModel)]=\"filterText\"\n (keyup.enter)=\"applyFilter('*' + filterText + '*')\"\n />\n <span class=\"input-group-btn\">\n <button\n class=\"btn btn-dot p-r-8 p-l-4\"\n title=\"{{ 'Apply filter' | translate }}\"\n type=\"button\"\n (click)=\"applyFilter('*' + filterText + '*')\"\n >\n <i c8yIcon=\"filter\"></i>\n </button>\n <button\n class=\"btn btn-dot p-r-8 p-l-4\"\n title=\" {{ 'Clear filters' | translate }}\"\n type=\"button\"\n (click)=\"clearFilters()\"\n *ngIf=\"filterText.length\"\n >\n <i c8yIcon=\"times\"></i>\n </button>\n </span>\n </div>\n </div>\n</div>\n\n<c8y-asset-selector-node\n class=\"d-block bg-inherit p-relative\"\n style=\"z-index: 9\"\n *ngIf=\"rootNode && !selectedDevice\"\n [node]=\"rootNode\"\n [rootNode]=\"rootNode\"\n [preselected]=\"selected\"\n [multi]=\"config.multi\"\n [view]=\"config.view\"\n [index]=\"index\"\n [active]=\"active\"\n [disabled]=\"disabled\"\n [handleNextMillerViewColumn]=\"handleNextMillerViewColumn.bind(this)\"\n (isLoadingState)=\"onLoading($event)\"\n (onSelect)=\"onSelect($event)\"\n (onDeselect)=\"onDeselect($event)\"\n [ngClass]=\"{ 'collapse show': !rootNode.root && !rootNode.hidden && config.view !== 'miller' }\"\n></c8y-asset-selector-node>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: SearchInputComponent, selector: "c8y-search-input", inputs: ["mode", "enableCustomTemplatePlaceholder", "customPlaceholder", "externalTerm", "customDataQuery", "container", "groupsOnly"], outputs: ["filter", "search", "reset", "onClick", "onOpenToggle"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: AssetSelectorNodeComponent, selector: "c8y-asset-selector-node", inputs: ["node", "rootNode", "preselected", "showPath", "multi", "view", "index", "active", "handleNextMillerViewColumn", "disabled"], outputs: ["isLoadingState", "onSelect", "onDeselect"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: GetGroupIconPipe, name: "getGroupIcon" }] }); }
1690
+ ], viewQueries: [{ propertyName: "header", first: true, predicate: ["header"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\n class=\"bg-inherit p-t-8 p-b-8 separator-bottom p-r-16 p-l-16 sticky-top\"\n [ngStyle]=\"{ 'z-index': config.singleColumn && config.search ? '30' : '20' }\"\n #header\n [ngClass]=\"{\n 'p-absolute miller-column__selection d-flex flex-wrap a-i-center': config.view === 'miller',\n 'miller-column__search': config.search,\n 'miller-column__show-selected': config.showSelected\n }\"\n *ngIf=\"\n !selectedDevice &&\n index === 0 &&\n (config.search || config.multi || config.label?.length || config.showSelected)\n \"\n>\n <p\n class=\"text-medium flex-no-shrink a-s-center\"\n [ngClass]=\"{\n 'm-b-4': config.search && root && config.singleColumn,\n 'm-r-8': !config.singleColumn && !config.search,\n 'fit-w': config.singleColumn\n }\"\n *ngIf=\"config.label?.length\"\n >\n {{ config.label | translate }}\n </p>\n <c8y-search-input\n [ngStyle]=\"{ 'min-width': !config.singleColumn && config.label.length ? '50%' : 'inherit' }\"\n *ngIf=\"config.search && root\"\n (onClick)=\"onSearchResultClick($event)\"\n (reset)=\"onSearchResultReset($event)\"\n [mode]=\"'select'\"\n [container]=\"container\"\n class=\"input-group-sm\"\n [groupsOnly]=\"config.groupsOnly\"\n [ngClass]=\"{\n 'm-l-auto': !config.singleColumn && config.label.length,\n 'fit-w': config.singleColumn || !config.label.length\n }\"\n ></c8y-search-input>\n <div\n class=\"bg-inherit d-flex gap-4 fit-w\"\n *ngIf=\"config.showSelected\"\n [ngClass]=\"{ 'm-t-4': config.search }\"\n >\n <span class=\"text-label-small m-r-4 a-s-center l-h-1\">{{ 'Selected' | translate }}</span>\n <div class=\"flex-grow inner-scroll d-flex gap-4 a-i-center\">\n <ng-container *ngIf=\"!selected.length\">\n <em class=\"text-12 text-muted d-flex a-i-center fit-h-20\">{{ 'None' | translate }}</em>\n </ng-container>\n <span\n class=\"tag tag--info chip flex-no-shrink\"\n *ngFor=\"let selectedItem of selected\"\n >\n <button\n class=\"btn btn-xs btn-clean text-10\"\n title=\"{{ selectedItem.name }}\"\n [disabled]=\"disabled\"\n type=\"button\"\n (click)=\"config.multi ? deselect(selectedItem) : deselectAll()\"\n >\n <i c8yIcon=\"times\"></i>\n </button>\n {{ selectedItem.name || (ASSET_CONST | translate: { assetId: selectedItem.id }) }}\n </span>\n </div>\n </div>\n</div>\n\n<div\n class=\"p-r-16\"\n *ngIf=\"selectedDevice\"\n>\n <div class=\"d-flex p-b-4\">\n <p\n class=\"text-medium p-t-8 m-r-8\"\n *ngIf=\"selectedDevice; else multiAssets\"\n >\n {{ 'Selected asset' | translate }}\n </p>\n <ng-template #multiAssets>\n <p class=\"text-medium m-r-8\">{{ 'Selected assets' | translate }}</p>\n </ng-template>\n <button\n class=\"btn btn-default btn-xs a-s-center m-t-4 m-l-auto\"\n title=\"{{ 'Change' | translate }}\"\n type=\"button\"\n (click)=\"$event.stopPropagation(); clearSelectedDevices()\"\n >\n {{ 'Change' | translate }}\n </button>\n </div>\n <div class=\"d-flex\">\n <i\n class=\"text-success p-l-0 p-r-8\"\n [c8yIcon]=\"'check-circle'\"\n ></i>\n <i\n class=\"m-r-4 icon-20\"\n [c8yIcon]=\"selectedDevice | getGroupIcon | async\"\n ></i>\n <span>{{ selectedDevice.name }}</span>\n </div>\n</div>\n\n<!-- miller columns header -->\n<div\n class=\"miller-column__header sticky-top bg-inherit separator-bottom\"\n *ngIf=\"\n config.view === 'miller' &&\n ((config.showFilter && !rootNode.root) || config.columnHeaders) &&\n !selectedDevice\n \"\n [ngClass]=\"{ 'p-t-8': config.search }\"\n>\n <div class=\"d-flex\" *ngIf=\"config.singleColumn && index !== 0\">\n <i\n class=\"m-r-4\"\n c8yIcon=\"home\"\n ></i>\n <p\n class=\"text-12 text-muted text-truncate text-rtl m-b-4\"\n title=\"{{ rootNode.breadcrumb || rootNode.label | translate }}\"\n >\n {{ rootNode.breadcrumb || rootNode.label | translate }}\n </p>\n </div>\n <div\n class=\"d-flex a-i-center\"\n *ngIf=\"config.columnHeaders || config.singleColumn\"\n >\n <button\n class=\"btn btn-default btn-xs m-r-8 p-t-0 p-b-0 p-l-4 p-r-4 l-h-1\"\n title=\"{{ 'Back' | translate }}\"\n type=\"button\"\n *ngIf=\"config.singleColumn && !rootNode.root && index !== 0\"\n (click)=\"$event.stopPropagation(); back()\"\n >\n <i c8yIcon=\"angle-left\"></i>\n </button>\n <label\n class=\"c8y-radio checkbox-inline m-r-8\"\n *ngIf=\"!rootNode.root && index === 0 && (config.groupsSelectable || !rootNode.isGroup())\"\n >\n <input\n title=\"{{ 'Select group' | translate }}\"\n type=\"radio\"\n (change)=\"select(rootNode.mo)\"\n [checked]=\"isGroupSelected()\"\n />\n <span></span>\n </label>\n\n <i\n class=\"icon-20 c8y-icon-duocolor m-r-4\"\n [c8yIcon]=\"this.rootNode.mo | getGroupIcon: true : this.rootNode.icon | async\"\n *ngIf=\"config.columnHeaders && (config.singleColumn || (!rootNode.root && index === 0))\"\n ></i>\n <p\n class=\"text-truncate\"\n title=\"{{ rootNode.label | translate }}\"\n *ngIf=\"config.columnHeaders\"\n [ngClass]=\"{\n 'text-label-small': !config.singleColumn,\n 'text-medium': config.singleColumn\n }\"\n >\n {{ rootNode.label | translate }}\n </p>\n </div>\n\n <div\n *ngIf=\"!rootNode.root && config.showFilter\"\n [ngClass]=\"{ 'p-t-4': config.columnHeaders }\"\n >\n <div class=\"input-group input-group-sm input-group-search\">\n <input\n class=\"form-control text-truncate\"\n placeholder=\"{{ 'Filter this column\u2026' | translate }}\"\n [(ngModel)]=\"filterText\"\n (keyup.enter)=\"applyFilter('*' + filterText + '*')\"\n />\n <span class=\"input-group-btn\">\n <button\n class=\"btn btn-dot p-l-4\"\n title=\"{{ 'Apply filter' | translate }}\"\n type=\"button\"\n (click)=\"applyFilter('*' + filterText + '*')\"\n >\n <i c8yIcon=\"filter\"></i>\n </button>\n <button\n class=\"btn btn-dot p-l-4\"\n title=\" {{ 'Clear filters' | translate }}\"\n type=\"button\"\n (click)=\"clearFilters()\"\n *ngIf=\"filterText.length\"\n >\n <i c8yIcon=\"times\"></i>\n </button>\n </span>\n </div>\n </div>\n</div>\n\n<c8y-asset-selector-node\n class=\"d-block bg-inherit p-relative\"\n style=\"z-index: 9\"\n *ngIf=\"rootNode && !selectedDevice\"\n [node]=\"rootNode\"\n [rootNode]=\"rootNode\"\n [preselected]=\"selected\"\n [multi]=\"config.multi\"\n [view]=\"config.view\"\n [index]=\"index\"\n [active]=\"active\"\n [disabled]=\"disabled\"\n [handleNextMillerViewColumn]=\"handleNextMillerViewColumn.bind(this)\"\n (isLoadingState)=\"onLoading($event)\"\n (onSelect)=\"onSelect($event)\"\n (onDeselect)=\"onDeselect($event)\"\n [ngClass]=\"{ 'collapse show': !rootNode.root && !rootNode.hidden && config.view !== 'miller' }\"\n></c8y-asset-selector-node>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: SearchInputComponent, selector: "c8y-search-input", inputs: ["mode", "enableCustomTemplatePlaceholder", "customPlaceholder", "externalTerm", "customDataQuery", "container", "groupsOnly"], outputs: ["filter", "search", "reset", "onClick", "onOpenToggle"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: AssetSelectorNodeComponent, selector: "c8y-asset-selector-node", inputs: ["node", "rootNode", "preselected", "showPath", "multi", "view", "index", "active", "handleNextMillerViewColumn", "disabled"], outputs: ["isLoadingState", "onSelect", "onDeselect"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: GetGroupIconPipe, name: "getGroupIcon" }] }); }
1690
1691
  }
1691
1692
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: AssetSelectorComponent, decorators: [{
1692
1693
  type: Component,
@@ -1714,7 +1715,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
1714
1715
  C8yTranslatePipe,
1715
1716
  AsyncPipe,
1716
1717
  GetGroupIconPipe
1717
- ], template: "<div\n class=\"bg-inherit p-t-8 p-b-8 separator-bottom p-r-16 p-l-16 sticky-top\"\n [ngStyle]=\"{ 'z-index': config.singleColumn && config.search ? '30' : '20' }\"\n #header\n [ngClass]=\"{\n 'p-absolute miller-column__selection d-flex flex-wrap a-i-center': config.view === 'miller',\n 'miller-column__search': config.search,\n 'miller-column__multi': config.multi\n }\"\n *ngIf=\"\n !selectedDevice &&\n index === 0 &&\n (config.search || config.multi || config.label?.length || config.showSelected)\n \"\n>\n <p\n class=\"text-medium flex-no-shrink a-s-center\"\n [ngClass]=\"{\n 'm-b-4': config.search && root && config.singleColumn,\n 'm-r-8': !config.singleColumn && !config.search,\n 'fit-w': config.singleColumn\n }\"\n *ngIf=\"config.label?.length\"\n >\n {{ config.label | translate }}\n </p>\n <c8y-search-input\n [ngStyle]=\"{ 'min-width': !config.singleColumn && config.label.length ? '50%' : 'inherit' }\"\n *ngIf=\"config.search && root\"\n (onClick)=\"onSearchResultClick($event)\"\n (reset)=\"onSearchResultReset($event)\"\n [mode]=\"'select'\"\n [container]=\"container\"\n class=\"input-group-sm\"\n [groupsOnly]=\"config.groupsOnly\"\n [ngClass]=\"{\n 'm-l-auto': !config.singleColumn && config.label.length,\n 'fit-w': config.singleColumn || !config.label.length\n }\"\n ></c8y-search-input>\n <div\n class=\"bg-inherit d-flex gap-4 fit-w\"\n *ngIf=\"config.showSelected\"\n [ngClass]=\"{ 'm-t-4': config.search }\"\n >\n <span class=\"text-label-small m-r-4 a-s-center l-h-1\">{{ 'Selected' | translate }}</span>\n <div class=\"flex-grow inner-scroll d-flex gap-4 a-i-center\">\n <ng-container *ngIf=\"!selected.length\">\n <em class=\"text-12 text-muted d-flex a-i-center fit-h-20\">{{ 'None' | translate }}</em>\n </ng-container>\n <span\n class=\"tag tag--info chip\"\n *ngFor=\"let selectedItem of selected\"\n >\n <button\n class=\"btn btn-xs btn-clean text-10\"\n title=\"{{ selectedItem.name }}\"\n [disabled]=\"disabled\"\n type=\"button\"\n (click)=\"config.multi ? deselect(selectedItem) : deselectAll()\"\n >\n <i c8yIcon=\"times\"></i>\n </button>\n {{ selectedItem.name || (ASSET_CONST | translate: { assetId: selectedItem.id }) }}\n </span>\n </div>\n </div>\n</div>\n\n<div\n class=\"p-r-16\"\n *ngIf=\"selectedDevice\"\n>\n <div class=\"d-flex p-b-4\">\n <p\n class=\"text-medium p-t-8 m-r-8\"\n *ngIf=\"selectedDevice; else multiAssets\"\n >\n {{ 'Selected asset' | translate }}\n </p>\n <ng-template #multiAssets>\n <p class=\"text-medium m-r-8\">{{ 'Selected assets' | translate }}</p>\n </ng-template>\n <button\n class=\"btn btn-default btn-xs a-s-center m-t-4 m-l-auto\"\n title=\"{{ 'Change' | translate }}\"\n type=\"button\"\n (click)=\"$event.stopPropagation(); clearSelectedDevices()\"\n >\n {{ 'Change' | translate }}\n </button>\n </div>\n <div class=\"d-flex\">\n <i\n class=\"text-success p-l-0 p-r-8\"\n [c8yIcon]=\"'check-circle'\"\n ></i>\n <i\n class=\"m-r-4 icon-20\"\n [c8yIcon]=\"selectedDevice | getGroupIcon | async\"\n ></i>\n <span>{{ selectedDevice.name }}</span>\n </div>\n</div>\n\n<!-- miller columns header -->\n<div\n class=\"miller-column__header sticky-top bg-inherit separator-bottom\"\n *ngIf=\"\n config.view === 'miller' &&\n ((config.showFilter && !rootNode.root) || config.columnHeaders) &&\n !selectedDevice\n \"\n [ngClass]=\"{ 'p-t-8': config.search }\"\n>\n <div class=\"d-flex\" *ngIf=\"config.singleColumn && index !== 0\">\n <i\n class=\"m-r-4\"\n c8yIcon=\"home\"\n ></i>\n <p\n class=\"text-12 text-muted text-truncate text-rtl m-b-4\"\n title=\"{{ rootNode.breadcrumb || rootNode.label | translate }}\"\n >\n {{ rootNode.breadcrumb || rootNode.label | translate }}\n </p>\n </div>\n <div\n class=\"d-flex a-i-center\"\n *ngIf=\"config.columnHeaders || config.singleColumn\"\n >\n <button\n class=\"btn btn-default btn-xs m-r-8 p-t-0 p-b-0 p-l-4 p-r-4 l-h-1\"\n title=\"{{ 'Back' | translate }}\"\n type=\"button\"\n *ngIf=\"config.singleColumn && !rootNode.root && index !== 0\"\n (click)=\"$event.stopPropagation(); back()\"\n >\n <i c8yIcon=\"angle-left\"></i>\n </button>\n <label\n class=\"c8y-radio checkbox-inline m-r-8\"\n *ngIf=\"!rootNode.root && index === 0 && (config.groupsSelectable || !rootNode.isGroup())\"\n >\n <input\n title=\"{{ 'Select group' | translate }}\"\n type=\"radio\"\n (change)=\"select(rootNode.mo)\"\n [checked]=\"isGroupSelected()\"\n />\n <span></span>\n </label>\n\n <i\n class=\"icon-20 c8y-icon-duocolor m-r-4\"\n [c8yIcon]=\"this.rootNode.mo | getGroupIcon: true : this.rootNode.icon | async\"\n *ngIf=\"config.columnHeaders && (config.singleColumn || (!rootNode.root && index === 0))\"\n ></i>\n <p\n class=\"text-truncate\"\n title=\"{{ rootNode.label | translate }}\"\n *ngIf=\"config.columnHeaders\"\n [ngClass]=\"{\n 'text-label-small': !config.singleColumn,\n 'text-medium': config.singleColumn\n }\"\n >\n {{ rootNode.label | translate }}\n </p>\n </div>\n\n <div\n *ngIf=\"!rootNode.root && config.showFilter\"\n [ngClass]=\"{ 'p-t-4': config.columnHeaders }\"\n >\n <div class=\"input-group input-group-sm input-group-search\">\n <input\n class=\"form-control text-truncate\"\n placeholder=\"{{ 'Filter this column\u2026' | translate }}\"\n [(ngModel)]=\"filterText\"\n (keyup.enter)=\"applyFilter('*' + filterText + '*')\"\n />\n <span class=\"input-group-btn\">\n <button\n class=\"btn btn-dot p-r-8 p-l-4\"\n title=\"{{ 'Apply filter' | translate }}\"\n type=\"button\"\n (click)=\"applyFilter('*' + filterText + '*')\"\n >\n <i c8yIcon=\"filter\"></i>\n </button>\n <button\n class=\"btn btn-dot p-r-8 p-l-4\"\n title=\" {{ 'Clear filters' | translate }}\"\n type=\"button\"\n (click)=\"clearFilters()\"\n *ngIf=\"filterText.length\"\n >\n <i c8yIcon=\"times\"></i>\n </button>\n </span>\n </div>\n </div>\n</div>\n\n<c8y-asset-selector-node\n class=\"d-block bg-inherit p-relative\"\n style=\"z-index: 9\"\n *ngIf=\"rootNode && !selectedDevice\"\n [node]=\"rootNode\"\n [rootNode]=\"rootNode\"\n [preselected]=\"selected\"\n [multi]=\"config.multi\"\n [view]=\"config.view\"\n [index]=\"index\"\n [active]=\"active\"\n [disabled]=\"disabled\"\n [handleNextMillerViewColumn]=\"handleNextMillerViewColumn.bind(this)\"\n (isLoadingState)=\"onLoading($event)\"\n (onSelect)=\"onSelect($event)\"\n (onDeselect)=\"onDeselect($event)\"\n [ngClass]=\"{ 'collapse show': !rootNode.root && !rootNode.hidden && config.view !== 'miller' }\"\n></c8y-asset-selector-node>\n" }]
1718
+ ], template: "<div\n class=\"bg-inherit p-t-8 p-b-8 separator-bottom p-r-16 p-l-16 sticky-top\"\n [ngStyle]=\"{ 'z-index': config.singleColumn && config.search ? '30' : '20' }\"\n #header\n [ngClass]=\"{\n 'p-absolute miller-column__selection d-flex flex-wrap a-i-center': config.view === 'miller',\n 'miller-column__search': config.search,\n 'miller-column__show-selected': config.showSelected\n }\"\n *ngIf=\"\n !selectedDevice &&\n index === 0 &&\n (config.search || config.multi || config.label?.length || config.showSelected)\n \"\n>\n <p\n class=\"text-medium flex-no-shrink a-s-center\"\n [ngClass]=\"{\n 'm-b-4': config.search && root && config.singleColumn,\n 'm-r-8': !config.singleColumn && !config.search,\n 'fit-w': config.singleColumn\n }\"\n *ngIf=\"config.label?.length\"\n >\n {{ config.label | translate }}\n </p>\n <c8y-search-input\n [ngStyle]=\"{ 'min-width': !config.singleColumn && config.label.length ? '50%' : 'inherit' }\"\n *ngIf=\"config.search && root\"\n (onClick)=\"onSearchResultClick($event)\"\n (reset)=\"onSearchResultReset($event)\"\n [mode]=\"'select'\"\n [container]=\"container\"\n class=\"input-group-sm\"\n [groupsOnly]=\"config.groupsOnly\"\n [ngClass]=\"{\n 'm-l-auto': !config.singleColumn && config.label.length,\n 'fit-w': config.singleColumn || !config.label.length\n }\"\n ></c8y-search-input>\n <div\n class=\"bg-inherit d-flex gap-4 fit-w\"\n *ngIf=\"config.showSelected\"\n [ngClass]=\"{ 'm-t-4': config.search }\"\n >\n <span class=\"text-label-small m-r-4 a-s-center l-h-1\">{{ 'Selected' | translate }}</span>\n <div class=\"flex-grow inner-scroll d-flex gap-4 a-i-center\">\n <ng-container *ngIf=\"!selected.length\">\n <em class=\"text-12 text-muted d-flex a-i-center fit-h-20\">{{ 'None' | translate }}</em>\n </ng-container>\n <span\n class=\"tag tag--info chip flex-no-shrink\"\n *ngFor=\"let selectedItem of selected\"\n >\n <button\n class=\"btn btn-xs btn-clean text-10\"\n title=\"{{ selectedItem.name }}\"\n [disabled]=\"disabled\"\n type=\"button\"\n (click)=\"config.multi ? deselect(selectedItem) : deselectAll()\"\n >\n <i c8yIcon=\"times\"></i>\n </button>\n {{ selectedItem.name || (ASSET_CONST | translate: { assetId: selectedItem.id }) }}\n </span>\n </div>\n </div>\n</div>\n\n<div\n class=\"p-r-16\"\n *ngIf=\"selectedDevice\"\n>\n <div class=\"d-flex p-b-4\">\n <p\n class=\"text-medium p-t-8 m-r-8\"\n *ngIf=\"selectedDevice; else multiAssets\"\n >\n {{ 'Selected asset' | translate }}\n </p>\n <ng-template #multiAssets>\n <p class=\"text-medium m-r-8\">{{ 'Selected assets' | translate }}</p>\n </ng-template>\n <button\n class=\"btn btn-default btn-xs a-s-center m-t-4 m-l-auto\"\n title=\"{{ 'Change' | translate }}\"\n type=\"button\"\n (click)=\"$event.stopPropagation(); clearSelectedDevices()\"\n >\n {{ 'Change' | translate }}\n </button>\n </div>\n <div class=\"d-flex\">\n <i\n class=\"text-success p-l-0 p-r-8\"\n [c8yIcon]=\"'check-circle'\"\n ></i>\n <i\n class=\"m-r-4 icon-20\"\n [c8yIcon]=\"selectedDevice | getGroupIcon | async\"\n ></i>\n <span>{{ selectedDevice.name }}</span>\n </div>\n</div>\n\n<!-- miller columns header -->\n<div\n class=\"miller-column__header sticky-top bg-inherit separator-bottom\"\n *ngIf=\"\n config.view === 'miller' &&\n ((config.showFilter && !rootNode.root) || config.columnHeaders) &&\n !selectedDevice\n \"\n [ngClass]=\"{ 'p-t-8': config.search }\"\n>\n <div class=\"d-flex\" *ngIf=\"config.singleColumn && index !== 0\">\n <i\n class=\"m-r-4\"\n c8yIcon=\"home\"\n ></i>\n <p\n class=\"text-12 text-muted text-truncate text-rtl m-b-4\"\n title=\"{{ rootNode.breadcrumb || rootNode.label | translate }}\"\n >\n {{ rootNode.breadcrumb || rootNode.label | translate }}\n </p>\n </div>\n <div\n class=\"d-flex a-i-center\"\n *ngIf=\"config.columnHeaders || config.singleColumn\"\n >\n <button\n class=\"btn btn-default btn-xs m-r-8 p-t-0 p-b-0 p-l-4 p-r-4 l-h-1\"\n title=\"{{ 'Back' | translate }}\"\n type=\"button\"\n *ngIf=\"config.singleColumn && !rootNode.root && index !== 0\"\n (click)=\"$event.stopPropagation(); back()\"\n >\n <i c8yIcon=\"angle-left\"></i>\n </button>\n <label\n class=\"c8y-radio checkbox-inline m-r-8\"\n *ngIf=\"!rootNode.root && index === 0 && (config.groupsSelectable || !rootNode.isGroup())\"\n >\n <input\n title=\"{{ 'Select group' | translate }}\"\n type=\"radio\"\n (change)=\"select(rootNode.mo)\"\n [checked]=\"isGroupSelected()\"\n />\n <span></span>\n </label>\n\n <i\n class=\"icon-20 c8y-icon-duocolor m-r-4\"\n [c8yIcon]=\"this.rootNode.mo | getGroupIcon: true : this.rootNode.icon | async\"\n *ngIf=\"config.columnHeaders && (config.singleColumn || (!rootNode.root && index === 0))\"\n ></i>\n <p\n class=\"text-truncate\"\n title=\"{{ rootNode.label | translate }}\"\n *ngIf=\"config.columnHeaders\"\n [ngClass]=\"{\n 'text-label-small': !config.singleColumn,\n 'text-medium': config.singleColumn\n }\"\n >\n {{ rootNode.label | translate }}\n </p>\n </div>\n\n <div\n *ngIf=\"!rootNode.root && config.showFilter\"\n [ngClass]=\"{ 'p-t-4': config.columnHeaders }\"\n >\n <div class=\"input-group input-group-sm input-group-search\">\n <input\n class=\"form-control text-truncate\"\n placeholder=\"{{ 'Filter this column\u2026' | translate }}\"\n [(ngModel)]=\"filterText\"\n (keyup.enter)=\"applyFilter('*' + filterText + '*')\"\n />\n <span class=\"input-group-btn\">\n <button\n class=\"btn btn-dot p-l-4\"\n title=\"{{ 'Apply filter' | translate }}\"\n type=\"button\"\n (click)=\"applyFilter('*' + filterText + '*')\"\n >\n <i c8yIcon=\"filter\"></i>\n </button>\n <button\n class=\"btn btn-dot p-l-4\"\n title=\" {{ 'Clear filters' | translate }}\"\n type=\"button\"\n (click)=\"clearFilters()\"\n *ngIf=\"filterText.length\"\n >\n <i c8yIcon=\"times\"></i>\n </button>\n </span>\n </div>\n </div>\n</div>\n\n<c8y-asset-selector-node\n class=\"d-block bg-inherit p-relative\"\n style=\"z-index: 9\"\n *ngIf=\"rootNode && !selectedDevice\"\n [node]=\"rootNode\"\n [rootNode]=\"rootNode\"\n [preselected]=\"selected\"\n [multi]=\"config.multi\"\n [view]=\"config.view\"\n [index]=\"index\"\n [active]=\"active\"\n [disabled]=\"disabled\"\n [handleNextMillerViewColumn]=\"handleNextMillerViewColumn.bind(this)\"\n (isLoadingState)=\"onLoading($event)\"\n (onSelect)=\"onSelect($event)\"\n (onDeselect)=\"onDeselect($event)\"\n [ngClass]=\"{ 'collapse show': !rootNode.root && !rootNode.hidden && config.view !== 'miller' }\"\n></c8y-asset-selector-node>\n" }]
1718
1719
  }], ctorParameters: () => [{ type: GroupNodeService }, { type: i2.InventoryService }, { type: AssetSelectorService }, { type: i0.ChangeDetectorRef }], propDecorators: { config: [{
1719
1720
  type: Input
1720
1721
  }], active: [{
@@ -1788,20 +1789,20 @@ class MillerViewComponent extends AssetSelectorBase {
1788
1789
  this.filterText = '';
1789
1790
  this.container = 'body';
1790
1791
  this.configOptionsDefault = {
1791
- view: 'miller',
1792
- singleColumn: false,
1793
- label: gettext('Asset selection')
1792
+ ...CONFIG_OPTIONS_DEFAULT,
1793
+ view: 'miller'
1794
1794
  };
1795
1795
  /**
1796
- * The height of the first asset selector header.
1796
+ * Cached padding top value to avoid recalculating on every change detection cycle.
1797
1797
  */
1798
- this.assetSelectorHeaderHeight$ = of('0px');
1798
+ this._cachedPaddingTop = null;
1799
1799
  }
1800
1800
  /**
1801
1801
  * @ignore
1802
1802
  */
1803
1803
  async ngOnInit() {
1804
1804
  this.config = { ...this.configOptionsDefault, ...this.config };
1805
+ this._calculatePaddingTop();
1805
1806
  const isAnyNodeDefined = !this.rootNode && (!this.asset || Object.keys(this.asset).length === 0);
1806
1807
  if (isAnyNodeDefined) {
1807
1808
  this.rootNode = this.createDefaultRootNode();
@@ -1822,6 +1823,9 @@ class MillerViewComponent extends AssetSelectorBase {
1822
1823
  * @ignore
1823
1824
  */
1824
1825
  async ngOnChanges(changes) {
1826
+ if (changes.config) {
1827
+ this._calculatePaddingTop();
1828
+ }
1825
1829
  if (changes.asset && changes.asset.currentValue && !this.asset) {
1826
1830
  this.columns = [];
1827
1831
  this.columns.push(await this.createManagedObjectRootNode(changes.asset.currentValue));
@@ -1832,12 +1836,13 @@ class MillerViewComponent extends AssetSelectorBase {
1832
1836
  }
1833
1837
  }
1834
1838
  /**
1835
- * @ignore
1839
+ * Returns the cached padding top value for the miller view header.
1840
+ * The value is calculated once during initialization and when config changes.
1841
+ *
1842
+ * @returns A unit value (as string) that is multiplied by --c8y-unit-base CSS custom property
1836
1843
  */
1837
- ngAfterViewInit() {
1838
- requestAnimationFrame(() => {
1839
- this.assetSelectorHeaderHeight$ = this.assetSelectors.changes.pipe(startWith(this.assetSelectors.toArray()), first(), switchMap(assetSelector => assetSelector[0] ? assetSelector[0].getHeaderHeight$ : of('0')), map(height => height + 'px'));
1840
- });
1844
+ getPaddingTop() {
1845
+ return this._cachedPaddingTop || '0';
1841
1846
  }
1842
1847
  /**
1843
1848
  * Create a new column with the selected node as root.
@@ -1894,6 +1899,52 @@ class MillerViewComponent extends AssetSelectorBase {
1894
1899
  }
1895
1900
  this.deselect(event.change.item);
1896
1901
  }
1902
+ /**
1903
+ * Calculates and caches the padding top value based on configuration options.
1904
+ *
1905
+ * The method determines the appropriate header height by considering:
1906
+ * - Whether selected items are shown (showSelected)
1907
+ * - Whether search functionality is enabled (search)
1908
+ * - Whether single column mode is active (singleColumn)
1909
+ * - Whether a label is present (label length > 0)
1910
+ */
1911
+ _calculatePaddingTop() {
1912
+ const PADDING = {
1913
+ NONE: '0',
1914
+ BASE: '5',
1915
+ WITH_SEARCH: '6',
1916
+ WITH_LABEL: '7',
1917
+ WITH_SEARCH_AND_SELECTED: '9',
1918
+ WITH_SEARCH_LABEL_SELECTED_SINGLE: '11'
1919
+ };
1920
+ const { showSelected = false, search = false, singleColumn = false, label } = this.config;
1921
+ const hasLabel = label?.length > 0;
1922
+ const state = { showSelected, search, singleColumn, hasLabel };
1923
+ if (state.showSelected && state.search && state.singleColumn && state.hasLabel) {
1924
+ this._cachedPaddingTop = PADDING.WITH_SEARCH_LABEL_SELECTED_SINGLE;
1925
+ }
1926
+ else if (state.showSelected && state.search) {
1927
+ this._cachedPaddingTop = PADDING.WITH_SEARCH_AND_SELECTED;
1928
+ }
1929
+ else if (state.showSelected && state.hasLabel) {
1930
+ this._cachedPaddingTop = PADDING.WITH_LABEL;
1931
+ }
1932
+ else if (state.showSelected) {
1933
+ this._cachedPaddingTop = PADDING.BASE;
1934
+ }
1935
+ else if (state.search && state.singleColumn && state.hasLabel) {
1936
+ this._cachedPaddingTop = PADDING.WITH_SEARCH_AND_SELECTED;
1937
+ }
1938
+ else if (state.search) {
1939
+ this._cachedPaddingTop = PADDING.WITH_SEARCH;
1940
+ }
1941
+ else if (state.hasLabel) {
1942
+ this._cachedPaddingTop = PADDING.BASE;
1943
+ }
1944
+ else {
1945
+ this._cachedPaddingTop = PADDING.NONE;
1946
+ }
1947
+ }
1897
1948
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: MillerViewComponent, deps: [{ token: GroupNodeService }, { token: i2.InventoryService }, { token: AssetSelectorService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
1898
1949
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: MillerViewComponent, isStandalone: true, selector: "c8y-asset-selector-miller", inputs: { config: "config", asset: "asset", selectedDevice: "selectedDevice", rootNode: "rootNode", container: "container" }, outputs: { onSelected: "onSelected", onClearSelected: "onClearSelected" }, providers: [
1899
1950
  {
@@ -1901,7 +1952,7 @@ class MillerViewComponent extends AssetSelectorBase {
1901
1952
  useExisting: forwardRef(() => MillerViewComponent),
1902
1953
  multi: true
1903
1954
  }
1904
- ], viewQueries: [{ propertyName: "millerViewWrapper", first: true, predicate: ["millerViewWrapper"], descendants: true }, { propertyName: "assetSelectors", predicate: AssetSelectorComponent, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\n class=\"miller-view-wrapper {{ config.label }}\"\n [ngStyle]=\"{\n 'padding-top': selectedDevice ? '0px' : (assetSelectorHeaderHeight$ | async)\n }\"\n #millerViewWrapper\n [ngClass]=\"{\n 'single-column': config.singleColumn,\n }\"\n>\n <div\n class=\"miller-column bg-inherit\"\n *ngFor=\"let column of columns; index as i\"\n >\n <c8y-asset-selector\n class=\"bg-inherit\"\n #assetSelector\n [config]=\"config\"\n [index]=\"i\"\n [active]=\"columns[i + 1]\"\n [rootNode]=\"column\"\n [selected]=\"selected || []\"\n [selectedDevice]=\"selectedDevice\"\n (onSelected)=\"onSelectionChange($event)\"\n (onClearSelected)=\"onClearSelected.emit()\"\n (onRowSelected)=\"addNewColumn($event)\"\n (onLoad)=\"onLoad($event)\"\n [container]=\"container\"\n ></c8y-asset-selector>\n <div\n class=\"p-relative p-b-64\"\n *ngIf=\"isLoading && columnIndex === i && !selectedDevice\"\n >\n <c8y-loading></c8y-loading>\n </div>\n\n <div\n class=\"p-l-8 p-r-8\"\n *ngIf=\"!column.children.length && !isLoading\"\n >\n <c8y-ui-empty-state\n [icon]=\"'folder-open'\"\n [title]=\"'No results to display.' | translate\"\n [subtitle]=\"'The selected asset has no children.' | translate\"\n *ngIf=\"!filterText; else noSearchResults\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n <ng-template #noSearchResults>\n <c8y-ui-empty-state\n [icon]=\"'folder-open'\"\n [title]=\"'No results to display for the current filter.' | translate\"\n [subtitle]=\"'There are no assets matching the filter.' | translate\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n </ng-template>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: AssetSelectorComponent, selector: "c8y-asset-selector", inputs: ["config", "active", "index", "asset", "selectedDevice", "selected", "rootNode", "selectedItems", "container", "isNodeSelectable", "disabled"], outputs: ["onSelected", "onClearSelected", "onRowSelected", "onLoad"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: LoadingComponent, selector: "c8y-loading", inputs: ["layout", "progress", "message"] }, { kind: "component", type: EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
1955
+ ], viewQueries: [{ propertyName: "millerViewWrapper", first: true, predicate: ["millerViewWrapper"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\n class=\"miller-view-wrapper {{ config.label }}\"\n [ngStyle]=\"{\n 'padding-top': 'calc('+ getPaddingTop() +' * var(--c8y-unit-base))',\n }\"\n #millerViewWrapper\n [ngClass]=\"{\n 'single-column': config.singleColumn,\n }\"\n>\n <div\n class=\"miller-column bg-inherit\"\n *ngFor=\"let column of columns; index as i\"\n >\n <c8y-asset-selector\n class=\"bg-inherit\"\n #assetSelector\n [config]=\"config\"\n [index]=\"i\"\n [active]=\"columns[i + 1]\"\n [rootNode]=\"column\"\n [selected]=\"selected || []\"\n [selectedDevice]=\"selectedDevice\"\n (onSelected)=\"onSelectionChange($event)\"\n (onClearSelected)=\"onClearSelected.emit()\"\n (onRowSelected)=\"addNewColumn($event)\"\n (onLoad)=\"onLoad($event)\"\n [container]=\"container\"\n ></c8y-asset-selector>\n <div\n class=\"p-relative p-b-64\"\n *ngIf=\"isLoading && columnIndex === i && !selectedDevice\"\n >\n <c8y-loading></c8y-loading>\n </div>\n\n <div\n class=\"p-l-8 p-r-8\"\n *ngIf=\"!column.children.length && !isLoading\"\n >\n <c8y-ui-empty-state\n [icon]=\"'folder-open'\"\n [title]=\"'No results to display.' | translate\"\n [subtitle]=\"'The selected asset has no children.' | translate\"\n *ngIf=\"!filterText; else noSearchResults\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n <ng-template #noSearchResults>\n <c8y-ui-empty-state\n [icon]=\"'folder-open'\"\n [title]=\"'No results to display for the current filter.' | translate\"\n [subtitle]=\"'There are no assets matching the filter.' | translate\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n </ng-template>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: AssetSelectorComponent, selector: "c8y-asset-selector", inputs: ["config", "active", "index", "asset", "selectedDevice", "selected", "rootNode", "selectedItems", "container", "isNodeSelectable", "disabled"], outputs: ["onSelected", "onClearSelected", "onRowSelected", "onLoad"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: LoadingComponent, selector: "c8y-loading", inputs: ["layout", "progress", "message"] }, { kind: "component", type: EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }] }); }
1905
1956
  }
1906
1957
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: MillerViewComponent, decorators: [{
1907
1958
  type: Component,
@@ -1919,9 +1970,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
1919
1970
  NgIf,
1920
1971
  LoadingComponent,
1921
1972
  EmptyStateComponent,
1922
- C8yTranslatePipe,
1923
- AsyncPipe
1924
- ], template: "<div\n class=\"miller-view-wrapper {{ config.label }}\"\n [ngStyle]=\"{\n 'padding-top': selectedDevice ? '0px' : (assetSelectorHeaderHeight$ | async)\n }\"\n #millerViewWrapper\n [ngClass]=\"{\n 'single-column': config.singleColumn,\n }\"\n>\n <div\n class=\"miller-column bg-inherit\"\n *ngFor=\"let column of columns; index as i\"\n >\n <c8y-asset-selector\n class=\"bg-inherit\"\n #assetSelector\n [config]=\"config\"\n [index]=\"i\"\n [active]=\"columns[i + 1]\"\n [rootNode]=\"column\"\n [selected]=\"selected || []\"\n [selectedDevice]=\"selectedDevice\"\n (onSelected)=\"onSelectionChange($event)\"\n (onClearSelected)=\"onClearSelected.emit()\"\n (onRowSelected)=\"addNewColumn($event)\"\n (onLoad)=\"onLoad($event)\"\n [container]=\"container\"\n ></c8y-asset-selector>\n <div\n class=\"p-relative p-b-64\"\n *ngIf=\"isLoading && columnIndex === i && !selectedDevice\"\n >\n <c8y-loading></c8y-loading>\n </div>\n\n <div\n class=\"p-l-8 p-r-8\"\n *ngIf=\"!column.children.length && !isLoading\"\n >\n <c8y-ui-empty-state\n [icon]=\"'folder-open'\"\n [title]=\"'No results to display.' | translate\"\n [subtitle]=\"'The selected asset has no children.' | translate\"\n *ngIf=\"!filterText; else noSearchResults\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n <ng-template #noSearchResults>\n <c8y-ui-empty-state\n [icon]=\"'folder-open'\"\n [title]=\"'No results to display for the current filter.' | translate\"\n [subtitle]=\"'There are no assets matching the filter.' | translate\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n </ng-template>\n </div>\n </div>\n</div>\n" }]
1973
+ C8yTranslatePipe
1974
+ ], template: "<div\n class=\"miller-view-wrapper {{ config.label }}\"\n [ngStyle]=\"{\n 'padding-top': 'calc('+ getPaddingTop() +' * var(--c8y-unit-base))',\n }\"\n #millerViewWrapper\n [ngClass]=\"{\n 'single-column': config.singleColumn,\n }\"\n>\n <div\n class=\"miller-column bg-inherit\"\n *ngFor=\"let column of columns; index as i\"\n >\n <c8y-asset-selector\n class=\"bg-inherit\"\n #assetSelector\n [config]=\"config\"\n [index]=\"i\"\n [active]=\"columns[i + 1]\"\n [rootNode]=\"column\"\n [selected]=\"selected || []\"\n [selectedDevice]=\"selectedDevice\"\n (onSelected)=\"onSelectionChange($event)\"\n (onClearSelected)=\"onClearSelected.emit()\"\n (onRowSelected)=\"addNewColumn($event)\"\n (onLoad)=\"onLoad($event)\"\n [container]=\"container\"\n ></c8y-asset-selector>\n <div\n class=\"p-relative p-b-64\"\n *ngIf=\"isLoading && columnIndex === i && !selectedDevice\"\n >\n <c8y-loading></c8y-loading>\n </div>\n\n <div\n class=\"p-l-8 p-r-8\"\n *ngIf=\"!column.children.length && !isLoading\"\n >\n <c8y-ui-empty-state\n [icon]=\"'folder-open'\"\n [title]=\"'No results to display.' | translate\"\n [subtitle]=\"'The selected asset has no children.' | translate\"\n *ngIf=\"!filterText; else noSearchResults\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n <ng-template #noSearchResults>\n <c8y-ui-empty-state\n [icon]=\"'folder-open'\"\n [title]=\"'No results to display for the current filter.' | translate\"\n [subtitle]=\"'There are no assets matching the filter.' | translate\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n </ng-template>\n </div>\n </div>\n</div>\n" }]
1925
1975
  }], ctorParameters: () => [{ type: GroupNodeService }, { type: i2.InventoryService }, { type: AssetSelectorService }, { type: i0.ChangeDetectorRef }], propDecorators: { config: [{
1926
1976
  type: Input
1927
1977
  }], asset: [{
@@ -1939,9 +1989,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
1939
1989
  args: ['millerViewWrapper']
1940
1990
  }], container: [{
1941
1991
  type: Input
1942
- }], assetSelectors: [{
1943
- type: ViewChildren,
1944
- args: [AssetSelectorComponent]
1945
1992
  }] } });
1946
1993
 
1947
1994
  class AssetSelectorModule {