@c8y/ngx-components 1023.76.0 → 1023.78.1

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 (265) hide show
  1. package/alarms/cockpit/index.d.ts.map +1 -1
  2. package/alarms/devicemanagement/index.d.ts.map +1 -1
  3. package/alarms/index.d.ts +2 -25
  4. package/alarms/index.d.ts.map +1 -1
  5. package/asset-properties/index.d.ts +63 -0
  6. package/asset-properties/index.d.ts.map +1 -1
  7. package/assets-navigator/index.d.ts +4 -0
  8. package/assets-navigator/index.d.ts.map +1 -1
  9. package/exports/list/index.d.ts +7 -4
  10. package/exports/list/index.d.ts.map +1 -1
  11. package/fesm2022/c8y-ngx-components-actility-device-registration.mjs +16 -16
  12. package/fesm2022/c8y-ngx-components-advanced-software-management.mjs +7 -7
  13. package/fesm2022/c8y-ngx-components-ai-agent-chat.mjs +12 -12
  14. package/fesm2022/c8y-ngx-components-ai-ai-chat.mjs +21 -21
  15. package/fesm2022/c8y-ngx-components-ai.mjs +3 -3
  16. package/fesm2022/c8y-ngx-components-alarm-event-selector.mjs +40 -40
  17. package/fesm2022/c8y-ngx-components-alarms-cockpit.mjs +15 -10
  18. package/fesm2022/c8y-ngx-components-alarms-cockpit.mjs.map +1 -1
  19. package/fesm2022/c8y-ngx-components-alarms-devicemanagement.mjs +11 -37
  20. package/fesm2022/c8y-ngx-components-alarms-devicemanagement.mjs.map +1 -1
  21. package/fesm2022/c8y-ngx-components-alarms.mjs +91 -132
  22. package/fesm2022/c8y-ngx-components-alarms.mjs.map +1 -1
  23. package/fesm2022/c8y-ngx-components-api.mjs +7 -7
  24. package/fesm2022/c8y-ngx-components-app-logs.mjs +10 -10
  25. package/fesm2022/c8y-ngx-components-application-access-list.mjs +12 -12
  26. package/fesm2022/c8y-ngx-components-application-access-user-application-access-user-details-wrapper.mjs +3 -3
  27. package/fesm2022/c8y-ngx-components-asset-properties.mjs +223 -69
  28. package/fesm2022/c8y-ngx-components-asset-properties.mjs.map +1 -1
  29. package/fesm2022/{c8y-ngx-components-asset-property-grid.component-CEphJoqx.mjs → c8y-ngx-components-asset-property-grid.component-BJOPTjF1.mjs} +13 -13
  30. package/fesm2022/{c8y-ngx-components-asset-property-grid.component-CEphJoqx.mjs.map → c8y-ngx-components-asset-property-grid.component-BJOPTjF1.mjs.map} +1 -1
  31. package/fesm2022/c8y-ngx-components-assets-navigator.mjs +36 -32
  32. package/fesm2022/c8y-ngx-components-assets-navigator.mjs.map +1 -1
  33. package/fesm2022/c8y-ngx-components-auth-configuration.mjs +120 -120
  34. package/fesm2022/c8y-ngx-components-binary-file-download.mjs +7 -7
  35. package/fesm2022/c8y-ngx-components-bookmarks.mjs +13 -13
  36. package/fesm2022/c8y-ngx-components-branding-base-branding.mjs +4 -4
  37. package/fesm2022/c8y-ngx-components-branding-dark-theme.mjs +7 -7
  38. package/fesm2022/c8y-ngx-components-branding-extra-css-branding-editor.mjs +7 -7
  39. package/fesm2022/c8y-ngx-components-branding-plain-branding-editor-lazy.mjs +3 -3
  40. package/fesm2022/c8y-ngx-components-branding-plain-branding-editor.mjs +7 -7
  41. package/fesm2022/c8y-ngx-components-branding-shared-data.mjs +15 -15
  42. package/fesm2022/c8y-ngx-components-branding-shared-lazy-add-branding-modal.mjs +6 -6
  43. package/fesm2022/c8y-ngx-components-branding-shared-lazy.mjs +36 -36
  44. package/fesm2022/c8y-ngx-components-branding-shared.mjs +13 -13
  45. package/fesm2022/c8y-ngx-components-child-devices.mjs +13 -13
  46. package/fesm2022/c8y-ngx-components-cockpit-config.mjs +40 -40
  47. package/fesm2022/{c8y-ngx-components-computed-asset-properties-alarm-count-config.component-DX9Rgjgl.mjs → c8y-ngx-components-computed-asset-properties-alarm-count-config.component-tP8yUdy3.mjs} +4 -4
  48. package/fesm2022/{c8y-ngx-components-computed-asset-properties-alarm-count-config.component-DX9Rgjgl.mjs.map → c8y-ngx-components-computed-asset-properties-alarm-count-config.component-tP8yUdy3.mjs.map} +1 -1
  49. package/fesm2022/{c8y-ngx-components-computed-asset-properties-c8y-ngx-components-computed-asset-properties-CRpLJ5H7.mjs → c8y-ngx-components-computed-asset-properties-c8y-ngx-components-computed-asset-properties-wNQ45CJ1.mjs} +11 -11
  50. package/fesm2022/{c8y-ngx-components-computed-asset-properties-c8y-ngx-components-computed-asset-properties-CRpLJ5H7.mjs.map → c8y-ngx-components-computed-asset-properties-c8y-ngx-components-computed-asset-properties-wNQ45CJ1.mjs.map} +1 -1
  51. package/fesm2022/{c8y-ngx-components-computed-asset-properties-configuration-snapshot-config.component-2rDsrxcs.mjs → c8y-ngx-components-computed-asset-properties-configuration-snapshot-config.component-BrYcCHYL.mjs} +4 -4
  52. package/fesm2022/{c8y-ngx-components-computed-asset-properties-configuration-snapshot-config.component-2rDsrxcs.mjs.map → c8y-ngx-components-computed-asset-properties-configuration-snapshot-config.component-BrYcCHYL.mjs.map} +1 -1
  53. package/fesm2022/{c8y-ngx-components-computed-asset-properties-event-count-config.component-BJNoqWZf.mjs → c8y-ngx-components-computed-asset-properties-event-count-config.component-BBKuA2rZ.mjs} +4 -4
  54. package/fesm2022/{c8y-ngx-components-computed-asset-properties-event-count-config.component-BJNoqWZf.mjs.map → c8y-ngx-components-computed-asset-properties-event-count-config.component-BBKuA2rZ.mjs.map} +1 -1
  55. package/fesm2022/{c8y-ngx-components-computed-asset-properties-fieldbus-item-status-config.component-DYac6foX.mjs → c8y-ngx-components-computed-asset-properties-fieldbus-item-status-config.component-uEdtPWC0.mjs} +5 -5
  56. package/fesm2022/{c8y-ngx-components-computed-asset-properties-fieldbus-item-status-config.component-DYac6foX.mjs.map → c8y-ngx-components-computed-asset-properties-fieldbus-item-status-config.component-uEdtPWC0.mjs.map} +1 -1
  57. package/fesm2022/{c8y-ngx-components-computed-asset-properties-last-measurement-config.component-3yTe6lIr.mjs → c8y-ngx-components-computed-asset-properties-last-measurement-config.component-BGhex-OP.mjs} +5 -5
  58. package/fesm2022/{c8y-ngx-components-computed-asset-properties-last-measurement-config.component-3yTe6lIr.mjs.map → c8y-ngx-components-computed-asset-properties-last-measurement-config.component-BGhex-OP.mjs.map} +1 -1
  59. package/fesm2022/c8y-ngx-components-computed-asset-properties.mjs +1 -1
  60. package/fesm2022/c8y-ngx-components-connectivity.mjs +53 -53
  61. package/fesm2022/c8y-ngx-components-context-dashboard-asset-add.mjs +10 -10
  62. package/fesm2022/c8y-ngx-components-context-dashboard-asset-view.mjs +7 -7
  63. package/fesm2022/c8y-ngx-components-context-dashboard-cockpit-home-dashboard.mjs +11 -11
  64. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-appearance-settings.component-C7yXSDYC.mjs → c8y-ngx-components-context-dashboard-dashboard-appearance-settings.component-BkwPfkeK.mjs} +4 -4
  65. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-appearance-settings.component-C7yXSDYC.mjs.map → c8y-ngx-components-context-dashboard-dashboard-appearance-settings.component-BkwPfkeK.mjs.map} +1 -1
  66. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-general-settings.component-w8N16Z3t.mjs → c8y-ngx-components-context-dashboard-dashboard-general-settings.component-4aO0U4qs.mjs} +10 -10
  67. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-general-settings.component-w8N16Z3t.mjs.map → c8y-ngx-components-context-dashboard-dashboard-general-settings.component-4aO0U4qs.mjs.map} +1 -1
  68. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-version-history.component--1OYYpR2.mjs → c8y-ngx-components-context-dashboard-dashboard-version-history.component-1xx4pGiq.mjs} +4 -4
  69. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-version-history.component--1OYYpR2.mjs.map → c8y-ngx-components-context-dashboard-dashboard-version-history.component-1xx4pGiq.mjs.map} +1 -1
  70. package/fesm2022/c8y-ngx-components-context-dashboard-device-add.mjs +10 -10
  71. package/fesm2022/c8y-ngx-components-context-dashboard-device-view.mjs +7 -7
  72. package/fesm2022/c8y-ngx-components-context-dashboard-devicemanagement.mjs +3 -3
  73. package/fesm2022/c8y-ngx-components-context-dashboard-state.mjs +3 -3
  74. package/fesm2022/c8y-ngx-components-context-dashboard.mjs +108 -108
  75. package/fesm2022/{c8y-ngx-components-dashboard-details-advanced-tab-dashboard-details-advanced-tab.component-DVEnCRzW.mjs → c8y-ngx-components-dashboard-details-advanced-tab-dashboard-details-advanced-tab.component-DFytXNdc.mjs} +16 -16
  76. package/fesm2022/{c8y-ngx-components-dashboard-details-advanced-tab-dashboard-details-advanced-tab.component-DVEnCRzW.mjs.map → c8y-ngx-components-dashboard-details-advanced-tab-dashboard-details-advanced-tab.component-DFytXNdc.mjs.map} +1 -1
  77. package/fesm2022/c8y-ngx-components-dashboard-details-advanced-tab.mjs +12 -12
  78. package/fesm2022/c8y-ngx-components-dashboard-manager-devicemanagement.mjs +6 -6
  79. package/fesm2022/c8y-ngx-components-dashboard-manager.mjs +22 -22
  80. package/fesm2022/c8y-ngx-components-data-broker.mjs +7 -7
  81. package/fesm2022/c8y-ngx-components-data-grid-columns-asset-type.mjs +3 -3
  82. package/fesm2022/c8y-ngx-components-data-grid-columns.mjs +3 -3
  83. package/fesm2022/c8y-ngx-components-datapoint-explorer-view.mjs +24 -24
  84. package/fesm2022/c8y-ngx-components-datapoint-explorer.mjs +13 -13
  85. package/fesm2022/c8y-ngx-components-datapoint-library-details.mjs +3 -3
  86. package/fesm2022/c8y-ngx-components-datapoint-library-list.mjs +3 -3
  87. package/fesm2022/c8y-ngx-components-datapoint-library-services.mjs +3 -3
  88. package/fesm2022/c8y-ngx-components-datapoint-library.mjs +4 -4
  89. package/fesm2022/c8y-ngx-components-datapoint-selector.mjs +43 -43
  90. package/fesm2022/c8y-ngx-components-datapoints-export-selector.mjs +36 -36
  91. package/fesm2022/c8y-ngx-components-default-subscriptions.mjs +16 -16
  92. package/fesm2022/c8y-ngx-components-device-enrolment-modal.mjs +9 -9
  93. package/fesm2022/c8y-ngx-components-device-enrolment.mjs +6 -6
  94. package/fesm2022/c8y-ngx-components-device-grid.mjs +43 -43
  95. package/fesm2022/c8y-ngx-components-device-list.mjs +22 -22
  96. package/fesm2022/c8y-ngx-components-device-map.mjs +12 -12
  97. package/fesm2022/c8y-ngx-components-device-profile.mjs +34 -34
  98. package/fesm2022/c8y-ngx-components-device-protocol-object-mappings.mjs +3 -3
  99. package/fesm2022/c8y-ngx-components-device-protocols.mjs +16 -16
  100. package/fesm2022/c8y-ngx-components-device-provisioned-certificates.mjs +13 -13
  101. package/fesm2022/c8y-ngx-components-device-shell.mjs +31 -31
  102. package/fesm2022/c8y-ngx-components-diagnostics.mjs +13 -13
  103. package/fesm2022/c8y-ngx-components-echart.mjs +32 -32
  104. package/fesm2022/c8y-ngx-components-echart.mjs.map +1 -1
  105. package/fesm2022/c8y-ngx-components-ecosystem-application-plugins.mjs +43 -43
  106. package/fesm2022/c8y-ngx-components-ecosystem-archived-confirm.mjs +7 -7
  107. package/fesm2022/c8y-ngx-components-ecosystem-license-confirm.mjs +10 -10
  108. package/fesm2022/c8y-ngx-components-ecosystem-plugin-setup-stepper.mjs +7 -7
  109. package/fesm2022/c8y-ngx-components-ecosystem-shared.mjs +46 -46
  110. package/fesm2022/c8y-ngx-components-ecosystem.mjs +82 -82
  111. package/fesm2022/c8y-ngx-components-editor.mjs +6 -6
  112. package/fesm2022/c8y-ngx-components-events-events-timeline.mjs +3 -3
  113. package/fesm2022/c8y-ngx-components-events.mjs +33 -33
  114. package/fesm2022/c8y-ngx-components-exports-list.mjs +39 -14
  115. package/fesm2022/c8y-ngx-components-exports-list.mjs.map +1 -1
  116. package/fesm2022/c8y-ngx-components-feature-toggles-list.mjs +6 -6
  117. package/fesm2022/c8y-ngx-components-file-preview.mjs +7 -7
  118. package/fesm2022/c8y-ngx-components-files-repository.mjs +19 -19
  119. package/fesm2022/c8y-ngx-components-global-context.mjs +170 -130
  120. package/fesm2022/c8y-ngx-components-global-context.mjs.map +1 -1
  121. package/fesm2022/c8y-ngx-components-group-breadcrumbs.mjs +6 -6
  122. package/fesm2022/c8y-ngx-components-icon-selector.mjs +19 -19
  123. package/fesm2022/c8y-ngx-components-interval-picker.mjs +3 -3
  124. package/fesm2022/c8y-ngx-components-location.mjs +28 -28
  125. package/fesm2022/c8y-ngx-components-loriot-device-registration.mjs +16 -16
  126. package/fesm2022/c8y-ngx-components-map.mjs +39 -51
  127. package/fesm2022/c8y-ngx-components-map.mjs.map +1 -1
  128. package/fesm2022/c8y-ngx-components-messaging-management.mjs +55 -55
  129. package/fesm2022/c8y-ngx-components-operation-picker.mjs +9 -9
  130. package/fesm2022/c8y-ngx-components-operations-bulk-operation-from-single.mjs +7 -7
  131. package/fesm2022/c8y-ngx-components-operations-bulk-operation-list-item.mjs +19 -19
  132. package/fesm2022/c8y-ngx-components-operations-bulk-operation-scheduler.mjs +7 -7
  133. package/fesm2022/c8y-ngx-components-operations-bulk-operation-stepper.mjs +13 -13
  134. package/fesm2022/c8y-ngx-components-operations-bulk-operations-list.mjs +13 -13
  135. package/fesm2022/c8y-ngx-components-operations-bulk-operations-service.mjs +7 -7
  136. package/fesm2022/c8y-ngx-components-operations-bulk-operations-stepper-container.mjs +7 -7
  137. package/fesm2022/c8y-ngx-components-operations-bulk-single-operations-list.mjs +3 -3
  138. package/fesm2022/c8y-ngx-components-operations-create-bulk-operation-details.mjs +7 -7
  139. package/fesm2022/c8y-ngx-components-operations-device-selector.mjs +7 -7
  140. package/fesm2022/c8y-ngx-components-operations-grid-columns.mjs +12 -12
  141. package/fesm2022/c8y-ngx-components-operations-operation-details.mjs +13 -13
  142. package/fesm2022/c8y-ngx-components-operations-operation-summary.mjs +7 -7
  143. package/fesm2022/c8y-ngx-components-operations-operations-list-item-details.mjs +10 -10
  144. package/fesm2022/c8y-ngx-components-operations-operations-list.mjs +12 -12
  145. package/fesm2022/c8y-ngx-components-operations-operations-timeline.mjs +7 -7
  146. package/fesm2022/c8y-ngx-components-operations-shared.mjs +10 -10
  147. package/fesm2022/c8y-ngx-components-operations-status-filter.mjs +7 -7
  148. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs +7 -7
  149. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs +13 -13
  150. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-firmware.mjs +13 -13
  151. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-software.mjs +13 -13
  152. package/fesm2022/c8y-ngx-components-operations-stepper-frames.mjs +13 -13
  153. package/fesm2022/c8y-ngx-components-operations.mjs +7 -7
  154. package/fesm2022/c8y-ngx-components-pending-mo-request.mjs +7 -7
  155. package/fesm2022/c8y-ngx-components-platform-configuration.mjs +10 -10
  156. package/fesm2022/c8y-ngx-components-protocol-lpwan.mjs +38 -38
  157. package/fesm2022/c8y-ngx-components-protocol-opcua.mjs +58 -58
  158. package/fesm2022/c8y-ngx-components-register-device.mjs +58 -58
  159. package/fesm2022/c8y-ngx-components-remote-access-configurations.mjs +9 -9
  160. package/fesm2022/c8y-ngx-components-remote-access-data.mjs +3 -3
  161. package/fesm2022/c8y-ngx-components-remote-access-passthrough.mjs +3 -3
  162. package/fesm2022/c8y-ngx-components-remote-access-shared.mjs +6 -6
  163. package/fesm2022/c8y-ngx-components-remote-access-ssh-remote-access-ssh-endpoint-modal.mjs +3 -3
  164. package/fesm2022/c8y-ngx-components-remote-access-ssh.mjs +3 -3
  165. package/fesm2022/c8y-ngx-components-remote-access-telnet.mjs +3 -3
  166. package/fesm2022/c8y-ngx-components-remote-access-terminal-viewer.mjs +3 -3
  167. package/fesm2022/c8y-ngx-components-remote-access-vnc-remote-access-vnc-endpoint-modal.mjs +3 -3
  168. package/fesm2022/c8y-ngx-components-remote-access-vnc-vnc-viewer.mjs +6 -6
  169. package/fesm2022/c8y-ngx-components-remote-access-vnc.mjs +3 -3
  170. package/fesm2022/c8y-ngx-components-replace-device-replace-device-wizard.mjs +6 -6
  171. package/fesm2022/c8y-ngx-components-replace-device.mjs +10 -10
  172. package/fesm2022/c8y-ngx-components-report-dashboard.mjs +16 -16
  173. package/fesm2022/c8y-ngx-components-reports.mjs +19 -19
  174. package/fesm2022/c8y-ngx-components-repository-configuration.mjs +48 -48
  175. package/fesm2022/c8y-ngx-components-repository-firmware.mjs +33 -33
  176. package/fesm2022/c8y-ngx-components-repository-shared.mjs +34 -34
  177. package/fesm2022/c8y-ngx-components-repository-software.mjs +42 -42
  178. package/fesm2022/c8y-ngx-components-repository.mjs +4 -4
  179. package/fesm2022/c8y-ngx-components-search.mjs +19 -19
  180. package/fesm2022/c8y-ngx-components-sensor-phone-sensor-phone-modal.mjs +6 -6
  181. package/fesm2022/c8y-ngx-components-sensor-phone.mjs +7 -7
  182. package/fesm2022/c8y-ngx-components-services-service-command-tab.mjs +3 -3
  183. package/fesm2022/c8y-ngx-components-services-shared.mjs +3 -3
  184. package/fesm2022/c8y-ngx-components-services.mjs +29 -29
  185. package/fesm2022/c8y-ngx-components-sigfox-device-registration.mjs +16 -16
  186. package/fesm2022/c8y-ngx-components-sms-gateway.mjs +7 -7
  187. package/fesm2022/c8y-ngx-components-static-assets-data.mjs +3 -3
  188. package/fesm2022/c8y-ngx-components-static-assets-modal.mjs +9 -9
  189. package/fesm2022/c8y-ngx-components-static-assets.mjs +6 -6
  190. package/fesm2022/c8y-ngx-components-sub-assets.mjs +64 -60
  191. package/fesm2022/c8y-ngx-components-sub-assets.mjs.map +1 -1
  192. package/fesm2022/c8y-ngx-components-tenants.mjs +40 -40
  193. package/fesm2022/c8y-ngx-components-time-context.mjs +6 -6
  194. package/fesm2022/c8y-ngx-components-tracking.mjs +12 -12
  195. package/fesm2022/c8y-ngx-components-translation-editor-data.mjs +3 -3
  196. package/fesm2022/c8y-ngx-components-translation-editor-lazy.mjs +12 -12
  197. package/fesm2022/c8y-ngx-components-translation-editor.mjs +6 -6
  198. package/fesm2022/c8y-ngx-components-trusted-certificates.mjs +33 -33
  199. package/fesm2022/c8y-ngx-components-upgrade-upgraded-services.mjs +4 -4
  200. package/fesm2022/c8y-ngx-components-upgrade.mjs +41 -41
  201. package/fesm2022/c8y-ngx-components-user-roles.mjs +10 -10
  202. package/fesm2022/c8y-ngx-components-widgets-definitions-asset-table.mjs +6 -6
  203. package/fesm2022/c8y-ngx-components-widgets-definitions-datapoints-graph.mjs +3 -3
  204. package/fesm2022/c8y-ngx-components-widgets-definitions-datapoints-table.mjs +3 -5
  205. package/fesm2022/c8y-ngx-components-widgets-definitions-datapoints-table.mjs.map +1 -1
  206. package/fesm2022/c8y-ngx-components-widgets-definitions-html-widget-ai-config.mjs +3 -3
  207. package/fesm2022/c8y-ngx-components-widgets-definitions-html-widget.mjs +6 -6
  208. package/fesm2022/c8y-ngx-components-widgets-implementations-alarms.mjs +27 -24
  209. package/fesm2022/c8y-ngx-components-widgets-implementations-alarms.mjs.map +1 -1
  210. package/fesm2022/c8y-ngx-components-widgets-implementations-asset-notes.mjs +3 -3
  211. package/fesm2022/c8y-ngx-components-widgets-implementations-asset-table.mjs +111 -40
  212. package/fesm2022/c8y-ngx-components-widgets-implementations-asset-table.mjs.map +1 -1
  213. package/fesm2022/c8y-ngx-components-widgets-implementations-cockpit-legacy-welcome.mjs +3 -3
  214. package/fesm2022/c8y-ngx-components-widgets-implementations-cockpit-welcome.mjs +3 -3
  215. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-graph.mjs +13 -11
  216. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-graph.mjs.map +1 -1
  217. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-list.mjs +13 -13
  218. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-list.mjs.map +1 -1
  219. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-table.mjs +75 -60
  220. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-table.mjs.map +1 -1
  221. package/fesm2022/c8y-ngx-components-widgets-implementations-device-control-message.mjs +3 -3
  222. package/fesm2022/c8y-ngx-components-widgets-implementations-device-management-welcome.mjs +10 -10
  223. package/fesm2022/c8y-ngx-components-widgets-implementations-events.mjs +6 -6
  224. package/fesm2022/c8y-ngx-components-widgets-implementations-help-and-service-widget.mjs +3 -3
  225. package/fesm2022/c8y-ngx-components-widgets-implementations-html-widget.mjs +24 -24
  226. package/fesm2022/c8y-ngx-components-widgets-implementations-image.mjs +9 -9
  227. package/fesm2022/c8y-ngx-components-widgets-implementations-info-gauge.mjs +18 -18
  228. package/fesm2022/c8y-ngx-components-widgets-implementations-kpi.mjs +6 -6
  229. package/fesm2022/c8y-ngx-components-widgets-implementations-linear-gauge.mjs +6 -6
  230. package/fesm2022/c8y-ngx-components-widgets-implementations-map.mjs +9 -9
  231. package/fesm2022/c8y-ngx-components-widgets-implementations-markdown.mjs +9 -9
  232. package/fesm2022/c8y-ngx-components-widgets-implementations-pie-chart.mjs +9 -9
  233. package/fesm2022/c8y-ngx-components-widgets-implementations-quick-links.mjs +18 -18
  234. package/fesm2022/c8y-ngx-components-widgets-implementations-three-d-rotation.mjs +9 -9
  235. package/fesm2022/c8y-ngx-components.mjs +1398 -1398
  236. package/global-context/index.d.ts +2 -0
  237. package/global-context/index.d.ts.map +1 -1
  238. package/index.d.ts +2 -0
  239. package/index.d.ts.map +1 -1
  240. package/locales/de.po +0 -6
  241. package/locales/es.po +0 -6
  242. package/locales/fr.po +0 -6
  243. package/locales/ja_JP.po +0 -6
  244. package/locales/ko.po +0 -6
  245. package/locales/locales.pot +3 -6
  246. package/locales/nl.po +0 -6
  247. package/locales/pl.po +0 -6
  248. package/locales/pt_BR.po +0 -6
  249. package/locales/zh_CN.po +0 -6
  250. package/locales/zh_TW.po +0 -6
  251. package/map/index.d.ts +12 -1
  252. package/map/index.d.ts.map +1 -1
  253. package/package.json +1 -1
  254. package/sub-assets/index.d.ts +4 -0
  255. package/sub-assets/index.d.ts.map +1 -1
  256. package/widgets/definitions/datapoints-table/index.d.ts +1 -2
  257. package/widgets/definitions/datapoints-table/index.d.ts.map +1 -1
  258. package/widgets/implementations/alarms/index.d.ts +2 -0
  259. package/widgets/implementations/alarms/index.d.ts.map +1 -1
  260. package/widgets/implementations/datapoints-graph/index.d.ts +1 -0
  261. package/widgets/implementations/datapoints-graph/index.d.ts.map +1 -1
  262. package/widgets/implementations/datapoints-table/index.d.ts +16 -8
  263. package/widgets/implementations/datapoints-table/index.d.ts.map +1 -1
  264. package/widgets/implementations/html-widget/index.d.ts +2 -0
  265. package/widgets/implementations/html-widget/index.d.ts.map +1 -1
@@ -842,10 +842,10 @@ class GlobalContextService {
842
842
  prev.showRefresh === curr.showRefresh &&
843
843
  prev.showRefreshInterval === curr.showRefreshInterval);
844
844
  }
845
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: GlobalContextService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
846
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: GlobalContextService, providedIn: 'root' }); }
845
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: GlobalContextService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
846
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: GlobalContextService, providedIn: 'root' }); }
847
847
  }
848
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: GlobalContextService, decorators: [{
848
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: GlobalContextService, decorators: [{
849
849
  type: Injectable,
850
850
  args: [{
851
851
  providedIn: 'root'
@@ -933,10 +933,10 @@ class GlobalContextFormService {
933
933
  }
934
934
  return mergedBasicValues;
935
935
  }
936
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: GlobalContextFormService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
937
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: GlobalContextFormService, providedIn: 'root' }); }
936
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: GlobalContextFormService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
937
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: GlobalContextFormService, providedIn: 'root' }); }
938
938
  }
939
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: GlobalContextFormService, decorators: [{
939
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: GlobalContextFormService, decorators: [{
940
940
  type: Injectable,
941
941
  args: [{
942
942
  providedIn: 'root'
@@ -1211,10 +1211,10 @@ class GlobalContextEventService {
1211
1211
  }
1212
1212
  }
1213
1213
  }
1214
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: GlobalContextEventService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1215
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: GlobalContextEventService, providedIn: 'root' }); }
1214
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: GlobalContextEventService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1215
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: GlobalContextEventService, providedIn: 'root' }); }
1216
1216
  }
1217
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: GlobalContextEventService, decorators: [{
1217
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: GlobalContextEventService, decorators: [{
1218
1218
  type: Injectable,
1219
1219
  args: [{
1220
1220
  providedIn: 'root'
@@ -1425,10 +1425,10 @@ class WidgetControlService {
1425
1425
  }
1426
1426
  return { newSettings: inlineSettings, dashboardSettings };
1427
1427
  }
1428
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: WidgetControlService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1429
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: WidgetControlService, providedIn: 'root' }); }
1428
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: WidgetControlService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1429
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: WidgetControlService, providedIn: 'root' }); }
1430
1430
  }
1431
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: WidgetControlService, decorators: [{
1431
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: WidgetControlService, decorators: [{
1432
1432
  type: Injectable,
1433
1433
  args: [{ providedIn: 'root' }]
1434
1434
  }] });
@@ -1502,10 +1502,10 @@ class DateTimeContextPickerService {
1502
1502
  // Check if aggregation is one of the valid enum values
1503
1503
  return Object.values(aggregationType).includes(aggregation);
1504
1504
  }
1505
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DateTimeContextPickerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1506
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DateTimeContextPickerService, providedIn: 'root' }); }
1505
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: DateTimeContextPickerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1506
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: DateTimeContextPickerService, providedIn: 'root' }); }
1507
1507
  }
1508
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DateTimeContextPickerService, decorators: [{
1508
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: DateTimeContextPickerService, decorators: [{
1509
1509
  type: Injectable,
1510
1510
  args: [{ providedIn: 'root' }]
1511
1511
  }] });
@@ -2195,10 +2195,10 @@ class WidgetConfigMigrationService {
2195
2195
  ];
2196
2196
  return Object.fromEntries(relevantKeys.filter(key => obj[key] !== undefined).map(key => [key, obj[key]]));
2197
2197
  }
2198
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: WidgetConfigMigrationService, deps: [{ token: DateTimeContextPickerService }], target: i0.ɵɵFactoryTarget.Injectable }); }
2199
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: WidgetConfigMigrationService, providedIn: 'root' }); }
2198
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: WidgetConfigMigrationService, deps: [{ token: DateTimeContextPickerService }], target: i0.ɵɵFactoryTarget.Injectable }); }
2199
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: WidgetConfigMigrationService, providedIn: 'root' }); }
2200
2200
  }
2201
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: WidgetConfigMigrationService, decorators: [{
2201
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: WidgetConfigMigrationService, decorators: [{
2202
2202
  type: Injectable,
2203
2203
  args: [{
2204
2204
  providedIn: 'root'
@@ -2323,10 +2323,10 @@ class GlobalContextValidationService {
2323
2323
  autoRefresh: params.autoRefresh ? this.parseBoolean(params.autoRefresh) : undefined
2324
2324
  };
2325
2325
  }
2326
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: GlobalContextValidationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2327
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: GlobalContextValidationService, providedIn: 'root' }); }
2326
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: GlobalContextValidationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2327
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: GlobalContextValidationService, providedIn: 'root' }); }
2328
2328
  }
2329
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: GlobalContextValidationService, decorators: [{
2329
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: GlobalContextValidationService, decorators: [{
2330
2330
  type: Injectable,
2331
2331
  args: [{ providedIn: 'root' }]
2332
2332
  }] });
@@ -2505,10 +2505,10 @@ class AggregationValidationService {
2505
2505
  [aggregationType]: isDisabled
2506
2506
  }), {});
2507
2507
  }
2508
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: AggregationValidationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2509
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: AggregationValidationService, providedIn: 'root' }); }
2508
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AggregationValidationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2509
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AggregationValidationService, providedIn: 'root' }); }
2510
2510
  }
2511
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: AggregationValidationService, decorators: [{
2511
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AggregationValidationService, decorators: [{
2512
2512
  type: Injectable,
2513
2513
  args: [{
2514
2514
  providedIn: 'root'
@@ -2669,10 +2669,10 @@ class AggregationPickerService {
2669
2669
  }
2670
2670
  return null;
2671
2671
  }
2672
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: AggregationPickerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2673
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: AggregationPickerService, providedIn: 'root' }); }
2672
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AggregationPickerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2673
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AggregationPickerService, providedIn: 'root' }); }
2674
2674
  }
2675
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: AggregationPickerService, decorators: [{
2675
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AggregationPickerService, decorators: [{
2676
2676
  type: Injectable,
2677
2677
  args: [{
2678
2678
  providedIn: 'root'
@@ -2772,10 +2772,10 @@ class GlobalContextUtilsService {
2772
2772
  // For primitive values (or if types differ), return the new value
2773
2773
  return newVal;
2774
2774
  }
2775
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: GlobalContextUtilsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2776
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: GlobalContextUtilsService, providedIn: 'root' }); }
2775
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: GlobalContextUtilsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2776
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: GlobalContextUtilsService, providedIn: 'root' }); }
2777
2777
  }
2778
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: GlobalContextUtilsService, decorators: [{
2778
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: GlobalContextUtilsService, decorators: [{
2779
2779
  type: Injectable,
2780
2780
  args: [{
2781
2781
  providedIn: 'root'
@@ -2866,8 +2866,8 @@ class AggregationPickerComponent {
2866
2866
  this.onChange(null);
2867
2867
  }
2868
2868
  }
2869
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: AggregationPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2870
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: AggregationPickerComponent, isStandalone: true, selector: "c8y-aggregation-picker", inputs: { disabledAggregations: { classPropertyName: "disabledAggregations", publicName: "disabledAggregations", isSignal: true, isRequired: false, transformFunction: null }, resetToDefault: { classPropertyName: "resetToDefault", publicName: "resetToDefault", isSignal: true, isRequired: false, transformFunction: null }, layout: { classPropertyName: "layout", publicName: "layout", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
2869
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AggregationPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2870
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: AggregationPickerComponent, isStandalone: true, selector: "c8y-aggregation-picker", inputs: { disabledAggregations: { classPropertyName: "disabledAggregations", publicName: "disabledAggregations", isSignal: true, isRequired: false, transformFunction: null }, resetToDefault: { classPropertyName: "resetToDefault", publicName: "resetToDefault", isSignal: true, isRequired: false, transformFunction: null }, layout: { classPropertyName: "layout", publicName: "layout", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
2871
2871
  {
2872
2872
  provide: NG_VALUE_ACCESSOR,
2873
2873
  useExisting: forwardRef(() => AggregationPickerComponent),
@@ -2875,7 +2875,7 @@ class AggregationPickerComponent {
2875
2875
  }
2876
2876
  ], ngImport: i0, template: "@if (layout() === 'dropdown') {\n <div\n class=\"dropdown\"\n style=\"border: 0; margin-left: -1px\"\n container=\"body\"\n #dropdown=\"bs-dropdown\"\n dropdown\n [attr.data-cy]=\"'global-context--aggregation-picker'\"\n [insideClick]=\"true\"\n [isDisabled]=\"disabled()\"\n >\n <button\n class=\"dropdown-toggle form-control p-t-0 p-b-0 l-h-1 d-flex a-i-center\"\n [attr.aria-label]=\"currentText() | translate\"\n tooltip=\"{{ (disabled() ? AGGREGATION_TEXTS.disabled : currentText()) | translate }}\"\n placement=\"top\"\n container=\"body\"\n [attr.aria-haspopup]=\"'listbox'\"\n [attr.aria-expanded]=\"dropdown.isOpen\"\n type=\"button\"\n [attr.data-cy]=\"'global-context--aggregation-picker-' + value()\"\n [adaptivePosition]=\"false\"\n [delay]=\"500\"\n dropdownToggle\n >\n <i\n class=\"icon-14\"\n [c8yIcon]=\"currentIcon()\"\n ></i>\n <span class=\"caret m-r-8 m-l-4\"></span>\n </button>\n\n <ul\n class=\"dropdown-menu dropdown-menu-right--xs\"\n role=\"listbox\"\n *dropdownMenu\n >\n @for (aggregation of AGGREGATIONS; track aggregation.id || $index) {\n @let isDisabled = aggregation.id ? disabledAggregations()[aggregation.id] : false;\n <li\n [class.active]=\"aggregation.id === value()\"\n [class.disabled]=\"isDisabled\"\n >\n <button\n class=\"\"\n [attr.aria-selected]=\"aggregation.id === value()\"\n role=\"option\"\n (click)=\"selectAggregation(aggregation.id); dropdown.isOpen = false\"\n [disabled]=\"isDisabled\"\n [attr.data-cy]=\"'global-context--aggregation-picker-input-' + aggregation.id\"\n >\n <i\n class=\"icon-14\"\n [c8yIcon]=\"\n aggregation.id ? AGGREGATION_ICONS[aggregation.id] : AGGREGATION_ICONS.undefined\n \"\n ></i>\n <span>{{ aggregation.title | translate }}</span>\n </button>\n </li>\n }\n </ul>\n </div>\n}\n\n@if (layout() === 'radio') {\n <div\n class=\"radio-group d-flex-md a-i-center gap-16\"\n [attr.aria-label]=\"'Aggregation options' | translate\"\n role=\"radiogroup\"\n >\n @for (aggregation of AGGREGATIONS; track aggregation.id || $index) {\n @let isDisabled = aggregation.id ? disabledAggregations()[aggregation.id] : false;\n <label\n class=\"c8y-radio\"\n [attr.data-cy]=\"'global-context--aggregation-picker-input-' + aggregation.id\"\n >\n <input\n name=\"aggregation\"\n role=\"radio\"\n type=\"radio\"\n [value]=\"aggregation.id\"\n [checked]=\"aggregation.id === value()\"\n [disabled]=\"isDisabled\"\n (change)=\"selectAggregation(aggregation.id)\"\n />\n <span></span>\n <i\n class=\"icon-16 m-l-4\"\n [c8yIcon]=\"\n aggregation.id ? AGGREGATION_ICONS[aggregation.id] : AGGREGATION_ICONS.undefined\n \"\n ></i>\n <span>{{ aggregation.title | translate }}</span>\n </label>\n }\n </div>\n}\n", dependencies: [{ kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i2.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: BsDropdownModule }, { kind: "directive", type: i2$1.BsDropdownMenuDirective, selector: "[bsDropdownMenu],[dropdownMenu]", exportAs: ["bs-dropdown-menu"] }, { kind: "directive", type: i2$1.BsDropdownToggleDirective, selector: "[bsDropdownToggle],[dropdownToggle]", exportAs: ["bs-dropdown-toggle"] }, { kind: "directive", type: i2$1.BsDropdownDirective, selector: "[bsDropdown], [dropdown]", inputs: ["placement", "triggers", "container", "dropup", "autoClose", "isAnimated", "insideClick", "isDisabled", "isOpen"], outputs: ["isOpenChange", "onShown", "onHidden"], exportAs: ["bs-dropdown"] }, { kind: "ngmodule", type: I18nModule }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "ngmodule", type: FormsModule }, { kind: "pipe", type: i4.C8yTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2877
2877
  }
2878
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: AggregationPickerComponent, decorators: [{
2878
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AggregationPickerComponent, decorators: [{
2879
2879
  type: Component,
2880
2880
  args: [{ selector: 'c8y-aggregation-picker', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
2881
2881
  {
@@ -3101,10 +3101,10 @@ class HistoryModeConfigurationControlsComponent {
3101
3101
  return null;
3102
3102
  };
3103
3103
  }
3104
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: HistoryModeConfigurationControlsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3105
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: HistoryModeConfigurationControlsComponent, isStandalone: true, selector: "c8y-history-mode-configuration-controls", inputs: { settings: "settings", context: "context" }, outputs: { contextChange: "contextChange", validationStatus: "validationStatus" }, ngImport: i0, template: "@if (currentForm) {\n @let SHOW_TIME_CONTEXT = settings.showTimeContext;\n @let SHOW_AGGREGATION = settings.showAggregation;\n\n <form [formGroup]=\"currentForm\">\n <div class=\"content-flex-100\">\n <div\n class=\"col-4\"\n [ngClass]=\"{ 'm-b-8': !SHOW_AGGREGATION }\"\n >\n @if (SHOW_TIME_CONTEXT) {\n @let dateTimeContext = currentForm.get('dateTimeContext');\n @let tempDateFromValue = dateTimeContext.get('dateFrom')?.value;\n @let tempDateToValue = dateTimeContext.get('dateTo')?.value;\n @let fromErrors = dateFromErrors();\n @let toErrors = dateToErrors();\n\n <fieldset class=\"c8y-fieldset\">\n <legend>\n <div class=\"standalone btn-icon-dot__item time-context m-r-4\">\n <i\n class=\"\"\n [c8yIcon]=\"'calendar'\"\n ></i>\n </div>\n {{ 'Date & time range' | translate }}\n <button\n class=\"btn-help btn-help--sm\"\n [attr.aria-label]=\"'Help' | translate\"\n [popover]=\"TIME_RANGE_PICKER_POPOVER | translate\"\n placement=\"top\"\n triggers=\"focus\"\n container=\"body\"\n type=\"button\"\n [adaptivePosition]=\"true\"\n ></button>\n </legend>\n <c8y-form-group class=\"content-flex-58 d-flex a-i-center m-b-0 p-t-16\">\n <c8y-form-group\n [class.has-error]=\"fromErrors\"\n class=\"form-group-sm d-flex a-i-center col-5 flex-wrap\"\n >\n <label\n class=\"m-b-sm-0 m-r-8 text-nowrap\"\n style=\"min-width: 30px\"\n [title]=\"'From`date`' | translate\"\n for=\"dateFrom\"\n translate\n >\n From`date`\n </label>\n <c8y-date-time-picker\n [class.has-error]=\"fromErrors\"\n id=\"dateFrom\"\n [maxDate]=\"tempDateToValue\"\n [placeholder]=\"'From`date`' | translate\"\n [formControl]=\"dateTimeContext.get('dateFrom')\"\n ></c8y-date-time-picker>\n <c8y-messages [show]=\"fromErrors\">\n <c8y-message\n name=\"dateAfterRangeMax\"\n [text]=\"errorMessages.dateAfterRangeMax | translate\"\n ></c8y-message>\n <c8y-message\n name=\"invalidDateTime\"\n [text]=\"errorMessages.invalidDateTime | translate\"\n ></c8y-message>\n <c8y-message\n name=\"invalidDateRange\"\n [text]=\"errorMessages.invalidDateRange | translate\"\n ></c8y-message>\n </c8y-messages>\n </c8y-form-group>\n\n <c8y-form-group\n [class.has-error]=\"toErrors\"\n class=\"form-group-sm d-flex flex-wrap col-7 a-i-center\"\n >\n <label\n class=\"m-b-sm-0 text-nowrap m-r-8\"\n style=\"min-width: 30px\"\n [title]=\"'To`date`' | translate\"\n for=\"dateTo\"\n translate\n >\n To`date`\n </label>\n <c8y-date-time-picker\n [class.has-error]=\"toErrors\"\n id=\"dateTo\"\n [minDate]=\"tempDateFromValue\"\n [placeholder]=\"'To`date`' | translate\"\n [formControl]=\"dateTimeContext.get('dateTo')\"\n ></c8y-date-time-picker>\n <button\n class=\"btn btn-xs btn-default m-l-4\"\n [title]=\"'Set to current time' | translate\"\n type=\"button\"\n (click)=\"setDateToNow()\"\n >\n <i\n class=\"m-r-4\"\n [c8yIcon]=\"'clock-o'\"\n ></i>\n {{ 'Now' | translate }}\n </button>\n <c8y-messages [show]=\"toErrors\">\n <c8y-message\n name=\"dateBeforeRangeMin\"\n [text]=\"errorMessages.dateBeforeRangeMin | translate\"\n ></c8y-message>\n <c8y-message\n name=\"invalidDateTime\"\n [text]=\"errorMessages.invalidDateTime | translate\"\n ></c8y-message>\n </c8y-messages>\n </c8y-form-group>\n </c8y-form-group>\n </fieldset>\n }\n </div>\n <div class=\"col-\">\n @if (SHOW_AGGREGATION) {\n @let selectedAggregation = currentForm.get('aggregation')?.value;\n\n <fieldset class=\"c8y-fieldset\">\n <legend>\n <div class=\"standalone btn-icon-dot__item aggregation m-r-4\">\n <i [c8yIcon]=\"'input'\"></i>\n </div>\n {{ 'Aggregation' | translate }}\n <button\n class=\"btn-help btn-help--sm\"\n [attr.aria-label]=\"'Help' | translate\"\n [popover]=\"AGGREGATION_POPOVER | translate\"\n placement=\"top\"\n triggers=\"focus\"\n container=\"body\"\n type=\"button\"\n [adaptivePosition]=\"true\"\n ></button>\n </legend>\n <c8y-form-group class=\"p-t-16 p-b-16 m-b-4\">\n <c8y-aggregation-picker\n formControlName=\"aggregation\"\n [resetToDefault]=\"true\"\n [disabledAggregations]=\"disabledAggregations()\"\n [layout]=\"'radio'\"\n ></c8y-aggregation-picker>\n </c8y-form-group>\n </fieldset>\n }\n </div>\n </div>\n </form>\n}\n", dependencies: [{ kind: "ngmodule", type: I18nModule }, { kind: "directive", type: i4.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "ngmodule", type: TooltipModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: PopoverModule }, { kind: "directive", type: i2$2.PopoverDirective, selector: "[popover]", inputs: ["adaptivePosition", "boundariesElement", "popover", "popoverContext", "popoverTitle", "placement", "outsideClick", "triggers", "container", "containerClass", "isOpen", "delay"], outputs: ["onShown", "onHidden"], exportAs: ["bs-popover"] }, { kind: "component", type: FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "component", type: AggregationPickerComponent, selector: "c8y-aggregation-picker", inputs: ["disabledAggregations", "resetToDefault", "layout"] }, { kind: "component", type: MessagesComponent, selector: "c8y-messages", inputs: ["show", "defaults", "helpMessage", "additionalMessages"] }, { kind: "directive", type: MessageDirective, selector: "c8y-message", inputs: ["name", "text"] }, { kind: "ngmodule", type: DateTimePickerModule }, { kind: "component", type: i4.DateTimePickerComponent, selector: "c8y-date-time-picker", inputs: ["minDate", "maxDate", "placeholder", "dateInputFormat", "adaptivePosition", "size", "dateType", "config"], outputs: ["onDateSelected"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3104
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: HistoryModeConfigurationControlsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3105
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: HistoryModeConfigurationControlsComponent, isStandalone: true, selector: "c8y-history-mode-configuration-controls", inputs: { settings: "settings", context: "context" }, outputs: { contextChange: "contextChange", validationStatus: "validationStatus" }, ngImport: i0, template: "@if (currentForm) {\n @let SHOW_TIME_CONTEXT = settings.showTimeContext;\n @let SHOW_AGGREGATION = settings.showAggregation;\n\n <form [formGroup]=\"currentForm\">\n <div class=\"content-flex-100\">\n <div\n class=\"col-4\"\n [ngClass]=\"{ 'm-b-8': !SHOW_AGGREGATION }\"\n >\n @if (SHOW_TIME_CONTEXT) {\n @let dateTimeContext = currentForm.get('dateTimeContext');\n @let tempDateFromValue = dateTimeContext.get('dateFrom')?.value;\n @let tempDateToValue = dateTimeContext.get('dateTo')?.value;\n @let fromErrors = dateFromErrors();\n @let toErrors = dateToErrors();\n\n <fieldset class=\"c8y-fieldset\">\n <legend>\n <div class=\"standalone btn-icon-dot__item time-context m-r-4\">\n <i\n class=\"\"\n [c8yIcon]=\"'calendar'\"\n ></i>\n </div>\n {{ 'Date & time range' | translate }}\n <button\n class=\"btn-help btn-help--sm\"\n [attr.aria-label]=\"'Help' | translate\"\n [popover]=\"TIME_RANGE_PICKER_POPOVER | translate\"\n placement=\"top\"\n triggers=\"focus\"\n container=\"body\"\n type=\"button\"\n [adaptivePosition]=\"true\"\n ></button>\n </legend>\n <c8y-form-group class=\"content-flex-58 d-flex a-i-center m-b-0 p-t-16\">\n <c8y-form-group\n [class.has-error]=\"fromErrors\"\n class=\"form-group-sm d-flex a-i-center col-5 flex-wrap\"\n >\n <label\n class=\"m-b-sm-0 m-r-8 text-nowrap\"\n style=\"min-width: 30px\"\n [title]=\"'From`date`' | translate\"\n for=\"dateFrom\"\n translate\n >\n From`date`\n </label>\n <c8y-date-time-picker\n [class.has-error]=\"fromErrors\"\n id=\"dateFrom\"\n [maxDate]=\"tempDateToValue\"\n [placeholder]=\"'From`date`' | translate\"\n [formControl]=\"dateTimeContext.get('dateFrom')\"\n ></c8y-date-time-picker>\n <c8y-messages [show]=\"fromErrors\">\n <c8y-message\n name=\"dateAfterRangeMax\"\n [text]=\"errorMessages.dateAfterRangeMax | translate\"\n ></c8y-message>\n <c8y-message\n name=\"invalidDateTime\"\n [text]=\"errorMessages.invalidDateTime | translate\"\n ></c8y-message>\n <c8y-message\n name=\"invalidDateRange\"\n [text]=\"errorMessages.invalidDateRange | translate\"\n ></c8y-message>\n </c8y-messages>\n </c8y-form-group>\n\n <c8y-form-group\n [class.has-error]=\"toErrors\"\n class=\"form-group-sm d-flex flex-wrap col-7 a-i-center\"\n >\n <label\n class=\"m-b-sm-0 text-nowrap m-r-8\"\n style=\"min-width: 30px\"\n [title]=\"'To`date`' | translate\"\n for=\"dateTo\"\n translate\n >\n To`date`\n </label>\n <c8y-date-time-picker\n [class.has-error]=\"toErrors\"\n id=\"dateTo\"\n [minDate]=\"tempDateFromValue\"\n [placeholder]=\"'To`date`' | translate\"\n [formControl]=\"dateTimeContext.get('dateTo')\"\n ></c8y-date-time-picker>\n <button\n class=\"btn btn-xs btn-default m-l-4\"\n [title]=\"'Set to current time' | translate\"\n type=\"button\"\n (click)=\"setDateToNow()\"\n >\n <i\n class=\"m-r-4\"\n [c8yIcon]=\"'clock-o'\"\n ></i>\n {{ 'Now' | translate }}\n </button>\n <c8y-messages [show]=\"toErrors\">\n <c8y-message\n name=\"dateBeforeRangeMin\"\n [text]=\"errorMessages.dateBeforeRangeMin | translate\"\n ></c8y-message>\n <c8y-message\n name=\"invalidDateTime\"\n [text]=\"errorMessages.invalidDateTime | translate\"\n ></c8y-message>\n </c8y-messages>\n </c8y-form-group>\n </c8y-form-group>\n </fieldset>\n }\n </div>\n <div class=\"col-\">\n @if (SHOW_AGGREGATION) {\n @let selectedAggregation = currentForm.get('aggregation')?.value;\n\n <fieldset class=\"c8y-fieldset\">\n <legend>\n <div class=\"standalone btn-icon-dot__item aggregation m-r-4\">\n <i [c8yIcon]=\"'input'\"></i>\n </div>\n {{ 'Aggregation' | translate }}\n <button\n class=\"btn-help btn-help--sm\"\n [attr.aria-label]=\"'Help' | translate\"\n [popover]=\"AGGREGATION_POPOVER | translate\"\n placement=\"top\"\n triggers=\"focus\"\n container=\"body\"\n type=\"button\"\n [adaptivePosition]=\"true\"\n ></button>\n </legend>\n <c8y-form-group class=\"p-t-16 p-b-16 m-b-4\">\n <c8y-aggregation-picker\n formControlName=\"aggregation\"\n [resetToDefault]=\"true\"\n [disabledAggregations]=\"disabledAggregations()\"\n [layout]=\"'radio'\"\n ></c8y-aggregation-picker>\n </c8y-form-group>\n </fieldset>\n }\n </div>\n </div>\n </form>\n}\n", dependencies: [{ kind: "ngmodule", type: I18nModule }, { kind: "directive", type: i4.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "ngmodule", type: TooltipModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: PopoverModule }, { kind: "directive", type: i2$2.PopoverDirective, selector: "[popover]", inputs: ["adaptivePosition", "boundariesElement", "popover", "popoverContext", "popoverTitle", "placement", "outsideClick", "triggers", "container", "containerClass", "isOpen", "delay"], outputs: ["onShown", "onHidden"], exportAs: ["bs-popover"] }, { kind: "component", type: FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "component", type: AggregationPickerComponent, selector: "c8y-aggregation-picker", inputs: ["disabledAggregations", "resetToDefault", "layout"] }, { kind: "component", type: MessagesComponent, selector: "c8y-messages", inputs: ["show", "defaults", "helpMessage", "additionalMessages"] }, { kind: "directive", type: MessageDirective, selector: "c8y-message", inputs: ["name", "text"] }, { kind: "ngmodule", type: DateTimePickerModule }, { kind: "component", type: i4.DateTimePickerComponent, selector: "c8y-date-time-picker", inputs: ["minDate", "maxDate", "placeholder", "dateInputFormat", "adaptivePosition", "size", "dateType", "config"], outputs: ["onDateSelected"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3106
3106
  }
3107
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: HistoryModeConfigurationControlsComponent, decorators: [{
3107
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: HistoryModeConfigurationControlsComponent, decorators: [{
3108
3108
  type: Component,
3109
3109
  args: [{ selector: 'c8y-history-mode-configuration-controls', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
3110
3110
  C8yTranslatePipe,
@@ -3161,8 +3161,8 @@ class IntervalPickerComponent {
3161
3161
  setDisabledState(disabled) {
3162
3162
  this.disabled = disabled;
3163
3163
  }
3164
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: IntervalPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3165
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: IntervalPickerComponent, isStandalone: true, selector: "c8y-interval-picker", inputs: { INTERVALS: "INTERVALS", shouldDisableInterval: "shouldDisableInterval" }, providers: [
3164
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: IntervalPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3165
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: IntervalPickerComponent, isStandalone: true, selector: "c8y-interval-picker", inputs: { INTERVALS: "INTERVALS", shouldDisableInterval: "shouldDisableInterval" }, providers: [
3166
3166
  {
3167
3167
  provide: NG_VALUE_ACCESSOR,
3168
3168
  useExisting: forwardRef(() => IntervalPickerComponent),
@@ -3170,7 +3170,7 @@ class IntervalPickerComponent {
3170
3170
  }
3171
3171
  ], ngImport: i0, template: "@for (interval of INTERVALS; track interval.id) {\n @let isSelected = interval.id === value;\n @let checkVisibility = isSelected ? 'visible' : 'hidden';\n @let isIntervalDisabled = shouldDisableInterval?.isDisabled;\n @let isIntervalDisabledMsg = shouldDisableInterval?.msg;\n @let isCustom = interval.id === 'custom';\n\n <li [class.active]=\"isSelected\">\n <div\n [ngStyle]=\"{\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center'\n }\"\n >\n <button\n class=\"mr-2\"\n type=\"button\"\n [attr.data-cy]=\"'global-context--interval-' + interval.id\"\n (click)=\"onIntervalSelect(interval.id)\"\n [disabled]=\"isCustom && isIntervalDisabled\"\n >\n <span [class.text-primary]=\"isSelected\">\n <span\n [c8yIcon]=\"'check'\"\n [style.visibility]=\"checkVisibility\"\n ></span>\n {{ interval.title | translate }}\n </span>\n </button>\n </div>\n </li>\n}\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: A11yModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: BsDropdownModule }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "ngmodule", type: PopoverModule }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3172
3172
  }
3173
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: IntervalPickerComponent, decorators: [{
3173
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: IntervalPickerComponent, decorators: [{
3174
3174
  type: Component,
3175
3175
  args: [{ selector: 'c8y-interval-picker', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
3176
3176
  {
@@ -3452,8 +3452,8 @@ class DateTimeContextPickerComponent {
3452
3452
  this.dropdown.hide();
3453
3453
  }
3454
3454
  }
3455
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DateTimeContextPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3456
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: DateTimeContextPickerComponent, isStandalone: true, selector: "c8y-date-time-context-picker", inputs: { disabled: "disabled", shouldDisableInterval: "shouldDisableInterval", config: "config" }, providers: [
3455
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: DateTimeContextPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3456
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: DateTimeContextPickerComponent, isStandalone: true, selector: "c8y-date-time-context-picker", inputs: { disabled: "disabled", shouldDisableInterval: "shouldDisableInterval", config: "config" }, providers: [
3457
3457
  {
3458
3458
  provide: NG_VALUE_ACCESSOR,
3459
3459
  useExisting: forwardRef(() => DateTimeContextPickerComponent),
@@ -3461,7 +3461,7 @@ class DateTimeContextPickerComponent {
3461
3461
  }
3462
3462
  ], viewQueries: [{ propertyName: "dropdown", first: true, predicate: BsDropdownDirective, descendants: true }], ngImport: i0, template: "@if (form) {\n @let intervalValue = form.get('interval')?.value;\n @let isIntervalNone = intervalValue === 'none';\n @let dateFromControl = form.get('dateFrom');\n @let dateToControl = form.get('dateTo');\n @let dateRangeLabel = getDateRangeLabel();\n\n <form [formGroup]=\"form\">\n <div\n class=\"dropdown max-width-100\"\n container=\"body\"\n #dropdown=\"bs-dropdown\"\n dropdown\n [insideClick]=\"true\"\n [isDisabled]=\"disabled\"\n (onShown)=\"onShownDropdown()\"\n (onHidden)=\"onHiddenDropdown()\"\n >\n <!-- Dropdown toggle button with better accessibility -->\n <button\n class=\"dropdown-toggle form-control l-h-tight d-flex a-i-center\"\n [attr.aria-label]=\"dateRangeLabel\"\n [tooltip]=\"dateRangeLabel\"\n placement=\"top\"\n container=\"body\"\n [adaptivePosition]=\"false\"\n [delay]=\"500\"\n dropdownToggle\n data-cy=\"c8y-date-time-context-picker--picker-toggle\"\n >\n <i\n class=\"m-r-4\"\n [c8yIcon]=\"'schedule1'\"\n aria-hidden=\"true\"\n ></i>\n <div class=\"d-col text-left flex-grow min-width-0\">\n @if (isIntervalNone) {\n <span class=\"text-10 text-muted l-h-1\">\n {{ 'No date filter' | translate }}\n </span>\n } @else {\n <span\n class=\"text-10 text-muted l-h-1\"\n data-cy=\"c8y-date-time-context-picker--picker-label\"\n >\n {{ INTERVALS[intervalValue] | translate }}\n </span>\n <span\n class=\"text-12 l-h-1 text-medium text-truncate\"\n data-cy=\"c8y-date-time-context-picker--picker-time-range\"\n >\n {{ form.get('dateFrom')?.value | c8yDate: DATE_FORMAT }} \u2014\n {{ form.get('dateTo')?.value | c8yDate: DATE_FORMAT }}\n </span>\n }\n </div>\n <span\n class=\"caret m-r-16 m-l-4\"\n aria-hidden=\"true\"\n ></span>\n </button>\n\n <!-- Dropdown menu -->\n <ul\n class=\"dropdown-menu dropdown-menu--date-range\"\n role=\"menu\"\n *dropdownMenu\n >\n @if (dropdown.isOpen) {\n <!-- Interval picker section -->\n <c8y-interval-picker\n class=\"d-contents\"\n formControlName=\"interval\"\n [shouldDisableInterval]=\"shouldDisableInterval\"\n ></c8y-interval-picker>\n\n <!-- Custom date range section -->\n @if (isCustomMode() && (config?.showDateFrom || config?.showDateTo)) {\n <div class=\"p-l-16 p-r-16\">\n @if (config?.showDateFrom) {\n <c8y-form-group [class.has-error]=\"getDateFromErrors()\">\n <label\n [title]=\"'From`date`' | translate\"\n for=\"dateFrom\"\n translate\n >\n From`date`\n </label>\n <c8y-date-time-picker\n [class.has-error]=\"getDateFromErrors()\"\n id=\"dateFrom\"\n [maxDate]=\"tempDateToControl?.value\"\n [placeholder]=\"'From`date`' | translate\"\n [formControl]=\"tempDateFromControl\"\n ></c8y-date-time-picker>\n <c8y-messages [show]=\"getDateFromErrors()\">\n <c8y-message\n name=\"dateAfterRangeMax\"\n [text]=\"errorMessages.dateAfterRangeMax | translate\"\n ></c8y-message>\n <c8y-message\n name=\"dateBeforeRangeMin\"\n [text]=\"errorMessages.dateBeforeRangeMin | translate\"\n ></c8y-message>\n <c8y-message\n name=\"invalidDateTime\"\n [text]=\"errorMessages.invalidDateTime | translate\"\n ></c8y-message>\n <c8y-message\n name=\"bsDate\"\n [text]=\"errorMessages.invalidDateTime | translate\"\n ></c8y-message>\n <c8y-message\n name=\"invalidDateRange\"\n [text]=\"errorMessages.invalidDateRange | translate\"\n ></c8y-message>\n </c8y-messages>\n </c8y-form-group>\n }\n\n @if (config?.showDateTo) {\n <c8y-form-group [class.has-error]=\"getDateToErrors()\">\n <label\n [title]=\"'To`date`' | translate\"\n for=\"dateTo\"\n translate\n >\n To`date`\n </label>\n <c8y-date-time-picker\n [class.has-error]=\"getDateToErrors()\"\n id=\"dateTo\"\n [minDate]=\"tempDateFromControl?.value\"\n [placeholder]=\"'To`date`' | translate\"\n [formControl]=\"tempDateToControl\"\n ></c8y-date-time-picker>\n <c8y-messages [show]=\"getDateToErrors()\">\n <c8y-message\n name=\"dateAfterRangeMax\"\n [text]=\"errorMessages.dateAfterRangeMax | translate\"\n ></c8y-message>\n <c8y-message\n name=\"dateBeforeRangeMin\"\n [text]=\"errorMessages.dateBeforeRangeMin | translate\"\n ></c8y-message>\n <c8y-message\n name=\"invalidDateTime\"\n [text]=\"errorMessages.invalidDateTime | translate\"\n ></c8y-message>\n <c8y-message\n name=\"bsDate\"\n [text]=\"errorMessages.invalidDateTime | translate\"\n ></c8y-message>\n <c8y-message\n name=\"invalidDateRange\"\n [text]=\"errorMessages.invalidDateRange | translate\"\n ></c8y-message>\n </c8y-messages>\n </c8y-form-group>\n }\n </div>\n\n <!-- Action buttons -->\n <div class=\"p-16 d-flex gap-8 separator-top\">\n <button\n class=\"btn btn-default btn-sm flex-grow\"\n title=\"{{ 'Reset' | translate }}\"\n type=\"button\"\n (click)=\"reset()\"\n translate\n >\n Reset\n </button>\n\n <button\n class=\"btn btn-primary btn-sm flex-grow\"\n title=\"{{ 'Apply' | translate }}\"\n type=\"button\"\n (click)=\"applyDateTimeContext()\"\n [disabled]=\"isApplyDisabled()\"\n translate\n >\n Apply\n </button>\n </div>\n }\n }\n </ul>\n </div>\n </form>\n}\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i2.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: BsDropdownModule }, { kind: "directive", type: i2$1.BsDropdownMenuDirective, selector: "[bsDropdownMenu],[dropdownMenu]", exportAs: ["bs-dropdown-menu"] }, { kind: "directive", type: i2$1.BsDropdownToggleDirective, selector: "[bsDropdownToggle],[dropdownToggle]", exportAs: ["bs-dropdown-toggle"] }, { kind: "directive", type: i2$1.BsDropdownDirective, selector: "[bsDropdown], [dropdown]", inputs: ["placement", "triggers", "container", "dropup", "autoClose", "isAnimated", "insideClick", "isDisabled", "isOpen"], outputs: ["isOpenChange", "onShown", "onHidden"], exportAs: ["bs-dropdown"] }, { kind: "ngmodule", type: I18nModule }, { kind: "directive", type: i4.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "component", type: MessagesComponent, selector: "c8y-messages", inputs: ["show", "defaults", "helpMessage", "additionalMessages"] }, { kind: "directive", type: MessageDirective, selector: "c8y-message", inputs: ["name", "text"] }, { kind: "component", type: FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "component", type: IntervalPickerComponent, selector: "c8y-interval-picker", inputs: ["INTERVALS", "shouldDisableInterval"] }, { kind: "ngmodule", type: DateTimePickerModule }, { kind: "component", type: i4.DateTimePickerComponent, selector: "c8y-date-time-picker", inputs: ["minDate", "maxDate", "placeholder", "dateInputFormat", "adaptivePosition", "size", "dateType", "config"], outputs: ["onDateSelected"] }, { kind: "pipe", type: i4.C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: DatePipe, name: "c8yDate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3463
3463
  }
3464
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DateTimeContextPickerComponent, decorators: [{
3464
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: DateTimeContextPickerComponent, decorators: [{
3465
3465
  type: Component,
3466
3466
  args: [{ selector: 'c8y-date-time-context-picker', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
3467
3467
  ReactiveFormsModule,
@@ -3565,10 +3565,10 @@ class LiveModeConfigurationControlsComponent {
3565
3565
  isAutoRefreshEnabled: isAutoRefreshEnabled ?? null
3566
3566
  }, { emitEvent: false });
3567
3567
  }
3568
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: LiveModeConfigurationControlsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3569
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: LiveModeConfigurationControlsComponent, isStandalone: true, selector: "c8y-live-mode-configuration-controls", inputs: { settings: "settings", context: "context" }, outputs: { contextChange: "contextChange" }, ngImport: i0, template: "@if (form) {\n @let SHOW_TIME_CONTEXT = settings.showTimeContext;\n @let SHOW_AUTO_REFRESH = settings.showAutoRefresh;\n\n <form [formGroup]=\"form\">\n <div class=\"content-flex-82\">\n <div class=\"col-5\">\n @if (SHOW_TIME_CONTEXT) {\n <fieldset class=\"c8y-fieldset\">\n <legend>\n <div class=\"standalone btn-icon-dot__item time-context m-r-4\">\n <i [c8yIcon]=\"'calendar'\"></i>\n </div>\n {{ 'Date & time' | translate }}\n <button\n class=\"btn-help btn-help--sm\"\n [attr.aria-label]=\"'Help' | translate\"\n [popover]=\"TIME_RANGE_PICKER_POPOVER | translate\"\n placement=\"top\"\n triggers=\"focus\"\n container=\"body\"\n type=\"button\"\n [adaptivePosition]=\"true\"\n ></button>\n </legend>\n <c8y-form-group class=\"m-b-4 p-t-16 p-b-16\">\n <c8y-date-time-context-picker\n formControlName=\"dateTimeContext\"\n [config]=\"{ showDateTo: false, showDateFrom: true }\"\n ></c8y-date-time-context-picker>\n </c8y-form-group>\n </fieldset>\n }\n </div>\n <div class=\"col-3\">\n @if (SHOW_AUTO_REFRESH) {\n <fieldset class=\"c8y-fieldset\">\n <legend class=\"d-flex\">\n <div class=\"standalone btn-icon-dot__item auto-refresh m-r-4\">\n <i [c8yIcon]=\"'refresh'\"></i>\n </div>\n {{ 'Auto refresh' | translate }}\n <button\n class=\"btn-help btn-help--sm\"\n [attr.aria-label]=\"'Help' | translate\"\n [popover]=\"REFRESH_POPOVER_MESSAGE | translate\"\n placement=\"top\"\n triggers=\"focus\"\n container=\"body\"\n type=\"button\"\n [adaptivePosition]=\"true\"\n ></button>\n </legend>\n <c8y-form-group class=\"m-b-8 form-group-sm p-t-16 p-b-16\">\n <div class=\"d-flex gap-8 a-i-center\">\n <label class=\"c8y-switch c8y-switch--inline\">\n <input\n type=\"checkbox\"\n #arInput\n formControlName=\"isAutoRefreshEnabled\"\n />\n <span></span>\n <span>\n {{ 'Auto refresh enabled' | translate }}\n </span>\n </label>\n </div>\n </c8y-form-group>\n </fieldset>\n }\n </div>\n </div>\n </form>\n}\n", dependencies: [{ kind: "ngmodule", type: TooltipModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: DateTimeContextPickerComponent, selector: "c8y-date-time-context-picker", inputs: ["disabled", "shouldDisableInterval", "config"] }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: PopoverModule }, { kind: "directive", type: i2$2.PopoverDirective, selector: "[popover]", inputs: ["adaptivePosition", "boundariesElement", "popover", "popoverContext", "popoverTitle", "placement", "outsideClick", "triggers", "container", "containerClass", "isOpen", "delay"], outputs: ["onShown", "onHidden"], exportAs: ["bs-popover"] }, { kind: "component", type: FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3568
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: LiveModeConfigurationControlsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3569
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: LiveModeConfigurationControlsComponent, isStandalone: true, selector: "c8y-live-mode-configuration-controls", inputs: { settings: "settings", context: "context" }, outputs: { contextChange: "contextChange" }, ngImport: i0, template: "@if (form) {\n @let SHOW_TIME_CONTEXT = settings.showTimeContext;\n @let SHOW_AUTO_REFRESH = settings.showAutoRefresh;\n\n <form [formGroup]=\"form\">\n <div class=\"content-flex-82\">\n <div class=\"col-5\">\n @if (SHOW_TIME_CONTEXT) {\n <fieldset class=\"c8y-fieldset\">\n <legend>\n <div class=\"standalone btn-icon-dot__item time-context m-r-4\">\n <i [c8yIcon]=\"'calendar'\"></i>\n </div>\n {{ 'Date & time' | translate }}\n <button\n class=\"btn-help btn-help--sm\"\n [attr.aria-label]=\"'Help' | translate\"\n [popover]=\"TIME_RANGE_PICKER_POPOVER | translate\"\n placement=\"top\"\n triggers=\"focus\"\n container=\"body\"\n type=\"button\"\n [adaptivePosition]=\"true\"\n ></button>\n </legend>\n <c8y-form-group class=\"m-b-4 p-t-16 p-b-16\">\n <c8y-date-time-context-picker\n formControlName=\"dateTimeContext\"\n [config]=\"{ showDateTo: false, showDateFrom: true }\"\n ></c8y-date-time-context-picker>\n </c8y-form-group>\n </fieldset>\n }\n </div>\n <div class=\"col-3\">\n @if (SHOW_AUTO_REFRESH) {\n <fieldset class=\"c8y-fieldset\">\n <legend class=\"d-flex\">\n <div class=\"standalone btn-icon-dot__item auto-refresh m-r-4\">\n <i [c8yIcon]=\"'refresh'\"></i>\n </div>\n {{ 'Auto refresh' | translate }}\n <button\n class=\"btn-help btn-help--sm\"\n [attr.aria-label]=\"'Help' | translate\"\n [popover]=\"REFRESH_POPOVER_MESSAGE | translate\"\n placement=\"top\"\n triggers=\"focus\"\n container=\"body\"\n type=\"button\"\n [adaptivePosition]=\"true\"\n ></button>\n </legend>\n <c8y-form-group class=\"m-b-8 form-group-sm p-t-16 p-b-16\">\n <div class=\"d-flex gap-8 a-i-center\">\n <label class=\"c8y-switch c8y-switch--inline\">\n <input\n type=\"checkbox\"\n #arInput\n formControlName=\"isAutoRefreshEnabled\"\n />\n <span></span>\n <span>\n {{ 'Auto refresh enabled' | translate }}\n </span>\n </label>\n </div>\n </c8y-form-group>\n </fieldset>\n }\n </div>\n </div>\n </form>\n}\n", dependencies: [{ kind: "ngmodule", type: TooltipModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: DateTimeContextPickerComponent, selector: "c8y-date-time-context-picker", inputs: ["disabled", "shouldDisableInterval", "config"] }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: PopoverModule }, { kind: "directive", type: i2$2.PopoverDirective, selector: "[popover]", inputs: ["adaptivePosition", "boundariesElement", "popover", "popoverContext", "popoverTitle", "placement", "outsideClick", "triggers", "container", "containerClass", "isOpen", "delay"], outputs: ["onShown", "onHidden"], exportAs: ["bs-popover"] }, { kind: "component", type: FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3570
3570
  }
3571
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: LiveModeConfigurationControlsComponent, decorators: [{
3571
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: LiveModeConfigurationControlsComponent, decorators: [{
3572
3572
  type: Component,
3573
3573
  args: [{ selector: 'c8y-live-mode-configuration-controls', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
3574
3574
  C8yTranslatePipe,
@@ -3685,8 +3685,8 @@ class ConfigurationControlsComponent {
3685
3685
  handleValidationStatus(isValid) {
3686
3686
  this.validationStatus.emit(isValid);
3687
3687
  }
3688
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ConfigurationControlsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3689
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: ConfigurationControlsComponent, isStandalone: true, selector: "c8y-configuration-controls", inputs: { controlsDisplayMode: { classPropertyName: "controlsDisplayMode", publicName: "controlsDisplayMode", isSignal: true, isRequired: false, transformFunction: null }, settings: { classPropertyName: "settings", publicName: "settings", isSignal: true, isRequired: false, transformFunction: null }, activeMode: { classPropertyName: "activeMode", publicName: "activeMode", isSignal: true, isRequired: false, transformFunction: null }, liveContext: { classPropertyName: "liveContext", publicName: "liveContext", isSignal: true, isRequired: false, transformFunction: null }, historyContext: { classPropertyName: "historyContext", publicName: "historyContext", isSignal: true, isRequired: false, transformFunction: null }, supportedModes: { classPropertyName: "supportedModes", publicName: "supportedModes", isSignal: true, isRequired: false, transformFunction: null }, tabsOutletName: { classPropertyName: "tabsOutletName", publicName: "tabsOutletName", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { refreshOptionChange: "refreshOptionChange", contextChange: "contextChange", validationStatus: "validationStatus" }, viewQueries: [{ propertyName: "liveTabTemplate", first: true, predicate: ["LiveTab"], descendants: true, isSignal: true }, { propertyName: "historyTabTemplate", first: true, predicate: ["HistoryTab"], descendants: true, isSignal: true }], ngImport: i0, template: `
3688
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: ConfigurationControlsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3689
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: ConfigurationControlsComponent, isStandalone: true, selector: "c8y-configuration-controls", inputs: { controlsDisplayMode: { classPropertyName: "controlsDisplayMode", publicName: "controlsDisplayMode", isSignal: true, isRequired: false, transformFunction: null }, settings: { classPropertyName: "settings", publicName: "settings", isSignal: true, isRequired: false, transformFunction: null }, activeMode: { classPropertyName: "activeMode", publicName: "activeMode", isSignal: true, isRequired: false, transformFunction: null }, liveContext: { classPropertyName: "liveContext", publicName: "liveContext", isSignal: true, isRequired: false, transformFunction: null }, historyContext: { classPropertyName: "historyContext", publicName: "historyContext", isSignal: true, isRequired: false, transformFunction: null }, supportedModes: { classPropertyName: "supportedModes", publicName: "supportedModes", isSignal: true, isRequired: false, transformFunction: null }, tabsOutletName: { classPropertyName: "tabsOutletName", publicName: "tabsOutletName", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { refreshOptionChange: "refreshOptionChange", contextChange: "contextChange", validationStatus: "validationStatus" }, viewQueries: [{ propertyName: "liveTabTemplate", first: true, predicate: ["LiveTab"], descendants: true, isSignal: true }, { propertyName: "historyTabTemplate", first: true, predicate: ["HistoryTab"], descendants: true, isSignal: true }], ngImport: i0, template: `
3690
3690
  <div class="p-relative fit-h">
3691
3691
  <div [attr.class]="containerClass()">
3692
3692
  <c8y-tabs-outlet
@@ -3740,7 +3740,7 @@ class ConfigurationControlsComponent {
3740
3740
  </div>
3741
3741
  `, isInline: true, dependencies: [{ kind: "ngmodule", type: TooltipModule }, { kind: "ngmodule", type: CollapseModule }, { kind: "component", type: TabsOutletComponent, selector: "c8y-tabs-outlet,c8y-ui-tabs", inputs: ["tabs", "orientation", "navigatorOpen", "outletName", "context", "openFirstTab", "hasHeader"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: FormsModule$1 }, { kind: "ngmodule", type: PopoverModule }, { kind: "component", type: HistoryModeConfigurationControlsComponent, selector: "c8y-history-mode-configuration-controls", inputs: ["settings", "context"], outputs: ["contextChange", "validationStatus"] }, { kind: "component", type: LiveModeConfigurationControlsComponent, selector: "c8y-live-mode-configuration-controls", inputs: ["settings", "context"], outputs: ["contextChange"] }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3742
3742
  }
3743
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ConfigurationControlsComponent, decorators: [{
3743
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: ConfigurationControlsComponent, decorators: [{
3744
3744
  type: Component,
3745
3745
  args: [{
3746
3746
  selector: 'c8y-configuration-controls',
@@ -3998,10 +3998,10 @@ class ConfigurationCollapseComponent {
3998
3998
  }
3999
3999
  this.hasPendingChanges.set(!isEqual(snapshot, latest));
4000
4000
  }
4001
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ConfigurationCollapseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4002
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: ConfigurationCollapseComponent, isStandalone: true, selector: "c8y-configuration-collapse", inputs: { supportedModes: { classPropertyName: "supportedModes", publicName: "supportedModes", isSignal: true, isRequired: false, transformFunction: null }, context: { classPropertyName: "context", publicName: "context", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { contextChange: "contextChange", refreshOptionChange: "refreshOptionChange", savePreferenceChange: "savePreferenceChange" }, host: { classAttribute: "d-contents" }, ngImport: i0, template: "<div\n class=\"c8y-global-context\"\n [collapse]=\"isCollapsed()\"\n (collapsed)=\"onCollapsed()\"\n (expanded)=\"onExpanded()\"\n [isAnimated]=\"true\"\n>\n <div class=\"p-t-16 p-b-16 p-l-24 p-r-24 separator-bottom\">\n <span\n class=\"h4\"\n translate\n >\n Time mode\n </span>\n </div>\n <div>\n @if (!isCollapsed()) {\n <c8y-configuration-controls\n [activeMode]=\"activeMode()\"\n [liveContext]=\"liveViewContext()\"\n [historyContext]=\"historyViewContext()\"\n [supportedModes]=\"supportedModes()\"\n (refreshOptionChange)=\"onModeSelected($event)\"\n (contextChange)=\"onModeChange($event)\"\n (validationStatus)=\"onValidationStatusChange($event)\"\n ></c8y-configuration-controls>\n }\n </div>\n <div class=\"c8y-top-drawer--footer\">\n <div class=\"d-flex a-i-center gap-8\">\n <button\n class=\"btn btn-default\"\n [title]=\"'Close help' | translate\"\n aria-controls=\"collapseHelp\"\n [attr.aria-expanded]=\"!isCollapsed()\"\n type=\"button\"\n (click)=\"toggle()\"\n translate\n >\n Close\n </button>\n <button\n class=\"btn btn-primary\"\n [title]=\"'Apply global context' | translate\"\n aria-controls=\"collapseHelp\"\n [attr.aria-expanded]=\"!isCollapsed()\"\n type=\"button\"\n (click)=\"apply()\"\n [disabled]=\"!hasPendingChanges() || !isFormValid()\"\n translate\n data-cy=\"global-date-context--Apply-button\"\n >\n Apply\n </button>\n\n <label class=\"c8y-checkbox d-flex align-items-center m-b-0\">\n <input\n class=\"m-r-4\"\n type=\"checkbox\"\n [ngModel]=\"shouldSave()\"\n (ngModelChange)=\"shouldSaveInDashboard($event)\"\n />\n <span class=\"a-s-center m-r-8\"></span>\n <span\n class=\"text-truncate\"\n translate\n >\n Save in dashboard configuration\n </span>\n <button\n class=\"btn-help btn-help--sm m-l-4\"\n [attr.aria-label]=\"'Help' | translate\"\n [popover]=\"helpText | translate\"\n placement=\"right\"\n triggers=\"focus\"\n container=\"body\"\n type=\"button\"\n [adaptivePosition]=\"true\"\n ></button>\n </label>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: TooltipModule }, { kind: "ngmodule", type: CollapseModule }, { kind: "directive", type: i1$2.CollapseDirective, selector: "[collapse]", inputs: ["display", "isAnimated", "collapse"], outputs: ["collapsed", "collapses", "expanded", "expands"], exportAs: ["bs-collapse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: FormsModule$1 }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: PopoverModule }, { kind: "directive", type: i2$2.PopoverDirective, selector: "[popover]", inputs: ["adaptivePosition", "boundariesElement", "popover", "popoverContext", "popoverTitle", "placement", "outsideClick", "triggers", "container", "containerClass", "isOpen", "delay"], outputs: ["onShown", "onHidden"], exportAs: ["bs-popover"] }, { kind: "component", type: ConfigurationControlsComponent, selector: "c8y-configuration-controls", inputs: ["controlsDisplayMode", "settings", "activeMode", "liveContext", "historyContext", "supportedModes", "tabsOutletName"], outputs: ["refreshOptionChange", "contextChange", "validationStatus"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4001
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: ConfigurationCollapseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4002
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: ConfigurationCollapseComponent, isStandalone: true, selector: "c8y-configuration-collapse", inputs: { supportedModes: { classPropertyName: "supportedModes", publicName: "supportedModes", isSignal: true, isRequired: false, transformFunction: null }, context: { classPropertyName: "context", publicName: "context", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { contextChange: "contextChange", refreshOptionChange: "refreshOptionChange", savePreferenceChange: "savePreferenceChange" }, host: { classAttribute: "d-contents" }, ngImport: i0, template: "<div\n class=\"c8y-global-context\"\n [collapse]=\"isCollapsed()\"\n (collapsed)=\"onCollapsed()\"\n (expanded)=\"onExpanded()\"\n [isAnimated]=\"true\"\n>\n <div class=\"p-t-16 p-b-16 p-l-24 p-r-24 separator-bottom\">\n <span\n class=\"h4\"\n translate\n >\n Time mode\n </span>\n </div>\n <div>\n @if (!isCollapsed()) {\n <c8y-configuration-controls\n [activeMode]=\"activeMode()\"\n [liveContext]=\"liveViewContext()\"\n [historyContext]=\"historyViewContext()\"\n [supportedModes]=\"supportedModes()\"\n (refreshOptionChange)=\"onModeSelected($event)\"\n (contextChange)=\"onModeChange($event)\"\n (validationStatus)=\"onValidationStatusChange($event)\"\n ></c8y-configuration-controls>\n }\n </div>\n <div class=\"c8y-top-drawer--footer\">\n <div class=\"d-flex a-i-center gap-8\">\n <button\n class=\"btn btn-default\"\n [title]=\"'Close help' | translate\"\n aria-controls=\"collapseHelp\"\n [attr.aria-expanded]=\"!isCollapsed()\"\n type=\"button\"\n (click)=\"toggle()\"\n translate\n >\n Close\n </button>\n <button\n class=\"btn btn-primary\"\n [title]=\"'Apply global context' | translate\"\n aria-controls=\"collapseHelp\"\n [attr.aria-expanded]=\"!isCollapsed()\"\n type=\"button\"\n (click)=\"apply()\"\n [disabled]=\"!hasPendingChanges() || !isFormValid()\"\n translate\n data-cy=\"global-date-context--Apply-button\"\n >\n Apply\n </button>\n\n <label class=\"c8y-checkbox d-flex align-items-center m-b-0\">\n <input\n class=\"m-r-4\"\n type=\"checkbox\"\n [ngModel]=\"shouldSave()\"\n (ngModelChange)=\"shouldSaveInDashboard($event)\"\n />\n <span class=\"a-s-center m-r-8\"></span>\n <span\n class=\"text-truncate\"\n translate\n >\n Save in dashboard configuration\n </span>\n <button\n class=\"btn-help btn-help--sm m-l-4\"\n [attr.aria-label]=\"'Help' | translate\"\n [popover]=\"helpText | translate\"\n placement=\"right\"\n triggers=\"focus\"\n container=\"body\"\n type=\"button\"\n [adaptivePosition]=\"true\"\n ></button>\n </label>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: TooltipModule }, { kind: "ngmodule", type: CollapseModule }, { kind: "directive", type: i1$2.CollapseDirective, selector: "[collapse]", inputs: ["display", "isAnimated", "collapse"], outputs: ["collapsed", "collapses", "expanded", "expands"], exportAs: ["bs-collapse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: FormsModule$1 }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: PopoverModule }, { kind: "directive", type: i2$2.PopoverDirective, selector: "[popover]", inputs: ["adaptivePosition", "boundariesElement", "popover", "popoverContext", "popoverTitle", "placement", "outsideClick", "triggers", "container", "containerClass", "isOpen", "delay"], outputs: ["onShown", "onHidden"], exportAs: ["bs-popover"] }, { kind: "component", type: ConfigurationControlsComponent, selector: "c8y-configuration-controls", inputs: ["controlsDisplayMode", "settings", "activeMode", "liveContext", "historyContext", "supportedModes", "tabsOutletName"], outputs: ["refreshOptionChange", "contextChange", "validationStatus"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4003
4003
  }
4004
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ConfigurationCollapseComponent, decorators: [{
4004
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: ConfigurationCollapseComponent, decorators: [{
4005
4005
  type: Component,
4006
4006
  args: [{ selector: 'c8y-configuration-collapse', host: { class: 'd-contents' }, standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
4007
4007
  TooltipModule,
@@ -4543,10 +4543,10 @@ class GlobalContextQueryService {
4543
4543
  globalContextAutoRefresh: validated.autoRefresh
4544
4544
  };
4545
4545
  }
4546
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: GlobalContextQueryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4547
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: GlobalContextQueryService, providedIn: 'root' }); }
4546
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: GlobalContextQueryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4547
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: GlobalContextQueryService, providedIn: 'root' }); }
4548
4548
  }
4549
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: GlobalContextQueryService, decorators: [{
4549
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: GlobalContextQueryService, decorators: [{
4550
4550
  type: Injectable,
4551
4551
  args: [{ providedIn: 'root' }]
4552
4552
  }] });
@@ -4557,10 +4557,10 @@ class AggregationDisplayComponent {
4557
4557
  this.AGGREGATION_ICONS = AGGREGATION_ICONS;
4558
4558
  this.AGGREGATION_TEXTS = AGGREGATION_TEXTS;
4559
4559
  }
4560
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: AggregationDisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4561
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.18", type: AggregationDisplayComponent, isStandalone: true, selector: "c8y-aggregation-display", inputs: { aggregation: { classPropertyName: "aggregation", publicName: "aggregation", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"d-flex a-i-center l-h-tight form-control\">\n <i\n class=\"m-r-4\"\n [c8yIcon]=\"aggregation() ? AGGREGATION_ICONS[aggregation()] : AGGREGATION_ICONS.undefined\"\n ></i>\n <div class=\"d-col text-left fit-w min-width-0\">\n <span\n class=\"text-10 l-h-1 text-muted text-truncate\"\n title=\"{{ 'Aggregation' | translate }}\"\n >\n {{ 'Aggregation' | translate }}\n </span>\n <span\n class=\"text-12 l-h-1 text-medium text-truncate\"\n title=\"{{ AGGREGATION_TEXTS[aggregation()] | translate }}\"\n data-cy=\"global-date-context--Aggregation-display-value\"\n >\n {{ AGGREGATION_TEXTS[aggregation()] | translate }}\n </span>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4560
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AggregationDisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4561
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.19", type: AggregationDisplayComponent, isStandalone: true, selector: "c8y-aggregation-display", inputs: { aggregation: { classPropertyName: "aggregation", publicName: "aggregation", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"d-flex a-i-center l-h-tight form-control\">\n <i\n class=\"m-r-4\"\n [c8yIcon]=\"aggregation() ? AGGREGATION_ICONS[aggregation()] : AGGREGATION_ICONS.undefined\"\n ></i>\n <div class=\"d-col text-left fit-w min-width-0\">\n <span\n class=\"text-10 l-h-1 text-muted text-truncate\"\n title=\"{{ 'Aggregation' | translate }}\"\n >\n {{ 'Aggregation' | translate }}\n </span>\n <span\n class=\"text-12 l-h-1 text-medium text-truncate\"\n title=\"{{ AGGREGATION_TEXTS[aggregation()] | translate }}\"\n data-cy=\"global-date-context--Aggregation-display-value\"\n >\n {{ AGGREGATION_TEXTS[aggregation()] | translate }}\n </span>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4562
4562
  }
4563
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: AggregationDisplayComponent, decorators: [{
4563
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AggregationDisplayComponent, decorators: [{
4564
4564
  type: Component,
4565
4565
  args: [{ selector: 'c8y-aggregation-display', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [C8yTranslatePipe, IconDirective], template: "<div class=\"d-flex a-i-center l-h-tight form-control\">\n <i\n class=\"m-r-4\"\n [c8yIcon]=\"aggregation() ? AGGREGATION_ICONS[aggregation()] : AGGREGATION_ICONS.undefined\"\n ></i>\n <div class=\"d-col text-left fit-w min-width-0\">\n <span\n class=\"text-10 l-h-1 text-muted text-truncate\"\n title=\"{{ 'Aggregation' | translate }}\"\n >\n {{ 'Aggregation' | translate }}\n </span>\n <span\n class=\"text-12 l-h-1 text-medium text-truncate\"\n title=\"{{ AGGREGATION_TEXTS[aggregation()] | translate }}\"\n data-cy=\"global-date-context--Aggregation-display-value\"\n >\n {{ AGGREGATION_TEXTS[aggregation()] | translate }}\n </span>\n </div>\n</div>\n" }]
4566
4566
  }], propDecorators: { aggregation: [{ type: i0.Input, args: [{ isSignal: true, alias: "aggregation", required: false }] }] } });
@@ -4732,8 +4732,8 @@ class AutoRefreshControlComponent {
4732
4732
  this.gracePeriodTimeout = null;
4733
4733
  }
4734
4734
  }
4735
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: AutoRefreshControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4736
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: AutoRefreshControlComponent, isStandalone: true, selector: "c8y-auto-refresh-control", inputs: { isAutoRefreshConnected: "isAutoRefreshConnected", autoRefreshSeconds: "autoRefreshSeconds", disableCounter: "disableCounter", isEnabled: "isEnabled", isLoading: "isLoading" }, outputs: { loadingChange: "loadingChange", refresh: "refresh" }, host: { listeners: { "document:visibilitychange": "onVisibilityChange()" } }, providers: [
4735
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AutoRefreshControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4736
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: AutoRefreshControlComponent, isStandalone: true, selector: "c8y-auto-refresh-control", inputs: { isAutoRefreshConnected: "isAutoRefreshConnected", autoRefreshSeconds: "autoRefreshSeconds", disableCounter: "disableCounter", isEnabled: "isEnabled", isLoading: "isLoading" }, outputs: { loadingChange: "loadingChange", refresh: "refresh" }, host: { listeners: { "document:visibilitychange": "onVisibilityChange()" } }, providers: [
4737
4737
  {
4738
4738
  provide: NG_VALUE_ACCESSOR,
4739
4739
  useExisting: forwardRef(() => AutoRefreshControlComponent),
@@ -4741,7 +4741,7 @@ class AutoRefreshControlComponent {
4741
4741
  }
4742
4742
  ], viewQueries: [{ propertyName: "countdownIntervalComponent", first: true, predicate: CountdownIntervalComponent, descendants: true }], ngImport: i0, template: "@let autoRefreshTooltip = (isEnabled ? DISABLE_AUTO_REFRESH : ENABLE_AUTO_REFRESH) | translate;\n@let countdownInterval = (autoRefreshSeconds$ | async) ?? DEFAULT_INTERVAL_VALUE;\n\n<button\n [class.btn]=\"disableCounter\"\n [class.btn-link]=\"disableCounter\"\n [class.c8y-realtime]=\"disableCounter\"\n [class.toggle-countdown]=\"!disableCounter\"\n [attr.aria-label]=\"autoRefreshTooltip\"\n [tooltip]=\"tooltipTpl\"\n placement=\"bottom\"\n container=\"body\"\n [delay]=\"500\"\n (click)=\"toggleIntervalRefresh(); $event.stopPropagation()\"\n [adaptivePosition]=\"false\"\n [disabled]=\"isLoading\"\n mode\n data-cy=\"global-date-context--Auto-refresh-toggle\"\n>\n <div class=\"d-flex a-i-center\">\n @if (!disableCounter) {\n <c8y-countdown-interval\n #countdown\n [hidden]=\"!isEnabled\"\n [countdownInterval]=\"countdownInterval\"\n [config]=\"countdownIntervalConfig\"\n ></c8y-countdown-interval>\n }\n\n @if (!isEnabled) {\n <i\n class=\"icon-20 text-primary\"\n [c8yIcon]=\"'pause-circle'\"\n data-cy=\"global-date-context--Auto-refresh-toggle-pause\"\n ></i>\n } @else if (disableCounter) {\n <span class=\"c8y-pulse m-0 active\"></span>\n }\n </div>\n</button>\n\n<ng-template #tooltipTpl>\n {{ autoRefreshTooltip }}\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: CountdownIntervalModule }, { kind: "component", type: i4.CountdownIntervalComponent, selector: "c8y-countdown-interval", inputs: ["countdownInterval", "config"], outputs: ["countdownEnded"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i2.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: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4743
4743
  }
4744
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: AutoRefreshControlComponent, decorators: [{
4744
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AutoRefreshControlComponent, decorators: [{
4745
4745
  type: Component,
4746
4746
  args: [{ selector: 'c8y-auto-refresh-control', providers: [
4747
4747
  {
@@ -4780,10 +4780,10 @@ class TimeRangeDisplayComponent {
4780
4780
  this.INTERVALS = INTERVAL_TITLES;
4781
4781
  this.DATE_FORMAT = 'medium';
4782
4782
  }
4783
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: TimeRangeDisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4784
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: TimeRangeDisplayComponent, isStandalone: true, selector: "c8y-time-range-display", inputs: { dateTimeContext: "dateTimeContext", mode: "mode" }, ngImport: i0, template: "@if (dateTimeContext) {\n <div class=\"d-flex a-i-center l-h-tight form-control\">\n <i\n class=\"m-r-4\"\n [c8yIcon]=\"'schedule1'\"\n ></i>\n <div class=\"d-col text-left fit-w min-width-0\">\n <span\n class=\"text-10 l-h-1 text-muted\"\n data-cy=\"global-date-context--Selected-interval\"\n >\n {{ INTERVALS[dateTimeContext.interval] | translate }}\n </span>\n\n @if (mode === 'from') {\n <span\n class=\"text-12 text-medium text-truncate\"\n title=\"{{ dateTimeContext.dateFrom | c8yDate: DATE_FORMAT }}\"\n >\n {{ 'From`date`' | translate }} {{ dateTimeContext.dateFrom | c8yDate: DATE_FORMAT }}\n </span>\n }\n\n @if (mode === 'to') {\n <span\n class=\"text-12 l-h-1 text-medium text-truncate\"\n title=\"{{ dateTimeContext.dateTo | c8yDate: DATE_FORMAT }}\"\n >\n {{ 'To`date`' | translate }} {{ dateTimeContext.dateTo | c8yDate: DATE_FORMAT }}\n </span>\n }\n\n @if (mode === 'default') {\n <span\n class=\"text-12 l-h-1 text-medium text-truncate\"\n title=\"{{ dateTimeContext.dateFrom | c8yDate: DATE_FORMAT }} \u2014 {{\n dateTimeContext.dateTo | c8yDate: DATE_FORMAT\n }}\"\n data-cy=\"global-date-context--Selected-time-range\"\n >\n {{ dateTimeContext.dateFrom | c8yDate: DATE_FORMAT }} \u2014\n {{ dateTimeContext.dateTo | c8yDate: DATE_FORMAT }}\n </span>\n }\n </div>\n </div>\n}\n", dependencies: [{ kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: DatePipe, name: "c8yDate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4783
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: TimeRangeDisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4784
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: TimeRangeDisplayComponent, isStandalone: true, selector: "c8y-time-range-display", inputs: { dateTimeContext: "dateTimeContext", mode: "mode" }, ngImport: i0, template: "@if (dateTimeContext) {\n <div class=\"d-flex a-i-center l-h-tight form-control\">\n <i\n class=\"m-r-4\"\n [c8yIcon]=\"'schedule1'\"\n ></i>\n <div class=\"d-col text-left fit-w min-width-0\">\n <span\n class=\"text-10 l-h-1 text-muted\"\n data-cy=\"global-date-context--Selected-interval\"\n >\n {{ INTERVALS[dateTimeContext.interval] | translate }}\n </span>\n\n @if (mode === 'from') {\n <span\n class=\"text-12 text-medium text-truncate\"\n title=\"{{ dateTimeContext.dateFrom | c8yDate: DATE_FORMAT }}\"\n >\n {{ 'From`date`' | translate }} {{ dateTimeContext.dateFrom | c8yDate: DATE_FORMAT }}\n </span>\n }\n\n @if (mode === 'to') {\n <span\n class=\"text-12 l-h-1 text-medium text-truncate\"\n title=\"{{ dateTimeContext.dateTo | c8yDate: DATE_FORMAT }}\"\n >\n {{ 'To`date`' | translate }} {{ dateTimeContext.dateTo | c8yDate: DATE_FORMAT }}\n </span>\n }\n\n @if (mode === 'default') {\n <span\n class=\"text-12 l-h-1 text-medium text-truncate\"\n title=\"{{ dateTimeContext.dateFrom | c8yDate: DATE_FORMAT }} \u2014 {{\n dateTimeContext.dateTo | c8yDate: DATE_FORMAT\n }}\"\n data-cy=\"global-date-context--Selected-time-range\"\n >\n {{ dateTimeContext.dateFrom | c8yDate: DATE_FORMAT }} \u2014\n {{ dateTimeContext.dateTo | c8yDate: DATE_FORMAT }}\n </span>\n }\n </div>\n </div>\n}\n", dependencies: [{ kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: DatePipe, name: "c8yDate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4785
4785
  }
4786
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: TimeRangeDisplayComponent, decorators: [{
4786
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: TimeRangeDisplayComponent, decorators: [{
4787
4787
  type: Component,
4788
4788
  args: [{ selector: 'c8y-time-range-display', standalone: true, imports: [IconDirective, C8yTranslatePipe, DatePipe], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (dateTimeContext) {\n <div class=\"d-flex a-i-center l-h-tight form-control\">\n <i\n class=\"m-r-4\"\n [c8yIcon]=\"'schedule1'\"\n ></i>\n <div class=\"d-col text-left fit-w min-width-0\">\n <span\n class=\"text-10 l-h-1 text-muted\"\n data-cy=\"global-date-context--Selected-interval\"\n >\n {{ INTERVALS[dateTimeContext.interval] | translate }}\n </span>\n\n @if (mode === 'from') {\n <span\n class=\"text-12 text-medium text-truncate\"\n title=\"{{ dateTimeContext.dateFrom | c8yDate: DATE_FORMAT }}\"\n >\n {{ 'From`date`' | translate }} {{ dateTimeContext.dateFrom | c8yDate: DATE_FORMAT }}\n </span>\n }\n\n @if (mode === 'to') {\n <span\n class=\"text-12 l-h-1 text-medium text-truncate\"\n title=\"{{ dateTimeContext.dateTo | c8yDate: DATE_FORMAT }}\"\n >\n {{ 'To`date`' | translate }} {{ dateTimeContext.dateTo | c8yDate: DATE_FORMAT }}\n </span>\n }\n\n @if (mode === 'default') {\n <span\n class=\"text-12 l-h-1 text-medium text-truncate\"\n title=\"{{ dateTimeContext.dateFrom | c8yDate: DATE_FORMAT }} \u2014 {{\n dateTimeContext.dateTo | c8yDate: DATE_FORMAT\n }}\"\n data-cy=\"global-date-context--Selected-time-range\"\n >\n {{ dateTimeContext.dateFrom | c8yDate: DATE_FORMAT }} \u2014\n {{ dateTimeContext.dateTo | c8yDate: DATE_FORMAT }}\n </span>\n }\n </div>\n </div>\n}\n" }]
4789
4789
  }], propDecorators: { dateTimeContext: [{
@@ -4895,10 +4895,10 @@ let ContextControlsComponent$1 = class ContextControlsComponent {
4895
4895
  ];
4896
4896
  return pick(settings, requiredKeys);
4897
4897
  }
4898
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ContextControlsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4899
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: ContextControlsComponent, isStandalone: true, selector: "c8y-context-controls", inputs: { showDisplayModeLabel: "showDisplayModeLabel", isLoading: "isLoading", settings: "settings", context: "context" }, outputs: { contextChange: "contextChange", refresh: "refresh", contextClick: "contextClick" }, ngImport: i0, template: "@if (form) {\n @let SHOW_TIME_CONTEXT = settings.showTimeContext;\n @let SHOW_AGGREGATION = settings.showAggregation;\n @let SHOW_AUTO_REFRESH = settings.showAutoRefresh;\n @let refreshIntervalValue = form?.get('refreshInterval')?.value;\n @let isLiveMode = refreshOption === REFRESH_OPTION.LIVE;\n\n @if (isLiveMode) {\n <form\n class=\"input-group\"\n [formGroup]=\"form\"\n >\n <c8y-auto-refresh-control\n #autoRefreshControl\n [isLoading]=\"isLoading\"\n [isAutoRefreshConnected]=\"isAutoRefreshConnected\"\n formControlName=\"isAutoRefreshEnabled\"\n [autoRefreshSeconds]=\"refreshIntervalValue\"\n (refresh)=\"refresh.emit()\"\n ></c8y-auto-refresh-control>\n <button\n class=\"btn-clean d-flex p-l-xs-16 p-r-xs-16 m-t-xs-8 m-b-xs-8 min-width-0\"\n style=\"margin-left: -1px\"\n (click)=\"contextClick.emit($event)\"\n >\n <div\n class=\"d-col a-i-start form-control\"\n style=\"flex: 0\"\n >\n <p class=\"text-muted fit-w text-10 l-h-1\">\n {{ 'Time mode' | translate }}\n </p>\n <p\n class=\"text-bold text-12 fit-w l-h-1\"\n data-cy=\"global-time-context-controls--Display-mode\"\n >\n {{ refreshOption | translate | titlecase }}\n </p>\n </div>\n\n @let interval = form.get('dateTimeContext')?.value?.interval;\n @let isCustomInterval = interval === 'custom';\n\n <c8y-time-range-display\n style=\"margin-left: -1px; min-width: 0\"\n [dateTimeContext]=\"form.get('dateTimeContext')?.value\"\n ></c8y-time-range-display>\n\n @if (!(isAnySettingsEnabled$ | async)) {\n <div\n class=\"d-col a-i-center form-control\"\n style=\"margin-left: -1px; flex: 0\"\n >\n <i\n class=\"dlt-c8y-icon-disconnected icon-20 text-danger\"\n [tooltip]=\"'No synced widgets' | translate\"\n placement=\"right\"\n container=\"body\"\n [delay]=\"500\"\n data-cy=\"global-time-context-controls--Widgets-disconnected\"\n ></i>\n </div>\n }\n </button>\n </form>\n } @else {\n <form [formGroup]=\"form\">\n <button\n class=\"btn-clean d-flex p-l-xs-16 p-r-xs-16 m-t-xs-8 m-b-xs-8\"\n (click)=\"contextClick.emit($event)\"\n >\n <div\n class=\"d-col a-i-center form-control\"\n style=\"flex: 0\"\n >\n <i class=\"dlt-c8y-icon-schedule1 icon-20 text-primary\"></i>\n </div>\n\n <div\n class=\"d-col a-i-start form-control\"\n style=\"margin-left: -1px; flex: 0\"\n >\n <p class=\"text-muted fit-w text-10 l-h-1\">\n {{ 'Time mode' | translate }}\n </p>\n <p\n class=\"text-bold text-12 fit-w l-h-1\"\n data-cy=\"global-time-context-controls--Display-mode\"\n >\n {{ refreshOption | translate | titlecase }}\n </p>\n </div>\n\n <c8y-time-range-display\n style=\"margin-left: -1px; min-width: 0\"\n [dateTimeContext]=\"form.get('dateTimeContext')?.value\"\n ></c8y-time-range-display>\n <c8y-aggregation-display\n style=\"margin-left: -1px; min-width: 0\"\n [aggregation]=\"form.get('aggregation')?.value\"\n ></c8y-aggregation-display>\n\n @if (!(isAnySettingsEnabled$ | async)) {\n <div\n class=\"d-col a-i-center form-control\"\n style=\"margin-left: -1px; flex: 0\"\n >\n <i\n class=\"dlt-c8y-icon-disconnected icon-20 text-danger\"\n [tooltip]=\"'No synced widgets' | translate\"\n placement=\"right\"\n container=\"body\"\n [delay]=\"500\"\n data-cy=\"global-time-context-controls--Widgets-disconnected\"\n ></i>\n </div>\n }\n </button>\n </form>\n }\n}\n", dependencies: [{ kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i2.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: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: FormsModule$1 }, { kind: "ngmodule", type: PopoverModule }, { kind: "component", type: AutoRefreshControlComponent, selector: "c8y-auto-refresh-control", inputs: ["isAutoRefreshConnected", "autoRefreshSeconds", "disableCounter", "isEnabled", "isLoading"], outputs: ["loadingChange", "refresh"] }, { kind: "component", type: TimeRangeDisplayComponent, selector: "c8y-time-range-display", inputs: ["dateTimeContext", "mode"] }, { kind: "component", type: AggregationDisplayComponent, selector: "c8y-aggregation-display", inputs: ["aggregation"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4898
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: ContextControlsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4899
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: ContextControlsComponent, isStandalone: true, selector: "c8y-context-controls", inputs: { showDisplayModeLabel: "showDisplayModeLabel", isLoading: "isLoading", settings: "settings", context: "context" }, outputs: { contextChange: "contextChange", refresh: "refresh", contextClick: "contextClick" }, ngImport: i0, template: "@if (form) {\n @let SHOW_TIME_CONTEXT = settings.showTimeContext;\n @let SHOW_AGGREGATION = settings.showAggregation;\n @let SHOW_AUTO_REFRESH = settings.showAutoRefresh;\n @let refreshIntervalValue = form?.get('refreshInterval')?.value;\n @let isLiveMode = refreshOption === REFRESH_OPTION.LIVE;\n\n @if (isLiveMode) {\n <form\n class=\"input-group\"\n [formGroup]=\"form\"\n >\n <c8y-auto-refresh-control\n #autoRefreshControl\n [isLoading]=\"isLoading\"\n [isAutoRefreshConnected]=\"isAutoRefreshConnected\"\n formControlName=\"isAutoRefreshEnabled\"\n [autoRefreshSeconds]=\"refreshIntervalValue\"\n (refresh)=\"refresh.emit()\"\n ></c8y-auto-refresh-control>\n <button\n class=\"btn-clean d-flex p-l-xs-16 p-r-xs-16 m-t-xs-8 m-b-xs-8 min-width-0\"\n style=\"margin-left: -1px\"\n (click)=\"contextClick.emit($event)\"\n >\n <div\n class=\"d-col a-i-start form-control\"\n style=\"flex: 0\"\n >\n <p class=\"text-muted fit-w text-10 l-h-1\">\n {{ 'Time mode' | translate }}\n </p>\n <p\n class=\"text-bold text-12 fit-w l-h-1\"\n data-cy=\"global-time-context-controls--Display-mode\"\n >\n {{ refreshOption | translate | titlecase }}\n </p>\n </div>\n\n @let interval = form.get('dateTimeContext')?.value?.interval;\n @let isCustomInterval = interval === 'custom';\n\n <c8y-time-range-display\n style=\"margin-left: -1px; min-width: 0\"\n [dateTimeContext]=\"form.get('dateTimeContext')?.value\"\n ></c8y-time-range-display>\n\n @if (!(isAnySettingsEnabled$ | async)) {\n <div\n class=\"d-col a-i-center form-control\"\n style=\"margin-left: -1px; flex: 0\"\n >\n <i\n class=\"dlt-c8y-icon-disconnected icon-20 text-danger\"\n [tooltip]=\"'No synced widgets' | translate\"\n placement=\"right\"\n container=\"body\"\n [delay]=\"500\"\n data-cy=\"global-time-context-controls--Widgets-disconnected\"\n ></i>\n </div>\n }\n </button>\n </form>\n } @else {\n <form [formGroup]=\"form\">\n <button\n class=\"btn-clean d-flex p-l-xs-16 p-r-xs-16 m-t-xs-8 m-b-xs-8\"\n (click)=\"contextClick.emit($event)\"\n >\n <div\n class=\"d-col a-i-center form-control\"\n style=\"flex: 0\"\n >\n <i class=\"dlt-c8y-icon-schedule1 icon-20 text-primary\"></i>\n </div>\n\n <div\n class=\"d-col a-i-start form-control\"\n style=\"margin-left: -1px; flex: 0\"\n >\n <p class=\"text-muted fit-w text-10 l-h-1\">\n {{ 'Time mode' | translate }}\n </p>\n <p\n class=\"text-bold text-12 fit-w l-h-1\"\n data-cy=\"global-time-context-controls--Display-mode\"\n >\n {{ refreshOption | translate | titlecase }}\n </p>\n </div>\n\n <c8y-time-range-display\n style=\"margin-left: -1px; min-width: 0\"\n [dateTimeContext]=\"form.get('dateTimeContext')?.value\"\n ></c8y-time-range-display>\n <c8y-aggregation-display\n style=\"margin-left: -1px; min-width: 0\"\n [aggregation]=\"form.get('aggregation')?.value\"\n ></c8y-aggregation-display>\n\n @if (!(isAnySettingsEnabled$ | async)) {\n <div\n class=\"d-col a-i-center form-control\"\n style=\"margin-left: -1px; flex: 0\"\n >\n <i\n class=\"dlt-c8y-icon-disconnected icon-20 text-danger\"\n [tooltip]=\"'No synced widgets' | translate\"\n placement=\"right\"\n container=\"body\"\n [delay]=\"500\"\n data-cy=\"global-time-context-controls--Widgets-disconnected\"\n ></i>\n </div>\n }\n </button>\n </form>\n }\n}\n", dependencies: [{ kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i2.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: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: FormsModule$1 }, { kind: "ngmodule", type: PopoverModule }, { kind: "component", type: AutoRefreshControlComponent, selector: "c8y-auto-refresh-control", inputs: ["isAutoRefreshConnected", "autoRefreshSeconds", "disableCounter", "isEnabled", "isLoading"], outputs: ["loadingChange", "refresh"] }, { kind: "component", type: TimeRangeDisplayComponent, selector: "c8y-time-range-display", inputs: ["dateTimeContext", "mode"] }, { kind: "component", type: AggregationDisplayComponent, selector: "c8y-aggregation-display", inputs: ["aggregation"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4900
4900
  };
4901
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ContextControlsComponent$1, decorators: [{
4901
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: ContextControlsComponent$1, decorators: [{
4902
4902
  type: Component,
4903
4903
  args: [{ selector: 'c8y-context-controls', standalone: true, imports: [
4904
4904
  C8yTranslatePipe,
@@ -5430,10 +5430,10 @@ class GlobalContextComponent {
5430
5430
  return false;
5431
5431
  });
5432
5432
  }
5433
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: GlobalContextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5434
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: GlobalContextComponent, isStandalone: true, selector: "c8y-global-context", host: { classAttribute: "min-width-0" }, viewQueries: [{ propertyName: "configurationCollapseComponent", first: true, predicate: ConfigurationCollapseComponent, descendants: true }], ngImport: i0, template: "@if (globalContextState() !== null && isVisible()) {\n <c8y-context-controls\n [settings]=\"settings\"\n [context]=\"globalContextState()\"\n [isLoading]=\"globalContextService.isLoading()\"\n (refresh)=\"onRefresh()\"\n (contextChange)=\"onChanges($event)\"\n (contextClick)=\"gcs.toggle()\"\n ></c8y-context-controls>\n\n <c8y-configuration-collapse\n #gcs\n [context]=\"globalContextState()\"\n (contextChange)=\"onChanges($event)\"\n (refreshOptionChange)=\"onRefreshOptionChanges($event)\"\n (savePreferenceChange)=\"shouldSaveDashboardState = $event\"\n ></c8y-configuration-collapse>\n}\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: TooltipModule }, { kind: "component", type: ContextControlsComponent$1, selector: "c8y-context-controls", inputs: ["showDisplayModeLabel", "isLoading", "settings", "context"], outputs: ["contextChange", "refresh", "contextClick"] }, { kind: "component", type: ConfigurationCollapseComponent, selector: "c8y-configuration-collapse", inputs: ["supportedModes", "context"], outputs: ["contextChange", "refreshOptionChange", "savePreferenceChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5433
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: GlobalContextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5434
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: GlobalContextComponent, isStandalone: true, selector: "c8y-global-context", host: { classAttribute: "min-width-0" }, viewQueries: [{ propertyName: "configurationCollapseComponent", first: true, predicate: ConfigurationCollapseComponent, descendants: true }], ngImport: i0, template: "@if (globalContextState() !== null && isVisible()) {\n <c8y-context-controls\n [settings]=\"settings\"\n [context]=\"globalContextState()\"\n [isLoading]=\"globalContextService.isLoading()\"\n (refresh)=\"onRefresh()\"\n (contextChange)=\"onChanges($event)\"\n (contextClick)=\"gcs.toggle()\"\n ></c8y-context-controls>\n\n <c8y-configuration-collapse\n #gcs\n [context]=\"globalContextState()\"\n (contextChange)=\"onChanges($event)\"\n (refreshOptionChange)=\"onRefreshOptionChanges($event)\"\n (savePreferenceChange)=\"shouldSaveDashboardState = $event\"\n ></c8y-configuration-collapse>\n}\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: TooltipModule }, { kind: "component", type: ContextControlsComponent$1, selector: "c8y-context-controls", inputs: ["showDisplayModeLabel", "isLoading", "settings", "context"], outputs: ["contextChange", "refresh", "contextClick"] }, { kind: "component", type: ConfigurationCollapseComponent, selector: "c8y-configuration-collapse", inputs: ["supportedModes", "context"], outputs: ["contextChange", "refreshOptionChange", "savePreferenceChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5435
5435
  }
5436
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: GlobalContextComponent, decorators: [{
5436
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: GlobalContextComponent, decorators: [{
5437
5437
  type: Component,
5438
5438
  args: [{ standalone: true, imports: [
5439
5439
  ReactiveFormsModule,
@@ -5884,10 +5884,10 @@ class GlobalContextNavigationService {
5884
5884
  resetInstance() {
5885
5885
  this.instance.set({ ...DEFAULT_INSTANCE });
5886
5886
  }
5887
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: GlobalContextNavigationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
5888
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: GlobalContextNavigationService, providedIn: 'root' }); }
5887
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: GlobalContextNavigationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
5888
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: GlobalContextNavigationService, providedIn: 'root' }); }
5889
5889
  }
5890
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: GlobalContextNavigationService, decorators: [{
5890
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: GlobalContextNavigationService, decorators: [{
5891
5891
  type: Injectable,
5892
5892
  args: [{
5893
5893
  providedIn: 'root'
@@ -5978,8 +5978,8 @@ class GlobalContextLinkControlsComponent {
5978
5978
  this.linkStatesSignal.set(this._linkStates);
5979
5979
  this.allLinksToggled.emit(newLinkState);
5980
5980
  }
5981
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: GlobalContextLinkControlsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5982
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: GlobalContextLinkControlsComponent, isStandalone: true, selector: "c8y-global-context-link-controls", inputs: { linkStates: "linkStates", controlConfigs: "controlConfigs" }, outputs: { allLinksToggled: "allLinksToggled" }, ngImport: i0, template: `
5981
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: GlobalContextLinkControlsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5982
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: GlobalContextLinkControlsComponent, isStandalone: true, selector: "c8y-global-context-link-controls", inputs: { linkStates: "linkStates", controlConfigs: "controlConfigs" }, outputs: { allLinksToggled: "allLinksToggled" }, ngImport: i0, template: `
5983
5983
  @if (showLinks()) {
5984
5984
  <button
5985
5985
  class="btn-icon-dot-set m-r-4"
@@ -6011,7 +6011,7 @@ class GlobalContextLinkControlsComponent {
6011
6011
  }
6012
6012
  `, isInline: true, styles: [".btn-icon-dot[disabled]{cursor:not-allowed;opacity:.75}.btn-icon-dot.link-auto-unlinked,.btn-icon-dot.link-auto-unlinked:focus{box-shadow:0 0 0 2px var(--c8y-palette-status-danger);border-color:var(--c8y-palette-status-danger)}\n"], dependencies: [{ kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i2.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: "pipe", type: C8yTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6013
6013
  }
6014
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: GlobalContextLinkControlsComponent, decorators: [{
6014
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: GlobalContextLinkControlsComponent, decorators: [{
6015
6015
  type: Component,
6016
6016
  args: [{ selector: 'c8y-global-context-link-controls', standalone: true, imports: [IconDirective, TooltipModule, C8yTranslatePipe], changeDetection: ChangeDetectionStrategy.OnPush, template: `
6017
6017
  @if (showLinks()) {
@@ -7653,10 +7653,10 @@ class SharedModeOrchestrator {
7653
7653
  syncLocalEntriesWithGlobal() {
7654
7654
  syncLocalEntriesWithGlobal(this.fieldSourcesSignal, this.globalStateSignal, this.localStateSignal);
7655
7655
  }
7656
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: SharedModeOrchestrator, deps: "invalid", target: i0.ɵɵFactoryTarget.Injectable }); }
7657
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: SharedModeOrchestrator }); }
7656
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: SharedModeOrchestrator, deps: "invalid", target: i0.ɵɵFactoryTarget.Injectable }); }
7657
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: SharedModeOrchestrator }); }
7658
7658
  }
7659
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: SharedModeOrchestrator, decorators: [{
7659
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: SharedModeOrchestrator, decorators: [{
7660
7660
  type: Injectable
7661
7661
  }], ctorParameters: () => [{ type: undefined }, { type: undefined }] });
7662
7662
 
@@ -7684,10 +7684,10 @@ class HistoryModeOrchestrator extends SharedModeOrchestrator {
7684
7684
  supportsAutoRefresh(_config) {
7685
7685
  return false;
7686
7686
  }
7687
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: HistoryModeOrchestrator, deps: "invalid", target: i0.ɵɵFactoryTarget.Injectable }); }
7688
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: HistoryModeOrchestrator }); }
7687
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: HistoryModeOrchestrator, deps: "invalid", target: i0.ɵɵFactoryTarget.Injectable }); }
7688
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: HistoryModeOrchestrator }); }
7689
7689
  }
7690
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: HistoryModeOrchestrator, decorators: [{
7690
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: HistoryModeOrchestrator, decorators: [{
7691
7691
  type: Injectable
7692
7692
  }], ctorParameters: () => [{ type: undefined }] });
7693
7693
 
@@ -7715,10 +7715,10 @@ class LiveModeOrchestrator extends SharedModeOrchestrator {
7715
7715
  localState.dateTimeContext = fresh;
7716
7716
  }
7717
7717
  }
7718
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: LiveModeOrchestrator, deps: "invalid", target: i0.ɵɵFactoryTarget.Injectable }); }
7719
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: LiveModeOrchestrator }); }
7718
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: LiveModeOrchestrator, deps: "invalid", target: i0.ɵɵFactoryTarget.Injectable }); }
7719
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: LiveModeOrchestrator }); }
7720
7720
  }
7721
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: LiveModeOrchestrator, decorators: [{
7721
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: LiveModeOrchestrator, decorators: [{
7722
7722
  type: Injectable
7723
7723
  }], ctorParameters: () => [{ type: undefined }] });
7724
7724
 
@@ -8027,10 +8027,10 @@ class GlobalContextInlineOrchestratorService {
8027
8027
  this.lastLiveAutoRefresh = state.isAutoRefreshEnabled;
8028
8028
  }
8029
8029
  }
8030
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: GlobalContextInlineOrchestratorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
8031
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: GlobalContextInlineOrchestratorService }); }
8030
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: GlobalContextInlineOrchestratorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
8031
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: GlobalContextInlineOrchestratorService }); }
8032
8032
  }
8033
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: GlobalContextInlineOrchestratorService, decorators: [{
8033
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: GlobalContextInlineOrchestratorService, decorators: [{
8034
8034
  type: Injectable
8035
8035
  }], ctorParameters: () => [] });
8036
8036
 
@@ -8582,10 +8582,10 @@ class GlobalContextInlineComponent {
8582
8582
  }
8583
8583
  };
8584
8584
  }
8585
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: GlobalContextInlineComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8586
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: GlobalContextInlineComponent, isStandalone: true, selector: "c8y-global-context-inline", inputs: { widgetControls: { classPropertyName: "widgetControls", publicName: "widgetControls", isSignal: true, isRequired: true, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, dashboardChildForLegacy: { classPropertyName: "dashboardChildForLegacy", publicName: "dashboardChildForLegacy", isSignal: true, isRequired: false, transformFunction: null }, disableRefreshEmits: { classPropertyName: "disableRefreshEmits", publicName: "disableRefreshEmits", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { refresh: "refresh", globalContextChange: "globalContextChange" }, providers: [GlobalContextInlineOrchestratorService], viewQueries: [{ propertyName: "headerTemplateRef", first: true, predicate: ["headerContent"], descendants: true, read: TemplateRef, static: true }], exportAs: ["globalContextInline"], ngImport: i0, template: "<ng-template #headerContent>\n @let linkModel = linkDisplayModel();\n <ng-content select=\"#header\"></ng-content>\n\n @if (shouldShowHeaderLinks()) {\n <c8y-global-context-link-controls\n [linkStates]=\"linkModel.linkStates\"\n [controlConfigs]=\"linkModel.controlConfig\"\n (allLinksToggled)=\"toggleAllLinks($event)\"\n ></c8y-global-context-link-controls>\n }\n</ng-template>\n\n<ng-template #inlineContent>\n @let settings = inlineSettings();\n @let linkModel = linkDisplayModel();\n\n @if (form && settings) {\n <form\n class=\"d-flex gap-16 p-l-16 p-r-16 inner-scroll\"\n [ngClass]=\"{\n 'p-b-8':\n settings.showTimeContext ||\n settings.showRefresh ||\n settings.showAutoRefresh ||\n settings.showAggregation\n }\"\n [formGroup]=\"form\"\n >\n <div class=\"input-group w-auto input-group-sm\">\n @if (settings.showAggregation) {\n <c8y-aggregation-picker\n data-cy=\"global-inline-date-context--Aggregation-display\"\n [disabledAggregations]=\"getDisabledAggregations()\"\n formControlName=\"aggregation\"\n [resetToDefault]=\"true\"\n ></c8y-aggregation-picker>\n }\n\n @if (settings.showAutoRefresh) {\n <c8y-auto-refresh-control\n [isLoading]=\"isLoading()\"\n [disableCounter]=\"shouldDisableCounter\"\n formControlName=\"isAutoRefreshEnabled\"\n [autoRefreshSeconds]=\"getAutoRefreshSeconds()\"\n [isAutoRefreshConnected]=\"linkModel.linkStates.isAutoRefreshEnabled ?? false\"\n (refresh)=\"onLocalRefreshTrigger()\"\n ></c8y-auto-refresh-control>\n }\n\n @if (settings.showTimeContext) {\n @let isHistoryMode = form.get('refreshOption')?.value === REFRESH_OPTION.HISTORY;\n <c8y-date-time-context-picker\n style=\"margin-left: -1px\"\n formControlName=\"dateTimeContext\"\n [shouldDisableInterval]=\"getIntervalDisableConfig()\"\n [config]=\"\n isHistoryMode\n ? { showDateTo: true, showDateFrom: true }\n : { showDateTo: false, showDateFrom: true }\n \"\n ></c8y-date-time-context-picker>\n }\n\n @if (settings.showRefresh) {\n <div class=\"input-group-btn\">\n <button\n class=\"btn btn-default\"\n [attr.aria-label]=\"'Refresh' | translate\"\n [tooltip]=\"'Refresh' | translate\"\n placement=\"bottom\"\n container=\"body\"\n type=\"button\"\n data-cy=\"global-inline-date-context--reload-button\"\n [adaptivePosition]=\"false\"\n [delay]=\"500\"\n [disabled]=\"isLoading()\"\n (click)=\"refresh.emit(null)\"\n >\n <i\n [class.icon-spin]=\"isLoading()\"\n [c8yIcon]=\"'refresh'\"\n ></i>\n </button>\n </div>\n }\n </div>\n </form>\n }\n\n <ng-content select=\"#body\"></ng-content>\n</ng-template>\n\n@switch (effectiveConfig().displayMode) {\n @case (GLOBAL_CONTEXT_DISPLAY_MODE.CONFIG) {\n <ng-container [ngTemplateOutlet]=\"inlineContent\"></ng-container>\n }\n @case (GLOBAL_CONTEXT_DISPLAY_MODE.VIEW_AND_CONFIG) {\n <ng-container [ngTemplateOutlet]=\"headerContent\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"inlineContent\"></ng-container>\n }\n @default {\n @if (shouldRenderHeaderInline()) {\n <ng-container [ngTemplateOutlet]=\"headerContent\"></ng-container>\n }\n <ng-container [ngTemplateOutlet]=\"inlineContent\"></ng-container>\n }\n}\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: GlobalContextLinkControlsComponent, selector: "c8y-global-context-link-controls", inputs: ["linkStates", "controlConfigs"], outputs: ["allLinksToggled"] }, { kind: "component", type: AggregationPickerComponent, selector: "c8y-aggregation-picker", inputs: ["disabledAggregations", "resetToDefault", "layout"] }, { kind: "component", type: AutoRefreshControlComponent, selector: "c8y-auto-refresh-control", inputs: ["isAutoRefreshConnected", "autoRefreshSeconds", "disableCounter", "isEnabled", "isLoading"], outputs: ["loadingChange", "refresh"] }, { kind: "component", type: DateTimeContextPickerComponent, selector: "c8y-date-time-context-picker", inputs: ["disabled", "shouldDisableInterval", "config"] }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i2.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: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8585
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: GlobalContextInlineComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8586
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: GlobalContextInlineComponent, isStandalone: true, selector: "c8y-global-context-inline", inputs: { widgetControls: { classPropertyName: "widgetControls", publicName: "widgetControls", isSignal: true, isRequired: true, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, dashboardChildForLegacy: { classPropertyName: "dashboardChildForLegacy", publicName: "dashboardChildForLegacy", isSignal: true, isRequired: false, transformFunction: null }, disableRefreshEmits: { classPropertyName: "disableRefreshEmits", publicName: "disableRefreshEmits", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { refresh: "refresh", globalContextChange: "globalContextChange" }, providers: [GlobalContextInlineOrchestratorService], viewQueries: [{ propertyName: "headerTemplateRef", first: true, predicate: ["headerContent"], descendants: true, read: TemplateRef, static: true }], exportAs: ["globalContextInline"], ngImport: i0, template: "<ng-template #headerContent>\n @let linkModel = linkDisplayModel();\n <ng-content select=\"#header\"></ng-content>\n\n @if (shouldShowHeaderLinks()) {\n <c8y-global-context-link-controls\n [linkStates]=\"linkModel.linkStates\"\n [controlConfigs]=\"linkModel.controlConfig\"\n (allLinksToggled)=\"toggleAllLinks($event)\"\n ></c8y-global-context-link-controls>\n }\n</ng-template>\n\n<ng-template #inlineContent>\n @let settings = inlineSettings();\n @let linkModel = linkDisplayModel();\n\n @if (form && settings) {\n <form\n class=\"d-flex gap-16 p-l-16 p-r-16 inner-scroll\"\n [ngClass]=\"{\n 'p-b-8':\n settings.showTimeContext ||\n settings.showRefresh ||\n settings.showAutoRefresh ||\n settings.showAggregation\n }\"\n [formGroup]=\"form\"\n >\n <div class=\"input-group w-auto input-group-sm\">\n @if (settings.showAggregation) {\n <c8y-aggregation-picker\n data-cy=\"global-inline-date-context--Aggregation-display\"\n [disabledAggregations]=\"getDisabledAggregations()\"\n formControlName=\"aggregation\"\n [resetToDefault]=\"true\"\n ></c8y-aggregation-picker>\n }\n\n @if (settings.showAutoRefresh) {\n <c8y-auto-refresh-control\n [isLoading]=\"isLoading()\"\n [disableCounter]=\"shouldDisableCounter\"\n formControlName=\"isAutoRefreshEnabled\"\n [autoRefreshSeconds]=\"getAutoRefreshSeconds()\"\n [isAutoRefreshConnected]=\"linkModel.linkStates.isAutoRefreshEnabled ?? false\"\n (refresh)=\"onLocalRefreshTrigger()\"\n ></c8y-auto-refresh-control>\n }\n\n @if (settings.showTimeContext) {\n @let isHistoryMode = form.get('refreshOption')?.value === REFRESH_OPTION.HISTORY;\n <c8y-date-time-context-picker\n style=\"margin-left: -1px\"\n formControlName=\"dateTimeContext\"\n [shouldDisableInterval]=\"getIntervalDisableConfig()\"\n [config]=\"\n isHistoryMode\n ? { showDateTo: true, showDateFrom: true }\n : { showDateTo: false, showDateFrom: true }\n \"\n ></c8y-date-time-context-picker>\n }\n\n @if (settings.showRefresh) {\n <div class=\"input-group-btn\">\n <button\n class=\"btn btn-default\"\n [attr.aria-label]=\"'Refresh' | translate\"\n [tooltip]=\"'Refresh' | translate\"\n placement=\"bottom\"\n container=\"body\"\n type=\"button\"\n data-cy=\"global-inline-date-context--reload-button\"\n [adaptivePosition]=\"false\"\n [delay]=\"500\"\n [disabled]=\"isLoading()\"\n (click)=\"refresh.emit(null)\"\n >\n <i\n [class.icon-spin]=\"isLoading()\"\n [c8yIcon]=\"'refresh'\"\n ></i>\n </button>\n </div>\n }\n </div>\n </form>\n }\n\n <ng-content select=\"#body\"></ng-content>\n</ng-template>\n\n@switch (effectiveConfig().displayMode) {\n @case (GLOBAL_CONTEXT_DISPLAY_MODE.CONFIG) {\n <ng-container [ngTemplateOutlet]=\"inlineContent\"></ng-container>\n }\n @case (GLOBAL_CONTEXT_DISPLAY_MODE.VIEW_AND_CONFIG) {\n <ng-container [ngTemplateOutlet]=\"headerContent\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"inlineContent\"></ng-container>\n }\n @default {\n @if (shouldRenderHeaderInline()) {\n <ng-container [ngTemplateOutlet]=\"headerContent\"></ng-container>\n }\n <ng-container [ngTemplateOutlet]=\"inlineContent\"></ng-container>\n }\n}\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: GlobalContextLinkControlsComponent, selector: "c8y-global-context-link-controls", inputs: ["linkStates", "controlConfigs"], outputs: ["allLinksToggled"] }, { kind: "component", type: AggregationPickerComponent, selector: "c8y-aggregation-picker", inputs: ["disabledAggregations", "resetToDefault", "layout"] }, { kind: "component", type: AutoRefreshControlComponent, selector: "c8y-auto-refresh-control", inputs: ["isAutoRefreshConnected", "autoRefreshSeconds", "disableCounter", "isEnabled", "isLoading"], outputs: ["loadingChange", "refresh"] }, { kind: "component", type: DateTimeContextPickerComponent, selector: "c8y-date-time-context-picker", inputs: ["disabled", "shouldDisableInterval", "config"] }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i2.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: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8587
8587
  }
8588
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: GlobalContextInlineComponent, decorators: [{
8588
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: GlobalContextInlineComponent, decorators: [{
8589
8589
  type: Component,
8590
8590
  args: [{ standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
8591
8591
  ReactiveFormsModule,
@@ -8924,10 +8924,10 @@ class GlobalContextConfigStoreService {
8924
8924
  target.set(next);
8925
8925
  }
8926
8926
  }
8927
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: GlobalContextConfigStoreService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
8928
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: GlobalContextConfigStoreService }); }
8927
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: GlobalContextConfigStoreService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
8928
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: GlobalContextConfigStoreService }); }
8929
8929
  }
8930
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: GlobalContextConfigStoreService, decorators: [{
8930
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: GlobalContextConfigStoreService, decorators: [{
8931
8931
  type: Injectable
8932
8932
  }] });
8933
8933
 
@@ -9040,10 +9040,10 @@ class GlobalContextConfigComponent {
9040
9040
  'refreshOption' in changes &&
9041
9041
  changes.refreshOption !== current.refreshOption);
9042
9042
  }
9043
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: GlobalContextConfigComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9044
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.18", type: GlobalContextConfigComponent, isStandalone: true, selector: "c8y-global-context-config", inputs: { configInput: { classPropertyName: "configInput", publicName: "config", isSignal: true, isRequired: true, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, widgetControls: { classPropertyName: "widgetControls", publicName: "widgetControls", isSignal: true, isRequired: true, transformFunction: null }, liveSnapshotInput: { classPropertyName: "liveSnapshotInput", publicName: "liveSnapshot", isSignal: true, isRequired: false, transformFunction: null }, historySnapshotInput: { classPropertyName: "historySnapshotInput", publicName: "historySnapshot", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { refresh: "refresh", globalContextChange: "globalContextChange" }, providers: [GlobalContextConfigStoreService], ngImport: i0, template: "<c8y-configuration-controls\n [settings]=\"settings()\"\n [controlsDisplayMode]=\"'horizontal'\"\n [tabsOutletName]=\"'verticalTabOutletForConfigurationModes'\"\n [activeMode]=\"refreshOption()\"\n [liveContext]=\"liveConfig()\"\n [historyContext]=\"historyConfig()\"\n [supportedModes]=\"supportedModes()\"\n (contextChange)=\"onConfigurationChanges($event)\"\n (refreshOptionChange)=\"onConfigurationChanges({ refreshOption: $event })\"\n></c8y-configuration-controls>\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: TooltipModule }, { kind: "ngmodule", type: PopoverModule }, { kind: "ngmodule", type: CollapseModule }, { kind: "component", type: ConfigurationControlsComponent, selector: "c8y-configuration-controls", inputs: ["controlsDisplayMode", "settings", "activeMode", "liveContext", "historyContext", "supportedModes", "tabsOutletName"], outputs: ["refreshOptionChange", "contextChange", "validationStatus"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9043
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: GlobalContextConfigComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9044
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.19", type: GlobalContextConfigComponent, isStandalone: true, selector: "c8y-global-context-config", inputs: { configInput: { classPropertyName: "configInput", publicName: "config", isSignal: true, isRequired: true, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, widgetControls: { classPropertyName: "widgetControls", publicName: "widgetControls", isSignal: true, isRequired: true, transformFunction: null }, liveSnapshotInput: { classPropertyName: "liveSnapshotInput", publicName: "liveSnapshot", isSignal: true, isRequired: false, transformFunction: null }, historySnapshotInput: { classPropertyName: "historySnapshotInput", publicName: "historySnapshot", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { refresh: "refresh", globalContextChange: "globalContextChange" }, providers: [GlobalContextConfigStoreService], ngImport: i0, template: "<c8y-configuration-controls\n [settings]=\"settings()\"\n [controlsDisplayMode]=\"'horizontal'\"\n [tabsOutletName]=\"'verticalTabOutletForConfigurationModes'\"\n [activeMode]=\"refreshOption()\"\n [liveContext]=\"liveConfig()\"\n [historyContext]=\"historyConfig()\"\n [supportedModes]=\"supportedModes()\"\n (contextChange)=\"onConfigurationChanges($event)\"\n (refreshOptionChange)=\"onConfigurationChanges({ refreshOption: $event })\"\n></c8y-configuration-controls>\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: TooltipModule }, { kind: "ngmodule", type: PopoverModule }, { kind: "ngmodule", type: CollapseModule }, { kind: "component", type: ConfigurationControlsComponent, selector: "c8y-configuration-controls", inputs: ["controlsDisplayMode", "settings", "activeMode", "liveContext", "historyContext", "supportedModes", "tabsOutletName"], outputs: ["refreshOptionChange", "contextChange", "validationStatus"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9045
9045
  }
9046
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: GlobalContextConfigComponent, decorators: [{
9046
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: GlobalContextConfigComponent, decorators: [{
9047
9047
  type: Component,
9048
9048
  args: [{ standalone: true, imports: [
9049
9049
  ReactiveFormsModule,
@@ -9106,8 +9106,8 @@ class ConfigContextSelectorComponent {
9106
9106
  this.onTouched();
9107
9107
  });
9108
9108
  }
9109
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ConfigContextSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9110
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: ConfigContextSelectorComponent, isStandalone: true, selector: "c8y-config-context-selector", providers: [
9109
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: ConfigContextSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9110
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: ConfigContextSelectorComponent, isStandalone: true, selector: "c8y-config-context-selector", providers: [
9111
9111
  {
9112
9112
  provide: NG_VALUE_ACCESSOR,
9113
9113
  useExisting: forwardRef(() => ConfigContextSelectorComponent),
@@ -9169,7 +9169,7 @@ class ConfigContextSelectorComponent {
9169
9169
  }
9170
9170
  `, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.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: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: PopoverModule }, { kind: "directive", type: i2$2.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: C8yTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9171
9171
  }
9172
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ConfigContextSelectorComponent, decorators: [{
9172
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: ConfigContextSelectorComponent, decorators: [{
9173
9173
  type: Component,
9174
9174
  args: [{
9175
9175
  selector: 'c8y-config-context-selector',
@@ -9459,8 +9459,8 @@ class GlobalContextWidgetConfigComponent {
9459
9459
  get historySnapshot() {
9460
9460
  return this.historySnapshotState();
9461
9461
  }
9462
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: GlobalContextWidgetConfigComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9463
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: GlobalContextWidgetConfigComponent, isStandalone: true, selector: "c8y-global-context-widget-config", inputs: { configInput: { classPropertyName: "configInput", publicName: "config", isSignal: true, isRequired: true, transformFunction: null }, widgetControlsInput: { classPropertyName: "widgetControlsInput", publicName: "widgetControls", isSignal: true, isRequired: true, transformFunction: null }, isLoadingInput: { classPropertyName: "isLoadingInput", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { displayModeChange: "displayModeChange", refresh: "refresh", globalContextChange: "globalContextChange" }, ngImport: i0, template: `
9462
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: GlobalContextWidgetConfigComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9463
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: GlobalContextWidgetConfigComponent, isStandalone: true, selector: "c8y-global-context-widget-config", inputs: { configInput: { classPropertyName: "configInput", publicName: "config", isSignal: true, isRequired: true, transformFunction: null }, widgetControlsInput: { classPropertyName: "widgetControlsInput", publicName: "widgetControls", isSignal: true, isRequired: true, transformFunction: null }, isLoadingInput: { classPropertyName: "isLoadingInput", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { displayModeChange: "displayModeChange", refresh: "refresh", globalContextChange: "globalContextChange" }, ngImport: i0, template: `
9464
9464
  <form [formGroup]="form">
9465
9465
  <fieldset class="c8y-fieldset">
9466
9466
  <legend>
@@ -9499,7 +9499,7 @@ class GlobalContextWidgetConfigComponent {
9499
9499
  }
9500
9500
  `, isInline: true, dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: ConfigContextSelectorComponent, selector: "c8y-config-context-selector" }, { kind: "component", type: GlobalContextConfigComponent, selector: "c8y-global-context-config", inputs: ["config", "isLoading", "widgetControls", "liveSnapshot", "historySnapshot"], outputs: ["refresh", "globalContextChange"] }, { kind: "ngmodule", type: PopoverModule }, { kind: "directive", type: i2$2.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: C8yTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9501
9501
  }
9502
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: GlobalContextWidgetConfigComponent, decorators: [{
9502
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: GlobalContextWidgetConfigComponent, decorators: [{
9503
9503
  type: Component,
9504
9504
  args: [{
9505
9505
  selector: 'c8y-global-context-widget-config',
@@ -9592,8 +9592,8 @@ class RealtimeControlComponent {
9592
9592
  const newValue = !this.isActive;
9593
9593
  this.onChange(newValue);
9594
9594
  }
9595
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: RealtimeControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9596
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.18", type: RealtimeControlComponent, isStandalone: true, selector: "c8y-realtime-control", providers: [
9595
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: RealtimeControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9596
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.19", type: RealtimeControlComponent, isStandalone: true, selector: "c8y-realtime-control", providers: [
9597
9597
  {
9598
9598
  provide: NG_VALUE_ACCESSOR,
9599
9599
  useExisting: forwardRef(() => RealtimeControlComponent),
@@ -9601,7 +9601,7 @@ class RealtimeControlComponent {
9601
9601
  }
9602
9602
  ], ngImport: i0, template: "@let buttonLabel = (isActive ? disableRealtimeLabel : enableRealtimeLabel) | translate;\n\n<button\n class=\"btn btn-icon c8y-realtime\"\n [attr.aria-label]=\"buttonLabel\"\n [tooltip]=\"tooltipTpl\"\n placement=\"top\"\n container=\"body\"\n type=\"button\"\n data-cy=\"global-context--realtime-toggle\"\n (click)=\"onButtonClick()\"\n [adaptivePosition]=\"false\"\n [delay]=\"500\"\n [disabled]=\"disabled\"\n>\n <span\n class=\"c8y-pulse m-0\"\n [class.active]=\"isActive\"\n [class.inactive]=\"!isActive\"\n ></span>\n</button>\n<ng-template #tooltipTpl>\n {{ buttonLabel }}\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i2.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: FormsModule }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9603
9603
  }
9604
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: RealtimeControlComponent, decorators: [{
9604
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: RealtimeControlComponent, decorators: [{
9605
9605
  type: Component,
9606
9606
  args: [{ selector: 'c8y-realtime-control', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
9607
9607
  {
@@ -9719,10 +9719,10 @@ class PreviewControlsComponent {
9719
9719
  }
9720
9720
  this.config.displayMode = GLOBAL_CONTEXT_DISPLAY_MODE.DASHBOARD;
9721
9721
  }
9722
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: PreviewControlsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9723
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: PreviewControlsComponent, isStandalone: true, selector: "c8y-preview-controls", inputs: { widgetControls: "widgetControls", config: "config" }, ngImport: i0, template: "<!-- Main Controls -->\n@let isConfigMode = config?.displayMode === GLOBAL_CONTEXT_DISPLAY_MODE.CONFIG;\n@let settings = inlineControlsSettings$ | async;\n\n@if (form && settings) {\n <form\n class=\"d-flex gap-16 p-l-16 p-r-16 p-b-8 inner-scroll\"\n [formGroup]=\"form\"\n >\n <!-- Control Group Container -->\n <div class=\"input-group w-auto\">\n <!-- Aggregation Picker -->\n @if (settings.showAggregation) {\n <c8y-aggregation-picker\n formControlName=\"aggregation\"\n [resetToDefault]=\"true\"\n ></c8y-aggregation-picker>\n }\n\n <!-- Auto Refresh Controls -->\n @if (settings.showAutoRefresh) {\n <!-- Auto Refresh Toggle -->\n <c8y-auto-refresh-control\n [isLoading]=\"isLoading\"\n [disableCounter]=\"shouldDisableCounter\"\n formControlName=\"isAutoRefreshEnabled\"\n [autoRefreshSeconds]=\"form.get('refreshInterval')?.value\"\n ></c8y-auto-refresh-control>\n }\n\n @if (settings.showTimeContext) {\n @let isHistoryMode = form.get('refreshOption')?.value === REFRESH_OPTION.HISTORY;\n @let configValue =\n isHistoryMode\n ? {\n showDateTo: true,\n showDateFrom: true\n }\n : {\n showDateTo: false,\n showDateFrom: true\n };\n <c8y-date-time-context-picker\n style=\"margin-left: -1px\"\n formControlName=\"dateTimeContext\"\n [shouldDisableInterval]=\"shouldDisableCustomInterval\"\n [config]=\"configValue\"\n ></c8y-date-time-context-picker>\n }\n\n <!-- Manual Refresh Button -->\n @if (settings.showRefresh) {\n <div class=\"input-group-btn\">\n <button\n class=\"btn btn-default\"\n [attr.aria-label]=\"'Refresh' | translate\"\n [tooltip]=\"'Refresh' | translate\"\n placement=\"bottom\"\n type=\"button\"\n [adaptivePosition]=\"false\"\n [delay]=\"500\"\n [disabled]=\"isLoading\"\n >\n <i\n [class.icon-spin]=\"isLoading\"\n [c8yIcon]=\"'refresh'\"\n ></i>\n </button>\n </div>\n }\n </div>\n </form>\n}\n", styles: [":host{position:relative;display:block;cursor:not-allowed}:host form{position:relative;pointer-events:none;-webkit-user-select:none;user-select:none}:host form:after{content:\"\";position:absolute;inset:0;background:#ffffff0d;z-index:1;pointer-events:none}:host form button,:host form input,:host form select,:host form .dropdown-toggle,:host form .btn{cursor:not-allowed!important;opacity:.85}:host form *{pointer-events:none!important;-webkit-user-select:none!important;user-select:none!important}\n"], dependencies: [{ kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: DateTimeContextPickerComponent, selector: "c8y-date-time-context-picker", inputs: ["disabled", "shouldDisableInterval", "config"] }, { kind: "component", type: AggregationPickerComponent, selector: "c8y-aggregation-picker", inputs: ["disabledAggregations", "resetToDefault", "layout"] }, { kind: "component", type: AutoRefreshControlComponent, selector: "c8y-auto-refresh-control", inputs: ["isAutoRefreshConnected", "autoRefreshSeconds", "disableCounter", "isEnabled", "isLoading"], outputs: ["loadingChange", "refresh"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i2.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: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9722
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: PreviewControlsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9723
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: PreviewControlsComponent, isStandalone: true, selector: "c8y-preview-controls", inputs: { widgetControls: "widgetControls", config: "config" }, ngImport: i0, template: "<!-- Main Controls -->\n@let isConfigMode = config?.displayMode === GLOBAL_CONTEXT_DISPLAY_MODE.CONFIG;\n@let settings = inlineControlsSettings$ | async;\n\n@if (form && settings) {\n <form\n class=\"d-flex gap-16 p-l-16 p-r-16 p-b-8 inner-scroll\"\n [formGroup]=\"form\"\n >\n <!-- Control Group Container -->\n <div class=\"input-group w-auto\">\n <!-- Aggregation Picker -->\n @if (settings.showAggregation) {\n <c8y-aggregation-picker\n formControlName=\"aggregation\"\n [resetToDefault]=\"true\"\n ></c8y-aggregation-picker>\n }\n\n <!-- Auto Refresh Controls -->\n @if (settings.showAutoRefresh) {\n <!-- Auto Refresh Toggle -->\n <c8y-auto-refresh-control\n [isLoading]=\"isLoading\"\n [disableCounter]=\"shouldDisableCounter\"\n formControlName=\"isAutoRefreshEnabled\"\n [autoRefreshSeconds]=\"form.get('refreshInterval')?.value\"\n ></c8y-auto-refresh-control>\n }\n\n @if (settings.showTimeContext) {\n @let isHistoryMode = form.get('refreshOption')?.value === REFRESH_OPTION.HISTORY;\n @let configValue =\n isHistoryMode\n ? {\n showDateTo: true,\n showDateFrom: true\n }\n : {\n showDateTo: false,\n showDateFrom: true\n };\n <c8y-date-time-context-picker\n style=\"margin-left: -1px\"\n formControlName=\"dateTimeContext\"\n [shouldDisableInterval]=\"shouldDisableCustomInterval\"\n [config]=\"configValue\"\n ></c8y-date-time-context-picker>\n }\n\n <!-- Manual Refresh Button -->\n @if (settings.showRefresh) {\n <div class=\"input-group-btn\">\n <button\n class=\"btn btn-default\"\n [attr.aria-label]=\"'Refresh' | translate\"\n [tooltip]=\"'Refresh' | translate\"\n placement=\"bottom\"\n type=\"button\"\n [adaptivePosition]=\"false\"\n [delay]=\"500\"\n [disabled]=\"isLoading\"\n >\n <i\n [class.icon-spin]=\"isLoading\"\n [c8yIcon]=\"'refresh'\"\n ></i>\n </button>\n </div>\n }\n </div>\n </form>\n}\n", styles: [":host{position:relative;display:block;cursor:not-allowed}:host form{position:relative;pointer-events:none;-webkit-user-select:none;user-select:none}:host form:after{content:\"\";position:absolute;inset:0;background:#ffffff0d;z-index:1;pointer-events:none}:host form button,:host form input,:host form select,:host form .dropdown-toggle,:host form .btn{cursor:not-allowed!important;opacity:.85}:host form *{pointer-events:none!important;-webkit-user-select:none!important;user-select:none!important}\n"], dependencies: [{ kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: DateTimeContextPickerComponent, selector: "c8y-date-time-context-picker", inputs: ["disabled", "shouldDisableInterval", "config"] }, { kind: "component", type: AggregationPickerComponent, selector: "c8y-aggregation-picker", inputs: ["disabledAggregations", "resetToDefault", "layout"] }, { kind: "component", type: AutoRefreshControlComponent, selector: "c8y-auto-refresh-control", inputs: ["isAutoRefreshConnected", "autoRefreshSeconds", "disableCounter", "isEnabled", "isLoading"], outputs: ["loadingChange", "refresh"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i2.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: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9724
9724
  }
9725
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: PreviewControlsComponent, decorators: [{
9725
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: PreviewControlsComponent, decorators: [{
9726
9726
  type: Component,
9727
9727
  args: [{ standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
9728
9728
  AsyncPipe,
@@ -10692,8 +10692,8 @@ class GlobalContextWidgetWrapperComponent {
10692
10692
  }
10693
10693
  return diff;
10694
10694
  }
10695
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: GlobalContextWidgetWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10696
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: GlobalContextWidgetWrapperComponent, isStandalone: true, selector: "c8y-global-context-widget-wrapper", inputs: { isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, displayMode: { classPropertyName: "displayMode", publicName: "displayMode", isSignal: true, isRequired: false, transformFunction: null }, widgetControlsConfig: { classPropertyName: "widgetControlsConfig", publicName: "widgetControls", isSignal: true, isRequired: true, transformFunction: null }, controlLinks: { classPropertyName: "controlLinks", publicName: "controlLinks", isSignal: true, isRequired: false, transformFunction: null }, dashboardChildForLegacy: { classPropertyName: "dashboardChildForLegacy", publicName: "dashboardChildForLegacy", isSignal: true, isRequired: false, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null }, disableRefreshEmits: { classPropertyName: "disableRefreshEmits", publicName: "disableRefreshEmits", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { globalContextChange: "globalContextChange" }, host: { classAttribute: "sticky-top bg-component d-block min-width-0" }, queries: [{ propertyName: "widgetBodyRef", first: true, predicate: ["widgetBody"], descendants: true }, { propertyName: "widgetHeaderRef", first: true, predicate: ["widgetHeader"], descendants: true }], viewQueries: [{ propertyName: "globalContextInlineComponent", first: true, predicate: GlobalContextInlineComponent, descendants: true }], ngImport: i0, template: `
10695
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: GlobalContextWidgetWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10696
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: GlobalContextWidgetWrapperComponent, isStandalone: true, selector: "c8y-global-context-widget-wrapper", inputs: { isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, displayMode: { classPropertyName: "displayMode", publicName: "displayMode", isSignal: true, isRequired: false, transformFunction: null }, widgetControlsConfig: { classPropertyName: "widgetControlsConfig", publicName: "widgetControls", isSignal: true, isRequired: true, transformFunction: null }, controlLinks: { classPropertyName: "controlLinks", publicName: "controlLinks", isSignal: true, isRequired: false, transformFunction: null }, dashboardChildForLegacy: { classPropertyName: "dashboardChildForLegacy", publicName: "dashboardChildForLegacy", isSignal: true, isRequired: false, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null }, disableRefreshEmits: { classPropertyName: "disableRefreshEmits", publicName: "disableRefreshEmits", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { globalContextChange: "globalContextChange" }, host: { classAttribute: "sticky-top bg-component d-block min-width-0" }, queries: [{ propertyName: "widgetBodyRef", first: true, predicate: ["widgetBody"], descendants: true }, { propertyName: "widgetHeaderRef", first: true, predicate: ["widgetHeader"], descendants: true }], viewQueries: [{ propertyName: "globalContextInlineComponent", first: true, predicate: GlobalContextInlineComponent, descendants: true }], ngImport: i0, template: `
10697
10697
  @if (widgetControls()) {
10698
10698
  @let GLOBAL_CONTEXT_CONFIG = internalConfig();
10699
10699
  @let INLINE = WIDGET_DISPLAY_MODE.INLINE;
@@ -10746,7 +10746,7 @@ class GlobalContextWidgetWrapperComponent {
10746
10746
  }
10747
10747
  `, isInline: true, dependencies: [{ kind: "component", type: GlobalContextInlineComponent, selector: "c8y-global-context-inline", inputs: ["widgetControls", "config", "isLoading", "dashboardChildForLegacy", "disableRefreshEmits"], outputs: ["refresh", "globalContextChange"], exportAs: ["globalContextInline"] }, { kind: "component", type: GlobalContextWidgetConfigComponent, selector: "c8y-global-context-widget-config", inputs: ["config", "widgetControls", "isLoading"], outputs: ["displayModeChange", "refresh", "globalContextChange"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: PopoverModule }, { kind: "component", type: PreviewControlsComponent, selector: "c8y-preview-controls", inputs: ["widgetControls", "config"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10748
10748
  }
10749
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: GlobalContextWidgetWrapperComponent, decorators: [{
10749
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: GlobalContextWidgetWrapperComponent, decorators: [{
10750
10750
  type: Component,
10751
10751
  args: [{
10752
10752
  selector: 'c8y-global-context-widget-wrapper',
@@ -10849,6 +10849,8 @@ const PRESET_NAME = {
10849
10849
  DEFAULT: 'default',
10850
10850
  ALARM_LIST: 'alarmList',
10851
10851
  CHART: 'chart',
10852
+ DATA_TABLE: 'dataTable',
10853
+ DATA_TABLE_CONFIG: 'dataTableConfig',
10852
10854
  LIVE_ONLY: 'liveOnly',
10853
10855
  AUTO_REFRESH_ONLY: 'autoRefreshOnly',
10854
10856
  AUTO_REFRESH_ONLY_CONFIG: 'autoRefreshOnlyConfig',
@@ -10908,6 +10910,42 @@ const CONTROL_PRESETS = {
10908
10910
  CONTEXT_FEATURE.AUTO_REFRESH
10909
10911
  ]
10910
10912
  },
10913
+ /** For data tables in view/preview mode (aggregation support, no manual refresh) */
10914
+ [PRESET_NAME.DATA_TABLE]: {
10915
+ dashboard: [
10916
+ CONTEXT_FEATURE.LIVE_TIME,
10917
+ CONTEXT_FEATURE.HISTORY_TIME,
10918
+ CONTEXT_FEATURE.AGGREGATION,
10919
+ CONTEXT_FEATURE.AUTO_REFRESH
10920
+ ],
10921
+ config: [CONTEXT_FEATURE.AGGREGATION, CONTEXT_FEATURE.AUTO_REFRESH],
10922
+ view_and_config: [
10923
+ CONTEXT_FEATURE.LIVE_TIME,
10924
+ CONTEXT_FEATURE.HISTORY_TIME,
10925
+ CONTEXT_FEATURE.AGGREGATION,
10926
+ CONTEXT_FEATURE.AUTO_REFRESH
10927
+ ]
10928
+ },
10929
+ /** For data tables in config mode (full time controls with aggregation) */
10930
+ [PRESET_NAME.DATA_TABLE_CONFIG]: {
10931
+ dashboard: [
10932
+ CONTEXT_FEATURE.LIVE_TIME,
10933
+ CONTEXT_FEATURE.HISTORY_TIME,
10934
+ CONTEXT_FEATURE.AUTO_REFRESH
10935
+ ],
10936
+ config: [
10937
+ CONTEXT_FEATURE.LIVE_TIME,
10938
+ CONTEXT_FEATURE.HISTORY_TIME,
10939
+ CONTEXT_FEATURE.AGGREGATION,
10940
+ CONTEXT_FEATURE.AUTO_REFRESH
10941
+ ],
10942
+ view_and_config: [
10943
+ CONTEXT_FEATURE.LIVE_TIME,
10944
+ CONTEXT_FEATURE.HISTORY_TIME,
10945
+ CONTEXT_FEATURE.AGGREGATION,
10946
+ CONTEXT_FEATURE.AUTO_REFRESH
10947
+ ]
10948
+ },
10911
10949
  /** For charts with aggregation support (supports both live and history modes) */
10912
10950
  [PRESET_NAME.CHART]: {
10913
10951
  dashboard: [
@@ -11248,8 +11286,8 @@ class ConfigModeControls {
11248
11286
  }
11249
11287
  : { displayMode: mode, isGlobalContextReady: true };
11250
11288
  }
11251
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ConfigModeControls, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11252
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: ConfigModeControls, isStandalone: true, selector: "c8y-config-mode-controls", inputs: { controls: { classPropertyName: "controls", publicName: "controls", isSignal: true, isRequired: false, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { configChange: "configChange" }, ngImport: i0, template: `
11289
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: ConfigModeControls, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11290
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: ConfigModeControls, isStandalone: true, selector: "c8y-config-mode-controls", inputs: { controls: { classPropertyName: "controls", publicName: "controls", isSignal: true, isRequired: false, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { configChange: "configChange" }, ngImport: i0, template: `
11253
11291
  <form>
11254
11292
  <fieldset class="c8y-fieldset">
11255
11293
  <legend>
@@ -11292,7 +11330,7 @@ class ConfigModeControls {
11292
11330
  }
11293
11331
  `, isInline: true, dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: ConfigContextSelectorComponent, selector: "c8y-config-context-selector" }, { kind: "component", type: ConfigurationControlsComponent, selector: "c8y-configuration-controls", inputs: ["controlsDisplayMode", "settings", "activeMode", "liveContext", "historyContext", "supportedModes", "tabsOutletName"], outputs: ["refreshOptionChange", "contextChange", "validationStatus"] }, { kind: "ngmodule", type: PopoverModule }, { kind: "directive", type: i2$2.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: C8yTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
11294
11332
  }
11295
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ConfigModeControls, decorators: [{
11333
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: ConfigModeControls, decorators: [{
11296
11334
  type: Component,
11297
11335
  args: [{
11298
11336
  selector: 'c8y-config-mode-controls',
@@ -11492,8 +11530,8 @@ class ContextControlsComponent {
11492
11530
  const to = typeof dateCtx.dateTo === 'string' ? new Date(dateCtx.dateTo) : dateCtx.dateTo;
11493
11531
  return [from, to];
11494
11532
  }
11495
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ContextControlsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11496
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: ContextControlsComponent, isStandalone: true, selector: "c8y-context-controls", inputs: { controls: { classPropertyName: "controls", publicName: "controls", isSignal: true, isRequired: false, transformFunction: null }, displayMode: { classPropertyName: "displayMode", publicName: "displayMode", isSignal: true, isRequired: false, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, emitRefresh: { classPropertyName: "emitRefresh", publicName: "emitRefresh", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { configChange: "configChange", refresh: "refresh" }, ngImport: i0, template: `
11533
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: ContextControlsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11534
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: ContextControlsComponent, isStandalone: true, selector: "c8y-context-controls", inputs: { controls: { classPropertyName: "controls", publicName: "controls", isSignal: true, isRequired: false, transformFunction: null }, displayMode: { classPropertyName: "displayMode", publicName: "displayMode", isSignal: true, isRequired: false, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, emitRefresh: { classPropertyName: "emitRefresh", publicName: "emitRefresh", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { configChange: "configChange", refresh: "refresh" }, ngImport: i0, template: `
11497
11535
  <form
11498
11536
  class="d-flex gap-16 p-l-16 p-r-16 p-b-8 inner-scroll h-auto min-width-0 widget-controls"
11499
11537
  [formGroup]="form"
@@ -11501,6 +11539,7 @@ class ContextControlsComponent {
11501
11539
  <div class="input-group w-auto">
11502
11540
  @if (visibleControls().includes('aggregation')) {
11503
11541
  <c8y-aggregation-picker
11542
+ data-cy="global-inline-date-context--Aggregation-display"
11504
11543
  formControlName="aggregation"
11505
11544
  [disabledAggregations]="disabledAggregations()"
11506
11545
  [resetToDefault]="true"
@@ -11549,7 +11588,7 @@ class ContextControlsComponent {
11549
11588
  </form>
11550
11589
  `, isInline: true, dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: DateTimeContextPickerComponent, selector: "c8y-date-time-context-picker", inputs: ["disabled", "shouldDisableInterval", "config"] }, { kind: "component", type: AggregationPickerComponent, selector: "c8y-aggregation-picker", inputs: ["disabledAggregations", "resetToDefault", "layout"] }, { kind: "component", type: AutoRefreshControlComponent, selector: "c8y-auto-refresh-control", inputs: ["isAutoRefreshConnected", "autoRefreshSeconds", "disableCounter", "isEnabled", "isLoading"], outputs: ["loadingChange", "refresh"] }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i2.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: "pipe", type: C8yTranslatePipe, name: "translate" }] }); }
11551
11590
  }
11552
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: ContextControlsComponent, decorators: [{
11591
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: ContextControlsComponent, decorators: [{
11553
11592
  type: Component,
11554
11593
  args: [{
11555
11594
  selector: 'c8y-context-controls',
@@ -11571,6 +11610,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
11571
11610
  <div class="input-group w-auto">
11572
11611
  @if (visibleControls().includes('aggregation')) {
11573
11612
  <c8y-aggregation-picker
11613
+ data-cy="global-inline-date-context--Aggregation-display"
11574
11614
  formControlName="aggregation"
11575
11615
  [disabledAggregations]="disabledAggregations()"
11576
11616
  [resetToDefault]="true"
@@ -11712,8 +11752,8 @@ class LinkButtonsComponent {
11712
11752
  getDashboardChild() {
11713
11753
  return this.dashboardChild() ?? this.injectedDashboardChild ?? null;
11714
11754
  }
11715
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: LinkButtonsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11716
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: LinkButtonsComponent, isStandalone: true, selector: "c8y-link-buttons", inputs: { dashboardChild: { classPropertyName: "dashboardChild", publicName: "dashboardChild", isSignal: true, isRequired: false, transformFunction: null }, isLinked: { classPropertyName: "isLinked", publicName: "isLinked", isSignal: true, isRequired: true, transformFunction: null }, controls: { classPropertyName: "controls", publicName: "controls", isSignal: true, isRequired: false, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { toggle: "toggle" }, viewQueries: [{ propertyName: "headerTemplateRef", first: true, predicate: ["headerContent"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: `
11755
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: LinkButtonsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11756
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: LinkButtonsComponent, isStandalone: true, selector: "c8y-link-buttons", inputs: { dashboardChild: { classPropertyName: "dashboardChild", publicName: "dashboardChild", isSignal: true, isRequired: false, transformFunction: null }, isLinked: { classPropertyName: "isLinked", publicName: "isLinked", isSignal: true, isRequired: true, transformFunction: null }, controls: { classPropertyName: "controls", publicName: "controls", isSignal: true, isRequired: false, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { toggle: "toggle" }, viewQueries: [{ propertyName: "headerTemplateRef", first: true, predicate: ["headerContent"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: `
11717
11757
  <ng-template #headerContent>
11718
11758
  <button
11719
11759
  class="btn-icon-dot-set"
@@ -11742,7 +11782,7 @@ class LinkButtonsComponent {
11742
11782
  </ng-template>
11743
11783
  `, isInline: true, dependencies: [{ kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i2.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: "pipe", type: C8yTranslatePipe, name: "translate" }] }); }
11744
11784
  }
11745
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: LinkButtonsComponent, decorators: [{
11785
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: LinkButtonsComponent, decorators: [{
11746
11786
  type: Component,
11747
11787
  args: [{
11748
11788
  selector: 'c8y-link-buttons',
@@ -11929,8 +11969,8 @@ class GlobalContextConnectorComponent {
11929
11969
  }
11930
11970
  });
11931
11971
  }
11932
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: GlobalContextConnectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11933
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: GlobalContextConnectorComponent, isStandalone: true, selector: "c8y-global-context-connector", inputs: { controls: { classPropertyName: "controls", publicName: "controls", isSignal: true, isRequired: false, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, dashboardChild: { classPropertyName: "dashboardChild", publicName: "dashboardChild", isSignal: true, isRequired: true, transformFunction: null }, linked: { classPropertyName: "linked", publicName: "linked", isSignal: true, isRequired: false, transformFunction: null }, emitRefresh: { classPropertyName: "emitRefresh", publicName: "emitRefresh", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { configChange: "configChange", refresh: "refresh", linkedChange: "linkedChange" }, ngImport: i0, template: `
11972
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: GlobalContextConnectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11973
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: GlobalContextConnectorComponent, isStandalone: true, selector: "c8y-global-context-connector", inputs: { controls: { classPropertyName: "controls", publicName: "controls", isSignal: true, isRequired: false, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, dashboardChild: { classPropertyName: "dashboardChild", publicName: "dashboardChild", isSignal: true, isRequired: true, transformFunction: null }, linked: { classPropertyName: "linked", publicName: "linked", isSignal: true, isRequired: false, transformFunction: null }, emitRefresh: { classPropertyName: "emitRefresh", publicName: "emitRefresh", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { configChange: "configChange", refresh: "refresh", linkedChange: "linkedChange" }, ngImport: i0, template: `
11934
11974
  @if (hasActiveControls()) {
11935
11975
  <c8y-link-buttons
11936
11976
  [dashboardChild]="dashboardChild()"
@@ -11953,7 +11993,7 @@ class GlobalContextConnectorComponent {
11953
11993
  }
11954
11994
  `, isInline: true, dependencies: [{ kind: "component", type: ContextControlsComponent, selector: "c8y-context-controls", inputs: ["controls", "displayMode", "config", "isLoading", "emitRefresh"], outputs: ["configChange", "refresh"] }, { kind: "component", type: LinkButtonsComponent, selector: "c8y-link-buttons", inputs: ["dashboardChild", "isLinked", "controls", "config"], outputs: ["toggle"] }] }); }
11955
11995
  }
11956
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: GlobalContextConnectorComponent, decorators: [{
11996
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: GlobalContextConnectorComponent, decorators: [{
11957
11997
  type: Component,
11958
11998
  args: [{
11959
11999
  selector: 'c8y-global-context-connector',
@@ -11995,8 +12035,8 @@ class LocalControlsComponent {
11995
12035
  this.configChange = output();
11996
12036
  this.refresh = output();
11997
12037
  }
11998
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: LocalControlsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11999
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.18", type: LocalControlsComponent, isStandalone: true, selector: "c8y-local-controls", inputs: { controls: { classPropertyName: "controls", publicName: "controls", isSignal: true, isRequired: false, transformFunction: null }, displayMode: { classPropertyName: "displayMode", publicName: "displayMode", isSignal: true, isRequired: false, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, emitRefresh: { classPropertyName: "emitRefresh", publicName: "emitRefresh", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { configChange: "configChange", refresh: "refresh" }, host: { attributes: { "data-local-controls": "true" }, properties: { "class.disabled": "disabled()" } }, ngImport: i0, template: `
12038
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: LocalControlsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12039
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.19", type: LocalControlsComponent, isStandalone: true, selector: "c8y-local-controls", inputs: { controls: { classPropertyName: "controls", publicName: "controls", isSignal: true, isRequired: false, transformFunction: null }, displayMode: { classPropertyName: "displayMode", publicName: "displayMode", isSignal: true, isRequired: false, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, emitRefresh: { classPropertyName: "emitRefresh", publicName: "emitRefresh", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { configChange: "configChange", refresh: "refresh" }, host: { attributes: { "data-local-controls": "true" }, properties: { "class.disabled": "disabled()" } }, ngImport: i0, template: `
12000
12040
  <div [class.disabled-overlay]="disabled()">
12001
12041
  <c8y-context-controls
12002
12042
  [controls]="controls()"
@@ -12010,7 +12050,7 @@ class LocalControlsComponent {
12010
12050
  </div>
12011
12051
  `, isInline: true, styles: [".disabled-overlay{position:relative;cursor:not-allowed}.disabled-overlay:after{content:\"\";position:absolute;inset:0;z-index:10}\n"], dependencies: [{ kind: "component", type: ContextControlsComponent, selector: "c8y-context-controls", inputs: ["controls", "displayMode", "config", "isLoading", "emitRefresh"], outputs: ["configChange", "refresh"] }] }); }
12012
12052
  }
12013
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: LocalControlsComponent, decorators: [{
12053
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: LocalControlsComponent, decorators: [{
12014
12054
  type: Component,
12015
12055
  args: [{ selector: 'c8y-local-controls', standalone: true, imports: [ContextControlsComponent], host: {
12016
12056
  'data-local-controls': 'true',
@@ -12033,11 +12073,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
12033
12073
  /** @deprecated Use LocalControlsComponent or GlobalContextConnectorComponent instead */
12034
12074
 
12035
12075
  class GlobalContextModule {
12036
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: GlobalContextModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
12037
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.18", ngImport: i0, type: GlobalContextModule }); }
12038
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: GlobalContextModule, providers: [hookActionBar(GlobalContextNavigationService)] }); }
12076
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: GlobalContextModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
12077
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.19", ngImport: i0, type: GlobalContextModule }); }
12078
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: GlobalContextModule, providers: [hookActionBar(GlobalContextNavigationService)] }); }
12039
12079
  }
12040
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: GlobalContextModule, decorators: [{
12080
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: GlobalContextModule, decorators: [{
12041
12081
  type: NgModule,
12042
12082
  args: [{
12043
12083
  declarations: [],