@c8y/ngx-components 1022.10.1 → 1022.16.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1047) hide show
  1. package/actility-device-registration/actility-device-registration-button.component.d.ts +1 -1
  2. package/actility-device-registration/actility-device-registration-button.component.d.ts.map +1 -1
  3. package/actility-device-registration/actility-device-registration.component.d.ts +1 -1
  4. package/actility-device-registration/actility-device-registration.component.d.ts.map +1 -1
  5. package/actility-device-registration/actility-device-registration.module.d.ts +4 -4
  6. package/actility-device-registration/actility-device-registration.module.d.ts.map +1 -1
  7. package/alarm-event-selector/alarm-event-attributes-form/alarm-event-attributes-form.component.d.ts +1 -1
  8. package/alarm-event-selector/alarm-event-attributes-form/alarm-event-attributes-form.component.d.ts.map +1 -1
  9. package/alarm-event-selector/alarm-event-selection-list/alarm-event-selection-list.component.d.ts +25 -1
  10. package/alarm-event-selector/alarm-event-selection-list/alarm-event-selection-list.component.d.ts.map +1 -1
  11. package/alarm-event-selector/alarm-event-selector-list-item/alarm-event-selector-list-item.component.d.ts +1 -1
  12. package/alarm-event-selector/alarm-event-selector-list-item/alarm-event-selector-list-item.component.d.ts.map +1 -1
  13. package/alarm-event-selector/alarm-event-selector-modal/alarm-event-selector-modal.component.d.ts +1 -1
  14. package/alarm-event-selector/alarm-event-selector-modal/alarm-event-selector-modal.component.d.ts.map +1 -1
  15. package/alarm-event-selector/alarm-event-selector.component.d.ts +1 -1
  16. package/alarm-event-selector/alarm-event-selector.component.d.ts.map +1 -1
  17. package/alarm-event-selector/alarm-event-selector.module.d.ts +15 -15
  18. package/alarm-event-selector/alarm-event-selector.module.d.ts.map +1 -1
  19. package/alarm-event-selector/custom-alarm-event-form/custom-alarm-event-form.component.d.ts +1 -1
  20. package/alarm-event-selector/custom-alarm-event-form/custom-alarm-event-form.component.d.ts.map +1 -1
  21. package/alarm-event-selector/pipes/includes-alarm.pipe.d.ts +1 -1
  22. package/alarm-event-selector/pipes/includes-alarm.pipe.d.ts.map +1 -1
  23. package/alarms/alarm-details.component.d.ts +1 -1
  24. package/alarms/alarm-details.component.d.ts.map +1 -1
  25. package/alarms/alarm-empty.component.d.ts +1 -1
  26. package/alarms/alarm-empty.component.d.ts.map +1 -1
  27. package/alarms/alarm-info.component.d.ts +1 -1
  28. package/alarms/alarm-info.component.d.ts.map +1 -1
  29. package/alarms/alarm-severities-to-title.pipe.d.ts +1 -1
  30. package/alarms/alarm-severities-to-title.pipe.d.ts.map +1 -1
  31. package/alarms/alarm-severity-to-label.pipe.d.ts +1 -1
  32. package/alarms/alarm-severity-to-label.pipe.d.ts.map +1 -1
  33. package/alarms/alarm-status-to-icon.pipe.d.ts +1 -1
  34. package/alarms/alarm-status-to-icon.pipe.d.ts.map +1 -1
  35. package/alarms/alarm-status-to-label.pipe.d.ts +1 -1
  36. package/alarms/alarm-status-to-label.pipe.d.ts.map +1 -1
  37. package/alarms/alarms-date-filter.component.d.ts +1 -1
  38. package/alarms/alarms-date-filter.component.d.ts.map +1 -1
  39. package/alarms/alarms-filter.component.d.ts +1 -1
  40. package/alarms/alarms-filter.component.d.ts.map +1 -1
  41. package/alarms/alarms-icon.component.d.ts +1 -1
  42. package/alarms/alarms-icon.component.d.ts.map +1 -1
  43. package/alarms/alarms-interval-refresh.component.d.ts +1 -1
  44. package/alarms/alarms-interval-refresh.component.d.ts.map +1 -1
  45. package/alarms/alarms-list.component.d.ts +1 -1
  46. package/alarms/alarms-list.component.d.ts.map +1 -1
  47. package/alarms/alarms-type-filter.component.d.ts +1 -1
  48. package/alarms/alarms-type-filter.component.d.ts.map +1 -1
  49. package/alarms/alarms.component.d.ts +1 -1
  50. package/alarms/alarms.component.d.ts.map +1 -1
  51. package/alarms/alarms.helper.d.ts.map +1 -1
  52. package/alarms/alarms.module.d.ts +27 -27
  53. package/alarms/alarms.module.d.ts.map +1 -1
  54. package/alarms/audit-changes-message.pipe.d.ts +1 -1
  55. package/alarms/audit-changes-message.pipe.d.ts.map +1 -1
  56. package/api/api.service.d.ts +8 -0
  57. package/api/api.service.d.ts.map +1 -1
  58. package/app-logs/app-logs-auto-refresh.component.d.ts +1 -1
  59. package/app-logs/app-logs-auto-refresh.component.d.ts.map +1 -1
  60. package/app-logs/app-logs-auto-refresh.module.d.ts +4 -4
  61. package/app-logs/app-logs-auto-refresh.module.d.ts.map +1 -1
  62. package/assets-navigator/asset-selector/asset-selector-node.component.d.ts +1 -1
  63. package/assets-navigator/asset-selector/asset-selector-node.component.d.ts.map +1 -1
  64. package/assets-navigator/asset-selector/asset-selector.component.d.ts +12 -1
  65. package/assets-navigator/asset-selector/asset-selector.component.d.ts.map +1 -1
  66. package/assets-navigator/asset-selector/asset-selector.module.d.ts +8 -8
  67. package/assets-navigator/asset-selector/asset-selector.module.d.ts.map +1 -1
  68. package/assets-navigator/asset-selector/miller-view.component.d.ts +1 -1
  69. package/assets-navigator/asset-selector/miller-view.component.d.ts.map +1 -1
  70. package/auth-configuration/basic-settings/auth-configuration.component.d.ts +1 -1
  71. package/auth-configuration/basic-settings/auth-configuration.component.d.ts.map +1 -1
  72. package/auth-configuration/basic-settings/basic-auth-settings.component.d.ts +1 -1
  73. package/auth-configuration/basic-settings/basic-auth-settings.component.d.ts.map +1 -1
  74. package/auth-configuration/basic-settings/basic-settings.module.d.ts +8 -8
  75. package/auth-configuration/basic-settings/basic-settings.module.d.ts.map +1 -1
  76. package/auth-configuration/basic-settings/login-settings.component.d.ts +2 -2
  77. package/auth-configuration/basic-settings/login-settings.component.d.ts.map +1 -1
  78. package/auth-configuration/basic-settings/session-configuration.component.d.ts +1 -1
  79. package/auth-configuration/basic-settings/session-configuration.component.d.ts.map +1 -1
  80. package/auth-configuration/basic-settings/tfa-settings.component.d.ts +1 -1
  81. package/auth-configuration/basic-settings/tfa-settings.component.d.ts.map +1 -1
  82. package/auth-configuration/sso-configuration/sso-configuration.component.d.ts +1 -1
  83. package/auth-configuration/sso-configuration/sso-configuration.component.d.ts.map +1 -1
  84. package/auth-configuration/sso-configuration/sso-configuration.module.d.ts +24 -24
  85. package/auth-configuration/sso-configuration/sso-configuration.module.d.ts.map +1 -1
  86. package/auth-configuration/sso-configuration/template-parts/access-mapping/access-mapping.component.d.ts +1 -1
  87. package/auth-configuration/sso-configuration/template-parts/access-mapping/access-mapping.component.d.ts.map +1 -1
  88. package/auth-configuration/sso-configuration/template-parts/access-mapping/child-predicates.component.d.ts +1 -1
  89. package/auth-configuration/sso-configuration/template-parts/access-mapping/child-predicates.component.d.ts.map +1 -1
  90. package/auth-configuration/sso-configuration/template-parts/access-mapping/dynamic-access-mapping.component.d.ts +1 -1
  91. package/auth-configuration/sso-configuration/template-parts/access-mapping/dynamic-access-mapping.component.d.ts.map +1 -1
  92. package/auth-configuration/sso-configuration/template-parts/access-mapping/inventory-roles-mapping.component.d.ts +1 -1
  93. package/auth-configuration/sso-configuration/template-parts/access-mapping/inventory-roles-mapping.component.d.ts.map +1 -1
  94. package/auth-configuration/sso-configuration/template-parts/access-mapping/inventory-roles-modal.component.d.ts +1 -1
  95. package/auth-configuration/sso-configuration/template-parts/access-mapping/inventory-roles-modal.component.d.ts.map +1 -1
  96. package/auth-configuration/sso-configuration/template-parts/basic-configuration.component.d.ts +1 -1
  97. package/auth-configuration/sso-configuration/template-parts/basic-configuration.component.d.ts.map +1 -1
  98. package/auth-configuration/sso-configuration/template-parts/external-token-config.component.d.ts +1 -1
  99. package/auth-configuration/sso-configuration/template-parts/external-token-config.component.d.ts.map +1 -1
  100. package/auth-configuration/sso-configuration/template-parts/logout-configuration.component.d.ts +1 -1
  101. package/auth-configuration/sso-configuration/template-parts/logout-configuration.component.d.ts.map +1 -1
  102. package/auth-configuration/sso-configuration/template-parts/request-configuration.component.d.ts +1 -1
  103. package/auth-configuration/sso-configuration/template-parts/request-configuration.component.d.ts.map +1 -1
  104. package/auth-configuration/sso-configuration/template-parts/signature-configuration.component.d.ts +1 -1
  105. package/auth-configuration/sso-configuration/template-parts/signature-configuration.component.d.ts.map +1 -1
  106. package/auth-configuration/sso-configuration/template-parts/user-data-mapping.component.d.ts +1 -1
  107. package/auth-configuration/sso-configuration/template-parts/user-data-mapping.component.d.ts.map +1 -1
  108. package/auth-configuration/sso-configuration/template-parts/user-id-configuration.component.d.ts +1 -1
  109. package/auth-configuration/sso-configuration/template-parts/user-id-configuration.component.d.ts.map +1 -1
  110. package/auth-configuration/sso-configuration/templates/aad-template.component.d.ts +1 -1
  111. package/auth-configuration/sso-configuration/templates/aad-template.component.d.ts.map +1 -1
  112. package/auth-configuration/sso-configuration/templates/custom-template.component.d.ts +1 -1
  113. package/auth-configuration/sso-configuration/templates/custom-template.component.d.ts.map +1 -1
  114. package/auth-configuration/sso-configuration/templates/key-cloak-template.component.d.ts +1 -1
  115. package/auth-configuration/sso-configuration/templates/key-cloak-template.component.d.ts.map +1 -1
  116. package/auth-configuration/sso-configuration/templates/template.component.d.ts +1 -1
  117. package/bookmarks/bookmarks.component.d.ts +1 -1
  118. package/bookmarks/bookmarks.component.d.ts.map +1 -1
  119. package/bookmarks/bookmarks.module.d.ts +7 -7
  120. package/bookmarks/bookmarks.module.d.ts.map +1 -1
  121. package/bookmarks/edit-bookmarks/edit-bookmarks.component.d.ts +1 -1
  122. package/bookmarks/edit-bookmarks/edit-bookmarks.component.d.ts.map +1 -1
  123. package/child-devices/child-devices.component.d.ts +1 -1
  124. package/child-devices/child-devices.component.d.ts.map +1 -1
  125. package/child-devices/child-devices.module.d.ts +5 -5
  126. package/child-devices/child-devices.module.d.ts.map +1 -1
  127. package/cockpit-config/cockpit-config.module.d.ts +17 -17
  128. package/cockpit-config/cockpit-config.module.d.ts.map +1 -1
  129. package/cockpit-config/cockpit-configuration.component.d.ts +1 -1
  130. package/cockpit-config/cockpit-configuration.component.d.ts.map +1 -1
  131. package/cockpit-config/feature-config.component.d.ts +1 -1
  132. package/cockpit-config/feature-config.component.d.ts.map +1 -1
  133. package/cockpit-config/home-dashboard-config.component.d.ts +1 -1
  134. package/cockpit-config/home-dashboard-config.component.d.ts.map +1 -1
  135. package/cockpit-config/misc-config.component.d.ts +1 -1
  136. package/cockpit-config/misc-config.component.d.ts.map +1 -1
  137. package/cockpit-config/root-node-config.component.d.ts +1 -1
  138. package/cockpit-config/root-node-config.component.d.ts.map +1 -1
  139. package/cockpit-config/setup/cockpit-setup-step1.component.d.ts +1 -1
  140. package/cockpit-config/setup/cockpit-setup-step1.component.d.ts.map +1 -1
  141. package/cockpit-config/setup/cockpit-setup-step2.component.d.ts +1 -1
  142. package/cockpit-config/setup/cockpit-setup-step2.component.d.ts.map +1 -1
  143. package/cockpit-config/setup/cockpit-setup-step3.component.d.ts +1 -1
  144. package/cockpit-config/setup/cockpit-setup-step3.component.d.ts.map +1 -1
  145. package/cockpit-config/setup/cockpit-setup-step4.component.d.ts +1 -1
  146. package/cockpit-config/setup/cockpit-setup-step4.component.d.ts.map +1 -1
  147. package/cockpit-config/setup/cockpit-setup-stepper-buttons.component.d.ts +1 -1
  148. package/cockpit-config/setup/cockpit-setup-stepper-buttons.component.d.ts.map +1 -1
  149. package/context-dashboard/add-dashboard.component.d.ts +1 -1
  150. package/context-dashboard/add-dashboard.component.d.ts.map +1 -1
  151. package/context-dashboard/context-dashboard.component.d.ts +2 -1
  152. package/context-dashboard/context-dashboard.component.d.ts.map +1 -1
  153. package/context-dashboard/context-dashboard.model.d.ts +0 -1
  154. package/context-dashboard/context-dashboard.model.d.ts.map +1 -1
  155. package/context-dashboard/context-dashboard.module.d.ts +26 -19
  156. package/context-dashboard/context-dashboard.module.d.ts.map +1 -1
  157. package/context-dashboard/context-dashboard.service.d.ts +6 -1
  158. package/context-dashboard/context-dashboard.service.d.ts.map +1 -1
  159. package/context-dashboard/dashboard-detail.component.d.ts +2 -2
  160. package/context-dashboard/dashboard-detail.component.d.ts.map +1 -1
  161. package/context-dashboard/device-info-dashboard/device-info-dashboard.component.d.ts +1 -1
  162. package/context-dashboard/device-info-dashboard/device-info-dashboard.component.d.ts.map +1 -1
  163. package/context-dashboard/device-info-dashboard/device-info-dashboard.module.d.ts +5 -5
  164. package/context-dashboard/device-info-dashboard/device-info-dashboard.module.d.ts.map +1 -1
  165. package/context-dashboard/device-management-home-dashboard/device-management-home-dashboard.component.d.ts +1 -1
  166. package/context-dashboard/device-management-home-dashboard/device-management-home-dashboard.component.d.ts.map +1 -1
  167. package/context-dashboard/device-management-home-dashboard/device-management-home-dashboard.module.d.ts +5 -5
  168. package/context-dashboard/device-management-home-dashboard/device-management-home-dashboard.module.d.ts.map +1 -1
  169. package/context-dashboard/paste-dashboard-action.component.d.ts +1 -1
  170. package/context-dashboard/paste-dashboard-action.component.d.ts.map +1 -1
  171. package/context-dashboard/widget-config.component.d.ts +1 -1
  172. package/context-dashboard/widget-config.component.d.ts.map +1 -1
  173. package/context-dashboard/widget-config.service.d.ts +1 -1
  174. package/core/alert/alert.service.d.ts +14 -5
  175. package/core/alert/alert.service.d.ts.map +1 -1
  176. package/core/asset-property/asset-property.model.d.ts +2 -0
  177. package/core/asset-property/asset-property.model.d.ts.map +1 -1
  178. package/core/authentication/authentication.module.d.ts.map +1 -1
  179. package/core/bottom-drawer/bottom-drawer.component.d.ts +3 -0
  180. package/core/bottom-drawer/bottom-drawer.component.d.ts.map +1 -1
  181. package/core/breadcrumb/breadcrumb.module.d.ts +3 -3
  182. package/core/common/ApplicationOptions.d.ts +14 -12
  183. package/core/common/ApplicationOptions.d.ts.map +1 -1
  184. package/core/common/date.pipe.d.ts +1 -1
  185. package/core/common/forOf.directive.d.ts +16 -16
  186. package/core/common/forOf.directive.d.ts.map +1 -1
  187. package/core/common/humanize-app-name.pipe.d.ts +7 -0
  188. package/core/common/humanize-app-name.pipe.d.ts.map +1 -1
  189. package/core/common/humanize.pipe.d.ts +7 -0
  190. package/core/common/humanize.pipe.d.ts.map +1 -1
  191. package/core/common/icon.directive.d.ts +19 -0
  192. package/core/common/icon.directive.d.ts.map +1 -1
  193. package/core/common/markdown-to-html.pipe.d.ts +8 -0
  194. package/core/common/markdown-to-html.pipe.d.ts.map +1 -1
  195. package/core/common/options.service.d.ts +5 -5
  196. package/core/common/outlet.directive.d.ts +4 -6
  197. package/core/common/outlet.directive.d.ts.map +1 -1
  198. package/core/common/permissions.service.d.ts +12 -12
  199. package/core/common/service-registry.service.d.ts +2 -1
  200. package/core/common/service-registry.service.d.ts.map +1 -1
  201. package/core/common/user-name-initials.pipe.d.ts +7 -0
  202. package/core/common/user-name-initials.pipe.d.ts.map +1 -1
  203. package/core/common/user-preferences/user-preferences.service.d.ts +1 -1
  204. package/core/countdown-interval/countdown-interval.component.d.ts +7 -0
  205. package/core/countdown-interval/countdown-interval.component.d.ts.map +1 -1
  206. package/core/dashboard/widget-auto-refresh-context/auto-refresh-control.component.d.ts.map +1 -1
  207. package/core/date-time-picker/date-time-picker.component.d.ts +20 -0
  208. package/core/date-time-picker/date-time-picker.component.d.ts.map +1 -1
  209. package/core/device-status/device-status.component.d.ts +3 -0
  210. package/core/device-status/device-status.component.d.ts.map +1 -1
  211. package/core/drop-area/drop-area.component.d.ts +2 -0
  212. package/core/drop-area/drop-area.component.d.ts.map +1 -1
  213. package/core/dynamic-forms/file/file.type.component.d.ts.map +1 -1
  214. package/core/header/header.model.d.ts +3 -2
  215. package/core/header/header.model.d.ts.map +1 -1
  216. package/core/header/title/title.component.d.ts +2 -0
  217. package/core/header/title/title.component.d.ts.map +1 -1
  218. package/core/i18n/c8y-translate.directive.d.ts +2 -2
  219. package/core/list-display-switch/list-display-switch.component.d.ts +9 -0
  220. package/core/list-display-switch/list-display-switch.component.d.ts.map +1 -1
  221. package/core/modal/modal.module.d.ts.map +1 -1
  222. package/core/plugins/plugins.module.d.ts.map +1 -1
  223. package/core/plugins/plugins.service.d.ts +1 -2
  224. package/core/plugins/plugins.service.d.ts.map +1 -1
  225. package/core/preview-feature/preview-feature.service.d.ts +1 -0
  226. package/core/preview-feature/preview-feature.service.d.ts.map +1 -1
  227. package/core/range-display/range-display.component.d.ts +11 -0
  228. package/core/range-display/range-display.component.d.ts.map +1 -1
  229. package/core/realtime/realtime.service.d.ts +4 -4
  230. package/core/select/select.component.d.ts.map +1 -1
  231. package/dashboard-manager/dashboard-manager.module.d.ts +8 -8
  232. package/dashboard-manager/dashboard-manager.module.d.ts.map +1 -1
  233. package/dashboard-manager/type-dashboard-target-assets-grid/type-dashboard-target-assets-grid.component.d.ts +1 -1
  234. package/dashboard-manager/type-dashboard-target-assets-grid/type-dashboard-target-assets-grid.component.d.ts.map +1 -1
  235. package/dashboard-manager/type-dashboard-target-assets-modal/type-dashboard-target-assets-modal.component.d.ts +1 -1
  236. package/dashboard-manager/type-dashboard-target-assets-modal/type-dashboard-target-assets-modal.component.d.ts.map +1 -1
  237. package/dashboard-manager/type-dashboards-list/type-dashboards-list.component.d.ts +1 -1
  238. package/dashboard-manager/type-dashboards-list/type-dashboards-list.component.d.ts.map +1 -1
  239. package/datapoint-selector/datapoint-attributes-form/datapoint-attributes-form.component.d.ts +1 -1
  240. package/datapoint-selector/datapoint-attributes-form/datapoint-attributes-form.component.d.ts.map +1 -1
  241. package/datapoint-selector/datapoint-selection-list/datapoint-selection-list.component.d.ts +10 -1
  242. package/datapoint-selector/datapoint-selection-list/datapoint-selection-list.component.d.ts.map +1 -1
  243. package/datapoint-selector/datapoint-selector-list-item/datapoint-selector-list-item.component.d.ts +1 -1
  244. package/datapoint-selector/datapoint-selector-list-item/datapoint-selector-list-item.component.d.ts.map +1 -1
  245. package/datapoint-selector/datapoint-selector-modal/datapoint-selector-modal.component.d.ts +1 -1
  246. package/datapoint-selector/datapoint-selector-modal/datapoint-selector-modal.component.d.ts.map +1 -1
  247. package/datapoint-selector/datapoint-selector.component.d.ts +1 -1
  248. package/datapoint-selector/datapoint-selector.component.d.ts.map +1 -1
  249. package/datapoint-selector/datapoint-selector.module.d.ts +18 -18
  250. package/datapoint-selector/datapoint-selector.module.d.ts.map +1 -1
  251. package/datapoint-selector/datapoint-template-popover/datapoint-template-popover.component.d.ts +1 -1
  252. package/datapoint-selector/datapoint-template-popover/datapoint-template-popover.component.d.ts.map +1 -1
  253. package/datapoint-selector/pipes/datapoint-label.pipe.d.ts +1 -1
  254. package/datapoint-selector/pipes/datapoint-label.pipe.d.ts.map +1 -1
  255. package/datapoint-selector/pipes/filter-datapoints.pipe.d.ts +1 -1
  256. package/datapoint-selector/pipes/filter-datapoints.pipe.d.ts.map +1 -1
  257. package/datapoint-selector/pipes/includes-datapoint.pipe.d.ts +1 -1
  258. package/datapoint-selector/pipes/includes-datapoint.pipe.d.ts.map +1 -1
  259. package/datapoints-export-selector/datapoints-export-selector.component.d.ts +7 -0
  260. package/datapoints-export-selector/datapoints-export-selector.component.d.ts.map +1 -1
  261. package/default-subscriptions/default-subscriptions.component.d.ts +1 -1
  262. package/default-subscriptions/default-subscriptions.component.d.ts.map +1 -1
  263. package/default-subscriptions/default-subscriptions.module.d.ts +4 -4
  264. package/default-subscriptions/default-subscriptions.module.d.ts.map +1 -1
  265. package/device-grid/columns/alarms.cell-renderer.component.d.ts +1 -1
  266. package/device-grid/columns/alarms.cell-renderer.component.d.ts.map +1 -1
  267. package/device-grid/columns/alarms.header-cell-renderer.component.d.ts +1 -1
  268. package/device-grid/columns/alarms.header-cell-renderer.component.d.ts.map +1 -1
  269. package/device-grid/columns/group.cell-renderer.component.d.ts +1 -1
  270. package/device-grid/columns/group.cell-renderer.component.d.ts.map +1 -1
  271. package/device-grid/columns/group.filtering-form-renderer.component.d.ts +1 -1
  272. package/device-grid/columns/group.filtering-form-renderer.component.d.ts.map +1 -1
  273. package/device-grid/columns/model.cell-renderer.component.d.ts +1 -1
  274. package/device-grid/columns/model.cell-renderer.component.d.ts.map +1 -1
  275. package/device-grid/columns/name.cell-renderer.component.d.ts +1 -1
  276. package/device-grid/columns/name.cell-renderer.component.d.ts.map +1 -1
  277. package/device-grid/columns/registration-date.cell-renderer.component.d.ts +1 -1
  278. package/device-grid/columns/registration-date.cell-renderer.component.d.ts.map +1 -1
  279. package/device-grid/columns/serial-number.cell-renderer.component.d.ts +1 -1
  280. package/device-grid/columns/serial-number.cell-renderer.component.d.ts.map +1 -1
  281. package/device-grid/columns/status.cell-renderer.component.d.ts +1 -1
  282. package/device-grid/columns/status.cell-renderer.component.d.ts.map +1 -1
  283. package/device-grid/device-grid.component.d.ts +1 -1
  284. package/device-grid/device-grid.component.d.ts.map +1 -1
  285. package/device-grid/device-grid.module.d.ts +15 -15
  286. package/device-grid/device-grid.module.d.ts.map +1 -1
  287. package/device-list/add-smart-group.component.d.ts +1 -1
  288. package/device-list/add-smart-group.component.d.ts.map +1 -1
  289. package/device-list/device-list.component.d.ts +1 -1
  290. package/device-list/device-list.component.d.ts.map +1 -1
  291. package/device-list/device-list.module.d.ts +8 -8
  292. package/device-list/device-list.module.d.ts.map +1 -1
  293. package/device-list/devices.breadcrumb-factory.d.ts +1 -0
  294. package/device-list/devices.breadcrumb-factory.d.ts.map +1 -1
  295. package/device-parameters/device-parameter-details.component.d.ts +22 -0
  296. package/device-parameters/device-parameter-details.component.d.ts.map +1 -0
  297. package/device-parameters/device-parameter-value.component.d.ts +12 -0
  298. package/device-parameters/device-parameter-value.component.d.ts.map +1 -0
  299. package/device-parameters/device-parameters-list.component.d.ts +2 -1
  300. package/device-parameters/device-parameters-list.component.d.ts.map +1 -1
  301. package/device-parameters/index.d.ts +5 -0
  302. package/device-parameters/index.d.ts.map +1 -1
  303. package/device-parameters/parameter-type-cell-renderer.components.d.ts +8 -0
  304. package/device-parameters/parameter-type-cell-renderer.components.d.ts.map +1 -0
  305. package/device-profile/add-device-profile.component.d.ts +1 -1
  306. package/device-profile/add-device-profile.component.d.ts.map +1 -1
  307. package/device-profile/device-profile-list.component.d.ts +1 -1
  308. package/device-profile/device-profile-list.component.d.ts.map +1 -1
  309. package/device-profile/device-profile.component.d.ts +1 -1
  310. package/device-profile/device-profile.component.d.ts.map +1 -1
  311. package/device-profile/device-profile.module.d.ts +17 -17
  312. package/device-profile/device-profile.module.d.ts.map +1 -1
  313. package/device-profile/device-tab-profile/device-profile-item-list.component.d.ts +1 -1
  314. package/device-profile/device-tab-profile/device-profile-item-list.component.d.ts.map +1 -1
  315. package/device-profile/device-tab-profile/device-tab-profile-detail.component.d.ts +1 -1
  316. package/device-profile/device-tab-profile/device-tab-profile-detail.component.d.ts.map +1 -1
  317. package/device-profile/device-tab-profile/device-tab-profile.component.d.ts +1 -1
  318. package/device-profile/device-tab-profile/device-tab-profile.component.d.ts.map +1 -1
  319. package/device-profile/select-configuration-modal.component.d.ts +1 -1
  320. package/device-profile/select-configuration-modal.component.d.ts.map +1 -1
  321. package/device-protocols/device-protocols.module.d.ts +1 -1
  322. package/device-protocols/device-type-detail.component.d.ts +1 -1
  323. package/device-protocols/device-type-detail.component.d.ts.map +1 -1
  324. package/device-protocols/device-type-detail.directive.d.ts +1 -1
  325. package/device-protocols/device-type-detail.directive.d.ts.map +1 -1
  326. package/device-provisioned-certificates/device-provisioned-certificates.module.d.ts +7 -7
  327. package/device-provisioned-certificates/device-provisioned-certificates.module.d.ts.map +1 -1
  328. package/device-provisioned-certificates/device-tab-provisioned-certificates.component.d.ts +5 -3
  329. package/device-provisioned-certificates/device-tab-provisioned-certificates.component.d.ts.map +1 -1
  330. package/device-shell/command-templates/command-templates.component.d.ts +1 -1
  331. package/device-shell/command-templates/command-templates.component.d.ts.map +1 -1
  332. package/device-shell/command-templates/command-templates.directive.d.ts +1 -1
  333. package/device-shell/command-templates/command-templates.directive.d.ts.map +1 -1
  334. package/device-shell/command-templates/command-templates.module.d.ts +1 -1
  335. package/device-shell/shell/shell.component.d.ts +1 -1
  336. package/device-shell/shell/shell.component.d.ts.map +1 -1
  337. package/device-shell/shell/shell.module.d.ts +7 -7
  338. package/diagnostics/diagnostics.component.d.ts +1 -1
  339. package/diagnostics/diagnostics.component.d.ts.map +1 -1
  340. package/diagnostics/diagnostics.module.d.ts +8 -8
  341. package/diagnostics/diagnostics.module.d.ts.map +1 -1
  342. package/ecosystem/activity-log/activity-log.component.d.ts +1 -1
  343. package/ecosystem/activity-log/activity-log.component.d.ts.map +1 -1
  344. package/ecosystem/application-plugins/appState.pipe.d.ts +1 -1
  345. package/ecosystem/application-plugins/appState.pipe.d.ts.map +1 -1
  346. package/ecosystem/application-plugins/application-plugin-readme.component.d.ts +1 -1
  347. package/ecosystem/application-plugins/application-plugin-readme.component.d.ts.map +1 -1
  348. package/ecosystem/application-plugins/application-plugins.component.d.ts +1 -1
  349. package/ecosystem/application-plugins/application-plugins.component.d.ts.map +1 -1
  350. package/ecosystem/application-plugins/application-plugins.module.d.ts +14 -14
  351. package/ecosystem/application-plugins/application-plugins.module.d.ts.map +1 -1
  352. package/ecosystem/application-plugins/apps-to-update-remotes-select.component.d.ts +2 -2
  353. package/ecosystem/application-plugins/apps-to-update-remotes-select.component.d.ts.map +1 -1
  354. package/ecosystem/application-plugins/install-plugin.component.d.ts +1 -1
  355. package/ecosystem/application-plugins/install-plugin.component.d.ts.map +1 -1
  356. package/ecosystem/application-plugins/label-cell-renderer.component.d.ts +1 -1
  357. package/ecosystem/application-plugins/label-cell-renderer.component.d.ts.map +1 -1
  358. package/ecosystem/application-plugins/only-latest-filter/only-latest-filter.component.d.ts +1 -1
  359. package/ecosystem/application-plugins/only-latest-filter/only-latest-filter.component.d.ts.map +1 -1
  360. package/ecosystem/application-plugins/orphaned-status-cell-renderer.component.d.ts +1 -1
  361. package/ecosystem/application-plugins/orphaned-status-cell-renderer.component.d.ts.map +1 -1
  362. package/ecosystem/application-plugins/plugin-list-item.component.d.ts +1 -1
  363. package/ecosystem/application-plugins/plugin-list-item.component.d.ts.map +1 -1
  364. package/ecosystem/application-plugins/plugin-list.component.d.ts +1 -1
  365. package/ecosystem/application-plugins/plugin-list.component.d.ts.map +1 -1
  366. package/ecosystem/application-plugins/update-plugin-of-app/update-plugin-of-app.component.d.ts +1 -1
  367. package/ecosystem/application-plugins/update-plugin-of-app/update-plugin-of-app.component.d.ts.map +1 -1
  368. package/ecosystem/application-properties/application-properties.component.d.ts +1 -1
  369. package/ecosystem/application-properties/application-properties.component.d.ts.map +1 -1
  370. package/ecosystem/application-properties/subscription-modal/subscription-modal.component.d.ts +1 -1
  371. package/ecosystem/application-properties/subscription-modal/subscription-modal.component.d.ts.map +1 -1
  372. package/ecosystem/application-properties/update-application-modal/update-application-modal.component.d.ts +1 -1
  373. package/ecosystem/application-properties/update-application-modal/update-application-modal.component.d.ts.map +1 -1
  374. package/ecosystem/applications/add-external-applicaiton/add-external-application.component.d.ts +1 -1
  375. package/ecosystem/applications/add-external-applicaiton/add-external-application.component.d.ts.map +1 -1
  376. package/ecosystem/applications/add-web-application/add-web-application.component.d.ts +1 -1
  377. package/ecosystem/applications/add-web-application/add-web-application.component.d.ts.map +1 -1
  378. package/ecosystem/applications/application-list/application-list.component.d.ts +1 -1
  379. package/ecosystem/applications/application-list/application-list.component.d.ts.map +1 -1
  380. package/ecosystem/applications/install-from-package/install-from-package.component.d.ts +2 -3
  381. package/ecosystem/applications/install-from-package/install-from-package.component.d.ts.map +1 -1
  382. package/ecosystem/archived-confirm/archived-confirm-modal.component.d.ts +1 -1
  383. package/ecosystem/archived-confirm/archived-confirm-modal.component.d.ts.map +1 -1
  384. package/ecosystem/archived-confirm/archived-confirm.module.d.ts +4 -4
  385. package/ecosystem/archived-confirm/archived-confirm.module.d.ts.map +1 -1
  386. package/ecosystem/ecosystem.module.d.ts +34 -34
  387. package/ecosystem/ecosystem.module.d.ts.map +1 -1
  388. package/ecosystem/features/feature-list.component.d.ts +1 -1
  389. package/ecosystem/features/feature-list.component.d.ts.map +1 -1
  390. package/ecosystem/license-confirm/license-confirm-modal.component.d.ts +1 -1
  391. package/ecosystem/license-confirm/license-confirm-modal.component.d.ts.map +1 -1
  392. package/ecosystem/license-confirm/license-confirm.module.d.ts +5 -5
  393. package/ecosystem/license-confirm/license-confirm.module.d.ts.map +1 -1
  394. package/ecosystem/license-confirm/license-view.component.d.ts +1 -1
  395. package/ecosystem/license-confirm/license-view.component.d.ts.map +1 -1
  396. package/ecosystem/microservices/add-microservice.component.d.ts +1 -1
  397. package/ecosystem/microservices/add-microservice.component.d.ts.map +1 -1
  398. package/ecosystem/microservices/microservice-list.component.d.ts +1 -1
  399. package/ecosystem/microservices/microservice-list.component.d.ts.map +1 -1
  400. package/ecosystem/packages/add-package.component.d.ts +1 -1
  401. package/ecosystem/packages/add-package.component.d.ts.map +1 -1
  402. package/ecosystem/packages/deploy-application/deploy-application.component.d.ts +1 -1
  403. package/ecosystem/packages/deploy-application/deploy-application.component.d.ts.map +1 -1
  404. package/ecosystem/packages/package-details/package-details.component.d.ts +1 -1
  405. package/ecosystem/packages/package-details/package-details.component.d.ts.map +1 -1
  406. package/ecosystem/packages/package-list/packages-list.component.d.ts +1 -1
  407. package/ecosystem/packages/package-list/packages-list.component.d.ts.map +1 -1
  408. package/ecosystem/packages/package-versions/package-contents/contents-apps/contents-apps.component.d.ts +1 -1
  409. package/ecosystem/packages/package-versions/package-contents/contents-apps/contents-apps.component.d.ts.map +1 -1
  410. package/ecosystem/packages/package-versions/package-contents/contents-plugins/contents-plugins.component.d.ts +1 -1
  411. package/ecosystem/packages/package-versions/package-contents/contents-plugins/contents-plugins.component.d.ts.map +1 -1
  412. package/ecosystem/packages/package-versions/package-contents/packages-contents.component.d.ts +1 -1
  413. package/ecosystem/packages/package-versions/package-contents/packages-contents.component.d.ts.map +1 -1
  414. package/ecosystem/packages/package-versions/package-versions-list/package-versions-list.component.d.ts +1 -1
  415. package/ecosystem/packages/package-versions/package-versions-list/package-versions-list.component.d.ts.map +1 -1
  416. package/ecosystem/packages/package-versions/packages-versions.component.d.ts +1 -1
  417. package/ecosystem/packages/package-versions/packages-versions.component.d.ts.map +1 -1
  418. package/ecosystem/shared/add-application.component.d.ts +1 -1
  419. package/ecosystem/shared/add-application.component.d.ts.map +1 -1
  420. package/ecosystem/shared/application-card.component.d.ts +1 -1
  421. package/ecosystem/shared/application-card.component.d.ts.map +1 -1
  422. package/ecosystem/shared/application-properties-form.component.d.ts +1 -1
  423. package/ecosystem/shared/application-properties-form.component.d.ts.map +1 -1
  424. package/ecosystem/shared/archived-filter/archived-filter.component.d.ts +1 -1
  425. package/ecosystem/shared/archived-filter/archived-filter.component.d.ts.map +1 -1
  426. package/ecosystem/shared/duplicate-application/duplicate-application-list/duplicate-application-list.component.d.ts +1 -1
  427. package/ecosystem/shared/duplicate-application/duplicate-application-list/duplicate-application-list.component.d.ts.map +1 -1
  428. package/ecosystem/shared/duplicate-application/duplicate-application-properties/duplicate-application-properties.component.d.ts +2 -2
  429. package/ecosystem/shared/duplicate-application/duplicate-application-properties/duplicate-application-properties.component.d.ts.map +1 -1
  430. package/ecosystem/shared/duplicate-application/duplicate-application.component.d.ts +1 -1
  431. package/ecosystem/shared/duplicate-application/duplicate-application.component.d.ts.map +1 -1
  432. package/ecosystem/shared/list-filters/list-filters.component.d.ts +1 -1
  433. package/ecosystem/shared/list-filters/list-filters.component.d.ts.map +1 -1
  434. package/ecosystem/shared/package-version-select/package-version-select.component.d.ts +1 -1
  435. package/ecosystem/shared/package-version-select/package-version-select.component.d.ts.map +1 -1
  436. package/ecosystem/shared/shared-ecosystem.module.d.ts +20 -20
  437. package/ecosystem/shared/shared-ecosystem.module.d.ts.map +1 -1
  438. package/ecosystem/shared/translate-package-label.pipe.d.ts +1 -1
  439. package/ecosystem/shared/translate-package-label.pipe.d.ts.map +1 -1
  440. package/ecosystem/shared/upload-archive.component.d.ts +1 -1
  441. package/ecosystem/shared/upload-archive.component.d.ts.map +1 -1
  442. package/events/c8y-ngx-components-events.d.ts.map +1 -0
  443. package/events/events-timeline/c8y-ngx-components-events-events-timeline.d.ts.map +1 -0
  444. package/events/events-timeline/events-timeline.component.d.ts +19 -0
  445. package/events/events-timeline/events-timeline.component.d.ts.map +1 -0
  446. package/events/events-timeline/index.d.ts +2 -0
  447. package/events/events-timeline/index.d.ts.map +1 -0
  448. package/events/events.model.d.ts +6 -0
  449. package/events/events.model.d.ts.map +1 -0
  450. package/events/events.service.d.ts +10 -0
  451. package/events/events.service.d.ts.map +1 -0
  452. package/events/index.d.ts +3 -0
  453. package/events/index.d.ts.map +1 -0
  454. package/fesm2022/c8y-ngx-components-actility-device-registration.mjs +36 -12
  455. package/fesm2022/c8y-ngx-components-actility-device-registration.mjs.map +1 -1
  456. package/fesm2022/c8y-ngx-components-alarm-event-selector.mjs +195 -107
  457. package/fesm2022/c8y-ngx-components-alarm-event-selector.mjs.map +1 -1
  458. package/fesm2022/c8y-ngx-components-alarms.mjs +238 -97
  459. package/fesm2022/c8y-ngx-components-alarms.mjs.map +1 -1
  460. package/fesm2022/c8y-ngx-components-api.mjs +8 -0
  461. package/fesm2022/c8y-ngx-components-api.mjs.map +1 -1
  462. package/fesm2022/c8y-ngx-components-app-logs.mjs +6 -8
  463. package/fesm2022/c8y-ngx-components-app-logs.mjs.map +1 -1
  464. package/fesm2022/c8y-ngx-components-assets-navigator.mjs +74 -26
  465. package/fesm2022/c8y-ngx-components-assets-navigator.mjs.map +1 -1
  466. package/fesm2022/c8y-ngx-components-auth-configuration.mjs +580 -368
  467. package/fesm2022/c8y-ngx-components-auth-configuration.mjs.map +1 -1
  468. package/fesm2022/c8y-ngx-components-bookmarks.mjs +36 -17
  469. package/fesm2022/c8y-ngx-components-bookmarks.mjs.map +1 -1
  470. package/fesm2022/c8y-ngx-components-child-devices.mjs +7 -9
  471. package/fesm2022/c8y-ngx-components-child-devices.mjs.map +1 -1
  472. package/fesm2022/c8y-ngx-components-cockpit-config.mjs +138 -67
  473. package/fesm2022/c8y-ngx-components-cockpit-config.mjs.map +1 -1
  474. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-appearance-settings.component-B7m2lsIe.mjs → c8y-ngx-components-context-dashboard-dashboard-appearance-settings.component-C-JLbcn5.mjs} +3 -3
  475. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-appearance-settings.component-B7m2lsIe.mjs.map → c8y-ngx-components-context-dashboard-dashboard-appearance-settings.component-C-JLbcn5.mjs.map} +1 -1
  476. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-general-settings.component-BCG_pjJz.mjs → c8y-ngx-components-context-dashboard-dashboard-general-settings.component-RXvOcs04.mjs} +5 -5
  477. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-general-settings.component-BCG_pjJz.mjs.map → c8y-ngx-components-context-dashboard-dashboard-general-settings.component-RXvOcs04.mjs.map} +1 -1
  478. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-version-history.component-DjCdFkJw.mjs → c8y-ngx-components-context-dashboard-dashboard-version-history.component-DmPIJGXO.mjs} +3 -3
  479. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-version-history.component-DjCdFkJw.mjs.map → c8y-ngx-components-context-dashboard-dashboard-version-history.component-DmPIJGXO.mjs.map} +1 -1
  480. package/fesm2022/c8y-ngx-components-context-dashboard.mjs +170 -94
  481. package/fesm2022/c8y-ngx-components-context-dashboard.mjs.map +1 -1
  482. package/fesm2022/c8y-ngx-components-dashboard-manager.mjs +44 -31
  483. package/fesm2022/c8y-ngx-components-dashboard-manager.mjs.map +1 -1
  484. package/fesm2022/c8y-ngx-components-datapoint-selector.mjs +132 -66
  485. package/fesm2022/c8y-ngx-components-datapoint-selector.mjs.map +1 -1
  486. package/fesm2022/c8y-ngx-components-datapoints-export-selector.mjs.map +1 -1
  487. package/fesm2022/c8y-ngx-components-default-subscriptions.mjs +32 -16
  488. package/fesm2022/c8y-ngx-components-default-subscriptions.mjs.map +1 -1
  489. package/fesm2022/c8y-ngx-components-device-grid.mjs +50 -45
  490. package/fesm2022/c8y-ngx-components-device-grid.mjs.map +1 -1
  491. package/fesm2022/c8y-ngx-components-device-list.mjs +59 -27
  492. package/fesm2022/c8y-ngx-components-device-list.mjs.map +1 -1
  493. package/fesm2022/c8y-ngx-components-device-parameters.mjs +110 -13
  494. package/fesm2022/c8y-ngx-components-device-parameters.mjs.map +1 -1
  495. package/fesm2022/c8y-ngx-components-device-profile.mjs +126 -49
  496. package/fesm2022/c8y-ngx-components-device-profile.mjs.map +1 -1
  497. package/fesm2022/c8y-ngx-components-device-protocols.mjs +6 -9
  498. package/fesm2022/c8y-ngx-components-device-protocols.mjs.map +1 -1
  499. package/fesm2022/c8y-ngx-components-device-provisioned-certificates.mjs +78 -18
  500. package/fesm2022/c8y-ngx-components-device-provisioned-certificates.mjs.map +1 -1
  501. package/fesm2022/c8y-ngx-components-device-shell.mjs +31 -22
  502. package/fesm2022/c8y-ngx-components-device-shell.mjs.map +1 -1
  503. package/fesm2022/c8y-ngx-components-diagnostics.mjs +36 -19
  504. package/fesm2022/c8y-ngx-components-diagnostics.mjs.map +1 -1
  505. package/fesm2022/c8y-ngx-components-ecosystem-application-plugins.mjs +155 -72
  506. package/fesm2022/c8y-ngx-components-ecosystem-application-plugins.mjs.map +1 -1
  507. package/fesm2022/c8y-ngx-components-ecosystem-archived-confirm.mjs +13 -7
  508. package/fesm2022/c8y-ngx-components-ecosystem-archived-confirm.mjs.map +1 -1
  509. package/fesm2022/c8y-ngx-components-ecosystem-license-confirm.mjs +43 -12
  510. package/fesm2022/c8y-ngx-components-ecosystem-license-confirm.mjs.map +1 -1
  511. package/fesm2022/c8y-ngx-components-ecosystem-shared.mjs +179 -80
  512. package/fesm2022/c8y-ngx-components-ecosystem-shared.mjs.map +1 -1
  513. package/fesm2022/c8y-ngx-components-ecosystem.mjs +353 -1316
  514. package/fesm2022/c8y-ngx-components-ecosystem.mjs.map +1 -1
  515. package/fesm2022/c8y-ngx-components-events-events-timeline.mjs +45 -0
  516. package/fesm2022/c8y-ngx-components-events-events-timeline.mjs.map +1 -0
  517. package/fesm2022/c8y-ngx-components-events.mjs +44 -0
  518. package/fesm2022/c8y-ngx-components-events.mjs.map +1 -0
  519. package/fesm2022/c8y-ngx-components-file-preview.mjs +17 -8
  520. package/fesm2022/c8y-ngx-components-file-preview.mjs.map +1 -1
  521. package/fesm2022/c8y-ngx-components-files-repository.mjs +55 -22
  522. package/fesm2022/c8y-ngx-components-files-repository.mjs.map +1 -1
  523. package/fesm2022/c8y-ngx-components-icon-selector.mjs +46 -28
  524. package/fesm2022/c8y-ngx-components-icon-selector.mjs.map +1 -1
  525. package/fesm2022/c8y-ngx-components-location.mjs +28 -15
  526. package/fesm2022/c8y-ngx-components-location.mjs.map +1 -1
  527. package/fesm2022/c8y-ngx-components-loriot-device-registration.mjs +36 -12
  528. package/fesm2022/c8y-ngx-components-loriot-device-registration.mjs.map +1 -1
  529. package/fesm2022/c8y-ngx-components-map.mjs +260 -28
  530. package/fesm2022/c8y-ngx-components-map.mjs.map +1 -1
  531. package/fesm2022/c8y-ngx-components-operations-bulk-operation-from-single.mjs +8 -14
  532. package/fesm2022/c8y-ngx-components-operations-bulk-operation-from-single.mjs.map +1 -1
  533. package/fesm2022/c8y-ngx-components-operations-bulk-operation-list-item.mjs +49 -49
  534. package/fesm2022/c8y-ngx-components-operations-bulk-operation-list-item.mjs.map +1 -1
  535. package/fesm2022/c8y-ngx-components-operations-bulk-operation-scheduler.mjs +27 -14
  536. package/fesm2022/c8y-ngx-components-operations-bulk-operation-scheduler.mjs.map +1 -1
  537. package/fesm2022/c8y-ngx-components-operations-bulk-operation-stepper.mjs +27 -33
  538. package/fesm2022/c8y-ngx-components-operations-bulk-operation-stepper.mjs.map +1 -1
  539. package/fesm2022/c8y-ngx-components-operations-bulk-operations-list.mjs +51 -39
  540. package/fesm2022/c8y-ngx-components-operations-bulk-operations-list.mjs.map +1 -1
  541. package/fesm2022/c8y-ngx-components-operations-bulk-operations-stepper-container.mjs +10 -8
  542. package/fesm2022/c8y-ngx-components-operations-bulk-operations-stepper-container.mjs.map +1 -1
  543. package/fesm2022/c8y-ngx-components-operations-create-bulk-operation-details.mjs +16 -11
  544. package/fesm2022/c8y-ngx-components-operations-create-bulk-operation-details.mjs.map +1 -1
  545. package/fesm2022/c8y-ngx-components-operations-device-selector.mjs +8 -11
  546. package/fesm2022/c8y-ngx-components-operations-device-selector.mjs.map +1 -1
  547. package/fesm2022/c8y-ngx-components-operations-operation-details.mjs +25 -21
  548. package/fesm2022/c8y-ngx-components-operations-operation-details.mjs.map +1 -1
  549. package/fesm2022/c8y-ngx-components-operations-operation-summary.mjs +7 -9
  550. package/fesm2022/c8y-ngx-components-operations-operation-summary.mjs.map +1 -1
  551. package/fesm2022/c8y-ngx-components-operations-operations-list-item-details.mjs +31 -31
  552. package/fesm2022/c8y-ngx-components-operations-operations-list-item-details.mjs.map +1 -1
  553. package/fesm2022/c8y-ngx-components-operations-operations-list.mjs +3 -3
  554. package/fesm2022/c8y-ngx-components-operations-operations-list.mjs.map +1 -1
  555. package/fesm2022/c8y-ngx-components-operations-operations-timeline.mjs +33 -13
  556. package/fesm2022/c8y-ngx-components-operations-operations-timeline.mjs.map +1 -1
  557. package/fesm2022/c8y-ngx-components-operations-status-filter.mjs +19 -13
  558. package/fesm2022/c8y-ngx-components-operations-status-filter.mjs.map +1 -1
  559. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs +40 -36
  560. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs.map +1 -1
  561. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs +60 -41
  562. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs.map +1 -1
  563. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-firmware.mjs +122 -109
  564. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-firmware.mjs.map +1 -1
  565. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-software.mjs +66 -41
  566. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-software.mjs.map +1 -1
  567. package/fesm2022/c8y-ngx-components-operations-stepper-frames.mjs +11 -16
  568. package/fesm2022/c8y-ngx-components-operations-stepper-frames.mjs.map +1 -1
  569. package/fesm2022/c8y-ngx-components-platform-configuration.mjs +24 -13
  570. package/fesm2022/c8y-ngx-components-platform-configuration.mjs.map +1 -1
  571. package/fesm2022/c8y-ngx-components-protocol-lpwan.mjs +133 -26
  572. package/fesm2022/c8y-ngx-components-protocol-lpwan.mjs.map +1 -1
  573. package/fesm2022/c8y-ngx-components-protocol-opcua.mjs +212 -83
  574. package/fesm2022/c8y-ngx-components-protocol-opcua.mjs.map +1 -1
  575. package/fesm2022/c8y-ngx-components-register-device.mjs +314 -249
  576. package/fesm2022/c8y-ngx-components-register-device.mjs.map +1 -1
  577. package/fesm2022/c8y-ngx-components-report-dashboard.mjs +41 -17
  578. package/fesm2022/c8y-ngx-components-report-dashboard.mjs.map +1 -1
  579. package/fesm2022/c8y-ngx-components-reports.mjs +61 -21
  580. package/fesm2022/c8y-ngx-components-reports.mjs.map +1 -1
  581. package/fesm2022/c8y-ngx-components-repository-configuration.mjs +113 -54
  582. package/fesm2022/c8y-ngx-components-repository-configuration.mjs.map +1 -1
  583. package/fesm2022/c8y-ngx-components-repository-firmware.mjs +130 -62
  584. package/fesm2022/c8y-ngx-components-repository-firmware.mjs.map +1 -1
  585. package/fesm2022/c8y-ngx-components-repository-shared.mjs +37 -28
  586. package/fesm2022/c8y-ngx-components-repository-shared.mjs.map +1 -1
  587. package/fesm2022/c8y-ngx-components-repository-software.mjs +156 -83
  588. package/fesm2022/c8y-ngx-components-repository-software.mjs.map +1 -1
  589. package/fesm2022/c8y-ngx-components-search.mjs +34 -21
  590. package/fesm2022/c8y-ngx-components-search.mjs.map +1 -1
  591. package/fesm2022/c8y-ngx-components-services.mjs +32 -19
  592. package/fesm2022/c8y-ngx-components-services.mjs.map +1 -1
  593. package/fesm2022/c8y-ngx-components-sigfox-device-registration.mjs +43 -19
  594. package/fesm2022/c8y-ngx-components-sigfox-device-registration.mjs.map +1 -1
  595. package/fesm2022/c8y-ngx-components-sub-assets.mjs +207 -72
  596. package/fesm2022/c8y-ngx-components-sub-assets.mjs.map +1 -1
  597. package/fesm2022/c8y-ngx-components-tenants.mjs +96 -39
  598. package/fesm2022/c8y-ngx-components-tenants.mjs.map +1 -1
  599. package/fesm2022/c8y-ngx-components-trusted-certificates.mjs +224 -67
  600. package/fesm2022/c8y-ngx-components-trusted-certificates.mjs.map +1 -1
  601. package/fesm2022/c8y-ngx-components-upgrade-upgraded-services.mjs +16 -3
  602. package/fesm2022/c8y-ngx-components-upgrade-upgraded-services.mjs.map +1 -1
  603. package/fesm2022/c8y-ngx-components-upgrade.mjs +20 -24
  604. package/fesm2022/c8y-ngx-components-upgrade.mjs.map +1 -1
  605. package/fesm2022/c8y-ngx-components-user-roles.mjs +24 -14
  606. package/fesm2022/c8y-ngx-components-user-roles.mjs.map +1 -1
  607. package/fesm2022/c8y-ngx-components-widgets-implementations-alarms.mjs +76 -50
  608. package/fesm2022/c8y-ngx-components-widgets-implementations-alarms.mjs.map +1 -1
  609. package/fesm2022/c8y-ngx-components-widgets-implementations-device-management-welcome.mjs +15 -8
  610. package/fesm2022/c8y-ngx-components-widgets-implementations-device-management-welcome.mjs.map +1 -1
  611. package/fesm2022/c8y-ngx-components-widgets-implementations-map.mjs +2 -2
  612. package/fesm2022/c8y-ngx-components-widgets-implementations-map.mjs.map +1 -1
  613. package/fesm2022/c8y-ngx-components.mjs +640 -549
  614. package/fesm2022/c8y-ngx-components.mjs.map +1 -1
  615. package/file-preview/file-preview.component.d.ts +1 -1
  616. package/file-preview/file-preview.component.d.ts.map +1 -1
  617. package/file-preview/file-preview.module.d.ts +3 -3
  618. package/file-preview/file-preview.module.d.ts.map +1 -1
  619. package/files-repository/files-repository-upload.component.d.ts +1 -1
  620. package/files-repository/files-repository-upload.component.d.ts.map +1 -1
  621. package/files-repository/files-repository.component.d.ts +1 -1
  622. package/files-repository/files-repository.component.d.ts.map +1 -1
  623. package/files-repository/files-repository.module.d.ts +6 -6
  624. package/files-repository/files-repository.module.d.ts.map +1 -1
  625. package/icon-selector/icon-name.pipe.d.ts +1 -1
  626. package/icon-selector/icon-name.pipe.d.ts.map +1 -1
  627. package/icon-selector/icon-selector-modal/icon-selector-modal.component.d.ts +1 -1
  628. package/icon-selector/icon-selector-modal/icon-selector-modal.component.d.ts.map +1 -1
  629. package/icon-selector/icon-selector-wrapper/icon-selector-wrapper.component.d.ts +1 -1
  630. package/icon-selector/icon-selector-wrapper/icon-selector-wrapper.component.d.ts.map +1 -1
  631. package/icon-selector/icon-selector.component.d.ts +1 -1
  632. package/icon-selector/icon-selector.component.d.ts.map +1 -1
  633. package/icon-selector/icon-selector.module.d.ts +8 -8
  634. package/icon-selector/icon-selector.module.d.ts.map +1 -1
  635. package/locales/de.po +55 -17
  636. package/locales/es.po +43 -4
  637. package/locales/fr.po +43 -4
  638. package/locales/ja_JP.po +45 -6
  639. package/locales/ko.po +43 -4
  640. package/locales/locales.pot +41 -2
  641. package/locales/nl.po +43 -4
  642. package/locales/pl.po +43 -4
  643. package/locales/pt_BR.po +43 -4
  644. package/locales/zh_CN.po +44 -5
  645. package/locales/zh_TW.po +43 -4
  646. package/location/add-location.component.d.ts +1 -1
  647. package/location/add-location.component.d.ts.map +1 -1
  648. package/location/location.component.d.ts +1 -1
  649. package/location/location.component.d.ts.map +1 -1
  650. package/location/location.module.d.ts +6 -6
  651. package/location/location.module.d.ts.map +1 -1
  652. package/loriot-device-registration/loriot-device-registration-button.component.d.ts +1 -1
  653. package/loriot-device-registration/loriot-device-registration-button.component.d.ts.map +1 -1
  654. package/loriot-device-registration/loriot-device-registration.component.d.ts +1 -1
  655. package/loriot-device-registration/loriot-device-registration.component.d.ts.map +1 -1
  656. package/loriot-device-registration/loriot-device-registration.module.d.ts +4 -4
  657. package/loriot-device-registration/loriot-device-registration.module.d.ts.map +1 -1
  658. package/map/cluster-map.component.d.ts +61 -1
  659. package/map/cluster-map.component.d.ts.map +1 -1
  660. package/map/map-popup.directive.d.ts +1 -1
  661. package/map/map-popup.directive.d.ts.map +1 -1
  662. package/map/map-status.component.d.ts +86 -3
  663. package/map/map-status.component.d.ts.map +1 -1
  664. package/map/map.component.d.ts +100 -5
  665. package/map/map.component.d.ts.map +1 -1
  666. package/map/map.model.d.ts +98 -4
  667. package/map/map.model.d.ts.map +1 -1
  668. package/map/map.module.d.ts +9 -9
  669. package/map/map.module.d.ts.map +1 -1
  670. package/operations/bulk-operation-from-single/bulk-operation-from-single.component.d.ts +1 -1
  671. package/operations/bulk-operation-from-single/bulk-operation-from-single.component.d.ts.map +1 -1
  672. package/operations/bulk-operation-from-single/bulk-operation-from-single.module.d.ts +3 -5
  673. package/operations/bulk-operation-from-single/bulk-operation-from-single.module.d.ts.map +1 -1
  674. package/operations/bulk-operation-list-item/bulk-operation-list-item.component.d.ts +1 -1
  675. package/operations/bulk-operation-list-item/bulk-operation-list-item.component.d.ts.map +1 -1
  676. package/operations/bulk-operation-list-item/bulk-operation-list-item.module.d.ts +1 -7
  677. package/operations/bulk-operation-list-item/bulk-operation-list-item.module.d.ts.map +1 -1
  678. package/operations/bulk-operation-list-item/bulk-operation-wrapper.component.d.ts +1 -1
  679. package/operations/bulk-operation-list-item/bulk-operation-wrapper.component.d.ts.map +1 -1
  680. package/operations/bulk-operation-list-item/modal-body-host.directive.d.ts +1 -1
  681. package/operations/bulk-operation-list-item/modal-body-host.directive.d.ts.map +1 -1
  682. package/operations/bulk-operation-list-item/modals/bulk-operations-reschedule-modal.component.d.ts +1 -1
  683. package/operations/bulk-operation-list-item/modals/bulk-operations-reschedule-modal.component.d.ts.map +1 -1
  684. package/operations/bulk-operation-scheduler/bulk-operation-scheduler.module.d.ts +6 -6
  685. package/operations/bulk-operation-scheduler/operation-scheduler.component.d.ts +1 -1
  686. package/operations/bulk-operation-scheduler/operation-scheduler.component.d.ts.map +1 -1
  687. package/operations/bulk-operation-stepper/base-stepper.component.d.ts +1 -1
  688. package/operations/bulk-operation-stepper/bulk-operation-stepper.component.d.ts +1 -1
  689. package/operations/bulk-operation-stepper/bulk-operation-stepper.component.d.ts.map +1 -1
  690. package/operations/bulk-operation-stepper/bulk-operation-stepper.module.d.ts +1 -5
  691. package/operations/bulk-operation-stepper/bulk-operation-stepper.module.d.ts.map +1 -1
  692. package/operations/bulk-operation-stepper/custom-step.directive.d.ts +1 -1
  693. package/operations/bulk-operation-stepper/custom-step.directive.d.ts.map +1 -1
  694. package/operations/bulk-operations-list/bulk-operations-list.component.d.ts +1 -1
  695. package/operations/bulk-operations-list/bulk-operations-list.component.d.ts.map +1 -1
  696. package/operations/bulk-operations-list/bulk-operations-list.module.d.ts +4 -10
  697. package/operations/bulk-operations-list/bulk-operations-list.module.d.ts.map +1 -1
  698. package/operations/bulk-operations-list/modals/bulk-operations-modal.component.d.ts +1 -1
  699. package/operations/bulk-operations-list/modals/bulk-operations-modal.component.d.ts.map +1 -1
  700. package/operations/bulk-operations-stepper-container/bulk-operations-stepper-container.component.d.ts +1 -1
  701. package/operations/bulk-operations-stepper-container/bulk-operations-stepper-container.component.d.ts.map +1 -1
  702. package/operations/bulk-operations-stepper-container/bulk-operations-stepper-container.module.d.ts +3 -4
  703. package/operations/bulk-operations-stepper-container/bulk-operations-stepper-container.module.d.ts.map +1 -1
  704. package/operations/create-bulk-operation-details/create-bulk-operation-details.component.d.ts +1 -1
  705. package/operations/create-bulk-operation-details/create-bulk-operation-details.component.d.ts.map +1 -1
  706. package/operations/create-bulk-operation-details/create-bulk-operation-details.module.d.ts +1 -4
  707. package/operations/create-bulk-operation-details/create-bulk-operation-details.module.d.ts.map +1 -1
  708. package/operations/device-selector/device-selector.component.d.ts +1 -1
  709. package/operations/device-selector/device-selector.component.d.ts.map +1 -1
  710. package/operations/device-selector/device-selector.module.d.ts +1 -3
  711. package/operations/device-selector/device-selector.module.d.ts.map +1 -1
  712. package/operations/operation-details/operation-details-modal.component.d.ts +1 -1
  713. package/operations/operation-details/operation-details-modal.component.d.ts.map +1 -1
  714. package/operations/operation-details/operation-details.component.d.ts +1 -1
  715. package/operations/operation-details/operation-details.component.d.ts.map +1 -1
  716. package/operations/operation-details/operation-details.module.d.ts +1 -7
  717. package/operations/operation-details/operation-details.module.d.ts.map +1 -1
  718. package/operations/operation-details/operation-details.service.d.ts.map +1 -1
  719. package/operations/operation-summary/operation-summary.component.d.ts +1 -1
  720. package/operations/operation-summary/operation-summary.component.d.ts.map +1 -1
  721. package/operations/operation-summary/operation-summary.module.d.ts +1 -2
  722. package/operations/operation-summary/operation-summary.module.d.ts.map +1 -1
  723. package/operations/operations-list/operations-list-item.component.d.ts.map +1 -1
  724. package/operations/operations-list/operations-list.component.d.ts.map +1 -1
  725. package/operations/operations-list/operations-list.service.d.ts +1 -1
  726. package/operations/operations-list/operations-list.service.d.ts.map +1 -1
  727. package/operations/operations-list-item-details/operation-details-tabs.component.d.ts +1 -1
  728. package/operations/operations-list-item-details/operation-details-tabs.component.d.ts.map +1 -1
  729. package/operations/operations-list-item-details/operation-details.component.d.ts +1 -1
  730. package/operations/operations-list-item-details/operation-details.component.d.ts.map +1 -1
  731. package/operations/operations-list-item-details/operations-list-item-details.module.d.ts +1 -6
  732. package/operations/operations-list-item-details/operations-list-item-details.module.d.ts.map +1 -1
  733. package/operations/operations-timeline/operations-timeline.component.d.ts +5 -5
  734. package/operations/operations-timeline/operations-timeline.component.d.ts.map +1 -1
  735. package/operations/operations-timeline/operations-timeline.module.d.ts +4 -6
  736. package/operations/operations-timeline/operations-timeline.module.d.ts.map +1 -1
  737. package/operations/status-filter/status-filter.component.d.ts +1 -1
  738. package/operations/status-filter/status-filter.component.d.ts.map +1 -1
  739. package/operations/status-filter/status-filter.module.d.ts +1 -4
  740. package/operations/status-filter/status-filter.module.d.ts.map +1 -1
  741. package/operations/stepper-bulk-type-configuration/stepper-bulk-type-configuration.component.d.ts +1 -1
  742. package/operations/stepper-bulk-type-configuration/stepper-bulk-type-configuration.component.d.ts.map +1 -1
  743. package/operations/stepper-bulk-type-configuration/stepper-bulk-type-configuration.module.d.ts +1 -6
  744. package/operations/stepper-bulk-type-configuration/stepper-bulk-type-configuration.module.d.ts.map +1 -1
  745. package/operations/stepper-bulk-type-device-profile/confirm-device-profile-selection-step.component.d.ts +1 -1
  746. package/operations/stepper-bulk-type-device-profile/confirm-device-profile-selection-step.component.d.ts.map +1 -1
  747. package/operations/stepper-bulk-type-device-profile/select-device-profile-step.component.d.ts +1 -1
  748. package/operations/stepper-bulk-type-device-profile/select-device-profile-step.component.d.ts.map +1 -1
  749. package/operations/stepper-bulk-type-device-profile/stepper-bulk-type-device-profile.component.d.ts +1 -1
  750. package/operations/stepper-bulk-type-device-profile/stepper-bulk-type-device-profile.component.d.ts.map +1 -1
  751. package/operations/stepper-bulk-type-device-profile/stepper-bulk-type-device-profile.module.d.ts +1 -6
  752. package/operations/stepper-bulk-type-device-profile/stepper-bulk-type-device-profile.module.d.ts.map +1 -1
  753. package/operations/stepper-bulk-type-firmware/select-firmware.component.d.ts +1 -1
  754. package/operations/stepper-bulk-type-firmware/select-firmware.component.d.ts.map +1 -1
  755. package/operations/stepper-bulk-type-firmware/stepper-bulk-type-firmware.component.d.ts +1 -1
  756. package/operations/stepper-bulk-type-firmware/stepper-bulk-type-firmware.component.d.ts.map +1 -1
  757. package/operations/stepper-bulk-type-firmware/stepper-bulk-type-firmware.module.d.ts +1 -6
  758. package/operations/stepper-bulk-type-firmware/stepper-bulk-type-firmware.module.d.ts.map +1 -1
  759. package/operations/stepper-bulk-type-firmware/version-or-patch.component.d.ts +1 -1
  760. package/operations/stepper-bulk-type-firmware/version-or-patch.component.d.ts.map +1 -1
  761. package/operations/stepper-bulk-type-software/confirm-software-selection-step.component.d.ts +1 -1
  762. package/operations/stepper-bulk-type-software/confirm-software-selection-step.component.d.ts.map +1 -1
  763. package/operations/stepper-bulk-type-software/select-software-step.component.d.ts +1 -1
  764. package/operations/stepper-bulk-type-software/select-software-step.component.d.ts.map +1 -1
  765. package/operations/stepper-bulk-type-software/stepper-bulk-type-software.component.d.ts +1 -1
  766. package/operations/stepper-bulk-type-software/stepper-bulk-type-software.component.d.ts.map +1 -1
  767. package/operations/stepper-bulk-type-software/stepper-bulk-type-software.module.d.ts +1 -6
  768. package/operations/stepper-bulk-type-software/stepper-bulk-type-software.module.d.ts.map +1 -1
  769. package/operations/stepper-frames/preview-block.directive.d.ts +1 -1
  770. package/operations/stepper-frames/preview-block.directive.d.ts.map +1 -1
  771. package/operations/stepper-frames/preview-selection-frame.component.d.ts +1 -1
  772. package/operations/stepper-frames/preview-selection-frame.component.d.ts.map +1 -1
  773. package/operations/stepper-frames/select-step-frame.component.d.ts +1 -1
  774. package/operations/stepper-frames/select-step-frame.component.d.ts.map +1 -1
  775. package/operations/stepper-frames/stepper-frames.modules.d.ts +1 -2
  776. package/operations/stepper-frames/stepper-frames.modules.d.ts.map +1 -1
  777. package/package.json +1 -1
  778. package/platform-configuration/platform-configuration-form.component.d.ts +1 -1
  779. package/platform-configuration/platform-configuration-form.component.d.ts.map +1 -1
  780. package/platform-configuration/platform-configuration.module.d.ts +4 -4
  781. package/platform-configuration/platform-configuration.module.d.ts.map +1 -1
  782. package/protocol-lpwan/lpwan-protocol.module.d.ts +4 -4
  783. package/protocol-lpwan/lpwan-protocol.module.d.ts.map +1 -1
  784. package/protocol-lpwan/lpwan-set-connections.component.d.ts +1 -1
  785. package/protocol-lpwan/lpwan-set-connections.component.d.ts.map +1 -1
  786. package/protocol-lpwan/lpwan-set-device-protocol.component.d.ts +1 -1
  787. package/protocol-lpwan/lpwan-set-device-protocol.component.d.ts.map +1 -1
  788. package/protocol-lpwan/multiple-lns-connectors/actility-multiple-lns-connector.component.d.ts +1 -1
  789. package/protocol-lpwan/multiple-lns-connectors/actility-multiple-lns-connector.component.d.ts.map +1 -1
  790. package/protocol-lpwan/multiple-lns-connectors/connection-info-with-download-csv.component.d.ts +1 -1
  791. package/protocol-lpwan/multiple-lns-connectors/connection-info-with-download-csv.component.d.ts.map +1 -1
  792. package/protocol-lpwan/multiple-lns-connectors/loriot/loriot-multiple-lns-connector.component.d.ts +1 -1
  793. package/protocol-lpwan/multiple-lns-connectors/loriot/loriot-multiple-lns-connector.component.d.ts.map +1 -1
  794. package/protocol-lpwan/multiple-lns-connectors/multiple-lns-connectors.module.d.ts +8 -8
  795. package/protocol-lpwan/multiple-lns-connectors/multiple-lns-connectors.module.d.ts.map +1 -1
  796. package/protocol-lpwan/multiple-lns-connectors/no-connections-found.component.d.ts +1 -1
  797. package/protocol-lpwan/multiple-lns-connectors/sigfox-multiple-lns-connector.component.d.ts +1 -1
  798. package/protocol-lpwan/multiple-lns-connectors/sigfox-multiple-lns-connector.component.d.ts.map +1 -1
  799. package/protocol-opcua/opcua-address-space-detail.component.d.ts +1 -1
  800. package/protocol-opcua/opcua-address-space-detail.component.d.ts.map +1 -1
  801. package/protocol-opcua/opcua-address-space-tree.component.d.ts +1 -1
  802. package/protocol-opcua/opcua-address-space-tree.component.d.ts.map +1 -1
  803. package/protocol-opcua/opcua-address-space.component.d.ts +1 -1
  804. package/protocol-opcua/opcua-address-space.component.d.ts.map +1 -1
  805. package/protocol-opcua/opcua-auto-apply-settings.component.d.ts +1 -1
  806. package/protocol-opcua/opcua-auto-apply-settings.component.d.ts.map +1 -1
  807. package/protocol-opcua/opcua-device-protocol-browse-path-validation.directive.d.ts +1 -1
  808. package/protocol-opcua/opcua-device-protocol-browse-path-validation.directive.d.ts.map +1 -1
  809. package/protocol-opcua/opcua-device-protocol-data-reporting.component.d.ts +1 -1
  810. package/protocol-opcua/opcua-device-protocol-data-reporting.component.d.ts.map +1 -1
  811. package/protocol-opcua/opcua-device-protocol-description.component.d.ts +1 -1
  812. package/protocol-opcua/opcua-device-protocol-description.component.d.ts.map +1 -1
  813. package/protocol-opcua/opcua-device-protocol-detail.component.d.ts +1 -1
  814. package/protocol-opcua/opcua-device-protocol-detail.component.d.ts.map +1 -1
  815. package/protocol-opcua/opcua-device-protocol-mapping.component.d.ts +1 -1
  816. package/protocol-opcua/opcua-device-protocol-mapping.component.d.ts.map +1 -1
  817. package/protocol-opcua/opcua-device-protocol-object-mapping-status-icon.component.d.ts +1 -1
  818. package/protocol-opcua/opcua-device-protocol-object-mapping-status-icon.component.d.ts.map +1 -1
  819. package/protocol-opcua/opcua-protocol.module.d.ts +26 -26
  820. package/protocol-opcua/opcua-protocol.module.d.ts.map +1 -1
  821. package/protocol-opcua/opcua-server-config.component.d.ts +1 -1
  822. package/protocol-opcua/opcua-server-config.component.d.ts.map +1 -1
  823. package/protocol-opcua/opcua-server-list.component.d.ts +1 -1
  824. package/protocol-opcua/opcua-server-list.component.d.ts.map +1 -1
  825. package/protocol-opcua/opcua-servers.component.d.ts +1 -1
  826. package/protocol-opcua/opcua-servers.component.d.ts.map +1 -1
  827. package/register-device/bulk/bulk-device-registration-button.component.d.ts +1 -1
  828. package/register-device/bulk/bulk-device-registration-button.component.d.ts.map +1 -1
  829. package/register-device/bulk/bulk-device-registration-modal.component.d.ts +1 -1
  830. package/register-device/bulk/bulk-device-registration-modal.component.d.ts.map +1 -1
  831. package/register-device/device-registration-view.component.d.ts +1 -1
  832. package/register-device/device-registration-view.component.d.ts.map +1 -1
  833. package/register-device/dropdown/register-device-dropdown.component.d.ts +1 -1
  834. package/register-device/dropdown/register-device-dropdown.component.d.ts.map +1 -1
  835. package/register-device/extensible/bulk/extensible-bulk-device-registration-button.component.d.ts +1 -1
  836. package/register-device/extensible/bulk/extensible-bulk-device-registration-button.component.d.ts.map +1 -1
  837. package/register-device/extensible/bulk/extensible-bulk-device-registration-modal.component.d.ts +1 -1
  838. package/register-device/extensible/bulk/extensible-bulk-device-registration-modal.component.d.ts.map +1 -1
  839. package/register-device/extensible/single/extensible-device-registration-button.component.d.ts +1 -1
  840. package/register-device/extensible/single/extensible-device-registration-button.component.d.ts.map +1 -1
  841. package/register-device/extensible/single/extensible-device-registration-modal.component.d.ts +1 -1
  842. package/register-device/extensible/single/extensible-device-registration-modal.component.d.ts.map +1 -1
  843. package/register-device/extensible/single/extensible-device-registration-stepper.component.d.ts +1 -1
  844. package/register-device/extensible/single/extensible-device-registration-stepper.component.d.ts.map +1 -1
  845. package/register-device/general/general-device-registration-button.component.d.ts +1 -1
  846. package/register-device/general/general-device-registration-button.component.d.ts.map +1 -1
  847. package/register-device/general/general-device-registration.component.d.ts +3 -6
  848. package/register-device/general/general-device-registration.component.d.ts.map +1 -1
  849. package/register-device/register-device.module.d.ts +16 -16
  850. package/register-device/register-device.module.d.ts.map +1 -1
  851. package/report-dashboard/report-dashboard-list.component.d.ts +1 -1
  852. package/report-dashboard/report-dashboard-list.component.d.ts.map +1 -1
  853. package/report-dashboard/report-dashboard.module.d.ts +7 -7
  854. package/reports/cron.component.d.ts +1 -1
  855. package/reports/cron.component.d.ts.map +1 -1
  856. package/reports/export-schedules.component.d.ts +2 -3
  857. package/reports/export-schedules.component.d.ts.map +1 -1
  858. package/reports/reports.module.d.ts +7 -7
  859. package/reports/reports.module.d.ts.map +1 -1
  860. package/reports/schedule-modal.component.d.ts +2 -3
  861. package/reports/schedule-modal.component.d.ts.map +1 -1
  862. package/repository/configuration/device-tab/configuration-filter.pipe.d.ts +1 -1
  863. package/repository/configuration/device-tab/configuration-filter.pipe.d.ts.map +1 -1
  864. package/repository/configuration/device-tab/configuration-preview.component.d.ts +1 -1
  865. package/repository/configuration/device-tab/configuration-preview.component.d.ts.map +1 -1
  866. package/repository/configuration/device-tab/configuration-repository-device-tab.module.d.ts +11 -13
  867. package/repository/configuration/device-tab/configuration-repository-device-tab.module.d.ts.map +1 -1
  868. package/repository/configuration/device-tab/device-configuration-list.component.d.ts +1 -1
  869. package/repository/configuration/device-tab/device-configuration-list.component.d.ts.map +1 -1
  870. package/repository/configuration/device-tab/device-configuration.component.d.ts +1 -1
  871. package/repository/configuration/device-tab/device-configuration.component.d.ts.map +1 -1
  872. package/repository/configuration/device-tab/save-to-repository.component.d.ts +1 -1
  873. package/repository/configuration/device-tab/save-to-repository.component.d.ts.map +1 -1
  874. package/repository/configuration/device-tab/source-code-preview.component.d.ts +1 -1
  875. package/repository/configuration/device-tab/source-code-preview.component.d.ts.map +1 -1
  876. package/repository/configuration/device-tab/text-based-configuration.component.d.ts +1 -1
  877. package/repository/configuration/device-tab/text-based-configuration.component.d.ts.map +1 -1
  878. package/repository/configuration/list/configuration-detail.component.d.ts +1 -1
  879. package/repository/configuration/list/configuration-detail.component.d.ts.map +1 -1
  880. package/repository/configuration/list/configuration-list.component.d.ts +1 -1
  881. package/repository/configuration/list/configuration-list.component.d.ts.map +1 -1
  882. package/repository/configuration/list/configuration-repository-list.module.d.ts +4 -7
  883. package/repository/configuration/list/configuration-repository-list.module.d.ts.map +1 -1
  884. package/repository/firmware/device-tab/firmware-device-tab.component.d.ts +1 -1
  885. package/repository/firmware/device-tab/firmware-device-tab.component.d.ts.map +1 -1
  886. package/repository/firmware/device-tab/firmware-repository-device-tab.module.d.ts +4 -6
  887. package/repository/firmware/device-tab/firmware-repository-device-tab.module.d.ts.map +1 -1
  888. package/repository/firmware/list/add-firmware-modal.component.d.ts +1 -1
  889. package/repository/firmware/list/add-firmware-modal.component.d.ts.map +1 -1
  890. package/repository/firmware/list/add-firmware-patch-modal.component.d.ts +1 -1
  891. package/repository/firmware/list/add-firmware-patch-modal.component.d.ts.map +1 -1
  892. package/repository/firmware/list/firmware-details.component.d.ts +1 -1
  893. package/repository/firmware/list/firmware-details.component.d.ts.map +1 -1
  894. package/repository/firmware/list/firmware-list.component.d.ts +1 -1
  895. package/repository/firmware/list/firmware-list.component.d.ts.map +1 -1
  896. package/repository/firmware/list/firmware-repository-list.module.d.ts +6 -11
  897. package/repository/firmware/list/firmware-repository-list.module.d.ts.map +1 -1
  898. package/repository/shared/file-download/file-download.component.d.ts +1 -1
  899. package/repository/shared/file-download/file-download.component.d.ts.map +1 -1
  900. package/repository/shared/select-modal/repository-select-modal.component.d.ts +1 -1
  901. package/repository/shared/select-modal/repository-select-modal.component.d.ts.map +1 -1
  902. package/repository/shared/shared-repository.module.d.ts +1 -4
  903. package/repository/shared/shared-repository.module.d.ts.map +1 -1
  904. package/repository/shared/software-type/software-type.component.d.ts +1 -1
  905. package/repository/shared/software-type/software-type.component.d.ts.map +1 -1
  906. package/repository/software/device-tab/device-software-changes.component.d.ts +1 -1
  907. package/repository/software/device-tab/device-software-changes.component.d.ts.map +1 -1
  908. package/repository/software/device-tab/device-software-list.component.d.ts +1 -1
  909. package/repository/software/device-tab/device-software-list.component.d.ts.map +1 -1
  910. package/repository/software/device-tab/installed-software.component.d.ts +1 -1
  911. package/repository/software/device-tab/installed-software.component.d.ts.map +1 -1
  912. package/repository/software/device-tab/software-device-tab.component.d.ts +1 -1
  913. package/repository/software/device-tab/software-device-tab.component.d.ts.map +1 -1
  914. package/repository/software/device-tab/software-repository-device-tab.module.d.ts +7 -11
  915. package/repository/software/device-tab/software-repository-device-tab.module.d.ts.map +1 -1
  916. package/repository/software/list/add-software-modal.component.d.ts +1 -1
  917. package/repository/software/list/add-software-modal.component.d.ts.map +1 -1
  918. package/repository/software/list/software-details.component.d.ts +1 -1
  919. package/repository/software/list/software-details.component.d.ts.map +1 -1
  920. package/repository/software/list/software-list.component.d.ts +1 -1
  921. package/repository/software/list/software-list.component.d.ts.map +1 -1
  922. package/repository/software/list/software-repository-list.module.d.ts +5 -11
  923. package/repository/software/list/software-repository-list.module.d.ts.map +1 -1
  924. package/search/search-action.component.d.ts +1 -1
  925. package/search/search-action.component.d.ts.map +1 -1
  926. package/search/search-custom-filters.component.d.ts +1 -1
  927. package/search/search-custom-filters.component.d.ts.map +1 -1
  928. package/search/search-grid.component.d.ts +1 -1
  929. package/search/search-grid.component.d.ts.map +1 -1
  930. package/search/search-results.component.d.ts +1 -1
  931. package/search/search-results.component.d.ts.map +1 -1
  932. package/search/search.module.d.ts +8 -8
  933. package/search/search.module.d.ts.map +1 -1
  934. package/services/services-device-tab/columns/last-updated-date.cell-renderer.component.d.ts +1 -1
  935. package/services/services-device-tab/columns/last-updated-date.cell-renderer.component.d.ts.map +1 -1
  936. package/services/services-device-tab/columns/name.cell-renderer.component.d.ts +1 -1
  937. package/services/services-device-tab/columns/name.cell-renderer.component.d.ts.map +1 -1
  938. package/services/services-device-tab/columns/status.cell-renderer.component.d.ts +1 -1
  939. package/services/services-device-tab/columns/status.cell-renderer.component.d.ts.map +1 -1
  940. package/services/services-device-tab/services-device-tab.component.d.ts +1 -1
  941. package/services/services-device-tab/services-device-tab.component.d.ts.map +1 -1
  942. package/services/services-device-tab/services-device-tab.module.d.ts +1 -4
  943. package/services/services-device-tab/services-device-tab.module.d.ts.map +1 -1
  944. package/sigfox-device-registration/sigfox-device-registration-button.component.d.ts +1 -1
  945. package/sigfox-device-registration/sigfox-device-registration-button.component.d.ts.map +1 -1
  946. package/sigfox-device-registration/sigfox-device-registration.component.d.ts +1 -1
  947. package/sigfox-device-registration/sigfox-device-registration.component.d.ts.map +1 -1
  948. package/sigfox-device-registration/sigfox-device-registration.module.d.ts +4 -4
  949. package/sigfox-device-registration/sigfox-device-registration.module.d.ts.map +1 -1
  950. package/sub-assets/add-group/add-group.component.d.ts +1 -1
  951. package/sub-assets/add-group/add-group.component.d.ts.map +1 -1
  952. package/sub-assets/add-group/add-group.module.d.ts +7 -7
  953. package/sub-assets/asset-properties-item.component.d.ts +1 -1
  954. package/sub-assets/asset-properties-item.component.d.ts.map +1 -1
  955. package/sub-assets/asset-properties.component.d.ts +1 -1
  956. package/sub-assets/asset-properties.component.d.ts.map +1 -1
  957. package/sub-assets/assign-devices/assign-child-devices.component.d.ts +2 -3
  958. package/sub-assets/assign-devices/assign-child-devices.component.d.ts.map +1 -1
  959. package/sub-assets/assign-devices/assign-devices.component.d.ts +1 -1
  960. package/sub-assets/assign-devices/assign-devices.component.d.ts.map +1 -1
  961. package/sub-assets/delete-assets-modal/delete-assets-modal.component.d.ts +1 -1
  962. package/sub-assets/delete-assets-modal/delete-assets-modal.component.d.ts.map +1 -1
  963. package/sub-assets/group-info.component.d.ts +1 -1
  964. package/sub-assets/group-info.component.d.ts.map +1 -1
  965. package/sub-assets/groups.component.d.ts +1 -1
  966. package/sub-assets/groups.component.d.ts.map +1 -1
  967. package/sub-assets/location/asset-location.component.d.ts +1 -1
  968. package/sub-assets/location/asset-location.component.d.ts.map +1 -1
  969. package/sub-assets/sub-assets-grid.component.d.ts +1 -1
  970. package/sub-assets/sub-assets-grid.component.d.ts.map +1 -1
  971. package/sub-assets/sub-assets-grids.module.d.ts +9 -9
  972. package/sub-assets/sub-assets-grids.module.d.ts.map +1 -1
  973. package/sub-assets/sub-assets.component.d.ts +1 -1
  974. package/sub-assets/sub-assets.component.d.ts.map +1 -1
  975. package/sub-assets/sub-assets.module.d.ts +18 -18
  976. package/sub-assets/sub-assets.module.d.ts.map +1 -1
  977. package/sub-assets/unassign-assets-modal/unassign-modal.component.d.ts +1 -1
  978. package/sub-assets/unassign-assets-modal/unassign-modal.component.d.ts.map +1 -1
  979. package/tenants/tenant-form/tenant-form.component.d.ts +1 -1
  980. package/tenants/tenant-form/tenant-form.component.d.ts.map +1 -1
  981. package/tenants/tenant-list/creation-time.filtering-form-renderer.component.d.ts +2 -3
  982. package/tenants/tenant-list/creation-time.filtering-form-renderer.component.d.ts.map +1 -1
  983. package/tenants/tenant-list/status.filtering-form-renderer.component.d.ts +1 -1
  984. package/tenants/tenant-list/status.filtering-form-renderer.component.d.ts.map +1 -1
  985. package/tenants/tenant-list/tenant-list.component.d.ts +1 -1
  986. package/tenants/tenant-list/tenant-list.component.d.ts.map +1 -1
  987. package/tenants/tenants.module.d.ts +9 -9
  988. package/tenants/tenants.module.d.ts.map +1 -1
  989. package/trusted-certificates/crl/crl-check-settings.component.d.ts +1 -1
  990. package/trusted-certificates/crl/crl-check-settings.component.d.ts.map +1 -1
  991. package/trusted-certificates/crl/crl-settings.component.d.ts +6 -2
  992. package/trusted-certificates/crl/crl-settings.component.d.ts.map +1 -1
  993. package/trusted-certificates/crl/crl-settings.module.d.ts +8 -8
  994. package/trusted-certificates/crl/crl-settings.module.d.ts.map +1 -1
  995. package/trusted-certificates/factories/tabs.factory.d.ts +3 -2
  996. package/trusted-certificates/factories/tabs.factory.d.ts.map +1 -1
  997. package/trusted-certificates/factories/trusted-certificates-navigation.factory.d.ts +2 -0
  998. package/trusted-certificates/factories/trusted-certificates-navigation.factory.d.ts.map +1 -1
  999. package/trusted-certificates/list/add-trusted-certificate.component.d.ts +4 -3
  1000. package/trusted-certificates/list/add-trusted-certificate.component.d.ts.map +1 -1
  1001. package/trusted-certificates/list/trusted-certificate-list.component.d.ts +16 -3
  1002. package/trusted-certificates/list/trusted-certificate-list.component.d.ts.map +1 -1
  1003. package/trusted-certificates/list/trusted-certificate-list.module.d.ts +10 -10
  1004. package/trusted-certificates/list/trusted-certificate-list.module.d.ts.map +1 -1
  1005. package/trusted-certificates/list/trusted-certificate.model.d.ts +2 -0
  1006. package/trusted-certificates/list/trusted-certificate.model.d.ts.map +1 -1
  1007. package/trusted-certificates/pattern-messages.data.d.ts +6 -0
  1008. package/trusted-certificates/pattern-messages.data.d.ts.map +1 -1
  1009. package/trusted-certificates/trusted-certificates.guard.d.ts +11 -0
  1010. package/trusted-certificates/trusted-certificates.guard.d.ts.map +1 -0
  1011. package/upgrade/dashboard/dashboard-upgrade.module.d.ts +6 -6
  1012. package/upgrade/dashboard/dashboard-upgrade.module.d.ts.map +1 -1
  1013. package/upgrade/dashboard/device-selector.component.d.ts +1 -1
  1014. package/upgrade/dashboard/device-selector.component.d.ts.map +1 -1
  1015. package/upgrade/dashboard/widget.component.d.ts +1 -1
  1016. package/upgrade/dashboard/widget.component.d.ts.map +1 -1
  1017. package/upgrade/index.d.ts +0 -1
  1018. package/upgrade/index.d.ts.map +1 -1
  1019. package/upgrade/upgrade.module.d.ts.map +1 -1
  1020. package/upgrade/upgraded-services/index.d.ts +1 -0
  1021. package/upgrade/upgraded-services/index.d.ts.map +1 -1
  1022. package/upgrade/upgraded-services/smart-rules.service.d.ts.map +1 -0
  1023. package/upgrade/upgraded-services/upgraded-services.module.d.ts.map +1 -1
  1024. package/user-roles/inventory-role-selector/inventory-role-selector.component.d.ts +2 -1
  1025. package/user-roles/inventory-role-selector/inventory-role-selector.component.d.ts.map +1 -1
  1026. package/user-roles/roles-asset-tree/roles-asset-tree.component.d.ts +2 -1
  1027. package/user-roles/roles-asset-tree/roles-asset-tree.component.d.ts.map +1 -1
  1028. package/user-roles/user-roles.module.d.ts +4 -4
  1029. package/user-roles/user-roles.module.d.ts.map +1 -1
  1030. package/widgets/implementations/alarms/alarm-list-widget-config/alarm-list-widget-config.component.d.ts +1 -1
  1031. package/widgets/implementations/alarms/alarm-list-widget-config/alarm-list-widget-config.component.d.ts.map +1 -1
  1032. package/widgets/implementations/alarms/alarm-list-widget-view/alarm-list-widget.component.d.ts +1 -1
  1033. package/widgets/implementations/alarms/alarm-list-widget-view/alarm-list-widget.component.d.ts.map +1 -1
  1034. package/widgets/implementations/alarms/alarm-widget-alarms-reload.component.d.ts +1 -1
  1035. package/widgets/implementations/alarms/alarm-widget-alarms-reload.component.d.ts.map +1 -1
  1036. package/widgets/implementations/alarms/alarms-widget.module.d.ts +13 -13
  1037. package/widgets/implementations/alarms/alarms-widget.module.d.ts.map +1 -1
  1038. package/widgets/implementations/alarms/severity-icon.pipe.d.ts +1 -1
  1039. package/widgets/implementations/alarms/severity-icon.pipe.d.ts.map +1 -1
  1040. package/widgets/implementations/alarms/sorting-description-popover-message.pipe.d.ts +1 -1
  1041. package/widgets/implementations/alarms/sorting-description-popover-message.pipe.d.ts.map +1 -1
  1042. package/widgets/implementations/device-management-welcome/device-management-welcome-widget.module.d.ts +4 -4
  1043. package/widgets/implementations/device-management-welcome/device-management-welcome-widget.module.d.ts.map +1 -1
  1044. package/widgets/implementations/device-management-welcome/welcome.component.d.ts +1 -1
  1045. package/widgets/implementations/device-management-welcome/welcome.component.d.ts.map +1 -1
  1046. package/upgrade/smart-rules.service.d.ts.map +0 -1
  1047. /package/upgrade/{smart-rules.service.d.ts → upgraded-services/smart-rules.service.d.ts} +0 -0
@@ -2,8 +2,8 @@ import * as i0 from '@angular/core';
2
2
  import { Injectable, InjectionToken, EventEmitter, ViewChild, Input, Output, Optional, Inject, Component, NgModule } from '@angular/core';
3
3
  import * as i3 from '@c8y/client';
4
4
  import { QueriesUtil } from '@c8y/client';
5
- import * as i5 from '@c8y/ngx-components';
6
- import { getBasicInputArrayFormFieldConfig, gettext, SearchFilters, BuiltInActionType, FilteringActionType, DataGridComponent, UserPreferencesConfigurationStrategy, DATA_GRID_CONFIGURATION_STRATEGY, DATA_GRID_CONFIGURATION_CONTEXT_PROVIDER, Status, CoreModule, CoreSearchModule, hookRoute, hookSearch } from '@c8y/ngx-components';
5
+ import * as i2$2 from '@c8y/ngx-components';
6
+ import { getBasicInputArrayFormFieldConfig, gettext, SearchFilters, BuiltInActionType, FilteringActionType, DataGridComponent, ColumnDirective, EmptyStateComponent, C8yTranslatePipe, UserPreferencesConfigurationStrategy, DATA_GRID_CONFIGURATION_STRATEGY, DATA_GRID_CONFIGURATION_CONTEXT_PROVIDER, Status, TitleComponent, C8yTranslateDirective, SearchInputComponent, CoreModule, CoreSearchModule, hookRoute, hookSearch } from '@c8y/ngx-components';
7
7
  import * as i2 from '@c8y/ngx-components/assets-navigator';
8
8
  import * as i1 from '@c8y/ngx-components/device-grid';
9
9
  import { NameDeviceGridColumn, ModelDeviceGridColumn, SerialNumberDeviceGridColumn, RegistrationDateDeviceGridColumn, SystemIdDeviceGridColumn, ImeiDeviceGridColumn, AlarmsDeviceGridColumn, DeviceGridModule } from '@c8y/ngx-components/device-grid';
@@ -14,7 +14,7 @@ import * as i4 from '@c8y/ngx-components/sub-assets';
14
14
  import { DeleteAssetsModalComponent } from '@c8y/ngx-components/sub-assets';
15
15
  import * as i2$1 from 'ngx-bootstrap/modal';
16
16
  import { AssetTypeGridColumn, AssetTypeCellRendererComponent } from '@c8y/ngx-components/data-grid-columns/asset-type';
17
- import * as i3$1 from '@angular/common';
17
+ import { NgFor, NgIf } from '@angular/common';
18
18
 
19
19
  class AssetSearchService {
20
20
  constructor(deviceGridService, assetNodeService) {
@@ -451,7 +451,7 @@ class SearchGridComponent {
451
451
  }
452
452
  }
453
453
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SearchGridComponent, deps: [{ token: AssetSearchService }, { token: i2$1.BsModalService }, { token: i3.SmartGroupsService }, { token: i4.SubAssetsService }, { token: SEARCH_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
454
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: SearchGridComponent, isStandalone: false, selector: "c8y-search-grid", inputs: { parentGroup: ["parent-group", "parentGroup"], title: "title", loadingItemsLabel: "loadingItemsLabel", _columns: ["columns", "_columns"], _pagination: ["pagination", "_pagination"], _actionControls: ["actionControls", "_actionControls"], selectable: "selectable", _bulkActionControls: ["bulkActionControls", "_bulkActionControls"], searchText: "searchText", filteringName: "filteringName", columnsConfigKey: "columnsConfigKey" }, outputs: { onColumnsChange: "onColumnsChange" }, providers: [
454
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: SearchGridComponent, isStandalone: true, selector: "c8y-search-grid", inputs: { parentGroup: ["parent-group", "parentGroup"], title: "title", loadingItemsLabel: "loadingItemsLabel", _columns: ["columns", "_columns"], _pagination: ["pagination", "_pagination"], _actionControls: ["actionControls", "_actionControls"], selectable: "selectable", _bulkActionControls: ["bulkActionControls", "_bulkActionControls"], searchText: "searchText", filteringName: "filteringName", columnsConfigKey: "columnsConfigKey" }, outputs: { onColumnsChange: "onColumnsChange" }, providers: [
455
455
  {
456
456
  provide: DATA_GRID_CONFIGURATION_STRATEGY,
457
457
  useClass: UserPreferencesConfigurationStrategy
@@ -460,7 +460,7 @@ class SearchGridComponent {
460
460
  provide: DATA_GRID_CONFIGURATION_CONTEXT_PROVIDER,
461
461
  useExisting: SearchGridComponent
462
462
  }
463
- ], viewQueries: [{ propertyName: "dataGrid", first: true, predicate: DataGridComponent, descendants: true, static: true }], ngImport: i0, template: "<div class=\"card--grid--fullpage border-top border-bottom\">\n <c8y-data-grid\n [title]=\"'Search results' | translate\"\n [loadingItemsLabel]=\"loadingItemsLabel\"\n [columns]=\"columns\"\n [pagination]=\"pagination\"\n [actionControls]=\"actionControls\"\n [selectable]=\"selectable\"\n [bulkActionControls]=\"bulkActionControls\"\n [serverSideDataCallback]=\"serverSideDataCallback\"\n [infiniteScroll]=\"'auto'\"\n [showSearch]=\"true\"\n [searchText]=\"searchText\"\n [refresh]=\"refresh\"\n (onColumnFilterReset)=\"onColumnFilterReset($event)\"\n >\n <ng-container *ngFor=\"let column of columns; trackBy: trackByName\">\n <c8y-column [name]=\"column.name\"></c8y-column>\n </ng-container>\n\n <c8y-ui-empty-state\n [icon]=\"'search'\"\n [title]=\"'No results to display.' | translate\"\n [subtitle]=\"'Refine your search terms or check your spelling.' | translate\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n </c8y-data-grid>\n</div>", dependencies: [{ kind: "component", type: i5.EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "directive", type: i3$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.ColumnDirective, selector: "c8y-column", inputs: ["name"] }, { kind: "component", type: i5.DataGridComponent, selector: "c8y-data-grid", inputs: ["title", "loadMoreItemsLabel", "loadingItemsLabel", "showSearch", "refresh", "columns", "rows", "pagination", "childNodePagination", "infiniteScroll", "serverSideDataCallback", "selectable", "singleSelection", "selectionPrimaryKey", "displayOptions", "actionControls", "bulkActionControls", "headerActionControls", "searchText", "configureColumnsEnabled", "showCounterWarning", "activeClassName", "expandableRows", "treeGrid", "hideReload", "childNodesProperty", "parentNodeLabelProperty"], outputs: ["rowMouseOver", "rowMouseLeave", "rowClick", "onConfigChange", "onBeforeFilter", "onBeforeSearch", "onFilter", "itemsSelect", "onReload", "onAddCustomColumn", "onRemoveCustomColumn", "onColumnFilterReset", "onSort", "onPageSizeChange", "onColumnReordered", "onColumnVisibilityChange"] }, { kind: "pipe", type: i5.C8yTranslatePipe, name: "translate" }] }); }
463
+ ], viewQueries: [{ propertyName: "dataGrid", first: true, predicate: DataGridComponent, descendants: true, static: true }], ngImport: i0, template: "<div class=\"card--grid--fullpage border-top border-bottom\">\n <c8y-data-grid\n [title]=\"'Search results' | translate\"\n [loadingItemsLabel]=\"loadingItemsLabel\"\n [columns]=\"columns\"\n [pagination]=\"pagination\"\n [actionControls]=\"actionControls\"\n [selectable]=\"selectable\"\n [bulkActionControls]=\"bulkActionControls\"\n [serverSideDataCallback]=\"serverSideDataCallback\"\n [infiniteScroll]=\"'auto'\"\n [showSearch]=\"true\"\n [searchText]=\"searchText\"\n [refresh]=\"refresh\"\n (onColumnFilterReset)=\"onColumnFilterReset($event)\"\n >\n <ng-container *ngFor=\"let column of columns; trackBy: trackByName\">\n <c8y-column [name]=\"column.name\"></c8y-column>\n </ng-container>\n\n <c8y-ui-empty-state\n [icon]=\"'search'\"\n [title]=\"'No results to display.' | translate\"\n [subtitle]=\"'Refine your search terms or check your spelling.' | translate\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n </c8y-data-grid>\n</div>", dependencies: [{ kind: "component", type: DataGridComponent, selector: "c8y-data-grid", inputs: ["title", "loadMoreItemsLabel", "loadingItemsLabel", "showSearch", "refresh", "columns", "rows", "pagination", "childNodePagination", "infiniteScroll", "serverSideDataCallback", "selectable", "singleSelection", "selectionPrimaryKey", "displayOptions", "actionControls", "bulkActionControls", "headerActionControls", "searchText", "configureColumnsEnabled", "showCounterWarning", "activeClassName", "expandableRows", "treeGrid", "hideReload", "childNodesProperty", "parentNodeLabelProperty"], outputs: ["rowMouseOver", "rowMouseLeave", "rowClick", "onConfigChange", "onBeforeFilter", "onBeforeSearch", "onFilter", "itemsSelect", "onReload", "onAddCustomColumn", "onRemoveCustomColumn", "onColumnFilterReset", "onSort", "onPageSizeChange", "onColumnReordered", "onColumnVisibilityChange"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: ColumnDirective, selector: "c8y-column", inputs: ["name"] }, { kind: "component", type: EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }] }); }
464
464
  }
465
465
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SearchGridComponent, decorators: [{
466
466
  type: Component,
@@ -473,7 +473,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
473
473
  provide: DATA_GRID_CONFIGURATION_CONTEXT_PROVIDER,
474
474
  useExisting: SearchGridComponent
475
475
  }
476
- ], standalone: false, template: "<div class=\"card--grid--fullpage border-top border-bottom\">\n <c8y-data-grid\n [title]=\"'Search results' | translate\"\n [loadingItemsLabel]=\"loadingItemsLabel\"\n [columns]=\"columns\"\n [pagination]=\"pagination\"\n [actionControls]=\"actionControls\"\n [selectable]=\"selectable\"\n [bulkActionControls]=\"bulkActionControls\"\n [serverSideDataCallback]=\"serverSideDataCallback\"\n [infiniteScroll]=\"'auto'\"\n [showSearch]=\"true\"\n [searchText]=\"searchText\"\n [refresh]=\"refresh\"\n (onColumnFilterReset)=\"onColumnFilterReset($event)\"\n >\n <ng-container *ngFor=\"let column of columns; trackBy: trackByName\">\n <c8y-column [name]=\"column.name\"></c8y-column>\n </ng-container>\n\n <c8y-ui-empty-state\n [icon]=\"'search'\"\n [title]=\"'No results to display.' | translate\"\n [subtitle]=\"'Refine your search terms or check your spelling.' | translate\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n </c8y-data-grid>\n</div>" }]
476
+ ], imports: [DataGridComponent, NgFor, ColumnDirective, EmptyStateComponent, C8yTranslatePipe], template: "<div class=\"card--grid--fullpage border-top border-bottom\">\n <c8y-data-grid\n [title]=\"'Search results' | translate\"\n [loadingItemsLabel]=\"loadingItemsLabel\"\n [columns]=\"columns\"\n [pagination]=\"pagination\"\n [actionControls]=\"actionControls\"\n [selectable]=\"selectable\"\n [bulkActionControls]=\"bulkActionControls\"\n [serverSideDataCallback]=\"serverSideDataCallback\"\n [infiniteScroll]=\"'auto'\"\n [showSearch]=\"true\"\n [searchText]=\"searchText\"\n [refresh]=\"refresh\"\n (onColumnFilterReset)=\"onColumnFilterReset($event)\"\n >\n <ng-container *ngFor=\"let column of columns; trackBy: trackByName\">\n <c8y-column [name]=\"column.name\"></c8y-column>\n </ng-container>\n\n <c8y-ui-empty-state\n [icon]=\"'search'\"\n [title]=\"'No results to display.' | translate\"\n [subtitle]=\"'Refine your search terms or check your spelling.' | translate\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n </c8y-data-grid>\n</div>" }]
477
477
  }], ctorParameters: () => [{ type: AssetSearchService }, { type: i2$1.BsModalService }, { type: i3.SmartGroupsService }, { type: i4.SubAssetsService }, { type: undefined, decorators: [{
478
478
  type: Optional
479
479
  }, {
@@ -583,13 +583,13 @@ class SearchResultsComponent {
583
583
  });
584
584
  return true;
585
585
  }
586
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SearchResultsComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: i5.AlertService }], target: i0.ɵɵFactoryTarget.Component }); }
587
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: SearchResultsComponent, isStandalone: false, selector: "c8y-search-results", viewQueries: [{ propertyName: "searchGrid", first: true, predicate: SearchGridComponent, descendants: true, static: true }], ngImport: i0, template: "<c8y-title>\n <span translate class=\"p-r-4\">Search</span>\n <small\n ngNonBindable\n translate\n *ngIf=\"searchText\"\n [translateParams]=\"{\n searchHint: searchText\n }\"\n >searching \"{{ searchHint }}\"</small\n >\n <small\n ngNonBindable\n translate\n *ngIf=\"filter\"\n [translateParams]=\"{\n filterHint: filter\n }\"\n >filtered by \"{{ filterHint }}\"</small\n >\n</c8y-title>\n\n<c8y-search-grid [searchText]=\"searchText\" [filteringName]=\"filteringName\"></c8y-search-grid>\n", dependencies: [{ kind: "directive", type: i5.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.TitleComponent, selector: "c8y-title", inputs: ["pageTitleUpdate"] }, { kind: "component", type: SearchGridComponent, selector: "c8y-search-grid", inputs: ["parent-group", "title", "loadingItemsLabel", "columns", "pagination", "actionControls", "selectable", "bulkActionControls", "searchText", "filteringName", "columnsConfigKey"], outputs: ["onColumnsChange"] }] }); }
586
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SearchResultsComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: i2$2.AlertService }], target: i0.ɵɵFactoryTarget.Component }); }
587
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: SearchResultsComponent, isStandalone: true, selector: "c8y-search-results", viewQueries: [{ propertyName: "searchGrid", first: true, predicate: SearchGridComponent, descendants: true, static: true }], ngImport: i0, template: "<c8y-title>\n <span translate class=\"p-r-4\">Search</span>\n <small\n ngNonBindable\n translate\n *ngIf=\"searchText\"\n [translateParams]=\"{\n searchHint: searchText\n }\"\n >searching \"{{ searchHint }}\"</small\n >\n <small\n ngNonBindable\n translate\n *ngIf=\"filter\"\n [translateParams]=\"{\n filterHint: filter\n }\"\n >filtered by \"{{ filterHint }}\"</small\n >\n</c8y-title>\n\n<c8y-search-grid [searchText]=\"searchText\" [filteringName]=\"filteringName\"></c8y-search-grid>\n", dependencies: [{ kind: "component", type: TitleComponent, selector: "c8y-title", inputs: ["pageTitleUpdate"] }, { kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SearchGridComponent, selector: "c8y-search-grid", inputs: ["parent-group", "title", "loadingItemsLabel", "columns", "pagination", "actionControls", "selectable", "bulkActionControls", "searchText", "filteringName", "columnsConfigKey"], outputs: ["onColumnsChange"] }] }); }
588
588
  }
589
589
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SearchResultsComponent, decorators: [{
590
590
  type: Component,
591
- args: [{ selector: 'c8y-search-results', standalone: false, template: "<c8y-title>\n <span translate class=\"p-r-4\">Search</span>\n <small\n ngNonBindable\n translate\n *ngIf=\"searchText\"\n [translateParams]=\"{\n searchHint: searchText\n }\"\n >searching \"{{ searchHint }}\"</small\n >\n <small\n ngNonBindable\n translate\n *ngIf=\"filter\"\n [translateParams]=\"{\n filterHint: filter\n }\"\n >filtered by \"{{ filterHint }}\"</small\n >\n</c8y-title>\n\n<c8y-search-grid [searchText]=\"searchText\" [filteringName]=\"filteringName\"></c8y-search-grid>\n" }]
592
- }], ctorParameters: () => [{ type: i1$1.ActivatedRoute }, { type: i5.AlertService }], propDecorators: { searchGrid: [{
591
+ args: [{ selector: 'c8y-search-results', imports: [TitleComponent, C8yTranslateDirective, NgIf, SearchGridComponent], template: "<c8y-title>\n <span translate class=\"p-r-4\">Search</span>\n <small\n ngNonBindable\n translate\n *ngIf=\"searchText\"\n [translateParams]=\"{\n searchHint: searchText\n }\"\n >searching \"{{ searchHint }}\"</small\n >\n <small\n ngNonBindable\n translate\n *ngIf=\"filter\"\n [translateParams]=\"{\n filterHint: filter\n }\"\n >filtered by \"{{ filterHint }}\"</small\n >\n</c8y-title>\n\n<c8y-search-grid [searchText]=\"searchText\" [filteringName]=\"filteringName\"></c8y-search-grid>\n" }]
592
+ }], ctorParameters: () => [{ type: i1$1.ActivatedRoute }, { type: i2$2.AlertService }], propDecorators: { searchGrid: [{
593
593
  type: ViewChild,
594
594
  args: [SearchGridComponent, { static: true }]
595
595
  }] } });
@@ -685,11 +685,11 @@ class SearchCustomFiltersComponent {
685
685
  return this.checkboxesState.find(checkbox => checkbox.name === checkboxName);
686
686
  }
687
687
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SearchCustomFiltersComponent, deps: [{ token: AssetSearchService }], target: i0.ɵɵFactoryTarget.Component }); }
688
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: SearchCustomFiltersComponent, isStandalone: false, selector: "c8y-search-custom-filters", outputs: { customDataQuery: "customDataQuery", refresh: "refresh" }, ngImport: i0, template: "<label class=\"c8y-checkbox\" *ngFor=\"let checkbox of checkboxesState\">\n <input\n type=\"checkbox\"\n [checked]=\"checkbox.value\"\n [indeterminate]=\"checkbox.indeterminate\"\n (click)=\"onCheckboxChange($event, checkbox)\"\n [attr.disabled]=\"checkbox.isDisabled ? true : null\"\n />\n <span></span>\n <span>{{ checkbox.label | translate }}</span>\n</label>\n", dependencies: [{ kind: "directive", type: i3$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i5.C8yTranslatePipe, name: "translate" }] }); }
688
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: SearchCustomFiltersComponent, isStandalone: true, selector: "c8y-search-custom-filters", outputs: { customDataQuery: "customDataQuery", refresh: "refresh" }, ngImport: i0, template: "<label class=\"c8y-checkbox\" *ngFor=\"let checkbox of checkboxesState\">\n <input\n type=\"checkbox\"\n [checked]=\"checkbox.value\"\n [indeterminate]=\"checkbox.indeterminate\"\n (click)=\"onCheckboxChange($event, checkbox)\"\n [attr.disabled]=\"checkbox.isDisabled ? true : null\"\n />\n <span></span>\n <span>{{ checkbox.label | translate }}</span>\n</label>\n", dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }] }); }
689
689
  }
690
690
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SearchCustomFiltersComponent, decorators: [{
691
691
  type: Component,
692
- args: [{ selector: 'c8y-search-custom-filters', standalone: false, template: "<label class=\"c8y-checkbox\" *ngFor=\"let checkbox of checkboxesState\">\n <input\n type=\"checkbox\"\n [checked]=\"checkbox.value\"\n [indeterminate]=\"checkbox.indeterminate\"\n (click)=\"onCheckboxChange($event, checkbox)\"\n [attr.disabled]=\"checkbox.isDisabled ? true : null\"\n />\n <span></span>\n <span>{{ checkbox.label | translate }}</span>\n</label>\n" }]
692
+ args: [{ selector: 'c8y-search-custom-filters', imports: [NgFor, C8yTranslatePipe], template: "<label class=\"c8y-checkbox\" *ngFor=\"let checkbox of checkboxesState\">\n <input\n type=\"checkbox\"\n [checked]=\"checkbox.value\"\n [indeterminate]=\"checkbox.indeterminate\"\n (click)=\"onCheckboxChange($event, checkbox)\"\n [attr.disabled]=\"checkbox.isDisabled ? true : null\"\n />\n <span></span>\n <span>{{ checkbox.label | translate }}</span>\n</label>\n" }]
693
693
  }], ctorParameters: () => [{ type: AssetSearchService }], propDecorators: { customDataQuery: [{
694
694
  type: Output
695
695
  }], refresh: [{
@@ -728,13 +728,13 @@ class SearchActionComponent {
728
728
  .navigateByUrl('/', { skipLocationChange: true })
729
729
  .then(() => this.router.navigate(commands, extras));
730
730
  }
731
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SearchActionComponent, deps: [{ token: i5.RouterService }, { token: i1$1.Router }, { token: SEARCH_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
732
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: SearchActionComponent, isStandalone: false, selector: "c8y-search-action", ngImport: i0, template: "<c8y-search-input\n (filter)=\"onFilter($event)\"\n (search)=\"onSearch($event)\"\n (onClick)=\"onClick($event)\"\n [enableCustomTemplatePlaceholder]=\"true\"\n [customPlaceholder]=\"customPlaceholder\"\n [customDataQuery]=\"customQuery\"\n [externalTerm]=\"typeaheadReload\"\n>\n <c8y-search-custom-filters\n *ngIf=\"showAdvancedFilters\"\n class=\"d-flex gap-16 p-l-4 p-l-24 p-r-24\"\n (refresh)=\"triggerDataLoad()\"\n (customDataQuery)=\"customQuery = $event\"\n ></c8y-search-custom-filters>\n</c8y-search-input>\n", dependencies: [{ kind: "directive", type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.SearchInputComponent, selector: "c8y-search-input", inputs: ["mode", "enableCustomTemplatePlaceholder", "customPlaceholder", "externalTerm", "customDataQuery", "container", "groupsOnly"], outputs: ["filter", "search", "reset", "onClick"] }, { kind: "component", type: SearchCustomFiltersComponent, selector: "c8y-search-custom-filters", outputs: ["customDataQuery", "refresh"] }] }); }
731
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SearchActionComponent, deps: [{ token: i2$2.RouterService }, { token: i1$1.Router }, { token: SEARCH_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
732
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: SearchActionComponent, isStandalone: true, selector: "c8y-search-action", ngImport: i0, template: "<c8y-search-input\n (filter)=\"onFilter($event)\"\n (search)=\"onSearch($event)\"\n (onClick)=\"onClick($event)\"\n [enableCustomTemplatePlaceholder]=\"true\"\n [customPlaceholder]=\"customPlaceholder\"\n [customDataQuery]=\"customQuery\"\n [externalTerm]=\"typeaheadReload\"\n>\n <c8y-search-custom-filters\n *ngIf=\"showAdvancedFilters\"\n class=\"d-flex gap-16 p-l-4 p-l-24 p-r-24\"\n (refresh)=\"triggerDataLoad()\"\n (customDataQuery)=\"customQuery = $event\"\n ></c8y-search-custom-filters>\n</c8y-search-input>\n", dependencies: [{ kind: "component", type: SearchInputComponent, selector: "c8y-search-input", inputs: ["mode", "enableCustomTemplatePlaceholder", "customPlaceholder", "externalTerm", "customDataQuery", "container", "groupsOnly"], outputs: ["filter", "search", "reset", "onClick"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SearchCustomFiltersComponent, selector: "c8y-search-custom-filters", outputs: ["customDataQuery", "refresh"] }] }); }
733
733
  }
734
734
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SearchActionComponent, decorators: [{
735
735
  type: Component,
736
- args: [{ selector: 'c8y-search-action', standalone: false, template: "<c8y-search-input\n (filter)=\"onFilter($event)\"\n (search)=\"onSearch($event)\"\n (onClick)=\"onClick($event)\"\n [enableCustomTemplatePlaceholder]=\"true\"\n [customPlaceholder]=\"customPlaceholder\"\n [customDataQuery]=\"customQuery\"\n [externalTerm]=\"typeaheadReload\"\n>\n <c8y-search-custom-filters\n *ngIf=\"showAdvancedFilters\"\n class=\"d-flex gap-16 p-l-4 p-l-24 p-r-24\"\n (refresh)=\"triggerDataLoad()\"\n (customDataQuery)=\"customQuery = $event\"\n ></c8y-search-custom-filters>\n</c8y-search-input>\n" }]
737
- }], ctorParameters: () => [{ type: i5.RouterService }, { type: i1$1.Router }, { type: undefined, decorators: [{
736
+ args: [{ selector: 'c8y-search-action', imports: [SearchInputComponent, NgIf, SearchCustomFiltersComponent], template: "<c8y-search-input\n (filter)=\"onFilter($event)\"\n (search)=\"onSearch($event)\"\n (onClick)=\"onClick($event)\"\n [enableCustomTemplatePlaceholder]=\"true\"\n [customPlaceholder]=\"customPlaceholder\"\n [customDataQuery]=\"customQuery\"\n [externalTerm]=\"typeaheadReload\"\n>\n <c8y-search-custom-filters\n *ngIf=\"showAdvancedFilters\"\n class=\"d-flex gap-16 p-l-4 p-l-24 p-r-24\"\n (refresh)=\"triggerDataLoad()\"\n (customDataQuery)=\"customQuery = $event\"\n ></c8y-search-custom-filters>\n</c8y-search-input>\n" }]
737
+ }], ctorParameters: () => [{ type: i2$2.RouterService }, { type: i1$1.Router }, { type: undefined, decorators: [{
738
738
  type: Optional
739
739
  }, {
740
740
  type: Inject,
@@ -754,10 +754,14 @@ class SearchModule {
754
754
  };
755
755
  }
756
756
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SearchModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
757
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.14", ngImport: i0, type: SearchModule, declarations: [SearchResultsComponent,
757
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.14", ngImport: i0, type: SearchModule, imports: [CoreModule,
758
+ DeviceGridModule,
759
+ CoreSearchModule,
760
+ AssetTypeCellRendererComponent,
761
+ SearchResultsComponent,
758
762
  SearchGridComponent,
759
763
  SearchActionComponent,
760
- SearchCustomFiltersComponent], imports: [CoreModule, DeviceGridModule, CoreSearchModule, AssetTypeCellRendererComponent], exports: [SearchResultsComponent, SearchGridComponent] }); }
764
+ SearchCustomFiltersComponent], exports: [SearchResultsComponent, SearchGridComponent] }); }
761
765
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SearchModule, providers: [
762
766
  AssetSearchService,
763
767
  hookRoute({
@@ -768,18 +772,27 @@ class SearchModule {
768
772
  template: SearchActionComponent,
769
773
  onSearch: undefined
770
774
  })
771
- ], imports: [CoreModule, DeviceGridModule, CoreSearchModule, AssetTypeCellRendererComponent] }); }
775
+ ], imports: [CoreModule,
776
+ DeviceGridModule,
777
+ CoreSearchModule,
778
+ AssetTypeCellRendererComponent,
779
+ SearchResultsComponent,
780
+ SearchGridComponent,
781
+ SearchActionComponent] }); }
772
782
  }
773
783
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SearchModule, decorators: [{
774
784
  type: NgModule,
775
785
  args: [{
776
- declarations: [
786
+ imports: [
787
+ CoreModule,
788
+ DeviceGridModule,
789
+ CoreSearchModule,
790
+ AssetTypeCellRendererComponent,
777
791
  SearchResultsComponent,
778
792
  SearchGridComponent,
779
793
  SearchActionComponent,
780
794
  SearchCustomFiltersComponent
781
795
  ],
782
- imports: [CoreModule, DeviceGridModule, CoreSearchModule, AssetTypeCellRendererComponent],
783
796
  exports: [SearchResultsComponent, SearchGridComponent],
784
797
  providers: [
785
798
  AssetSearchService,
@@ -1 +1 @@
1
- {"version":3,"file":"c8y-ngx-components-search.mjs","sources":["../../search/search.service.ts","../../search/columns/asset-type-search-grid-column.ts","../../search/search-config.model.ts","../../search/search-grid.component.ts","../../search/search-grid.component.html","../../search/search-results.component.ts","../../search/search-results.component.html","../../search/search-custom-filters.component.ts","../../search/search-custom-filters.component.html","../../search/search-action.component.ts","../../search/search-action.component.html","../../search/search.module.ts","../../search/c8y-ngx-components-search.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { QueriesUtil } from '@c8y/client';\nimport {\n ActionControl,\n BulkActionControl,\n Column,\n Pagination,\n SearchFilters\n} from '@c8y/ngx-components';\nimport { AssetNodeService } from '@c8y/ngx-components/assets-navigator';\nimport {\n AlarmsDeviceGridColumn,\n DeviceGridService,\n ImeiDeviceGridColumn,\n ModelDeviceGridColumn,\n NameDeviceGridColumn,\n RegistrationDateDeviceGridColumn,\n SerialNumberDeviceGridColumn,\n SystemIdDeviceGridColumn\n} from '@c8y/ngx-components/device-grid';\nimport { BehaviorSubject } from 'rxjs';\n@Injectable({\n providedIn: 'root'\n})\nexport class AssetSearchService {\n GRID_CONFIG_STORAGE_KEY = 'search-grid-config';\n DEFAULT_PAGE_SIZE = 50;\n getGlobalSearchData = this.getSearchData.bind(this);\n appliedFilters$: BehaviorSubject<{\n [SearchFilters.ALL_FILTERS]: boolean;\n [SearchFilters.ONLY_GROUPS_AND_ASSETS]: boolean;\n [SearchFilters.ONLY_DEVICES]: boolean;\n }> = new BehaviorSubject({\n allFilters: true,\n onlyDevices: true,\n onlyGroupsAndAssets: true\n });\n private queriesUtil: QueriesUtil;\n constructor(\n private deviceGridService: DeviceGridService,\n private assetNodeService: AssetNodeService\n ) {\n this.queriesUtil = new QueriesUtil();\n }\n\n /**\n * Resets the status of applied filters, used during the search.\n * Applies only to filters: 'All', 'Show only devices', 'Show only groups and assets'.\n */\n resetAppliedFilters() {\n this.appliedFilters$.next({\n allFilters: true,\n onlyDevices: true,\n onlyGroupsAndAssets: true\n });\n }\n\n buildCombinedRootQueryFilter(columns: Column[], pagination: Pagination) {\n const rootQuery = {\n __filter: {\n __and: { __not: { __has: `c8y_IsBinary` } }\n }\n };\n\n const { onlyDevices, onlyGroupsAndAssets } = this.appliedFilters$.value;\n const searchQuery = this.buildSearchQuery({ onlyDevices, onlyGroupsAndAssets });\n\n const userQuery = this.deviceGridService.getQueryObj(columns, pagination);\n const queryPart = this.queriesUtil.addOrderbys(rootQuery, userQuery.__orderby, 'append');\n const fullQuery = this.queriesUtil.addAndFilter(queryPart, userQuery.__filter);\n const queryWithSearch = this.queriesUtil.addAndFilter(fullQuery, searchQuery);\n return this.queriesUtil.buildQuery(queryWithSearch);\n }\n\n async getData(columns: Column[], pagination: Pagination, text?: string) {\n const query = this.buildCombinedRootQueryFilter(columns, pagination);\n return this.assetNodeService.getAllInventories({ ...pagination, query, text });\n }\n\n getDefaultColumns(): Column[] {\n const defaultColumns = [\n new NameDeviceGridColumn({ sortOrder: 'asc' }),\n new ModelDeviceGridColumn(),\n new SerialNumberDeviceGridColumn({ visible: false }),\n new RegistrationDateDeviceGridColumn({ visible: false }),\n new SystemIdDeviceGridColumn({ visible: false }),\n new ImeiDeviceGridColumn({ visible: false }),\n new AlarmsDeviceGridColumn()\n ];\n return defaultColumns;\n }\n\n getDefaultActionControls(): ActionControl[] {\n return [];\n }\n\n getDefaultBulkActionControls(): BulkActionControl[] {\n return [];\n }\n\n getDefaultPagination(): Pagination {\n return {\n pageSize: 25,\n currentPage: 1\n };\n }\n\n private buildSearchQuery(model) {\n const filter: any = {};\n const ors = [];\n if (model.types?.length) {\n ors.push({ type: { __in: model.types } });\n }\n if (model.onlyDevices) {\n ors.push({ __has: 'c8y_IsDevice' });\n }\n if (model.onlyGroupsAndAssets) {\n ors.push({ __has: 'c8y_IsDynamicGroup' });\n ors.push({ __has: 'c8y_IsDeviceGroup' });\n }\n if (ors.length) {\n filter.__or = ors;\n }\n return filter;\n }\n\n private async getSearchData(\n text: string,\n pagination: Pagination = { currentPage: 1, pageSize: this.DEFAULT_PAGE_SIZE }\n ) {\n const { onlyDevices, onlyGroupsAndAssets } = this.appliedFilters$.value;\n const query = this.buildSearchQuery({ onlyDevices, onlyGroupsAndAssets });\n const queryString = this.queriesUtil.buildQuery(query);\n\n return this.assetNodeService.getAllInventories({ ...pagination, query: queryString, text });\n }\n}\n","import {\n ColumnConfig,\n getBasicInputArrayFormFieldConfig,\n gettext,\n SearchFilters\n} from '@c8y/ngx-components';\nimport { FormlyFieldConfig } from '@ngx-formly/core';\nimport { AssetSearchService } from '../search.service';\nimport { AssetTypeGridColumn } from '@c8y/ngx-components/data-grid-columns/asset-type';\n\nexport class AssetTypeSearchGridColumn extends AssetTypeGridColumn {\n constructor(\n hideExtendedFilters: boolean,\n initialColumnConfig?: ColumnConfig,\n assetSearchService?: AssetSearchService,\n customPlaceholder?: string\n ) {\n super(initialColumnConfig);\n\n this.filterable = true;\n this.filteringConfig = this.getFilteringConfig(\n hideExtendedFilters,\n assetSearchService,\n customPlaceholder\n );\n }\n\n private getFilteringConfig(\n hideExtendedFilters: boolean,\n assetSearchService: AssetSearchService,\n customPlaceholder?: string\n ) {\n return {\n fields: [\n ...getBasicInputArrayFormFieldConfig({\n key: 'types',\n label: gettext('Show items with type'),\n addText: gettext('Add next`type`'),\n tooltip: gettext('Use * as a wildcard character'),\n placeholder: customPlaceholder ? customPlaceholder : gettext('building`e.g. house`'),\n optional: !hideExtendedFilters\n }),\n {\n key: SearchFilters.ALL_FILTERS,\n type: 'checkbox',\n hide: hideExtendedFilters,\n props: {\n indeterminate: false,\n disabled: false,\n label: gettext('All'),\n click: (field, clickEvent) => {\n const { checked } = clickEvent.target;\n\n // Handle checked state\n if (checked) {\n field.form.get(SearchFilters.ONLY_DEVICES).setValue(true);\n field.form.get(SearchFilters.ONLY_GROUPS_AND_ASSETS).setValue(true);\n\n // Emit new state\n assetSearchService.appliedFilters$.next({\n [SearchFilters.ALL_FILTERS]: checked,\n [SearchFilters.ONLY_DEVICES]: true,\n [SearchFilters.ONLY_GROUPS_AND_ASSETS]: true\n });\n }\n }\n },\n expressionProperties: {\n 'props.indeterminate': (model: any, formState: any, field: FormlyFieldConfig) => {\n // Do nothing\n if (field.form.get(SearchFilters.ALL_FILTERS).value === true) {\n return;\n }\n // Set indeterminate state\n if (\n !field.form.get(SearchFilters.ONLY_DEVICES).value ||\n !field.form.get(SearchFilters.ONLY_GROUPS_AND_ASSETS).value\n ) {\n field.form.get(SearchFilters.ALL_FILTERS).setValue(null);\n return true;\n }\n return false;\n },\n 'props.disabled': (model: any, formState: any, field: FormlyFieldConfig) => {\n if (field.form.get(SearchFilters.ALL_FILTERS).value === true) {\n return true;\n }\n return false;\n }\n },\n hooks: {\n onInit: field => {\n // Get initial state\n const { allFilters } = assetSearchService?.appliedFilters$?.value;\n field.formControl.setValue(allFilters);\n }\n }\n },\n {\n key: SearchFilters.ONLY_DEVICES,\n type: 'checkbox',\n hide: hideExtendedFilters,\n props: {\n indeterminate: false,\n label: gettext('Show only devices'),\n click: (field, clickEvent) => {\n const oldFilterValue = assetSearchService.appliedFilters$.value;\n const { checked } = clickEvent.target;\n\n // Handle checked state\n if (checked) {\n field.form.get(SearchFilters.ALL_FILTERS).setValue(true);\n // Emit new state\n assetSearchService.appliedFilters$.next({\n ...oldFilterValue,\n [SearchFilters.ALL_FILTERS]: true,\n [SearchFilters.ONLY_DEVICES]: checked\n });\n return;\n }\n // Handle unchecked state\n field.form.get(SearchFilters.ALL_FILTERS).setValue(null); // Trigger indeterminate state\n field.form.get(SearchFilters.ONLY_GROUPS_AND_ASSETS).setValue(true);\n\n // Emit new state\n assetSearchService.appliedFilters$.next({\n [SearchFilters.ALL_FILTERS]: null,\n [SearchFilters.ONLY_GROUPS_AND_ASSETS]: true,\n [SearchFilters.ONLY_DEVICES]: checked\n });\n }\n },\n hooks: {\n onInit: field => {\n // Get initial state\n const { onlyDevices } = assetSearchService?.appliedFilters$?.value;\n field.formControl.setValue(onlyDevices);\n }\n }\n },\n {\n key: SearchFilters.ONLY_GROUPS_AND_ASSETS,\n type: 'checkbox',\n hide: hideExtendedFilters,\n props: {\n indeterminate: false,\n label: gettext('Show only groups and assets'),\n click: (field, clickEvent) => {\n const oldFilterValue = assetSearchService.appliedFilters$.value;\n const { checked } = clickEvent.target;\n\n // Handle checked state\n if (checked) {\n field.form.get(SearchFilters.ALL_FILTERS).setValue(true);\n // Emit new state\n assetSearchService.appliedFilters$.next({\n ...oldFilterValue,\n [SearchFilters.ALL_FILTERS]: true,\n [SearchFilters.ONLY_GROUPS_AND_ASSETS]: checked\n });\n return;\n }\n // Handle unchecked state\n field.form.get(SearchFilters.ALL_FILTERS).setValue(null); // Trigger indeterminate state\n field.form.get(SearchFilters.ONLY_DEVICES).setValue(true);\n\n // Emit new state\n assetSearchService.appliedFilters$.next({\n [SearchFilters.ALL_FILTERS]: null,\n [SearchFilters.ONLY_GROUPS_AND_ASSETS]: checked,\n [SearchFilters.ONLY_DEVICES]: true\n });\n }\n },\n hooks: {\n onInit: field => {\n // Get initial state\n const { onlyGroupsAndAssets } = assetSearchService?.appliedFilters$?.value;\n field.formControl.setValue(onlyGroupsAndAssets);\n }\n }\n }\n ],\n /**\n * Adding devices and groups to a filter is already handled in {@link AssetSearchService#buildSearchQuery}\n * */\n getFilter(model: any): any {\n const filter: any = {};\n const ors = [];\n if (model.types?.length) {\n ors.push({ type: { __in: model.types } });\n }\n if (ors.length) {\n filter.__or = ors;\n }\n return filter;\n }\n };\n }\n}\n","import { InjectionToken } from '@angular/core';\nexport const SEARCH_CONFIG = new InjectionToken<SearchConfig>('SearchConfig');\n\n/**\n * Configuration object of the SearchModule.\n */\nexport interface SearchConfig {\n /**\n * Allows to enable advanced filters.\n * Default value: true.\n */\n showAdvancedFilters?: boolean;\n /**\n * Allows a custom placeholder.\n * Default value: ''\n */\n placeholder?: string;\n}\n","import { Component, EventEmitter, Inject, Input, Optional, Output, ViewChild } from '@angular/core';\nimport { IManagedObject, SmartGroupsService } from '@c8y/client';\nimport {\n ActionControl,\n BuiltInActionType,\n BulkActionControl,\n Column,\n DATA_GRID_CONFIGURATION_CONTEXT_PROVIDER,\n DATA_GRID_CONFIGURATION_STRATEGY,\n DataGridComponent,\n DataSourceModifier,\n FilteringActionType,\n FilteringModifier,\n GridConfigContextProvider,\n Pagination,\n Row,\n SearchFilters,\n ServerSideDataResult,\n UserPreferencesConfigurationStrategy,\n UserPreferencesGridConfigContext,\n gettext\n} from '@c8y/ngx-components';\nimport {\n AlarmsDeviceGridColumn,\n ImeiDeviceGridColumn,\n ModelDeviceGridColumn,\n NameDeviceGridColumn,\n RegistrationDateDeviceGridColumn,\n SerialNumberDeviceGridColumn,\n SystemIdDeviceGridColumn\n} from '@c8y/ngx-components/device-grid';\nimport {\n DeleteAssetsModalComponent,\n DeleteModalCheckboxes,\n SubAssetsService\n} from '@c8y/ngx-components/sub-assets';\nimport { BsModalService } from 'ngx-bootstrap/modal';\nimport { AssetTypeSearchGridColumn } from './columns/asset-type-search-grid-column';\nimport { SEARCH_CONFIG, SearchConfig } from './search-config.model';\nimport { AssetSearchService } from './search.service';\n\n@Component({\n selector: 'c8y-search-grid',\n templateUrl: './search-grid.component.html',\n providers: [\n {\n provide: DATA_GRID_CONFIGURATION_STRATEGY,\n useClass: UserPreferencesConfigurationStrategy\n },\n {\n provide: DATA_GRID_CONFIGURATION_CONTEXT_PROVIDER,\n useExisting: SearchGridComponent\n }\n ],\n standalone: false\n})\nexport class SearchGridComponent implements GridConfigContextProvider {\n @Input('parent-group') parentGroup: IManagedObject;\n @Input() title = '';\n @Input() loadingItemsLabel: string = gettext('Loading results…');\n @Input('columns') set _columns(value: Column[]) {\n if (value) {\n this.columns = value;\n } else {\n this.columns = this.assetSearchService.getDefaultColumns();\n }\n }\n @Input('pagination') set _pagination(value: Pagination) {\n if (value) {\n this.pagination = value;\n }\n }\n @Input('actionControls') set _actionControls(value: ActionControl[]) {\n if (value) {\n this.actionControls = value;\n } else {\n this.actionControls = this.assetSearchService.getDefaultActionControls();\n }\n }\n @Input() selectable = false;\n @Input('bulkActionControls') set _bulkActionControls(value: BulkActionControl[]) {\n if (value) {\n this.bulkActionControls = value;\n } else {\n this.bulkActionControls = this.assetSearchService.getDefaultBulkActionControls();\n }\n }\n @Output() onColumnsChange: EventEmitter<Column[]> = new EventEmitter<Column[]>();\n\n @Input()\n searchText = '';\n\n @Input()\n filteringName: string;\n\n /** The name of the key where columns configuration will be stored. */\n @Input() columnsConfigKey: string;\n\n columns: Column[];\n pagination: Pagination = this.assetSearchService.getDefaultPagination();\n actionControls: ActionControl[];\n bulkActionControls: BulkActionControl[] = this.assetSearchService.getDefaultBulkActionControls();\n showAdvancedFilters: boolean;\n customPlaceholder: string;\n serverSideDataCallback: any;\n refresh: EventEmitter<any> = new EventEmitter();\n\n @ViewChild(DataGridComponent, { static: true })\n dataGrid: DataGridComponent;\n\n private sizeCount = 0;\n\n constructor(\n public assetSearchService: AssetSearchService,\n private bsModalService: BsModalService,\n private smartGroupsService: SmartGroupsService,\n private subAssetsGridService: SubAssetsService,\n @Optional() @Inject(SEARCH_CONFIG) public moduleConfig: SearchConfig\n ) {\n this.showAdvancedFilters = moduleConfig?.showAdvancedFilters ?? false;\n this.customPlaceholder = moduleConfig?.placeholder ?? undefined;\n }\n\n getGridConfigContext(): UserPreferencesGridConfigContext {\n return { key: this.columnsConfigKey || this.assetSearchService.GRID_CONFIG_STORAGE_KEY };\n }\n\n ngOnInit(): void {\n if (!this.filteringName) {\n this.columns = [\n new AssetTypeSearchGridColumn(\n this.showAdvancedFilters,\n { sortOrder: 'desc' },\n this.assetSearchService,\n this.customPlaceholder\n ),\n ...this.assetSearchService.getDefaultColumns()\n ];\n } else {\n this.columns = [\n new AssetTypeSearchGridColumn(\n this.showAdvancedFilters,\n { sortOrder: 'desc' },\n this.assetSearchService\n ),\n new NameDeviceGridColumn({\n sortOrder: 'asc',\n filter: { externalFilterQuery: { names: [this.filteringName] } }\n }),\n new ModelDeviceGridColumn(),\n new SerialNumberDeviceGridColumn({ visible: false }),\n new RegistrationDateDeviceGridColumn({ visible: false }),\n new SystemIdDeviceGridColumn({ visible: false }),\n new ImeiDeviceGridColumn({ visible: false }),\n new AlarmsDeviceGridColumn()\n ];\n }\n this.serverSideDataCallback = this.onDataSourceModifier.bind(this);\n this.setActionControls();\n }\n\n ngAfterViewInit() {\n this.setInitialFilterForTypeColumn();\n }\n\n trackByName(_index, column: Column): string {\n return column.name;\n }\n\n async onDataSourceModifier(\n dataSourceModifier: DataSourceModifier\n ): Promise<ServerSideDataResult> {\n const response = await this.assetSearchService.getData(\n dataSourceModifier.columns,\n dataSourceModifier.pagination,\n dataSourceModifier.searchText\n );\n const { res, data, paging } = response;\n\n if (paging.currentPage === 1) {\n this.sizeCount = 0;\n }\n this.sizeCount += data.length;\n this.onColumnsChange.emit(dataSourceModifier.columns);\n\n return {\n res,\n data,\n paging,\n filteredSize: this.sizeCount,\n size: undefined\n };\n }\n\n setActionControls() {\n const actionControls: ActionControl[] = [];\n const deleteAction: ActionControl = {\n type: BuiltInActionType.Delete,\n callback: (asset: Row) => this.onDeleteAsset(asset as IManagedObject, this.parentGroup)\n };\n actionControls.push(deleteAction);\n if (!this.actionControls) {\n this.actionControls = actionControls;\n }\n }\n\n updateFiltering(\n columnNames: string[],\n action: {\n type: FilteringActionType;\n payload?: { filteringModifier: FilteringModifier };\n }\n ) {\n const { type } = action;\n if (type === FilteringActionType.ResetFilter) {\n this.dataGrid.clearFilters();\n } else {\n /**\n * TODO: find better solution. After new changes from DM team, we're running into race condition where\n * this.dataGrid.updateFiltering is executed before this.configurationStrategy.getConfig$() value is emitted.\n * Columns setter sets columns after this.dataGrid.updateFiltering executes its logic. Value of this.columns in\n * dataGrid.updateFiltering is just not yet set.\n */\n setTimeout(() => {\n this.dataGrid.updateFiltering(columnNames, action, false);\n }, 500);\n }\n }\n\n onColumnFilterReset(column: Column) {\n if (column.name === 'type') {\n this.assetSearchService.resetAppliedFilters();\n }\n }\n\n private onDeleteAsset(asset, parentRef) {\n const initialState = {\n showWithDeviceUserCheckbox: this.subAssetsGridService.shouldShowWithDeviceUserCheckbox(asset),\n asset,\n showWithCascadeCheckbox: !this.smartGroupsService.isSmartGroup(asset)\n };\n\n const modalRef = this.bsModalService.show(DeleteAssetsModalComponent, { initialState });\n\n modalRef.content.closeSubject.subscribe(async (result: DeleteModalCheckboxes) => {\n if (result) {\n await this.subAssetsGridService.deleteAsset(asset, parentRef, result);\n this.refresh.emit();\n }\n });\n }\n\n private setInitialFilterForTypeColumn() {\n const checkboxes = this.assetSearchService.appliedFilters$.value;\n // Set filter only when all checkboxes are not selected\n if (\n checkboxes[SearchFilters.ONLY_DEVICES] !== checkboxes[SearchFilters.ONLY_GROUPS_AND_ASSETS]\n ) {\n const externalFilterQuery = {\n [SearchFilters.ONLY_DEVICES]: checkboxes[SearchFilters.ONLY_DEVICES],\n [SearchFilters.ONLY_GROUPS_AND_ASSETS]: checkboxes[SearchFilters.ONLY_GROUPS_AND_ASSETS]\n };\n this.updateFiltering(['type'], {\n type: FilteringActionType.ApplyFilter,\n payload: {\n filteringModifier: {\n externalFilterQuery\n }\n }\n });\n }\n }\n}\n","<div class=\"card--grid--fullpage border-top border-bottom\">\n <c8y-data-grid\n [title]=\"'Search results' | translate\"\n [loadingItemsLabel]=\"loadingItemsLabel\"\n [columns]=\"columns\"\n [pagination]=\"pagination\"\n [actionControls]=\"actionControls\"\n [selectable]=\"selectable\"\n [bulkActionControls]=\"bulkActionControls\"\n [serverSideDataCallback]=\"serverSideDataCallback\"\n [infiniteScroll]=\"'auto'\"\n [showSearch]=\"true\"\n [searchText]=\"searchText\"\n [refresh]=\"refresh\"\n (onColumnFilterReset)=\"onColumnFilterReset($event)\"\n >\n <ng-container *ngFor=\"let column of columns; trackBy: trackByName\">\n <c8y-column [name]=\"column.name\"></c8y-column>\n </ng-container>\n\n <c8y-ui-empty-state\n [icon]=\"'search'\"\n [title]=\"'No results to display.' | translate\"\n [subtitle]=\"'Refine your search terms or check your spelling.' | translate\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n </c8y-data-grid>\n</div>","import { Component, OnDestroy, ViewChild } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { SearchGridComponent } from './search-grid.component';\nimport { FilteringActionType, AlertService, Status, gettext, Alert } from '@c8y/ngx-components';\n\n@Component({\n selector: 'c8y-search-results',\n templateUrl: './search-results.component.html',\n standalone: false\n})\nexport class SearchResultsComponent implements OnDestroy {\n filter = '';\n searchText = '';\n @ViewChild(SearchGridComponent, { static: true })\n searchGrid: SearchGridComponent;\n filteringName: string;\n\n private readonly WARNING_TIMEOUT_TIME = 3000;\n private unsubscribe$ = new Subject<void>();\n\n constructor(\n private route: ActivatedRoute,\n private alert: AlertService\n ) {}\n\n ngOnInit() {\n this.route.queryParams.pipe(takeUntil(this.unsubscribe$)).subscribe(params => {\n if (params.filter) {\n this.filteringName = params.filter;\n }\n });\n }\n\n ngAfterViewInit(): void {\n this.route.queryParams\n .pipe(takeUntil(this.unsubscribe$))\n .subscribe(({ filter, search }) => this.onQueryParamsChange(filter, search));\n }\n\n resetSearch() {\n if (this.searchGrid.dataGrid.searchText) {\n this.alert.add({\n text: gettext('Search reset. Full text search does not support filtering.'),\n type: Status.WARNING,\n timeout: this.WARNING_TIMEOUT_TIME\n } as Alert);\n this.searchText = '';\n this.searchGrid.dataGrid.searchText = '';\n }\n }\n\n resetFilter() {\n this.filter = '';\n if (this.searchGrid.dataGrid.filteringApplied) {\n this.alert.add({\n text: gettext('Filter reset. Full text search does not support filtering.'),\n type: Status.WARNING,\n timeout: this.WARNING_TIMEOUT_TIME\n } as Alert);\n this.searchGrid.dataGrid.clearFilters(false);\n }\n }\n\n ngOnDestroy() {\n this.unsubscribe$.next();\n this.unsubscribe$.complete();\n }\n\n private onQueryParamsChange(filter: string, searchTerm: string) {\n if (!this.shouldFilter(filter) && searchTerm) {\n this.searchText = searchTerm || '';\n }\n }\n\n private shouldFilter(filter) {\n if (!filter) {\n return false;\n }\n this.resetSearch();\n this.filter = filter || '';\n this.searchGrid.updateFiltering(['name'], {\n type: FilteringActionType.ApplyFilter,\n payload: {\n filteringModifier: {\n externalFilterQuery: {\n names: [this.filter]\n }\n }\n }\n });\n return true;\n }\n}\n","<c8y-title>\n <span translate class=\"p-r-4\">Search</span>\n <small\n ngNonBindable\n translate\n *ngIf=\"searchText\"\n [translateParams]=\"{\n searchHint: searchText\n }\"\n >searching \"{{ searchHint }}\"</small\n >\n <small\n ngNonBindable\n translate\n *ngIf=\"filter\"\n [translateParams]=\"{\n filterHint: filter\n }\"\n >filtered by \"{{ filterHint }}\"</small\n >\n</c8y-title>\n\n<c8y-search-grid [searchText]=\"searchText\" [filteringName]=\"filteringName\"></c8y-search-grid>\n","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\nimport { gettext, SearchFilters } from '@c8y/ngx-components';\nimport { AssetSearchService } from './search.service';\n\nexport type Checkbox = {\n label: string;\n name: string;\n value: boolean;\n indeterminate?: boolean;\n isDisabled?: boolean;\n};\n\n@Component({\n selector: 'c8y-search-custom-filters',\n templateUrl: 'search-custom-filters.component.html',\n standalone: false\n})\nexport class SearchCustomFiltersComponent implements OnInit {\n @Output() customDataQuery = new EventEmitter();\n @Output() refresh = new EventEmitter();\n\n checkboxesState: Array<Checkbox> = [\n {\n label: gettext('All'),\n name: SearchFilters.ALL_FILTERS,\n value: true,\n indeterminate: false,\n isDisabled: true\n },\n { label: gettext('Show only devices'), name: SearchFilters.ONLY_DEVICES, value: true },\n {\n label: gettext('Show only groups and assets'),\n name: SearchFilters.ONLY_GROUPS_AND_ASSETS,\n value: true\n }\n ];\n constructor(private assetSearchService: AssetSearchService) {}\n\n ngOnInit() {\n this.customDataQuery.next(this.assetSearchService.getGlobalSearchData);\n }\n\n onCheckboxChange(event: Event, checkbox: Checkbox): void {\n const { checked } = event.target as HTMLInputElement;\n\n if (checked == undefined) {\n return;\n }\n\n switch (checkbox.name) {\n case SearchFilters.ALL_FILTERS:\n this.onSelectAll(checkbox, checked);\n break;\n case SearchFilters.ONLY_DEVICES:\n this.onAllDevices(checkbox, checked);\n break;\n case SearchFilters.ONLY_GROUPS_AND_ASSETS:\n this.onGroupsAndAssets(checkbox, checked);\n break;\n }\n\n // Handle allFilters checkbox when ONLY_GROUPS_AND_ASSETS and ONLY_DEVICES are selected\n if (\n this.getCheckbox(SearchFilters.ONLY_DEVICES).value &&\n this.getCheckbox(SearchFilters.ONLY_GROUPS_AND_ASSETS).value\n ) {\n Object.assign(this.getCheckbox(SearchFilters.ALL_FILTERS), {\n indeterminate: false,\n isDisabled: true,\n value: true\n });\n }\n\n this.assetSearchService.appliedFilters$.next({\n [SearchFilters.ALL_FILTERS]: this.getCheckbox(SearchFilters.ALL_FILTERS).value,\n [SearchFilters.ONLY_DEVICES]: this.getCheckbox(SearchFilters.ONLY_DEVICES).value,\n [SearchFilters.ONLY_GROUPS_AND_ASSETS]: this.getCheckbox(SearchFilters.ONLY_GROUPS_AND_ASSETS)\n .value\n });\n this.refresh.next(null);\n }\n\n private saveCheckboxValue(checkbox, value) {\n checkbox.value = value;\n }\n\n private onSelectAll(currentCheckbox: Checkbox, checked: boolean) {\n // Block unchecked state\n if (checked) {\n this.saveCheckboxValue(currentCheckbox, checked);\n }\n this.getCheckbox(SearchFilters.ALL_FILTERS).isDisabled = true;\n this.getCheckbox(SearchFilters.ONLY_DEVICES).value = true;\n this.getCheckbox(SearchFilters.ONLY_GROUPS_AND_ASSETS).value = true;\n }\n\n private onAllDevices(currentCheckbox: Checkbox, checked: boolean) {\n this.saveCheckboxValue(currentCheckbox, checked);\n\n Object.assign(this.getCheckbox(SearchFilters.ALL_FILTERS), {\n indeterminate: true,\n isDisabled: false,\n value: null\n });\n\n this.getCheckbox(SearchFilters.ONLY_GROUPS_AND_ASSETS).value = true;\n }\n\n private onGroupsAndAssets(currentCheckbox: Checkbox, checked: boolean) {\n this.saveCheckboxValue(currentCheckbox, checked);\n\n Object.assign(this.getCheckbox(SearchFilters.ALL_FILTERS), {\n indeterminate: true,\n isDisabled: false,\n value: null\n });\n\n this.getCheckbox(SearchFilters.ONLY_DEVICES).value = true;\n }\n\n private getCheckbox(checkboxName: SearchFilters): Checkbox {\n return this.checkboxesState.find(checkbox => checkbox.name === checkboxName);\n }\n}\n","<label class=\"c8y-checkbox\" *ngFor=\"let checkbox of checkboxesState\">\n <input\n type=\"checkbox\"\n [checked]=\"checkbox.value\"\n [indeterminate]=\"checkbox.indeterminate\"\n (click)=\"onCheckboxChange($event, checkbox)\"\n [attr.disabled]=\"checkbox.isDisabled ? true : null\"\n />\n <span></span>\n <span>{{ checkbox.label | translate }}</span>\n</label>\n","import { Component, EventEmitter, Inject, Optional } from '@angular/core';\nimport { IManagedObject, IResultList } from '@c8y/client';\nimport { NavigationExtras, Router } from '@angular/router';\nimport { RouterService as C8yRouter } from '@c8y/ngx-components';\nimport { Observable, UnaryFunction } from 'rxjs';\nimport { SearchConfig, SEARCH_CONFIG } from './search-config.model';\n\n@Component({\n selector: 'c8y-search-action',\n templateUrl: './search-action.component.html',\n standalone: false\n})\nexport class SearchActionComponent {\n showAdvancedFilters: boolean;\n customPlaceholder: string;\n customQuery: UnaryFunction<string, Observable<IResultList<IManagedObject>>>;\n typeaheadReload = new EventEmitter();\n\n constructor(\n private c8yRouter: C8yRouter,\n private router: Router,\n @Optional() @Inject(SEARCH_CONFIG) public moduleConfig: SearchConfig\n ) {\n this.showAdvancedFilters = moduleConfig?.showAdvancedFilters ?? true;\n this.customPlaceholder = moduleConfig?.placeholder;\n }\n\n triggerDataLoad() {\n this.typeaheadReload.next(null);\n }\n\n onSearch(on: string) {\n this.navigate(['/assetsearch'], {\n queryParams: { search: on },\n replaceUrl: true\n });\n }\n\n onFilter(on: string) {\n this.navigate(['/assetsearch'], {\n queryParams: { filter: on },\n replaceUrl: true\n });\n }\n\n onClick(mo: IManagedObject) {\n this.router.navigateByUrl(this.c8yRouter.getHref(mo, '/'));\n }\n\n private navigate(commands: any[], extras?: NavigationExtras) {\n this.router\n .navigateByUrl('/', { skipLocationChange: true })\n .then(() => this.router.navigate(commands, extras));\n }\n}\n","<c8y-search-input\n (filter)=\"onFilter($event)\"\n (search)=\"onSearch($event)\"\n (onClick)=\"onClick($event)\"\n [enableCustomTemplatePlaceholder]=\"true\"\n [customPlaceholder]=\"customPlaceholder\"\n [customDataQuery]=\"customQuery\"\n [externalTerm]=\"typeaheadReload\"\n>\n <c8y-search-custom-filters\n *ngIf=\"showAdvancedFilters\"\n class=\"d-flex gap-16 p-l-4 p-l-24 p-r-24\"\n (refresh)=\"triggerDataLoad()\"\n (customDataQuery)=\"customQuery = $event\"\n ></c8y-search-custom-filters>\n</c8y-search-input>\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CoreModule, hookSearch, hookRoute, CoreSearchModule } from '@c8y/ngx-components';\nimport { DeviceGridModule } from '@c8y/ngx-components/device-grid';\nimport { SearchResultsComponent } from './search-results.component';\nimport { SearchGridComponent } from './search-grid.component';\nimport { SearchActionComponent } from './search-action.component';\nimport { AssetSearchService } from './search.service';\nimport { SearchCustomFiltersComponent } from './search-custom-filters.component';\nimport { SearchConfig, SEARCH_CONFIG } from './search-config.model';\nimport { AssetTypeCellRendererComponent } from '@c8y/ngx-components/data-grid-columns/asset-type';\n\n@NgModule({\n declarations: [\n SearchResultsComponent,\n SearchGridComponent,\n SearchActionComponent,\n SearchCustomFiltersComponent\n ],\n imports: [CoreModule, DeviceGridModule, CoreSearchModule, AssetTypeCellRendererComponent],\n exports: [SearchResultsComponent, SearchGridComponent],\n providers: [\n AssetSearchService,\n hookRoute({\n path: 'assetsearch',\n component: SearchResultsComponent\n }),\n hookSearch({\n template: SearchActionComponent,\n onSearch: undefined\n })\n ]\n})\nexport class SearchModule {\n static config(config: SearchConfig = {}): ModuleWithProviders<SearchModule> {\n return {\n ngModule: SearchModule,\n providers: [\n {\n provide: SEARCH_CONFIG,\n useValue: config\n }\n ]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i6","i1","i2","i3","i4.SearchGridComponent","i1.AssetSearchService","i4.SearchCustomFiltersComponent"],"mappings":"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"}
1
+ {"version":3,"file":"c8y-ngx-components-search.mjs","sources":["../../search/search.service.ts","../../search/columns/asset-type-search-grid-column.ts","../../search/search-config.model.ts","../../search/search-grid.component.ts","../../search/search-grid.component.html","../../search/search-results.component.ts","../../search/search-results.component.html","../../search/search-custom-filters.component.ts","../../search/search-custom-filters.component.html","../../search/search-action.component.ts","../../search/search-action.component.html","../../search/search.module.ts","../../search/c8y-ngx-components-search.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { QueriesUtil } from '@c8y/client';\nimport {\n ActionControl,\n BulkActionControl,\n Column,\n Pagination,\n SearchFilters\n} from '@c8y/ngx-components';\nimport { AssetNodeService } from '@c8y/ngx-components/assets-navigator';\nimport {\n AlarmsDeviceGridColumn,\n DeviceGridService,\n ImeiDeviceGridColumn,\n ModelDeviceGridColumn,\n NameDeviceGridColumn,\n RegistrationDateDeviceGridColumn,\n SerialNumberDeviceGridColumn,\n SystemIdDeviceGridColumn\n} from '@c8y/ngx-components/device-grid';\nimport { BehaviorSubject } from 'rxjs';\n@Injectable({\n providedIn: 'root'\n})\nexport class AssetSearchService {\n GRID_CONFIG_STORAGE_KEY = 'search-grid-config';\n DEFAULT_PAGE_SIZE = 50;\n getGlobalSearchData = this.getSearchData.bind(this);\n appliedFilters$: BehaviorSubject<{\n [SearchFilters.ALL_FILTERS]: boolean;\n [SearchFilters.ONLY_GROUPS_AND_ASSETS]: boolean;\n [SearchFilters.ONLY_DEVICES]: boolean;\n }> = new BehaviorSubject({\n allFilters: true,\n onlyDevices: true,\n onlyGroupsAndAssets: true\n });\n private queriesUtil: QueriesUtil;\n constructor(\n private deviceGridService: DeviceGridService,\n private assetNodeService: AssetNodeService\n ) {\n this.queriesUtil = new QueriesUtil();\n }\n\n /**\n * Resets the status of applied filters, used during the search.\n * Applies only to filters: 'All', 'Show only devices', 'Show only groups and assets'.\n */\n resetAppliedFilters() {\n this.appliedFilters$.next({\n allFilters: true,\n onlyDevices: true,\n onlyGroupsAndAssets: true\n });\n }\n\n buildCombinedRootQueryFilter(columns: Column[], pagination: Pagination) {\n const rootQuery = {\n __filter: {\n __and: { __not: { __has: `c8y_IsBinary` } }\n }\n };\n\n const { onlyDevices, onlyGroupsAndAssets } = this.appliedFilters$.value;\n const searchQuery = this.buildSearchQuery({ onlyDevices, onlyGroupsAndAssets });\n\n const userQuery = this.deviceGridService.getQueryObj(columns, pagination);\n const queryPart = this.queriesUtil.addOrderbys(rootQuery, userQuery.__orderby, 'append');\n const fullQuery = this.queriesUtil.addAndFilter(queryPart, userQuery.__filter);\n const queryWithSearch = this.queriesUtil.addAndFilter(fullQuery, searchQuery);\n return this.queriesUtil.buildQuery(queryWithSearch);\n }\n\n async getData(columns: Column[], pagination: Pagination, text?: string) {\n const query = this.buildCombinedRootQueryFilter(columns, pagination);\n return this.assetNodeService.getAllInventories({ ...pagination, query, text });\n }\n\n getDefaultColumns(): Column[] {\n const defaultColumns = [\n new NameDeviceGridColumn({ sortOrder: 'asc' }),\n new ModelDeviceGridColumn(),\n new SerialNumberDeviceGridColumn({ visible: false }),\n new RegistrationDateDeviceGridColumn({ visible: false }),\n new SystemIdDeviceGridColumn({ visible: false }),\n new ImeiDeviceGridColumn({ visible: false }),\n new AlarmsDeviceGridColumn()\n ];\n return defaultColumns;\n }\n\n getDefaultActionControls(): ActionControl[] {\n return [];\n }\n\n getDefaultBulkActionControls(): BulkActionControl[] {\n return [];\n }\n\n getDefaultPagination(): Pagination {\n return {\n pageSize: 25,\n currentPage: 1\n };\n }\n\n private buildSearchQuery(model) {\n const filter: any = {};\n const ors = [];\n if (model.types?.length) {\n ors.push({ type: { __in: model.types } });\n }\n if (model.onlyDevices) {\n ors.push({ __has: 'c8y_IsDevice' });\n }\n if (model.onlyGroupsAndAssets) {\n ors.push({ __has: 'c8y_IsDynamicGroup' });\n ors.push({ __has: 'c8y_IsDeviceGroup' });\n }\n if (ors.length) {\n filter.__or = ors;\n }\n return filter;\n }\n\n private async getSearchData(\n text: string,\n pagination: Pagination = { currentPage: 1, pageSize: this.DEFAULT_PAGE_SIZE }\n ) {\n const { onlyDevices, onlyGroupsAndAssets } = this.appliedFilters$.value;\n const query = this.buildSearchQuery({ onlyDevices, onlyGroupsAndAssets });\n const queryString = this.queriesUtil.buildQuery(query);\n\n return this.assetNodeService.getAllInventories({ ...pagination, query: queryString, text });\n }\n}\n","import {\n ColumnConfig,\n getBasicInputArrayFormFieldConfig,\n gettext,\n SearchFilters\n} from '@c8y/ngx-components';\nimport { FormlyFieldConfig } from '@ngx-formly/core';\nimport { AssetSearchService } from '../search.service';\nimport { AssetTypeGridColumn } from '@c8y/ngx-components/data-grid-columns/asset-type';\n\nexport class AssetTypeSearchGridColumn extends AssetTypeGridColumn {\n constructor(\n hideExtendedFilters: boolean,\n initialColumnConfig?: ColumnConfig,\n assetSearchService?: AssetSearchService,\n customPlaceholder?: string\n ) {\n super(initialColumnConfig);\n\n this.filterable = true;\n this.filteringConfig = this.getFilteringConfig(\n hideExtendedFilters,\n assetSearchService,\n customPlaceholder\n );\n }\n\n private getFilteringConfig(\n hideExtendedFilters: boolean,\n assetSearchService: AssetSearchService,\n customPlaceholder?: string\n ) {\n return {\n fields: [\n ...getBasicInputArrayFormFieldConfig({\n key: 'types',\n label: gettext('Show items with type'),\n addText: gettext('Add next`type`'),\n tooltip: gettext('Use * as a wildcard character'),\n placeholder: customPlaceholder ? customPlaceholder : gettext('building`e.g. house`'),\n optional: !hideExtendedFilters\n }),\n {\n key: SearchFilters.ALL_FILTERS,\n type: 'checkbox',\n hide: hideExtendedFilters,\n props: {\n indeterminate: false,\n disabled: false,\n label: gettext('All'),\n click: (field, clickEvent) => {\n const { checked } = clickEvent.target;\n\n // Handle checked state\n if (checked) {\n field.form.get(SearchFilters.ONLY_DEVICES).setValue(true);\n field.form.get(SearchFilters.ONLY_GROUPS_AND_ASSETS).setValue(true);\n\n // Emit new state\n assetSearchService.appliedFilters$.next({\n [SearchFilters.ALL_FILTERS]: checked,\n [SearchFilters.ONLY_DEVICES]: true,\n [SearchFilters.ONLY_GROUPS_AND_ASSETS]: true\n });\n }\n }\n },\n expressionProperties: {\n 'props.indeterminate': (model: any, formState: any, field: FormlyFieldConfig) => {\n // Do nothing\n if (field.form.get(SearchFilters.ALL_FILTERS).value === true) {\n return;\n }\n // Set indeterminate state\n if (\n !field.form.get(SearchFilters.ONLY_DEVICES).value ||\n !field.form.get(SearchFilters.ONLY_GROUPS_AND_ASSETS).value\n ) {\n field.form.get(SearchFilters.ALL_FILTERS).setValue(null);\n return true;\n }\n return false;\n },\n 'props.disabled': (model: any, formState: any, field: FormlyFieldConfig) => {\n if (field.form.get(SearchFilters.ALL_FILTERS).value === true) {\n return true;\n }\n return false;\n }\n },\n hooks: {\n onInit: field => {\n // Get initial state\n const { allFilters } = assetSearchService?.appliedFilters$?.value;\n field.formControl.setValue(allFilters);\n }\n }\n },\n {\n key: SearchFilters.ONLY_DEVICES,\n type: 'checkbox',\n hide: hideExtendedFilters,\n props: {\n indeterminate: false,\n label: gettext('Show only devices'),\n click: (field, clickEvent) => {\n const oldFilterValue = assetSearchService.appliedFilters$.value;\n const { checked } = clickEvent.target;\n\n // Handle checked state\n if (checked) {\n field.form.get(SearchFilters.ALL_FILTERS).setValue(true);\n // Emit new state\n assetSearchService.appliedFilters$.next({\n ...oldFilterValue,\n [SearchFilters.ALL_FILTERS]: true,\n [SearchFilters.ONLY_DEVICES]: checked\n });\n return;\n }\n // Handle unchecked state\n field.form.get(SearchFilters.ALL_FILTERS).setValue(null); // Trigger indeterminate state\n field.form.get(SearchFilters.ONLY_GROUPS_AND_ASSETS).setValue(true);\n\n // Emit new state\n assetSearchService.appliedFilters$.next({\n [SearchFilters.ALL_FILTERS]: null,\n [SearchFilters.ONLY_GROUPS_AND_ASSETS]: true,\n [SearchFilters.ONLY_DEVICES]: checked\n });\n }\n },\n hooks: {\n onInit: field => {\n // Get initial state\n const { onlyDevices } = assetSearchService?.appliedFilters$?.value;\n field.formControl.setValue(onlyDevices);\n }\n }\n },\n {\n key: SearchFilters.ONLY_GROUPS_AND_ASSETS,\n type: 'checkbox',\n hide: hideExtendedFilters,\n props: {\n indeterminate: false,\n label: gettext('Show only groups and assets'),\n click: (field, clickEvent) => {\n const oldFilterValue = assetSearchService.appliedFilters$.value;\n const { checked } = clickEvent.target;\n\n // Handle checked state\n if (checked) {\n field.form.get(SearchFilters.ALL_FILTERS).setValue(true);\n // Emit new state\n assetSearchService.appliedFilters$.next({\n ...oldFilterValue,\n [SearchFilters.ALL_FILTERS]: true,\n [SearchFilters.ONLY_GROUPS_AND_ASSETS]: checked\n });\n return;\n }\n // Handle unchecked state\n field.form.get(SearchFilters.ALL_FILTERS).setValue(null); // Trigger indeterminate state\n field.form.get(SearchFilters.ONLY_DEVICES).setValue(true);\n\n // Emit new state\n assetSearchService.appliedFilters$.next({\n [SearchFilters.ALL_FILTERS]: null,\n [SearchFilters.ONLY_GROUPS_AND_ASSETS]: checked,\n [SearchFilters.ONLY_DEVICES]: true\n });\n }\n },\n hooks: {\n onInit: field => {\n // Get initial state\n const { onlyGroupsAndAssets } = assetSearchService?.appliedFilters$?.value;\n field.formControl.setValue(onlyGroupsAndAssets);\n }\n }\n }\n ],\n /**\n * Adding devices and groups to a filter is already handled in {@link AssetSearchService#buildSearchQuery}\n * */\n getFilter(model: any): any {\n const filter: any = {};\n const ors = [];\n if (model.types?.length) {\n ors.push({ type: { __in: model.types } });\n }\n if (ors.length) {\n filter.__or = ors;\n }\n return filter;\n }\n };\n }\n}\n","import { InjectionToken } from '@angular/core';\nexport const SEARCH_CONFIG = new InjectionToken<SearchConfig>('SearchConfig');\n\n/**\n * Configuration object of the SearchModule.\n */\nexport interface SearchConfig {\n /**\n * Allows to enable advanced filters.\n * Default value: true.\n */\n showAdvancedFilters?: boolean;\n /**\n * Allows a custom placeholder.\n * Default value: ''\n */\n placeholder?: string;\n}\n","import { Component, EventEmitter, Inject, Input, Optional, Output, ViewChild } from '@angular/core';\nimport { IManagedObject, SmartGroupsService } from '@c8y/client';\nimport {\n ActionControl,\n BuiltInActionType,\n BulkActionControl,\n Column,\n DATA_GRID_CONFIGURATION_CONTEXT_PROVIDER,\n DATA_GRID_CONFIGURATION_STRATEGY,\n DataGridComponent,\n DataSourceModifier,\n FilteringActionType,\n FilteringModifier,\n GridConfigContextProvider,\n Pagination,\n Row,\n SearchFilters,\n ServerSideDataResult,\n UserPreferencesConfigurationStrategy,\n UserPreferencesGridConfigContext,\n gettext,\n ColumnDirective,\n EmptyStateComponent,\n C8yTranslatePipe\n} from '@c8y/ngx-components';\nimport {\n AlarmsDeviceGridColumn,\n ImeiDeviceGridColumn,\n ModelDeviceGridColumn,\n NameDeviceGridColumn,\n RegistrationDateDeviceGridColumn,\n SerialNumberDeviceGridColumn,\n SystemIdDeviceGridColumn\n} from '@c8y/ngx-components/device-grid';\nimport {\n DeleteAssetsModalComponent,\n DeleteModalCheckboxes,\n SubAssetsService\n} from '@c8y/ngx-components/sub-assets';\nimport { BsModalService } from 'ngx-bootstrap/modal';\nimport { AssetTypeSearchGridColumn } from './columns/asset-type-search-grid-column';\nimport { SEARCH_CONFIG, SearchConfig } from './search-config.model';\nimport { AssetSearchService } from './search.service';\n\nimport { NgFor } from '@angular/common';\n\n@Component({\n selector: 'c8y-search-grid',\n templateUrl: './search-grid.component.html',\n providers: [\n {\n provide: DATA_GRID_CONFIGURATION_STRATEGY,\n useClass: UserPreferencesConfigurationStrategy\n },\n {\n provide: DATA_GRID_CONFIGURATION_CONTEXT_PROVIDER,\n useExisting: SearchGridComponent\n }\n ],\n imports: [DataGridComponent, NgFor, ColumnDirective, EmptyStateComponent, C8yTranslatePipe]\n})\nexport class SearchGridComponent implements GridConfigContextProvider {\n @Input('parent-group') parentGroup: IManagedObject;\n @Input() title = '';\n @Input() loadingItemsLabel: string = gettext('Loading results…');\n @Input('columns') set _columns(value: Column[]) {\n if (value) {\n this.columns = value;\n } else {\n this.columns = this.assetSearchService.getDefaultColumns();\n }\n }\n @Input('pagination') set _pagination(value: Pagination) {\n if (value) {\n this.pagination = value;\n }\n }\n @Input('actionControls') set _actionControls(value: ActionControl[]) {\n if (value) {\n this.actionControls = value;\n } else {\n this.actionControls = this.assetSearchService.getDefaultActionControls();\n }\n }\n @Input() selectable = false;\n @Input('bulkActionControls') set _bulkActionControls(value: BulkActionControl[]) {\n if (value) {\n this.bulkActionControls = value;\n } else {\n this.bulkActionControls = this.assetSearchService.getDefaultBulkActionControls();\n }\n }\n @Output() onColumnsChange: EventEmitter<Column[]> = new EventEmitter<Column[]>();\n\n @Input()\n searchText = '';\n\n @Input()\n filteringName: string;\n\n /** The name of the key where columns configuration will be stored. */\n @Input() columnsConfigKey: string;\n\n columns: Column[];\n pagination: Pagination = this.assetSearchService.getDefaultPagination();\n actionControls: ActionControl[];\n bulkActionControls: BulkActionControl[] = this.assetSearchService.getDefaultBulkActionControls();\n showAdvancedFilters: boolean;\n customPlaceholder: string;\n serverSideDataCallback: any;\n refresh: EventEmitter<any> = new EventEmitter();\n\n @ViewChild(DataGridComponent, { static: true })\n dataGrid: DataGridComponent;\n\n private sizeCount = 0;\n\n constructor(\n public assetSearchService: AssetSearchService,\n private bsModalService: BsModalService,\n private smartGroupsService: SmartGroupsService,\n private subAssetsGridService: SubAssetsService,\n @Optional() @Inject(SEARCH_CONFIG) public moduleConfig: SearchConfig\n ) {\n this.showAdvancedFilters = moduleConfig?.showAdvancedFilters ?? false;\n this.customPlaceholder = moduleConfig?.placeholder ?? undefined;\n }\n\n getGridConfigContext(): UserPreferencesGridConfigContext {\n return { key: this.columnsConfigKey || this.assetSearchService.GRID_CONFIG_STORAGE_KEY };\n }\n\n ngOnInit(): void {\n if (!this.filteringName) {\n this.columns = [\n new AssetTypeSearchGridColumn(\n this.showAdvancedFilters,\n { sortOrder: 'desc' },\n this.assetSearchService,\n this.customPlaceholder\n ),\n ...this.assetSearchService.getDefaultColumns()\n ];\n } else {\n this.columns = [\n new AssetTypeSearchGridColumn(\n this.showAdvancedFilters,\n { sortOrder: 'desc' },\n this.assetSearchService\n ),\n new NameDeviceGridColumn({\n sortOrder: 'asc',\n filter: { externalFilterQuery: { names: [this.filteringName] } }\n }),\n new ModelDeviceGridColumn(),\n new SerialNumberDeviceGridColumn({ visible: false }),\n new RegistrationDateDeviceGridColumn({ visible: false }),\n new SystemIdDeviceGridColumn({ visible: false }),\n new ImeiDeviceGridColumn({ visible: false }),\n new AlarmsDeviceGridColumn()\n ];\n }\n this.serverSideDataCallback = this.onDataSourceModifier.bind(this);\n this.setActionControls();\n }\n\n ngAfterViewInit() {\n this.setInitialFilterForTypeColumn();\n }\n\n trackByName(_index, column: Column): string {\n return column.name;\n }\n\n async onDataSourceModifier(\n dataSourceModifier: DataSourceModifier\n ): Promise<ServerSideDataResult> {\n const response = await this.assetSearchService.getData(\n dataSourceModifier.columns,\n dataSourceModifier.pagination,\n dataSourceModifier.searchText\n );\n const { res, data, paging } = response;\n\n if (paging.currentPage === 1) {\n this.sizeCount = 0;\n }\n this.sizeCount += data.length;\n this.onColumnsChange.emit(dataSourceModifier.columns);\n\n return {\n res,\n data,\n paging,\n filteredSize: this.sizeCount,\n size: undefined\n };\n }\n\n setActionControls() {\n const actionControls: ActionControl[] = [];\n const deleteAction: ActionControl = {\n type: BuiltInActionType.Delete,\n callback: (asset: Row) => this.onDeleteAsset(asset as IManagedObject, this.parentGroup)\n };\n actionControls.push(deleteAction);\n if (!this.actionControls) {\n this.actionControls = actionControls;\n }\n }\n\n updateFiltering(\n columnNames: string[],\n action: {\n type: FilteringActionType;\n payload?: { filteringModifier: FilteringModifier };\n }\n ) {\n const { type } = action;\n if (type === FilteringActionType.ResetFilter) {\n this.dataGrid.clearFilters();\n } else {\n /**\n * TODO: find better solution. After new changes from DM team, we're running into race condition where\n * this.dataGrid.updateFiltering is executed before this.configurationStrategy.getConfig$() value is emitted.\n * Columns setter sets columns after this.dataGrid.updateFiltering executes its logic. Value of this.columns in\n * dataGrid.updateFiltering is just not yet set.\n */\n setTimeout(() => {\n this.dataGrid.updateFiltering(columnNames, action, false);\n }, 500);\n }\n }\n\n onColumnFilterReset(column: Column) {\n if (column.name === 'type') {\n this.assetSearchService.resetAppliedFilters();\n }\n }\n\n private onDeleteAsset(asset, parentRef) {\n const initialState = {\n showWithDeviceUserCheckbox: this.subAssetsGridService.shouldShowWithDeviceUserCheckbox(asset),\n asset,\n showWithCascadeCheckbox: !this.smartGroupsService.isSmartGroup(asset)\n };\n\n const modalRef = this.bsModalService.show(DeleteAssetsModalComponent, { initialState });\n\n modalRef.content.closeSubject.subscribe(async (result: DeleteModalCheckboxes) => {\n if (result) {\n await this.subAssetsGridService.deleteAsset(asset, parentRef, result);\n this.refresh.emit();\n }\n });\n }\n\n private setInitialFilterForTypeColumn() {\n const checkboxes = this.assetSearchService.appliedFilters$.value;\n // Set filter only when all checkboxes are not selected\n if (\n checkboxes[SearchFilters.ONLY_DEVICES] !== checkboxes[SearchFilters.ONLY_GROUPS_AND_ASSETS]\n ) {\n const externalFilterQuery = {\n [SearchFilters.ONLY_DEVICES]: checkboxes[SearchFilters.ONLY_DEVICES],\n [SearchFilters.ONLY_GROUPS_AND_ASSETS]: checkboxes[SearchFilters.ONLY_GROUPS_AND_ASSETS]\n };\n this.updateFiltering(['type'], {\n type: FilteringActionType.ApplyFilter,\n payload: {\n filteringModifier: {\n externalFilterQuery\n }\n }\n });\n }\n }\n}\n","<div class=\"card--grid--fullpage border-top border-bottom\">\n <c8y-data-grid\n [title]=\"'Search results' | translate\"\n [loadingItemsLabel]=\"loadingItemsLabel\"\n [columns]=\"columns\"\n [pagination]=\"pagination\"\n [actionControls]=\"actionControls\"\n [selectable]=\"selectable\"\n [bulkActionControls]=\"bulkActionControls\"\n [serverSideDataCallback]=\"serverSideDataCallback\"\n [infiniteScroll]=\"'auto'\"\n [showSearch]=\"true\"\n [searchText]=\"searchText\"\n [refresh]=\"refresh\"\n (onColumnFilterReset)=\"onColumnFilterReset($event)\"\n >\n <ng-container *ngFor=\"let column of columns; trackBy: trackByName\">\n <c8y-column [name]=\"column.name\"></c8y-column>\n </ng-container>\n\n <c8y-ui-empty-state\n [icon]=\"'search'\"\n [title]=\"'No results to display.' | translate\"\n [subtitle]=\"'Refine your search terms or check your spelling.' | translate\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n </c8y-data-grid>\n</div>","import { Component, OnDestroy, ViewChild } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { SearchGridComponent } from './search-grid.component';\nimport {\n FilteringActionType,\n AlertService,\n Status,\n gettext,\n Alert,\n TitleComponent,\n C8yTranslateDirective\n} from '@c8y/ngx-components';\nimport { NgIf } from '@angular/common';\n\n@Component({\n selector: 'c8y-search-results',\n templateUrl: './search-results.component.html',\n imports: [TitleComponent, C8yTranslateDirective, NgIf, SearchGridComponent]\n})\nexport class SearchResultsComponent implements OnDestroy {\n filter = '';\n searchText = '';\n @ViewChild(SearchGridComponent, { static: true })\n searchGrid: SearchGridComponent;\n filteringName: string;\n\n private readonly WARNING_TIMEOUT_TIME = 3000;\n private unsubscribe$ = new Subject<void>();\n\n constructor(\n private route: ActivatedRoute,\n private alert: AlertService\n ) {}\n\n ngOnInit() {\n this.route.queryParams.pipe(takeUntil(this.unsubscribe$)).subscribe(params => {\n if (params.filter) {\n this.filteringName = params.filter;\n }\n });\n }\n\n ngAfterViewInit(): void {\n this.route.queryParams\n .pipe(takeUntil(this.unsubscribe$))\n .subscribe(({ filter, search }) => this.onQueryParamsChange(filter, search));\n }\n\n resetSearch() {\n if (this.searchGrid.dataGrid.searchText) {\n this.alert.add({\n text: gettext('Search reset. Full text search does not support filtering.'),\n type: Status.WARNING,\n timeout: this.WARNING_TIMEOUT_TIME\n } as Alert);\n this.searchText = '';\n this.searchGrid.dataGrid.searchText = '';\n }\n }\n\n resetFilter() {\n this.filter = '';\n if (this.searchGrid.dataGrid.filteringApplied) {\n this.alert.add({\n text: gettext('Filter reset. Full text search does not support filtering.'),\n type: Status.WARNING,\n timeout: this.WARNING_TIMEOUT_TIME\n } as Alert);\n this.searchGrid.dataGrid.clearFilters(false);\n }\n }\n\n ngOnDestroy() {\n this.unsubscribe$.next();\n this.unsubscribe$.complete();\n }\n\n private onQueryParamsChange(filter: string, searchTerm: string) {\n if (!this.shouldFilter(filter) && searchTerm) {\n this.searchText = searchTerm || '';\n }\n }\n\n private shouldFilter(filter) {\n if (!filter) {\n return false;\n }\n this.resetSearch();\n this.filter = filter || '';\n this.searchGrid.updateFiltering(['name'], {\n type: FilteringActionType.ApplyFilter,\n payload: {\n filteringModifier: {\n externalFilterQuery: {\n names: [this.filter]\n }\n }\n }\n });\n return true;\n }\n}\n","<c8y-title>\n <span translate class=\"p-r-4\">Search</span>\n <small\n ngNonBindable\n translate\n *ngIf=\"searchText\"\n [translateParams]=\"{\n searchHint: searchText\n }\"\n >searching \"{{ searchHint }}\"</small\n >\n <small\n ngNonBindable\n translate\n *ngIf=\"filter\"\n [translateParams]=\"{\n filterHint: filter\n }\"\n >filtered by \"{{ filterHint }}\"</small\n >\n</c8y-title>\n\n<c8y-search-grid [searchText]=\"searchText\" [filteringName]=\"filteringName\"></c8y-search-grid>\n","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\nimport { gettext, SearchFilters, C8yTranslatePipe } from '@c8y/ngx-components';\nimport { AssetSearchService } from './search.service';\nimport { NgFor } from '@angular/common';\n\nexport type Checkbox = {\n label: string;\n name: string;\n value: boolean;\n indeterminate?: boolean;\n isDisabled?: boolean;\n};\n\n@Component({\n selector: 'c8y-search-custom-filters',\n templateUrl: 'search-custom-filters.component.html',\n imports: [NgFor, C8yTranslatePipe]\n})\nexport class SearchCustomFiltersComponent implements OnInit {\n @Output() customDataQuery = new EventEmitter();\n @Output() refresh = new EventEmitter();\n\n checkboxesState: Array<Checkbox> = [\n {\n label: gettext('All'),\n name: SearchFilters.ALL_FILTERS,\n value: true,\n indeterminate: false,\n isDisabled: true\n },\n { label: gettext('Show only devices'), name: SearchFilters.ONLY_DEVICES, value: true },\n {\n label: gettext('Show only groups and assets'),\n name: SearchFilters.ONLY_GROUPS_AND_ASSETS,\n value: true\n }\n ];\n constructor(private assetSearchService: AssetSearchService) {}\n\n ngOnInit() {\n this.customDataQuery.next(this.assetSearchService.getGlobalSearchData);\n }\n\n onCheckboxChange(event: Event, checkbox: Checkbox): void {\n const { checked } = event.target as HTMLInputElement;\n\n if (checked == undefined) {\n return;\n }\n\n switch (checkbox.name) {\n case SearchFilters.ALL_FILTERS:\n this.onSelectAll(checkbox, checked);\n break;\n case SearchFilters.ONLY_DEVICES:\n this.onAllDevices(checkbox, checked);\n break;\n case SearchFilters.ONLY_GROUPS_AND_ASSETS:\n this.onGroupsAndAssets(checkbox, checked);\n break;\n }\n\n // Handle allFilters checkbox when ONLY_GROUPS_AND_ASSETS and ONLY_DEVICES are selected\n if (\n this.getCheckbox(SearchFilters.ONLY_DEVICES).value &&\n this.getCheckbox(SearchFilters.ONLY_GROUPS_AND_ASSETS).value\n ) {\n Object.assign(this.getCheckbox(SearchFilters.ALL_FILTERS), {\n indeterminate: false,\n isDisabled: true,\n value: true\n });\n }\n\n this.assetSearchService.appliedFilters$.next({\n [SearchFilters.ALL_FILTERS]: this.getCheckbox(SearchFilters.ALL_FILTERS).value,\n [SearchFilters.ONLY_DEVICES]: this.getCheckbox(SearchFilters.ONLY_DEVICES).value,\n [SearchFilters.ONLY_GROUPS_AND_ASSETS]: this.getCheckbox(SearchFilters.ONLY_GROUPS_AND_ASSETS)\n .value\n });\n this.refresh.next(null);\n }\n\n private saveCheckboxValue(checkbox, value) {\n checkbox.value = value;\n }\n\n private onSelectAll(currentCheckbox: Checkbox, checked: boolean) {\n // Block unchecked state\n if (checked) {\n this.saveCheckboxValue(currentCheckbox, checked);\n }\n this.getCheckbox(SearchFilters.ALL_FILTERS).isDisabled = true;\n this.getCheckbox(SearchFilters.ONLY_DEVICES).value = true;\n this.getCheckbox(SearchFilters.ONLY_GROUPS_AND_ASSETS).value = true;\n }\n\n private onAllDevices(currentCheckbox: Checkbox, checked: boolean) {\n this.saveCheckboxValue(currentCheckbox, checked);\n\n Object.assign(this.getCheckbox(SearchFilters.ALL_FILTERS), {\n indeterminate: true,\n isDisabled: false,\n value: null\n });\n\n this.getCheckbox(SearchFilters.ONLY_GROUPS_AND_ASSETS).value = true;\n }\n\n private onGroupsAndAssets(currentCheckbox: Checkbox, checked: boolean) {\n this.saveCheckboxValue(currentCheckbox, checked);\n\n Object.assign(this.getCheckbox(SearchFilters.ALL_FILTERS), {\n indeterminate: true,\n isDisabled: false,\n value: null\n });\n\n this.getCheckbox(SearchFilters.ONLY_DEVICES).value = true;\n }\n\n private getCheckbox(checkboxName: SearchFilters): Checkbox {\n return this.checkboxesState.find(checkbox => checkbox.name === checkboxName);\n }\n}\n","<label class=\"c8y-checkbox\" *ngFor=\"let checkbox of checkboxesState\">\n <input\n type=\"checkbox\"\n [checked]=\"checkbox.value\"\n [indeterminate]=\"checkbox.indeterminate\"\n (click)=\"onCheckboxChange($event, checkbox)\"\n [attr.disabled]=\"checkbox.isDisabled ? true : null\"\n />\n <span></span>\n <span>{{ checkbox.label | translate }}</span>\n</label>\n","import { Component, EventEmitter, Inject, Optional } from '@angular/core';\nimport { IManagedObject, IResultList } from '@c8y/client';\nimport { NavigationExtras, Router } from '@angular/router';\nimport { RouterService as C8yRouter, SearchInputComponent } from '@c8y/ngx-components';\nimport { Observable, UnaryFunction } from 'rxjs';\nimport { SearchConfig, SEARCH_CONFIG } from './search-config.model';\nimport { NgIf } from '@angular/common';\nimport { SearchCustomFiltersComponent } from './search-custom-filters.component';\n\n@Component({\n selector: 'c8y-search-action',\n templateUrl: './search-action.component.html',\n imports: [SearchInputComponent, NgIf, SearchCustomFiltersComponent]\n})\nexport class SearchActionComponent {\n showAdvancedFilters: boolean;\n customPlaceholder: string;\n customQuery: UnaryFunction<string, Observable<IResultList<IManagedObject>>>;\n typeaheadReload = new EventEmitter();\n\n constructor(\n private c8yRouter: C8yRouter,\n private router: Router,\n @Optional() @Inject(SEARCH_CONFIG) public moduleConfig: SearchConfig\n ) {\n this.showAdvancedFilters = moduleConfig?.showAdvancedFilters ?? true;\n this.customPlaceholder = moduleConfig?.placeholder;\n }\n\n triggerDataLoad() {\n this.typeaheadReload.next(null);\n }\n\n onSearch(on: string) {\n this.navigate(['/assetsearch'], {\n queryParams: { search: on },\n replaceUrl: true\n });\n }\n\n onFilter(on: string) {\n this.navigate(['/assetsearch'], {\n queryParams: { filter: on },\n replaceUrl: true\n });\n }\n\n onClick(mo: IManagedObject) {\n this.router.navigateByUrl(this.c8yRouter.getHref(mo, '/'));\n }\n\n private navigate(commands: any[], extras?: NavigationExtras) {\n this.router\n .navigateByUrl('/', { skipLocationChange: true })\n .then(() => this.router.navigate(commands, extras));\n }\n}\n","<c8y-search-input\n (filter)=\"onFilter($event)\"\n (search)=\"onSearch($event)\"\n (onClick)=\"onClick($event)\"\n [enableCustomTemplatePlaceholder]=\"true\"\n [customPlaceholder]=\"customPlaceholder\"\n [customDataQuery]=\"customQuery\"\n [externalTerm]=\"typeaheadReload\"\n>\n <c8y-search-custom-filters\n *ngIf=\"showAdvancedFilters\"\n class=\"d-flex gap-16 p-l-4 p-l-24 p-r-24\"\n (refresh)=\"triggerDataLoad()\"\n (customDataQuery)=\"customQuery = $event\"\n ></c8y-search-custom-filters>\n</c8y-search-input>\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CoreModule, hookSearch, hookRoute, CoreSearchModule } from '@c8y/ngx-components';\nimport { DeviceGridModule } from '@c8y/ngx-components/device-grid';\nimport { SearchResultsComponent } from './search-results.component';\nimport { SearchGridComponent } from './search-grid.component';\nimport { SearchActionComponent } from './search-action.component';\nimport { AssetSearchService } from './search.service';\nimport { SearchCustomFiltersComponent } from './search-custom-filters.component';\nimport { SearchConfig, SEARCH_CONFIG } from './search-config.model';\nimport { AssetTypeCellRendererComponent } from '@c8y/ngx-components/data-grid-columns/asset-type';\n\n@NgModule({\n imports: [\n CoreModule,\n DeviceGridModule,\n CoreSearchModule,\n AssetTypeCellRendererComponent,\n SearchResultsComponent,\n SearchGridComponent,\n SearchActionComponent,\n SearchCustomFiltersComponent\n ],\n exports: [SearchResultsComponent, SearchGridComponent],\n providers: [\n AssetSearchService,\n hookRoute({\n path: 'assetsearch',\n component: SearchResultsComponent\n }),\n hookSearch({\n template: SearchActionComponent,\n onSearch: undefined\n })\n ]\n})\nexport class SearchModule {\n static config(config: SearchConfig = {}): ModuleWithProviders<SearchModule> {\n return {\n ngModule: SearchModule,\n providers: [\n {\n provide: SEARCH_CONFIG,\n useValue: config\n }\n ]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i1.AssetSearchService"],"mappings":"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"}