@c8y/ngx-components 1022.30.0 → 1022.33.0

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 (460) hide show
  1. package/asset-properties/asset-properties.model.d.ts +12 -3
  2. package/asset-properties/asset-properties.model.d.ts.map +1 -1
  3. package/asset-properties/asset-properties.service.d.ts +20 -2
  4. package/asset-properties/asset-properties.service.d.ts.map +1 -1
  5. package/asset-properties/asset-property-list/asset-property-icon-tooltip.pipe.d.ts +14 -0
  6. package/asset-properties/asset-property-list/asset-property-icon-tooltip.pipe.d.ts.map +1 -0
  7. package/asset-properties/asset-property-list/asset-property-icon.pipe.d.ts.map +1 -1
  8. package/asset-properties/asset-property-list/asset-property-list.component.d.ts +28 -18
  9. package/asset-properties/asset-property-list/asset-property-list.component.d.ts.map +1 -1
  10. package/asset-properties/asset-property-selector-drawer/asset-property-selector-drawer.component.d.ts +2 -2
  11. package/asset-properties/asset-property-selector-drawer/asset-property-selector-drawer.component.d.ts.map +1 -1
  12. package/asset-properties/custom-properties-drawer/custom-properties-drawer.component.d.ts +97 -0
  13. package/asset-properties/custom-properties-drawer/custom-properties-drawer.component.d.ts.map +1 -0
  14. package/asset-properties/custom-properties-drawer.service.d.ts +12 -0
  15. package/asset-properties/custom-properties-drawer.service.d.ts.map +1 -0
  16. package/asset-properties/index.d.ts +1 -0
  17. package/asset-properties/index.d.ts.map +1 -1
  18. package/context-dashboard/dashboard-detail.service.d.ts +2 -2
  19. package/context-dashboard/widget-config-hook/widget-config-hook.model.d.ts +2 -1
  20. package/context-dashboard/widget-config-hook/widget-config-hook.model.d.ts.map +1 -1
  21. package/context-dashboard/widget-config.service.d.ts.map +1 -1
  22. package/core/i18n/pattern-messages.data.d.ts +7 -0
  23. package/core/i18n/pattern-messages.data.d.ts.map +1 -1
  24. package/core/query-param-handler/query-param-handler.service.d.ts +1 -1
  25. package/core/query-param-handler/query-param-handler.service.d.ts.map +1 -1
  26. package/core/query-param-handler/query-param-modal-handler.service.d.ts +16 -5
  27. package/core/query-param-handler/query-param-modal-handler.service.d.ts.map +1 -1
  28. package/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/data-fetching.service.d.ts.map +1 -1
  29. package/fesm2022/c8y-ngx-components-actility-device-registration.mjs +16 -16
  30. package/fesm2022/c8y-ngx-components-actility-device-registration.mjs.map +1 -1
  31. package/fesm2022/c8y-ngx-components-advanced-software-management.mjs +7 -7
  32. package/fesm2022/c8y-ngx-components-advanced-software-management.mjs.map +1 -1
  33. package/fesm2022/c8y-ngx-components-alarm-event-selector.mjs +34 -34
  34. package/fesm2022/c8y-ngx-components-alarm-event-selector.mjs.map +1 -1
  35. package/fesm2022/c8y-ngx-components-alarms-cockpit.mjs +4 -4
  36. package/fesm2022/c8y-ngx-components-alarms-cockpit.mjs.map +1 -1
  37. package/fesm2022/c8y-ngx-components-alarms-devicemanagement.mjs.map +1 -1
  38. package/fesm2022/c8y-ngx-components-alarms.mjs +73 -73
  39. package/fesm2022/c8y-ngx-components-alarms.mjs.map +1 -1
  40. package/fesm2022/c8y-ngx-components-api.mjs +7 -7
  41. package/fesm2022/c8y-ngx-components-api.mjs.map +1 -1
  42. package/fesm2022/c8y-ngx-components-app-logs.mjs +10 -10
  43. package/fesm2022/c8y-ngx-components-app-logs.mjs.map +1 -1
  44. package/fesm2022/c8y-ngx-components-asset-properties.mjs +427 -66
  45. package/fesm2022/c8y-ngx-components-asset-properties.mjs.map +1 -1
  46. package/fesm2022/{c8y-ngx-components-asset-property-grid.component-WUN1r4fC.mjs → c8y-ngx-components-asset-property-grid.component-CRnyUbyz.mjs} +13 -13
  47. package/fesm2022/{c8y-ngx-components-asset-property-grid.component-WUN1r4fC.mjs.map → c8y-ngx-components-asset-property-grid.component-CRnyUbyz.mjs.map} +1 -1
  48. package/fesm2022/c8y-ngx-components-assets-navigator.mjs +32 -32
  49. package/fesm2022/c8y-ngx-components-assets-navigator.mjs.map +1 -1
  50. package/fesm2022/c8y-ngx-components-auth-configuration.mjs +114 -114
  51. package/fesm2022/c8y-ngx-components-auth-configuration.mjs.map +1 -1
  52. package/fesm2022/c8y-ngx-components-binary-file-download.mjs +7 -7
  53. package/fesm2022/c8y-ngx-components-binary-file-download.mjs.map +1 -1
  54. package/fesm2022/c8y-ngx-components-bookmarks.mjs +13 -13
  55. package/fesm2022/c8y-ngx-components-bookmarks.mjs.map +1 -1
  56. package/fesm2022/c8y-ngx-components-branding-base-branding.mjs +4 -4
  57. package/fesm2022/c8y-ngx-components-branding-dark-theme.mjs +7 -7
  58. package/fesm2022/c8y-ngx-components-branding-dark-theme.mjs.map +1 -1
  59. package/fesm2022/c8y-ngx-components-branding-extra-css-branding-editor.mjs +7 -7
  60. package/fesm2022/c8y-ngx-components-branding-extra-css-branding-editor.mjs.map +1 -1
  61. package/fesm2022/c8y-ngx-components-branding-plain-branding-editor-lazy.mjs +3 -3
  62. package/fesm2022/c8y-ngx-components-branding-plain-branding-editor-lazy.mjs.map +1 -1
  63. package/fesm2022/c8y-ngx-components-branding-plain-branding-editor.mjs +7 -7
  64. package/fesm2022/c8y-ngx-components-branding-plain-branding-editor.mjs.map +1 -1
  65. package/fesm2022/c8y-ngx-components-branding-shared-data.mjs +15 -15
  66. package/fesm2022/c8y-ngx-components-branding-shared-data.mjs.map +1 -1
  67. package/fesm2022/c8y-ngx-components-branding-shared-lazy-add-branding-modal.mjs +6 -6
  68. package/fesm2022/c8y-ngx-components-branding-shared-lazy-add-branding-modal.mjs.map +1 -1
  69. package/fesm2022/c8y-ngx-components-branding-shared-lazy.mjs +33 -33
  70. package/fesm2022/c8y-ngx-components-branding-shared-lazy.mjs.map +1 -1
  71. package/fesm2022/c8y-ngx-components-branding-shared.mjs +10 -10
  72. package/fesm2022/c8y-ngx-components-branding-shared.mjs.map +1 -1
  73. package/fesm2022/c8y-ngx-components-child-devices.mjs +13 -13
  74. package/fesm2022/c8y-ngx-components-child-devices.mjs.map +1 -1
  75. package/fesm2022/c8y-ngx-components-cockpit-config.mjs +40 -40
  76. package/fesm2022/c8y-ngx-components-cockpit-config.mjs.map +1 -1
  77. package/fesm2022/c8y-ngx-components-connectivity.mjs +53 -53
  78. package/fesm2022/c8y-ngx-components-connectivity.mjs.map +1 -1
  79. package/fesm2022/c8y-ngx-components-context-dashboard-asset-add.mjs +10 -10
  80. package/fesm2022/c8y-ngx-components-context-dashboard-asset-add.mjs.map +1 -1
  81. package/fesm2022/c8y-ngx-components-context-dashboard-asset-view.mjs +7 -7
  82. package/fesm2022/c8y-ngx-components-context-dashboard-asset-view.mjs.map +1 -1
  83. package/fesm2022/c8y-ngx-components-context-dashboard-cockpit-home-dashboard.mjs +11 -11
  84. package/fesm2022/c8y-ngx-components-context-dashboard-cockpit-home-dashboard.mjs.map +1 -1
  85. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-appearance-settings.component-C-JLbcn5.mjs → c8y-ngx-components-context-dashboard-dashboard-appearance-settings.component-BWyhab0H.mjs} +4 -4
  86. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-appearance-settings.component-C-JLbcn5.mjs.map → c8y-ngx-components-context-dashboard-dashboard-appearance-settings.component-BWyhab0H.mjs.map} +1 -1
  87. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-general-settings.component-RXvOcs04.mjs → c8y-ngx-components-context-dashboard-dashboard-general-settings.component-DjlpSztw.mjs} +10 -10
  88. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-general-settings.component-RXvOcs04.mjs.map → c8y-ngx-components-context-dashboard-dashboard-general-settings.component-DjlpSztw.mjs.map} +1 -1
  89. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-version-history.component-DmPIJGXO.mjs → c8y-ngx-components-context-dashboard-dashboard-version-history.component-B2zLhv0X.mjs} +4 -4
  90. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-version-history.component-DmPIJGXO.mjs.map → c8y-ngx-components-context-dashboard-dashboard-version-history.component-B2zLhv0X.mjs.map} +1 -1
  91. package/fesm2022/c8y-ngx-components-context-dashboard-device-add.mjs +10 -10
  92. package/fesm2022/c8y-ngx-components-context-dashboard-device-add.mjs.map +1 -1
  93. package/fesm2022/c8y-ngx-components-context-dashboard-device-view.mjs +7 -7
  94. package/fesm2022/c8y-ngx-components-context-dashboard-device-view.mjs.map +1 -1
  95. package/fesm2022/c8y-ngx-components-context-dashboard.mjs +107 -102
  96. package/fesm2022/c8y-ngx-components-context-dashboard.mjs.map +1 -1
  97. package/fesm2022/{c8y-ngx-components-dashboard-details-advanced-tab-dashboard-details-advanced-tab.component-DtLAOoFx.mjs → c8y-ngx-components-dashboard-details-advanced-tab-dashboard-details-advanced-tab.component-CwfVxTSx.mjs} +16 -16
  98. package/fesm2022/{c8y-ngx-components-dashboard-details-advanced-tab-dashboard-details-advanced-tab.component-DtLAOoFx.mjs.map → c8y-ngx-components-dashboard-details-advanced-tab-dashboard-details-advanced-tab.component-CwfVxTSx.mjs.map} +1 -1
  99. package/fesm2022/c8y-ngx-components-dashboard-details-advanced-tab.mjs +12 -12
  100. package/fesm2022/c8y-ngx-components-dashboard-details-advanced-tab.mjs.map +1 -1
  101. package/fesm2022/c8y-ngx-components-dashboard-manager-devicemanagement.mjs.map +1 -1
  102. package/fesm2022/c8y-ngx-components-dashboard-manager.mjs +22 -22
  103. package/fesm2022/c8y-ngx-components-dashboard-manager.mjs.map +1 -1
  104. package/fesm2022/c8y-ngx-components-data-broker.mjs +7 -7
  105. package/fesm2022/c8y-ngx-components-data-broker.mjs.map +1 -1
  106. package/fesm2022/c8y-ngx-components-data-grid-columns-asset-type.mjs +3 -3
  107. package/fesm2022/c8y-ngx-components-data-grid-columns-asset-type.mjs.map +1 -1
  108. package/fesm2022/c8y-ngx-components-data-grid-columns.mjs +3 -3
  109. package/fesm2022/c8y-ngx-components-data-grid-columns.mjs.map +1 -1
  110. package/fesm2022/c8y-ngx-components-datapoint-explorer-devicemanagement.mjs.map +1 -1
  111. package/fesm2022/c8y-ngx-components-datapoint-explorer-view.mjs +24 -24
  112. package/fesm2022/c8y-ngx-components-datapoint-explorer-view.mjs.map +1 -1
  113. package/fesm2022/c8y-ngx-components-datapoint-explorer.mjs +7 -7
  114. package/fesm2022/c8y-ngx-components-datapoint-explorer.mjs.map +1 -1
  115. package/fesm2022/c8y-ngx-components-datapoint-library-details.mjs +3 -3
  116. package/fesm2022/c8y-ngx-components-datapoint-library-details.mjs.map +1 -1
  117. package/fesm2022/c8y-ngx-components-datapoint-library-list.mjs +3 -3
  118. package/fesm2022/c8y-ngx-components-datapoint-library-list.mjs.map +1 -1
  119. package/fesm2022/c8y-ngx-components-datapoint-library-services.mjs +3 -3
  120. package/fesm2022/c8y-ngx-components-datapoint-library-services.mjs.map +1 -1
  121. package/fesm2022/c8y-ngx-components-datapoint-library.mjs +4 -4
  122. package/fesm2022/c8y-ngx-components-datapoint-library.mjs.map +1 -1
  123. package/fesm2022/c8y-ngx-components-datapoint-selector.mjs +40 -40
  124. package/fesm2022/c8y-ngx-components-datapoint-selector.mjs.map +1 -1
  125. package/fesm2022/c8y-ngx-components-datapoints-export-selector.mjs +41 -40
  126. package/fesm2022/c8y-ngx-components-datapoints-export-selector.mjs.map +1 -1
  127. package/fesm2022/c8y-ngx-components-default-subscriptions.mjs +16 -16
  128. package/fesm2022/c8y-ngx-components-default-subscriptions.mjs.map +1 -1
  129. package/fesm2022/c8y-ngx-components-device-grid.mjs +43 -43
  130. package/fesm2022/c8y-ngx-components-device-grid.mjs.map +1 -1
  131. package/fesm2022/c8y-ngx-components-device-list.mjs +22 -22
  132. package/fesm2022/c8y-ngx-components-device-list.mjs.map +1 -1
  133. package/fesm2022/c8y-ngx-components-device-map.mjs +12 -12
  134. package/fesm2022/c8y-ngx-components-device-map.mjs.map +1 -1
  135. package/fesm2022/c8y-ngx-components-device-profile.mjs +34 -34
  136. package/fesm2022/c8y-ngx-components-device-profile.mjs.map +1 -1
  137. package/fesm2022/c8y-ngx-components-device-protocol-object-mappings.mjs +3 -3
  138. package/fesm2022/c8y-ngx-components-device-protocol-object-mappings.mjs.map +1 -1
  139. package/fesm2022/c8y-ngx-components-device-protocols.mjs +16 -16
  140. package/fesm2022/c8y-ngx-components-device-protocols.mjs.map +1 -1
  141. package/fesm2022/c8y-ngx-components-device-provisioned-certificates.mjs +13 -13
  142. package/fesm2022/c8y-ngx-components-device-provisioned-certificates.mjs.map +1 -1
  143. package/fesm2022/c8y-ngx-components-device-shell.mjs +31 -31
  144. package/fesm2022/c8y-ngx-components-device-shell.mjs.map +1 -1
  145. package/fesm2022/c8y-ngx-components-diagnostics.mjs +13 -13
  146. package/fesm2022/c8y-ngx-components-diagnostics.mjs.map +1 -1
  147. package/fesm2022/c8y-ngx-components-echart-models.mjs.map +1 -1
  148. package/fesm2022/c8y-ngx-components-echart.mjs +27 -27
  149. package/fesm2022/c8y-ngx-components-echart.mjs.map +1 -1
  150. package/fesm2022/c8y-ngx-components-ecosystem-application-plugins.mjs +43 -43
  151. package/fesm2022/c8y-ngx-components-ecosystem-application-plugins.mjs.map +1 -1
  152. package/fesm2022/c8y-ngx-components-ecosystem-archived-confirm.mjs +7 -7
  153. package/fesm2022/c8y-ngx-components-ecosystem-archived-confirm.mjs.map +1 -1
  154. package/fesm2022/c8y-ngx-components-ecosystem-license-confirm.mjs +10 -10
  155. package/fesm2022/c8y-ngx-components-ecosystem-license-confirm.mjs.map +1 -1
  156. package/fesm2022/c8y-ngx-components-ecosystem-plugin-setup-stepper.mjs +7 -7
  157. package/fesm2022/c8y-ngx-components-ecosystem-plugin-setup-stepper.mjs.map +1 -1
  158. package/fesm2022/c8y-ngx-components-ecosystem-shared.mjs +46 -46
  159. package/fesm2022/c8y-ngx-components-ecosystem-shared.mjs.map +1 -1
  160. package/fesm2022/c8y-ngx-components-ecosystem.mjs +82 -82
  161. package/fesm2022/c8y-ngx-components-ecosystem.mjs.map +1 -1
  162. package/fesm2022/c8y-ngx-components-editor.mjs +6 -6
  163. package/fesm2022/c8y-ngx-components-editor.mjs.map +1 -1
  164. package/fesm2022/c8y-ngx-components-events-events-timeline.mjs +3 -3
  165. package/fesm2022/c8y-ngx-components-events-events-timeline.mjs.map +1 -1
  166. package/fesm2022/c8y-ngx-components-events.mjs +3 -3
  167. package/fesm2022/c8y-ngx-components-events.mjs.map +1 -1
  168. package/fesm2022/c8y-ngx-components-exports-list.mjs +6 -6
  169. package/fesm2022/c8y-ngx-components-exports-list.mjs.map +1 -1
  170. package/fesm2022/c8y-ngx-components-exports.mjs.map +1 -1
  171. package/fesm2022/c8y-ngx-components-file-preview.mjs +7 -7
  172. package/fesm2022/c8y-ngx-components-file-preview.mjs.map +1 -1
  173. package/fesm2022/c8y-ngx-components-files-repository.mjs +19 -19
  174. package/fesm2022/c8y-ngx-components-files-repository.mjs.map +1 -1
  175. package/fesm2022/c8y-ngx-components-icon-selector-icons-arrows.mjs.map +1 -1
  176. package/fesm2022/c8y-ngx-components-icon-selector-icons-city.mjs.map +1 -1
  177. package/fesm2022/c8y-ngx-components-icon-selector-icons-data.mjs.map +1 -1
  178. package/fesm2022/c8y-ngx-components-icon-selector-icons-dateAndTime.mjs.map +1 -1
  179. package/fesm2022/c8y-ngx-components-icon-selector-icons-devicesAndSensors.mjs.map +1 -1
  180. package/fesm2022/c8y-ngx-components-icon-selector-icons-ecommerce.mjs.map +1 -1
  181. package/fesm2022/c8y-ngx-components-icon-selector-icons-editing.mjs.map +1 -1
  182. package/fesm2022/c8y-ngx-components-icon-selector-icons-filesAndFolders.mjs.map +1 -1
  183. package/fesm2022/c8y-ngx-components-icon-selector-icons-finance.mjs.map +1 -1
  184. package/fesm2022/c8y-ngx-components-icon-selector-icons-hands.mjs.map +1 -1
  185. package/fesm2022/c8y-ngx-components-icon-selector-icons-location.mjs.map +1 -1
  186. package/fesm2022/c8y-ngx-components-icon-selector-icons-messaging.mjs.map +1 -1
  187. package/fesm2022/c8y-ngx-components-icon-selector-icons-multimedia.mjs.map +1 -1
  188. package/fesm2022/c8y-ngx-components-icon-selector-icons-network.mjs.map +1 -1
  189. package/fesm2022/c8y-ngx-components-icon-selector-icons-office.mjs.map +1 -1
  190. package/fesm2022/c8y-ngx-components-icon-selector-icons-people.mjs.map +1 -1
  191. package/fesm2022/c8y-ngx-components-icon-selector-icons-platform.mjs +1 -0
  192. package/fesm2022/c8y-ngx-components-icon-selector-icons-platform.mjs.map +1 -1
  193. package/fesm2022/c8y-ngx-components-icon-selector-icons-programming.mjs.map +1 -1
  194. package/fesm2022/c8y-ngx-components-icon-selector-icons-security.mjs.map +1 -1
  195. package/fesm2022/c8y-ngx-components-icon-selector-icons-transport.mjs.map +1 -1
  196. package/fesm2022/c8y-ngx-components-icon-selector-icons-userInterface.mjs.map +1 -1
  197. package/fesm2022/c8y-ngx-components-icon-selector-icons-weather.mjs.map +1 -1
  198. package/fesm2022/c8y-ngx-components-icon-selector-icons.mjs.map +1 -1
  199. package/fesm2022/c8y-ngx-components-icon-selector-model.mjs.map +1 -1
  200. package/fesm2022/c8y-ngx-components-icon-selector.mjs +19 -19
  201. package/fesm2022/c8y-ngx-components-icon-selector.mjs.map +1 -1
  202. package/fesm2022/c8y-ngx-components-interval-picker.mjs +3 -3
  203. package/fesm2022/c8y-ngx-components-interval-picker.mjs.map +1 -1
  204. package/fesm2022/c8y-ngx-components-location.mjs +28 -28
  205. package/fesm2022/c8y-ngx-components-location.mjs.map +1 -1
  206. package/fesm2022/c8y-ngx-components-loriot-device-registration.mjs +16 -16
  207. package/fesm2022/c8y-ngx-components-loriot-device-registration.mjs.map +1 -1
  208. package/fesm2022/c8y-ngx-components-map.mjs +19 -19
  209. package/fesm2022/c8y-ngx-components-map.mjs.map +1 -1
  210. package/fesm2022/c8y-ngx-components-messaging-management.mjs +55 -55
  211. package/fesm2022/c8y-ngx-components-messaging-management.mjs.map +1 -1
  212. package/fesm2022/c8y-ngx-components-operations-bulk-operation-from-single.mjs +7 -7
  213. package/fesm2022/c8y-ngx-components-operations-bulk-operation-from-single.mjs.map +1 -1
  214. package/fesm2022/c8y-ngx-components-operations-bulk-operation-list-item.mjs +19 -19
  215. package/fesm2022/c8y-ngx-components-operations-bulk-operation-list-item.mjs.map +1 -1
  216. package/fesm2022/c8y-ngx-components-operations-bulk-operation-scheduler.mjs +7 -7
  217. package/fesm2022/c8y-ngx-components-operations-bulk-operation-scheduler.mjs.map +1 -1
  218. package/fesm2022/c8y-ngx-components-operations-bulk-operation-stepper.mjs +13 -13
  219. package/fesm2022/c8y-ngx-components-operations-bulk-operation-stepper.mjs.map +1 -1
  220. package/fesm2022/c8y-ngx-components-operations-bulk-operations-list.mjs +13 -13
  221. package/fesm2022/c8y-ngx-components-operations-bulk-operations-list.mjs.map +1 -1
  222. package/fesm2022/c8y-ngx-components-operations-bulk-operations-service.mjs +7 -7
  223. package/fesm2022/c8y-ngx-components-operations-bulk-operations-service.mjs.map +1 -1
  224. package/fesm2022/c8y-ngx-components-operations-bulk-operations-stepper-container.mjs +7 -7
  225. package/fesm2022/c8y-ngx-components-operations-bulk-operations-stepper-container.mjs.map +1 -1
  226. package/fesm2022/c8y-ngx-components-operations-bulk-single-operations-list.mjs +10 -10
  227. package/fesm2022/c8y-ngx-components-operations-bulk-single-operations-list.mjs.map +1 -1
  228. package/fesm2022/c8y-ngx-components-operations-create-bulk-operation-details.mjs +7 -7
  229. package/fesm2022/c8y-ngx-components-operations-create-bulk-operation-details.mjs.map +1 -1
  230. package/fesm2022/c8y-ngx-components-operations-device-selector.mjs +7 -7
  231. package/fesm2022/c8y-ngx-components-operations-device-selector.mjs.map +1 -1
  232. package/fesm2022/c8y-ngx-components-operations-grid-columns.mjs +12 -12
  233. package/fesm2022/c8y-ngx-components-operations-grid-columns.mjs.map +1 -1
  234. package/fesm2022/c8y-ngx-components-operations-operation-details.mjs +13 -13
  235. package/fesm2022/c8y-ngx-components-operations-operation-details.mjs.map +1 -1
  236. package/fesm2022/c8y-ngx-components-operations-operation-summary.mjs +7 -7
  237. package/fesm2022/c8y-ngx-components-operations-operation-summary.mjs.map +1 -1
  238. package/fesm2022/c8y-ngx-components-operations-operations-list-item-details.mjs +10 -10
  239. package/fesm2022/c8y-ngx-components-operations-operations-list-item-details.mjs.map +1 -1
  240. package/fesm2022/c8y-ngx-components-operations-operations-list.mjs +12 -12
  241. package/fesm2022/c8y-ngx-components-operations-operations-list.mjs.map +1 -1
  242. package/fesm2022/c8y-ngx-components-operations-operations-timeline.mjs +7 -7
  243. package/fesm2022/c8y-ngx-components-operations-operations-timeline.mjs.map +1 -1
  244. package/fesm2022/c8y-ngx-components-operations-product-experience.mjs.map +1 -1
  245. package/fesm2022/c8y-ngx-components-operations-shared.mjs +10 -10
  246. package/fesm2022/c8y-ngx-components-operations-shared.mjs.map +1 -1
  247. package/fesm2022/c8y-ngx-components-operations-status-filter.mjs +7 -7
  248. package/fesm2022/c8y-ngx-components-operations-status-filter.mjs.map +1 -1
  249. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs +7 -7
  250. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs.map +1 -1
  251. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs +13 -13
  252. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs.map +1 -1
  253. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-firmware.mjs +13 -13
  254. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-firmware.mjs.map +1 -1
  255. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-software.mjs +13 -13
  256. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-software.mjs.map +1 -1
  257. package/fesm2022/c8y-ngx-components-operations-stepper-frames.mjs +13 -13
  258. package/fesm2022/c8y-ngx-components-operations-stepper-frames.mjs.map +1 -1
  259. package/fesm2022/c8y-ngx-components-operations.mjs +7 -7
  260. package/fesm2022/c8y-ngx-components-operations.mjs.map +1 -1
  261. package/fesm2022/c8y-ngx-components-pending-mo-request.mjs +7 -7
  262. package/fesm2022/c8y-ngx-components-pending-mo-request.mjs.map +1 -1
  263. package/fesm2022/c8y-ngx-components-platform-configuration.mjs +10 -10
  264. package/fesm2022/c8y-ngx-components-platform-configuration.mjs.map +1 -1
  265. package/fesm2022/c8y-ngx-components-protocol-lpwan.mjs +38 -38
  266. package/fesm2022/c8y-ngx-components-protocol-lpwan.mjs.map +1 -1
  267. package/fesm2022/c8y-ngx-components-protocol-opcua-mappings.mjs.map +1 -1
  268. package/fesm2022/c8y-ngx-components-protocol-opcua.mjs +58 -58
  269. package/fesm2022/c8y-ngx-components-protocol-opcua.mjs.map +1 -1
  270. package/fesm2022/c8y-ngx-components-register-device.mjs +58 -58
  271. package/fesm2022/c8y-ngx-components-register-device.mjs.map +1 -1
  272. package/fesm2022/c8y-ngx-components-remote-access-configurations.mjs +9 -9
  273. package/fesm2022/c8y-ngx-components-remote-access-configurations.mjs.map +1 -1
  274. package/fesm2022/c8y-ngx-components-remote-access-data.mjs +3 -3
  275. package/fesm2022/c8y-ngx-components-remote-access-data.mjs.map +1 -1
  276. package/fesm2022/c8y-ngx-components-remote-access-passthrough.mjs +3 -3
  277. package/fesm2022/c8y-ngx-components-remote-access-passthrough.mjs.map +1 -1
  278. package/fesm2022/c8y-ngx-components-remote-access-shared.mjs +6 -6
  279. package/fesm2022/c8y-ngx-components-remote-access-shared.mjs.map +1 -1
  280. package/fesm2022/c8y-ngx-components-remote-access-ssh-remote-access-ssh-endpoint-modal.mjs +3 -3
  281. package/fesm2022/c8y-ngx-components-remote-access-ssh-remote-access-ssh-endpoint-modal.mjs.map +1 -1
  282. package/fesm2022/c8y-ngx-components-remote-access-ssh.mjs +3 -3
  283. package/fesm2022/c8y-ngx-components-remote-access-ssh.mjs.map +1 -1
  284. package/fesm2022/c8y-ngx-components-remote-access-telnet.mjs +3 -3
  285. package/fesm2022/c8y-ngx-components-remote-access-telnet.mjs.map +1 -1
  286. package/fesm2022/c8y-ngx-components-remote-access-terminal-viewer.mjs +3 -3
  287. package/fesm2022/c8y-ngx-components-remote-access-terminal-viewer.mjs.map +1 -1
  288. package/fesm2022/c8y-ngx-components-remote-access-vnc-remote-access-vnc-endpoint-modal.mjs +3 -3
  289. package/fesm2022/c8y-ngx-components-remote-access-vnc-remote-access-vnc-endpoint-modal.mjs.map +1 -1
  290. package/fesm2022/c8y-ngx-components-remote-access-vnc-vnc-viewer.mjs +6 -6
  291. package/fesm2022/c8y-ngx-components-remote-access-vnc-vnc-viewer.mjs.map +1 -1
  292. package/fesm2022/c8y-ngx-components-remote-access-vnc.mjs +3 -3
  293. package/fesm2022/c8y-ngx-components-remote-access-vnc.mjs.map +1 -1
  294. package/fesm2022/c8y-ngx-components-replace-device-replace-device-wizard.mjs +6 -6
  295. package/fesm2022/c8y-ngx-components-replace-device-replace-device-wizard.mjs.map +1 -1
  296. package/fesm2022/c8y-ngx-components-replace-device.mjs +13 -29
  297. package/fesm2022/c8y-ngx-components-replace-device.mjs.map +1 -1
  298. package/fesm2022/c8y-ngx-components-report-dashboard.mjs +16 -16
  299. package/fesm2022/c8y-ngx-components-report-dashboard.mjs.map +1 -1
  300. package/fesm2022/c8y-ngx-components-reports.mjs +19 -19
  301. package/fesm2022/c8y-ngx-components-reports.mjs.map +1 -1
  302. package/fesm2022/c8y-ngx-components-repository-configuration.mjs +48 -48
  303. package/fesm2022/c8y-ngx-components-repository-configuration.mjs.map +1 -1
  304. package/fesm2022/c8y-ngx-components-repository-firmware.mjs +33 -33
  305. package/fesm2022/c8y-ngx-components-repository-firmware.mjs.map +1 -1
  306. package/fesm2022/c8y-ngx-components-repository-shared.mjs +34 -34
  307. package/fesm2022/c8y-ngx-components-repository-shared.mjs.map +1 -1
  308. package/fesm2022/c8y-ngx-components-repository-software.mjs +42 -42
  309. package/fesm2022/c8y-ngx-components-repository-software.mjs.map +1 -1
  310. package/fesm2022/c8y-ngx-components-repository.mjs +4 -4
  311. package/fesm2022/c8y-ngx-components-repository.mjs.map +1 -1
  312. package/fesm2022/c8y-ngx-components-search.mjs +19 -19
  313. package/fesm2022/c8y-ngx-components-search.mjs.map +1 -1
  314. package/fesm2022/c8y-ngx-components-sensor-phone-sensor-phone-modal.mjs +33 -27
  315. package/fesm2022/c8y-ngx-components-sensor-phone-sensor-phone-modal.mjs.map +1 -1
  316. package/fesm2022/c8y-ngx-components-sensor-phone.mjs +17 -320
  317. package/fesm2022/c8y-ngx-components-sensor-phone.mjs.map +1 -1
  318. package/fesm2022/c8y-ngx-components-services-service-command-tab.mjs +3 -3
  319. package/fesm2022/c8y-ngx-components-services-service-command-tab.mjs.map +1 -1
  320. package/fesm2022/c8y-ngx-components-services-shared.mjs +3 -3
  321. package/fesm2022/c8y-ngx-components-services-shared.mjs.map +1 -1
  322. package/fesm2022/c8y-ngx-components-services.mjs +29 -29
  323. package/fesm2022/c8y-ngx-components-services.mjs.map +1 -1
  324. package/fesm2022/c8y-ngx-components-sigfox-device-registration.mjs +16 -16
  325. package/fesm2022/c8y-ngx-components-sigfox-device-registration.mjs.map +1 -1
  326. package/fesm2022/c8y-ngx-components-sms-gateway.mjs +7 -7
  327. package/fesm2022/c8y-ngx-components-sms-gateway.mjs.map +1 -1
  328. package/fesm2022/c8y-ngx-components-static-assets-data.mjs +3 -3
  329. package/fesm2022/c8y-ngx-components-static-assets-data.mjs.map +1 -1
  330. package/fesm2022/c8y-ngx-components-static-assets-modal.mjs +3 -3
  331. package/fesm2022/c8y-ngx-components-static-assets-modal.mjs.map +1 -1
  332. package/fesm2022/c8y-ngx-components-static-assets.mjs +6 -6
  333. package/fesm2022/c8y-ngx-components-static-assets.mjs.map +1 -1
  334. package/fesm2022/c8y-ngx-components-sub-assets.mjs +60 -60
  335. package/fesm2022/c8y-ngx-components-sub-assets.mjs.map +1 -1
  336. package/fesm2022/c8y-ngx-components-tenants.mjs +40 -40
  337. package/fesm2022/c8y-ngx-components-tenants.mjs.map +1 -1
  338. package/fesm2022/c8y-ngx-components-time-context.mjs +6 -6
  339. package/fesm2022/c8y-ngx-components-time-context.mjs.map +1 -1
  340. package/fesm2022/c8y-ngx-components-tracking.mjs +12 -12
  341. package/fesm2022/c8y-ngx-components-tracking.mjs.map +1 -1
  342. package/fesm2022/c8y-ngx-components-translation-editor-data.mjs +3 -3
  343. package/fesm2022/c8y-ngx-components-translation-editor-data.mjs.map +1 -1
  344. package/fesm2022/c8y-ngx-components-translation-editor-lazy.mjs +12 -12
  345. package/fesm2022/c8y-ngx-components-translation-editor-lazy.mjs.map +1 -1
  346. package/fesm2022/c8y-ngx-components-translation-editor.mjs +6 -6
  347. package/fesm2022/c8y-ngx-components-translation-editor.mjs.map +1 -1
  348. package/fesm2022/c8y-ngx-components-trusted-certificates.mjs +33 -33
  349. package/fesm2022/c8y-ngx-components-trusted-certificates.mjs.map +1 -1
  350. package/fesm2022/c8y-ngx-components-upgrade-upgraded-services.mjs +4 -4
  351. package/fesm2022/c8y-ngx-components-upgrade-upgraded-services.mjs.map +1 -1
  352. package/fesm2022/c8y-ngx-components-upgrade.mjs +41 -41
  353. package/fesm2022/c8y-ngx-components-upgrade.mjs.map +1 -1
  354. package/fesm2022/c8y-ngx-components-user-roles.mjs +10 -10
  355. package/fesm2022/c8y-ngx-components-user-roles.mjs.map +1 -1
  356. package/fesm2022/c8y-ngx-components-widgets-cockpit-exports.mjs.map +1 -1
  357. package/fesm2022/c8y-ngx-components-widgets-cockpit.mjs +4 -4
  358. package/fesm2022/c8y-ngx-components-widgets-cockpit.mjs.map +1 -1
  359. package/fesm2022/c8y-ngx-components-widgets-definitions-alarms-alarm-list.mjs.map +1 -1
  360. package/fesm2022/c8y-ngx-components-widgets-definitions-alarms-all-critical-alarms.mjs.map +1 -1
  361. package/fesm2022/c8y-ngx-components-widgets-definitions-alarms-recent-alarms.mjs.map +1 -1
  362. package/fesm2022/c8y-ngx-components-widgets-definitions-applications.mjs.map +1 -1
  363. package/fesm2022/c8y-ngx-components-widgets-definitions-asset-notes.mjs.map +1 -1
  364. package/fesm2022/c8y-ngx-components-widgets-definitions-cockpit-legacy-welcome.mjs.map +1 -1
  365. package/fesm2022/c8y-ngx-components-widgets-definitions-cockpit-welcome.mjs.map +1 -1
  366. package/fesm2022/c8y-ngx-components-widgets-definitions-datapoints-graph.mjs +3 -3
  367. package/fesm2022/c8y-ngx-components-widgets-definitions-datapoints-graph.mjs.map +1 -1
  368. package/fesm2022/c8y-ngx-components-widgets-definitions-datapoints-table.mjs.map +1 -1
  369. package/fesm2022/c8y-ngx-components-widgets-definitions-device-control-message.mjs.map +1 -1
  370. package/fesm2022/c8y-ngx-components-widgets-definitions-device-management-welcome.mjs.map +1 -1
  371. package/fesm2022/c8y-ngx-components-widgets-definitions-help-and-service.mjs.map +1 -1
  372. package/fesm2022/c8y-ngx-components-widgets-definitions-html-widget.mjs +18 -14
  373. package/fesm2022/c8y-ngx-components-widgets-definitions-html-widget.mjs.map +1 -1
  374. package/fesm2022/c8y-ngx-components-widgets-definitions-image.mjs +4 -2
  375. package/fesm2022/c8y-ngx-components-widgets-definitions-image.mjs.map +1 -1
  376. package/fesm2022/c8y-ngx-components-widgets-definitions-info-gauge.mjs.map +1 -1
  377. package/fesm2022/c8y-ngx-components-widgets-definitions-kpi.mjs.map +1 -1
  378. package/fesm2022/c8y-ngx-components-widgets-definitions-linear-gauge.mjs.map +1 -1
  379. package/fesm2022/c8y-ngx-components-widgets-definitions-map.mjs.map +1 -1
  380. package/fesm2022/c8y-ngx-components-widgets-definitions-markdown.mjs +4 -2
  381. package/fesm2022/c8y-ngx-components-widgets-definitions-markdown.mjs.map +1 -1
  382. package/fesm2022/c8y-ngx-components-widgets-definitions-quick-links.mjs.map +1 -1
  383. package/fesm2022/c8y-ngx-components-widgets-definitions-radial-gauge.mjs.map +1 -1
  384. package/fesm2022/c8y-ngx-components-widgets-definitions-silo.mjs.map +1 -1
  385. package/fesm2022/c8y-ngx-components-widgets-definitions-three-d-rotation.mjs.map +1 -1
  386. package/fesm2022/c8y-ngx-components-widgets-definitions.mjs.map +1 -1
  387. package/fesm2022/c8y-ngx-components-widgets-device-management.mjs.map +1 -1
  388. package/fesm2022/c8y-ngx-components-widgets-implementations-alarms.mjs +22 -22
  389. package/fesm2022/c8y-ngx-components-widgets-implementations-alarms.mjs.map +1 -1
  390. package/fesm2022/c8y-ngx-components-widgets-implementations-asset-notes.mjs +3 -3
  391. package/fesm2022/c8y-ngx-components-widgets-implementations-asset-notes.mjs.map +1 -1
  392. package/fesm2022/c8y-ngx-components-widgets-implementations-cockpit-legacy-welcome.mjs +3 -3
  393. package/fesm2022/c8y-ngx-components-widgets-implementations-cockpit-legacy-welcome.mjs.map +1 -1
  394. package/fesm2022/c8y-ngx-components-widgets-implementations-cockpit-welcome.mjs +3 -3
  395. package/fesm2022/c8y-ngx-components-widgets-implementations-cockpit-welcome.mjs.map +1 -1
  396. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-graph.mjs +6 -6
  397. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-graph.mjs.map +1 -1
  398. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-table.mjs +50 -36
  399. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-table.mjs.map +1 -1
  400. package/fesm2022/c8y-ngx-components-widgets-implementations-device-control-message.mjs +3 -3
  401. package/fesm2022/c8y-ngx-components-widgets-implementations-device-control-message.mjs.map +1 -1
  402. package/fesm2022/c8y-ngx-components-widgets-implementations-device-management-welcome.mjs +7 -7
  403. package/fesm2022/c8y-ngx-components-widgets-implementations-device-management-welcome.mjs.map +1 -1
  404. package/fesm2022/c8y-ngx-components-widgets-implementations-help-and-service-widget.mjs +3 -3
  405. package/fesm2022/c8y-ngx-components-widgets-implementations-help-and-service-widget.mjs.map +1 -1
  406. package/fesm2022/c8y-ngx-components-widgets-implementations-html-widget.mjs +22 -22
  407. package/fesm2022/c8y-ngx-components-widgets-implementations-html-widget.mjs.map +1 -1
  408. package/fesm2022/c8y-ngx-components-widgets-implementations-image.mjs +9 -9
  409. package/fesm2022/c8y-ngx-components-widgets-implementations-image.mjs.map +1 -1
  410. package/fesm2022/c8y-ngx-components-widgets-implementations-info-gauge.mjs +18 -18
  411. package/fesm2022/c8y-ngx-components-widgets-implementations-info-gauge.mjs.map +1 -1
  412. package/fesm2022/c8y-ngx-components-widgets-implementations-kpi.mjs +6 -6
  413. package/fesm2022/c8y-ngx-components-widgets-implementations-kpi.mjs.map +1 -1
  414. package/fesm2022/c8y-ngx-components-widgets-implementations-linear-gauge.mjs +6 -6
  415. package/fesm2022/c8y-ngx-components-widgets-implementations-linear-gauge.mjs.map +1 -1
  416. package/fesm2022/c8y-ngx-components-widgets-implementations-map.mjs +9 -9
  417. package/fesm2022/c8y-ngx-components-widgets-implementations-map.mjs.map +1 -1
  418. package/fesm2022/c8y-ngx-components-widgets-implementations-markdown.mjs +9 -9
  419. package/fesm2022/c8y-ngx-components-widgets-implementations-markdown.mjs.map +1 -1
  420. package/fesm2022/c8y-ngx-components-widgets-implementations-quick-links.mjs +18 -18
  421. package/fesm2022/c8y-ngx-components-widgets-implementations-quick-links.mjs.map +1 -1
  422. package/fesm2022/c8y-ngx-components-widgets-implementations-three-d-rotation.mjs +9 -9
  423. package/fesm2022/c8y-ngx-components-widgets-implementations-three-d-rotation.mjs.map +1 -1
  424. package/fesm2022/c8y-ngx-components-widgets-import-export-config.mjs.map +1 -1
  425. package/fesm2022/c8y-ngx-components-widgets.mjs +4 -4
  426. package/fesm2022/c8y-ngx-components-widgets.mjs.map +1 -1
  427. package/fesm2022/c8y-ngx-components.mjs +1329 -1317
  428. package/fesm2022/c8y-ngx-components.mjs.map +1 -1
  429. package/icon-selector/icons/index.d.ts +1 -1
  430. package/icon-selector/icons/platform/index.d.ts +2 -2
  431. package/icon-selector/icons/platform/index.d.ts.map +1 -1
  432. package/locales/de.po +26 -3
  433. package/locales/es.po +26 -3
  434. package/locales/fr.po +26 -3
  435. package/locales/ja_JP.po +25 -3
  436. package/locales/ko.po +26 -3
  437. package/locales/locales.pot +22 -2
  438. package/locales/nl.po +26 -3
  439. package/locales/pl.po +26 -3
  440. package/locales/pt_BR.po +26 -3
  441. package/locales/zh_CN.po +26 -3
  442. package/locales/zh_TW.po +26 -3
  443. package/package.json +1 -1
  444. package/replace-device/replace-device.module.d.ts.map +1 -1
  445. package/sensor-phone/sensor-phone-modal/sensor-phone-modal.component.d.ts +6 -6
  446. package/sensor-phone/sensor-phone-modal/sensor-phone-modal.component.d.ts.map +1 -1
  447. package/sensor-phone/sensor-phone-modal/sensor-phone.model.d.ts +0 -1
  448. package/sensor-phone/sensor-phone-modal/sensor-phone.model.d.ts.map +1 -1
  449. package/sensor-phone/sensor-phone.module.d.ts +2 -3
  450. package/sensor-phone/sensor-phone.module.d.ts.map +1 -1
  451. package/widgets/definitions/datapoints-table/index.d.ts +1 -2
  452. package/widgets/definitions/datapoints-table/index.d.ts.map +1 -1
  453. package/widgets/definitions/html-widget/html-widget-config.factory.d.ts +1 -1
  454. package/widgets/definitions/html-widget/html-widget-config.factory.d.ts.map +1 -1
  455. package/widgets/definitions/image/index.d.ts +1 -1
  456. package/widgets/definitions/image/index.d.ts.map +1 -1
  457. package/widgets/definitions/markdown/index.d.ts +1 -1
  458. package/widgets/definitions/markdown/index.d.ts.map +1 -1
  459. package/widgets/implementations/datapoints-table/datapoints-table-view/datapoints-table-view.component.d.ts.map +1 -1
  460. package/widgets/implementations/three-d-rotation/three-d-rotation-widget-view/three-d-rotation-widget-view.component.d.ts.map +1 -1
@@ -28,10 +28,10 @@ class ConfirmDeviceProfileSelectionStepComponent {
28
28
  getDeviceTypeTitle(deviceProfile) {
29
29
  return get(deviceProfile, 'c8y_Filter.type', this.translate.instant(this.DEVICE_TYPE_NOT_DEFINED));
30
30
  }
31
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ConfirmDeviceProfileSelectionStepComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
32
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: ConfirmDeviceProfileSelectionStepComponent, isStandalone: true, selector: "c8y-confirm-device-profile-selection-step", inputs: { selectedDeviceProfile: "selectedDeviceProfile" }, ngImport: i0, template: "<c8y-preview-selection-frame\n [header]=\"'Confirm selection' | translate\"\n [name]=\"selectedDeviceProfile?.name\"\n>\n <ng-container *previewBlock=\"'Device type' | translate\">\n <ng-container *ngIf=\"selectedDeviceProfile?.c8y_Filter?.type; else noType\">\n <span>{{ selectedDeviceProfile.c8y_Filter.type }}</span>\n </ng-container>\n <ng-template #noType> --- </ng-template>\n </ng-container>\n <c8y-list-group\n *previewBlock=\"'Firmware' | translate; if: selectedDeviceProfile?.c8y_DeviceProfile.firmware\"\n >\n <c8y-li>\n <c8y-li-icon>\n <i c8yIcon=\"c8y-firmware\"></i>\n </c8y-li-icon>\n <c8y-li-body class=\"content-flex-500\">\n <div class=\"col-5\">\n {{ selectedDeviceProfile.c8y_DeviceProfile.firmware.name }}\n </div>\n <div class=\"col-5\">\n <span class=\"text-label-small m-r-8\" translate> Version </span>\n <span>\n {{ selectedDeviceProfile.c8y_DeviceProfile.firmware.version }}\n </span>\n </div>\n </c8y-li-body>\n </c8y-li>\n </c8y-list-group>\n <c8y-list-group *previewBlock=\"'Software' | translate; if: softwares?.length\">\n <c8y-li *ngFor=\"let software of softwares\">\n <c8y-li-icon>\n <i c8yIcon=\"c8y-tools\"></i>\n </c8y-li-icon>\n <c8y-li-body class=\"content-flex-500\">\n <div class=\"col-5\">\n {{ software.name }}\n </div>\n <div class=\"col-5\">\n <span class=\"text-label-small m-r-8\" translate> Version </span>\n <span>\n {{ software.version }}\n </span>\n </div>\n </c8y-li-body>\n </c8y-li>\n </c8y-list-group>\n <c8y-list-group *previewBlock=\"'Configuration' | translate; if: configurations?.length\">\n <c8y-li *ngFor=\"let configuration of configurations\">\n <c8y-li-icon>\n <i c8yIcon=\"c8y-tools\"></i>\n </c8y-li-icon>\n <c8y-li-body class=\"content-flex-500\">\n <div class=\"col-5\">\n {{ configuration.name }}\n </div>\n <div class=\"col-5\">\n <span class=\"label label-info\" *ngIf=\"configuration.type\">\n {{ configuration.type }}\n </span>\n </div>\n </c8y-li-body>\n </c8y-li>\n </c8y-list-group>\n</c8y-preview-selection-frame>\n", dependencies: [{ kind: "component", type: PreviewSelectionFrameComponent, selector: "c8y-preview-selection-frame", inputs: ["header", "name", "description", "type"] }, { kind: "directive", type: PreviewBlockDirective, selector: "[previewBlock]", inputs: ["previewBlock", "previewBlockIf"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ListGroupComponent, selector: "c8y-list-group" }, { kind: "component", type: ListItemComponent, selector: "c8y-list-item, c8y-li", inputs: ["active", "highlighted", "emptyActions", "dense", "collapsed", "selectable"], outputs: ["collapsedChange"] }, { kind: "component", type: ListItemIconComponent, selector: "c8y-list-item-icon, c8y-li-icon", inputs: ["icon", "status"] }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "component", type: ListItemBodyComponent, selector: "c8y-list-item-body, c8y-li-body", inputs: ["body"] }, { kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }] }); }
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ConfirmDeviceProfileSelectionStepComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
32
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: ConfirmDeviceProfileSelectionStepComponent, isStandalone: true, selector: "c8y-confirm-device-profile-selection-step", inputs: { selectedDeviceProfile: "selectedDeviceProfile" }, ngImport: i0, template: "<c8y-preview-selection-frame\n [header]=\"'Confirm selection' | translate\"\n [name]=\"selectedDeviceProfile?.name\"\n>\n <ng-container *previewBlock=\"'Device type' | translate\">\n <ng-container *ngIf=\"selectedDeviceProfile?.c8y_Filter?.type; else noType\">\n <span>{{ selectedDeviceProfile.c8y_Filter.type }}</span>\n </ng-container>\n <ng-template #noType> --- </ng-template>\n </ng-container>\n <c8y-list-group\n *previewBlock=\"'Firmware' | translate; if: selectedDeviceProfile?.c8y_DeviceProfile.firmware\"\n >\n <c8y-li>\n <c8y-li-icon>\n <i c8yIcon=\"c8y-firmware\"></i>\n </c8y-li-icon>\n <c8y-li-body class=\"content-flex-500\">\n <div class=\"col-5\">\n {{ selectedDeviceProfile.c8y_DeviceProfile.firmware.name }}\n </div>\n <div class=\"col-5\">\n <span class=\"text-label-small m-r-8\" translate> Version </span>\n <span>\n {{ selectedDeviceProfile.c8y_DeviceProfile.firmware.version }}\n </span>\n </div>\n </c8y-li-body>\n </c8y-li>\n </c8y-list-group>\n <c8y-list-group *previewBlock=\"'Software' | translate; if: softwares?.length\">\n <c8y-li *ngFor=\"let software of softwares\">\n <c8y-li-icon>\n <i c8yIcon=\"c8y-tools\"></i>\n </c8y-li-icon>\n <c8y-li-body class=\"content-flex-500\">\n <div class=\"col-5\">\n {{ software.name }}\n </div>\n <div class=\"col-5\">\n <span class=\"text-label-small m-r-8\" translate> Version </span>\n <span>\n {{ software.version }}\n </span>\n </div>\n </c8y-li-body>\n </c8y-li>\n </c8y-list-group>\n <c8y-list-group *previewBlock=\"'Configuration' | translate; if: configurations?.length\">\n <c8y-li *ngFor=\"let configuration of configurations\">\n <c8y-li-icon>\n <i c8yIcon=\"c8y-tools\"></i>\n </c8y-li-icon>\n <c8y-li-body class=\"content-flex-500\">\n <div class=\"col-5\">\n {{ configuration.name }}\n </div>\n <div class=\"col-5\">\n <span class=\"label label-info\" *ngIf=\"configuration.type\">\n {{ configuration.type }}\n </span>\n </div>\n </c8y-li-body>\n </c8y-li>\n </c8y-list-group>\n</c8y-preview-selection-frame>\n", dependencies: [{ kind: "component", type: PreviewSelectionFrameComponent, selector: "c8y-preview-selection-frame", inputs: ["header", "name", "description", "type"] }, { kind: "directive", type: PreviewBlockDirective, selector: "[previewBlock]", inputs: ["previewBlock", "previewBlockIf"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ListGroupComponent, selector: "c8y-list-group" }, { kind: "component", type: ListItemComponent, selector: "c8y-list-item, c8y-li", inputs: ["active", "highlighted", "emptyActions", "dense", "collapsed", "selectable"], outputs: ["collapsedChange"] }, { kind: "component", type: ListItemIconComponent, selector: "c8y-list-item-icon, c8y-li-icon", inputs: ["icon", "status"] }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "component", type: ListItemBodyComponent, selector: "c8y-list-item-body, c8y-li-body", inputs: ["body"] }, { kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }] }); }
33
33
  }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ConfirmDeviceProfileSelectionStepComponent, decorators: [{
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ConfirmDeviceProfileSelectionStepComponent, decorators: [{
35
35
  type: Component,
36
36
  args: [{ selector: 'c8y-confirm-device-profile-selection-step', imports: [
37
37
  PreviewSelectionFrameComponent,
@@ -89,10 +89,10 @@ class SelectDeviceProfileStepComponent {
89
89
  }
90
90
  return this.deviceProfileService.getDeviceProfiles(query);
91
91
  }
92
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SelectDeviceProfileStepComponent, deps: [{ token: i1$1.DeviceProfileService }, { token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
93
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: SelectDeviceProfileStepComponent, isStandalone: true, selector: "c8y-select-device-profile-step", outputs: { deviceProfile: "deviceProfile" }, ngImport: i0, template: "<c8y-select-step-frame\n [header]=\"'Select device profile' | translate\"\n [noResults]=\"\n ((textFilter$ | async)?.length || (deviceType$ | async)?.length) &&\n (deviceProfile$ | async)?.data.length === 0\n \"\n>\n <div\n class=\"row\"\n filters\n >\n <div class=\"col-md-6 m-b-xs-8 m-b-sm-8\">\n <div class=\"input-group input-group-search\">\n <input\n class=\"form-control\"\n title=\"{{ 'Filter\u2026' | translate }}\"\n placeholder=\"{{ 'Filter\u2026' | translate }}\"\n type=\"search\"\n [ngModel]=\"textFilter$ | async\"\n (ngModelChange)=\"textFilter$.next($event)\"\n />\n <span class=\"input-group-addon\">\n <i\n c8yIcon=\"search\"\n *ngIf=\"(textFilter$ | async).length === 0\"\n ></i>\n <i\n class=\"text-muted\"\n c8yIcon=\"times\"\n *ngIf=\"(textFilter$ | async).length\"\n (click)=\"textFilter$.next('')\"\n ></i>\n </span>\n </div>\n </div>\n <div class=\"col-md-6 m-b-xs-8 m-b-sm-8\">\n <c8y-form-group class=\"m-0\">\n <c8y-typeahead\n placeholder=\"{{ 'Type to filter device types\u2026' | translate }}\"\n name=\"deviceType\"\n [(ngModel)]=\"selectedDeviceType\"\n (onSearch)=\"deviceType$.next($event)\"\n [allowFreeEntries]=\"false\"\n >\n <c8y-li\n class=\"p-l-8 p-r-8 c8y-list__item--link\"\n (click)=\"selectedDeviceType = { name: '' }; deviceType$.next('')\"\n >\n <span>{{ 'All device types' | translate }}</span>\n </c8y-li>\n <c8y-li\n class=\"p-l-8 p-r-8 c8y-list__item--link\"\n *ngFor=\"let deviceType of deviceTypes\"\n (click)=\"selectedDeviceType = deviceType; deviceType$.next(deviceType.name)\"\n [active]=\"selectedDeviceType === deviceType\"\n >\n <c8y-highlight\n [text]=\"deviceType.name\"\n [pattern]=\"deviceType$ | async\"\n ></c8y-highlight>\n </c8y-li>\n </c8y-typeahead>\n <c8y-messages>\n <c8y-message\n name=\"notExisting\"\n [text]=\"'Select one of the existing device types.' | translate\"\n ></c8y-message>\n </c8y-messages>\n </c8y-form-group>\n </div>\n </div>\n <c8y-li\n class=\"hidden-sm hidden-xs m-r-8 m-l-8\"\n header\n >\n <c8y-li-icon><i class=\"p-l-32 p-r-40\"></i></c8y-li-icon>\n <c8y-li-body class=\"content-flex-40\">\n <div class=\"col-5\">\n <span\n class=\"text-truncate\"\n title=\" {{ 'Name' | translate }} \"\n >\n {{ 'Name' | translate }}\n </span>\n </div>\n <div class=\"col-3\">\n <span\n class=\"text-truncate\"\n title=\"{{ 'Device type' | translate }}\"\n >\n {{ 'Device type' | translate }}\n </span>\n </div>\n </c8y-li-body>\n </c8y-li>\n <c8y-list-group list>\n <c8y-li *c8yFor=\"let deviceProfile of deviceProfile$ | async; loadMore: 'auto'\">\n <c8y-li-radio (onSelect)=\"selectDeviceProfile(deviceProfile)\"></c8y-li-radio>\n <c8y-li-icon>\n <i c8yIcon=\"c8y-device-profile\"></i>\n </c8y-li-icon>\n <c8y-li-body class=\"content-flex-40\">\n <div class=\"col-5 m-b-xs-8\">\n <div\n class=\"text-truncate\"\n title=\"{{ deviceProfile.name }}\"\n >\n {{ deviceProfile.name }}\n </div>\n </div>\n <div class=\"col-3 m-b-xs-8\">\n <div\n class=\"text-truncate\"\n title=\"{{ 'Device type' | translate }}: {{ getDeviceTypeTitle(deviceProfile) }}\"\n >\n <span\n class=\"text-label-small m-r-8 visible-xs visible-sm\"\n translate\n >\n Device type\n </span>\n <span *ngIf=\"deviceProfile.c8y_Filter?.type; else noType\">\n {{ deviceProfile.c8y_Filter?.type }}\n </span>\n <ng-template #noType>\n <small>\n <em\n class=\"text-muted\"\n translate\n >\n Undefined`device type`\n </em>\n </small>\n </ng-template>\n </div>\n </div>\n </c8y-li-body>\n </c8y-li>\n </c8y-list-group>\n</c8y-select-step-frame>\n", dependencies: [{ kind: "component", type: SelectStepFrameComponent, selector: "c8y-select-step-frame", inputs: ["header", "noResults"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "component", type: FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "component", type: TypeaheadComponent, selector: "c8y-typeahead", inputs: ["required", "maxlength", "disabled", "allowFreeEntries", "placeholder", "displayProperty", "icon", "name", "autoClose", "hideNew", "container", "selected", "title", "highlightFirstItem"], outputs: ["onSearch", "onIconClick"] }, { kind: "component", type: ListItemComponent, selector: "c8y-list-item, c8y-li", inputs: ["active", "highlighted", "emptyActions", "dense", "collapsed", "selectable"], outputs: ["collapsedChange"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: HighlightComponent, selector: "c8y-highlight", inputs: ["pattern", "text", "elementClass", "shouldTrimPattern"] }, { kind: "component", type: MessagesComponent, selector: "c8y-messages", inputs: ["show", "defaults", "helpMessage"] }, { kind: "directive", type: MessageDirective, selector: "c8y-message", inputs: ["name", "text"] }, { kind: "component", type: ListItemIconComponent, selector: "c8y-list-item-icon, c8y-li-icon", inputs: ["icon", "status"] }, { kind: "component", type: ListItemBodyComponent, selector: "c8y-list-item-body, c8y-li-body", inputs: ["body"] }, { kind: "component", type: ListGroupComponent, selector: "c8y-list-group" }, { kind: "directive", type: ForOfDirective, selector: "[c8yFor]", inputs: ["c8yForOf", "c8yForLoadMore", "c8yForPipe", "c8yForNotFound", "c8yForMaxIterations", "c8yForLoadingTemplate", "c8yForLoadNextLabel", "c8yForLoadingLabel", "c8yForRealtime", "c8yForRealtimeOptions", "c8yForComparator", "c8yForEnableVirtualScroll", "c8yForVirtualScrollElementSize", "c8yForVirtualScrollStrategy", "c8yForVirtualScrollContainerHeight"], outputs: ["c8yForCount", "c8yForChange", "c8yForLoadMoreComponent"] }, { kind: "component", type: ListItemRadioComponent, selector: "c8y-list-item-radio, c8y-li-radio", inputs: ["selected", "name", "disabled", "value"], outputs: ["onSelect"] }, { kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
92
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: SelectDeviceProfileStepComponent, deps: [{ token: i1$1.DeviceProfileService }, { token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
93
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: SelectDeviceProfileStepComponent, isStandalone: true, selector: "c8y-select-device-profile-step", outputs: { deviceProfile: "deviceProfile" }, ngImport: i0, template: "<c8y-select-step-frame\n [header]=\"'Select device profile' | translate\"\n [noResults]=\"\n ((textFilter$ | async)?.length || (deviceType$ | async)?.length) &&\n (deviceProfile$ | async)?.data.length === 0\n \"\n>\n <div\n class=\"row\"\n filters\n >\n <div class=\"col-md-6 m-b-xs-8 m-b-sm-8\">\n <div class=\"input-group input-group-search\">\n <input\n class=\"form-control\"\n title=\"{{ 'Filter\u2026' | translate }}\"\n placeholder=\"{{ 'Filter\u2026' | translate }}\"\n type=\"search\"\n [ngModel]=\"textFilter$ | async\"\n (ngModelChange)=\"textFilter$.next($event)\"\n />\n <span class=\"input-group-addon\">\n <i\n c8yIcon=\"search\"\n *ngIf=\"(textFilter$ | async).length === 0\"\n ></i>\n <i\n class=\"text-muted\"\n c8yIcon=\"times\"\n *ngIf=\"(textFilter$ | async).length\"\n (click)=\"textFilter$.next('')\"\n ></i>\n </span>\n </div>\n </div>\n <div class=\"col-md-6 m-b-xs-8 m-b-sm-8\">\n <c8y-form-group class=\"m-0\">\n <c8y-typeahead\n placeholder=\"{{ 'Type to filter device types\u2026' | translate }}\"\n name=\"deviceType\"\n [(ngModel)]=\"selectedDeviceType\"\n (onSearch)=\"deviceType$.next($event)\"\n [allowFreeEntries]=\"false\"\n >\n <c8y-li\n class=\"p-l-8 p-r-8 c8y-list__item--link\"\n (click)=\"selectedDeviceType = { name: '' }; deviceType$.next('')\"\n >\n <span>{{ 'All device types' | translate }}</span>\n </c8y-li>\n <c8y-li\n class=\"p-l-8 p-r-8 c8y-list__item--link\"\n *ngFor=\"let deviceType of deviceTypes\"\n (click)=\"selectedDeviceType = deviceType; deviceType$.next(deviceType.name)\"\n [active]=\"selectedDeviceType === deviceType\"\n >\n <c8y-highlight\n [text]=\"deviceType.name\"\n [pattern]=\"deviceType$ | async\"\n ></c8y-highlight>\n </c8y-li>\n </c8y-typeahead>\n <c8y-messages>\n <c8y-message\n name=\"notExisting\"\n [text]=\"'Select one of the existing device types.' | translate\"\n ></c8y-message>\n </c8y-messages>\n </c8y-form-group>\n </div>\n </div>\n <c8y-li\n class=\"hidden-sm hidden-xs m-r-8 m-l-8\"\n header\n >\n <c8y-li-icon><i class=\"p-l-32 p-r-40\"></i></c8y-li-icon>\n <c8y-li-body class=\"content-flex-40\">\n <div class=\"col-5\">\n <span\n class=\"text-truncate\"\n title=\" {{ 'Name' | translate }} \"\n >\n {{ 'Name' | translate }}\n </span>\n </div>\n <div class=\"col-3\">\n <span\n class=\"text-truncate\"\n title=\"{{ 'Device type' | translate }}\"\n >\n {{ 'Device type' | translate }}\n </span>\n </div>\n </c8y-li-body>\n </c8y-li>\n <c8y-list-group list>\n <c8y-li *c8yFor=\"let deviceProfile of deviceProfile$ | async; loadMore: 'auto'\">\n <c8y-li-radio (onSelect)=\"selectDeviceProfile(deviceProfile)\"></c8y-li-radio>\n <c8y-li-icon>\n <i c8yIcon=\"c8y-device-profile\"></i>\n </c8y-li-icon>\n <c8y-li-body class=\"content-flex-40\">\n <div class=\"col-5 m-b-xs-8\">\n <div\n class=\"text-truncate\"\n title=\"{{ deviceProfile.name }}\"\n >\n {{ deviceProfile.name }}\n </div>\n </div>\n <div class=\"col-3 m-b-xs-8\">\n <div\n class=\"text-truncate\"\n title=\"{{ 'Device type' | translate }}: {{ getDeviceTypeTitle(deviceProfile) }}\"\n >\n <span\n class=\"text-label-small m-r-8 visible-xs visible-sm\"\n translate\n >\n Device type\n </span>\n <span *ngIf=\"deviceProfile.c8y_Filter?.type; else noType\">\n {{ deviceProfile.c8y_Filter?.type }}\n </span>\n <ng-template #noType>\n <small>\n <em\n class=\"text-muted\"\n translate\n >\n Undefined`device type`\n </em>\n </small>\n </ng-template>\n </div>\n </div>\n </c8y-li-body>\n </c8y-li>\n </c8y-list-group>\n</c8y-select-step-frame>\n", dependencies: [{ kind: "component", type: SelectStepFrameComponent, selector: "c8y-select-step-frame", inputs: ["header", "noResults"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "component", type: FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "component", type: TypeaheadComponent, selector: "c8y-typeahead", inputs: ["required", "maxlength", "disabled", "allowFreeEntries", "placeholder", "displayProperty", "icon", "name", "autoClose", "hideNew", "container", "selected", "title", "highlightFirstItem"], outputs: ["onSearch", "onIconClick"] }, { kind: "component", type: ListItemComponent, selector: "c8y-list-item, c8y-li", inputs: ["active", "highlighted", "emptyActions", "dense", "collapsed", "selectable"], outputs: ["collapsedChange"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: HighlightComponent, selector: "c8y-highlight", inputs: ["pattern", "text", "elementClass", "shouldTrimPattern"] }, { kind: "component", type: MessagesComponent, selector: "c8y-messages", inputs: ["show", "defaults", "helpMessage"] }, { kind: "directive", type: MessageDirective, selector: "c8y-message", inputs: ["name", "text"] }, { kind: "component", type: ListItemIconComponent, selector: "c8y-list-item-icon, c8y-li-icon", inputs: ["icon", "status"] }, { kind: "component", type: ListItemBodyComponent, selector: "c8y-list-item-body, c8y-li-body", inputs: ["body"] }, { kind: "component", type: ListGroupComponent, selector: "c8y-list-group" }, { kind: "directive", type: ForOfDirective, selector: "[c8yFor]", inputs: ["c8yForOf", "c8yForLoadMore", "c8yForPipe", "c8yForNotFound", "c8yForMaxIterations", "c8yForLoadingTemplate", "c8yForLoadNextLabel", "c8yForLoadingLabel", "c8yForRealtime", "c8yForRealtimeOptions", "c8yForComparator", "c8yForEnableVirtualScroll", "c8yForVirtualScrollElementSize", "c8yForVirtualScrollStrategy", "c8yForVirtualScrollContainerHeight"], outputs: ["c8yForCount", "c8yForChange", "c8yForLoadMoreComponent"] }, { kind: "component", type: ListItemRadioComponent, selector: "c8y-list-item-radio, c8y-li-radio", inputs: ["selected", "name", "disabled", "value"], outputs: ["onSelect"] }, { kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
94
94
  }
95
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SelectDeviceProfileStepComponent, decorators: [{
95
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: SelectDeviceProfileStepComponent, decorators: [{
96
96
  type: Component,
97
97
  args: [{ selector: 'c8y-select-device-profile-step', imports: [
98
98
  SelectStepFrameComponent,
@@ -143,10 +143,10 @@ class StepperBulkTypeDeviceProfileComponent extends BaseStepperComponent {
143
143
  }
144
144
  };
145
145
  }
146
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: StepperBulkTypeDeviceProfileComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
147
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: StepperBulkTypeDeviceProfileComponent, isStandalone: true, selector: "c8y-stepper-bulk-type-device-profile", usesInheritance: true, ngImport: i0, template: "<c8y-bulk-operation-stepper [type]=\"type\">\n <ng-container\n *customStep=\"\n 'Select device profile' | translate;\n completed: !!selectedDeviceProfile;\n buttonsDisabled: !selectedDeviceProfile;\n onNext: goToConfirmSelection.bind(this)\n \"\n >\n <c8y-select-device-profile-step\n (deviceProfile)=\"onDeviceProfileSelected($event)\"\n class=\"d-contents\"\n ></c8y-select-device-profile-step>\n </ng-container>\n <ng-container *customStep=\"'Confirm selected device profile' | translate\">\n <c8y-confirm-device-profile-selection-step\n class=\"d-contents\"\n [selectedDeviceProfile]=\"selectedDeviceProfile\"\n ></c8y-confirm-device-profile-selection-step>\n </ng-container>\n</c8y-bulk-operation-stepper>\n", dependencies: [{ kind: "component", type: BulkOperationStepper, selector: "c8y-bulk-operation-stepper", inputs: ["type"], outputs: ["selectionChange"] }, { kind: "directive", type: CustomStep, selector: "[customStep]", inputs: ["customStep", "customStepCompleted", "customStepButtonsDisabled", "customStepOnNext"] }, { kind: "component", type: SelectDeviceProfileStepComponent, selector: "c8y-select-device-profile-step", outputs: ["deviceProfile"] }, { kind: "component", type: ConfirmDeviceProfileSelectionStepComponent, selector: "c8y-confirm-device-profile-selection-step", inputs: ["selectedDeviceProfile"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }] }); }
146
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: StepperBulkTypeDeviceProfileComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
147
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: StepperBulkTypeDeviceProfileComponent, isStandalone: true, selector: "c8y-stepper-bulk-type-device-profile", usesInheritance: true, ngImport: i0, template: "<c8y-bulk-operation-stepper [type]=\"type\">\n <ng-container\n *customStep=\"\n 'Select device profile' | translate;\n completed: !!selectedDeviceProfile;\n buttonsDisabled: !selectedDeviceProfile;\n onNext: goToConfirmSelection.bind(this)\n \"\n >\n <c8y-select-device-profile-step\n (deviceProfile)=\"onDeviceProfileSelected($event)\"\n class=\"d-contents\"\n ></c8y-select-device-profile-step>\n </ng-container>\n <ng-container *customStep=\"'Confirm selected device profile' | translate\">\n <c8y-confirm-device-profile-selection-step\n class=\"d-contents\"\n [selectedDeviceProfile]=\"selectedDeviceProfile\"\n ></c8y-confirm-device-profile-selection-step>\n </ng-container>\n</c8y-bulk-operation-stepper>\n", dependencies: [{ kind: "component", type: BulkOperationStepper, selector: "c8y-bulk-operation-stepper", inputs: ["type"], outputs: ["selectionChange"] }, { kind: "directive", type: CustomStep, selector: "[customStep]", inputs: ["customStep", "customStepCompleted", "customStepButtonsDisabled", "customStepOnNext"] }, { kind: "component", type: SelectDeviceProfileStepComponent, selector: "c8y-select-device-profile-step", outputs: ["deviceProfile"] }, { kind: "component", type: ConfirmDeviceProfileSelectionStepComponent, selector: "c8y-confirm-device-profile-selection-step", inputs: ["selectedDeviceProfile"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }] }); }
148
148
  }
149
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: StepperBulkTypeDeviceProfileComponent, decorators: [{
149
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: StepperBulkTypeDeviceProfileComponent, decorators: [{
150
150
  type: Component,
151
151
  args: [{ selector: 'c8y-stepper-bulk-type-device-profile', imports: [
152
152
  BulkOperationStepper,
@@ -159,11 +159,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
159
159
 
160
160
  /** Module for the 'Apply device profile' operation type stepper */
161
161
  class StepperBulkTypeDeviceProfileModule {
162
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: StepperBulkTypeDeviceProfileModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
163
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.14", ngImport: i0, type: StepperBulkTypeDeviceProfileModule, imports: [StepperBulkTypeDeviceProfileComponent,
162
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: StepperBulkTypeDeviceProfileModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
163
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.15", ngImport: i0, type: StepperBulkTypeDeviceProfileModule, imports: [StepperBulkTypeDeviceProfileComponent,
164
164
  SelectDeviceProfileStepComponent,
165
165
  ConfirmDeviceProfileSelectionStepComponent], exports: [StepperBulkTypeDeviceProfileComponent] }); }
166
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: StepperBulkTypeDeviceProfileModule, providers: [
166
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: StepperBulkTypeDeviceProfileModule, providers: [
167
167
  hookListBulkType({
168
168
  type: BulkOperationType.DEVICE_PROFILE,
169
169
  c8yIcon: 'c8y-device-profile',
@@ -177,7 +177,7 @@ class StepperBulkTypeDeviceProfileModule {
177
177
  SelectDeviceProfileStepComponent,
178
178
  ConfirmDeviceProfileSelectionStepComponent] }); }
179
179
  }
180
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: StepperBulkTypeDeviceProfileModule, decorators: [{
180
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: StepperBulkTypeDeviceProfileModule, decorators: [{
181
181
  type: NgModule,
182
182
  args: [{
183
183
  imports: [
@@ -1 +1 @@
1
- {"version":3,"file":"c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs","sources":["../../operations/stepper-bulk-type-device-profile/confirm-device-profile-selection-step.component.ts","../../operations/stepper-bulk-type-device-profile/confirm-device-profile-selection-step.component.html","../../operations/stepper-bulk-type-device-profile/select-device-profile-step.component.ts","../../operations/stepper-bulk-type-device-profile/select-device-profile-step.component.html","../../operations/stepper-bulk-type-device-profile/stepper-bulk-type-device-profile.component.ts","../../operations/stepper-bulk-type-device-profile/stepper-bulk-type-device-profile.component.html","../../operations/stepper-bulk-type-device-profile/stepper-bulk-type-device-profile.module.ts","../../operations/stepper-bulk-type-device-profile/c8y-ngx-components-operations-stepper-bulk-type-device-profile.ts"],"sourcesContent":["import { Component, Input } from '@angular/core';\nimport { get } from 'lodash-es';\nimport { IManagedObject } from '@c8y/client';\nimport {\n gettext,\n ListGroupComponent,\n ListItemComponent,\n ListItemIconComponent,\n IconDirective,\n ListItemBodyComponent,\n C8yTranslateDirective,\n C8yTranslatePipe\n} from '@c8y/ngx-components';\nimport { TranslateService } from '@ngx-translate/core';\nimport {\n PreviewSelectionFrameComponent,\n PreviewBlockDirective\n} from '@c8y/ngx-components/operations/stepper-frames';\nimport { NgIf, NgFor } from '@angular/common';\n\n@Component({\n selector: 'c8y-confirm-device-profile-selection-step',\n templateUrl: 'confirm-device-profile-selection-step.component.html',\n imports: [\n PreviewSelectionFrameComponent,\n PreviewBlockDirective,\n NgIf,\n ListGroupComponent,\n ListItemComponent,\n ListItemIconComponent,\n IconDirective,\n ListItemBodyComponent,\n C8yTranslateDirective,\n NgFor,\n C8yTranslatePipe\n ]\n})\nexport class ConfirmDeviceProfileSelectionStepComponent {\n @Input() selectedDeviceProfile: IManagedObject;\n readonly DEVICE_TYPE_NOT_DEFINED = gettext('Device type not defined');\n\n constructor(private translate: TranslateService) {}\n\n get softwares() {\n return get(this.selectedDeviceProfile, ['c8y_DeviceProfile', 'software'], []);\n }\n\n get configurations() {\n return get(this.selectedDeviceProfile, ['c8y_DeviceProfile', 'configuration'], []);\n }\n\n getDeviceTypeTitle(deviceProfile: IManagedObject): string {\n return get(\n deviceProfile,\n 'c8y_Filter.type',\n this.translate.instant(this.DEVICE_TYPE_NOT_DEFINED)\n );\n }\n}\n","<c8y-preview-selection-frame\n [header]=\"'Confirm selection' | translate\"\n [name]=\"selectedDeviceProfile?.name\"\n>\n <ng-container *previewBlock=\"'Device type' | translate\">\n <ng-container *ngIf=\"selectedDeviceProfile?.c8y_Filter?.type; else noType\">\n <span>{{ selectedDeviceProfile.c8y_Filter.type }}</span>\n </ng-container>\n <ng-template #noType> --- </ng-template>\n </ng-container>\n <c8y-list-group\n *previewBlock=\"'Firmware' | translate; if: selectedDeviceProfile?.c8y_DeviceProfile.firmware\"\n >\n <c8y-li>\n <c8y-li-icon>\n <i c8yIcon=\"c8y-firmware\"></i>\n </c8y-li-icon>\n <c8y-li-body class=\"content-flex-500\">\n <div class=\"col-5\">\n {{ selectedDeviceProfile.c8y_DeviceProfile.firmware.name }}\n </div>\n <div class=\"col-5\">\n <span class=\"text-label-small m-r-8\" translate> Version </span>\n <span>\n {{ selectedDeviceProfile.c8y_DeviceProfile.firmware.version }}\n </span>\n </div>\n </c8y-li-body>\n </c8y-li>\n </c8y-list-group>\n <c8y-list-group *previewBlock=\"'Software' | translate; if: softwares?.length\">\n <c8y-li *ngFor=\"let software of softwares\">\n <c8y-li-icon>\n <i c8yIcon=\"c8y-tools\"></i>\n </c8y-li-icon>\n <c8y-li-body class=\"content-flex-500\">\n <div class=\"col-5\">\n {{ software.name }}\n </div>\n <div class=\"col-5\">\n <span class=\"text-label-small m-r-8\" translate> Version </span>\n <span>\n {{ software.version }}\n </span>\n </div>\n </c8y-li-body>\n </c8y-li>\n </c8y-list-group>\n <c8y-list-group *previewBlock=\"'Configuration' | translate; if: configurations?.length\">\n <c8y-li *ngFor=\"let configuration of configurations\">\n <c8y-li-icon>\n <i c8yIcon=\"c8y-tools\"></i>\n </c8y-li-icon>\n <c8y-li-body class=\"content-flex-500\">\n <div class=\"col-5\">\n {{ configuration.name }}\n </div>\n <div class=\"col-5\">\n <span class=\"label label-info\" *ngIf=\"configuration.type\">\n {{ configuration.type }}\n </span>\n </div>\n </c8y-li-body>\n </c8y-li>\n </c8y-list-group>\n</c8y-preview-selection-frame>\n","import { Component, Output, EventEmitter } from '@angular/core';\nimport { Observable, BehaviorSubject, combineLatest, Subscription, from } from 'rxjs';\nimport { switchMap, shareReplay, debounceTime, distinctUntilChanged } from 'rxjs/operators';\nimport { IResultList, IManagedObject } from '@c8y/client';\nimport { isEqual, uniqWith, get } from 'lodash-es';\nimport {\n gettext,\n IconDirective,\n FormGroupComponent,\n TypeaheadComponent,\n ListItemComponent,\n HighlightComponent,\n MessagesComponent,\n MessageDirective,\n ListItemIconComponent,\n ListItemBodyComponent,\n ListGroupComponent,\n ForOfDirective,\n ListItemRadioComponent,\n C8yTranslateDirective,\n C8yTranslatePipe\n} from '@c8y/ngx-components';\nimport { TranslateService } from '@ngx-translate/core';\nimport { DeviceProfileService } from '@c8y/ngx-components/device-profile';\nimport { SelectStepFrameComponent } from '@c8y/ngx-components/operations/stepper-frames';\nimport { FormsModule } from '@angular/forms';\nimport { NgIf, NgFor, AsyncPipe } from '@angular/common';\n\n@Component({\n selector: 'c8y-select-device-profile-step',\n templateUrl: 'select-device-profile-step.component.html',\n imports: [\n SelectStepFrameComponent,\n FormsModule,\n NgIf,\n IconDirective,\n FormGroupComponent,\n TypeaheadComponent,\n ListItemComponent,\n NgFor,\n HighlightComponent,\n MessagesComponent,\n MessageDirective,\n ListItemIconComponent,\n ListItemBodyComponent,\n ListGroupComponent,\n ForOfDirective,\n ListItemRadioComponent,\n C8yTranslateDirective,\n C8yTranslatePipe,\n AsyncPipe\n ]\n})\nexport class SelectDeviceProfileStepComponent {\n @Output() deviceProfile: EventEmitter<IManagedObject> = new EventEmitter<IManagedObject>();\n textFilter$: BehaviorSubject<string> = new BehaviorSubject('');\n deviceType$: BehaviorSubject<string> = new BehaviorSubject('');\n readonly DEVICE_TYPE_NOT_DEFINED = gettext('Device type not defined');\n deviceTypes = [];\n selectedDeviceType = { name: '' };\n deviceProfile$: Observable<IResultList<IManagedObject>> = combineLatest(\n this.textFilter$,\n this.deviceType$\n ).pipe(\n switchMap(([name, deviceType]) => this.getDeviceProfiles(name, deviceType)),\n shareReplay(1)\n );\n private deviceTypeSubscription: Subscription;\n\n constructor(\n private deviceProfileService: DeviceProfileService,\n private translate: TranslateService\n ) {\n this.loadDeviceTypes();\n }\n\n loadDeviceTypes() {\n this.deviceTypeSubscription = this.deviceType$\n .pipe(\n debounceTime(300),\n distinctUntilChanged(),\n switchMap(searchStr => {\n const query = { 'c8y_Filter.type': `*${searchStr}*` };\n return from(this.deviceProfileService.getDeviceProfiles(query));\n })\n )\n .subscribe(({ data }) => {\n this.deviceTypes = uniqWith(\n data.map(val => ({ name: val.c8y_Filter.type })).filter(val => val.name),\n isEqual\n );\n });\n }\n\n ngOnDestroy() {\n this.deviceTypeSubscription.unsubscribe();\n }\n\n selectDeviceProfile(deviceProfile: IManagedObject) {\n this.deviceProfile.emit(deviceProfile);\n }\n\n getDeviceTypeTitle(deviceProfile: IManagedObject): string {\n return get(\n deviceProfile,\n 'c8y_Filter.type',\n this.translate.instant(this.DEVICE_TYPE_NOT_DEFINED)\n );\n }\n\n private getDeviceProfiles(name?: string, deviceType?: string) {\n const query: any = deviceType ? { 'c8y_Filter.type': deviceType } : {};\n if (name) {\n query.name = `*${name}*`;\n }\n return this.deviceProfileService.getDeviceProfiles(query);\n }\n}\n","<c8y-select-step-frame\n [header]=\"'Select device profile' | translate\"\n [noResults]=\"\n ((textFilter$ | async)?.length || (deviceType$ | async)?.length) &&\n (deviceProfile$ | async)?.data.length === 0\n \"\n>\n <div\n class=\"row\"\n filters\n >\n <div class=\"col-md-6 m-b-xs-8 m-b-sm-8\">\n <div class=\"input-group input-group-search\">\n <input\n class=\"form-control\"\n title=\"{{ 'Filter…' | translate }}\"\n placeholder=\"{{ 'Filter…' | translate }}\"\n type=\"search\"\n [ngModel]=\"textFilter$ | async\"\n (ngModelChange)=\"textFilter$.next($event)\"\n />\n <span class=\"input-group-addon\">\n <i\n c8yIcon=\"search\"\n *ngIf=\"(textFilter$ | async).length === 0\"\n ></i>\n <i\n class=\"text-muted\"\n c8yIcon=\"times\"\n *ngIf=\"(textFilter$ | async).length\"\n (click)=\"textFilter$.next('')\"\n ></i>\n </span>\n </div>\n </div>\n <div class=\"col-md-6 m-b-xs-8 m-b-sm-8\">\n <c8y-form-group class=\"m-0\">\n <c8y-typeahead\n placeholder=\"{{ 'Type to filter device types…' | translate }}\"\n name=\"deviceType\"\n [(ngModel)]=\"selectedDeviceType\"\n (onSearch)=\"deviceType$.next($event)\"\n [allowFreeEntries]=\"false\"\n >\n <c8y-li\n class=\"p-l-8 p-r-8 c8y-list__item--link\"\n (click)=\"selectedDeviceType = { name: '' }; deviceType$.next('')\"\n >\n <span>{{ 'All device types' | translate }}</span>\n </c8y-li>\n <c8y-li\n class=\"p-l-8 p-r-8 c8y-list__item--link\"\n *ngFor=\"let deviceType of deviceTypes\"\n (click)=\"selectedDeviceType = deviceType; deviceType$.next(deviceType.name)\"\n [active]=\"selectedDeviceType === deviceType\"\n >\n <c8y-highlight\n [text]=\"deviceType.name\"\n [pattern]=\"deviceType$ | async\"\n ></c8y-highlight>\n </c8y-li>\n </c8y-typeahead>\n <c8y-messages>\n <c8y-message\n name=\"notExisting\"\n [text]=\"'Select one of the existing device types.' | translate\"\n ></c8y-message>\n </c8y-messages>\n </c8y-form-group>\n </div>\n </div>\n <c8y-li\n class=\"hidden-sm hidden-xs m-r-8 m-l-8\"\n header\n >\n <c8y-li-icon><i class=\"p-l-32 p-r-40\"></i></c8y-li-icon>\n <c8y-li-body class=\"content-flex-40\">\n <div class=\"col-5\">\n <span\n class=\"text-truncate\"\n title=\" {{ 'Name' | translate }} \"\n >\n {{ 'Name' | translate }}\n </span>\n </div>\n <div class=\"col-3\">\n <span\n class=\"text-truncate\"\n title=\"{{ 'Device type' | translate }}\"\n >\n {{ 'Device type' | translate }}\n </span>\n </div>\n </c8y-li-body>\n </c8y-li>\n <c8y-list-group list>\n <c8y-li *c8yFor=\"let deviceProfile of deviceProfile$ | async; loadMore: 'auto'\">\n <c8y-li-radio (onSelect)=\"selectDeviceProfile(deviceProfile)\"></c8y-li-radio>\n <c8y-li-icon>\n <i c8yIcon=\"c8y-device-profile\"></i>\n </c8y-li-icon>\n <c8y-li-body class=\"content-flex-40\">\n <div class=\"col-5 m-b-xs-8\">\n <div\n class=\"text-truncate\"\n title=\"{{ deviceProfile.name }}\"\n >\n {{ deviceProfile.name }}\n </div>\n </div>\n <div class=\"col-3 m-b-xs-8\">\n <div\n class=\"text-truncate\"\n title=\"{{ 'Device type' | translate }}: {{ getDeviceTypeTitle(deviceProfile) }}\"\n >\n <span\n class=\"text-label-small m-r-8 visible-xs visible-sm\"\n translate\n >\n Device type\n </span>\n <span *ngIf=\"deviceProfile.c8y_Filter?.type; else noType\">\n {{ deviceProfile.c8y_Filter?.type }}\n </span>\n <ng-template #noType>\n <small>\n <em\n class=\"text-muted\"\n translate\n >\n Undefined`device type`\n </em>\n </small>\n </ng-template>\n </div>\n </div>\n </c8y-li-body>\n </c8y-li>\n </c8y-list-group>\n</c8y-select-step-frame>\n","import { CdkStep } from '@angular/cdk/stepper';\nimport { Component } from '@angular/core';\nimport { IManagedObject, IOperation } from '@c8y/client';\nimport { C8yStepper, gettext, C8yTranslatePipe } from '@c8y/ngx-components';\nimport {\n BaseStepperComponent,\n BulkOperationStepper,\n CustomStep\n} from '@c8y/ngx-components/operations/bulk-operation-stepper';\nimport {\n BulkOperationType,\n OperationDetails\n} from '@c8y/ngx-components/operations/bulk-operations-service';\nimport { get } from 'lodash-es';\nimport { SelectDeviceProfileStepComponent } from './select-device-profile-step.component';\nimport { ConfirmDeviceProfileSelectionStepComponent } from './confirm-device-profile-selection-step.component';\n\n@Component({\n selector: 'c8y-stepper-bulk-type-device-profile',\n templateUrl: 'stepper-bulk-type-device-profile.component.html',\n imports: [\n BulkOperationStepper,\n CustomStep,\n SelectDeviceProfileStepComponent,\n ConfirmDeviceProfileSelectionStepComponent,\n C8yTranslatePipe\n ]\n})\nexport class StepperBulkTypeDeviceProfileComponent extends BaseStepperComponent {\n readonly type: BulkOperationType = BulkOperationType.DEVICE_PROFILE;\n selectedDeviceProfile: IManagedObject;\n\n goToConfirmSelection($event: { stepper: C8yStepper; step: CdkStep }) {\n this.deviceTypes = get(this.selectedDeviceProfile, 'c8y_Filter.type');\n $event.stepper.next();\n }\n\n onDeviceProfileSelected(selectedItem) {\n this.selectedDeviceProfile = selectedItem;\n }\n\n protected retrieveOperationPrototype(): OperationDetails {\n return {\n name: gettext('Apply device profile'),\n description: get(this.selectedDeviceProfile, 'name'),\n prototype: {\n description: `Apply device profile: ${this.selectedDeviceProfile.name}`,\n profileId: this.selectedDeviceProfile.id,\n profileName: this.selectedDeviceProfile.name,\n c8y_DeviceProfile: this.selectedDeviceProfile.c8y_DeviceProfile\n } as unknown as IOperation\n };\n }\n}\n","<c8y-bulk-operation-stepper [type]=\"type\">\n <ng-container\n *customStep=\"\n 'Select device profile' | translate;\n completed: !!selectedDeviceProfile;\n buttonsDisabled: !selectedDeviceProfile;\n onNext: goToConfirmSelection.bind(this)\n \"\n >\n <c8y-select-device-profile-step\n (deviceProfile)=\"onDeviceProfileSelected($event)\"\n class=\"d-contents\"\n ></c8y-select-device-profile-step>\n </ng-container>\n <ng-container *customStep=\"'Confirm selected device profile' | translate\">\n <c8y-confirm-device-profile-selection-step\n class=\"d-contents\"\n [selectedDeviceProfile]=\"selectedDeviceProfile\"\n ></c8y-confirm-device-profile-selection-step>\n </ng-container>\n</c8y-bulk-operation-stepper>\n","import { NgModule } from '@angular/core';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport {\n baseUrl,\n BulkOperationType,\n hookListBulkType\n} from '@c8y/ngx-components/operations/bulk-operations-service';\nimport { ConfirmDeviceProfileSelectionStepComponent } from './confirm-device-profile-selection-step.component';\nimport { SelectDeviceProfileStepComponent } from './select-device-profile-step.component';\nimport { StepperBulkTypeDeviceProfileComponent } from './stepper-bulk-type-device-profile.component';\n\n/** Module for the 'Apply device profile' operation type stepper */\n@NgModule({\n imports: [\n StepperBulkTypeDeviceProfileComponent,\n SelectDeviceProfileStepComponent,\n ConfirmDeviceProfileSelectionStepComponent\n ],\n providers: [\n hookListBulkType({\n type: BulkOperationType.DEVICE_PROFILE,\n c8yIcon: 'c8y-device-profile',\n name: gettext('Apply device profile'),\n path: `${baseUrl}device-profile`,\n component: StepperBulkTypeDeviceProfileComponent,\n fragments: ['c8y_DeviceProfile'],\n selected: false\n })\n ],\n exports: [StepperBulkTypeDeviceProfileComponent]\n})\nexport class StepperBulkTypeDeviceProfileModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","gettext"],"mappings":"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"}
1
+ {"version":3,"file":"c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs","sources":["../../operations/stepper-bulk-type-device-profile/confirm-device-profile-selection-step.component.ts","../../operations/stepper-bulk-type-device-profile/confirm-device-profile-selection-step.component.html","../../operations/stepper-bulk-type-device-profile/select-device-profile-step.component.ts","../../operations/stepper-bulk-type-device-profile/select-device-profile-step.component.html","../../operations/stepper-bulk-type-device-profile/stepper-bulk-type-device-profile.component.ts","../../operations/stepper-bulk-type-device-profile/stepper-bulk-type-device-profile.component.html","../../operations/stepper-bulk-type-device-profile/stepper-bulk-type-device-profile.module.ts","../../operations/stepper-bulk-type-device-profile/c8y-ngx-components-operations-stepper-bulk-type-device-profile.ts"],"sourcesContent":["import { Component, Input } from '@angular/core';\nimport { get } from 'lodash-es';\nimport { IManagedObject } from '@c8y/client';\nimport {\n gettext,\n ListGroupComponent,\n ListItemComponent,\n ListItemIconComponent,\n IconDirective,\n ListItemBodyComponent,\n C8yTranslateDirective,\n C8yTranslatePipe\n} from '@c8y/ngx-components';\nimport { TranslateService } from '@ngx-translate/core';\nimport {\n PreviewSelectionFrameComponent,\n PreviewBlockDirective\n} from '@c8y/ngx-components/operations/stepper-frames';\nimport { NgIf, NgFor } from '@angular/common';\n\n@Component({\n selector: 'c8y-confirm-device-profile-selection-step',\n templateUrl: 'confirm-device-profile-selection-step.component.html',\n imports: [\n PreviewSelectionFrameComponent,\n PreviewBlockDirective,\n NgIf,\n ListGroupComponent,\n ListItemComponent,\n ListItemIconComponent,\n IconDirective,\n ListItemBodyComponent,\n C8yTranslateDirective,\n NgFor,\n C8yTranslatePipe\n ]\n})\nexport class ConfirmDeviceProfileSelectionStepComponent {\n @Input() selectedDeviceProfile: IManagedObject;\n readonly DEVICE_TYPE_NOT_DEFINED = gettext('Device type not defined');\n\n constructor(private translate: TranslateService) {}\n\n get softwares() {\n return get(this.selectedDeviceProfile, ['c8y_DeviceProfile', 'software'], []);\n }\n\n get configurations() {\n return get(this.selectedDeviceProfile, ['c8y_DeviceProfile', 'configuration'], []);\n }\n\n getDeviceTypeTitle(deviceProfile: IManagedObject): string {\n return get(\n deviceProfile,\n 'c8y_Filter.type',\n this.translate.instant(this.DEVICE_TYPE_NOT_DEFINED)\n );\n }\n}\n","<c8y-preview-selection-frame\n [header]=\"'Confirm selection' | translate\"\n [name]=\"selectedDeviceProfile?.name\"\n>\n <ng-container *previewBlock=\"'Device type' | translate\">\n <ng-container *ngIf=\"selectedDeviceProfile?.c8y_Filter?.type; else noType\">\n <span>{{ selectedDeviceProfile.c8y_Filter.type }}</span>\n </ng-container>\n <ng-template #noType> --- </ng-template>\n </ng-container>\n <c8y-list-group\n *previewBlock=\"'Firmware' | translate; if: selectedDeviceProfile?.c8y_DeviceProfile.firmware\"\n >\n <c8y-li>\n <c8y-li-icon>\n <i c8yIcon=\"c8y-firmware\"></i>\n </c8y-li-icon>\n <c8y-li-body class=\"content-flex-500\">\n <div class=\"col-5\">\n {{ selectedDeviceProfile.c8y_DeviceProfile.firmware.name }}\n </div>\n <div class=\"col-5\">\n <span class=\"text-label-small m-r-8\" translate> Version </span>\n <span>\n {{ selectedDeviceProfile.c8y_DeviceProfile.firmware.version }}\n </span>\n </div>\n </c8y-li-body>\n </c8y-li>\n </c8y-list-group>\n <c8y-list-group *previewBlock=\"'Software' | translate; if: softwares?.length\">\n <c8y-li *ngFor=\"let software of softwares\">\n <c8y-li-icon>\n <i c8yIcon=\"c8y-tools\"></i>\n </c8y-li-icon>\n <c8y-li-body class=\"content-flex-500\">\n <div class=\"col-5\">\n {{ software.name }}\n </div>\n <div class=\"col-5\">\n <span class=\"text-label-small m-r-8\" translate> Version </span>\n <span>\n {{ software.version }}\n </span>\n </div>\n </c8y-li-body>\n </c8y-li>\n </c8y-list-group>\n <c8y-list-group *previewBlock=\"'Configuration' | translate; if: configurations?.length\">\n <c8y-li *ngFor=\"let configuration of configurations\">\n <c8y-li-icon>\n <i c8yIcon=\"c8y-tools\"></i>\n </c8y-li-icon>\n <c8y-li-body class=\"content-flex-500\">\n <div class=\"col-5\">\n {{ configuration.name }}\n </div>\n <div class=\"col-5\">\n <span class=\"label label-info\" *ngIf=\"configuration.type\">\n {{ configuration.type }}\n </span>\n </div>\n </c8y-li-body>\n </c8y-li>\n </c8y-list-group>\n</c8y-preview-selection-frame>\n","import { Component, Output, EventEmitter } from '@angular/core';\nimport { Observable, BehaviorSubject, combineLatest, Subscription, from } from 'rxjs';\nimport { switchMap, shareReplay, debounceTime, distinctUntilChanged } from 'rxjs/operators';\nimport { IResultList, IManagedObject } from '@c8y/client';\nimport { isEqual, uniqWith, get } from 'lodash-es';\nimport {\n gettext,\n IconDirective,\n FormGroupComponent,\n TypeaheadComponent,\n ListItemComponent,\n HighlightComponent,\n MessagesComponent,\n MessageDirective,\n ListItemIconComponent,\n ListItemBodyComponent,\n ListGroupComponent,\n ForOfDirective,\n ListItemRadioComponent,\n C8yTranslateDirective,\n C8yTranslatePipe\n} from '@c8y/ngx-components';\nimport { TranslateService } from '@ngx-translate/core';\nimport { DeviceProfileService } from '@c8y/ngx-components/device-profile';\nimport { SelectStepFrameComponent } from '@c8y/ngx-components/operations/stepper-frames';\nimport { FormsModule } from '@angular/forms';\nimport { NgIf, NgFor, AsyncPipe } from '@angular/common';\n\n@Component({\n selector: 'c8y-select-device-profile-step',\n templateUrl: 'select-device-profile-step.component.html',\n imports: [\n SelectStepFrameComponent,\n FormsModule,\n NgIf,\n IconDirective,\n FormGroupComponent,\n TypeaheadComponent,\n ListItemComponent,\n NgFor,\n HighlightComponent,\n MessagesComponent,\n MessageDirective,\n ListItemIconComponent,\n ListItemBodyComponent,\n ListGroupComponent,\n ForOfDirective,\n ListItemRadioComponent,\n C8yTranslateDirective,\n C8yTranslatePipe,\n AsyncPipe\n ]\n})\nexport class SelectDeviceProfileStepComponent {\n @Output() deviceProfile: EventEmitter<IManagedObject> = new EventEmitter<IManagedObject>();\n textFilter$: BehaviorSubject<string> = new BehaviorSubject('');\n deviceType$: BehaviorSubject<string> = new BehaviorSubject('');\n readonly DEVICE_TYPE_NOT_DEFINED = gettext('Device type not defined');\n deviceTypes = [];\n selectedDeviceType = { name: '' };\n deviceProfile$: Observable<IResultList<IManagedObject>> = combineLatest(\n this.textFilter$,\n this.deviceType$\n ).pipe(\n switchMap(([name, deviceType]) => this.getDeviceProfiles(name, deviceType)),\n shareReplay(1)\n );\n private deviceTypeSubscription: Subscription;\n\n constructor(\n private deviceProfileService: DeviceProfileService,\n private translate: TranslateService\n ) {\n this.loadDeviceTypes();\n }\n\n loadDeviceTypes() {\n this.deviceTypeSubscription = this.deviceType$\n .pipe(\n debounceTime(300),\n distinctUntilChanged(),\n switchMap(searchStr => {\n const query = { 'c8y_Filter.type': `*${searchStr}*` };\n return from(this.deviceProfileService.getDeviceProfiles(query));\n })\n )\n .subscribe(({ data }) => {\n this.deviceTypes = uniqWith(\n data.map(val => ({ name: val.c8y_Filter.type })).filter(val => val.name),\n isEqual\n );\n });\n }\n\n ngOnDestroy() {\n this.deviceTypeSubscription.unsubscribe();\n }\n\n selectDeviceProfile(deviceProfile: IManagedObject) {\n this.deviceProfile.emit(deviceProfile);\n }\n\n getDeviceTypeTitle(deviceProfile: IManagedObject): string {\n return get(\n deviceProfile,\n 'c8y_Filter.type',\n this.translate.instant(this.DEVICE_TYPE_NOT_DEFINED)\n );\n }\n\n private getDeviceProfiles(name?: string, deviceType?: string) {\n const query: any = deviceType ? { 'c8y_Filter.type': deviceType } : {};\n if (name) {\n query.name = `*${name}*`;\n }\n return this.deviceProfileService.getDeviceProfiles(query);\n }\n}\n","<c8y-select-step-frame\n [header]=\"'Select device profile' | translate\"\n [noResults]=\"\n ((textFilter$ | async)?.length || (deviceType$ | async)?.length) &&\n (deviceProfile$ | async)?.data.length === 0\n \"\n>\n <div\n class=\"row\"\n filters\n >\n <div class=\"col-md-6 m-b-xs-8 m-b-sm-8\">\n <div class=\"input-group input-group-search\">\n <input\n class=\"form-control\"\n title=\"{{ 'Filter…' | translate }}\"\n placeholder=\"{{ 'Filter…' | translate }}\"\n type=\"search\"\n [ngModel]=\"textFilter$ | async\"\n (ngModelChange)=\"textFilter$.next($event)\"\n />\n <span class=\"input-group-addon\">\n <i\n c8yIcon=\"search\"\n *ngIf=\"(textFilter$ | async).length === 0\"\n ></i>\n <i\n class=\"text-muted\"\n c8yIcon=\"times\"\n *ngIf=\"(textFilter$ | async).length\"\n (click)=\"textFilter$.next('')\"\n ></i>\n </span>\n </div>\n </div>\n <div class=\"col-md-6 m-b-xs-8 m-b-sm-8\">\n <c8y-form-group class=\"m-0\">\n <c8y-typeahead\n placeholder=\"{{ 'Type to filter device types…' | translate }}\"\n name=\"deviceType\"\n [(ngModel)]=\"selectedDeviceType\"\n (onSearch)=\"deviceType$.next($event)\"\n [allowFreeEntries]=\"false\"\n >\n <c8y-li\n class=\"p-l-8 p-r-8 c8y-list__item--link\"\n (click)=\"selectedDeviceType = { name: '' }; deviceType$.next('')\"\n >\n <span>{{ 'All device types' | translate }}</span>\n </c8y-li>\n <c8y-li\n class=\"p-l-8 p-r-8 c8y-list__item--link\"\n *ngFor=\"let deviceType of deviceTypes\"\n (click)=\"selectedDeviceType = deviceType; deviceType$.next(deviceType.name)\"\n [active]=\"selectedDeviceType === deviceType\"\n >\n <c8y-highlight\n [text]=\"deviceType.name\"\n [pattern]=\"deviceType$ | async\"\n ></c8y-highlight>\n </c8y-li>\n </c8y-typeahead>\n <c8y-messages>\n <c8y-message\n name=\"notExisting\"\n [text]=\"'Select one of the existing device types.' | translate\"\n ></c8y-message>\n </c8y-messages>\n </c8y-form-group>\n </div>\n </div>\n <c8y-li\n class=\"hidden-sm hidden-xs m-r-8 m-l-8\"\n header\n >\n <c8y-li-icon><i class=\"p-l-32 p-r-40\"></i></c8y-li-icon>\n <c8y-li-body class=\"content-flex-40\">\n <div class=\"col-5\">\n <span\n class=\"text-truncate\"\n title=\" {{ 'Name' | translate }} \"\n >\n {{ 'Name' | translate }}\n </span>\n </div>\n <div class=\"col-3\">\n <span\n class=\"text-truncate\"\n title=\"{{ 'Device type' | translate }}\"\n >\n {{ 'Device type' | translate }}\n </span>\n </div>\n </c8y-li-body>\n </c8y-li>\n <c8y-list-group list>\n <c8y-li *c8yFor=\"let deviceProfile of deviceProfile$ | async; loadMore: 'auto'\">\n <c8y-li-radio (onSelect)=\"selectDeviceProfile(deviceProfile)\"></c8y-li-radio>\n <c8y-li-icon>\n <i c8yIcon=\"c8y-device-profile\"></i>\n </c8y-li-icon>\n <c8y-li-body class=\"content-flex-40\">\n <div class=\"col-5 m-b-xs-8\">\n <div\n class=\"text-truncate\"\n title=\"{{ deviceProfile.name }}\"\n >\n {{ deviceProfile.name }}\n </div>\n </div>\n <div class=\"col-3 m-b-xs-8\">\n <div\n class=\"text-truncate\"\n title=\"{{ 'Device type' | translate }}: {{ getDeviceTypeTitle(deviceProfile) }}\"\n >\n <span\n class=\"text-label-small m-r-8 visible-xs visible-sm\"\n translate\n >\n Device type\n </span>\n <span *ngIf=\"deviceProfile.c8y_Filter?.type; else noType\">\n {{ deviceProfile.c8y_Filter?.type }}\n </span>\n <ng-template #noType>\n <small>\n <em\n class=\"text-muted\"\n translate\n >\n Undefined`device type`\n </em>\n </small>\n </ng-template>\n </div>\n </div>\n </c8y-li-body>\n </c8y-li>\n </c8y-list-group>\n</c8y-select-step-frame>\n","import { CdkStep } from '@angular/cdk/stepper';\nimport { Component } from '@angular/core';\nimport { IManagedObject, IOperation } from '@c8y/client';\nimport { C8yStepper, gettext, C8yTranslatePipe } from '@c8y/ngx-components';\nimport {\n BaseStepperComponent,\n BulkOperationStepper,\n CustomStep\n} from '@c8y/ngx-components/operations/bulk-operation-stepper';\nimport {\n BulkOperationType,\n OperationDetails\n} from '@c8y/ngx-components/operations/bulk-operations-service';\nimport { get } from 'lodash-es';\nimport { SelectDeviceProfileStepComponent } from './select-device-profile-step.component';\nimport { ConfirmDeviceProfileSelectionStepComponent } from './confirm-device-profile-selection-step.component';\n\n@Component({\n selector: 'c8y-stepper-bulk-type-device-profile',\n templateUrl: 'stepper-bulk-type-device-profile.component.html',\n imports: [\n BulkOperationStepper,\n CustomStep,\n SelectDeviceProfileStepComponent,\n ConfirmDeviceProfileSelectionStepComponent,\n C8yTranslatePipe\n ]\n})\nexport class StepperBulkTypeDeviceProfileComponent extends BaseStepperComponent {\n readonly type: BulkOperationType = BulkOperationType.DEVICE_PROFILE;\n selectedDeviceProfile: IManagedObject;\n\n goToConfirmSelection($event: { stepper: C8yStepper; step: CdkStep }) {\n this.deviceTypes = get(this.selectedDeviceProfile, 'c8y_Filter.type');\n $event.stepper.next();\n }\n\n onDeviceProfileSelected(selectedItem) {\n this.selectedDeviceProfile = selectedItem;\n }\n\n protected retrieveOperationPrototype(): OperationDetails {\n return {\n name: gettext('Apply device profile'),\n description: get(this.selectedDeviceProfile, 'name'),\n prototype: {\n description: `Apply device profile: ${this.selectedDeviceProfile.name}`,\n profileId: this.selectedDeviceProfile.id,\n profileName: this.selectedDeviceProfile.name,\n c8y_DeviceProfile: this.selectedDeviceProfile.c8y_DeviceProfile\n } as unknown as IOperation\n };\n }\n}\n","<c8y-bulk-operation-stepper [type]=\"type\">\n <ng-container\n *customStep=\"\n 'Select device profile' | translate;\n completed: !!selectedDeviceProfile;\n buttonsDisabled: !selectedDeviceProfile;\n onNext: goToConfirmSelection.bind(this)\n \"\n >\n <c8y-select-device-profile-step\n (deviceProfile)=\"onDeviceProfileSelected($event)\"\n class=\"d-contents\"\n ></c8y-select-device-profile-step>\n </ng-container>\n <ng-container *customStep=\"'Confirm selected device profile' | translate\">\n <c8y-confirm-device-profile-selection-step\n class=\"d-contents\"\n [selectedDeviceProfile]=\"selectedDeviceProfile\"\n ></c8y-confirm-device-profile-selection-step>\n </ng-container>\n</c8y-bulk-operation-stepper>\n","import { NgModule } from '@angular/core';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport {\n baseUrl,\n BulkOperationType,\n hookListBulkType\n} from '@c8y/ngx-components/operations/bulk-operations-service';\nimport { ConfirmDeviceProfileSelectionStepComponent } from './confirm-device-profile-selection-step.component';\nimport { SelectDeviceProfileStepComponent } from './select-device-profile-step.component';\nimport { StepperBulkTypeDeviceProfileComponent } from './stepper-bulk-type-device-profile.component';\n\n/** Module for the 'Apply device profile' operation type stepper */\n@NgModule({\n imports: [\n StepperBulkTypeDeviceProfileComponent,\n SelectDeviceProfileStepComponent,\n ConfirmDeviceProfileSelectionStepComponent\n ],\n providers: [\n hookListBulkType({\n type: BulkOperationType.DEVICE_PROFILE,\n c8yIcon: 'c8y-device-profile',\n name: gettext('Apply device profile'),\n path: `${baseUrl}device-profile`,\n component: StepperBulkTypeDeviceProfileComponent,\n fragments: ['c8y_DeviceProfile'],\n selected: false\n })\n ],\n exports: [StepperBulkTypeDeviceProfileComponent]\n})\nexport class StepperBulkTypeDeviceProfileModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","gettext"],"mappings":"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"}
@@ -56,8 +56,8 @@ class SelectFirmwareComponent {
56
56
  getFirmwares(partialName) {
57
57
  return this.repositoryService.listRepositoryEntries(RepositoryType.FIRMWARE, { partialName });
58
58
  }
59
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SelectFirmwareComponent, deps: [{ token: i1.RepositoryService }, { token: i2.BulkOperationsService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
60
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: SelectFirmwareComponent, isStandalone: true, selector: "c8y-select-firmware-step", inputs: { selected: "selected" }, outputs: { firmware: "firmware" }, ngImport: i0, template: "<c8y-select-step-frame\n [header]=\"'Select firmware' | translate\"\n [noResults]=\"(textFilter$ | async).length > 0 && elementCount === 0\"\n>\n <label\n class=\"sr-only\"\n for=\"fFilter\"\n >\n {{ 'Filter\u2026' | translate }}\n </label>\n <div\n class=\"input-group input-group-search\"\n filters\n >\n <input\n class=\"form-control\"\n title=\"{{ 'Filter\u2026' | translate }}\"\n id=\"fFilter\"\n placeholder=\"{{ 'Filter\u2026' | translate }}\"\n type=\"search\"\n [ngModel]=\"textFilter$ | async\"\n (ngModelChange)=\"textFilter$.next($event)\"\n />\n <span class=\"input-group-addon\">\n <i\n c8yIcon=\"search\"\n *ngIf=\"(textFilter$ | async).length === 0\"\n ></i>\n <i\n class=\"text-muted\"\n c8yIcon=\"times\"\n *ngIf=\"(textFilter$ | async).length > 0\"\n (click)=\"textFilter$.next('')\"\n ></i>\n </span>\n </div>\n <c8y-li\n class=\"hidden-sm hidden-xs m-r-8 m-l-8\"\n header\n >\n <c8y-li-icon><i class=\"p-l-32 p-r-40\"></i></c8y-li-icon>\n <c8y-li-body class=\"content-flex-40\">\n <div class=\"col-3\">\n <span\n class=\"text-truncate\"\n title=\" {{ 'Name' | translate }} \"\n >\n {{ 'Name' | translate }}\n </span>\n </div>\n <div class=\"col-4\">\n <span\n class=\"text-truncate\"\n title=\"{{ 'Description' | translate }}\"\n >\n {{ 'Description' | translate }}\n </span>\n </div>\n <div class=\"col-3\">\n <span\n class=\"text-truncate\"\n title=\"{{ 'Device type' | translate }}\"\n >\n {{ 'Device type' | translate }}\n </span>\n </div>\n <div class=\"col-2\">\n <span\n class=\"text-truncate\"\n title=\"{{ 'Versions' | translate }}\"\n >\n {{ 'Versions' | translate }}\n </span>\n </div>\n </c8y-li-body>\n </c8y-li>\n <c8y-list-group list>\n <c8y-li *c8yFor=\"let firmware of firmwares$ | async; let i = index; loadMore: 'auto'\">\n <c8y-li-radio\n (onSelect)=\"selectFirmware($event, firmware)\"\n [selected]=\"firmware === selected\"\n ></c8y-li-radio>\n <c8y-li-icon>\n <i c8yIcon=\"c8y-firmware\"></i>\n </c8y-li-icon>\n\n <c8y-li-body class=\"content-flex-40\">\n <div class=\"col-3 m-b-xs-8\">\n <div\n class=\"text-truncate\"\n title=\"{{ firmware.name }}\"\n >\n <c8y-highlight\n [text]=\"firmware.name\"\n [pattern]=\"textFilter$ | async\"\n ></c8y-highlight>\n </div>\n </div>\n <div class=\"col-4 m-b-xs-8\">\n <div\n class=\"text-truncate\"\n title=\"{{ getDescriptionTitle(firmware) }}\"\n >\n <span\n class=\"text-label-small m-r-8 visible-xs visible-sm\"\n translate\n >\n Description\n </span>\n <small *ngIf=\"firmware.description; else noDesc\">\n {{ firmware.description }}\n </small>\n <ng-template #noDesc>\n <small>\n <em\n class=\"text-muted\"\n translate\n >\n No description available.\n </em>\n </small>\n </ng-template>\n </div>\n </div>\n <div class=\"col-3 m-b-xs-8\">\n <div\n class=\"text-truncate\"\n title=\"{{ 'Device type' | translate }}: {{ getDeviceTypeTitle(firmware) }}\"\n >\n <span\n class=\"text-label-small m-r-8 visible-xs visible-sm\"\n translate\n >\n Device type\n </span>\n <span *ngIf=\"firmware.c8y_Filter?.type; else noType\">\n {{ firmware.c8y_Filter?.type }}\n </span>\n <ng-template #noType>\n <em\n class=\"text-muted\"\n translate\n >\n Undefined`device type`\n </em>\n </ng-template>\n </div>\n </div>\n <div class=\"col-2\">\n <span\n class=\"label label-warning m-l-auto-sm\"\n *ngIf=\"isLegacy(firmware)\"\n >\n <span translate>Legacy</span>\n </span>\n\n <span *ngIf=\"!isLegacy(firmware)\">\n <span *ngIf=\"(getBaseVersionsCount$(firmware) | async) === null\">\n <span class=\"label label-info\">\n <i\n class=\"icon-spin\"\n c8yIcon=\"circle-o-notch\"\n ></i>\n </span>\n </span>\n <span *ngIf=\"(getBaseVersionsCount$(firmware) | async) !== null\">\n <span [ngPlural]=\"getBaseVersionsCount$(firmware) | async\">\n <ng-template ngPluralCase=\"=0\">\n <span class=\"label label-default\">\n <span translate>No versions</span>\n </span>\n </ng-template>\n <ng-template ngPluralCase=\"=1\">\n <span\n class=\"text-label-small m-r-8 visible-xs visible-sm\"\n translate\n >\n version\n </span>\n <span class=\"badge badge-info m-l-auto-sm\">1</span>\n </ng-template>\n <ng-template ngPluralCase=\"other\">\n <span\n class=\"text-label-small m-r-8 visible-xs visible-sm\"\n translate\n >\n versions\n </span>\n <span class=\"badge badge-info m-l-auto-sm\">\n {{ getBaseVersionsCount$(firmware) | async }}\n </span>\n </ng-template>\n </span>\n </span>\n </span>\n </div>\n </c8y-li-body>\n </c8y-li>\n </c8y-list-group>\n</c8y-select-step-frame>\n", dependencies: [{ kind: "component", type: SelectStepFrameComponent, selector: "c8y-select-step-frame", inputs: ["header", "noResults"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "component", type: ListItemComponent, selector: "c8y-list-item, c8y-li", inputs: ["active", "highlighted", "emptyActions", "dense", "collapsed", "selectable"], outputs: ["collapsedChange"] }, { kind: "component", type: ListItemIconComponent, selector: "c8y-list-item-icon, c8y-li-icon", inputs: ["icon", "status"] }, { kind: "component", type: ListItemBodyComponent, selector: "c8y-list-item-body, c8y-li-body", inputs: ["body"] }, { kind: "component", type: ListGroupComponent, selector: "c8y-list-group" }, { kind: "directive", type: ForOfDirective, selector: "[c8yFor]", inputs: ["c8yForOf", "c8yForLoadMore", "c8yForPipe", "c8yForNotFound", "c8yForMaxIterations", "c8yForLoadingTemplate", "c8yForLoadNextLabel", "c8yForLoadingLabel", "c8yForRealtime", "c8yForRealtimeOptions", "c8yForComparator", "c8yForEnableVirtualScroll", "c8yForVirtualScrollElementSize", "c8yForVirtualScrollStrategy", "c8yForVirtualScrollContainerHeight"], outputs: ["c8yForCount", "c8yForChange", "c8yForLoadMoreComponent"] }, { kind: "component", type: ListItemRadioComponent, selector: "c8y-list-item-radio, c8y-li-radio", inputs: ["selected", "name", "disabled", "value"], outputs: ["onSelect"] }, { kind: "component", type: HighlightComponent, selector: "c8y-highlight", inputs: ["pattern", "text", "elementClass", "shouldTrimPattern"] }, { kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: NgPlural, selector: "[ngPlural]", inputs: ["ngPlural"] }, { kind: "directive", type: NgPluralCase, selector: "[ngPluralCase]" }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
59
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: SelectFirmwareComponent, deps: [{ token: i1.RepositoryService }, { token: i2.BulkOperationsService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
60
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: SelectFirmwareComponent, isStandalone: true, selector: "c8y-select-firmware-step", inputs: { selected: "selected" }, outputs: { firmware: "firmware" }, ngImport: i0, template: "<c8y-select-step-frame\n [header]=\"'Select firmware' | translate\"\n [noResults]=\"(textFilter$ | async).length > 0 && elementCount === 0\"\n>\n <label\n class=\"sr-only\"\n for=\"fFilter\"\n >\n {{ 'Filter\u2026' | translate }}\n </label>\n <div\n class=\"input-group input-group-search\"\n filters\n >\n <input\n class=\"form-control\"\n title=\"{{ 'Filter\u2026' | translate }}\"\n id=\"fFilter\"\n placeholder=\"{{ 'Filter\u2026' | translate }}\"\n type=\"search\"\n [ngModel]=\"textFilter$ | async\"\n (ngModelChange)=\"textFilter$.next($event)\"\n />\n <span class=\"input-group-addon\">\n <i\n c8yIcon=\"search\"\n *ngIf=\"(textFilter$ | async).length === 0\"\n ></i>\n <i\n class=\"text-muted\"\n c8yIcon=\"times\"\n *ngIf=\"(textFilter$ | async).length > 0\"\n (click)=\"textFilter$.next('')\"\n ></i>\n </span>\n </div>\n <c8y-li\n class=\"hidden-sm hidden-xs m-r-8 m-l-8\"\n header\n >\n <c8y-li-icon><i class=\"p-l-32 p-r-40\"></i></c8y-li-icon>\n <c8y-li-body class=\"content-flex-40\">\n <div class=\"col-3\">\n <span\n class=\"text-truncate\"\n title=\" {{ 'Name' | translate }} \"\n >\n {{ 'Name' | translate }}\n </span>\n </div>\n <div class=\"col-4\">\n <span\n class=\"text-truncate\"\n title=\"{{ 'Description' | translate }}\"\n >\n {{ 'Description' | translate }}\n </span>\n </div>\n <div class=\"col-3\">\n <span\n class=\"text-truncate\"\n title=\"{{ 'Device type' | translate }}\"\n >\n {{ 'Device type' | translate }}\n </span>\n </div>\n <div class=\"col-2\">\n <span\n class=\"text-truncate\"\n title=\"{{ 'Versions' | translate }}\"\n >\n {{ 'Versions' | translate }}\n </span>\n </div>\n </c8y-li-body>\n </c8y-li>\n <c8y-list-group list>\n <c8y-li *c8yFor=\"let firmware of firmwares$ | async; let i = index; loadMore: 'auto'\">\n <c8y-li-radio\n (onSelect)=\"selectFirmware($event, firmware)\"\n [selected]=\"firmware === selected\"\n ></c8y-li-radio>\n <c8y-li-icon>\n <i c8yIcon=\"c8y-firmware\"></i>\n </c8y-li-icon>\n\n <c8y-li-body class=\"content-flex-40\">\n <div class=\"col-3 m-b-xs-8\">\n <div\n class=\"text-truncate\"\n title=\"{{ firmware.name }}\"\n >\n <c8y-highlight\n [text]=\"firmware.name\"\n [pattern]=\"textFilter$ | async\"\n ></c8y-highlight>\n </div>\n </div>\n <div class=\"col-4 m-b-xs-8\">\n <div\n class=\"text-truncate\"\n title=\"{{ getDescriptionTitle(firmware) }}\"\n >\n <span\n class=\"text-label-small m-r-8 visible-xs visible-sm\"\n translate\n >\n Description\n </span>\n <small *ngIf=\"firmware.description; else noDesc\">\n {{ firmware.description }}\n </small>\n <ng-template #noDesc>\n <small>\n <em\n class=\"text-muted\"\n translate\n >\n No description available.\n </em>\n </small>\n </ng-template>\n </div>\n </div>\n <div class=\"col-3 m-b-xs-8\">\n <div\n class=\"text-truncate\"\n title=\"{{ 'Device type' | translate }}: {{ getDeviceTypeTitle(firmware) }}\"\n >\n <span\n class=\"text-label-small m-r-8 visible-xs visible-sm\"\n translate\n >\n Device type\n </span>\n <span *ngIf=\"firmware.c8y_Filter?.type; else noType\">\n {{ firmware.c8y_Filter?.type }}\n </span>\n <ng-template #noType>\n <em\n class=\"text-muted\"\n translate\n >\n Undefined`device type`\n </em>\n </ng-template>\n </div>\n </div>\n <div class=\"col-2\">\n <span\n class=\"label label-warning m-l-auto-sm\"\n *ngIf=\"isLegacy(firmware)\"\n >\n <span translate>Legacy</span>\n </span>\n\n <span *ngIf=\"!isLegacy(firmware)\">\n <span *ngIf=\"(getBaseVersionsCount$(firmware) | async) === null\">\n <span class=\"label label-info\">\n <i\n class=\"icon-spin\"\n c8yIcon=\"circle-o-notch\"\n ></i>\n </span>\n </span>\n <span *ngIf=\"(getBaseVersionsCount$(firmware) | async) !== null\">\n <span [ngPlural]=\"getBaseVersionsCount$(firmware) | async\">\n <ng-template ngPluralCase=\"=0\">\n <span class=\"label label-default\">\n <span translate>No versions</span>\n </span>\n </ng-template>\n <ng-template ngPluralCase=\"=1\">\n <span\n class=\"text-label-small m-r-8 visible-xs visible-sm\"\n translate\n >\n version\n </span>\n <span class=\"badge badge-info m-l-auto-sm\">1</span>\n </ng-template>\n <ng-template ngPluralCase=\"other\">\n <span\n class=\"text-label-small m-r-8 visible-xs visible-sm\"\n translate\n >\n versions\n </span>\n <span class=\"badge badge-info m-l-auto-sm\">\n {{ getBaseVersionsCount$(firmware) | async }}\n </span>\n </ng-template>\n </span>\n </span>\n </span>\n </div>\n </c8y-li-body>\n </c8y-li>\n </c8y-list-group>\n</c8y-select-step-frame>\n", dependencies: [{ kind: "component", type: SelectStepFrameComponent, selector: "c8y-select-step-frame", inputs: ["header", "noResults"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "component", type: ListItemComponent, selector: "c8y-list-item, c8y-li", inputs: ["active", "highlighted", "emptyActions", "dense", "collapsed", "selectable"], outputs: ["collapsedChange"] }, { kind: "component", type: ListItemIconComponent, selector: "c8y-list-item-icon, c8y-li-icon", inputs: ["icon", "status"] }, { kind: "component", type: ListItemBodyComponent, selector: "c8y-list-item-body, c8y-li-body", inputs: ["body"] }, { kind: "component", type: ListGroupComponent, selector: "c8y-list-group" }, { kind: "directive", type: ForOfDirective, selector: "[c8yFor]", inputs: ["c8yForOf", "c8yForLoadMore", "c8yForPipe", "c8yForNotFound", "c8yForMaxIterations", "c8yForLoadingTemplate", "c8yForLoadNextLabel", "c8yForLoadingLabel", "c8yForRealtime", "c8yForRealtimeOptions", "c8yForComparator", "c8yForEnableVirtualScroll", "c8yForVirtualScrollElementSize", "c8yForVirtualScrollStrategy", "c8yForVirtualScrollContainerHeight"], outputs: ["c8yForCount", "c8yForChange", "c8yForLoadMoreComponent"] }, { kind: "component", type: ListItemRadioComponent, selector: "c8y-list-item-radio, c8y-li-radio", inputs: ["selected", "name", "disabled", "value"], outputs: ["onSelect"] }, { kind: "component", type: HighlightComponent, selector: "c8y-highlight", inputs: ["pattern", "text", "elementClass", "shouldTrimPattern"] }, { kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: NgPlural, selector: "[ngPlural]", inputs: ["ngPlural"] }, { kind: "directive", type: NgPluralCase, selector: "[ngPluralCase]" }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
61
61
  }
62
62
  __decorate([
63
63
  memoize(property('id')),
@@ -65,7 +65,7 @@ __decorate([
65
65
  __metadata("design:paramtypes", [Object]),
66
66
  __metadata("design:returntype", Observable)
67
67
  ], SelectFirmwareComponent.prototype, "getBaseVersionsCount$", null);
68
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SelectFirmwareComponent, decorators: [{
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: SelectFirmwareComponent, decorators: [{
69
69
  type: Component,
70
70
  args: [{ selector: 'c8y-select-firmware-step', imports: [
71
71
  SelectStepFrameComponent,
@@ -121,8 +121,8 @@ class VersionOrPatchComponent {
121
121
  this.versionOrPatch.emit(versionOrPatch);
122
122
  }
123
123
  }
124
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: VersionOrPatchComponent, deps: [{ token: i1.RepositoryService }, { token: i2$1.InventoryService }, { token: i2.BulkOperationsService }], target: i0.ɵɵFactoryTarget.Component }); }
125
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: VersionOrPatchComponent, isStandalone: true, selector: "c8y-version-or-patch-step", inputs: { selected: "selected" }, outputs: { versionOrPatch: "versionOrPatch" }, ngImport: i0, template: "<c8y-list-group\n class=\"m-b-16\"\n *ngIf=\"(baseVersions$ | async)?.data.length > 0\"\n>\n <c8y-li *c8yFor=\"let baseVersion of baseVersions$ | async; let i = index; loadMore: 'auto'\">\n <c8y-li-icon>\n <i c8yIcon=\"c8y-firmware\"></i>\n </c8y-li-icon>\n\n <c8y-li-body class=\"content-flex-50\">\n <div class=\"col-10\">\n <p>{{ baseVersion.c8y_Firmware.version }}</p>\n </div>\n <div class=\"col-2\">\n <span\n class=\"label label-warning\"\n *ngIf=\"isLegacy$ | async\"\n >\n {{ 'Legacy' | translate }}\n </span>\n\n <span *ngIf=\"!(isLegacy$ | async)\">\n <span *ngIf=\"(getPatchVersionsCount$(baseVersion) | async) === null\">\n <span class=\"label label-info\">\n <i\n class=\"icon-spin\"\n c8yIcon=\"circle-o-notch\"\n ></i>\n </span>\n </span>\n\n <span *ngIf=\"(getPatchVersionsCount$(baseVersion) | async) !== null\">\n <span [ngPlural]=\"getPatchVersionsCount$(baseVersion) | async\">\n <ng-template ngPluralCase=\"=0\">\n <span class=\"label label-default\"><span translate>No patches</span></span>\n </ng-template>\n <ng-template ngPluralCase=\"=1\">\n <span class=\"label label-info\">\n <span translate>1 patch</span>\n </span>\n </ng-template>\n <ng-template ngPluralCase=\"other\">\n <span class=\"label label-info\">\n <span\n ngNonBindable\n translate\n [translateParams]=\"{ count: getPatchVersionsCount$(baseVersion) | async }\"\n >\n {{ count }} patches\n </span>\n </span>\n </ng-template>\n </span>\n </span>\n </span>\n </div>\n </c8y-li-body>\n\n <c8y-li-collapse>\n <c8y-list-group>\n <c8y-li\n *c8yFor=\"\n let patchVersion of getBaseVersionAndPatches$(baseVersion) | async;\n let i = index;\n loadMore: 'auto'\n \"\n >\n <c8y-li-radio\n (onSelect)=\"selectVersionOrPatch($event, patchVersion)\"\n [selected]=\"patchVersion === selected\"\n ></c8y-li-radio>\n <c8y-li-icon>\n <i c8yIcon=\"c8y-firmware\"></i>\n </c8y-li-icon>\n <c8y-li-body class=\"content-flex-50\">\n <div class=\"col-3\">\n {{ patchVersion.c8y_Firmware.version }}\n </div>\n <div class=\"col-3\">\n <span\n class=\"label label-info\"\n *ngIf=\"patchVersion.c8y_Patch; else version\"\n translate\n >\n patch\n </span>\n <ng-template #version>\n <span\n class=\"label label-primary\"\n translate\n >\n version\n </span>\n </ng-template>\n </div>\n <div class=\"col-6 text-truncate\">\n <span\n class=\"text-label-small m-r-4\"\n translate\n >\n File\n </span>\n <ng-container *ngIf=\"patchVersion.c8y_Firmware.url === '$PROVIDED'; else fileName\">\n <span title=\"{{ 'Provided by device' | translate }}\">\n {{ 'Provided by device' | translate }}\n </span>\n </ng-container>\n <ng-template #fileName>\n <span title=\"{{ getBinaryName$(patchVersion.c8y_Firmware.url) | async }}\">\n {{ getBinaryName$(patchVersion.c8y_Firmware.url) | async }}\n </span>\n </ng-template>\n </div>\n </c8y-li-body>\n </c8y-li>\n </c8y-list-group>\n </c8y-li-collapse>\n </c8y-li>\n</c8y-list-group>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ListGroupComponent, selector: "c8y-list-group" }, { kind: "directive", type: ForOfDirective, selector: "[c8yFor]", inputs: ["c8yForOf", "c8yForLoadMore", "c8yForPipe", "c8yForNotFound", "c8yForMaxIterations", "c8yForLoadingTemplate", "c8yForLoadNextLabel", "c8yForLoadingLabel", "c8yForRealtime", "c8yForRealtimeOptions", "c8yForComparator", "c8yForEnableVirtualScroll", "c8yForVirtualScrollElementSize", "c8yForVirtualScrollStrategy", "c8yForVirtualScrollContainerHeight"], outputs: ["c8yForCount", "c8yForChange", "c8yForLoadMoreComponent"] }, { kind: "component", type: ListItemComponent, selector: "c8y-list-item, c8y-li", inputs: ["active", "highlighted", "emptyActions", "dense", "collapsed", "selectable"], outputs: ["collapsedChange"] }, { kind: "component", type: ListItemIconComponent, selector: "c8y-list-item-icon, c8y-li-icon", inputs: ["icon", "status"] }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "component", type: ListItemBodyComponent, selector: "c8y-list-item-body, c8y-li-body", inputs: ["body"] }, { kind: "directive", type: NgPlural, selector: "[ngPlural]", inputs: ["ngPlural"] }, { kind: "directive", type: NgPluralCase, selector: "[ngPluralCase]" }, { kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "component", type: ListItemCollapseComponent, selector: "c8y-list-item-collapse, c8y-li-collapse", inputs: ["collapseWay"] }, { kind: "component", type: ListItemRadioComponent, selector: "c8y-list-item-radio, c8y-li-radio", inputs: ["selected", "name", "disabled", "value"], outputs: ["onSelect"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
124
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: VersionOrPatchComponent, deps: [{ token: i1.RepositoryService }, { token: i2$1.InventoryService }, { token: i2.BulkOperationsService }], target: i0.ɵɵFactoryTarget.Component }); }
125
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: VersionOrPatchComponent, isStandalone: true, selector: "c8y-version-or-patch-step", inputs: { selected: "selected" }, outputs: { versionOrPatch: "versionOrPatch" }, ngImport: i0, template: "<c8y-list-group\n class=\"m-b-16\"\n *ngIf=\"(baseVersions$ | async)?.data.length > 0\"\n>\n <c8y-li *c8yFor=\"let baseVersion of baseVersions$ | async; let i = index; loadMore: 'auto'\">\n <c8y-li-icon>\n <i c8yIcon=\"c8y-firmware\"></i>\n </c8y-li-icon>\n\n <c8y-li-body class=\"content-flex-50\">\n <div class=\"col-10\">\n <p>{{ baseVersion.c8y_Firmware.version }}</p>\n </div>\n <div class=\"col-2\">\n <span\n class=\"label label-warning\"\n *ngIf=\"isLegacy$ | async\"\n >\n {{ 'Legacy' | translate }}\n </span>\n\n <span *ngIf=\"!(isLegacy$ | async)\">\n <span *ngIf=\"(getPatchVersionsCount$(baseVersion) | async) === null\">\n <span class=\"label label-info\">\n <i\n class=\"icon-spin\"\n c8yIcon=\"circle-o-notch\"\n ></i>\n </span>\n </span>\n\n <span *ngIf=\"(getPatchVersionsCount$(baseVersion) | async) !== null\">\n <span [ngPlural]=\"getPatchVersionsCount$(baseVersion) | async\">\n <ng-template ngPluralCase=\"=0\">\n <span class=\"label label-default\"><span translate>No patches</span></span>\n </ng-template>\n <ng-template ngPluralCase=\"=1\">\n <span class=\"label label-info\">\n <span translate>1 patch</span>\n </span>\n </ng-template>\n <ng-template ngPluralCase=\"other\">\n <span class=\"label label-info\">\n <span\n ngNonBindable\n translate\n [translateParams]=\"{ count: getPatchVersionsCount$(baseVersion) | async }\"\n >\n {{ count }} patches\n </span>\n </span>\n </ng-template>\n </span>\n </span>\n </span>\n </div>\n </c8y-li-body>\n\n <c8y-li-collapse>\n <c8y-list-group>\n <c8y-li\n *c8yFor=\"\n let patchVersion of getBaseVersionAndPatches$(baseVersion) | async;\n let i = index;\n loadMore: 'auto'\n \"\n >\n <c8y-li-radio\n (onSelect)=\"selectVersionOrPatch($event, patchVersion)\"\n [selected]=\"patchVersion === selected\"\n ></c8y-li-radio>\n <c8y-li-icon>\n <i c8yIcon=\"c8y-firmware\"></i>\n </c8y-li-icon>\n <c8y-li-body class=\"content-flex-50\">\n <div class=\"col-3\">\n {{ patchVersion.c8y_Firmware.version }}\n </div>\n <div class=\"col-3\">\n <span\n class=\"label label-info\"\n *ngIf=\"patchVersion.c8y_Patch; else version\"\n translate\n >\n patch\n </span>\n <ng-template #version>\n <span\n class=\"label label-primary\"\n translate\n >\n version\n </span>\n </ng-template>\n </div>\n <div class=\"col-6 text-truncate\">\n <span\n class=\"text-label-small m-r-4\"\n translate\n >\n File\n </span>\n <ng-container *ngIf=\"patchVersion.c8y_Firmware.url === '$PROVIDED'; else fileName\">\n <span title=\"{{ 'Provided by device' | translate }}\">\n {{ 'Provided by device' | translate }}\n </span>\n </ng-container>\n <ng-template #fileName>\n <span title=\"{{ getBinaryName$(patchVersion.c8y_Firmware.url) | async }}\">\n {{ getBinaryName$(patchVersion.c8y_Firmware.url) | async }}\n </span>\n </ng-template>\n </div>\n </c8y-li-body>\n </c8y-li>\n </c8y-list-group>\n </c8y-li-collapse>\n </c8y-li>\n</c8y-list-group>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ListGroupComponent, selector: "c8y-list-group" }, { kind: "directive", type: ForOfDirective, selector: "[c8yFor]", inputs: ["c8yForOf", "c8yForLoadMore", "c8yForPipe", "c8yForNotFound", "c8yForMaxIterations", "c8yForLoadingTemplate", "c8yForLoadNextLabel", "c8yForLoadingLabel", "c8yForRealtime", "c8yForRealtimeOptions", "c8yForComparator", "c8yForEnableVirtualScroll", "c8yForVirtualScrollElementSize", "c8yForVirtualScrollStrategy", "c8yForVirtualScrollContainerHeight"], outputs: ["c8yForCount", "c8yForChange", "c8yForLoadMoreComponent"] }, { kind: "component", type: ListItemComponent, selector: "c8y-list-item, c8y-li", inputs: ["active", "highlighted", "emptyActions", "dense", "collapsed", "selectable"], outputs: ["collapsedChange"] }, { kind: "component", type: ListItemIconComponent, selector: "c8y-list-item-icon, c8y-li-icon", inputs: ["icon", "status"] }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "component", type: ListItemBodyComponent, selector: "c8y-list-item-body, c8y-li-body", inputs: ["body"] }, { kind: "directive", type: NgPlural, selector: "[ngPlural]", inputs: ["ngPlural"] }, { kind: "directive", type: NgPluralCase, selector: "[ngPluralCase]" }, { kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "component", type: ListItemCollapseComponent, selector: "c8y-list-item-collapse, c8y-li-collapse", inputs: ["collapseWay"] }, { kind: "component", type: ListItemRadioComponent, selector: "c8y-list-item-radio, c8y-li-radio", inputs: ["selected", "name", "disabled", "value"], outputs: ["onSelect"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
126
126
  }
127
127
  __decorate([
128
128
  memoize(),
@@ -142,7 +142,7 @@ __decorate([
142
142
  __metadata("design:paramtypes", [Object]),
143
143
  __metadata("design:returntype", void 0)
144
144
  ], VersionOrPatchComponent.prototype, "getPatchVersionsCount$", null);
145
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: VersionOrPatchComponent, decorators: [{
145
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: VersionOrPatchComponent, decorators: [{
146
146
  type: Component,
147
147
  args: [{ selector: 'c8y-version-or-patch-step', imports: [
148
148
  NgIf,
@@ -230,10 +230,10 @@ class StepperBulkTypeFirmwareComponent extends BaseStepperComponent {
230
230
  this.textFilter$.next('');
231
231
  super.onSelectionChange(event);
232
232
  }
233
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: StepperBulkTypeFirmwareComponent, deps: [{ token: i2.BulkOperationsService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
234
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: StepperBulkTypeFirmwareComponent, isStandalone: true, selector: "c8y-stepper-firmware", usesInheritance: true, ngImport: i0, template: "<c8y-bulk-operation-stepper [type]=\"type\">\n <ng-container\n *customStep=\"\n 'Select firmware' | translate;\n completed: !!stepData?.firmware;\n buttonsDisabled: !stepData?.firmware;\n onNext: goToVersionOrPatchStep.bind(this)\n \"\n >\n <c8y-select-firmware-step\n [selected]=\"stepData?.firmware\"\n (firmware)=\"onFirmwareSelected($event)\"\n class=\"d-contents\"\n ></c8y-select-firmware-step\n ></ng-container>\n <ng-container\n *customStep=\"\n 'Select version or patch' | translate;\n completed: !!stepData?.versionOrPatch;\n buttonsDisabled: !stepData?.versionOrPatch\n \"\n >\n <c8y-preview-selection-frame\n [header]=\"'Select version or patch' | translate\"\n [name]=\"stepData?.firmware?.name\"\n [description]=\"stepData?.firmware?.description\"\n >\n <c8y-version-or-patch-step\n list\n [selected]=\"stepData?.versionOrPatch\"\n (versionOrPatch)=\"onVersionOrPatchSelected($event)\"\n >\n </c8y-version-or-patch-step>\n </c8y-preview-selection-frame>\n </ng-container>\n</c8y-bulk-operation-stepper>\n", dependencies: [{ kind: "component", type: BulkOperationStepper, selector: "c8y-bulk-operation-stepper", inputs: ["type"], outputs: ["selectionChange"] }, { kind: "directive", type: CustomStep, selector: "[customStep]", inputs: ["customStep", "customStepCompleted", "customStepButtonsDisabled", "customStepOnNext"] }, { kind: "component", type: SelectFirmwareComponent, selector: "c8y-select-firmware-step", inputs: ["selected"], outputs: ["firmware"] }, { kind: "component", type: PreviewSelectionFrameComponent, selector: "c8y-preview-selection-frame", inputs: ["header", "name", "description", "type"] }, { kind: "component", type: VersionOrPatchComponent, selector: "c8y-version-or-patch-step", inputs: ["selected"], outputs: ["versionOrPatch"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }] }); }
233
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: StepperBulkTypeFirmwareComponent, deps: [{ token: i2.BulkOperationsService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
234
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: StepperBulkTypeFirmwareComponent, isStandalone: true, selector: "c8y-stepper-firmware", usesInheritance: true, ngImport: i0, template: "<c8y-bulk-operation-stepper [type]=\"type\">\n <ng-container\n *customStep=\"\n 'Select firmware' | translate;\n completed: !!stepData?.firmware;\n buttonsDisabled: !stepData?.firmware;\n onNext: goToVersionOrPatchStep.bind(this)\n \"\n >\n <c8y-select-firmware-step\n [selected]=\"stepData?.firmware\"\n (firmware)=\"onFirmwareSelected($event)\"\n class=\"d-contents\"\n ></c8y-select-firmware-step\n ></ng-container>\n <ng-container\n *customStep=\"\n 'Select version or patch' | translate;\n completed: !!stepData?.versionOrPatch;\n buttonsDisabled: !stepData?.versionOrPatch\n \"\n >\n <c8y-preview-selection-frame\n [header]=\"'Select version or patch' | translate\"\n [name]=\"stepData?.firmware?.name\"\n [description]=\"stepData?.firmware?.description\"\n >\n <c8y-version-or-patch-step\n list\n [selected]=\"stepData?.versionOrPatch\"\n (versionOrPatch)=\"onVersionOrPatchSelected($event)\"\n >\n </c8y-version-or-patch-step>\n </c8y-preview-selection-frame>\n </ng-container>\n</c8y-bulk-operation-stepper>\n", dependencies: [{ kind: "component", type: BulkOperationStepper, selector: "c8y-bulk-operation-stepper", inputs: ["type"], outputs: ["selectionChange"] }, { kind: "directive", type: CustomStep, selector: "[customStep]", inputs: ["customStep", "customStepCompleted", "customStepButtonsDisabled", "customStepOnNext"] }, { kind: "component", type: SelectFirmwareComponent, selector: "c8y-select-firmware-step", inputs: ["selected"], outputs: ["firmware"] }, { kind: "component", type: PreviewSelectionFrameComponent, selector: "c8y-preview-selection-frame", inputs: ["header", "name", "description", "type"] }, { kind: "component", type: VersionOrPatchComponent, selector: "c8y-version-or-patch-step", inputs: ["selected"], outputs: ["versionOrPatch"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }] }); }
235
235
  }
236
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: StepperBulkTypeFirmwareComponent, decorators: [{
236
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: StepperBulkTypeFirmwareComponent, decorators: [{
237
237
  type: Component,
238
238
  args: [{ selector: 'c8y-stepper-firmware', imports: [
239
239
  BulkOperationStepper,
@@ -247,9 +247,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
247
247
 
248
248
  /** Module for the 'Firmware update' operation type stepper */
249
249
  class StepperBulkTypeFirmwareModule {
250
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: StepperBulkTypeFirmwareModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
251
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.14", ngImport: i0, type: StepperBulkTypeFirmwareModule, imports: [StepperBulkTypeFirmwareComponent, VersionOrPatchComponent, SelectFirmwareComponent], exports: [StepperBulkTypeFirmwareComponent] }); }
252
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: StepperBulkTypeFirmwareModule, providers: [
250
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: StepperBulkTypeFirmwareModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
251
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.15", ngImport: i0, type: StepperBulkTypeFirmwareModule, imports: [StepperBulkTypeFirmwareComponent, VersionOrPatchComponent, SelectFirmwareComponent], exports: [StepperBulkTypeFirmwareComponent] }); }
252
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: StepperBulkTypeFirmwareModule, providers: [
253
253
  hookListBulkType({
254
254
  type: BulkOperationType.FIRMWARE,
255
255
  c8yIcon: 'c8y-firmware',
@@ -261,7 +261,7 @@ class StepperBulkTypeFirmwareModule {
261
261
  })
262
262
  ], imports: [StepperBulkTypeFirmwareComponent, VersionOrPatchComponent, SelectFirmwareComponent] }); }
263
263
  }
264
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: StepperBulkTypeFirmwareModule, decorators: [{
264
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: StepperBulkTypeFirmwareModule, decorators: [{
265
265
  type: NgModule,
266
266
  args: [{
267
267
  imports: [StepperBulkTypeFirmwareComponent, VersionOrPatchComponent, SelectFirmwareComponent],