@c8y/ngx-components 1022.13.0 → 1022.16.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (390) hide show
  1. package/alarms/alarms.helper.d.ts.map +1 -1
  2. package/auth-configuration/sso-configuration/templates/template.component.d.ts +1 -1
  3. package/core/asset-property/asset-property.model.d.ts +2 -0
  4. package/core/asset-property/asset-property.model.d.ts.map +1 -1
  5. package/core/authentication/authentication.module.d.ts.map +1 -1
  6. package/core/dashboard/widget-auto-refresh-context/auto-refresh-control.component.d.ts.map +1 -1
  7. package/core/drop-area/drop-area.component.d.ts +2 -0
  8. package/core/drop-area/drop-area.component.d.ts.map +1 -1
  9. package/core/dynamic-forms/file/file.type.component.d.ts.map +1 -1
  10. package/core/modal/modal.module.d.ts.map +1 -1
  11. package/core/plugins/plugins.module.d.ts.map +1 -1
  12. package/core/plugins/plugins.service.d.ts +1 -2
  13. package/core/plugins/plugins.service.d.ts.map +1 -1
  14. package/core/select/select.component.d.ts.map +1 -1
  15. package/device-list/devices.breadcrumb-factory.d.ts +1 -0
  16. package/device-list/devices.breadcrumb-factory.d.ts.map +1 -1
  17. package/device-parameters/device-parameter-details.component.d.ts +22 -0
  18. package/device-parameters/device-parameter-details.component.d.ts.map +1 -0
  19. package/device-parameters/device-parameter-value.component.d.ts +12 -0
  20. package/device-parameters/device-parameter-value.component.d.ts.map +1 -0
  21. package/device-parameters/device-parameters-list.component.d.ts +2 -1
  22. package/device-parameters/device-parameters-list.component.d.ts.map +1 -1
  23. package/device-parameters/index.d.ts +5 -0
  24. package/device-parameters/index.d.ts.map +1 -1
  25. package/device-parameters/parameter-type-cell-renderer.components.d.ts +8 -0
  26. package/device-parameters/parameter-type-cell-renderer.components.d.ts.map +1 -0
  27. package/device-profile/add-device-profile.component.d.ts +1 -1
  28. package/device-profile/add-device-profile.component.d.ts.map +1 -1
  29. package/device-profile/device-profile-list.component.d.ts +1 -1
  30. package/device-profile/device-profile-list.component.d.ts.map +1 -1
  31. package/device-profile/device-profile.component.d.ts +1 -1
  32. package/device-profile/device-profile.component.d.ts.map +1 -1
  33. package/device-profile/device-profile.module.d.ts +17 -17
  34. package/device-profile/device-profile.module.d.ts.map +1 -1
  35. package/device-profile/device-tab-profile/device-profile-item-list.component.d.ts +1 -1
  36. package/device-profile/device-tab-profile/device-profile-item-list.component.d.ts.map +1 -1
  37. package/device-profile/device-tab-profile/device-tab-profile-detail.component.d.ts +1 -1
  38. package/device-profile/device-tab-profile/device-tab-profile-detail.component.d.ts.map +1 -1
  39. package/device-profile/device-tab-profile/device-tab-profile.component.d.ts +1 -1
  40. package/device-profile/device-tab-profile/device-tab-profile.component.d.ts.map +1 -1
  41. package/device-profile/select-configuration-modal.component.d.ts +1 -1
  42. package/device-profile/select-configuration-modal.component.d.ts.map +1 -1
  43. package/device-provisioned-certificates/device-tab-provisioned-certificates.component.d.ts +4 -2
  44. package/device-provisioned-certificates/device-tab-provisioned-certificates.component.d.ts.map +1 -1
  45. package/device-shell/command-templates/command-templates.component.d.ts +1 -1
  46. package/device-shell/command-templates/command-templates.component.d.ts.map +1 -1
  47. package/device-shell/command-templates/command-templates.directive.d.ts +1 -1
  48. package/device-shell/command-templates/command-templates.directive.d.ts.map +1 -1
  49. package/device-shell/command-templates/command-templates.module.d.ts +1 -1
  50. package/device-shell/shell/shell.component.d.ts +1 -1
  51. package/device-shell/shell/shell.component.d.ts.map +1 -1
  52. package/device-shell/shell/shell.module.d.ts +7 -7
  53. package/diagnostics/diagnostics.component.d.ts +1 -1
  54. package/diagnostics/diagnostics.component.d.ts.map +1 -1
  55. package/diagnostics/diagnostics.module.d.ts +8 -8
  56. package/diagnostics/diagnostics.module.d.ts.map +1 -1
  57. package/events/c8y-ngx-components-events.d.ts.map +1 -0
  58. package/events/events-timeline/c8y-ngx-components-events-events-timeline.d.ts.map +1 -0
  59. package/events/events-timeline/events-timeline.component.d.ts +19 -0
  60. package/events/events-timeline/events-timeline.component.d.ts.map +1 -0
  61. package/events/events-timeline/index.d.ts +2 -0
  62. package/events/events-timeline/index.d.ts.map +1 -0
  63. package/events/events.model.d.ts +6 -0
  64. package/events/events.model.d.ts.map +1 -0
  65. package/events/events.service.d.ts +10 -0
  66. package/events/events.service.d.ts.map +1 -0
  67. package/events/index.d.ts +3 -0
  68. package/events/index.d.ts.map +1 -0
  69. package/fesm2022/c8y-ngx-components-alarms.mjs +2 -1
  70. package/fesm2022/c8y-ngx-components-alarms.mjs.map +1 -1
  71. package/fesm2022/c8y-ngx-components-auth-configuration.mjs +2 -2
  72. package/fesm2022/c8y-ngx-components-auth-configuration.mjs.map +1 -1
  73. package/fesm2022/c8y-ngx-components-device-list.mjs +10 -3
  74. package/fesm2022/c8y-ngx-components-device-list.mjs.map +1 -1
  75. package/fesm2022/c8y-ngx-components-device-parameters.mjs +110 -13
  76. package/fesm2022/c8y-ngx-components-device-parameters.mjs.map +1 -1
  77. package/fesm2022/c8y-ngx-components-device-profile.mjs +126 -49
  78. package/fesm2022/c8y-ngx-components-device-profile.mjs.map +1 -1
  79. package/fesm2022/c8y-ngx-components-device-provisioned-certificates.mjs +44 -12
  80. package/fesm2022/c8y-ngx-components-device-provisioned-certificates.mjs.map +1 -1
  81. package/fesm2022/c8y-ngx-components-device-shell.mjs +31 -22
  82. package/fesm2022/c8y-ngx-components-device-shell.mjs.map +1 -1
  83. package/fesm2022/c8y-ngx-components-diagnostics.mjs +36 -19
  84. package/fesm2022/c8y-ngx-components-diagnostics.mjs.map +1 -1
  85. package/fesm2022/c8y-ngx-components-events-events-timeline.mjs +45 -0
  86. package/fesm2022/c8y-ngx-components-events-events-timeline.mjs.map +1 -0
  87. package/fesm2022/c8y-ngx-components-events.mjs +44 -0
  88. package/fesm2022/c8y-ngx-components-events.mjs.map +1 -0
  89. package/fesm2022/c8y-ngx-components-operations-bulk-operation-from-single.mjs +8 -14
  90. package/fesm2022/c8y-ngx-components-operations-bulk-operation-from-single.mjs.map +1 -1
  91. package/fesm2022/c8y-ngx-components-operations-bulk-operation-list-item.mjs +49 -49
  92. package/fesm2022/c8y-ngx-components-operations-bulk-operation-list-item.mjs.map +1 -1
  93. package/fesm2022/c8y-ngx-components-operations-bulk-operation-scheduler.mjs +27 -14
  94. package/fesm2022/c8y-ngx-components-operations-bulk-operation-scheduler.mjs.map +1 -1
  95. package/fesm2022/c8y-ngx-components-operations-bulk-operation-stepper.mjs +27 -33
  96. package/fesm2022/c8y-ngx-components-operations-bulk-operation-stepper.mjs.map +1 -1
  97. package/fesm2022/c8y-ngx-components-operations-bulk-operations-list.mjs +51 -39
  98. package/fesm2022/c8y-ngx-components-operations-bulk-operations-list.mjs.map +1 -1
  99. package/fesm2022/c8y-ngx-components-operations-bulk-operations-stepper-container.mjs +10 -8
  100. package/fesm2022/c8y-ngx-components-operations-bulk-operations-stepper-container.mjs.map +1 -1
  101. package/fesm2022/c8y-ngx-components-operations-create-bulk-operation-details.mjs +16 -11
  102. package/fesm2022/c8y-ngx-components-operations-create-bulk-operation-details.mjs.map +1 -1
  103. package/fesm2022/c8y-ngx-components-operations-device-selector.mjs +8 -11
  104. package/fesm2022/c8y-ngx-components-operations-device-selector.mjs.map +1 -1
  105. package/fesm2022/c8y-ngx-components-operations-operation-details.mjs +25 -21
  106. package/fesm2022/c8y-ngx-components-operations-operation-details.mjs.map +1 -1
  107. package/fesm2022/c8y-ngx-components-operations-operation-summary.mjs +7 -9
  108. package/fesm2022/c8y-ngx-components-operations-operation-summary.mjs.map +1 -1
  109. package/fesm2022/c8y-ngx-components-operations-operations-list-item-details.mjs +31 -31
  110. package/fesm2022/c8y-ngx-components-operations-operations-list-item-details.mjs.map +1 -1
  111. package/fesm2022/c8y-ngx-components-operations-operations-list.mjs +3 -3
  112. package/fesm2022/c8y-ngx-components-operations-operations-list.mjs.map +1 -1
  113. package/fesm2022/c8y-ngx-components-operations-operations-timeline.mjs +33 -13
  114. package/fesm2022/c8y-ngx-components-operations-operations-timeline.mjs.map +1 -1
  115. package/fesm2022/c8y-ngx-components-operations-status-filter.mjs +19 -13
  116. package/fesm2022/c8y-ngx-components-operations-status-filter.mjs.map +1 -1
  117. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs +40 -36
  118. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs.map +1 -1
  119. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs +60 -41
  120. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs.map +1 -1
  121. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-firmware.mjs +122 -109
  122. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-firmware.mjs.map +1 -1
  123. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-software.mjs +66 -41
  124. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-software.mjs.map +1 -1
  125. package/fesm2022/c8y-ngx-components-operations-stepper-frames.mjs +11 -16
  126. package/fesm2022/c8y-ngx-components-operations-stepper-frames.mjs.map +1 -1
  127. package/fesm2022/c8y-ngx-components-protocol-opcua.mjs +212 -83
  128. package/fesm2022/c8y-ngx-components-protocol-opcua.mjs.map +1 -1
  129. package/fesm2022/c8y-ngx-components-repository-configuration.mjs +113 -54
  130. package/fesm2022/c8y-ngx-components-repository-configuration.mjs.map +1 -1
  131. package/fesm2022/c8y-ngx-components-repository-firmware.mjs +130 -62
  132. package/fesm2022/c8y-ngx-components-repository-firmware.mjs.map +1 -1
  133. package/fesm2022/c8y-ngx-components-repository-shared.mjs +37 -28
  134. package/fesm2022/c8y-ngx-components-repository-shared.mjs.map +1 -1
  135. package/fesm2022/c8y-ngx-components-repository-software.mjs +156 -83
  136. package/fesm2022/c8y-ngx-components-repository-software.mjs.map +1 -1
  137. package/fesm2022/c8y-ngx-components-services.mjs +32 -19
  138. package/fesm2022/c8y-ngx-components-services.mjs.map +1 -1
  139. package/fesm2022/c8y-ngx-components-trusted-certificates.mjs +66 -29
  140. package/fesm2022/c8y-ngx-components-trusted-certificates.mjs.map +1 -1
  141. package/fesm2022/c8y-ngx-components-upgrade-upgraded-services.mjs +16 -3
  142. package/fesm2022/c8y-ngx-components-upgrade-upgraded-services.mjs.map +1 -1
  143. package/fesm2022/c8y-ngx-components-upgrade.mjs +1 -14
  144. package/fesm2022/c8y-ngx-components-upgrade.mjs.map +1 -1
  145. package/fesm2022/c8y-ngx-components-user-roles.mjs +8 -3
  146. package/fesm2022/c8y-ngx-components-user-roles.mjs.map +1 -1
  147. package/fesm2022/c8y-ngx-components.mjs +864 -859
  148. package/fesm2022/c8y-ngx-components.mjs.map +1 -1
  149. package/locales/de.po +34 -17
  150. package/locales/es.po +20 -2
  151. package/locales/fr.po +20 -2
  152. package/locales/ja_JP.po +22 -4
  153. package/locales/ko.po +20 -2
  154. package/locales/locales.pot +19 -1
  155. package/locales/nl.po +20 -2
  156. package/locales/pl.po +20 -2
  157. package/locales/pt_BR.po +20 -2
  158. package/locales/zh_CN.po +21 -3
  159. package/locales/zh_TW.po +20 -2
  160. package/operations/bulk-operation-from-single/bulk-operation-from-single.component.d.ts +1 -1
  161. package/operations/bulk-operation-from-single/bulk-operation-from-single.component.d.ts.map +1 -1
  162. package/operations/bulk-operation-from-single/bulk-operation-from-single.module.d.ts +3 -5
  163. package/operations/bulk-operation-from-single/bulk-operation-from-single.module.d.ts.map +1 -1
  164. package/operations/bulk-operation-list-item/bulk-operation-list-item.component.d.ts +1 -1
  165. package/operations/bulk-operation-list-item/bulk-operation-list-item.component.d.ts.map +1 -1
  166. package/operations/bulk-operation-list-item/bulk-operation-list-item.module.d.ts +1 -7
  167. package/operations/bulk-operation-list-item/bulk-operation-list-item.module.d.ts.map +1 -1
  168. package/operations/bulk-operation-list-item/bulk-operation-wrapper.component.d.ts +1 -1
  169. package/operations/bulk-operation-list-item/bulk-operation-wrapper.component.d.ts.map +1 -1
  170. package/operations/bulk-operation-list-item/modal-body-host.directive.d.ts +1 -1
  171. package/operations/bulk-operation-list-item/modal-body-host.directive.d.ts.map +1 -1
  172. package/operations/bulk-operation-list-item/modals/bulk-operations-reschedule-modal.component.d.ts +1 -1
  173. package/operations/bulk-operation-list-item/modals/bulk-operations-reschedule-modal.component.d.ts.map +1 -1
  174. package/operations/bulk-operation-scheduler/bulk-operation-scheduler.module.d.ts +6 -6
  175. package/operations/bulk-operation-scheduler/operation-scheduler.component.d.ts +1 -1
  176. package/operations/bulk-operation-scheduler/operation-scheduler.component.d.ts.map +1 -1
  177. package/operations/bulk-operation-stepper/base-stepper.component.d.ts +1 -1
  178. package/operations/bulk-operation-stepper/bulk-operation-stepper.component.d.ts +1 -1
  179. package/operations/bulk-operation-stepper/bulk-operation-stepper.component.d.ts.map +1 -1
  180. package/operations/bulk-operation-stepper/bulk-operation-stepper.module.d.ts +1 -5
  181. package/operations/bulk-operation-stepper/bulk-operation-stepper.module.d.ts.map +1 -1
  182. package/operations/bulk-operation-stepper/custom-step.directive.d.ts +1 -1
  183. package/operations/bulk-operation-stepper/custom-step.directive.d.ts.map +1 -1
  184. package/operations/bulk-operations-list/bulk-operations-list.component.d.ts +1 -1
  185. package/operations/bulk-operations-list/bulk-operations-list.component.d.ts.map +1 -1
  186. package/operations/bulk-operations-list/bulk-operations-list.module.d.ts +4 -10
  187. package/operations/bulk-operations-list/bulk-operations-list.module.d.ts.map +1 -1
  188. package/operations/bulk-operations-list/modals/bulk-operations-modal.component.d.ts +1 -1
  189. package/operations/bulk-operations-list/modals/bulk-operations-modal.component.d.ts.map +1 -1
  190. package/operations/bulk-operations-stepper-container/bulk-operations-stepper-container.component.d.ts +1 -1
  191. package/operations/bulk-operations-stepper-container/bulk-operations-stepper-container.component.d.ts.map +1 -1
  192. package/operations/bulk-operations-stepper-container/bulk-operations-stepper-container.module.d.ts +3 -4
  193. package/operations/bulk-operations-stepper-container/bulk-operations-stepper-container.module.d.ts.map +1 -1
  194. package/operations/create-bulk-operation-details/create-bulk-operation-details.component.d.ts +1 -1
  195. package/operations/create-bulk-operation-details/create-bulk-operation-details.component.d.ts.map +1 -1
  196. package/operations/create-bulk-operation-details/create-bulk-operation-details.module.d.ts +1 -4
  197. package/operations/create-bulk-operation-details/create-bulk-operation-details.module.d.ts.map +1 -1
  198. package/operations/device-selector/device-selector.component.d.ts +1 -1
  199. package/operations/device-selector/device-selector.component.d.ts.map +1 -1
  200. package/operations/device-selector/device-selector.module.d.ts +1 -3
  201. package/operations/device-selector/device-selector.module.d.ts.map +1 -1
  202. package/operations/operation-details/operation-details-modal.component.d.ts +1 -1
  203. package/operations/operation-details/operation-details-modal.component.d.ts.map +1 -1
  204. package/operations/operation-details/operation-details.component.d.ts +1 -1
  205. package/operations/operation-details/operation-details.component.d.ts.map +1 -1
  206. package/operations/operation-details/operation-details.module.d.ts +1 -7
  207. package/operations/operation-details/operation-details.module.d.ts.map +1 -1
  208. package/operations/operation-details/operation-details.service.d.ts.map +1 -1
  209. package/operations/operation-summary/operation-summary.component.d.ts +1 -1
  210. package/operations/operation-summary/operation-summary.component.d.ts.map +1 -1
  211. package/operations/operation-summary/operation-summary.module.d.ts +1 -2
  212. package/operations/operation-summary/operation-summary.module.d.ts.map +1 -1
  213. package/operations/operations-list/operations-list-item.component.d.ts.map +1 -1
  214. package/operations/operations-list/operations-list.component.d.ts.map +1 -1
  215. package/operations/operations-list/operations-list.service.d.ts +1 -1
  216. package/operations/operations-list/operations-list.service.d.ts.map +1 -1
  217. package/operations/operations-list-item-details/operation-details-tabs.component.d.ts +1 -1
  218. package/operations/operations-list-item-details/operation-details-tabs.component.d.ts.map +1 -1
  219. package/operations/operations-list-item-details/operation-details.component.d.ts +1 -1
  220. package/operations/operations-list-item-details/operation-details.component.d.ts.map +1 -1
  221. package/operations/operations-list-item-details/operations-list-item-details.module.d.ts +1 -6
  222. package/operations/operations-list-item-details/operations-list-item-details.module.d.ts.map +1 -1
  223. package/operations/operations-timeline/operations-timeline.component.d.ts +5 -5
  224. package/operations/operations-timeline/operations-timeline.component.d.ts.map +1 -1
  225. package/operations/operations-timeline/operations-timeline.module.d.ts +4 -6
  226. package/operations/operations-timeline/operations-timeline.module.d.ts.map +1 -1
  227. package/operations/status-filter/status-filter.component.d.ts +1 -1
  228. package/operations/status-filter/status-filter.component.d.ts.map +1 -1
  229. package/operations/status-filter/status-filter.module.d.ts +1 -4
  230. package/operations/status-filter/status-filter.module.d.ts.map +1 -1
  231. package/operations/stepper-bulk-type-configuration/stepper-bulk-type-configuration.component.d.ts +1 -1
  232. package/operations/stepper-bulk-type-configuration/stepper-bulk-type-configuration.component.d.ts.map +1 -1
  233. package/operations/stepper-bulk-type-configuration/stepper-bulk-type-configuration.module.d.ts +1 -6
  234. package/operations/stepper-bulk-type-configuration/stepper-bulk-type-configuration.module.d.ts.map +1 -1
  235. package/operations/stepper-bulk-type-device-profile/confirm-device-profile-selection-step.component.d.ts +1 -1
  236. package/operations/stepper-bulk-type-device-profile/confirm-device-profile-selection-step.component.d.ts.map +1 -1
  237. package/operations/stepper-bulk-type-device-profile/select-device-profile-step.component.d.ts +1 -1
  238. package/operations/stepper-bulk-type-device-profile/select-device-profile-step.component.d.ts.map +1 -1
  239. package/operations/stepper-bulk-type-device-profile/stepper-bulk-type-device-profile.component.d.ts +1 -1
  240. package/operations/stepper-bulk-type-device-profile/stepper-bulk-type-device-profile.component.d.ts.map +1 -1
  241. package/operations/stepper-bulk-type-device-profile/stepper-bulk-type-device-profile.module.d.ts +1 -6
  242. package/operations/stepper-bulk-type-device-profile/stepper-bulk-type-device-profile.module.d.ts.map +1 -1
  243. package/operations/stepper-bulk-type-firmware/select-firmware.component.d.ts +1 -1
  244. package/operations/stepper-bulk-type-firmware/select-firmware.component.d.ts.map +1 -1
  245. package/operations/stepper-bulk-type-firmware/stepper-bulk-type-firmware.component.d.ts +1 -1
  246. package/operations/stepper-bulk-type-firmware/stepper-bulk-type-firmware.component.d.ts.map +1 -1
  247. package/operations/stepper-bulk-type-firmware/stepper-bulk-type-firmware.module.d.ts +1 -6
  248. package/operations/stepper-bulk-type-firmware/stepper-bulk-type-firmware.module.d.ts.map +1 -1
  249. package/operations/stepper-bulk-type-firmware/version-or-patch.component.d.ts +1 -1
  250. package/operations/stepper-bulk-type-firmware/version-or-patch.component.d.ts.map +1 -1
  251. package/operations/stepper-bulk-type-software/confirm-software-selection-step.component.d.ts +1 -1
  252. package/operations/stepper-bulk-type-software/confirm-software-selection-step.component.d.ts.map +1 -1
  253. package/operations/stepper-bulk-type-software/select-software-step.component.d.ts +1 -1
  254. package/operations/stepper-bulk-type-software/select-software-step.component.d.ts.map +1 -1
  255. package/operations/stepper-bulk-type-software/stepper-bulk-type-software.component.d.ts +1 -1
  256. package/operations/stepper-bulk-type-software/stepper-bulk-type-software.component.d.ts.map +1 -1
  257. package/operations/stepper-bulk-type-software/stepper-bulk-type-software.module.d.ts +1 -6
  258. package/operations/stepper-bulk-type-software/stepper-bulk-type-software.module.d.ts.map +1 -1
  259. package/operations/stepper-frames/preview-block.directive.d.ts +1 -1
  260. package/operations/stepper-frames/preview-block.directive.d.ts.map +1 -1
  261. package/operations/stepper-frames/preview-selection-frame.component.d.ts +1 -1
  262. package/operations/stepper-frames/preview-selection-frame.component.d.ts.map +1 -1
  263. package/operations/stepper-frames/select-step-frame.component.d.ts +1 -1
  264. package/operations/stepper-frames/select-step-frame.component.d.ts.map +1 -1
  265. package/operations/stepper-frames/stepper-frames.modules.d.ts +1 -2
  266. package/operations/stepper-frames/stepper-frames.modules.d.ts.map +1 -1
  267. package/package.json +1 -1
  268. package/protocol-opcua/opcua-address-space-detail.component.d.ts +1 -1
  269. package/protocol-opcua/opcua-address-space-detail.component.d.ts.map +1 -1
  270. package/protocol-opcua/opcua-address-space-tree.component.d.ts +1 -1
  271. package/protocol-opcua/opcua-address-space-tree.component.d.ts.map +1 -1
  272. package/protocol-opcua/opcua-address-space.component.d.ts +1 -1
  273. package/protocol-opcua/opcua-address-space.component.d.ts.map +1 -1
  274. package/protocol-opcua/opcua-auto-apply-settings.component.d.ts +1 -1
  275. package/protocol-opcua/opcua-auto-apply-settings.component.d.ts.map +1 -1
  276. package/protocol-opcua/opcua-device-protocol-browse-path-validation.directive.d.ts +1 -1
  277. package/protocol-opcua/opcua-device-protocol-browse-path-validation.directive.d.ts.map +1 -1
  278. package/protocol-opcua/opcua-device-protocol-data-reporting.component.d.ts +1 -1
  279. package/protocol-opcua/opcua-device-protocol-data-reporting.component.d.ts.map +1 -1
  280. package/protocol-opcua/opcua-device-protocol-description.component.d.ts +1 -1
  281. package/protocol-opcua/opcua-device-protocol-description.component.d.ts.map +1 -1
  282. package/protocol-opcua/opcua-device-protocol-detail.component.d.ts +1 -1
  283. package/protocol-opcua/opcua-device-protocol-detail.component.d.ts.map +1 -1
  284. package/protocol-opcua/opcua-device-protocol-mapping.component.d.ts +1 -1
  285. package/protocol-opcua/opcua-device-protocol-mapping.component.d.ts.map +1 -1
  286. package/protocol-opcua/opcua-device-protocol-object-mapping-status-icon.component.d.ts +1 -1
  287. package/protocol-opcua/opcua-device-protocol-object-mapping-status-icon.component.d.ts.map +1 -1
  288. package/protocol-opcua/opcua-protocol.module.d.ts +26 -26
  289. package/protocol-opcua/opcua-protocol.module.d.ts.map +1 -1
  290. package/protocol-opcua/opcua-server-config.component.d.ts +1 -1
  291. package/protocol-opcua/opcua-server-config.component.d.ts.map +1 -1
  292. package/protocol-opcua/opcua-server-list.component.d.ts +1 -1
  293. package/protocol-opcua/opcua-server-list.component.d.ts.map +1 -1
  294. package/protocol-opcua/opcua-servers.component.d.ts +1 -1
  295. package/protocol-opcua/opcua-servers.component.d.ts.map +1 -1
  296. package/repository/configuration/device-tab/configuration-filter.pipe.d.ts +1 -1
  297. package/repository/configuration/device-tab/configuration-filter.pipe.d.ts.map +1 -1
  298. package/repository/configuration/device-tab/configuration-preview.component.d.ts +1 -1
  299. package/repository/configuration/device-tab/configuration-preview.component.d.ts.map +1 -1
  300. package/repository/configuration/device-tab/configuration-repository-device-tab.module.d.ts +11 -13
  301. package/repository/configuration/device-tab/configuration-repository-device-tab.module.d.ts.map +1 -1
  302. package/repository/configuration/device-tab/device-configuration-list.component.d.ts +1 -1
  303. package/repository/configuration/device-tab/device-configuration-list.component.d.ts.map +1 -1
  304. package/repository/configuration/device-tab/device-configuration.component.d.ts +1 -1
  305. package/repository/configuration/device-tab/device-configuration.component.d.ts.map +1 -1
  306. package/repository/configuration/device-tab/save-to-repository.component.d.ts +1 -1
  307. package/repository/configuration/device-tab/save-to-repository.component.d.ts.map +1 -1
  308. package/repository/configuration/device-tab/source-code-preview.component.d.ts +1 -1
  309. package/repository/configuration/device-tab/source-code-preview.component.d.ts.map +1 -1
  310. package/repository/configuration/device-tab/text-based-configuration.component.d.ts +1 -1
  311. package/repository/configuration/device-tab/text-based-configuration.component.d.ts.map +1 -1
  312. package/repository/configuration/list/configuration-detail.component.d.ts +1 -1
  313. package/repository/configuration/list/configuration-detail.component.d.ts.map +1 -1
  314. package/repository/configuration/list/configuration-list.component.d.ts +1 -1
  315. package/repository/configuration/list/configuration-list.component.d.ts.map +1 -1
  316. package/repository/configuration/list/configuration-repository-list.module.d.ts +4 -7
  317. package/repository/configuration/list/configuration-repository-list.module.d.ts.map +1 -1
  318. package/repository/firmware/device-tab/firmware-device-tab.component.d.ts +1 -1
  319. package/repository/firmware/device-tab/firmware-device-tab.component.d.ts.map +1 -1
  320. package/repository/firmware/device-tab/firmware-repository-device-tab.module.d.ts +4 -6
  321. package/repository/firmware/device-tab/firmware-repository-device-tab.module.d.ts.map +1 -1
  322. package/repository/firmware/list/add-firmware-modal.component.d.ts +1 -1
  323. package/repository/firmware/list/add-firmware-modal.component.d.ts.map +1 -1
  324. package/repository/firmware/list/add-firmware-patch-modal.component.d.ts +1 -1
  325. package/repository/firmware/list/add-firmware-patch-modal.component.d.ts.map +1 -1
  326. package/repository/firmware/list/firmware-details.component.d.ts +1 -1
  327. package/repository/firmware/list/firmware-details.component.d.ts.map +1 -1
  328. package/repository/firmware/list/firmware-list.component.d.ts +1 -1
  329. package/repository/firmware/list/firmware-list.component.d.ts.map +1 -1
  330. package/repository/firmware/list/firmware-repository-list.module.d.ts +6 -11
  331. package/repository/firmware/list/firmware-repository-list.module.d.ts.map +1 -1
  332. package/repository/shared/file-download/file-download.component.d.ts +1 -1
  333. package/repository/shared/file-download/file-download.component.d.ts.map +1 -1
  334. package/repository/shared/select-modal/repository-select-modal.component.d.ts +1 -1
  335. package/repository/shared/select-modal/repository-select-modal.component.d.ts.map +1 -1
  336. package/repository/shared/shared-repository.module.d.ts +1 -4
  337. package/repository/shared/shared-repository.module.d.ts.map +1 -1
  338. package/repository/shared/software-type/software-type.component.d.ts +1 -1
  339. package/repository/shared/software-type/software-type.component.d.ts.map +1 -1
  340. package/repository/software/device-tab/device-software-changes.component.d.ts +1 -1
  341. package/repository/software/device-tab/device-software-changes.component.d.ts.map +1 -1
  342. package/repository/software/device-tab/device-software-list.component.d.ts +1 -1
  343. package/repository/software/device-tab/device-software-list.component.d.ts.map +1 -1
  344. package/repository/software/device-tab/installed-software.component.d.ts +1 -1
  345. package/repository/software/device-tab/installed-software.component.d.ts.map +1 -1
  346. package/repository/software/device-tab/software-device-tab.component.d.ts +1 -1
  347. package/repository/software/device-tab/software-device-tab.component.d.ts.map +1 -1
  348. package/repository/software/device-tab/software-repository-device-tab.module.d.ts +7 -11
  349. package/repository/software/device-tab/software-repository-device-tab.module.d.ts.map +1 -1
  350. package/repository/software/list/add-software-modal.component.d.ts +1 -1
  351. package/repository/software/list/add-software-modal.component.d.ts.map +1 -1
  352. package/repository/software/list/software-details.component.d.ts +1 -1
  353. package/repository/software/list/software-details.component.d.ts.map +1 -1
  354. package/repository/software/list/software-list.component.d.ts +1 -1
  355. package/repository/software/list/software-list.component.d.ts.map +1 -1
  356. package/repository/software/list/software-repository-list.module.d.ts +5 -11
  357. package/repository/software/list/software-repository-list.module.d.ts.map +1 -1
  358. package/services/services-device-tab/columns/last-updated-date.cell-renderer.component.d.ts +1 -1
  359. package/services/services-device-tab/columns/last-updated-date.cell-renderer.component.d.ts.map +1 -1
  360. package/services/services-device-tab/columns/name.cell-renderer.component.d.ts +1 -1
  361. package/services/services-device-tab/columns/name.cell-renderer.component.d.ts.map +1 -1
  362. package/services/services-device-tab/columns/status.cell-renderer.component.d.ts +1 -1
  363. package/services/services-device-tab/columns/status.cell-renderer.component.d.ts.map +1 -1
  364. package/services/services-device-tab/services-device-tab.component.d.ts +1 -1
  365. package/services/services-device-tab/services-device-tab.component.d.ts.map +1 -1
  366. package/services/services-device-tab/services-device-tab.module.d.ts +1 -4
  367. package/services/services-device-tab/services-device-tab.module.d.ts.map +1 -1
  368. package/trusted-certificates/crl/crl-settings.component.d.ts +5 -1
  369. package/trusted-certificates/crl/crl-settings.component.d.ts.map +1 -1
  370. package/trusted-certificates/factories/tabs.factory.d.ts +3 -2
  371. package/trusted-certificates/factories/tabs.factory.d.ts.map +1 -1
  372. package/trusted-certificates/factories/trusted-certificates-navigation.factory.d.ts +2 -0
  373. package/trusted-certificates/factories/trusted-certificates-navigation.factory.d.ts.map +1 -1
  374. package/trusted-certificates/list/trusted-certificate-list.component.d.ts +5 -1
  375. package/trusted-certificates/list/trusted-certificate-list.component.d.ts.map +1 -1
  376. package/trusted-certificates/trusted-certificates.guard.d.ts +11 -0
  377. package/trusted-certificates/trusted-certificates.guard.d.ts.map +1 -0
  378. package/upgrade/index.d.ts +0 -1
  379. package/upgrade/index.d.ts.map +1 -1
  380. package/upgrade/upgrade.module.d.ts.map +1 -1
  381. package/upgrade/upgraded-services/index.d.ts +1 -0
  382. package/upgrade/upgraded-services/index.d.ts.map +1 -1
  383. package/upgrade/upgraded-services/smart-rules.service.d.ts.map +1 -0
  384. package/upgrade/upgraded-services/upgraded-services.module.d.ts.map +1 -1
  385. package/user-roles/inventory-role-selector/inventory-role-selector.component.d.ts +2 -1
  386. package/user-roles/inventory-role-selector/inventory-role-selector.component.d.ts.map +1 -1
  387. package/user-roles/roles-asset-tree/roles-asset-tree.component.d.ts +2 -1
  388. package/user-roles/roles-asset-tree/roles-asset-tree.component.d.ts.map +1 -1
  389. package/upgrade/smart-rules.service.d.ts.map +0 -1
  390. /package/upgrade/{smart-rules.service.d.ts → upgraded-services/smart-rules.service.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs","sources":["../../operations/stepper-bulk-type-configuration/stepper-bulk-type-configuration.component.ts","../../operations/stepper-bulk-type-configuration/stepper-bulk-type-configuration.component.html","../../operations/stepper-bulk-type-configuration/stepper-bulk-type-configuration.module.ts","../../operations/stepper-bulk-type-configuration/c8y-ngx-components-operations-stepper-bulk-type-configuration.ts"],"sourcesContent":["import { CdkStep } from '@angular/cdk/stepper';\nimport { Component } from '@angular/core';\nimport { IManagedObject, IOperation, IResultList } from '@c8y/client';\nimport { C8yStepper, gettext } from '@c8y/ngx-components';\nimport { BaseStepperComponent } from '@c8y/ngx-components/operations/bulk-operation-stepper';\nimport {\n BulkOperationsService,\n BulkOperationType,\n OperationDetails\n} from '@c8y/ngx-components/operations/bulk-operations-service';\nimport { RepositoryService, RepositoryType } from '@c8y/ngx-components/repository/shared';\nimport { TranslateService } from '@ngx-translate/core';\nimport { get, isEqual, uniqWith } from 'lodash-es';\nimport { BehaviorSubject, combineLatest, from, Observable, Subscription } from 'rxjs';\nimport { debounceTime, distinctUntilChanged, shareReplay, switchMap } from 'rxjs/operators';\n\n@Component({\n selector: 'c8y-stepper-bulk-type-configuration',\n templateUrl: 'stepper-bulk-type-configuration.component.html',\n standalone: false\n})\nexport class StepperBulkTypeConfigurationComponent extends BaseStepperComponent {\n readonly type: BulkOperationType = BulkOperationType.CONFIGURATION;\n readonly NO_DEVICE_TYPE_AVAILABLE = gettext('Undefined`device type`');\n selectedConfiguration: IManagedObject;\n DD_LOW_COUNT = 10;\n textFilter$: BehaviorSubject<string> = new BehaviorSubject('');\n configType$: BehaviorSubject<string> = new BehaviorSubject('');\n configTypes = [];\n selectedConfigType = { name: '' };\n configurations$: Observable<IResultList<IManagedObject>> = combineLatest(\n this.textFilter$,\n this.configType$\n ).pipe(\n switchMap(([name, configType]) => this.getConfiguration(name, configType)),\n shareReplay(1)\n );\n private configTypeSubscription: Subscription;\n\n constructor(\n private bulkOperationService: BulkOperationsService,\n private repositoryService: RepositoryService,\n private translate: TranslateService\n ) {\n super();\n this.DD_LOW_COUNT = this.bulkOperationService.DD_LOW_COUNT;\n this.loadConfigurationTypes();\n }\n\n loadConfigurationTypes() {\n this.configTypeSubscription = this.configType$\n .pipe(\n debounceTime(300),\n distinctUntilChanged(),\n switchMap(searchStr => {\n const query = { configurationType: `*${searchStr}*` };\n return from(\n this.repositoryService.listRepositoryEntries(RepositoryType.CONFIGURATION, { query })\n );\n })\n )\n .subscribe(result => {\n const { data } = result;\n this.configTypes = uniqWith(\n data.map(val => ({ name: val.configurationType })),\n isEqual\n );\n });\n }\n ngOnDestroy(): void {\n this.configTypeSubscription.unsubscribe();\n }\n\n selectConfiguration(configuration: IManagedObject) {\n this.selectedConfiguration = configuration;\n }\n\n goToSecondStep($event: { stepper: C8yStepper; step: CdkStep }) {\n $event.stepper.next();\n this.getConfigBinary();\n this.deviceTypes = this.selectedConfiguration.deviceType;\n }\n\n async getConfigBinary() {\n if (this.selectedConfiguration.url) {\n this.selectedConfiguration.binary = await this.repositoryService.getBinaryText(\n this.selectedConfiguration.url,\n { allowExternal: true, noAlerts: true }\n );\n }\n }\n\n getDeviceTypeTitle(configuration: IManagedObject): string {\n return get(configuration, 'deviceType', this.translate.instant(this.NO_DEVICE_TYPE_AVAILABLE));\n }\n\n protected retrieveOperationPrototype(): OperationDetails {\n const configuration = {\n type: this.selectedConfiguration.configurationType,\n url: this.selectedConfiguration.url\n };\n\n return {\n name: gettext('Configuration update'),\n description: get(this.selectedConfiguration, 'name'),\n prototype: {\n description: `Update configuration to: ${this.selectedConfiguration.name}.`,\n c8y_DownloadConfigFile: configuration\n } as unknown as IOperation\n };\n }\n\n private getConfiguration(name?: string, configurationType?: string) {\n const query: any = name ? { name: `*${name}*` } : {};\n if (configurationType) {\n query.__or = [{ configurationType }, { __not: { __has: `configurationType` } }];\n }\n return this.repositoryService.listRepositoryEntries(RepositoryType.CONFIGURATION, { query });\n }\n}\n","<c8y-bulk-operation-stepper [type]=\"type\">\n <ng-container\n *customStep=\"\n 'Select configuration' | translate;\n completed: !!selectedConfiguration;\n buttonsDisabled: !selectedConfiguration;\n onNext: goToSecondStep.bind(this)\n \"\n >\n <c8y-select-step-frame\n [header]=\"'Select configuration' | translate\"\n [noResults]=\"\n ((textFilter$ | async)?.length || (configType$ | async)?.length) &&\n (configurations$ | async)?.data.length === 0\n \"\n >\n <div\n class=\"row\"\n filters\n >\n <div class=\"col-md-6\">\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 > 0\"\n (click)=\"textFilter$.next('')\"\n ></i>\n </span>\n </div>\n </div>\n <div class=\"col-xs-12 p-b-8 visible-xs visible-sm\"></div>\n <div class=\"col-md-6\">\n <c8y-form-group class=\"m-0\">\n <c8y-typeahead\n placeholder=\"{{ 'Type to filter configuration types…' | translate }}\"\n name=\"configType\"\n [(ngModel)]=\"selectedConfigType\"\n (onSearch)=\"configType$.next($event)\"\n >\n <c8y-li\n class=\"p-l-8 p-r-8 c8y-list__item--link\"\n (click)=\"selectedConfigType = { name: '' }; configType$.next('')\"\n >\n <span>{{ 'All configuration types' | translate }}</span>\n </c8y-li>\n <c8y-li\n class=\"p-l-8 p-r-8 c8y-list__item--link\"\n *ngFor=\"let configType of configTypes\"\n (click)=\"selectedConfigType = configType; configType$.next(configType.name)\"\n [active]=\"selectedConfigType === configType\"\n >\n <c8y-highlight\n [text]=\"configType.name\"\n [pattern]=\"configType$ | async\"\n ></c8y-highlight>\n </c8y-li>\n </c8y-typeahead>\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-4\">\n <span\n class=\"text-truncate\"\n title=\"{{ 'Device type' | translate }}\"\n >\n {{ 'Device type' | translate }}\n </span>\n </div>\n <div class=\"col-3\">\n <span\n class=\"text-truncate\"\n title=\"{{ 'Configuration type' | translate }}\"\n >\n {{ 'Configuration type' | translate }}\n </span>\n </div>\n </c8y-li-body>\n </c8y-li>\n <c8y-list-group list>\n <c8y-li\n #listItem\n *c8yFor=\"let configuration of configurations$ | async\"\n >\n <c8y-li-radio (onSelect)=\"selectConfiguration(configuration)\"></c8y-li-radio>\n <c8y-li-icon icon=\"gears\"></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=\"{{ configuration.name || '-' }}\"\n >\n <c8y-highlight\n [text]=\"configuration.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=\"{{ 'Device type' | translate }}: {{ getDeviceTypeTitle(configuration) }}\"\n >\n <span\n class=\"text-label-small m-r-8 visible-xs visible-sm\"\n translate\n >\n Device type\n </span>\n {{ configuration.deviceType }}\n <em\n class=\"text-muted\"\n *ngIf=\"!configuration.deviceType\"\n >\n {{ 'Undefined`device type`' | translate }}\n </em>\n </div>\n </div>\n <div class=\"col-3 m-b-xs-8\">\n <span\n class=\"text-label-small m-r-8 visible-xs visible-sm\"\n translate\n >\n Configuration type\n </span>\n <span\n class=\"label label-info\"\n title=\"{{ 'Configuration type' | translate }}: {{\n configuration.configurationType\n }}\"\n *ngIf=\"configuration.configurationType\"\n >\n <c8y-highlight\n [text]=\"configuration.configurationType\"\n elementClass=\"text-gray-lighter\"\n [pattern]=\"configType$ | async\"\n ></c8y-highlight>\n </span>\n <span\n class=\"label label-default\"\n title=\"{{ 'Configuration type' | translate }}: {{ 'Undefined' | translate }}\"\n *ngIf=\"!configuration.configurationType\"\n >\n {{ 'Undefined' | translate }}\n </span>\n </div>\n </c8y-li-body>\n </c8y-li>\n </c8y-list-group>\n </c8y-select-step-frame>\n </ng-container>\n <ng-container *customStep=\"'Preview configuration' | translate\">\n <c8y-preview-selection-frame\n [header]=\"'Preview configuration' | translate\"\n [name]=\"selectedConfiguration?.name\"\n [type]=\"selectedConfiguration?.configurationType\"\n >\n <ng-container *previewBlock=\"'Device type' | translate\">\n <ng-container *ngIf=\"selectedConfiguration?.deviceType; else noType\">\n <span>{{ selectedConfiguration?.deviceType }}</span>\n </ng-container>\n <ng-template #noType>\n <em\n class=\"text-muted\"\n translate\n >\n Undefined`device type`\n </em>\n </ng-template>\n </ng-container>\n <ng-container *previewBlock=\"'Updated' | translate\">\n <span>{{ selectedConfiguration?.lastUpdated | c8yDate }}</span>\n </ng-container>\n <ng-container *previewBlock=\"'Preview' | translate\">\n <c8y-ui-empty-state\n [icon]=\"'file-code-o'\"\n [title]=\"'No preview available.' | translate\"\n [subtitle]=\"'Could not fetch the file.' | translate\"\n *ngIf=\"!this.selectedConfiguration?.binary; else binaryPreview\"\n ></c8y-ui-empty-state>\n <ng-template #binaryPreview>\n <pre style=\"min-height: 98px\"><code>{{ this.selectedConfiguration?.binary }}</code></pre>\n </ng-template>\n </ng-container>\n </c8y-preview-selection-frame>\n </ng-container>\n</c8y-bulk-operation-stepper>\n","import { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { CoreModule, FormsModule, gettext } from '@c8y/ngx-components';\nimport { SharedRepositoryModule } from '@c8y/ngx-components/repository/shared';\nimport { BulkOperationStepperModule } from '@c8y/ngx-components/operations/bulk-operation-stepper';\nimport {\n baseUrl,\n BulkOperationType,\n hookListBulkType\n} from '@c8y/ngx-components/operations/bulk-operations-service';\nimport { StepperFramesModule } from '@c8y/ngx-components/operations/stepper-frames';\n\nimport { StepperBulkTypeConfigurationComponent } from './stepper-bulk-type-configuration.component';\n\n/** Module for the 'Configuration update' operation type stepper */\n@NgModule({\n declarations: [StepperBulkTypeConfigurationComponent],\n imports: [\n CoreModule,\n FormsModule,\n ReactiveFormsModule,\n BulkOperationStepperModule,\n SharedRepositoryModule,\n StepperFramesModule\n ],\n providers: [\n hookListBulkType({\n type: BulkOperationType.CONFIGURATION,\n c8yIcon: 'cogs',\n name: gettext('Configuration update'),\n path: `${baseUrl}configuration`,\n component: StepperBulkTypeConfigurationComponent,\n fragments: ['c8y_DownloadConfigFile', 'c8y_Configuration'],\n selected: false\n })\n ],\n exports: [StepperBulkTypeConfigurationComponent]\n})\nexport class StepperBulkTypeConfigurationModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs","sources":["../../operations/stepper-bulk-type-configuration/stepper-bulk-type-configuration.component.ts","../../operations/stepper-bulk-type-configuration/stepper-bulk-type-configuration.component.html","../../operations/stepper-bulk-type-configuration/stepper-bulk-type-configuration.module.ts","../../operations/stepper-bulk-type-configuration/c8y-ngx-components-operations-stepper-bulk-type-configuration.ts"],"sourcesContent":["import { CdkStep } from '@angular/cdk/stepper';\nimport { Component } from '@angular/core';\nimport { IManagedObject, IOperation, IResultList } from '@c8y/client';\nimport {\n C8yStepper,\n gettext,\n IconDirective,\n FormGroupComponent,\n TypeaheadComponent,\n ListItemComponent,\n HighlightComponent,\n ListItemIconComponent,\n ListItemBodyComponent,\n ListGroupComponent,\n ForOfDirective,\n ListItemRadioComponent,\n C8yTranslateDirective,\n EmptyStateComponent,\n C8yTranslatePipe,\n DatePipe\n} from '@c8y/ngx-components';\nimport {\n BaseStepperComponent,\n BulkOperationStepper,\n CustomStep\n} from '@c8y/ngx-components/operations/bulk-operation-stepper';\nimport {\n BulkOperationsService,\n BulkOperationType,\n OperationDetails\n} from '@c8y/ngx-components/operations/bulk-operations-service';\nimport { RepositoryService, RepositoryType } from '@c8y/ngx-components/repository/shared';\nimport { TranslateService } from '@ngx-translate/core';\nimport { get, isEqual, uniqWith } from 'lodash-es';\nimport { BehaviorSubject, combineLatest, from, Observable, Subscription } from 'rxjs';\nimport { debounceTime, distinctUntilChanged, shareReplay, switchMap } from 'rxjs/operators';\nimport {\n SelectStepFrameComponent,\n PreviewSelectionFrameComponent,\n PreviewBlockDirective\n} 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-stepper-bulk-type-configuration',\n templateUrl: 'stepper-bulk-type-configuration.component.html',\n imports: [\n BulkOperationStepper,\n CustomStep,\n SelectStepFrameComponent,\n FormsModule,\n NgIf,\n IconDirective,\n FormGroupComponent,\n TypeaheadComponent,\n ListItemComponent,\n NgFor,\n HighlightComponent,\n ListItemIconComponent,\n ListItemBodyComponent,\n ListGroupComponent,\n ForOfDirective,\n ListItemRadioComponent,\n C8yTranslateDirective,\n PreviewSelectionFrameComponent,\n PreviewBlockDirective,\n EmptyStateComponent,\n C8yTranslatePipe,\n AsyncPipe,\n DatePipe\n ]\n})\nexport class StepperBulkTypeConfigurationComponent extends BaseStepperComponent {\n readonly type: BulkOperationType = BulkOperationType.CONFIGURATION;\n readonly NO_DEVICE_TYPE_AVAILABLE = gettext('Undefined`device type`');\n selectedConfiguration: IManagedObject;\n DD_LOW_COUNT = 10;\n textFilter$: BehaviorSubject<string> = new BehaviorSubject('');\n configType$: BehaviorSubject<string> = new BehaviorSubject('');\n configTypes = [];\n selectedConfigType = { name: '' };\n configurations$: Observable<IResultList<IManagedObject>> = combineLatest(\n this.textFilter$,\n this.configType$\n ).pipe(\n switchMap(([name, configType]) => this.getConfiguration(name, configType)),\n shareReplay(1)\n );\n private configTypeSubscription: Subscription;\n\n constructor(\n private bulkOperationService: BulkOperationsService,\n private repositoryService: RepositoryService,\n private translate: TranslateService\n ) {\n super();\n this.DD_LOW_COUNT = this.bulkOperationService.DD_LOW_COUNT;\n this.loadConfigurationTypes();\n }\n\n loadConfigurationTypes() {\n this.configTypeSubscription = this.configType$\n .pipe(\n debounceTime(300),\n distinctUntilChanged(),\n switchMap(searchStr => {\n const query = { configurationType: `*${searchStr}*` };\n return from(\n this.repositoryService.listRepositoryEntries(RepositoryType.CONFIGURATION, { query })\n );\n })\n )\n .subscribe(result => {\n const { data } = result;\n this.configTypes = uniqWith(\n data.map(val => ({ name: val.configurationType })),\n isEqual\n );\n });\n }\n ngOnDestroy(): void {\n this.configTypeSubscription.unsubscribe();\n }\n\n selectConfiguration(configuration: IManagedObject) {\n this.selectedConfiguration = configuration;\n }\n\n goToSecondStep($event: { stepper: C8yStepper; step: CdkStep }) {\n $event.stepper.next();\n this.getConfigBinary();\n this.deviceTypes = this.selectedConfiguration.deviceType;\n }\n\n async getConfigBinary() {\n if (this.selectedConfiguration.url) {\n this.selectedConfiguration.binary = await this.repositoryService.getBinaryText(\n this.selectedConfiguration.url,\n { allowExternal: true, noAlerts: true }\n );\n }\n }\n\n getDeviceTypeTitle(configuration: IManagedObject): string {\n return get(configuration, 'deviceType', this.translate.instant(this.NO_DEVICE_TYPE_AVAILABLE));\n }\n\n protected retrieveOperationPrototype(): OperationDetails {\n const configuration = {\n type: this.selectedConfiguration.configurationType,\n url: this.selectedConfiguration.url\n };\n\n return {\n name: gettext('Configuration update'),\n description: get(this.selectedConfiguration, 'name'),\n prototype: {\n description: `Update configuration to: ${this.selectedConfiguration.name}.`,\n c8y_DownloadConfigFile: configuration\n } as unknown as IOperation\n };\n }\n\n private getConfiguration(name?: string, configurationType?: string) {\n const query: any = name ? { name: `*${name}*` } : {};\n if (configurationType) {\n query.__or = [{ configurationType }, { __not: { __has: `configurationType` } }];\n }\n return this.repositoryService.listRepositoryEntries(RepositoryType.CONFIGURATION, { query });\n }\n}\n","<c8y-bulk-operation-stepper [type]=\"type\">\n <ng-container\n *customStep=\"\n 'Select configuration' | translate;\n completed: !!selectedConfiguration;\n buttonsDisabled: !selectedConfiguration;\n onNext: goToSecondStep.bind(this)\n \"\n >\n <c8y-select-step-frame\n [header]=\"'Select configuration' | translate\"\n [noResults]=\"\n ((textFilter$ | async)?.length || (configType$ | async)?.length) &&\n (configurations$ | async)?.data.length === 0\n \"\n >\n <div\n class=\"row\"\n filters\n >\n <div class=\"col-md-6\">\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 > 0\"\n (click)=\"textFilter$.next('')\"\n ></i>\n </span>\n </div>\n </div>\n <div class=\"col-xs-12 p-b-8 visible-xs visible-sm\"></div>\n <div class=\"col-md-6\">\n <c8y-form-group class=\"m-0\">\n <c8y-typeahead\n placeholder=\"{{ 'Type to filter configuration types…' | translate }}\"\n name=\"configType\"\n [(ngModel)]=\"selectedConfigType\"\n (onSearch)=\"configType$.next($event)\"\n >\n <c8y-li\n class=\"p-l-8 p-r-8 c8y-list__item--link\"\n (click)=\"selectedConfigType = { name: '' }; configType$.next('')\"\n >\n <span>{{ 'All configuration types' | translate }}</span>\n </c8y-li>\n <c8y-li\n class=\"p-l-8 p-r-8 c8y-list__item--link\"\n *ngFor=\"let configType of configTypes\"\n (click)=\"selectedConfigType = configType; configType$.next(configType.name)\"\n [active]=\"selectedConfigType === configType\"\n >\n <c8y-highlight\n [text]=\"configType.name\"\n [pattern]=\"configType$ | async\"\n ></c8y-highlight>\n </c8y-li>\n </c8y-typeahead>\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-4\">\n <span\n class=\"text-truncate\"\n title=\"{{ 'Device type' | translate }}\"\n >\n {{ 'Device type' | translate }}\n </span>\n </div>\n <div class=\"col-3\">\n <span\n class=\"text-truncate\"\n title=\"{{ 'Configuration type' | translate }}\"\n >\n {{ 'Configuration type' | translate }}\n </span>\n </div>\n </c8y-li-body>\n </c8y-li>\n <c8y-list-group list>\n <c8y-li\n #listItem\n *c8yFor=\"let configuration of configurations$ | async\"\n >\n <c8y-li-radio (onSelect)=\"selectConfiguration(configuration)\"></c8y-li-radio>\n <c8y-li-icon icon=\"gears\"></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=\"{{ configuration.name || '-' }}\"\n >\n <c8y-highlight\n [text]=\"configuration.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=\"{{ 'Device type' | translate }}: {{ getDeviceTypeTitle(configuration) }}\"\n >\n <span\n class=\"text-label-small m-r-8 visible-xs visible-sm\"\n translate\n >\n Device type\n </span>\n {{ configuration.deviceType }}\n <em\n class=\"text-muted\"\n *ngIf=\"!configuration.deviceType\"\n >\n {{ 'Undefined`device type`' | translate }}\n </em>\n </div>\n </div>\n <div class=\"col-3 m-b-xs-8\">\n <span\n class=\"text-label-small m-r-8 visible-xs visible-sm\"\n translate\n >\n Configuration type\n </span>\n <span\n class=\"label label-info\"\n title=\"{{ 'Configuration type' | translate }}: {{\n configuration.configurationType\n }}\"\n *ngIf=\"configuration.configurationType\"\n >\n <c8y-highlight\n [text]=\"configuration.configurationType\"\n elementClass=\"text-gray-lighter\"\n [pattern]=\"configType$ | async\"\n ></c8y-highlight>\n </span>\n <span\n class=\"label label-default\"\n title=\"{{ 'Configuration type' | translate }}: {{ 'Undefined' | translate }}\"\n *ngIf=\"!configuration.configurationType\"\n >\n {{ 'Undefined' | translate }}\n </span>\n </div>\n </c8y-li-body>\n </c8y-li>\n </c8y-list-group>\n </c8y-select-step-frame>\n </ng-container>\n <ng-container *customStep=\"'Preview configuration' | translate\">\n <c8y-preview-selection-frame\n [header]=\"'Preview configuration' | translate\"\n [name]=\"selectedConfiguration?.name\"\n [type]=\"selectedConfiguration?.configurationType\"\n >\n <ng-container *previewBlock=\"'Device type' | translate\">\n <ng-container *ngIf=\"selectedConfiguration?.deviceType; else noType\">\n <span>{{ selectedConfiguration?.deviceType }}</span>\n </ng-container>\n <ng-template #noType>\n <em\n class=\"text-muted\"\n translate\n >\n Undefined`device type`\n </em>\n </ng-template>\n </ng-container>\n <ng-container *previewBlock=\"'Updated' | translate\">\n <span>{{ selectedConfiguration?.lastUpdated | c8yDate }}</span>\n </ng-container>\n <ng-container *previewBlock=\"'Preview' | translate\">\n <c8y-ui-empty-state\n [icon]=\"'file-code-o'\"\n [title]=\"'No preview available.' | translate\"\n [subtitle]=\"'Could not fetch the file.' | translate\"\n *ngIf=\"!this.selectedConfiguration?.binary; else binaryPreview\"\n ></c8y-ui-empty-state>\n <ng-template #binaryPreview>\n <pre style=\"min-height: 98px\"><code>{{ this.selectedConfiguration?.binary }}</code></pre>\n </ng-template>\n </ng-container>\n </c8y-preview-selection-frame>\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 { StepperBulkTypeConfigurationComponent } from './stepper-bulk-type-configuration.component';\n\n/** Module for the 'Configuration update' operation type stepper */\n@NgModule({\n imports: [StepperBulkTypeConfigurationComponent],\n providers: [\n hookListBulkType({\n type: BulkOperationType.CONFIGURATION,\n c8yIcon: 'cogs',\n name: gettext('Configuration update'),\n path: `${baseUrl}configuration`,\n component: StepperBulkTypeConfigurationComponent,\n fragments: ['c8y_DownloadConfigFile', 'c8y_Configuration'],\n selected: false\n })\n ],\n exports: [StepperBulkTypeConfigurationComponent]\n})\nexport class StepperBulkTypeConfigurationModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["gettext"],"mappings":"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"}
@@ -1,21 +1,18 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Input, Component, EventEmitter, Output, NgModule } from '@angular/core';
3
- import * as i5 from '@angular/forms';
4
- import { ReactiveFormsModule } from '@angular/forms';
5
- import * as i3 from '@c8y/ngx-components';
6
- import { gettext, CoreModule, FormsModule } from '@c8y/ngx-components';
7
- import * as i1$1 from '@c8y/ngx-components/device-profile';
8
- import { DeviceProfileModule } from '@c8y/ngx-components/device-profile';
9
- import * as i1$2 from '@c8y/ngx-components/operations/bulk-operation-stepper';
10
- import { BaseStepperComponent, BulkOperationStepperModule } from '@c8y/ngx-components/operations/bulk-operation-stepper';
3
+ import { gettext as gettext$1 } from '@c8y/ngx-components/gettext';
11
4
  import { BulkOperationType, hookListBulkType, baseUrl } from '@c8y/ngx-components/operations/bulk-operations-service';
12
- import * as i4$1 from '@c8y/ngx-components/operations/stepper-frames';
13
- import { StepperFramesModule } from '@c8y/ngx-components/operations/stepper-frames';
14
5
  import { get, uniqWith, isEqual } from 'lodash-es';
6
+ import { gettext, ListGroupComponent, ListItemComponent, ListItemIconComponent, IconDirective, ListItemBodyComponent, C8yTranslateDirective, C8yTranslatePipe, FormGroupComponent, TypeaheadComponent, HighlightComponent, MessagesComponent, MessageDirective, ForOfDirective, ListItemRadioComponent } from '@c8y/ngx-components';
15
7
  import * as i1 from '@ngx-translate/core';
16
- import * as i4 from '@angular/common';
8
+ import { PreviewSelectionFrameComponent, PreviewBlockDirective, SelectStepFrameComponent } from '@c8y/ngx-components/operations/stepper-frames';
9
+ import { NgIf, NgFor, AsyncPipe } from '@angular/common';
17
10
  import { BehaviorSubject, combineLatest, from } from 'rxjs';
18
11
  import { switchMap, shareReplay, debounceTime, distinctUntilChanged } from 'rxjs/operators';
12
+ import * as i1$1 from '@c8y/ngx-components/device-profile';
13
+ import * as i3 from '@angular/forms';
14
+ import { FormsModule } from '@angular/forms';
15
+ import { BaseStepperComponent, BulkOperationStepper, CustomStep } from '@c8y/ngx-components/operations/bulk-operation-stepper';
19
16
 
20
17
  class ConfirmDeviceProfileSelectionStepComponent {
21
18
  constructor(translate) {
@@ -32,11 +29,23 @@ class ConfirmDeviceProfileSelectionStepComponent {
32
29
  return get(deviceProfile, 'c8y_Filter.type', this.translate.instant(this.DEVICE_TYPE_NOT_DEFINED));
33
30
  }
34
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 }); }
35
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: ConfirmDeviceProfileSelectionStepComponent, isStandalone: false, 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: "directive", type: i3.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i3.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.ListGroupComponent, selector: "c8y-list-group" }, { kind: "component", type: i3.ListItemComponent, selector: "c8y-list-item, c8y-li", inputs: ["active", "highlighted", "emptyActions", "dense", "collapsed", "selectable"], outputs: ["collapsedChange"] }, { kind: "component", type: i3.ListItemIconComponent, selector: "c8y-list-item-icon, c8y-li-icon", inputs: ["icon", "status"] }, { kind: "component", type: i3.ListItemBodyComponent, selector: "c8y-list-item-body, c8y-li-body", inputs: ["body"] }, { kind: "component", type: i4$1.PreviewSelectionFrameComponent, selector: "c8y-preview-selection-frame", inputs: ["header", "name", "description", "type"] }, { kind: "directive", type: i4$1.PreviewBlockDirective, selector: "[previewBlock]", inputs: ["previewBlock", "previewBlockIf"] }, { kind: "pipe", type: i3.C8yTranslatePipe, name: "translate" }] }); }
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" }] }); }
36
33
  }
37
34
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ConfirmDeviceProfileSelectionStepComponent, decorators: [{
38
35
  type: Component,
39
- args: [{ selector: 'c8y-confirm-device-profile-selection-step', standalone: false, 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" }]
36
+ args: [{ selector: 'c8y-confirm-device-profile-selection-step', imports: [
37
+ PreviewSelectionFrameComponent,
38
+ PreviewBlockDirective,
39
+ NgIf,
40
+ ListGroupComponent,
41
+ ListItemComponent,
42
+ ListItemIconComponent,
43
+ IconDirective,
44
+ ListItemBodyComponent,
45
+ C8yTranslateDirective,
46
+ NgFor,
47
+ C8yTranslatePipe
48
+ ], 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" }]
40
49
  }], ctorParameters: () => [{ type: i1.TranslateService }], propDecorators: { selectedDeviceProfile: [{
41
50
  type: Input
42
51
  }] } });
@@ -81,11 +90,31 @@ class SelectDeviceProfileStepComponent {
81
90
  return this.deviceProfileService.getDeviceProfiles(query);
82
91
  }
83
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 }); }
84
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: SelectDeviceProfileStepComponent, isStandalone: false, 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: "directive", type: i3.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i3.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.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: i3.HighlightComponent, selector: "c8y-highlight", inputs: ["pattern", "text", "elementClass", "shouldTrimPattern"] }, { kind: "component", type: i3.TypeaheadComponent, selector: "c8y-typeahead", inputs: ["required", "maxlength", "disabled", "allowFreeEntries", "placeholder", "displayProperty", "icon", "name", "autoClose", "hideNew", "container", "selected", "highlightFirstItem"], outputs: ["onSearch", "onIconClick"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "directive", type: i3.MessageDirective, selector: "c8y-message", inputs: ["name", "text"] }, { kind: "component", type: i3.MessagesComponent, selector: "c8y-messages", inputs: ["show", "defaults", "helpMessage"] }, { kind: "component", type: i3.ListGroupComponent, selector: "c8y-list-group" }, { kind: "component", type: i3.ListItemComponent, selector: "c8y-list-item, c8y-li", inputs: ["active", "highlighted", "emptyActions", "dense", "collapsed", "selectable"], outputs: ["collapsedChange"] }, { kind: "component", type: i3.ListItemIconComponent, selector: "c8y-list-item-icon, c8y-li-icon", inputs: ["icon", "status"] }, { kind: "component", type: i3.ListItemBodyComponent, selector: "c8y-list-item-body, c8y-li-body", inputs: ["body"] }, { kind: "component", type: i3.ListItemRadioComponent, selector: "c8y-list-item-radio, c8y-li-radio", inputs: ["selected", "name", "disabled", "value"], outputs: ["onSelect"] }, { kind: "component", type: i4$1.SelectStepFrameComponent, selector: "c8y-select-step-frame", inputs: ["header", "noResults"] }, { kind: "pipe", type: i3.C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] }); }
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", "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" }] }); }
85
94
  }
86
95
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SelectDeviceProfileStepComponent, decorators: [{
87
96
  type: Component,
88
- args: [{ selector: 'c8y-select-device-profile-step', standalone: false, 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" }]
97
+ args: [{ selector: 'c8y-select-device-profile-step', imports: [
98
+ SelectStepFrameComponent,
99
+ FormsModule,
100
+ NgIf,
101
+ IconDirective,
102
+ FormGroupComponent,
103
+ TypeaheadComponent,
104
+ ListItemComponent,
105
+ NgFor,
106
+ HighlightComponent,
107
+ MessagesComponent,
108
+ MessageDirective,
109
+ ListItemIconComponent,
110
+ ListItemBodyComponent,
111
+ ListGroupComponent,
112
+ ForOfDirective,
113
+ ListItemRadioComponent,
114
+ C8yTranslateDirective,
115
+ C8yTranslatePipe,
116
+ AsyncPipe
117
+ ], 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" }]
89
118
  }], ctorParameters: () => [{ type: i1$1.DeviceProfileService }, { type: i1.TranslateService }], propDecorators: { deviceProfile: [{
90
119
  type: Output
91
120
  }] } });
@@ -115,62 +144,52 @@ class StepperBulkTypeDeviceProfileComponent extends BaseStepperComponent {
115
144
  };
116
145
  }
117
146
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: StepperBulkTypeDeviceProfileComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
118
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: StepperBulkTypeDeviceProfileComponent, isStandalone: false, 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: i1$2.BulkOperationStepper, selector: "c8y-bulk-operation-stepper", inputs: ["type"], outputs: ["selectionChange"] }, { kind: "directive", type: i1$2.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: i3.C8yTranslatePipe, name: "translate" }] }); }
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" }] }); }
119
148
  }
120
149
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: StepperBulkTypeDeviceProfileComponent, decorators: [{
121
150
  type: Component,
122
- args: [{ selector: 'c8y-stepper-bulk-type-device-profile', standalone: false, 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" }]
151
+ args: [{ selector: 'c8y-stepper-bulk-type-device-profile', imports: [
152
+ BulkOperationStepper,
153
+ CustomStep,
154
+ SelectDeviceProfileStepComponent,
155
+ ConfirmDeviceProfileSelectionStepComponent,
156
+ C8yTranslatePipe
157
+ ], 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" }]
123
158
  }] });
124
159
 
125
160
  /** Module for the 'Apply device profile' operation type stepper */
126
161
  class StepperBulkTypeDeviceProfileModule {
127
162
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: StepperBulkTypeDeviceProfileModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
128
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.14", ngImport: i0, type: StepperBulkTypeDeviceProfileModule, declarations: [StepperBulkTypeDeviceProfileComponent,
163
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.14", ngImport: i0, type: StepperBulkTypeDeviceProfileModule, imports: [StepperBulkTypeDeviceProfileComponent,
129
164
  SelectDeviceProfileStepComponent,
130
- ConfirmDeviceProfileSelectionStepComponent], imports: [CoreModule,
131
- FormsModule,
132
- ReactiveFormsModule,
133
- BulkOperationStepperModule,
134
- DeviceProfileModule,
135
- StepperFramesModule], exports: [StepperBulkTypeDeviceProfileComponent] }); }
165
+ ConfirmDeviceProfileSelectionStepComponent], exports: [StepperBulkTypeDeviceProfileComponent] }); }
136
166
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: StepperBulkTypeDeviceProfileModule, providers: [
137
167
  hookListBulkType({
138
168
  type: BulkOperationType.DEVICE_PROFILE,
139
169
  c8yIcon: 'c8y-device-profile',
140
- name: gettext('Apply device profile'),
170
+ name: gettext$1('Apply device profile'),
141
171
  path: `${baseUrl}device-profile`,
142
172
  component: StepperBulkTypeDeviceProfileComponent,
143
173
  fragments: ['c8y_DeviceProfile'],
144
174
  selected: false
145
175
  })
146
- ], imports: [CoreModule,
147
- FormsModule,
148
- ReactiveFormsModule,
149
- BulkOperationStepperModule,
150
- DeviceProfileModule,
151
- StepperFramesModule] }); }
176
+ ], imports: [StepperBulkTypeDeviceProfileComponent,
177
+ SelectDeviceProfileStepComponent,
178
+ ConfirmDeviceProfileSelectionStepComponent] }); }
152
179
  }
153
180
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: StepperBulkTypeDeviceProfileModule, decorators: [{
154
181
  type: NgModule,
155
182
  args: [{
156
- declarations: [
183
+ imports: [
157
184
  StepperBulkTypeDeviceProfileComponent,
158
185
  SelectDeviceProfileStepComponent,
159
186
  ConfirmDeviceProfileSelectionStepComponent
160
187
  ],
161
- imports: [
162
- CoreModule,
163
- FormsModule,
164
- ReactiveFormsModule,
165
- BulkOperationStepperModule,
166
- DeviceProfileModule,
167
- StepperFramesModule
168
- ],
169
188
  providers: [
170
189
  hookListBulkType({
171
190
  type: BulkOperationType.DEVICE_PROFILE,
172
191
  c8yIcon: 'c8y-device-profile',
173
- name: gettext('Apply device profile'),
192
+ name: gettext$1('Apply device profile'),
174
193
  path: `${baseUrl}device-profile`,
175
194
  component: StepperBulkTypeDeviceProfileComponent,
176
195
  fragments: ['c8y_DeviceProfile'],
@@ -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 { gettext } from '@c8y/ngx-components';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n selector: 'c8y-confirm-device-profile-selection-step',\n templateUrl: 'confirm-device-profile-selection-step.component.html',\n standalone: false\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 { gettext } from '@c8y/ngx-components';\nimport { TranslateService } from '@ngx-translate/core';\nimport { DeviceProfileService } from '@c8y/ngx-components/device-profile';\n\n@Component({\n selector: 'c8y-select-device-profile-step',\n templateUrl: 'select-device-profile-step.component.html',\n standalone: false\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 } from '@c8y/ngx-components';\nimport { BaseStepperComponent } 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';\n\n@Component({\n selector: 'c8y-stepper-bulk-type-device-profile',\n templateUrl: 'stepper-bulk-type-device-profile.component.html',\n standalone: false\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 { ReactiveFormsModule } from '@angular/forms';\n\nimport { CoreModule, FormsModule, gettext } from '@c8y/ngx-components';\nimport { DeviceProfileModule } from '@c8y/ngx-components/device-profile';\nimport { BulkOperationStepperModule } from '@c8y/ngx-components/operations/bulk-operation-stepper';\nimport {\n baseUrl,\n BulkOperationType,\n hookListBulkType\n} from '@c8y/ngx-components/operations/bulk-operations-service';\nimport { StepperFramesModule } from '@c8y/ngx-components/operations/stepper-frames';\n\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 declarations: [\n StepperBulkTypeDeviceProfileComponent,\n SelectDeviceProfileStepComponent,\n ConfirmDeviceProfileSelectionStepComponent\n ],\n imports: [\n CoreModule,\n FormsModule,\n ReactiveFormsModule,\n BulkOperationStepperModule,\n DeviceProfileModule,\n StepperFramesModule\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":["i2","i3","i4","i1","i6","i2.SelectDeviceProfileStepComponent","i3.ConfirmDeviceProfileSelectionStepComponent"],"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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"}