@c8y/ngx-components 1023.17.6 → 1023.17.11

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 (200) hide show
  1. package/fesm2022/c8y-ngx-components-actility-device-registration.mjs +16 -16
  2. package/fesm2022/c8y-ngx-components-advanced-software-management.mjs +7 -7
  3. package/fesm2022/c8y-ngx-components-ai-agent-chat.mjs +9 -9
  4. package/fesm2022/c8y-ngx-components-ai-ai-chat.mjs +12 -12
  5. package/fesm2022/c8y-ngx-components-ai.mjs +3 -3
  6. package/fesm2022/c8y-ngx-components-alarm-event-selector.mjs +34 -34
  7. package/fesm2022/c8y-ngx-components-alarms-cockpit.mjs +4 -4
  8. package/fesm2022/c8y-ngx-components-alarms.mjs +76 -76
  9. package/fesm2022/c8y-ngx-components-api.mjs +7 -7
  10. package/fesm2022/c8y-ngx-components-app-logs.mjs +10 -10
  11. package/fesm2022/c8y-ngx-components-asset-properties.mjs +39 -39
  12. package/fesm2022/{c8y-ngx-components-asset-property-grid.component-CHjd7Q21.mjs → c8y-ngx-components-asset-property-grid.component-QedBlFUH.mjs} +13 -13
  13. package/fesm2022/{c8y-ngx-components-asset-property-grid.component-CHjd7Q21.mjs.map → c8y-ngx-components-asset-property-grid.component-QedBlFUH.mjs.map} +1 -1
  14. package/fesm2022/c8y-ngx-components-assets-navigator.mjs +32 -32
  15. package/fesm2022/c8y-ngx-components-auth-configuration.mjs +114 -114
  16. package/fesm2022/c8y-ngx-components-binary-file-download.mjs +7 -7
  17. package/fesm2022/c8y-ngx-components-bookmarks.mjs +13 -13
  18. package/fesm2022/c8y-ngx-components-branding-base-branding.mjs +4 -4
  19. package/fesm2022/c8y-ngx-components-branding-dark-theme.mjs +7 -7
  20. package/fesm2022/c8y-ngx-components-branding-extra-css-branding-editor.mjs +7 -7
  21. package/fesm2022/c8y-ngx-components-branding-plain-branding-editor-lazy.mjs +3 -3
  22. package/fesm2022/c8y-ngx-components-branding-plain-branding-editor.mjs +7 -7
  23. package/fesm2022/c8y-ngx-components-branding-shared-data.mjs +15 -15
  24. package/fesm2022/c8y-ngx-components-branding-shared-lazy-add-branding-modal.mjs +6 -6
  25. package/fesm2022/c8y-ngx-components-branding-shared-lazy.mjs +36 -36
  26. package/fesm2022/c8y-ngx-components-branding-shared.mjs +13 -13
  27. package/fesm2022/c8y-ngx-components-child-devices.mjs +13 -13
  28. package/fesm2022/c8y-ngx-components-cockpit-config.mjs +40 -40
  29. package/fesm2022/{c8y-ngx-components-computed-asset-properties-alarm-count-config.component-Bl18pHcM.mjs → c8y-ngx-components-computed-asset-properties-alarm-count-config.component-SA0syLy7.mjs} +4 -4
  30. package/fesm2022/{c8y-ngx-components-computed-asset-properties-alarm-count-config.component-Bl18pHcM.mjs.map → c8y-ngx-components-computed-asset-properties-alarm-count-config.component-SA0syLy7.mjs.map} +1 -1
  31. package/fesm2022/{c8y-ngx-components-computed-asset-properties-configuration-snapshot-config.component-C5QMFdX1.mjs → c8y-ngx-components-computed-asset-properties-configuration-snapshot-config.component-BOmgJI14.mjs} +4 -4
  32. package/fesm2022/{c8y-ngx-components-computed-asset-properties-configuration-snapshot-config.component-C5QMFdX1.mjs.map → c8y-ngx-components-computed-asset-properties-configuration-snapshot-config.component-BOmgJI14.mjs.map} +1 -1
  33. package/fesm2022/{c8y-ngx-components-computed-asset-properties-event-count-config.component-C-Lc5Ble.mjs → c8y-ngx-components-computed-asset-properties-event-count-config.component-CaTb9cph.mjs} +4 -4
  34. package/fesm2022/{c8y-ngx-components-computed-asset-properties-event-count-config.component-C-Lc5Ble.mjs.map → c8y-ngx-components-computed-asset-properties-event-count-config.component-CaTb9cph.mjs.map} +1 -1
  35. package/fesm2022/{c8y-ngx-components-computed-asset-properties-last-measurement-config.component-BXfM7hTQ.mjs → c8y-ngx-components-computed-asset-properties-last-measurement-config.component-DkrSvf9F.mjs} +4 -4
  36. package/fesm2022/{c8y-ngx-components-computed-asset-properties-last-measurement-config.component-BXfM7hTQ.mjs.map → c8y-ngx-components-computed-asset-properties-last-measurement-config.component-DkrSvf9F.mjs.map} +1 -1
  37. package/fesm2022/c8y-ngx-components-computed-asset-properties.mjs +6 -6
  38. package/fesm2022/c8y-ngx-components-connectivity.mjs +53 -53
  39. package/fesm2022/c8y-ngx-components-context-dashboard-asset-add.mjs +10 -10
  40. package/fesm2022/c8y-ngx-components-context-dashboard-asset-view.mjs +7 -7
  41. package/fesm2022/c8y-ngx-components-context-dashboard-cockpit-home-dashboard.mjs +11 -11
  42. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-appearance-settings.component-BuGMpNrA.mjs → c8y-ngx-components-context-dashboard-dashboard-appearance-settings.component-DM3hASUP.mjs} +4 -4
  43. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-appearance-settings.component-BuGMpNrA.mjs.map → c8y-ngx-components-context-dashboard-dashboard-appearance-settings.component-DM3hASUP.mjs.map} +1 -1
  44. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-general-settings.component-DN-f35bA.mjs → c8y-ngx-components-context-dashboard-dashboard-general-settings.component-CC5346kW.mjs} +10 -10
  45. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-general-settings.component-DN-f35bA.mjs.map → c8y-ngx-components-context-dashboard-dashboard-general-settings.component-CC5346kW.mjs.map} +1 -1
  46. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-version-history.component-BlIVEV__.mjs → c8y-ngx-components-context-dashboard-dashboard-version-history.component-CHuc--XM.mjs} +4 -4
  47. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-version-history.component-BlIVEV__.mjs.map → c8y-ngx-components-context-dashboard-dashboard-version-history.component-CHuc--XM.mjs.map} +1 -1
  48. package/fesm2022/c8y-ngx-components-context-dashboard-device-add.mjs +10 -10
  49. package/fesm2022/c8y-ngx-components-context-dashboard-device-view.mjs +7 -7
  50. package/fesm2022/c8y-ngx-components-context-dashboard-devicemanagement.mjs +3 -3
  51. package/fesm2022/c8y-ngx-components-context-dashboard-state.mjs +3 -3
  52. package/fesm2022/c8y-ngx-components-context-dashboard.mjs +102 -102
  53. package/fesm2022/{c8y-ngx-components-dashboard-details-advanced-tab-dashboard-details-advanced-tab.component-m7YeEj9R.mjs → c8y-ngx-components-dashboard-details-advanced-tab-dashboard-details-advanced-tab.component-D0C7SH6L.mjs} +16 -16
  54. package/fesm2022/{c8y-ngx-components-dashboard-details-advanced-tab-dashboard-details-advanced-tab.component-m7YeEj9R.mjs.map → c8y-ngx-components-dashboard-details-advanced-tab-dashboard-details-advanced-tab.component-D0C7SH6L.mjs.map} +1 -1
  55. package/fesm2022/c8y-ngx-components-dashboard-details-advanced-tab.mjs +12 -12
  56. package/fesm2022/c8y-ngx-components-dashboard-manager-devicemanagement.mjs +6 -6
  57. package/fesm2022/c8y-ngx-components-dashboard-manager.mjs +22 -22
  58. package/fesm2022/c8y-ngx-components-data-broker.mjs +7 -7
  59. package/fesm2022/c8y-ngx-components-data-grid-columns-asset-type.mjs +3 -3
  60. package/fesm2022/c8y-ngx-components-data-grid-columns.mjs +3 -3
  61. package/fesm2022/c8y-ngx-components-datapoint-explorer-view.mjs +24 -24
  62. package/fesm2022/c8y-ngx-components-datapoint-explorer.mjs +13 -13
  63. package/fesm2022/c8y-ngx-components-datapoint-library-details.mjs +3 -3
  64. package/fesm2022/c8y-ngx-components-datapoint-library-list.mjs +3 -3
  65. package/fesm2022/c8y-ngx-components-datapoint-library-services.mjs +3 -3
  66. package/fesm2022/c8y-ngx-components-datapoint-library.mjs +4 -4
  67. package/fesm2022/c8y-ngx-components-datapoint-selector.mjs +40 -40
  68. package/fesm2022/c8y-ngx-components-datapoints-export-selector.mjs +33 -33
  69. package/fesm2022/c8y-ngx-components-default-subscriptions.mjs +16 -16
  70. package/fesm2022/c8y-ngx-components-device-grid.mjs +43 -43
  71. package/fesm2022/c8y-ngx-components-device-list.mjs +22 -22
  72. package/fesm2022/c8y-ngx-components-device-map.mjs +12 -12
  73. package/fesm2022/c8y-ngx-components-device-profile.mjs +34 -34
  74. package/fesm2022/c8y-ngx-components-device-protocol-object-mappings.mjs +3 -3
  75. package/fesm2022/c8y-ngx-components-device-protocols.mjs +16 -16
  76. package/fesm2022/c8y-ngx-components-device-provisioned-certificates.mjs +13 -13
  77. package/fesm2022/c8y-ngx-components-device-shell.mjs +31 -31
  78. package/fesm2022/c8y-ngx-components-diagnostics.mjs +13 -13
  79. package/fesm2022/c8y-ngx-components-echart.mjs +35 -33
  80. package/fesm2022/c8y-ngx-components-echart.mjs.map +1 -1
  81. package/fesm2022/c8y-ngx-components-ecosystem-application-plugins.mjs +43 -43
  82. package/fesm2022/c8y-ngx-components-ecosystem-archived-confirm.mjs +7 -7
  83. package/fesm2022/c8y-ngx-components-ecosystem-license-confirm.mjs +10 -10
  84. package/fesm2022/c8y-ngx-components-ecosystem-plugin-setup-stepper.mjs +7 -7
  85. package/fesm2022/c8y-ngx-components-ecosystem-shared.mjs +46 -46
  86. package/fesm2022/c8y-ngx-components-ecosystem.mjs +82 -82
  87. package/fesm2022/c8y-ngx-components-editor.mjs +6 -6
  88. package/fesm2022/c8y-ngx-components-events-events-timeline.mjs +4 -4
  89. package/fesm2022/c8y-ngx-components-events-events-timeline.mjs.map +1 -1
  90. package/fesm2022/c8y-ngx-components-events.mjs +3 -3
  91. package/fesm2022/c8y-ngx-components-exports-list.mjs +6 -6
  92. package/fesm2022/c8y-ngx-components-file-preview.mjs +7 -7
  93. package/fesm2022/c8y-ngx-components-files-repository.mjs +19 -19
  94. package/fesm2022/c8y-ngx-components-global-context.mjs +130 -130
  95. package/fesm2022/c8y-ngx-components-group-breadcrumbs.mjs +6 -6
  96. package/fesm2022/c8y-ngx-components-icon-selector.mjs +19 -19
  97. package/fesm2022/c8y-ngx-components-interval-picker.mjs +3 -3
  98. package/fesm2022/c8y-ngx-components-location.mjs +28 -28
  99. package/fesm2022/c8y-ngx-components-loriot-device-registration.mjs +16 -16
  100. package/fesm2022/c8y-ngx-components-map.mjs +19 -19
  101. package/fesm2022/c8y-ngx-components-messaging-management.mjs +55 -55
  102. package/fesm2022/c8y-ngx-components-operations-bulk-operation-from-single.mjs +7 -7
  103. package/fesm2022/c8y-ngx-components-operations-bulk-operation-list-item.mjs +19 -19
  104. package/fesm2022/c8y-ngx-components-operations-bulk-operation-scheduler.mjs +7 -7
  105. package/fesm2022/c8y-ngx-components-operations-bulk-operation-stepper.mjs +13 -13
  106. package/fesm2022/c8y-ngx-components-operations-bulk-operations-list.mjs +13 -13
  107. package/fesm2022/c8y-ngx-components-operations-bulk-operations-service.mjs +7 -7
  108. package/fesm2022/c8y-ngx-components-operations-bulk-operations-stepper-container.mjs +7 -7
  109. package/fesm2022/c8y-ngx-components-operations-bulk-single-operations-list.mjs +3 -3
  110. package/fesm2022/c8y-ngx-components-operations-create-bulk-operation-details.mjs +7 -7
  111. package/fesm2022/c8y-ngx-components-operations-device-selector.mjs +7 -7
  112. package/fesm2022/c8y-ngx-components-operations-grid-columns.mjs +12 -12
  113. package/fesm2022/c8y-ngx-components-operations-operation-details.mjs +13 -13
  114. package/fesm2022/c8y-ngx-components-operations-operation-summary.mjs +7 -7
  115. package/fesm2022/c8y-ngx-components-operations-operations-list-item-details.mjs +10 -10
  116. package/fesm2022/c8y-ngx-components-operations-operations-list.mjs +12 -12
  117. package/fesm2022/c8y-ngx-components-operations-operations-timeline.mjs +10 -12
  118. package/fesm2022/c8y-ngx-components-operations-operations-timeline.mjs.map +1 -1
  119. package/fesm2022/c8y-ngx-components-operations-shared.mjs +10 -10
  120. package/fesm2022/c8y-ngx-components-operations-status-filter.mjs +7 -7
  121. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs +7 -7
  122. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs +13 -13
  123. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-firmware.mjs +13 -13
  124. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-software.mjs +13 -13
  125. package/fesm2022/c8y-ngx-components-operations-stepper-frames.mjs +13 -13
  126. package/fesm2022/c8y-ngx-components-operations.mjs +7 -7
  127. package/fesm2022/c8y-ngx-components-pending-mo-request.mjs +7 -7
  128. package/fesm2022/c8y-ngx-components-platform-configuration.mjs +10 -10
  129. package/fesm2022/c8y-ngx-components-protocol-lpwan.mjs +38 -38
  130. package/fesm2022/c8y-ngx-components-protocol-opcua.mjs +58 -58
  131. package/fesm2022/c8y-ngx-components-register-device.mjs +58 -58
  132. package/fesm2022/c8y-ngx-components-remote-access-configurations.mjs +9 -9
  133. package/fesm2022/c8y-ngx-components-remote-access-data.mjs +3 -3
  134. package/fesm2022/c8y-ngx-components-remote-access-passthrough.mjs +3 -3
  135. package/fesm2022/c8y-ngx-components-remote-access-shared.mjs +6 -6
  136. package/fesm2022/c8y-ngx-components-remote-access-ssh-remote-access-ssh-endpoint-modal.mjs +3 -3
  137. package/fesm2022/c8y-ngx-components-remote-access-ssh.mjs +3 -3
  138. package/fesm2022/c8y-ngx-components-remote-access-telnet.mjs +3 -3
  139. package/fesm2022/c8y-ngx-components-remote-access-terminal-viewer.mjs +3 -3
  140. package/fesm2022/c8y-ngx-components-remote-access-vnc-remote-access-vnc-endpoint-modal.mjs +3 -3
  141. package/fesm2022/c8y-ngx-components-remote-access-vnc-vnc-viewer.mjs +6 -6
  142. package/fesm2022/c8y-ngx-components-remote-access-vnc.mjs +3 -3
  143. package/fesm2022/c8y-ngx-components-replace-device-replace-device-wizard.mjs +6 -6
  144. package/fesm2022/c8y-ngx-components-replace-device.mjs +10 -10
  145. package/fesm2022/c8y-ngx-components-report-dashboard.mjs +16 -16
  146. package/fesm2022/c8y-ngx-components-reports.mjs +19 -19
  147. package/fesm2022/c8y-ngx-components-repository-configuration.mjs +48 -48
  148. package/fesm2022/c8y-ngx-components-repository-firmware.mjs +33 -33
  149. package/fesm2022/c8y-ngx-components-repository-shared.mjs +34 -34
  150. package/fesm2022/c8y-ngx-components-repository-software.mjs +42 -42
  151. package/fesm2022/c8y-ngx-components-repository.mjs +4 -4
  152. package/fesm2022/c8y-ngx-components-search.mjs +19 -19
  153. package/fesm2022/c8y-ngx-components-sensor-phone-sensor-phone-modal.mjs +6 -6
  154. package/fesm2022/c8y-ngx-components-sensor-phone.mjs +7 -7
  155. package/fesm2022/c8y-ngx-components-services-service-command-tab.mjs +3 -3
  156. package/fesm2022/c8y-ngx-components-services-shared.mjs +3 -3
  157. package/fesm2022/c8y-ngx-components-services.mjs +29 -29
  158. package/fesm2022/c8y-ngx-components-sigfox-device-registration.mjs +16 -16
  159. package/fesm2022/c8y-ngx-components-sms-gateway.mjs +7 -7
  160. package/fesm2022/c8y-ngx-components-static-assets-data.mjs +3 -3
  161. package/fesm2022/c8y-ngx-components-static-assets-modal.mjs +9 -9
  162. package/fesm2022/c8y-ngx-components-static-assets.mjs +6 -6
  163. package/fesm2022/c8y-ngx-components-sub-assets.mjs +60 -60
  164. package/fesm2022/c8y-ngx-components-tenants.mjs +40 -40
  165. package/fesm2022/c8y-ngx-components-time-context.mjs +6 -6
  166. package/fesm2022/c8y-ngx-components-tracking.mjs +12 -12
  167. package/fesm2022/c8y-ngx-components-translation-editor-data.mjs +3 -3
  168. package/fesm2022/c8y-ngx-components-translation-editor-lazy.mjs +12 -12
  169. package/fesm2022/c8y-ngx-components-translation-editor.mjs +6 -6
  170. package/fesm2022/c8y-ngx-components-trusted-certificates.mjs +33 -33
  171. package/fesm2022/c8y-ngx-components-upgrade-upgraded-services.mjs +4 -4
  172. package/fesm2022/c8y-ngx-components-upgrade.mjs +41 -41
  173. package/fesm2022/c8y-ngx-components-user-roles.mjs +10 -10
  174. package/fesm2022/c8y-ngx-components-widgets-definitions-datapoints-graph.mjs +3 -3
  175. package/fesm2022/c8y-ngx-components-widgets-definitions-html-widget-ai-config.mjs +3 -3
  176. package/fesm2022/c8y-ngx-components-widgets-definitions-html-widget.mjs +6 -6
  177. package/fesm2022/c8y-ngx-components-widgets-implementations-alarms.mjs +19 -19
  178. package/fesm2022/c8y-ngx-components-widgets-implementations-asset-notes.mjs +3 -3
  179. package/fesm2022/c8y-ngx-components-widgets-implementations-cockpit-legacy-welcome.mjs +3 -3
  180. package/fesm2022/c8y-ngx-components-widgets-implementations-cockpit-welcome.mjs +3 -3
  181. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-graph.mjs +7 -7
  182. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-graph.mjs.map +1 -1
  183. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-table.mjs +27 -27
  184. package/fesm2022/c8y-ngx-components-widgets-implementations-device-control-message.mjs +3 -3
  185. package/fesm2022/c8y-ngx-components-widgets-implementations-device-management-welcome.mjs +7 -7
  186. package/fesm2022/c8y-ngx-components-widgets-implementations-help-and-service-widget.mjs +3 -3
  187. package/fesm2022/c8y-ngx-components-widgets-implementations-html-widget.mjs +24 -24
  188. package/fesm2022/c8y-ngx-components-widgets-implementations-image.mjs +9 -9
  189. package/fesm2022/c8y-ngx-components-widgets-implementations-info-gauge.mjs +18 -18
  190. package/fesm2022/c8y-ngx-components-widgets-implementations-kpi.mjs +6 -6
  191. package/fesm2022/c8y-ngx-components-widgets-implementations-linear-gauge.mjs +6 -6
  192. package/fesm2022/c8y-ngx-components-widgets-implementations-map.mjs +9 -9
  193. package/fesm2022/c8y-ngx-components-widgets-implementations-markdown.mjs +9 -9
  194. package/fesm2022/c8y-ngx-components-widgets-implementations-quick-links.mjs +18 -18
  195. package/fesm2022/c8y-ngx-components-widgets-implementations-three-d-rotation.mjs +9 -9
  196. package/fesm2022/c8y-ngx-components.mjs +1371 -1371
  197. package/locales/de.po +50 -70
  198. package/locales/zh_TW.po +2 -1
  199. package/operations/operations-timeline/index.d.ts.map +1 -1
  200. package/package.json +1 -1
@@ -336,10 +336,10 @@ class ReplaceDeviceWizardService {
336
336
  }
337
337
  return { text, detailedData };
338
338
  }
339
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ReplaceDeviceWizardService, deps: [{ token: i1.InventoryService }, { token: i1.IdentityService }, { token: i1.AuditService }, { token: i1.EventService }, { token: i1.UserService }, { token: i3.AppStateService }, { token: i3.AlertService }], target: i0.ɵɵFactoryTarget.Injectable }); }
340
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ReplaceDeviceWizardService }); }
339
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ReplaceDeviceWizardService, deps: [{ token: i1.InventoryService }, { token: i1.IdentityService }, { token: i1.AuditService }, { token: i1.EventService }, { token: i1.UserService }, { token: i3.AppStateService }, { token: i3.AlertService }], target: i0.ɵɵFactoryTarget.Injectable }); }
340
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ReplaceDeviceWizardService }); }
341
341
  }
342
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ReplaceDeviceWizardService, decorators: [{
342
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ReplaceDeviceWizardService, decorators: [{
343
343
  type: Injectable
344
344
  }], ctorParameters: () => [{ type: i1.InventoryService }, { type: i1.IdentityService }, { type: i1.AuditService }, { type: i1.EventService }, { type: i1.UserService }, { type: i3.AppStateService }, { type: i3.AlertService }] });
345
345
 
@@ -404,8 +404,8 @@ class ReplaceDeviceWizardComponent {
404
404
  this.drawerRef.close();
405
405
  }
406
406
  }
407
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ReplaceDeviceWizardComponent, deps: [{ token: ReplaceDeviceWizardService }, { token: i2.DeviceGridService }, { token: i3.ModalService }, { token: i3.BottomDrawerRef, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
408
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: ReplaceDeviceWizardComponent, isStandalone: true, selector: "c8y-replace-device-wizard", inputs: { deviceToReplace: "deviceToReplace" }, host: { properties: { "class": "this.classes" } }, providers: [
407
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ReplaceDeviceWizardComponent, deps: [{ token: ReplaceDeviceWizardService }, { token: i2.DeviceGridService }, { token: i3.ModalService }, { token: i3.BottomDrawerRef, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
408
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: ReplaceDeviceWizardComponent, isStandalone: true, selector: "c8y-replace-device-wizard", inputs: { deviceToReplace: "deviceToReplace" }, host: { properties: { "class": "this.classes" } }, providers: [
409
409
  DeviceGridService,
410
410
  ReplaceDeviceWizardService,
411
411
  {
@@ -418,7 +418,7 @@ class ReplaceDeviceWizardComponent {
418
418
  }
419
419
  ], viewQueries: [{ propertyName: "stepper", first: true, predicate: C8yStepper, descendants: true, static: true }], ngImport: i0, template: "<c8y-stepper\n class=\"d-contents c8y-stepper--no-btns\"\n [disableDefaultIcons]=\"{ edit: true, done: false }\"\n id=\"modal-body\"\n [customClasses]=\"[\n 'col-xs-10',\n 'col-xs-offset-1',\n 'col-sm-8',\n 'col-sm-offset-2',\n 'm-t-24',\n 'm-b-40',\n 'p-0',\n 'flex-no-shrink'\n ]\"\n linear\n>\n <cdk-step [label]=\"'Replacement device' | translate\">\n <div class=\"p-16 p-t-0 flex-no-shrink separator-bottom col-xs-12\">\n <div class=\"row\">\n <div class=\"col-md-6 col-md-offset-3 col-lg-4 col-lg-offset-4\">\n <div class=\"h4 text-center text-medium\">\n {{ 'Replacement device' | translate }}\n </div>\n </div>\n </div>\n </div>\n <c8y-device-grid\n class=\"flex-grow col-xs-12 no-gutter\"\n [title]=\"'Select replacement device' | translate\"\n [infiniteScroll]=\"'auto'\"\n [actionControls]=\"[]\"\n [columns]=\"columns\"\n [selectable]=\"true\"\n [singleSelection]=\"true\"\n [baseQuery]=\"baseQuery$ | async\"\n (itemsSelect)=\"replacementDeviceId = $event[0]\"\n ></c8y-device-grid>\n <c8y-stepper-buttons\n class=\"d-block card-footer p-24 separator\"\n [disabled]=\"!replacementDeviceId\"\n (onCancel)=\"cancel()\"\n (onNext)=\"service.changeReplacementDeviceId(replacementDeviceId); continue()\"\n ></c8y-stepper-buttons>\n </cdk-step>\n\n <cdk-step [label]=\"'Select external IDs' | translate\">\n <div class=\"p-16 p-t-0 flex-no-shrink col-xs-12\">\n <div class=\"row\">\n <div class=\"col-md-6 col-md-offset-3 col-lg-4 col-lg-offset-4\">\n <div class=\"h4 text-center text-medium\">\n {{ 'Select external IDs' | translate }}\n </div>\n </div>\n </div>\n </div>\n <c8y-li class=\"page-sticky-header hidden-sm hidden-xs\">\n <c8y-li-icon><i class=\"p-l-24\"></i></c8y-li-icon>\n <c8y-li-body class=\"content-flex-40\">\n <div class=\"col-4\">\n <span\n class=\"text-medium text-truncate\"\n title=\" {{ 'Type' | translate }} \"\n >\n {{ 'Type' | translate }}\n </span>\n </div>\n <div class=\"col-6\">\n <span\n class=\"text-medium text-truncate\"\n title=\"{{ 'External ID' | translate }}\"\n >\n {{ 'External ID' | translate }}\n </span>\n </div>\n </c8y-li-body>\n </c8y-li>\n <div\n class=\"col-xs-12 flex-grow no-gutter\"\n *ngIf=\"!(service.externalIdsLoading$ | async); else loading\"\n >\n <div\n class=\"card-inner-scroll fit-h\"\n *ngIf=\"(service.externalIdsWithSelection$ | async)?.length > 0; else noIds\"\n >\n <div class=\"card-block p-t-0 p-b-0\">\n <c8y-list-group>\n <c8y-li *ngFor=\"let extId of service.externalIdsWithSelection$ | async\">\n <c8y-li-checkbox\n [selected]=\"extId.selected\"\n (onSelect)=\"service.checkExternalId(extId.id, $event)\"\n ></c8y-li-checkbox>\n <c8y-li-body class=\"content-flex-40\">\n <div class=\"col-4 m-b-xs-8\">\n <div\n class=\"text-truncate\"\n title=\"{{ 'Type' | translate }}\"\n >\n <span\n class=\"text-label-small m-r-8 visible-xs visible-sm\"\n translate\n >\n Type\n </span>\n {{ extId.id.type }}\n </div>\n </div>\n <div class=\"col-6 m-b-xs-8\">\n <div\n class=\"text-truncate\"\n title=\"{{ 'External ID' | translate }}\"\n >\n <span\n class=\"text-label-small m-r-8 visible-xs visible-sm\"\n translate\n >\n External ID\n </span>\n {{ extId.id.externalId }}\n </div>\n </div>\n </c8y-li-body>\n </c8y-li>\n </c8y-list-group>\n </div>\n </div>\n <ng-template #noIds>\n <c8y-ui-empty-state\n [icon]=\"'barcode'\"\n [title]=\"'No external IDs assigned.'\"\n [subtitle]=\"\n 'The selected replacement device does not have external IDs assigned. Go back to &quot;Replacement device&quot; and select a different device.'\n | translate\n \"\n *ngIf=\"true\"\n ></c8y-ui-empty-state>\n </ng-template>\n </div>\n <ng-template #loading>\n <div class=\"d-flex d-col a-i-center j-c-center fit-h\">\n <c8y-loading></c8y-loading>\n </div>\n </ng-template>\n <c8y-stepper-buttons\n class=\"d-block card-footer p-24 separator\"\n [disabled]=\"\n (service.externalIdsLoading$ | async) || !(service.selectedExternalIds$ | async)?.length\n \"\n (onCancel)=\"cancel()\"\n (onNext)=\"replace()\"\n [labels]=\"{ next: ('Replace' | translate) }\"\n ></c8y-stepper-buttons>\n </cdk-step>\n\n <cdk-step [label]=\"'Replace' | translate\">\n <div class=\"p-16 p-t-0 flex-no-shrink col-xs-12 separator-bottom\">\n <div class=\"row\">\n <div class=\"col-md-6 col-md-offset-3 col-lg-4 col-lg-offset-4\">\n <div class=\"h4 text-center text-medium\">\n {{ 'Replace' | translate }}\n </div>\n </div>\n </div>\n </div>\n <div class=\"d-flex d-col a-i-center j-c-center inner-scroll\">\n <c8y-list-group class=\"col-sm-8 col-md-6\">\n <c8y-li\n *ngFor=\"let step of service.steps\"\n [attr.data-cy]=\"'c8y-replace-device-wizard--step-' + step.label\"\n >\n <c8y-li-icon>\n <i\n [c8yIcon]=\"REPLACE_DEVICE_STEP_STATES_MAP[step.state || 'Pending']?.icon\"\n [tooltip]=\"(step.state || 'Pending').toString() | translate\"\n [ngClass]=\"REPLACE_DEVICE_STEP_STATES_MAP[step.state || 'Pending']?.styleClass\"\n ></i>\n </c8y-li-icon>\n <c8y-li-body>\n <span [ngClass]=\"{ 'text-bold': !!step.error }\">{{ step.label | translate }}</span>\n <button\n class=\"btn-help btn-help--sm pull-right\"\n [attr.aria-label]=\"'Help' | translate\"\n [attr.aria-label]=\"step.info.msg | translate\"\n [popover]=\"step.info.msg | translate\"\n placement=\"right\"\n triggers=\"focus\"\n type=\"button\"\n *ngIf=\"!!step.info?.msg\"\n >\n <i c8yIcon=\"question-circle-o\"></i>\n </button>\n </c8y-li-body>\n <c8y-li-collapse\n #alert\n *ngIf=\"step.error\"\n >\n <span class=\"message\">{{ step.error?.text | translate }}</span>\n <p\n class=\"text-muted m-t-8\"\n *ngIf=\"step?.error?.detailedData\"\n >\n <button\n class=\"btn btn-clean\"\n (click)=\"alert.expanded = !alert.expanded\"\n >\n <i c8yIcon=\"chevron-down\"></i>\n <span *ngIf=\"!alert.expanded\">Show details</span>\n <span *ngIf=\"alert.expanded\">Hide details</span>\n </button>\n </p>\n <div\n [collapse]=\"!alert.expanded\"\n [isAnimated]=\"true\"\n >\n {{ step.error.detailedData | json }}\n </div>\n </c8y-li-collapse>\n <c8y-li-action\n icon=\"play\"\n label=\"{{ 'Retry this step`button`' | translate }}\"\n *ngIf=\"step.state === 'Failed' && !step.overrideContext\"\n (click)=\"service.retryStep(step)\"\n data-cy=\"c8y-replace-device-wizard--retry-step\"\n ></c8y-li-action>\n </c8y-li>\n </c8y-list-group>\n </div>\n\n <c8y-stepper-buttons\n class=\"d-block card-footer p-24 separator\"\n [pending]=\"service.deviceReplacementInProgress$ | async\"\n (onBack)=\"close()\"\n [labels]=\"{ back: 'Close' | translate }\"\n >\n <button\n class=\"btn btn-primary\"\n [title]=\"'Retry' | translate\"\n type=\"button\"\n *ngIf=\"(service.deviceReplaced$ | async) === false\"\n (click)=\"service.retryStep()\"\n [ngClass]=\"{ 'btn-pending': service.deviceReplacementInProgress$ | async }\"\n [disabled]=\"service.deviceReplacementInProgress$ | async\"\n data-cy=\"c8y-replace-device-wizard--btn-retry\"\n >\n {{ 'Retry' | translate }}\n </button>\n </c8y-stepper-buttons>\n </cdk-step>\n</c8y-stepper>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "component", type: i3.EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "directive", type: i3.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i3.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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.LoadingComponent, selector: "c8y-loading", inputs: ["layout", "progress", "message"] }, { kind: "component", type: i3.C8yStepper, selector: "c8y-stepper", inputs: ["disableDefaultIcons", "disableProgressButtons", "customClasses", "hideStepProgress", "useStepLabelsAsTitlesOnly"], outputs: ["onStepChange"] }, { kind: "component", type: i5.CdkStep, selector: "cdk-step", inputs: ["stepControl", "label", "errorMessage", "aria-label", "aria-labelledby", "state", "editable", "optional", "completed", "hasError"], outputs: ["interacted"], exportAs: ["cdkStep"] }, { kind: "component", type: i3.C8yStepperButtons, selector: "c8y-stepper-buttons", inputs: ["labels", "pending", "disabled", "showButtons"], outputs: ["onCancel", "onNext", "onBack", "onCustom"] }, { 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.ListItemActionComponent, selector: "c8y-list-item-action, c8y-li-action", inputs: ["label", "icon", "disabled"], outputs: ["click"] }, { kind: "component", type: i3.ListItemCollapseComponent, selector: "c8y-list-item-collapse, c8y-li-collapse", inputs: ["collapseWay"] }, { kind: "component", type: i3.ListItemCheckboxComponent, selector: "c8y-list-item-checkbox, c8y-li-checkbox", inputs: ["selected", "indeterminate", "disabled", "displayAsSwitch"], outputs: ["onSelect"] }, { kind: "ngmodule", type: DeviceGridModule }, { kind: "component", type: i2.DeviceGridComponent, selector: "c8y-device-grid", inputs: ["dataCallback", "refresh", "title", "loadMoreItemsLabel", "loadingItemsLabel", "legacyConfigKey", "legacyFilterKey", "columns", "pagination", "infiniteScroll", "actionControls", "selectable", "singleSelection", "baseQuery", "bulkActionControls", "headerActionControls", "childDeviceGrid", "parentDeviceId", "withChildren", "showSearch", "activeClassName"], outputs: ["onColumnsChange", "onFilterChange", "onDeviceQueryStringChange", "itemsSelect"] }, { kind: "ngmodule", type: DeviceSelectorModule }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i6.TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["adaptivePosition", "tooltip", "placement", "triggers", "container", "containerClass", "boundariesElement", "isOpen", "isDisabled", "delay", "tooltipHtml", "tooltipPlacement", "tooltipIsOpen", "tooltipEnable", "tooltipAppendToBody", "tooltipAnimation", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "tooltipFadeDuration", "tooltipTrigger"], outputs: ["tooltipChange", "onShown", "onHidden", "tooltipStateChanged"], exportAs: ["bs-tooltip"] }, { kind: "ngmodule", type: CollapseModule }, { kind: "directive", type: i7.CollapseDirective, selector: "[collapse]", inputs: ["display", "isAnimated", "collapse"], outputs: ["collapsed", "collapses", "expanded", "expands"], exportAs: ["bs-collapse"] }, { kind: "ngmodule", type: PopoverModule }, { kind: "directive", type: i8.PopoverDirective, selector: "[popover]", inputs: ["adaptivePosition", "boundariesElement", "popover", "popoverContext", "popoverTitle", "placement", "outsideClick", "triggers", "container", "containerClass", "isOpen", "delay"], outputs: ["onShown", "onHidden"], exportAs: ["bs-popover"] }, { kind: "pipe", type: i3.C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.JsonPipe, name: "json" }] }); }
420
420
  }
421
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ReplaceDeviceWizardComponent, decorators: [{
421
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ReplaceDeviceWizardComponent, decorators: [{
422
422
  type: Component,
423
423
  args: [{ standalone: true, selector: 'c8y-replace-device-wizard', imports: [
424
424
  CoreModule,
@@ -66,10 +66,10 @@ class ReplaceDeviceService {
66
66
  this.breadcrumbService.state.forEach(bc => bc.items?.pop());
67
67
  this.breadcrumbService.refresh();
68
68
  }
69
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ReplaceDeviceService, deps: [{ token: i1.Permissions }, { token: i1.BreadcrumbService }, { token: i1.BottomDrawerService }], target: i0.ɵɵFactoryTarget.Injectable }); }
70
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ReplaceDeviceService, providedIn: 'root' }); }
69
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ReplaceDeviceService, deps: [{ token: i1.Permissions }, { token: i1.BreadcrumbService }, { token: i1.BottomDrawerService }], target: i0.ɵɵFactoryTarget.Injectable }); }
70
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ReplaceDeviceService, providedIn: 'root' }); }
71
71
  }
72
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ReplaceDeviceService, decorators: [{
72
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ReplaceDeviceService, decorators: [{
73
73
  type: Injectable,
74
74
  args: [{ providedIn: 'root' }]
75
75
  }], ctorParameters: () => [{ type: i1.Permissions }, { type: i1.BreadcrumbService }, { type: i1.BottomDrawerService }] });
@@ -96,22 +96,22 @@ class ReplaceDeviceGridActionFactory {
96
96
  }
97
97
  };
98
98
  }
99
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ReplaceDeviceGridActionFactory, deps: [{ token: ReplaceDeviceService }], target: i0.ɵɵFactoryTarget.Injectable }); }
100
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ReplaceDeviceGridActionFactory }); }
99
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ReplaceDeviceGridActionFactory, deps: [{ token: ReplaceDeviceService }], target: i0.ɵɵFactoryTarget.Injectable }); }
100
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ReplaceDeviceGridActionFactory }); }
101
101
  }
102
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ReplaceDeviceGridActionFactory, decorators: [{
102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ReplaceDeviceGridActionFactory, decorators: [{
103
103
  type: Injectable
104
104
  }], ctorParameters: () => [{ type: ReplaceDeviceService }] });
105
105
 
106
106
  class ReplaceDeviceModule {
107
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ReplaceDeviceModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
108
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: ReplaceDeviceModule, imports: [CoreModule] }); }
109
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ReplaceDeviceModule, providers: [
107
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ReplaceDeviceModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
108
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: ReplaceDeviceModule, imports: [CoreModule] }); }
109
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ReplaceDeviceModule, providers: [
110
110
  hookService('additionalDeviceStatusButtons', ReplaceDeviceService),
111
111
  hookDataGridActionControls(ReplaceDeviceGridActionFactory)
112
112
  ], imports: [CoreModule] }); }
113
113
  }
114
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ReplaceDeviceModule, decorators: [{
114
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ReplaceDeviceModule, decorators: [{
115
115
  type: NgModule,
116
116
  args: [{
117
117
  imports: [CoreModule],
@@ -36,10 +36,10 @@ class ReportDashboardGuard {
36
36
  .create(dashboardCfg, undefined, `report_${reportId}`)
37
37
  .then(() => true);
38
38
  }
39
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ReportDashboardGuard, deps: [{ token: i1.ContextDashboardService }], target: i0.ɵɵFactoryTarget.Injectable }); }
40
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ReportDashboardGuard, providedIn: 'root' }); }
39
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ReportDashboardGuard, deps: [{ token: i1.ContextDashboardService }], target: i0.ɵɵFactoryTarget.Injectable }); }
40
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ReportDashboardGuard, providedIn: 'root' }); }
41
41
  }
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ReportDashboardGuard, decorators: [{
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ReportDashboardGuard, decorators: [{
43
43
  type: Injectable,
44
44
  args: [{ providedIn: 'root' }]
45
45
  }], ctorParameters: () => [{ type: i1.ContextDashboardService }] });
@@ -72,10 +72,10 @@ class ReportDashboardService {
72
72
  }
73
73
  });
74
74
  }
75
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ReportDashboardService, deps: [{ token: i1$1.InventoryService }, { token: i4.NavigatorService }], target: i0.ɵɵFactoryTarget.Injectable }); }
76
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ReportDashboardService }); }
75
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ReportDashboardService, deps: [{ token: i1$1.InventoryService }, { token: i4.NavigatorService }], target: i0.ɵɵFactoryTarget.Injectable }); }
76
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ReportDashboardService }); }
77
77
  }
78
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ReportDashboardService, decorators: [{
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ReportDashboardService, decorators: [{
79
79
  type: Injectable
80
80
  }], ctorParameters: () => [{ type: i1$1.InventoryService }, { type: i4.NavigatorService }] });
81
81
 
@@ -113,10 +113,10 @@ class ReportDashboardNavigationFactory {
113
113
  });
114
114
  }
115
115
  }
116
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ReportDashboardNavigationFactory, deps: [{ token: i4.NavigatorService }, { token: ReportDashboardService }], target: i0.ɵɵFactoryTarget.Injectable }); }
117
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ReportDashboardNavigationFactory, providedIn: 'root' }); }
116
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ReportDashboardNavigationFactory, deps: [{ token: i4.NavigatorService }, { token: ReportDashboardService }], target: i0.ɵɵFactoryTarget.Injectable }); }
117
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ReportDashboardNavigationFactory, providedIn: 'root' }); }
118
118
  }
119
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ReportDashboardNavigationFactory, decorators: [{
119
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ReportDashboardNavigationFactory, decorators: [{
120
120
  type: Injectable,
121
121
  args: [{ providedIn: 'root' }]
122
122
  }], ctorParameters: () => [{ type: i4.NavigatorService }, { type: ReportDashboardService }] });
@@ -199,10 +199,10 @@ class ReportDashboardListComponent {
199
199
  ? this.contextDashboardService.addReportNavigatorNode(report)
200
200
  : this.reportDashboardService.removeNavigatorNode(report);
201
201
  }
202
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ReportDashboardListComponent, deps: [{ token: i1$1.InventoryService }, { token: i1.ContextDashboardService }, { token: i3.TranslateService }, { token: i4.ModalService }, { token: i4.AlertService }, { token: ReportDashboardService }, { token: i4.Permissions }, { token: i4.GainsightService }], target: i0.ɵɵFactoryTarget.Component }); }
203
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: ReportDashboardListComponent, isStandalone: true, selector: "c8y-report-dashboard-list", viewQueries: [{ propertyName: "filter", first: true, predicate: FilterInputComponent, descendants: true }], ngImport: i0, template: "<c8y-title>\n {{ 'Reports' | translate }}\n</c8y-title>\n\n<c8y-action-bar-item\n [placement]=\"'left'\"\n itemClass=\"navbar-form\"\n>\n <div class=\"input-group input-group-search\">\n <input\n class=\"form-control\"\n [attr.aria-label]=\"'Filter' | 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 > 0\"\n (click)=\"textFilter$.next('')\"\n px-event=\"Clear filtering reports\"\n ></i>\n </span>\n </div>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item [placement]=\"'right'\">\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Add report' | translate }}\"\n type=\"button\"\n [attr.data-cy]=\"'reports-add-report-action-bar-button'\"\n routerLink=\"/report/new-report\"\n [disabled]=\"!canAddReport\"\n >\n <i c8yIcon=\"plus-circle\"></i>\n {{ 'Add report' | translate }}\n </button>\n <button\n class=\"btn btn-dot m-r-16\"\n aria-label=\"{{ 'Info' | translate }}\"\n popover=\"{{ 'You don\\'t have permission to add reports' | translate }}\"\n placement=\"top\"\n triggers=\"focus\"\n container=\"body\"\n type=\"button\"\n *ngIf=\"!canAddReport\"\n >\n <i\n class=\"text-primary\"\n [c8yIcon]=\"'info-circle'\"\n ></i>\n </button>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item [placement]=\"'right'\">\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Reload' | translate }}\"\n type=\"button\"\n (click)=\"loadReports()\"\n >\n <i\n c8yIcon=\"refresh\"\n [ngClass]=\"{ 'icon-spin': reloading }\"\n ></i>\n {{ 'Reload' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<c8y-help src=\"/docs/cockpit/working-with-reports/#working-with-reports\"></c8y-help>\n\n<c8y-list-group>\n <c8y-li\n class=\"page-sticky-header hidden-xs hidden-sm\"\n *ngIf=\"(reports$ | async)?.data.length > 0\"\n >\n <c8y-li-icon>\n <i class=\"p-l-24\"></i>\n </c8y-li-icon>\n <c8y-li-body class=\"content-flex-60\">\n <div class=\"col-3\">\n {{ 'Report' | translate }}\n </div>\n <div class=\"col-6\">\n {{ 'Description' | translate }}\n </div>\n <div class=\"col-2\">\n {{ 'Show in navigator' | translate }}\n </div>\n </c8y-li-body>\n </c8y-li>\n\n <c8y-li *c8yFor=\"let report of reports$; let i = index; loadMore: 'auto'\">\n <c8y-li-icon [icon]=\"report.icon\"></c8y-li-icon>\n <c8y-li-body class=\"content-flex-60\">\n @let reportName = report.translateDashboardTitle ? (report.name | translate) : report.name;\n <div class=\"col-3\">\n <button\n class=\"btn-clean\"\n title=\"{{ reportName }}\"\n type=\"button\"\n routerLink=\"/reports/{{ report.id }}\"\n >\n <span class=\"text-truncate\">\n {{ reportName }}\n </span>\n </button>\n </div>\n <div class=\"col-6\">\n <p class=\"small text-truncate-wrap\">\n <em\n class=\"text-muted\"\n *ngIf=\"!report.description; else showDescription\"\n >\n {{ 'No description available' | translate }}\n </em>\n <ng-template #showDescription>\n {{ report.description }}\n </ng-template>\n </p>\n </div>\n <div class=\"col-2 fit-h-20 m-t-xs-8\">\n <label\n class=\"c8y-switch c8y-switch--inline\"\n title=\"{{ 'Show in navigator' | translate }}\"\n >\n <input\n type=\"checkbox\"\n [ngModel]=\"!!report.c8y_IsNavigatorNode\"\n (ngModelChange)=\"report.c8y_IsNavigatorNode = $event\"\n (change)=\"update(report)\"\n />\n <span></span>\n <span class=\"visible-xs\">\n {{ 'Show in navigator' | translate }}\n </span>\n </label>\n </div>\n <div class=\"col-1 hidden-xs\">\n <button\n class=\"btn btn-dot btn-dot--danger showOnHover m-l-auto d-flex\"\n [attr.aria-label]=\"'Remove report' | translate\"\n tooltip=\"{{ 'Remove report' | translate }}\"\n type=\"button\"\n [delay]=\"500\"\n (click)=\"delete(report)\"\n >\n <i c8yIcon=\"minus-circle\"></i>\n </button>\n </div>\n <div class=\"visible-xs p-t-8 text-right\">\n <button\n class=\"btn btn-default btn-sm\"\n title=\"{{ 'Remove report' | translate }}\"\n type=\"button\"\n (click)=\"delete(report)\"\n >\n <i c8yIcon=\"delete\"></i>\n {{ 'Remove report' | translate }}\n </button>\n </div>\n </c8y-li-body>\n </c8y-li>\n</c8y-list-group>\n\n<c8y-ui-empty-state\n [icon]=\"'c8y-reports'\"\n [title]=\"'There are no reports defined.' | translate\"\n [subtitle]=\"'Add a report first.' | translate\"\n *ngIf=\"(reports$ | async)?.data.length === 0\"\n>\n <p>\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Add report' | translate }}\"\n type=\"button\"\n [attr.data-cy]=\"'reports-add-report-empty-state-button'\"\n [disabled]=\"!canAddReport\"\n routerLink=\"/report/new-report\"\n c8yProductExperience\n [actionName]=\"PRODUCT_EXPERIENCE.DASHBOARD.EVENTS.REPORTS\"\n [actionData]=\"{ action: PRODUCT_EXPERIENCE.DASHBOARD.ACTIONS.ADD_REPORT }\"\n >\n {{ 'Add report' | translate }}\n </button>\n </p>\n <p c8y-guide-docs>\n <small\n translate\n ngNonBindable\n >\n Find out more in the\n <a c8y-guide-href=\"/docs/cockpit/working-with-reports\">user documentation</a>\n .\n </small>\n </p>\n</c8y-ui-empty-state>\n", dependencies: [{ kind: "component", type: TitleComponent, selector: "c8y-title", inputs: ["pageTitleUpdate"] }, { kind: "component", type: ActionBarItemComponent, selector: "c8y-action-bar-item", inputs: ["placement", "priority", "itemClass", "injector", "groupId", "inGroupPriority"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.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: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: PopoverDirective, selector: "[popover]", inputs: ["adaptivePosition", "boundariesElement", "popover", "popoverContext", "popoverTitle", "placement", "outsideClick", "triggers", "container", "containerClass", "isOpen", "delay"], outputs: ["onShown", "onHidden"], exportAs: ["bs-popover"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: HelpComponent, selector: "c8y-help", inputs: ["src", "isCollapsed", "priority", "icon"] }, { 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: "component", type: ListItemBodyComponent, selector: "c8y-list-item-body, c8y-li-body", inputs: ["body"] }, { 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: "directive", type: TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["adaptivePosition", "tooltip", "placement", "triggers", "container", "containerClass", "boundariesElement", "isOpen", "isDisabled", "delay", "tooltipHtml", "tooltipPlacement", "tooltipIsOpen", "tooltipEnable", "tooltipAppendToBody", "tooltipAnimation", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "tooltipFadeDuration", "tooltipTrigger"], outputs: ["tooltipChange", "onShown", "onHidden", "tooltipStateChanged"], exportAs: ["bs-tooltip"] }, { kind: "component", type: EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "directive", type: ProductExperienceDirective, selector: "[c8yProductExperience]", inputs: ["actionName", "actionData", "inherit", "suppressDataOverriding"] }, { kind: "component", type: GuideDocsComponent, selector: "[c8y-guide-docs]" }, { kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: GuideHrefDirective, selector: "[c8y-guide-href]", inputs: ["c8y-guide-href"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
202
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ReportDashboardListComponent, deps: [{ token: i1$1.InventoryService }, { token: i1.ContextDashboardService }, { token: i3.TranslateService }, { token: i4.ModalService }, { token: i4.AlertService }, { token: ReportDashboardService }, { token: i4.Permissions }, { token: i4.GainsightService }], target: i0.ɵɵFactoryTarget.Component }); }
203
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: ReportDashboardListComponent, isStandalone: true, selector: "c8y-report-dashboard-list", viewQueries: [{ propertyName: "filter", first: true, predicate: FilterInputComponent, descendants: true }], ngImport: i0, template: "<c8y-title>\n {{ 'Reports' | translate }}\n</c8y-title>\n\n<c8y-action-bar-item\n [placement]=\"'left'\"\n itemClass=\"navbar-form\"\n>\n <div class=\"input-group input-group-search\">\n <input\n class=\"form-control\"\n [attr.aria-label]=\"'Filter' | 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 > 0\"\n (click)=\"textFilter$.next('')\"\n px-event=\"Clear filtering reports\"\n ></i>\n </span>\n </div>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item [placement]=\"'right'\">\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Add report' | translate }}\"\n type=\"button\"\n [attr.data-cy]=\"'reports-add-report-action-bar-button'\"\n routerLink=\"/report/new-report\"\n [disabled]=\"!canAddReport\"\n >\n <i c8yIcon=\"plus-circle\"></i>\n {{ 'Add report' | translate }}\n </button>\n <button\n class=\"btn btn-dot m-r-16\"\n aria-label=\"{{ 'Info' | translate }}\"\n popover=\"{{ 'You don\\'t have permission to add reports' | translate }}\"\n placement=\"top\"\n triggers=\"focus\"\n container=\"body\"\n type=\"button\"\n *ngIf=\"!canAddReport\"\n >\n <i\n class=\"text-primary\"\n [c8yIcon]=\"'info-circle'\"\n ></i>\n </button>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item [placement]=\"'right'\">\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Reload' | translate }}\"\n type=\"button\"\n (click)=\"loadReports()\"\n >\n <i\n c8yIcon=\"refresh\"\n [ngClass]=\"{ 'icon-spin': reloading }\"\n ></i>\n {{ 'Reload' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<c8y-help src=\"/docs/cockpit/working-with-reports/#working-with-reports\"></c8y-help>\n\n<c8y-list-group>\n <c8y-li\n class=\"page-sticky-header hidden-xs hidden-sm\"\n *ngIf=\"(reports$ | async)?.data.length > 0\"\n >\n <c8y-li-icon>\n <i class=\"p-l-24\"></i>\n </c8y-li-icon>\n <c8y-li-body class=\"content-flex-60\">\n <div class=\"col-3\">\n {{ 'Report' | translate }}\n </div>\n <div class=\"col-6\">\n {{ 'Description' | translate }}\n </div>\n <div class=\"col-2\">\n {{ 'Show in navigator' | translate }}\n </div>\n </c8y-li-body>\n </c8y-li>\n\n <c8y-li *c8yFor=\"let report of reports$; let i = index; loadMore: 'auto'\">\n <c8y-li-icon [icon]=\"report.icon\"></c8y-li-icon>\n <c8y-li-body class=\"content-flex-60\">\n @let reportName = report.translateDashboardTitle ? (report.name | translate) : report.name;\n <div class=\"col-3\">\n <button\n class=\"btn-clean\"\n title=\"{{ reportName }}\"\n type=\"button\"\n routerLink=\"/reports/{{ report.id }}\"\n >\n <span class=\"text-truncate\">\n {{ reportName }}\n </span>\n </button>\n </div>\n <div class=\"col-6\">\n <p class=\"small text-truncate-wrap\">\n <em\n class=\"text-muted\"\n *ngIf=\"!report.description; else showDescription\"\n >\n {{ 'No description available' | translate }}\n </em>\n <ng-template #showDescription>\n {{ report.description }}\n </ng-template>\n </p>\n </div>\n <div class=\"col-2 fit-h-20 m-t-xs-8\">\n <label\n class=\"c8y-switch c8y-switch--inline\"\n title=\"{{ 'Show in navigator' | translate }}\"\n >\n <input\n type=\"checkbox\"\n [ngModel]=\"!!report.c8y_IsNavigatorNode\"\n (ngModelChange)=\"report.c8y_IsNavigatorNode = $event\"\n (change)=\"update(report)\"\n />\n <span></span>\n <span class=\"visible-xs\">\n {{ 'Show in navigator' | translate }}\n </span>\n </label>\n </div>\n <div class=\"col-1 hidden-xs\">\n <button\n class=\"btn btn-dot btn-dot--danger showOnHover m-l-auto d-flex\"\n [attr.aria-label]=\"'Remove report' | translate\"\n tooltip=\"{{ 'Remove report' | translate }}\"\n type=\"button\"\n [delay]=\"500\"\n (click)=\"delete(report)\"\n >\n <i c8yIcon=\"minus-circle\"></i>\n </button>\n </div>\n <div class=\"visible-xs p-t-8 text-right\">\n <button\n class=\"btn btn-default btn-sm\"\n title=\"{{ 'Remove report' | translate }}\"\n type=\"button\"\n (click)=\"delete(report)\"\n >\n <i c8yIcon=\"delete\"></i>\n {{ 'Remove report' | translate }}\n </button>\n </div>\n </c8y-li-body>\n </c8y-li>\n</c8y-list-group>\n\n<c8y-ui-empty-state\n [icon]=\"'c8y-reports'\"\n [title]=\"'There are no reports defined.' | translate\"\n [subtitle]=\"'Add a report first.' | translate\"\n *ngIf=\"(reports$ | async)?.data.length === 0\"\n>\n <p>\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Add report' | translate }}\"\n type=\"button\"\n [attr.data-cy]=\"'reports-add-report-empty-state-button'\"\n [disabled]=\"!canAddReport\"\n routerLink=\"/report/new-report\"\n c8yProductExperience\n [actionName]=\"PRODUCT_EXPERIENCE.DASHBOARD.EVENTS.REPORTS\"\n [actionData]=\"{ action: PRODUCT_EXPERIENCE.DASHBOARD.ACTIONS.ADD_REPORT }\"\n >\n {{ 'Add report' | translate }}\n </button>\n </p>\n <p c8y-guide-docs>\n <small\n translate\n ngNonBindable\n >\n Find out more in the\n <a c8y-guide-href=\"/docs/cockpit/working-with-reports\">user documentation</a>\n .\n </small>\n </p>\n</c8y-ui-empty-state>\n", dependencies: [{ kind: "component", type: TitleComponent, selector: "c8y-title", inputs: ["pageTitleUpdate"] }, { kind: "component", type: ActionBarItemComponent, selector: "c8y-action-bar-item", inputs: ["placement", "priority", "itemClass", "injector", "groupId", "inGroupPriority"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.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: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: PopoverDirective, selector: "[popover]", inputs: ["adaptivePosition", "boundariesElement", "popover", "popoverContext", "popoverTitle", "placement", "outsideClick", "triggers", "container", "containerClass", "isOpen", "delay"], outputs: ["onShown", "onHidden"], exportAs: ["bs-popover"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: HelpComponent, selector: "c8y-help", inputs: ["src", "isCollapsed", "priority", "icon"] }, { 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: "component", type: ListItemBodyComponent, selector: "c8y-list-item-body, c8y-li-body", inputs: ["body"] }, { 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: "directive", type: TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["adaptivePosition", "tooltip", "placement", "triggers", "container", "containerClass", "boundariesElement", "isOpen", "isDisabled", "delay", "tooltipHtml", "tooltipPlacement", "tooltipIsOpen", "tooltipEnable", "tooltipAppendToBody", "tooltipAnimation", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "tooltipFadeDuration", "tooltipTrigger"], outputs: ["tooltipChange", "onShown", "onHidden", "tooltipStateChanged"], exportAs: ["bs-tooltip"] }, { kind: "component", type: EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "directive", type: ProductExperienceDirective, selector: "[c8yProductExperience]", inputs: ["actionName", "actionData", "inherit", "suppressDataOverriding"] }, { kind: "component", type: GuideDocsComponent, selector: "[c8y-guide-docs]" }, { kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: GuideHrefDirective, selector: "[c8y-guide-href]", inputs: ["c8y-guide-href"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
204
204
  }
205
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ReportDashboardListComponent, decorators: [{
205
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ReportDashboardListComponent, decorators: [{
206
206
  type: Component,
207
207
  args: [{ selector: 'c8y-report-dashboard-list', imports: [
208
208
  TitleComponent,
@@ -234,12 +234,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
234
234
  }] } });
235
235
 
236
236
  class ReportDashboardModule {
237
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ReportDashboardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
238
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: ReportDashboardModule, imports: [CoreModule,
237
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ReportDashboardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
238
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: ReportDashboardModule, imports: [CoreModule,
239
239
  ContextDashboardModule, i1$2.TooltipModule, RouterModule,
240
240
  PopoverModule,
241
241
  ReportDashboardListComponent] }); }
242
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ReportDashboardModule, providers: [
242
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ReportDashboardModule, providers: [
243
243
  ReportDashboardGuard,
244
244
  ReportDashboardService,
245
245
  hookRoute([
@@ -276,7 +276,7 @@ class ReportDashboardModule {
276
276
  PopoverModule,
277
277
  ReportDashboardListComponent] }); }
278
278
  }
279
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ReportDashboardModule, decorators: [{
279
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ReportDashboardModule, decorators: [{
280
280
  type: NgModule,
281
281
  args: [{
282
282
  imports: [
@@ -133,10 +133,10 @@ class ReportsService {
133
133
  }
134
134
  throw new Error(`Failed to request export: ${response.statusText}`);
135
135
  }
136
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ReportsService, deps: [{ token: i1.AlertService }, { token: i2.InventoryService }, { token: i2.FetchClient }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
137
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ReportsService, providedIn: 'root' }); }
136
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ReportsService, deps: [{ token: i1.AlertService }, { token: i2.InventoryService }, { token: i2.FetchClient }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
137
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ReportsService, providedIn: 'root' }); }
138
138
  }
139
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ReportsService, decorators: [{
139
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ReportsService, decorators: [{
140
140
  type: Injectable,
141
141
  args: [{ providedIn: 'root' }]
142
142
  }], ctorParameters: () => [{ type: i1.AlertService }, { type: i2.InventoryService }, { type: i2.FetchClient }, { type: i3.TranslateService }] });
@@ -418,10 +418,10 @@ class CronService {
418
418
  date.setMonth(parseInt(cronConfig.month, 10) - 1);
419
419
  return formatDate(date, 'LLLL', this.translateService.currentLang);
420
420
  }
421
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CronService, deps: [{ token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
422
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CronService }); }
421
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CronService, deps: [{ token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
422
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CronService }); }
423
423
  }
424
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CronService, decorators: [{
424
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CronService, decorators: [{
425
425
  type: Injectable
426
426
  }], ctorParameters: () => [{ type: i3.TranslateService }] });
427
427
 
@@ -452,10 +452,10 @@ class CronComponent {
452
452
  this.emittedCron.cron = this.cronService.generateCron(this.cronConfig);
453
453
  this.emitter.emit(this.emittedCron);
454
454
  }
455
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CronComponent, deps: [{ token: CronService }], target: i0.ɵɵFactoryTarget.Component }); }
456
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: CronComponent, isStandalone: true, selector: "cron", inputs: { cronIn: "cronIn" }, outputs: { emitter: "emitter" }, ngImport: i0, template: "<div class=\"cron-wrap\">\n <div class=\"form-group smart-cron-job-every\">\n <label for=\"smart-cron-job-every\" class=\"control-label\" translate>Interval</label>\n <div>\n <div class=\"c8y-select-wrapper\">\n <select\n class=\"cron-select form-control\"\n id=\"smart-cron-job-every\"\n [(ngModel)]=\"base\"\n required=\"true\"\n (change)=\"onChangeSelect()\"\n >\n <option *ngIf=\"base === 1\" value=\"1\" translate>Select\u2026</option>\n <option *ngFor=\"let baseInterval of intervals\" [ngValue]=\"baseInterval.value\">\n {{ baseInterval.label | translate }}\n </option>\n </select>\n <span></span>\n </div>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"form-group smart-cron-job-on col-md-6\" *ngIf=\"base == 4\">\n <label class=\"control-label\" for=\"smart-cron-job-on\" translate>Day</label>\n\n <div class=\"c8y-select-wrapper\">\n <select\n class=\"cron-select form-control day-value\"\n id=\"smart-cron-job-on\"\n [(ngModel)]=\"cronConfig.weekday\"\n (change)=\"onChangeSelect()\"\n >\n <option *ngFor=\"let dayOfWeek of daysOfWeekPosix\" [ngValue]=\"dayOfWeek.value\">\n {{ dayOfWeek.label | translate }}\n </option>\n </select>\n <span></span>\n </div>\n </div>\n\n <div class=\"form-group smart-cron-job-of col-md-6\" *ngIf=\"base == 6\">\n <label for=\"smart-cron-job-of\" class=\"control-label\" translate>Month</label>\n <div>\n <div class=\"c8y-select-wrapper\">\n <select\n id=\"smart-cron-job-of\"\n class=\"cron-select form-control month-value\"\n [(ngModel)]=\"cronConfig.month\"\n (change)=\"onChangeSelect()\"\n >\n <option *ngFor=\"let month of months\" [ngValue]=\"month.value\">\n {{ month.label | translate }}\n </option>\n </select>\n <span></span>\n </div>\n </div>\n </div>\n\n <div class=\"form-group smart-cron-job-on-the col-md-6\" *ngIf=\"base >= 5\">\n <label for=\"smart-cron-job-on-the\" class=\"control-label\" translate>Day</label>\n <div>\n <div class=\"c8y-select-wrapper\">\n <select\n id=\"smart-cron-job-on-the\"\n class=\"cron-select form-control day-of-month-value\"\n [(ngModel)]=\"cronConfig.day\"\n (change)=\"onChangeSelect()\"\n >\n <option *ngFor=\"let dayOfMonth of daysOfMonth\" [ngValue]=\"dayOfMonth.value\">\n {{ dayOfMonth.label | translate }}\n </option>\n </select>\n <span></span>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"form-group smart-cron-job-at\" *ngIf=\"base >= 2\">\n <label for=\"smart-cron-job-at-hour\" class=\"control-label\">\n <span *ngIf=\"base >= 3\" translate>Time</span>\n <span *ngIf=\"base < 3\" translate>Minutes</span>\n </label>\n <div>\n <div class=\"form-inline\">\n <div class=\"c8y-select-wrapper\" *ngIf=\"base >= 3\">\n <select\n id=\"smart-cron-job-at-hour\"\n class=\"cron-select form-control hour-value\"\n [(ngModel)]=\"cronConfig.hour\"\n (change)=\"onChangeSelect()\"\n >\n <option *ngFor=\"let hour of hours\" [ngValue]=\"hour.value\">\n {{ hour.value | number: '2.0-0' }}\n </option>\n </select>\n <span></span>\n </div>\n <span *ngIf=\"base >= 3\">:</span>\n <div class=\"c8y-select-wrapper\">\n <select\n class=\"cron-select form-control minute-value\"\n id=\"smart-cron-job-at-minute\"\n [(ngModel)]=\"cronConfig.minute\"\n (change)=\"onChangeSelect()\"\n >\n <option *ngFor=\"let minute of minutes\" [ngValue]=\"minute.value\">\n {{ minute.value | number: '2.0-0' }}\n </option>\n </select>\n <span></span>\n </div>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: DecimalPipe, name: "number" }] }); }
455
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CronComponent, deps: [{ token: CronService }], target: i0.ɵɵFactoryTarget.Component }); }
456
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: CronComponent, isStandalone: true, selector: "cron", inputs: { cronIn: "cronIn" }, outputs: { emitter: "emitter" }, ngImport: i0, template: "<div class=\"cron-wrap\">\n <div class=\"form-group smart-cron-job-every\">\n <label for=\"smart-cron-job-every\" class=\"control-label\" translate>Interval</label>\n <div>\n <div class=\"c8y-select-wrapper\">\n <select\n class=\"cron-select form-control\"\n id=\"smart-cron-job-every\"\n [(ngModel)]=\"base\"\n required=\"true\"\n (change)=\"onChangeSelect()\"\n >\n <option *ngIf=\"base === 1\" value=\"1\" translate>Select\u2026</option>\n <option *ngFor=\"let baseInterval of intervals\" [ngValue]=\"baseInterval.value\">\n {{ baseInterval.label | translate }}\n </option>\n </select>\n <span></span>\n </div>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"form-group smart-cron-job-on col-md-6\" *ngIf=\"base == 4\">\n <label class=\"control-label\" for=\"smart-cron-job-on\" translate>Day</label>\n\n <div class=\"c8y-select-wrapper\">\n <select\n class=\"cron-select form-control day-value\"\n id=\"smart-cron-job-on\"\n [(ngModel)]=\"cronConfig.weekday\"\n (change)=\"onChangeSelect()\"\n >\n <option *ngFor=\"let dayOfWeek of daysOfWeekPosix\" [ngValue]=\"dayOfWeek.value\">\n {{ dayOfWeek.label | translate }}\n </option>\n </select>\n <span></span>\n </div>\n </div>\n\n <div class=\"form-group smart-cron-job-of col-md-6\" *ngIf=\"base == 6\">\n <label for=\"smart-cron-job-of\" class=\"control-label\" translate>Month</label>\n <div>\n <div class=\"c8y-select-wrapper\">\n <select\n id=\"smart-cron-job-of\"\n class=\"cron-select form-control month-value\"\n [(ngModel)]=\"cronConfig.month\"\n (change)=\"onChangeSelect()\"\n >\n <option *ngFor=\"let month of months\" [ngValue]=\"month.value\">\n {{ month.label | translate }}\n </option>\n </select>\n <span></span>\n </div>\n </div>\n </div>\n\n <div class=\"form-group smart-cron-job-on-the col-md-6\" *ngIf=\"base >= 5\">\n <label for=\"smart-cron-job-on-the\" class=\"control-label\" translate>Day</label>\n <div>\n <div class=\"c8y-select-wrapper\">\n <select\n id=\"smart-cron-job-on-the\"\n class=\"cron-select form-control day-of-month-value\"\n [(ngModel)]=\"cronConfig.day\"\n (change)=\"onChangeSelect()\"\n >\n <option *ngFor=\"let dayOfMonth of daysOfMonth\" [ngValue]=\"dayOfMonth.value\">\n {{ dayOfMonth.label | translate }}\n </option>\n </select>\n <span></span>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"form-group smart-cron-job-at\" *ngIf=\"base >= 2\">\n <label for=\"smart-cron-job-at-hour\" class=\"control-label\">\n <span *ngIf=\"base >= 3\" translate>Time</span>\n <span *ngIf=\"base < 3\" translate>Minutes</span>\n </label>\n <div>\n <div class=\"form-inline\">\n <div class=\"c8y-select-wrapper\" *ngIf=\"base >= 3\">\n <select\n id=\"smart-cron-job-at-hour\"\n class=\"cron-select form-control hour-value\"\n [(ngModel)]=\"cronConfig.hour\"\n (change)=\"onChangeSelect()\"\n >\n <option *ngFor=\"let hour of hours\" [ngValue]=\"hour.value\">\n {{ hour.value | number: '2.0-0' }}\n </option>\n </select>\n <span></span>\n </div>\n <span *ngIf=\"base >= 3\">:</span>\n <div class=\"c8y-select-wrapper\">\n <select\n class=\"cron-select form-control minute-value\"\n id=\"smart-cron-job-at-minute\"\n [(ngModel)]=\"cronConfig.minute\"\n (change)=\"onChangeSelect()\"\n >\n <option *ngFor=\"let minute of minutes\" [ngValue]=\"minute.value\">\n {{ minute.value | number: '2.0-0' }}\n </option>\n </select>\n <span></span>\n </div>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: DecimalPipe, name: "number" }] }); }
457
457
  }
458
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CronComponent, decorators: [{
458
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: CronComponent, decorators: [{
459
459
  type: Component,
460
460
  args: [{ selector: 'cron', imports: [C8yTranslateDirective, FormsModule, NgIf, NgFor, C8yTranslatePipe, DecimalPipe], template: "<div class=\"cron-wrap\">\n <div class=\"form-group smart-cron-job-every\">\n <label for=\"smart-cron-job-every\" class=\"control-label\" translate>Interval</label>\n <div>\n <div class=\"c8y-select-wrapper\">\n <select\n class=\"cron-select form-control\"\n id=\"smart-cron-job-every\"\n [(ngModel)]=\"base\"\n required=\"true\"\n (change)=\"onChangeSelect()\"\n >\n <option *ngIf=\"base === 1\" value=\"1\" translate>Select\u2026</option>\n <option *ngFor=\"let baseInterval of intervals\" [ngValue]=\"baseInterval.value\">\n {{ baseInterval.label | translate }}\n </option>\n </select>\n <span></span>\n </div>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"form-group smart-cron-job-on col-md-6\" *ngIf=\"base == 4\">\n <label class=\"control-label\" for=\"smart-cron-job-on\" translate>Day</label>\n\n <div class=\"c8y-select-wrapper\">\n <select\n class=\"cron-select form-control day-value\"\n id=\"smart-cron-job-on\"\n [(ngModel)]=\"cronConfig.weekday\"\n (change)=\"onChangeSelect()\"\n >\n <option *ngFor=\"let dayOfWeek of daysOfWeekPosix\" [ngValue]=\"dayOfWeek.value\">\n {{ dayOfWeek.label | translate }}\n </option>\n </select>\n <span></span>\n </div>\n </div>\n\n <div class=\"form-group smart-cron-job-of col-md-6\" *ngIf=\"base == 6\">\n <label for=\"smart-cron-job-of\" class=\"control-label\" translate>Month</label>\n <div>\n <div class=\"c8y-select-wrapper\">\n <select\n id=\"smart-cron-job-of\"\n class=\"cron-select form-control month-value\"\n [(ngModel)]=\"cronConfig.month\"\n (change)=\"onChangeSelect()\"\n >\n <option *ngFor=\"let month of months\" [ngValue]=\"month.value\">\n {{ month.label | translate }}\n </option>\n </select>\n <span></span>\n </div>\n </div>\n </div>\n\n <div class=\"form-group smart-cron-job-on-the col-md-6\" *ngIf=\"base >= 5\">\n <label for=\"smart-cron-job-on-the\" class=\"control-label\" translate>Day</label>\n <div>\n <div class=\"c8y-select-wrapper\">\n <select\n id=\"smart-cron-job-on-the\"\n class=\"cron-select form-control day-of-month-value\"\n [(ngModel)]=\"cronConfig.day\"\n (change)=\"onChangeSelect()\"\n >\n <option *ngFor=\"let dayOfMonth of daysOfMonth\" [ngValue]=\"dayOfMonth.value\">\n {{ dayOfMonth.label | translate }}\n </option>\n </select>\n <span></span>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"form-group smart-cron-job-at\" *ngIf=\"base >= 2\">\n <label for=\"smart-cron-job-at-hour\" class=\"control-label\">\n <span *ngIf=\"base >= 3\" translate>Time</span>\n <span *ngIf=\"base < 3\" translate>Minutes</span>\n </label>\n <div>\n <div class=\"form-inline\">\n <div class=\"c8y-select-wrapper\" *ngIf=\"base >= 3\">\n <select\n id=\"smart-cron-job-at-hour\"\n class=\"cron-select form-control hour-value\"\n [(ngModel)]=\"cronConfig.hour\"\n (change)=\"onChangeSelect()\"\n >\n <option *ngFor=\"let hour of hours\" [ngValue]=\"hour.value\">\n {{ hour.value | number: '2.0-0' }}\n </option>\n </select>\n <span></span>\n </div>\n <span *ngIf=\"base >= 3\">:</span>\n <div class=\"c8y-select-wrapper\">\n <select\n class=\"cron-select form-control minute-value\"\n id=\"smart-cron-job-at-minute\"\n [(ngModel)]=\"cronConfig.minute\"\n (change)=\"onChangeSelect()\"\n >\n <option *ngFor=\"let minute of minutes\" [ngValue]=\"minute.value\">\n {{ minute.value | number: '2.0-0' }}\n </option>\n </select>\n <span></span>\n </div>\n </div>\n </div>\n </div>\n</div>\n" }]
461
461
  }], ctorParameters: () => [{ type: CronService }], propDecorators: { cronIn: [{
@@ -558,10 +558,10 @@ class ScheduleModalComponent {
558
558
  this.schedule.emailConfig.subject = this.emailSubject;
559
559
  this.schedule.emailConfig.text = this.emailText;
560
560
  }
561
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ScheduleModalComponent, deps: [{ token: ReportsService }, { token: i2$1.BsModalRef }, { token: CronService }], target: i0.ɵɵFactoryTarget.Component }); }
562
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: ScheduleModalComponent, isStandalone: true, selector: "schedule-modal", outputs: { emitter: "emitter" }, ngImport: i0, template: "<div class=\"modal-header dialog-header\">\n <i c8yIcon=\"c8y-report\"></i>\n <h4 id=\"modal-title\">\n <span *ngIf=\"actionType === ActionType.CREATE\" translate>New export schedule</span>\n <span *ngIf=\"actionType === ActionType.EDIT\" translate>Edit export schedule</span>\n <span *ngIf=\"actionType === ActionType.DUPLICATE\" translate>Duplicate export schedule</span>\n </h4>\n</div>\n\n<div class=\"modal-body\" id=\"modal-body\">\n <p class=\"lead text-center p-t-24 m-b-0\" translate>On schedule send export via email</p>\n</div>\n<div class=\"modal-inner-scroll smart-rule-control\">\n <form #scheduleForm=\"ngForm\" class=\"edit-smart-rule-details\">\n <div class=\"list-group\">\n <div class=\"list-group-item bg-level-1\">\n <div class=\"smart-list-icon-label\">\n <span class=\"dot bg-primary-light m-r-8\">1</span>\n <strong translate>Frequency</strong>\n </div>\n <div class=\"p-t-16\">\n <div class=\"form-group\">\n <cron [cronIn]=\"cronExpression\" (emitter)=\"getCron($event)\" name=\"cron\"></cron>\n </div>\n </div>\n </div>\n <div class=\"list-group-item\">\n <div class=\"smart-list-icon-label\">\n <span class=\"dot bg-primary-light m-r-8\">2</span>\n <div class=\"d-inline-block\">\n <strong translate>Send email</strong>\n <p class=\"help-block text-muted small p-absolute\">\n <i class=\"text-info m-r-4 text-14\" c8yIcon=\"info-circle\"></i>\n <span translate\n >Enter one or more valid email addresses, separated with a comma.</span\n >\n </p>\n </div>\n </div>\n <div class=\"p-t-24\">\n <div class=\"form-group\">\n <label class=\"control-label\" translate>Send to</label>\n <c8y-form-group>\n <input\n emails\n type=\"text\"\n class=\"form-control\"\n name=\"to\"\n [(ngModel)]=\"emailTo\"\n placeholder=\"{{\n 'e.g. joe.doe@example.com,john.smith@example.com`LOCALIZE`' | translate\n }}\"\n required\n />\n </c8y-form-group>\n </div>\n\n <div class=\"form-group\">\n <label class=\"control-label\" translate>CC</label>\n <c8y-form-group>\n <input\n emails\n type=\"text\"\n class=\"form-control span\"\n name=\"cc\"\n placeholder=\"{{\n 'e.g. joe.doe@example.com,john.smith@example.com`LOCALIZE`' | translate\n }}\"\n [(ngModel)]=\"emailCc\"\n />\n </c8y-form-group>\n </div>\n\n <div class=\"form-group\">\n <label class=\"control-label\" translate>BCC</label>\n <c8y-form-group>\n <input\n emails\n type=\"text\"\n class=\"form-control span\"\n name=\"bcc\"\n placeholder=\"{{\n 'e.g. joe.doe@example.com,john.smith@example.com`LOCALIZE`' | translate\n }}\"\n [(ngModel)]=\"emailBcc\"\n />\n </c8y-form-group>\n </div>\n\n <div class=\"form-group\">\n <label class=\"control-label\" translate>Reply to (single email address)</label>\n <c8y-form-group>\n <input\n email\n type=\"text\"\n class=\"form-control span\"\n name=\"replyTo\"\n placeholder=\"{{ 'e.g. joe.doe@example.com`LOCALIZE`' | translate }}\"\n [(ngModel)]=\"emailReplyTo\"\n />\n </c8y-form-group>\n </div>\n\n <div class=\"form-group\">\n <label class=\"control-label\" translate>Subject</label>\n <c8y-form-group>\n <input\n type=\"text\"\n class=\"form-control span\"\n name=\"subject\"\n [(ngModel)]=\"emailSubject\"\n placeholder=\"{{ 'e.g. Daily report' | translate }}\"\n required\n />\n </c8y-form-group>\n </div>\n\n <div class=\"form-group\">\n <label class=\"control-label\" translate>Message</label>\n <c8y-form-group>\n <textarea\n class=\"form-control\"\n name=\"text\"\n [(ngModel)]=\"emailText\"\n placeholder=\"{{ 'Message' | translate }}\"\n rows=\"4\"\n required\n ></textarea>\n <p class=\"help-block text-muted\">\n {{ placeholdersInfo | translate }}\n </p>\n </c8y-form-group>\n </div>\n </div>\n </div>\n </div>\n </form>\n</div>\n\n<div class=\"modal-footer\">\n <button class=\"btn btn-default\" (click)=\"cancel()\" title=\"{{ 'Cancel' | translate }}\">\n {{ 'Cancel' | translate }}\n </button>\n <button\n class=\"btn btn-primary\"\n (click)=\"save()\"\n [disabled]=\"!validCron || !scheduleForm.form.valid\"\n >\n <span>\n <span *ngIf=\"actionType === ActionType.CREATE\" title=\"{{ 'Create' | translate }}\">\n {{ 'Create' | translate }}\n </span>\n <span *ngIf=\"actionType === ActionType.EDIT\" title=\"{{ 'Save' | translate }}\">\n {{ 'Save' | translate }}\n </span>\n <span *ngIf=\"actionType === ActionType.DUPLICATE\" title=\"{{ 'Duplicate' | translate }}\">\n {{ 'Duplicate' | translate }}\n </span>\n </span>\n </button>\n</div>\n", dependencies: [{ kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.EmailValidator, selector: "[email][formControlName],[email][formControl],[email][ngModel]", inputs: ["email"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: CronComponent, selector: "cron", inputs: ["cronIn"], outputs: ["emitter"] }, { kind: "component", type: FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "directive", type: RequiredInputPlaceholderDirective, selector: "input[required], input[formControlName]" }, { kind: "directive", type: EmailsValidatorDirective, selector: "[emails][formControlName],[emails][formControl],[emails][ngModel]", inputs: ["emails"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }] }); }
561
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ScheduleModalComponent, deps: [{ token: ReportsService }, { token: i2$1.BsModalRef }, { token: CronService }], target: i0.ɵɵFactoryTarget.Component }); }
562
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: ScheduleModalComponent, isStandalone: true, selector: "schedule-modal", outputs: { emitter: "emitter" }, ngImport: i0, template: "<div class=\"modal-header dialog-header\">\n <i c8yIcon=\"c8y-report\"></i>\n <h4 id=\"modal-title\">\n <span *ngIf=\"actionType === ActionType.CREATE\" translate>New export schedule</span>\n <span *ngIf=\"actionType === ActionType.EDIT\" translate>Edit export schedule</span>\n <span *ngIf=\"actionType === ActionType.DUPLICATE\" translate>Duplicate export schedule</span>\n </h4>\n</div>\n\n<div class=\"modal-body\" id=\"modal-body\">\n <p class=\"lead text-center p-t-24 m-b-0\" translate>On schedule send export via email</p>\n</div>\n<div class=\"modal-inner-scroll smart-rule-control\">\n <form #scheduleForm=\"ngForm\" class=\"edit-smart-rule-details\">\n <div class=\"list-group\">\n <div class=\"list-group-item bg-level-1\">\n <div class=\"smart-list-icon-label\">\n <span class=\"dot bg-primary-light m-r-8\">1</span>\n <strong translate>Frequency</strong>\n </div>\n <div class=\"p-t-16\">\n <div class=\"form-group\">\n <cron [cronIn]=\"cronExpression\" (emitter)=\"getCron($event)\" name=\"cron\"></cron>\n </div>\n </div>\n </div>\n <div class=\"list-group-item\">\n <div class=\"smart-list-icon-label\">\n <span class=\"dot bg-primary-light m-r-8\">2</span>\n <div class=\"d-inline-block\">\n <strong translate>Send email</strong>\n <p class=\"help-block text-muted small p-absolute\">\n <i class=\"text-info m-r-4 text-14\" c8yIcon=\"info-circle\"></i>\n <span translate\n >Enter one or more valid email addresses, separated with a comma.</span\n >\n </p>\n </div>\n </div>\n <div class=\"p-t-24\">\n <div class=\"form-group\">\n <label class=\"control-label\" translate>Send to</label>\n <c8y-form-group>\n <input\n emails\n type=\"text\"\n class=\"form-control\"\n name=\"to\"\n [(ngModel)]=\"emailTo\"\n placeholder=\"{{\n 'e.g. joe.doe@example.com,john.smith@example.com`LOCALIZE`' | translate\n }}\"\n required\n />\n </c8y-form-group>\n </div>\n\n <div class=\"form-group\">\n <label class=\"control-label\" translate>CC</label>\n <c8y-form-group>\n <input\n emails\n type=\"text\"\n class=\"form-control span\"\n name=\"cc\"\n placeholder=\"{{\n 'e.g. joe.doe@example.com,john.smith@example.com`LOCALIZE`' | translate\n }}\"\n [(ngModel)]=\"emailCc\"\n />\n </c8y-form-group>\n </div>\n\n <div class=\"form-group\">\n <label class=\"control-label\" translate>BCC</label>\n <c8y-form-group>\n <input\n emails\n type=\"text\"\n class=\"form-control span\"\n name=\"bcc\"\n placeholder=\"{{\n 'e.g. joe.doe@example.com,john.smith@example.com`LOCALIZE`' | translate\n }}\"\n [(ngModel)]=\"emailBcc\"\n />\n </c8y-form-group>\n </div>\n\n <div class=\"form-group\">\n <label class=\"control-label\" translate>Reply to (single email address)</label>\n <c8y-form-group>\n <input\n email\n type=\"text\"\n class=\"form-control span\"\n name=\"replyTo\"\n placeholder=\"{{ 'e.g. joe.doe@example.com`LOCALIZE`' | translate }}\"\n [(ngModel)]=\"emailReplyTo\"\n />\n </c8y-form-group>\n </div>\n\n <div class=\"form-group\">\n <label class=\"control-label\" translate>Subject</label>\n <c8y-form-group>\n <input\n type=\"text\"\n class=\"form-control span\"\n name=\"subject\"\n [(ngModel)]=\"emailSubject\"\n placeholder=\"{{ 'e.g. Daily report' | translate }}\"\n required\n />\n </c8y-form-group>\n </div>\n\n <div class=\"form-group\">\n <label class=\"control-label\" translate>Message</label>\n <c8y-form-group>\n <textarea\n class=\"form-control\"\n name=\"text\"\n [(ngModel)]=\"emailText\"\n placeholder=\"{{ 'Message' | translate }}\"\n rows=\"4\"\n required\n ></textarea>\n <p class=\"help-block text-muted\">\n {{ placeholdersInfo | translate }}\n </p>\n </c8y-form-group>\n </div>\n </div>\n </div>\n </div>\n </form>\n</div>\n\n<div class=\"modal-footer\">\n <button class=\"btn btn-default\" (click)=\"cancel()\" title=\"{{ 'Cancel' | translate }}\">\n {{ 'Cancel' | translate }}\n </button>\n <button\n class=\"btn btn-primary\"\n (click)=\"save()\"\n [disabled]=\"!validCron || !scheduleForm.form.valid\"\n >\n <span>\n <span *ngIf=\"actionType === ActionType.CREATE\" title=\"{{ 'Create' | translate }}\">\n {{ 'Create' | translate }}\n </span>\n <span *ngIf=\"actionType === ActionType.EDIT\" title=\"{{ 'Save' | translate }}\">\n {{ 'Save' | translate }}\n </span>\n <span *ngIf=\"actionType === ActionType.DUPLICATE\" title=\"{{ 'Duplicate' | translate }}\">\n {{ 'Duplicate' | translate }}\n </span>\n </span>\n </button>\n</div>\n", dependencies: [{ kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.EmailValidator, selector: "[email][formControlName],[email][formControl],[email][ngModel]", inputs: ["email"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: CronComponent, selector: "cron", inputs: ["cronIn"], outputs: ["emitter"] }, { kind: "component", type: FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "directive", type: RequiredInputPlaceholderDirective, selector: "input[required], input[formControlName]" }, { kind: "directive", type: EmailsValidatorDirective, selector: "[emails][formControlName],[emails][formControl],[emails][ngModel]", inputs: ["emails"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }] }); }
563
563
  }
564
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ScheduleModalComponent, decorators: [{
564
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ScheduleModalComponent, decorators: [{
565
565
  type: Component,
566
566
  args: [{ selector: 'schedule-modal', imports: [
567
567
  IconDirective,
@@ -706,10 +706,10 @@ class ExportSchedulesComponent {
706
706
  this.scheduleList.splice(index, 1);
707
707
  this.onSchedulesUpdate.emit(this.scheduleList);
708
708
  }
709
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ExportSchedulesComponent, deps: [{ token: ReportsService }, { token: i2$1.BsModalService }, { token: CronService }, { token: i3.TranslateService }, { token: i2.UserService }, { token: i1.OptionsService }], target: i0.ɵɵFactoryTarget.Component }); }
710
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: ExportSchedulesComponent, isStandalone: true, selector: "export-schedules", inputs: { exportId: "exportId" }, outputs: { onSchedulesUpdate: "onSchedulesUpdate" }, usesOnChanges: true, ngImport: i0, template: "<div>\n <div *ngIf=\"loadingStatus.inProgress\" class=\"d-flex a-i-center\">\n <c8y-loading></c8y-loading>\n </div>\n\n <div *ngIf=\"!loadingStatus.inProgress && loadingStatus.done && loadingStatus.error\">\n <div class=\"alert alert-warning max-width-100\" translate>Could not load schedules list.</div>\n </div>\n\n <div *ngIf=\"!loadingStatus.inProgress && !loadingStatus.done && !loadingStatus.error\">\n <c8y-ui-empty-state\n *ngIf=\"!scheduleList.length\"\n [icon]=\"'c8y-report'\"\n [title]=\"'No export schedules defined.' | translate\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n\n <div class=\"c8y-list__group\" *ngIf=\"scheduleList.length\">\n <div class=\"c8y-list__item hidden-xs\">\n <div class=\"c8y-list__item__block\">\n <div class=\"c8y-list__item__icon\">\n <i class=\"p-l-24\"></i>\n </div>\n <div class=\"c8y-list__item__body\">\n <div class=\"d-flex\">\n <div class=\"col-sm-6\">\n <label class=\"m-0\">\n {{ 'Description' | translate }}\n </label>\n </div>\n <div class=\"col-sm-6 m-r-40\">\n <label class=\"m-0\">\n {{ 'Frequency' | translate }}\n </label>\n </div>\n </div>\n </div>\n <span></span>\n </div>\n </div>\n\n <div\n class=\"c8y-list__item pointer\"\n *ngFor=\"let schedule of scheduleList; index as i\"\n (click)=\"editSchedule(schedule, i, $event)\"\n >\n <div class=\"c8y-list__item__block\">\n <div class=\"c8y-list__item__icon\">\n <i c8yIcon=\"c8y-report\" class=\"c8y-icon-duocolor\"></i>\n </div>\n <div class=\"c8y-list__item__body d-flex\">\n <div class=\"col-sm-6 col-xs-6\">\n <div class=\"text-truncate\" title=\"{{ schedule.emailConfig.subject }}\">\n {{ schedule.emailConfig.subject }}\n </div>\n </div>\n <div class=\"col-sm-6 col-xs-6\">\n <div class=\"d-flex a-i-baseline\">\n <i c8yIcon=\"calendar\" class=\"text-muted m-r-4\"></i>\n <span class=\"smart-rule-information\">\n <span\n *ngIf=\"cronService.getBase(schedule.cronConfig) === 2\"\n ngNonBindable\n translate\n [translateParams]=\"{ minutes: schedule.cronConfig.minute | number: '2.0-0' }\"\n >\n Hourly: {{ minutes }} minute(s) past the hour.\n </span>\n <span\n *ngIf=\"cronService.getBase(schedule.cronConfig) === 3\"\n ngNonBindable\n translate\n [translateParams]=\"{\n hour: schedule.cronConfig.hour | number: '2.0-0',\n minutes: schedule.cronConfig.minute | number: '2.0-0'\n }\"\n >\n Daily: at {{ hour }}:{{ minutes }}.\n </span>\n <span\n *ngIf=\"cronService.getBase(schedule.cronConfig) === 4\"\n ngNonBindable\n translate\n [translateParams]=\"{\n weekDay: cronService.getWeekDayName(schedule.cronConfig),\n hour: schedule.cronConfig.hour | number: '2.0-0',\n minutes: schedule.cronConfig.minute | number: '2.0-0'\n }\"\n >\n Weekly: {{ weekDay }}, at {{ hour }}:{{ minutes }}.\n </span>\n <span\n *ngIf=\"cronService.getBase(schedule.cronConfig) === 5\"\n ngNonBindable\n translate\n [translateParams]=\"{\n monthDay: cronService.getMonthDayName(schedule.cronConfig),\n hour: schedule.cronConfig.hour | number: '2.0-0',\n minutes: schedule.cronConfig.minute | number: '2.0-0'\n }\"\n >\n Monthly: {{ monthDay }} day of the month, at {{ hour }}:{{ minutes }}.\n </span>\n <span\n *ngIf=\"cronService.getBase(schedule.cronConfig) === 6\"\n ngNonBindable\n translate\n [translateParams]=\"{\n month: cronService.getMonthName(schedule.cronConfig),\n monthDay: cronService.getMonthDayName(schedule.cronConfig),\n hour: schedule.cronConfig.hour | number: '2.0-0',\n minutes: schedule.cronConfig.minute | number: '2.0-0'\n }\"\n >\n Yearly: {{ month }}, {{ monthDay }} day of the month, at {{ hour }}:{{\n minutes\n }}.\n </span>\n </span>\n </div>\n </div>\n </div>\n <div class=\"c8y-list__item__actions\" (click)=\"$event.stopPropagation()\">\n <div class=\"settings dropdown\" dropdown>\n <button\n class=\"dropdown-toggle c8y-dropdown\"\n type=\"button\"\n title=\"{{ 'Actions' | translate }}\"\n dropdownToggle\n >\n <i [c8yIcon]=\"'ellipsis-v'\"></i>\n </button>\n <ul role=\"list\" class=\"dropdown-menu dropdown-menu-right\" *dropdownMenu>\n <li role=\"menuitem\">\n <button\n type=\"button\"\n [title]=\"hasRequiredRole ? buttonLabels.edit : buttonLabels.editNoPermission\"\n (click)=\"editSchedule(schedule, i, $event)\"\n [disabled]=\"!hasRequiredRole\"\n >\n <i [c8yIcon]=\"'pencil'\"></i>\n {{ 'Edit' | translate }}\n </button>\n </li>\n <li role=\"menuitem\">\n <button\n type=\"button\"\n [title]=\"\n hasRequiredRole ? buttonLabels.duplicate : buttonLabels.duplicateNoPermission\n \"\n (click)=\"duplicateSchedule(schedule, $event)\"\n [disabled]=\"!hasRequiredRole\"\n >\n <i [c8yIcon]=\"'copy'\"></i>\n {{ 'Duplicate' | translate }}\n </button>\n </li>\n <li role=\"menuitem\">\n <button\n type=\"button\"\n [title]=\"\n hasRequiredRole ? buttonLabels.delete : buttonLabels.deleteNoPermission\n \"\n (click)=\"removeSchedule(schedule, i, $event)\"\n [disabled]=\"!hasRequiredRole\"\n >\n <i [c8yIcon]=\"'delete'\"></i>\n {{ 'Delete' | translate }}\n </button>\n </li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"alert alert-warning max-width-100\" *ngIf=\"!hasRequiredRole\" role=\"alert\" translate>\n You don't have the permission required to schedule exports.\n </div>\n <button\n class=\"btn btn-default m-t-16\"\n type=\"button\"\n title=\"{{ 'Add schedule' | translate }}\"\n (click)=\"addSchedule()\"\n [disabled]=\"!hasRequiredRole\"\n >\n <i [c8yIcon]=\"'plus-circle'\"></i>\n {{ 'Add schedule' | translate }}\n </button>\n</div>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: LoadingComponent, selector: "c8y-loading", inputs: ["layout", "progress", "message"] }, { kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "component", type: EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: BsDropdownDirective, selector: "[bsDropdown], [dropdown]", inputs: ["placement", "triggers", "container", "dropup", "autoClose", "isAnimated", "insideClick", "isDisabled", "isOpen"], outputs: ["isOpenChange", "onShown", "onHidden"], exportAs: ["bs-dropdown"] }, { kind: "directive", type: BsDropdownToggleDirective, selector: "[bsDropdownToggle],[dropdownToggle]", exportAs: ["bs-dropdown-toggle"] }, { kind: "directive", type: BsDropdownMenuDirective, selector: "[bsDropdownMenu],[dropdownMenu]", exportAs: ["bs-dropdown-menu"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: DecimalPipe, name: "number" }] }); }
709
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ExportSchedulesComponent, deps: [{ token: ReportsService }, { token: i2$1.BsModalService }, { token: CronService }, { token: i3.TranslateService }, { token: i2.UserService }, { token: i1.OptionsService }], target: i0.ɵɵFactoryTarget.Component }); }
710
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: ExportSchedulesComponent, isStandalone: true, selector: "export-schedules", inputs: { exportId: "exportId" }, outputs: { onSchedulesUpdate: "onSchedulesUpdate" }, usesOnChanges: true, ngImport: i0, template: "<div>\n <div *ngIf=\"loadingStatus.inProgress\" class=\"d-flex a-i-center\">\n <c8y-loading></c8y-loading>\n </div>\n\n <div *ngIf=\"!loadingStatus.inProgress && loadingStatus.done && loadingStatus.error\">\n <div class=\"alert alert-warning max-width-100\" translate>Could not load schedules list.</div>\n </div>\n\n <div *ngIf=\"!loadingStatus.inProgress && !loadingStatus.done && !loadingStatus.error\">\n <c8y-ui-empty-state\n *ngIf=\"!scheduleList.length\"\n [icon]=\"'c8y-report'\"\n [title]=\"'No export schedules defined.' | translate\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n\n <div class=\"c8y-list__group\" *ngIf=\"scheduleList.length\">\n <div class=\"c8y-list__item hidden-xs\">\n <div class=\"c8y-list__item__block\">\n <div class=\"c8y-list__item__icon\">\n <i class=\"p-l-24\"></i>\n </div>\n <div class=\"c8y-list__item__body\">\n <div class=\"d-flex\">\n <div class=\"col-sm-6\">\n <label class=\"m-0\">\n {{ 'Description' | translate }}\n </label>\n </div>\n <div class=\"col-sm-6 m-r-40\">\n <label class=\"m-0\">\n {{ 'Frequency' | translate }}\n </label>\n </div>\n </div>\n </div>\n <span></span>\n </div>\n </div>\n\n <div\n class=\"c8y-list__item pointer\"\n *ngFor=\"let schedule of scheduleList; index as i\"\n (click)=\"editSchedule(schedule, i, $event)\"\n >\n <div class=\"c8y-list__item__block\">\n <div class=\"c8y-list__item__icon\">\n <i c8yIcon=\"c8y-report\" class=\"c8y-icon-duocolor\"></i>\n </div>\n <div class=\"c8y-list__item__body d-flex\">\n <div class=\"col-sm-6 col-xs-6\">\n <div class=\"text-truncate\" title=\"{{ schedule.emailConfig.subject }}\">\n {{ schedule.emailConfig.subject }}\n </div>\n </div>\n <div class=\"col-sm-6 col-xs-6\">\n <div class=\"d-flex a-i-baseline\">\n <i c8yIcon=\"calendar\" class=\"text-muted m-r-4\"></i>\n <span class=\"smart-rule-information\">\n <span\n *ngIf=\"cronService.getBase(schedule.cronConfig) === 2\"\n ngNonBindable\n translate\n [translateParams]=\"{ minutes: schedule.cronConfig.minute | number: '2.0-0' }\"\n >\n Hourly: {{ minutes }} minute(s) past the hour.\n </span>\n <span\n *ngIf=\"cronService.getBase(schedule.cronConfig) === 3\"\n ngNonBindable\n translate\n [translateParams]=\"{\n hour: schedule.cronConfig.hour | number: '2.0-0',\n minutes: schedule.cronConfig.minute | number: '2.0-0'\n }\"\n >\n Daily: at {{ hour }}:{{ minutes }}.\n </span>\n <span\n *ngIf=\"cronService.getBase(schedule.cronConfig) === 4\"\n ngNonBindable\n translate\n [translateParams]=\"{\n weekDay: cronService.getWeekDayName(schedule.cronConfig),\n hour: schedule.cronConfig.hour | number: '2.0-0',\n minutes: schedule.cronConfig.minute | number: '2.0-0'\n }\"\n >\n Weekly: {{ weekDay }}, at {{ hour }}:{{ minutes }}.\n </span>\n <span\n *ngIf=\"cronService.getBase(schedule.cronConfig) === 5\"\n ngNonBindable\n translate\n [translateParams]=\"{\n monthDay: cronService.getMonthDayName(schedule.cronConfig),\n hour: schedule.cronConfig.hour | number: '2.0-0',\n minutes: schedule.cronConfig.minute | number: '2.0-0'\n }\"\n >\n Monthly: {{ monthDay }} day of the month, at {{ hour }}:{{ minutes }}.\n </span>\n <span\n *ngIf=\"cronService.getBase(schedule.cronConfig) === 6\"\n ngNonBindable\n translate\n [translateParams]=\"{\n month: cronService.getMonthName(schedule.cronConfig),\n monthDay: cronService.getMonthDayName(schedule.cronConfig),\n hour: schedule.cronConfig.hour | number: '2.0-0',\n minutes: schedule.cronConfig.minute | number: '2.0-0'\n }\"\n >\n Yearly: {{ month }}, {{ monthDay }} day of the month, at {{ hour }}:{{\n minutes\n }}.\n </span>\n </span>\n </div>\n </div>\n </div>\n <div class=\"c8y-list__item__actions\" (click)=\"$event.stopPropagation()\">\n <div class=\"settings dropdown\" dropdown>\n <button\n class=\"dropdown-toggle c8y-dropdown\"\n type=\"button\"\n title=\"{{ 'Actions' | translate }}\"\n dropdownToggle\n >\n <i [c8yIcon]=\"'ellipsis-v'\"></i>\n </button>\n <ul role=\"list\" class=\"dropdown-menu dropdown-menu-right\" *dropdownMenu>\n <li role=\"menuitem\">\n <button\n type=\"button\"\n [title]=\"hasRequiredRole ? buttonLabels.edit : buttonLabels.editNoPermission\"\n (click)=\"editSchedule(schedule, i, $event)\"\n [disabled]=\"!hasRequiredRole\"\n >\n <i [c8yIcon]=\"'pencil'\"></i>\n {{ 'Edit' | translate }}\n </button>\n </li>\n <li role=\"menuitem\">\n <button\n type=\"button\"\n [title]=\"\n hasRequiredRole ? buttonLabels.duplicate : buttonLabels.duplicateNoPermission\n \"\n (click)=\"duplicateSchedule(schedule, $event)\"\n [disabled]=\"!hasRequiredRole\"\n >\n <i [c8yIcon]=\"'copy'\"></i>\n {{ 'Duplicate' | translate }}\n </button>\n </li>\n <li role=\"menuitem\">\n <button\n type=\"button\"\n [title]=\"\n hasRequiredRole ? buttonLabels.delete : buttonLabels.deleteNoPermission\n \"\n (click)=\"removeSchedule(schedule, i, $event)\"\n [disabled]=\"!hasRequiredRole\"\n >\n <i [c8yIcon]=\"'delete'\"></i>\n {{ 'Delete' | translate }}\n </button>\n </li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"alert alert-warning max-width-100\" *ngIf=\"!hasRequiredRole\" role=\"alert\" translate>\n You don't have the permission required to schedule exports.\n </div>\n <button\n class=\"btn btn-default m-t-16\"\n type=\"button\"\n title=\"{{ 'Add schedule' | translate }}\"\n (click)=\"addSchedule()\"\n [disabled]=\"!hasRequiredRole\"\n >\n <i [c8yIcon]=\"'plus-circle'\"></i>\n {{ 'Add schedule' | translate }}\n </button>\n</div>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: LoadingComponent, selector: "c8y-loading", inputs: ["layout", "progress", "message"] }, { kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "component", type: EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: BsDropdownDirective, selector: "[bsDropdown], [dropdown]", inputs: ["placement", "triggers", "container", "dropup", "autoClose", "isAnimated", "insideClick", "isDisabled", "isOpen"], outputs: ["isOpenChange", "onShown", "onHidden"], exportAs: ["bs-dropdown"] }, { kind: "directive", type: BsDropdownToggleDirective, selector: "[bsDropdownToggle],[dropdownToggle]", exportAs: ["bs-dropdown-toggle"] }, { kind: "directive", type: BsDropdownMenuDirective, selector: "[bsDropdownMenu],[dropdownMenu]", exportAs: ["bs-dropdown-menu"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: DecimalPipe, name: "number" }] }); }
711
711
  }
712
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ExportSchedulesComponent, decorators: [{
712
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ExportSchedulesComponent, decorators: [{
713
713
  type: Component,
714
714
  args: [{ selector: 'export-schedules', imports: [
715
715
  NgIf,
@@ -737,15 +737,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
737
737
  * @exports CronComponent
738
738
  */
739
739
  class ReportsModule {
740
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ReportsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
741
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: ReportsModule, imports: [CoreModule,
740
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ReportsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
741
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: ReportsModule, imports: [CoreModule,
742
742
  FormsModule$1,
743
743
  BsDropdownModule,
744
744
  TooltipModule,
745
745
  ExportSchedulesComponent,
746
746
  ScheduleModalComponent,
747
747
  CronComponent], exports: [ExportSchedulesComponent, ScheduleModalComponent, CronComponent] }); }
748
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ReportsModule, providers: [ReportsService, CronService], imports: [CoreModule,
748
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ReportsModule, providers: [ReportsService, CronService], imports: [CoreModule,
749
749
  FormsModule$1,
750
750
  BsDropdownModule,
751
751
  TooltipModule,
@@ -753,7 +753,7 @@ class ReportsModule {
753
753
  ScheduleModalComponent,
754
754
  CronComponent] }); }
755
755
  }
756
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ReportsModule, decorators: [{
756
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ReportsModule, decorators: [{
757
757
  type: NgModule,
758
758
  args: [{
759
759
  imports: [