@c8y/ngx-components 1023.75.1 → 1023.77.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 (282) hide show
  1. package/asset-properties/index.d.ts +63 -0
  2. package/asset-properties/index.d.ts.map +1 -1
  3. package/assets-navigator/index.d.ts +4 -0
  4. package/assets-navigator/index.d.ts.map +1 -1
  5. package/fesm2022/c8y-ngx-components-actility-device-registration.mjs +16 -16
  6. package/fesm2022/c8y-ngx-components-advanced-software-management.mjs +7 -7
  7. package/fesm2022/c8y-ngx-components-ai-agent-chat.mjs +12 -12
  8. package/fesm2022/c8y-ngx-components-ai-ai-chat.mjs +21 -21
  9. package/fesm2022/c8y-ngx-components-ai.mjs +3 -3
  10. package/fesm2022/c8y-ngx-components-alarm-event-selector.mjs +40 -40
  11. package/fesm2022/c8y-ngx-components-alarms-cockpit.mjs +4 -4
  12. package/fesm2022/c8y-ngx-components-alarms-devicemanagement.mjs +3 -3
  13. package/fesm2022/c8y-ngx-components-alarms.mjs +82 -82
  14. package/fesm2022/c8y-ngx-components-api.mjs +7 -7
  15. package/fesm2022/c8y-ngx-components-app-logs.mjs +10 -10
  16. package/fesm2022/c8y-ngx-components-application-access-list.mjs +12 -12
  17. package/fesm2022/c8y-ngx-components-application-access-user-application-access-user-details-wrapper.mjs +3 -3
  18. package/fesm2022/c8y-ngx-components-asset-properties.mjs +221 -69
  19. package/fesm2022/c8y-ngx-components-asset-properties.mjs.map +1 -1
  20. package/fesm2022/{c8y-ngx-components-asset-property-grid.component-CEphJoqx.mjs → c8y-ngx-components-asset-property-grid.component-BJOPTjF1.mjs} +13 -13
  21. package/fesm2022/{c8y-ngx-components-asset-property-grid.component-CEphJoqx.mjs.map → c8y-ngx-components-asset-property-grid.component-BJOPTjF1.mjs.map} +1 -1
  22. package/fesm2022/c8y-ngx-components-assets-navigator.mjs +36 -32
  23. package/fesm2022/c8y-ngx-components-assets-navigator.mjs.map +1 -1
  24. package/fesm2022/c8y-ngx-components-auth-configuration.mjs +120 -120
  25. package/fesm2022/c8y-ngx-components-binary-file-download.mjs +7 -7
  26. package/fesm2022/c8y-ngx-components-bookmarks.mjs +13 -13
  27. package/fesm2022/c8y-ngx-components-branding-base-branding.mjs +4 -4
  28. package/fesm2022/c8y-ngx-components-branding-dark-theme.mjs +7 -7
  29. package/fesm2022/c8y-ngx-components-branding-extra-css-branding-editor.mjs +7 -7
  30. package/fesm2022/c8y-ngx-components-branding-plain-branding-editor-lazy.mjs +3 -3
  31. package/fesm2022/c8y-ngx-components-branding-plain-branding-editor.mjs +8 -8
  32. package/fesm2022/c8y-ngx-components-branding-plain-branding-editor.mjs.map +1 -1
  33. package/fesm2022/c8y-ngx-components-branding-shared-data.mjs +15 -15
  34. package/fesm2022/c8y-ngx-components-branding-shared-lazy-add-branding-modal.mjs +6 -6
  35. package/fesm2022/c8y-ngx-components-branding-shared-lazy.mjs +36 -36
  36. package/fesm2022/c8y-ngx-components-branding-shared.mjs +13 -13
  37. package/fesm2022/c8y-ngx-components-child-devices.mjs +13 -13
  38. package/fesm2022/c8y-ngx-components-cockpit-config.mjs +40 -40
  39. 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
  40. 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
  41. 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
  42. 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
  43. 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
  44. 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
  45. 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
  46. 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
  47. 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
  48. 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
  49. 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
  50. 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
  51. package/fesm2022/c8y-ngx-components-computed-asset-properties.mjs +1 -1
  52. package/fesm2022/c8y-ngx-components-connectivity.mjs +53 -53
  53. package/fesm2022/c8y-ngx-components-context-dashboard-asset-add.mjs +10 -10
  54. package/fesm2022/c8y-ngx-components-context-dashboard-asset-view.mjs +7 -7
  55. package/fesm2022/c8y-ngx-components-context-dashboard-cockpit-home-dashboard.mjs +11 -11
  56. 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
  57. 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
  58. 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
  59. 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
  60. 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
  61. 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
  62. package/fesm2022/c8y-ngx-components-context-dashboard-device-add.mjs +10 -10
  63. package/fesm2022/c8y-ngx-components-context-dashboard-device-view.mjs +7 -7
  64. package/fesm2022/c8y-ngx-components-context-dashboard-devicemanagement.mjs +3 -3
  65. package/fesm2022/c8y-ngx-components-context-dashboard-state.mjs +3 -3
  66. package/fesm2022/c8y-ngx-components-context-dashboard.mjs +108 -108
  67. package/fesm2022/{c8y-ngx-components-dashboard-details-advanced-tab-dashboard-details-advanced-tab.component-Cek3_qZQ.mjs → c8y-ngx-components-dashboard-details-advanced-tab-dashboard-details-advanced-tab.component-DFytXNdc.mjs} +17 -17
  68. package/fesm2022/c8y-ngx-components-dashboard-details-advanced-tab-dashboard-details-advanced-tab.component-DFytXNdc.mjs.map +1 -0
  69. package/fesm2022/c8y-ngx-components-dashboard-details-advanced-tab.mjs +12 -12
  70. package/fesm2022/c8y-ngx-components-dashboard-manager-devicemanagement.mjs +6 -6
  71. package/fesm2022/c8y-ngx-components-dashboard-manager.mjs +22 -22
  72. package/fesm2022/c8y-ngx-components-data-broker.mjs +7 -7
  73. package/fesm2022/c8y-ngx-components-data-grid-columns-asset-type.mjs +3 -3
  74. package/fesm2022/c8y-ngx-components-data-grid-columns.mjs +3 -3
  75. package/fesm2022/c8y-ngx-components-datapoint-explorer-view.mjs +24 -24
  76. package/fesm2022/c8y-ngx-components-datapoint-explorer.mjs +13 -13
  77. package/fesm2022/c8y-ngx-components-datapoint-library-details.mjs +3 -3
  78. package/fesm2022/c8y-ngx-components-datapoint-library-list.mjs +3 -3
  79. package/fesm2022/c8y-ngx-components-datapoint-library-services.mjs +3 -3
  80. package/fesm2022/c8y-ngx-components-datapoint-library.mjs +4 -4
  81. package/fesm2022/c8y-ngx-components-datapoint-selector.mjs +43 -43
  82. package/fesm2022/c8y-ngx-components-datapoints-export-selector.mjs +36 -36
  83. package/fesm2022/c8y-ngx-components-default-subscriptions.mjs +16 -16
  84. package/fesm2022/c8y-ngx-components-device-enrolment-modal.mjs +9 -9
  85. package/fesm2022/c8y-ngx-components-device-enrolment.mjs +6 -6
  86. package/fesm2022/c8y-ngx-components-device-grid.mjs +43 -43
  87. package/fesm2022/c8y-ngx-components-device-list.mjs +22 -22
  88. package/fesm2022/c8y-ngx-components-device-map.mjs +12 -12
  89. package/fesm2022/c8y-ngx-components-device-profile.mjs +34 -34
  90. package/fesm2022/c8y-ngx-components-device-protocol-object-mappings.mjs +3 -3
  91. package/fesm2022/c8y-ngx-components-device-protocols.mjs +16 -16
  92. package/fesm2022/c8y-ngx-components-device-provisioned-certificates.mjs +13 -13
  93. package/fesm2022/c8y-ngx-components-device-shell.mjs +31 -31
  94. package/fesm2022/c8y-ngx-components-diagnostics.mjs +13 -13
  95. package/fesm2022/c8y-ngx-components-echart.mjs +30 -30
  96. package/fesm2022/c8y-ngx-components-ecosystem-application-plugins.mjs +43 -43
  97. package/fesm2022/c8y-ngx-components-ecosystem-archived-confirm.mjs +7 -7
  98. package/fesm2022/c8y-ngx-components-ecosystem-license-confirm.mjs +10 -10
  99. package/fesm2022/c8y-ngx-components-ecosystem-plugin-setup-stepper.mjs +7 -7
  100. package/fesm2022/c8y-ngx-components-ecosystem-shared.mjs +46 -46
  101. package/fesm2022/c8y-ngx-components-ecosystem.mjs +82 -82
  102. package/fesm2022/c8y-ngx-components-editor.mjs +6 -6
  103. package/fesm2022/c8y-ngx-components-events-events-timeline.mjs +3 -3
  104. package/fesm2022/c8y-ngx-components-events.mjs +33 -33
  105. package/fesm2022/c8y-ngx-components-exports-list.mjs +6 -6
  106. package/fesm2022/c8y-ngx-components-feature-toggles-list.mjs +6 -6
  107. package/fesm2022/c8y-ngx-components-file-preview.mjs +7 -7
  108. package/fesm2022/c8y-ngx-components-files-repository.mjs +19 -19
  109. package/fesm2022/c8y-ngx-components-global-context.mjs +170 -148
  110. package/fesm2022/c8y-ngx-components-global-context.mjs.map +1 -1
  111. package/fesm2022/c8y-ngx-components-group-breadcrumbs.mjs +6 -6
  112. package/fesm2022/c8y-ngx-components-icon-selector.mjs +19 -19
  113. package/fesm2022/c8y-ngx-components-interval-picker.mjs +3 -3
  114. package/fesm2022/c8y-ngx-components-location.mjs +28 -28
  115. package/fesm2022/c8y-ngx-components-loriot-device-registration.mjs +16 -16
  116. package/fesm2022/c8y-ngx-components-map.mjs +39 -51
  117. package/fesm2022/c8y-ngx-components-map.mjs.map +1 -1
  118. package/fesm2022/c8y-ngx-components-messaging-management.mjs +55 -55
  119. package/fesm2022/c8y-ngx-components-operation-picker.mjs +9 -9
  120. package/fesm2022/c8y-ngx-components-operations-bulk-operation-from-single.mjs +7 -7
  121. package/fesm2022/c8y-ngx-components-operations-bulk-operation-list-item.mjs +19 -19
  122. package/fesm2022/c8y-ngx-components-operations-bulk-operation-scheduler.mjs +7 -7
  123. package/fesm2022/c8y-ngx-components-operations-bulk-operation-stepper.mjs +13 -13
  124. package/fesm2022/c8y-ngx-components-operations-bulk-operations-list.mjs +13 -13
  125. package/fesm2022/c8y-ngx-components-operations-bulk-operations-service.mjs +7 -7
  126. package/fesm2022/c8y-ngx-components-operations-bulk-operations-stepper-container.mjs +7 -7
  127. package/fesm2022/c8y-ngx-components-operations-bulk-single-operations-list.mjs +3 -3
  128. package/fesm2022/c8y-ngx-components-operations-create-bulk-operation-details.mjs +7 -7
  129. package/fesm2022/c8y-ngx-components-operations-device-selector.mjs +7 -7
  130. package/fesm2022/c8y-ngx-components-operations-grid-columns.mjs +12 -12
  131. package/fesm2022/c8y-ngx-components-operations-operation-details.mjs +13 -13
  132. package/fesm2022/c8y-ngx-components-operations-operation-summary.mjs +7 -7
  133. package/fesm2022/c8y-ngx-components-operations-operations-list-item-details.mjs +10 -10
  134. package/fesm2022/c8y-ngx-components-operations-operations-list.mjs +12 -12
  135. package/fesm2022/c8y-ngx-components-operations-operations-timeline.mjs +7 -7
  136. package/fesm2022/c8y-ngx-components-operations-shared.mjs +10 -10
  137. package/fesm2022/c8y-ngx-components-operations-status-filter.mjs +7 -7
  138. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs +7 -7
  139. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs +13 -13
  140. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-firmware.mjs +13 -13
  141. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-software.mjs +13 -13
  142. package/fesm2022/c8y-ngx-components-operations-stepper-frames.mjs +13 -13
  143. package/fesm2022/c8y-ngx-components-operations.mjs +7 -7
  144. package/fesm2022/c8y-ngx-components-pending-mo-request.mjs +7 -7
  145. package/fesm2022/c8y-ngx-components-platform-configuration.mjs +10 -10
  146. package/fesm2022/c8y-ngx-components-protocol-lpwan.mjs +38 -38
  147. package/fesm2022/c8y-ngx-components-protocol-opcua.mjs +58 -58
  148. package/fesm2022/c8y-ngx-components-register-device.mjs +58 -58
  149. package/fesm2022/c8y-ngx-components-remote-access-configurations.mjs +9 -9
  150. package/fesm2022/c8y-ngx-components-remote-access-data.mjs +3 -3
  151. package/fesm2022/c8y-ngx-components-remote-access-passthrough.mjs +3 -3
  152. package/fesm2022/c8y-ngx-components-remote-access-shared.mjs +6 -6
  153. package/fesm2022/c8y-ngx-components-remote-access-ssh-remote-access-ssh-endpoint-modal.mjs +3 -3
  154. package/fesm2022/c8y-ngx-components-remote-access-ssh.mjs +3 -3
  155. package/fesm2022/c8y-ngx-components-remote-access-telnet.mjs +3 -3
  156. package/fesm2022/c8y-ngx-components-remote-access-terminal-viewer.mjs +3 -3
  157. package/fesm2022/c8y-ngx-components-remote-access-vnc-remote-access-vnc-endpoint-modal.mjs +3 -3
  158. package/fesm2022/c8y-ngx-components-remote-access-vnc-vnc-viewer.mjs +6 -6
  159. package/fesm2022/c8y-ngx-components-remote-access-vnc.mjs +3 -3
  160. package/fesm2022/c8y-ngx-components-replace-device-replace-device-wizard.mjs +6 -6
  161. package/fesm2022/c8y-ngx-components-replace-device.mjs +10 -10
  162. package/fesm2022/c8y-ngx-components-report-dashboard.mjs +16 -16
  163. package/fesm2022/c8y-ngx-components-reports.mjs +19 -19
  164. package/fesm2022/c8y-ngx-components-repository-configuration.mjs +48 -48
  165. package/fesm2022/c8y-ngx-components-repository-firmware.mjs +33 -33
  166. package/fesm2022/c8y-ngx-components-repository-shared.mjs +34 -34
  167. package/fesm2022/c8y-ngx-components-repository-software.mjs +42 -42
  168. package/fesm2022/c8y-ngx-components-repository.mjs +4 -4
  169. package/fesm2022/c8y-ngx-components-search.mjs +19 -19
  170. package/fesm2022/c8y-ngx-components-sensor-phone-sensor-phone-modal.mjs +6 -6
  171. package/fesm2022/c8y-ngx-components-sensor-phone.mjs +7 -7
  172. package/fesm2022/c8y-ngx-components-services-service-command-tab.mjs +3 -3
  173. package/fesm2022/c8y-ngx-components-services-shared.mjs +3 -3
  174. package/fesm2022/c8y-ngx-components-services.mjs +29 -29
  175. package/fesm2022/c8y-ngx-components-sigfox-device-registration.mjs +16 -16
  176. package/fesm2022/c8y-ngx-components-sms-gateway.mjs +7 -7
  177. package/fesm2022/c8y-ngx-components-static-assets-data.mjs +3 -3
  178. package/fesm2022/c8y-ngx-components-static-assets-modal.mjs +9 -9
  179. package/fesm2022/c8y-ngx-components-static-assets.mjs +6 -6
  180. package/fesm2022/c8y-ngx-components-sub-assets.mjs +64 -60
  181. package/fesm2022/c8y-ngx-components-sub-assets.mjs.map +1 -1
  182. package/fesm2022/c8y-ngx-components-tenants.mjs +40 -40
  183. package/fesm2022/c8y-ngx-components-time-context.mjs +6 -6
  184. package/fesm2022/c8y-ngx-components-tracking.mjs +12 -12
  185. package/fesm2022/c8y-ngx-components-translation-editor-data.mjs +3 -3
  186. package/fesm2022/c8y-ngx-components-translation-editor-lazy.mjs +12 -12
  187. package/fesm2022/c8y-ngx-components-translation-editor.mjs +6 -6
  188. package/fesm2022/c8y-ngx-components-trusted-certificates.mjs +33 -33
  189. package/fesm2022/c8y-ngx-components-upgrade-upgraded-services.mjs +4 -4
  190. package/fesm2022/c8y-ngx-components-upgrade.mjs +41 -41
  191. package/fesm2022/c8y-ngx-components-user-roles.mjs +10 -10
  192. package/fesm2022/c8y-ngx-components-widgets-definitions-alarms-alarm-list.mjs +1 -1
  193. package/fesm2022/c8y-ngx-components-widgets-definitions-alarms-alarm-list.mjs.map +1 -1
  194. package/fesm2022/c8y-ngx-components-widgets-definitions-alarms-all-critical-alarms.mjs +4 -5
  195. package/fesm2022/c8y-ngx-components-widgets-definitions-alarms-all-critical-alarms.mjs.map +1 -1
  196. package/fesm2022/c8y-ngx-components-widgets-definitions-alarms-recent-alarms.mjs +4 -5
  197. package/fesm2022/c8y-ngx-components-widgets-definitions-alarms-recent-alarms.mjs.map +1 -1
  198. package/fesm2022/c8y-ngx-components-widgets-definitions-asset-notes.mjs +1 -1
  199. package/fesm2022/c8y-ngx-components-widgets-definitions-asset-notes.mjs.map +1 -1
  200. package/fesm2022/c8y-ngx-components-widgets-definitions-asset-table.mjs +7 -7
  201. package/fesm2022/c8y-ngx-components-widgets-definitions-asset-table.mjs.map +1 -1
  202. package/fesm2022/c8y-ngx-components-widgets-definitions-datapoints-graph.mjs +4 -4
  203. package/fesm2022/c8y-ngx-components-widgets-definitions-datapoints-graph.mjs.map +1 -1
  204. package/fesm2022/c8y-ngx-components-widgets-definitions-datapoints-table.mjs +1 -1
  205. package/fesm2022/c8y-ngx-components-widgets-definitions-datapoints-table.mjs.map +1 -1
  206. package/fesm2022/c8y-ngx-components-widgets-definitions-device-control-message.mjs +1 -1
  207. package/fesm2022/c8y-ngx-components-widgets-definitions-device-control-message.mjs.map +1 -1
  208. package/fesm2022/c8y-ngx-components-widgets-definitions-html-widget-ai-config.mjs +3 -3
  209. package/fesm2022/c8y-ngx-components-widgets-definitions-html-widget.mjs +7 -7
  210. package/fesm2022/c8y-ngx-components-widgets-definitions-html-widget.mjs.map +1 -1
  211. package/fesm2022/c8y-ngx-components-widgets-definitions-image.mjs +1 -1
  212. package/fesm2022/c8y-ngx-components-widgets-definitions-image.mjs.map +1 -1
  213. package/fesm2022/c8y-ngx-components-widgets-definitions-info-gauge.mjs +1 -1
  214. package/fesm2022/c8y-ngx-components-widgets-definitions-info-gauge.mjs.map +1 -1
  215. package/fesm2022/c8y-ngx-components-widgets-definitions-kpi.mjs +1 -1
  216. package/fesm2022/c8y-ngx-components-widgets-definitions-kpi.mjs.map +1 -1
  217. package/fesm2022/c8y-ngx-components-widgets-definitions-linear-gauge.mjs +1 -1
  218. package/fesm2022/c8y-ngx-components-widgets-definitions-linear-gauge.mjs.map +1 -1
  219. package/fesm2022/c8y-ngx-components-widgets-definitions-map.mjs +1 -1
  220. package/fesm2022/c8y-ngx-components-widgets-definitions-map.mjs.map +1 -1
  221. package/fesm2022/c8y-ngx-components-widgets-definitions-markdown.mjs +1 -1
  222. package/fesm2022/c8y-ngx-components-widgets-definitions-markdown.mjs.map +1 -1
  223. package/fesm2022/c8y-ngx-components-widgets-definitions-radial-gauge.mjs +1 -1
  224. package/fesm2022/c8y-ngx-components-widgets-definitions-radial-gauge.mjs.map +1 -1
  225. package/fesm2022/c8y-ngx-components-widgets-definitions-silo.mjs +1 -1
  226. package/fesm2022/c8y-ngx-components-widgets-definitions-silo.mjs.map +1 -1
  227. package/fesm2022/c8y-ngx-components-widgets-definitions-three-d-rotation.mjs +1 -1
  228. package/fesm2022/c8y-ngx-components-widgets-definitions-three-d-rotation.mjs.map +1 -1
  229. package/fesm2022/c8y-ngx-components-widgets-implementations-alarms.mjs +85 -78
  230. package/fesm2022/c8y-ngx-components-widgets-implementations-alarms.mjs.map +1 -1
  231. package/fesm2022/c8y-ngx-components-widgets-implementations-asset-notes.mjs +3 -3
  232. package/fesm2022/c8y-ngx-components-widgets-implementations-asset-table.mjs +111 -40
  233. package/fesm2022/c8y-ngx-components-widgets-implementations-asset-table.mjs.map +1 -1
  234. package/fesm2022/c8y-ngx-components-widgets-implementations-cockpit-legacy-welcome.mjs +3 -3
  235. package/fesm2022/c8y-ngx-components-widgets-implementations-cockpit-welcome.mjs +3 -3
  236. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-graph.mjs +6 -6
  237. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-list.mjs +12 -12
  238. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-table.mjs +21 -21
  239. package/fesm2022/c8y-ngx-components-widgets-implementations-device-control-message.mjs +3 -3
  240. package/fesm2022/c8y-ngx-components-widgets-implementations-device-management-welcome.mjs +10 -10
  241. package/fesm2022/c8y-ngx-components-widgets-implementations-events.mjs +6 -6
  242. package/fesm2022/c8y-ngx-components-widgets-implementations-help-and-service-widget.mjs +3 -3
  243. package/fesm2022/c8y-ngx-components-widgets-implementations-html-widget.mjs +24 -24
  244. package/fesm2022/c8y-ngx-components-widgets-implementations-image.mjs +9 -9
  245. package/fesm2022/c8y-ngx-components-widgets-implementations-info-gauge.mjs +19 -19
  246. package/fesm2022/c8y-ngx-components-widgets-implementations-info-gauge.mjs.map +1 -1
  247. package/fesm2022/c8y-ngx-components-widgets-implementations-kpi.mjs +6 -6
  248. package/fesm2022/c8y-ngx-components-widgets-implementations-linear-gauge.mjs +6 -6
  249. package/fesm2022/c8y-ngx-components-widgets-implementations-map.mjs +9 -9
  250. package/fesm2022/c8y-ngx-components-widgets-implementations-markdown.mjs +9 -9
  251. package/fesm2022/c8y-ngx-components-widgets-implementations-pie-chart.mjs +9 -9
  252. package/fesm2022/c8y-ngx-components-widgets-implementations-quick-links.mjs +18 -18
  253. package/fesm2022/c8y-ngx-components-widgets-implementations-three-d-rotation.mjs +9 -9
  254. package/fesm2022/c8y-ngx-components.mjs +1524 -1536
  255. package/fesm2022/c8y-ngx-components.mjs.map +1 -1
  256. package/global-context/index.d.ts +87 -1
  257. package/global-context/index.d.ts.map +1 -1
  258. package/index.d.ts +10 -4
  259. package/index.d.ts.map +1 -1
  260. package/locales/de.po +3 -0
  261. package/locales/es.po +3 -0
  262. package/locales/fr.po +3 -0
  263. package/locales/ja_JP.po +3 -0
  264. package/locales/ko.po +3 -0
  265. package/locales/locales.pot +3 -6
  266. package/locales/nl.po +3 -0
  267. package/locales/pl.po +3 -0
  268. package/locales/pt_BR.po +3 -0
  269. package/locales/zh_CN.po +3 -0
  270. package/locales/zh_TW.po +3 -0
  271. package/map/index.d.ts +12 -1
  272. package/map/index.d.ts.map +1 -1
  273. package/package.json +1 -1
  274. package/sub-assets/index.d.ts +4 -0
  275. package/sub-assets/index.d.ts.map +1 -1
  276. package/widgets/definitions/alarms/all-critical-alarms/index.d.ts +1 -2
  277. package/widgets/definitions/alarms/all-critical-alarms/index.d.ts.map +1 -1
  278. package/widgets/definitions/alarms/recent-alarms/index.d.ts +1 -2
  279. package/widgets/definitions/alarms/recent-alarms/index.d.ts.map +1 -1
  280. package/widgets/implementations/alarms/index.d.ts +6 -1
  281. package/widgets/implementations/alarms/index.d.ts.map +1 -1
  282. package/fesm2022/c8y-ngx-components-dashboard-details-advanced-tab-dashboard-details-advanced-tab.component-Cek3_qZQ.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"c8y-ngx-components-widgets-definitions-datapoints-graph.mjs","sources":["../../widgets/definitions/datapoints-graph/datapoint-graph-widget-factory.ts","../../widgets/definitions/datapoints-graph/datapoint-graph.constants.ts","../../widgets/definitions/datapoints-graph/index.ts","../../widgets/definitions/datapoints-graph/c8y-ngx-components-widgets-definitions-datapoints-graph.ts"],"sourcesContent":["import { inject, Injectable } from '@angular/core';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport {\n DynamicDatapointsResolver,\n PreviewService,\n DynamicWidgetDefinition\n} from '@c8y/ngx-components';\nimport { map, Observable } from 'rxjs';\nimport { defaultWidgetIds } from '@c8y/ngx-components/widgets/definitions';\nimport cloneDeep from 'lodash/cloneDeep';\nimport {\n exportConfigWithTargets,\n importConfigWithTargets\n} from '@c8y/ngx-components/widgets/import-export-config';\nimport { PRESET_NAME } from '@c8y/ngx-components/global-context';\n\n@Injectable()\nexport class DatapointGraphFactory {\n private readonly previewFeatureService = inject(PreviewService);\n\n private readonly baseWidgetDefinition: DynamicWidgetDefinition = {\n id: defaultWidgetIds.DATAPOINTS_GRAPH,\n label: gettext('Data graph'),\n description: gettext('Displays a graph of selected data points'),\n loadComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/datapoints-graph').then(\n m => m.DatapointsGraphWidgetViewComponent\n ),\n loadConfigComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/datapoints-graph').then(\n m => m.DatapointsGraphWidgetConfigComponent\n ),\n previewImage: 'c8y-style-assets/datapoints-graph-widget.png',\n resolve: {\n datapoints: DynamicDatapointsResolver\n },\n data: {\n schema: () =>\n import(\n 'c8y-schema-loader?interfaceName=DatapointsGraphWidgetConfig!@c8y/ngx-components/echart'\n ),\n export: exportConfigWithTargets,\n import: importConfigWithTargets,\n controls: PRESET_NAME.DATAPOINTS_GRAPH,\n settings: {\n noNewWidgets: false,\n widgetDefaults: {\n _width: 8,\n _height: 4\n },\n noDeviceTarget: true,\n groupsSelectable: false\n },\n displaySettings: {\n globalTimeContext: true,\n globalAggregationContext: true,\n globalRealtimeContext: true\n }\n }\n };\n\n get(): Observable<DynamicWidgetDefinition[]> {\n return this.previewFeatureService.getState$('ui.datapoint-graph.v2').pipe(\n map(state => {\n if (state) {\n const newWidgetDefinition = cloneDeep(this.baseWidgetDefinition);\n newWidgetDefinition.id = defaultWidgetIds.DATAPOINTS_GRAPH_NEW;\n newWidgetDefinition.data.settings.noNewWidgets = true;\n\n return [this.baseWidgetDefinition, newWidgetDefinition];\n }\n return [];\n })\n );\n }\n}\n","import { DatapointAttributesFormConfig } from '@c8y/ngx-components/datapoint-selector';\n\nexport const DATAPOINT_SELECT_DEFAULT_OPTIONS: Partial<DatapointAttributesFormConfig> = {\n showRange: true,\n showChart: true\n};\n\nexport const MIN_ACTIVE_COUNT = 1;\n","import { hookPreview, hookWidget } from '@c8y/ngx-components';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport { DatapointGraphFactory } from './datapoint-graph-widget-factory';\nimport {\n hookWidgetConfig,\n GlobalContextSectionComponent\n} from '@c8y/ngx-components/context-dashboard';\nimport { defaultWidgetIds } from '@c8y/ngx-components/widgets/definitions';\nimport { DATAPOINT_SELECT_DEFAULT_OPTIONS, MIN_ACTIVE_COUNT } from './datapoint-graph.constants';\nimport { PRESET_NAME } from '@c8y/ngx-components/global-context';\n\nexport const datapointGraphWidgetproviders = [\n hookWidget(DatapointGraphFactory),\n hookPreview({\n key: 'ui.datapoint-graph.v2',\n label: 'Data graph',\n description: () =>\n import('@c8y/style/markdown-files/datapoint-graph-preview.md').then(m => m.default),\n settings: {\n reload: true\n }\n }),\n /* We need to register the widget config for both the new and old widget IDs. This ensures compatibility for widgets\n created with the new data graph id (e.g. if a data point graph widget was created via community plugins)\n and widgets using the default one (toggled via preview feature)\n */\n hookWidgetConfig<GlobalContextSectionComponent>({\n widgetId: defaultWidgetIds.DATAPOINTS_GRAPH_NEW,\n priority: 10,\n label: gettext('Time context'),\n initialState: {\n controls: PRESET_NAME.DATAPOINTS_GRAPH_CONFIG\n },\n loadComponent: () =>\n import('@c8y/ngx-components/context-dashboard').then(m => m.GlobalContextSectionComponent)\n }),\n hookWidgetConfig<GlobalContextSectionComponent>({\n widgetId: defaultWidgetIds.DATAPOINTS_GRAPH,\n priority: 10,\n label: gettext('Time context'),\n initialState: {\n controls: PRESET_NAME.DATAPOINTS_GRAPH_CONFIG\n },\n loadComponent: () =>\n import('@c8y/ngx-components/context-dashboard').then(m => m.GlobalContextSectionComponent)\n }),\n hookWidgetConfig({\n widgetId: defaultWidgetIds.DATAPOINTS_GRAPH,\n label: gettext('Alarm selection'),\n loadComponent: () =>\n import('@c8y/ngx-components/alarm-event-selector').then(m => m.WidgetAlarmSelectorComponent),\n initialState: {\n configStoreMode: 'MIXED'\n },\n priority: 100\n }),\n hookWidgetConfig({\n widgetId: defaultWidgetIds.DATAPOINTS_GRAPH,\n label: gettext('Event selection'),\n loadComponent: () =>\n import('@c8y/ngx-components/alarm-event-selector').then(m => m.WidgetEventSelectorComponent),\n initialState: {\n configStoreMode: 'MIXED'\n },\n priority: 110\n }),\n hookWidgetConfig({\n widgetId: defaultWidgetIds.DATAPOINTS_GRAPH,\n label: gettext('Data point selection'),\n loadComponent: () =>\n import('@c8y/ngx-components/datapoint-selector').then(\n m => m.WidgetDatapointsSelectorComponent\n ),\n initialState: {\n minActiveCount: MIN_ACTIVE_COUNT,\n defaultFormOptions: DATAPOINT_SELECT_DEFAULT_OPTIONS,\n useAdvancedChartOptions: true\n },\n expanded: true,\n priority: 120\n })\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"c8y-ngx-components-widgets-definitions-datapoints-graph.mjs","sources":["../../widgets/definitions/datapoints-graph/datapoint-graph-widget-factory.ts","../../widgets/definitions/datapoints-graph/datapoint-graph.constants.ts","../../widgets/definitions/datapoints-graph/index.ts","../../widgets/definitions/datapoints-graph/c8y-ngx-components-widgets-definitions-datapoints-graph.ts"],"sourcesContent":["import { inject, Injectable } from '@angular/core';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport {\n DynamicDatapointsResolver,\n PreviewService,\n DynamicWidgetDefinition\n} from '@c8y/ngx-components';\nimport { map, Observable } from 'rxjs';\nimport { defaultWidgetIds } from '@c8y/ngx-components/widgets/definitions';\nimport cloneDeep from 'lodash/cloneDeep';\nimport {\n exportConfigWithTargets,\n importConfigWithTargets\n} from '@c8y/ngx-components/widgets/import-export-config';\nimport { PRESET_NAME } from '@c8y/ngx-components/global-context';\n\n@Injectable()\nexport class DatapointGraphFactory {\n private readonly previewFeatureService = inject(PreviewService);\n\n private readonly baseWidgetDefinition: DynamicWidgetDefinition = {\n id: defaultWidgetIds.DATAPOINTS_GRAPH,\n label: gettext('Data graph'),\n description: gettext('Displays a graph of selected data points'),\n loadComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/datapoints-graph').then(\n m => m.DatapointsGraphWidgetViewComponent\n ),\n loadConfigComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/datapoints-graph').then(\n m => m.DatapointsGraphWidgetConfigComponent\n ),\n previewImage: 'c8y-style-assets/datapoints-graph-widget.png',\n resolve: {\n datapoints: DynamicDatapointsResolver\n },\n data: {\n schema: () =>\n import(\n 'c8y-schema-loader?interfaceName=DatapointsGraphWidgetConfig&type=widget-config!@c8y/ngx-components/echart'\n ),\n export: exportConfigWithTargets,\n import: importConfigWithTargets,\n controls: PRESET_NAME.DATAPOINTS_GRAPH,\n settings: {\n noNewWidgets: false,\n widgetDefaults: {\n _width: 8,\n _height: 4\n },\n noDeviceTarget: true,\n groupsSelectable: false\n },\n displaySettings: {\n globalTimeContext: true,\n globalAggregationContext: true,\n globalRealtimeContext: true\n }\n }\n };\n\n get(): Observable<DynamicWidgetDefinition[]> {\n return this.previewFeatureService.getState$('ui.datapoint-graph.v2').pipe(\n map(state => {\n if (state) {\n const newWidgetDefinition = cloneDeep(this.baseWidgetDefinition);\n newWidgetDefinition.id = defaultWidgetIds.DATAPOINTS_GRAPH_NEW;\n newWidgetDefinition.data.settings.noNewWidgets = true;\n\n return [this.baseWidgetDefinition, newWidgetDefinition];\n }\n return [];\n })\n );\n }\n}\n","import { DatapointAttributesFormConfig } from '@c8y/ngx-components/datapoint-selector';\n\nexport const DATAPOINT_SELECT_DEFAULT_OPTIONS: Partial<DatapointAttributesFormConfig> = {\n showRange: true,\n showChart: true\n};\n\nexport const MIN_ACTIVE_COUNT = 1;\n","import { hookPreview, hookWidget } from '@c8y/ngx-components';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport { DatapointGraphFactory } from './datapoint-graph-widget-factory';\nimport {\n hookWidgetConfig,\n GlobalContextSectionComponent\n} from '@c8y/ngx-components/context-dashboard';\nimport { defaultWidgetIds } from '@c8y/ngx-components/widgets/definitions';\nimport { DATAPOINT_SELECT_DEFAULT_OPTIONS, MIN_ACTIVE_COUNT } from './datapoint-graph.constants';\nimport { PRESET_NAME } from '@c8y/ngx-components/global-context';\n\nexport const datapointGraphWidgetproviders = [\n hookWidget(DatapointGraphFactory),\n hookPreview({\n key: 'ui.datapoint-graph.v2',\n label: 'Data graph',\n description: () =>\n import('@c8y/style/markdown-files/datapoint-graph-preview.md').then(m => m.default),\n settings: {\n reload: true\n }\n }),\n /* We need to register the widget config for both the new and old widget IDs. This ensures compatibility for widgets\n created with the new data graph id (e.g. if a data point graph widget was created via community plugins)\n and widgets using the default one (toggled via preview feature)\n */\n hookWidgetConfig<GlobalContextSectionComponent>({\n widgetId: defaultWidgetIds.DATAPOINTS_GRAPH_NEW,\n priority: 10,\n label: gettext('Time context'),\n initialState: {\n controls: PRESET_NAME.DATAPOINTS_GRAPH_CONFIG\n },\n loadComponent: () =>\n import('@c8y/ngx-components/context-dashboard').then(m => m.GlobalContextSectionComponent)\n }),\n hookWidgetConfig<GlobalContextSectionComponent>({\n widgetId: defaultWidgetIds.DATAPOINTS_GRAPH,\n priority: 10,\n label: gettext('Time context'),\n initialState: {\n controls: PRESET_NAME.DATAPOINTS_GRAPH_CONFIG\n },\n loadComponent: () =>\n import('@c8y/ngx-components/context-dashboard').then(m => m.GlobalContextSectionComponent)\n }),\n hookWidgetConfig({\n widgetId: defaultWidgetIds.DATAPOINTS_GRAPH,\n label: gettext('Alarm selection'),\n loadComponent: () =>\n import('@c8y/ngx-components/alarm-event-selector').then(m => m.WidgetAlarmSelectorComponent),\n initialState: {\n configStoreMode: 'MIXED'\n },\n priority: 100\n }),\n hookWidgetConfig({\n widgetId: defaultWidgetIds.DATAPOINTS_GRAPH,\n label: gettext('Event selection'),\n loadComponent: () =>\n import('@c8y/ngx-components/alarm-event-selector').then(m => m.WidgetEventSelectorComponent),\n initialState: {\n configStoreMode: 'MIXED'\n },\n priority: 110\n }),\n hookWidgetConfig({\n widgetId: defaultWidgetIds.DATAPOINTS_GRAPH,\n label: gettext('Data point selection'),\n loadComponent: () =>\n import('@c8y/ngx-components/datapoint-selector').then(\n m => m.WidgetDatapointsSelectorComponent\n ),\n initialState: {\n minActiveCount: MIN_ACTIVE_COUNT,\n defaultFormOptions: DATAPOINT_SELECT_DEFAULT_OPTIONS,\n useAdvancedChartOptions: true\n },\n expanded: true,\n priority: 120\n })\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -27,7 +27,7 @@ const dataPointsTableWidgetDefinition = {
27
27
  },
28
28
  errorStrategy: DynamicComponentErrorStrategy.OVERLAY_ERROR,
29
29
  data: {
30
- schema: () => import('c8y-schema-loader?interfaceName=DatapointsTableConfig!@c8y/ngx-components/widgets/implementations/datapoints-table'),
30
+ schema: () => import('c8y-schema-loader?interfaceName=DatapointsTableConfig&type=widget-config!@c8y/ngx-components/widgets/implementations/datapoints-table'),
31
31
  export: exportConfigWithTargets,
32
32
  import: importConfigWithTargets,
33
33
  widgetControls: datapointsTableWidgetControls,
@@ -1 +1 @@
1
- {"version":3,"file":"c8y-ngx-components-widgets-definitions-datapoints-table.mjs","sources":["../../widgets/definitions/datapoints-table/datapoints-table.constants.ts","../../widgets/definitions/datapoints-table/index.ts","../../widgets/definitions/datapoints-table/c8y-ngx-components-widgets-definitions-datapoints-table.ts"],"sourcesContent":["import { DatapointAttributesFormConfig } from '@c8y/ngx-components/datapoint-selector';\n\nexport const DATAPOINT_SELECT_DEFAULT_OPTIONS: Partial<DatapointAttributesFormConfig> = {\n selectableChartLineTypes: [],\n selectableAxisTypes: [],\n showRedRange: true,\n showYellowRange: true\n};\nexport const MIN_ACTIVE_COUNT = 1;\n","import { gettext } from '@c8y/ngx-components/gettext';\nimport {\n DynamicWidgetDefinition,\n DynamicDatapointsResolver,\n DynamicComponentErrorStrategy,\n hookWidget\n} from '@c8y/ngx-components';\nimport {\n GlobalContextSectionComponent,\n hookWidgetConfig\n} from '@c8y/ngx-components/context-dashboard';\nimport { defaultWidgetIds } from '@c8y/ngx-components/widgets/definitions';\nimport {\n exportConfigWithTargets,\n importConfigWithTargets\n} from '@c8y/ngx-components/widgets/import-export-config';\nimport { DATAPOINT_SELECT_DEFAULT_OPTIONS, MIN_ACTIVE_COUNT } from './datapoints-table.constants';\nimport { type WidgetControlsPresetConfig } from '@c8y/ngx-components/global-context';\n\nconst datapointsTableWidgetControls: WidgetControlsPresetConfig = {\n presets: ['defaultWithAggregation']\n};\n\nexport const dataPointsTableWidgetDefinition = {\n id: defaultWidgetIds.DATA_POINTS_TABLE,\n label: gettext('Data points table'),\n description: gettext(`A table display of a collection of data points`),\n loadComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/datapoints-table').then(\n m => m.DatapointsTableViewWidgetComponent\n ),\n loadConfigComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/datapoints-table').then(\n m => m.DatapointsTableWidgetConfigComponent\n ),\n previewImage: 'c8y-style-assets/data-points-table-widget.png',\n resolve: {\n datapoints: DynamicDatapointsResolver\n },\n errorStrategy: DynamicComponentErrorStrategy.OVERLAY_ERROR,\n data: {\n schema: () =>\n import(\n 'c8y-schema-loader?interfaceName=DatapointsTableConfig!@c8y/ngx-components/widgets/implementations/datapoints-table'\n ),\n export: exportConfigWithTargets,\n import: importConfigWithTargets,\n widgetControls: datapointsTableWidgetControls,\n settings: {\n noNewWidgets: false,\n widgetDefaults: {\n _width: 8,\n _height: 4\n },\n ng1: {\n options: {\n noDeviceTarget: true,\n minCol: 6,\n datapointAttributes: ['datapoints']\n }\n }\n },\n displaySettings: {\n globalAutoRefreshContext: true,\n globalTimeContext: true,\n globalRealtimeContext: false,\n globalAggregationContext: true\n }\n }\n} satisfies DynamicWidgetDefinition;\n\nexport const dataPointsTableWidgetProviders = [\n hookWidget(dataPointsTableWidgetDefinition),\n hookWidgetConfig<GlobalContextSectionComponent>({\n widgetId: defaultWidgetIds.DATA_POINTS_TABLE,\n priority: 10,\n label: gettext('Time context'),\n initialState: {\n widgetControls: datapointsTableWidgetControls\n },\n loadComponent: () =>\n import('@c8y/ngx-components/context-dashboard').then(m => m.GlobalContextSectionComponent)\n }),\n hookWidgetConfig({\n widgetId: defaultWidgetIds.DATA_POINTS_TABLE,\n label: gettext('Data point selection'),\n loadComponent: () =>\n import('@c8y/ngx-components/datapoint-selector').then(\n m => m.WidgetDatapointsSelectorComponent\n ),\n initialState: {\n minActiveCount: MIN_ACTIVE_COUNT,\n defaultFormOptions: DATAPOINT_SELECT_DEFAULT_OPTIONS\n },\n expanded: true,\n priority: 100\n })\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAEO,MAAM,gCAAgC,GAA2C;AACtF,IAAA,wBAAwB,EAAE,EAAE;AAC5B,IAAA,mBAAmB,EAAE,EAAE;AACvB,IAAA,YAAY,EAAE,IAAI;AAClB,IAAA,eAAe,EAAE;CAClB;AACM,MAAM,gBAAgB,GAAG,CAAC;;ACWjC,MAAM,6BAA6B,GAA+B;IAChE,OAAO,EAAE,CAAC,wBAAwB;CACnC;AAEM,MAAM,+BAA+B,GAAG;IAC7C,EAAE,EAAE,gBAAgB,CAAC,iBAAiB;AACtC,IAAA,KAAK,EAAE,OAAO,CAAC,mBAAmB,CAAC;AACnC,IAAA,WAAW,EAAE,OAAO,CAAC,CAAA,8CAAA,CAAgD,CAAC;AACtE,IAAA,aAAa,EAAE,MACb,OAAO,8DAA8D,CAAC,CAAC,IAAI,CACzE,CAAC,IAAI,CAAC,CAAC,kCAAkC,CAC1C;AACH,IAAA,mBAAmB,EAAE,MACnB,OAAO,8DAA8D,CAAC,CAAC,IAAI,CACzE,CAAC,IAAI,CAAC,CAAC,oCAAoC,CAC5C;AACH,IAAA,YAAY,EAAE,+CAA+C;AAC7D,IAAA,OAAO,EAAE;AACP,QAAA,UAAU,EAAE;AACb,KAAA;IACD,aAAa,EAAE,6BAA6B,CAAC,aAAa;AAC1D,IAAA,IAAI,EAAE;AACJ,QAAA,MAAM,EAAE,MACN,OACE,oHAAoH,CACrH;AACH,QAAA,MAAM,EAAE,uBAAuB;AAC/B,QAAA,MAAM,EAAE,uBAAuB;AAC/B,QAAA,cAAc,EAAE,6BAA6B;AAC7C,QAAA,QAAQ,EAAE;AACR,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,cAAc,EAAE;AACd,gBAAA,MAAM,EAAE,CAAC;AACT,gBAAA,OAAO,EAAE;AACV,aAAA;AACD,YAAA,GAAG,EAAE;AACH,gBAAA,OAAO,EAAE;AACP,oBAAA,cAAc,EAAE,IAAI;AACpB,oBAAA,MAAM,EAAE,CAAC;oBACT,mBAAmB,EAAE,CAAC,YAAY;AACnC;AACF;AACF,SAAA;AACD,QAAA,eAAe,EAAE;AACf,YAAA,wBAAwB,EAAE,IAAI;AAC9B,YAAA,iBAAiB,EAAE,IAAI;AACvB,YAAA,qBAAqB,EAAE,KAAK;AAC5B,YAAA,wBAAwB,EAAE;AAC3B;AACF;;AAGI,MAAM,8BAA8B,GAAG;IAC5C,UAAU,CAAC,+BAA+B,CAAC;AAC3C,IAAA,gBAAgB,CAAgC;QAC9C,QAAQ,EAAE,gBAAgB,CAAC,iBAAiB;AAC5C,QAAA,QAAQ,EAAE,EAAE;AACZ,QAAA,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC;AAC9B,QAAA,YAAY,EAAE;AACZ,YAAA,cAAc,EAAE;AACjB,SAAA;AACD,QAAA,aAAa,EAAE,MACb,OAAO,uCAAuC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,6BAA6B;KAC5F,CAAC;AACF,IAAA,gBAAgB,CAAC;QACf,QAAQ,EAAE,gBAAgB,CAAC,iBAAiB;AAC5C,QAAA,KAAK,EAAE,OAAO,CAAC,sBAAsB,CAAC;AACtC,QAAA,aAAa,EAAE,MACb,OAAO,wCAAwC,CAAC,CAAC,IAAI,CACnD,CAAC,IAAI,CAAC,CAAC,iCAAiC,CACzC;AACH,QAAA,YAAY,EAAE;AACZ,YAAA,cAAc,EAAE,gBAAgB;AAChC,YAAA,kBAAkB,EAAE;AACrB,SAAA;AACD,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,QAAQ,EAAE;KACX;;;AChGH;;AAEG;;;;"}
1
+ {"version":3,"file":"c8y-ngx-components-widgets-definitions-datapoints-table.mjs","sources":["../../widgets/definitions/datapoints-table/datapoints-table.constants.ts","../../widgets/definitions/datapoints-table/index.ts","../../widgets/definitions/datapoints-table/c8y-ngx-components-widgets-definitions-datapoints-table.ts"],"sourcesContent":["import { DatapointAttributesFormConfig } from '@c8y/ngx-components/datapoint-selector';\n\nexport const DATAPOINT_SELECT_DEFAULT_OPTIONS: Partial<DatapointAttributesFormConfig> = {\n selectableChartLineTypes: [],\n selectableAxisTypes: [],\n showRedRange: true,\n showYellowRange: true\n};\nexport const MIN_ACTIVE_COUNT = 1;\n","import { gettext } from '@c8y/ngx-components/gettext';\nimport {\n DynamicWidgetDefinition,\n DynamicDatapointsResolver,\n DynamicComponentErrorStrategy,\n hookWidget\n} from '@c8y/ngx-components';\nimport {\n GlobalContextSectionComponent,\n hookWidgetConfig\n} from '@c8y/ngx-components/context-dashboard';\nimport { defaultWidgetIds } from '@c8y/ngx-components/widgets/definitions';\nimport {\n exportConfigWithTargets,\n importConfigWithTargets\n} from '@c8y/ngx-components/widgets/import-export-config';\nimport { DATAPOINT_SELECT_DEFAULT_OPTIONS, MIN_ACTIVE_COUNT } from './datapoints-table.constants';\nimport { type WidgetControlsPresetConfig } from '@c8y/ngx-components/global-context';\n\nconst datapointsTableWidgetControls: WidgetControlsPresetConfig = {\n presets: ['defaultWithAggregation']\n};\n\nexport const dataPointsTableWidgetDefinition = {\n id: defaultWidgetIds.DATA_POINTS_TABLE,\n label: gettext('Data points table'),\n description: gettext(`A table display of a collection of data points`),\n loadComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/datapoints-table').then(\n m => m.DatapointsTableViewWidgetComponent\n ),\n loadConfigComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/datapoints-table').then(\n m => m.DatapointsTableWidgetConfigComponent\n ),\n previewImage: 'c8y-style-assets/data-points-table-widget.png',\n resolve: {\n datapoints: DynamicDatapointsResolver\n },\n errorStrategy: DynamicComponentErrorStrategy.OVERLAY_ERROR,\n data: {\n schema: () =>\n import(\n 'c8y-schema-loader?interfaceName=DatapointsTableConfig&type=widget-config!@c8y/ngx-components/widgets/implementations/datapoints-table'\n ),\n export: exportConfigWithTargets,\n import: importConfigWithTargets,\n widgetControls: datapointsTableWidgetControls,\n settings: {\n noNewWidgets: false,\n widgetDefaults: {\n _width: 8,\n _height: 4\n },\n ng1: {\n options: {\n noDeviceTarget: true,\n minCol: 6,\n datapointAttributes: ['datapoints']\n }\n }\n },\n displaySettings: {\n globalAutoRefreshContext: true,\n globalTimeContext: true,\n globalRealtimeContext: false,\n globalAggregationContext: true\n }\n }\n} satisfies DynamicWidgetDefinition;\n\nexport const dataPointsTableWidgetProviders = [\n hookWidget(dataPointsTableWidgetDefinition),\n hookWidgetConfig<GlobalContextSectionComponent>({\n widgetId: defaultWidgetIds.DATA_POINTS_TABLE,\n priority: 10,\n label: gettext('Time context'),\n initialState: {\n widgetControls: datapointsTableWidgetControls\n },\n loadComponent: () =>\n import('@c8y/ngx-components/context-dashboard').then(m => m.GlobalContextSectionComponent)\n }),\n hookWidgetConfig({\n widgetId: defaultWidgetIds.DATA_POINTS_TABLE,\n label: gettext('Data point selection'),\n loadComponent: () =>\n import('@c8y/ngx-components/datapoint-selector').then(\n m => m.WidgetDatapointsSelectorComponent\n ),\n initialState: {\n minActiveCount: MIN_ACTIVE_COUNT,\n defaultFormOptions: DATAPOINT_SELECT_DEFAULT_OPTIONS\n },\n expanded: true,\n priority: 100\n })\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAEO,MAAM,gCAAgC,GAA2C;AACtF,IAAA,wBAAwB,EAAE,EAAE;AAC5B,IAAA,mBAAmB,EAAE,EAAE;AACvB,IAAA,YAAY,EAAE,IAAI;AAClB,IAAA,eAAe,EAAE;CAClB;AACM,MAAM,gBAAgB,GAAG,CAAC;;ACWjC,MAAM,6BAA6B,GAA+B;IAChE,OAAO,EAAE,CAAC,wBAAwB;CACnC;AAEM,MAAM,+BAA+B,GAAG;IAC7C,EAAE,EAAE,gBAAgB,CAAC,iBAAiB;AACtC,IAAA,KAAK,EAAE,OAAO,CAAC,mBAAmB,CAAC;AACnC,IAAA,WAAW,EAAE,OAAO,CAAC,CAAA,8CAAA,CAAgD,CAAC;AACtE,IAAA,aAAa,EAAE,MACb,OAAO,8DAA8D,CAAC,CAAC,IAAI,CACzE,CAAC,IAAI,CAAC,CAAC,kCAAkC,CAC1C;AACH,IAAA,mBAAmB,EAAE,MACnB,OAAO,8DAA8D,CAAC,CAAC,IAAI,CACzE,CAAC,IAAI,CAAC,CAAC,oCAAoC,CAC5C;AACH,IAAA,YAAY,EAAE,+CAA+C;AAC7D,IAAA,OAAO,EAAE;AACP,QAAA,UAAU,EAAE;AACb,KAAA;IACD,aAAa,EAAE,6BAA6B,CAAC,aAAa;AAC1D,IAAA,IAAI,EAAE;AACJ,QAAA,MAAM,EAAE,MACN,OACE,uIAAuI,CACxI;AACH,QAAA,MAAM,EAAE,uBAAuB;AAC/B,QAAA,MAAM,EAAE,uBAAuB;AAC/B,QAAA,cAAc,EAAE,6BAA6B;AAC7C,QAAA,QAAQ,EAAE;AACR,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,cAAc,EAAE;AACd,gBAAA,MAAM,EAAE,CAAC;AACT,gBAAA,OAAO,EAAE;AACV,aAAA;AACD,YAAA,GAAG,EAAE;AACH,gBAAA,OAAO,EAAE;AACP,oBAAA,cAAc,EAAE,IAAI;AACpB,oBAAA,MAAM,EAAE,CAAC;oBACT,mBAAmB,EAAE,CAAC,YAAY;AACnC;AACF;AACF,SAAA;AACD,QAAA,eAAe,EAAE;AACf,YAAA,wBAAwB,EAAE,IAAI;AAC9B,YAAA,iBAAiB,EAAE,IAAI;AACvB,YAAA,qBAAqB,EAAE,KAAK;AAC5B,YAAA,wBAAwB,EAAE;AAC3B;AACF;;AAGI,MAAM,8BAA8B,GAAG;IAC5C,UAAU,CAAC,+BAA+B,CAAC;AAC3C,IAAA,gBAAgB,CAAgC;QAC9C,QAAQ,EAAE,gBAAgB,CAAC,iBAAiB;AAC5C,QAAA,QAAQ,EAAE,EAAE;AACZ,QAAA,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC;AAC9B,QAAA,YAAY,EAAE;AACZ,YAAA,cAAc,EAAE;AACjB,SAAA;AACD,QAAA,aAAa,EAAE,MACb,OAAO,uCAAuC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,6BAA6B;KAC5F,CAAC;AACF,IAAA,gBAAgB,CAAC;QACf,QAAQ,EAAE,gBAAgB,CAAC,iBAAiB;AAC5C,QAAA,KAAK,EAAE,OAAO,CAAC,sBAAsB,CAAC;AACtC,QAAA,aAAa,EAAE,MACb,OAAO,wCAAwC,CAAC,CAAC,IAAI,CACnD,CAAC,IAAI,CAAC,CAAC,iCAAiC,CACzC;AACH,QAAA,YAAY,EAAE;AACZ,YAAA,cAAc,EAAE,gBAAgB;AAChC,YAAA,kBAAkB,EAAE;AACrB,SAAA;AACD,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,QAAQ,EAAE;KACX;;;AChGH;;AAEG;;;;"}
@@ -15,7 +15,7 @@ const deviceControlMessageWidgetDefinition = {
15
15
  previewImage: 'c8y-style-assets/device-control-message-widget.png',
16
16
  errorStrategy: DynamicComponentErrorStrategy.OVERLAY_ERROR,
17
17
  data: {
18
- schema: () => import('c8y-schema-loader?interfaceName=DeviceControlMessageWidgetConfig!@c8y/ngx-components/widgets/implementations/device-control-message'),
18
+ schema: () => import('c8y-schema-loader?interfaceName=DeviceControlMessageWidgetConfig&type=widget-config!@c8y/ngx-components/widgets/implementations/device-control-message'),
19
19
  export: exportConfigWithDevice,
20
20
  import: importConfigWithDevice,
21
21
  settings: {
@@ -1 +1 @@
1
- {"version":3,"file":"c8y-ngx-components-widgets-definitions-device-control-message.mjs","sources":["../../widgets/definitions/device-control-message/index.ts","../../widgets/definitions/device-control-message/c8y-ngx-components-widgets-definitions-device-control-message.ts"],"sourcesContent":["import {\n hookWidgetConfig,\n WidgetAssetSelectorComponent\n} from '@c8y/ngx-components/context-dashboard';\nimport type { DynamicWidgetDefinition } from '@c8y/ngx-components';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport {\n DynamicComponentErrorStrategy,\n DynamicManagedObjectResolver,\n hookWidget\n} from '@c8y/ngx-components';\nimport { defaultWidgetIds } from '@c8y/ngx-components/widgets/definitions';\nimport {\n importConfigWithDevice,\n exportConfigWithDevice\n} from '@c8y/ngx-components/widgets/import-export-config';\n\nexport const deviceControlMessageWidgetDefinition = {\n id: defaultWidgetIds.DEVICE_CONTROL_MESSAGE_WIDGET,\n label: gettext('Message sending'),\n description: gettext(`Remotely send a message to a device`),\n loadComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/device-control-message').then(\n m => m.DeviceControlMessageWidgetViewComponent\n ),\n resolve: {\n device: DynamicManagedObjectResolver\n },\n previewImage: 'c8y-style-assets/device-control-message-widget.png',\n errorStrategy: DynamicComponentErrorStrategy.OVERLAY_ERROR,\n data: {\n schema: () =>\n import(\n 'c8y-schema-loader?interfaceName=DeviceControlMessageWidgetConfig!@c8y/ngx-components/widgets/implementations/device-control-message'\n ),\n export: exportConfigWithDevice,\n import: importConfigWithDevice,\n settings: {\n noNewWidgets: false,\n widgetDefaults: {\n _width: 8,\n _height: 4\n }\n }\n }\n} satisfies DynamicWidgetDefinition;\n\nexport const deviceControlMessageWidgetProviders = [\n hookWidget(deviceControlMessageWidgetDefinition),\n hookWidgetConfig({\n widgetId: defaultWidgetIds.DEVICE_CONTROL_MESSAGE_WIDGET,\n label: gettext('Device'),\n loadComponent: () => Promise.resolve(WidgetAssetSelectorComponent),\n priority: 100\n })\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAiBO,MAAM,oCAAoC,GAAG;IAClD,EAAE,EAAE,gBAAgB,CAAC,6BAA6B;AAClD,IAAA,KAAK,EAAE,OAAO,CAAC,iBAAiB,CAAC;AACjC,IAAA,WAAW,EAAE,OAAO,CAAC,CAAA,mCAAA,CAAqC,CAAC;AAC3D,IAAA,aAAa,EAAE,MACb,OAAO,oEAAoE,CAAC,CAAC,IAAI,CAC/E,CAAC,IAAI,CAAC,CAAC,uCAAuC,CAC/C;AACH,IAAA,OAAO,EAAE;AACP,QAAA,MAAM,EAAE;AACT,KAAA;AACD,IAAA,YAAY,EAAE,oDAAoD;IAClE,aAAa,EAAE,6BAA6B,CAAC,aAAa;AAC1D,IAAA,IAAI,EAAE;AACJ,QAAA,MAAM,EAAE,MACN,OACE,qIAAqI,CACtI;AACH,QAAA,MAAM,EAAE,sBAAsB;AAC9B,QAAA,MAAM,EAAE,sBAAsB;AAC9B,QAAA,QAAQ,EAAE;AACR,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,cAAc,EAAE;AACd,gBAAA,MAAM,EAAE,CAAC;AACT,gBAAA,OAAO,EAAE;AACV;AACF;AACF;;AAGI,MAAM,mCAAmC,GAAG;IACjD,UAAU,CAAC,oCAAoC,CAAC;AAChD,IAAA,gBAAgB,CAAC;QACf,QAAQ,EAAE,gBAAgB,CAAC,6BAA6B;AACxD,QAAA,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC;QACxB,aAAa,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,4BAA4B,CAAC;AAClE,QAAA,QAAQ,EAAE;KACX;;;ACtDH;;AAEG;;;;"}
1
+ {"version":3,"file":"c8y-ngx-components-widgets-definitions-device-control-message.mjs","sources":["../../widgets/definitions/device-control-message/index.ts","../../widgets/definitions/device-control-message/c8y-ngx-components-widgets-definitions-device-control-message.ts"],"sourcesContent":["import {\n hookWidgetConfig,\n WidgetAssetSelectorComponent\n} from '@c8y/ngx-components/context-dashboard';\nimport type { DynamicWidgetDefinition } from '@c8y/ngx-components';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport {\n DynamicComponentErrorStrategy,\n DynamicManagedObjectResolver,\n hookWidget\n} from '@c8y/ngx-components';\nimport { defaultWidgetIds } from '@c8y/ngx-components/widgets/definitions';\nimport {\n importConfigWithDevice,\n exportConfigWithDevice\n} from '@c8y/ngx-components/widgets/import-export-config';\n\nexport const deviceControlMessageWidgetDefinition = {\n id: defaultWidgetIds.DEVICE_CONTROL_MESSAGE_WIDGET,\n label: gettext('Message sending'),\n description: gettext(`Remotely send a message to a device`),\n loadComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/device-control-message').then(\n m => m.DeviceControlMessageWidgetViewComponent\n ),\n resolve: {\n device: DynamicManagedObjectResolver\n },\n previewImage: 'c8y-style-assets/device-control-message-widget.png',\n errorStrategy: DynamicComponentErrorStrategy.OVERLAY_ERROR,\n data: {\n schema: () =>\n import(\n 'c8y-schema-loader?interfaceName=DeviceControlMessageWidgetConfig&type=widget-config!@c8y/ngx-components/widgets/implementations/device-control-message'\n ),\n export: exportConfigWithDevice,\n import: importConfigWithDevice,\n settings: {\n noNewWidgets: false,\n widgetDefaults: {\n _width: 8,\n _height: 4\n }\n }\n }\n} satisfies DynamicWidgetDefinition;\n\nexport const deviceControlMessageWidgetProviders = [\n hookWidget(deviceControlMessageWidgetDefinition),\n hookWidgetConfig({\n widgetId: defaultWidgetIds.DEVICE_CONTROL_MESSAGE_WIDGET,\n label: gettext('Device'),\n loadComponent: () => Promise.resolve(WidgetAssetSelectorComponent),\n priority: 100\n })\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAiBO,MAAM,oCAAoC,GAAG;IAClD,EAAE,EAAE,gBAAgB,CAAC,6BAA6B;AAClD,IAAA,KAAK,EAAE,OAAO,CAAC,iBAAiB,CAAC;AACjC,IAAA,WAAW,EAAE,OAAO,CAAC,CAAA,mCAAA,CAAqC,CAAC;AAC3D,IAAA,aAAa,EAAE,MACb,OAAO,oEAAoE,CAAC,CAAC,IAAI,CAC/E,CAAC,IAAI,CAAC,CAAC,uCAAuC,CAC/C;AACH,IAAA,OAAO,EAAE;AACP,QAAA,MAAM,EAAE;AACT,KAAA;AACD,IAAA,YAAY,EAAE,oDAAoD;IAClE,aAAa,EAAE,6BAA6B,CAAC,aAAa;AAC1D,IAAA,IAAI,EAAE;AACJ,QAAA,MAAM,EAAE,MACN,OACE,wJAAwJ,CACzJ;AACH,QAAA,MAAM,EAAE,sBAAsB;AAC9B,QAAA,MAAM,EAAE,sBAAsB;AAC9B,QAAA,QAAQ,EAAE;AACR,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,cAAc,EAAE;AACd,gBAAA,MAAM,EAAE,CAAC;AACT,gBAAA,OAAO,EAAE;AACV;AACF;AACF;;AAGI,MAAM,mCAAmC,GAAG;IACjD,UAAU,CAAC,oCAAoC,CAAC;AAChD,IAAA,gBAAgB,CAAC;QACf,QAAQ,EAAE,gBAAgB,CAAC,6BAA6B;AACxD,QAAA,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC;QACxB,aAAa,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,4BAA4B,CAAC;AAClE,QAAA,QAAQ,EAAE;KACX;;;ACtDH;;AAEG;;;;"}
@@ -165,10 +165,10 @@ class AIHtmlWidgetConfigFactory {
165
165
  }
166
166
  return message;
167
167
  }
168
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: AIHtmlWidgetConfigFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
169
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: AIHtmlWidgetConfigFactory, providedIn: 'root' }); }
168
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AIHtmlWidgetConfigFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
169
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AIHtmlWidgetConfigFactory, providedIn: 'root' }); }
170
170
  }
171
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: AIHtmlWidgetConfigFactory, decorators: [{
171
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AIHtmlWidgetConfigFactory, decorators: [{
172
172
  type: Injectable,
173
173
  args: [{
174
174
  providedIn: 'root'
@@ -121,10 +121,10 @@ class HtmlWidgetConfigFactory {
121
121
  return [];
122
122
  }));
123
123
  }
124
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: HtmlWidgetConfigFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
125
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: HtmlWidgetConfigFactory, providedIn: 'root' }); }
124
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: HtmlWidgetConfigFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
125
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: HtmlWidgetConfigFactory, providedIn: 'root' }); }
126
126
  }
127
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: HtmlWidgetConfigFactory, decorators: [{
127
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: HtmlWidgetConfigFactory, decorators: [{
128
128
  type: Injectable,
129
129
  args: [{
130
130
  providedIn: 'root'
@@ -141,7 +141,7 @@ class HtmlWidgetFactory {
141
141
  loadComponent: () => import('@c8y/ngx-components/widgets/implementations/html-widget').then(m => m.HtmlWidgetComponent),
142
142
  previewImage: 'c8y-style-assets/html-widget-pr.png',
143
143
  data: {
144
- schema: () => import('c8y-schema-loader?interfaceName=HtmlWidgetConfig!@c8y/ngx-components/widgets/implementations/html-widget'),
144
+ schema: () => import('c8y-schema-loader?interfaceName=HtmlWidgetConfig&type=widget-config!@c8y/ngx-components/widgets/implementations/html-widget'),
145
145
  export: exportConfigWithDevice,
146
146
  import: importConfigWithDevice,
147
147
  settings: {
@@ -166,10 +166,10 @@ class HtmlWidgetFactory {
166
166
  return [];
167
167
  }));
168
168
  }
169
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: HtmlWidgetFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
170
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: HtmlWidgetFactory, providedIn: 'root' }); }
169
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: HtmlWidgetFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
170
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: HtmlWidgetFactory, providedIn: 'root' }); }
171
171
  }
172
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: HtmlWidgetFactory, decorators: [{
172
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: HtmlWidgetFactory, decorators: [{
173
173
  type: Injectable,
174
174
  args: [{
175
175
  providedIn: 'root'
@@ -1 +1 @@
1
- {"version":3,"file":"c8y-ngx-components-widgets-definitions-html-widget.mjs","sources":["../../widgets/definitions/html-widget/html-widget-config.factory.ts","../../widgets/definitions/html-widget/html-widget.factory.ts","../../widgets/definitions/html-widget/index.ts","../../widgets/definitions/html-widget/c8y-ngx-components-widgets-definitions-html-widget.ts"],"sourcesContent":["import { inject, Injectable } from '@angular/core';\nimport { ExtensionFactory, PreviewService } from '@c8y/ngx-components';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport type {\n AssetPropertyMapping,\n WidgetConfigSectionDefinition\n} from '@c8y/ngx-components/context-dashboard';\nimport { map, Observable } from 'rxjs';\nimport { defaultWidgetIds } from '@c8y/ngx-components/widgets/definitions';\nimport { PRESET_NAME } from '@c8y/ngx-components/global-context';\nimport { quoteAndEscape } from '@c8y/ngx-components/context-dashboard';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class HtmlWidgetConfigFactory implements ExtensionFactory<WidgetConfigSectionDefinition> {\n private readonly betaPreviewService = inject(PreviewService);\n private readonly baseWidgetConfigDefinition: WidgetConfigSectionDefinition[] = [\n {\n widgetId: defaultWidgetIds.HTML,\n providers: () =>\n import('@c8y/ngx-components/widgets/implementations/html-widget').then(m => [\n m.HtmlWidgetConfigService\n ]),\n label: gettext('Asset selection'),\n loadComponent: () =>\n import('@c8y/ngx-components/context-dashboard').then(m => m.WidgetAssetSelectorComponent),\n priority: 100,\n initialState: {\n isRequired: false,\n groupsSelectable: true\n }\n },\n {\n widgetId: defaultWidgetIds.HTML,\n label: gettext('Asset properties'),\n loadComponent: () =>\n import('@c8y/ngx-components/context-dashboard').then(m => m.AssetPropertyMappingsComponent),\n priority: 70,\n initialState: {\n widgetConfigPath: ['properties'],\n initialMappings: {\n lastUpdated: {\n label: 'Last updated',\n assetProperty: {\n c8y_JsonSchema: {\n properties: {\n lastUpdated: {\n type: 'string',\n label: 'Last updated'\n }\n }\n },\n name: 'lastUpdated',\n label: 'Last updated',\n type: 'string',\n isEditable: false,\n isStandardProperty: true,\n active: true\n }\n },\n lastDeviceMessage: {\n label: 'Last device message',\n assetProperty: {\n c8y_JsonSchema: {\n properties: {\n lastDeviceMessage: {\n label: 'Last device message',\n type: 'string'\n }\n }\n },\n name: 'lastDeviceMessage',\n label: 'Last device message',\n printFormat: 'datetime',\n type: 'string',\n computed: true,\n isEditable: false,\n isStandardProperty: true,\n active: true\n }\n }\n },\n allowAddingNewMappings: true,\n allowRenamingMappings: true,\n allowRelabellingMappings: false,\n allowEditingMappings: true,\n allowRemovingMappings: true,\n showLabels: false,\n showNames: true,\n showAssets: true,\n showValues: true,\n onBeforeCopyMappingToClipboard: (mapping: AssetPropertyMapping) => {\n const nonAlphanumericRegex = /[^a-zA-Z0-9]/;\n const name = String(mapping.name);\n const nameQuotedEscaped = quoteAndEscape(name);\n const key = nonAlphanumericRegex.test(name) ? `[${nameQuotedEscaped}]` : name;\n return '${this.c8yProperties?.' + key + '}';\n }\n }\n },\n {\n widgetId: defaultWidgetIds.HTML,\n priority: 40,\n label: gettext('Time context'),\n initialState: {\n controls: PRESET_NAME.AUTO_REFRESH_ONLY_CONFIG\n },\n loadComponent: () =>\n import('@c8y/ngx-components/context-dashboard').then(m => m.GlobalContextSectionComponent)\n },\n {\n widgetId: defaultWidgetIds.HTML,\n providers: () =>\n import('@c8y/ngx-components/widgets/implementations/html-widget').then(m => [\n m.HtmlWidgetConfigService\n ]),\n label: gettext('Settings'),\n loadComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/html-widget').then(\n m => m.HtmlWidgetConfigComponent\n ),\n priority: 0,\n expanded: true\n }\n ];\n\n get(): Observable<WidgetConfigSectionDefinition[]> {\n return this.betaPreviewService.getState$('ui.html-widget.v2').pipe(\n map(state => {\n if (state) {\n return this.baseWidgetConfigDefinition;\n }\n return [];\n })\n );\n }\n}\n","import { inject, Injectable } from '@angular/core';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport {\n DynamicComponentDefinition,\n DynamicManagedObjectResolver,\n DynamicWidgetDefinition,\n ExtensionFactory,\n PreviewService,\n WIDGET_CONFIGURATION_GRID_SIZE\n} from '@c8y/ngx-components';\nimport { map, Observable } from 'rxjs';\nimport { defaultWidgetIds } from '@c8y/ngx-components/widgets/definitions';\nimport {\n exportConfigWithDevice,\n importConfigWithDevice\n} from '@c8y/ngx-components/widgets/import-export-config';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class HtmlWidgetFactory implements ExtensionFactory<DynamicComponentDefinition> {\n private readonly betaPreviewService = inject(PreviewService);\n private readonly baseWidgetDefinition: DynamicComponentDefinition = {\n id: defaultWidgetIds.HTML,\n label: gettext('HTML'),\n description: gettext(`Display custom HTML code.`),\n loadComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/html-widget').then(\n m => m.HtmlWidgetComponent\n ),\n previewImage: 'c8y-style-assets/html-widget-pr.png',\n data: {\n schema: () =>\n import(\n 'c8y-schema-loader?interfaceName=HtmlWidgetConfig!@c8y/ngx-components/widgets/implementations/html-widget'\n ),\n export: exportConfigWithDevice,\n import: importConfigWithDevice,\n settings: {\n noNewWidgets: false,\n configurationViewGridSize: WIDGET_CONFIGURATION_GRID_SIZE.HALF,\n widgetDefaults: {\n _width: 8,\n _height: 4\n }\n }\n },\n resolve: {\n device: DynamicManagedObjectResolver\n }\n };\n\n get(): Observable<DynamicWidgetDefinition[]> {\n return this.betaPreviewService.getState$('ui.html-widget.v2').pipe(\n map(state => {\n if (state) {\n return [this.baseWidgetDefinition];\n }\n return [];\n })\n );\n }\n}\n","import { hookPreview, hookWidget } from '@c8y/ngx-components';\nimport { hookWidgetConfig } from '@c8y/ngx-components/context-dashboard';\nimport { HtmlWidgetConfigFactory } from './html-widget-config.factory';\nimport { HtmlWidgetFactory } from './html-widget.factory';\n\nexport const htmlWidgetProviders = [\n hookWidget(HtmlWidgetFactory),\n hookWidgetConfig(HtmlWidgetConfigFactory),\n hookPreview({\n key: 'ui.html-widget.v2',\n label: 'Improved HTML widget',\n description: () =>\n import('@c8y/style/markdown-files/html-widget-preview.md').then(m => m.default),\n settings: {\n reload: true\n }\n })\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"c8y-ngx-components-widgets-definitions-html-widget.mjs","sources":["../../widgets/definitions/html-widget/html-widget-config.factory.ts","../../widgets/definitions/html-widget/html-widget.factory.ts","../../widgets/definitions/html-widget/index.ts","../../widgets/definitions/html-widget/c8y-ngx-components-widgets-definitions-html-widget.ts"],"sourcesContent":["import { inject, Injectable } from '@angular/core';\nimport { ExtensionFactory, PreviewService } from '@c8y/ngx-components';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport type {\n AssetPropertyMapping,\n WidgetConfigSectionDefinition\n} from '@c8y/ngx-components/context-dashboard';\nimport { map, Observable } from 'rxjs';\nimport { defaultWidgetIds } from '@c8y/ngx-components/widgets/definitions';\nimport { PRESET_NAME } from '@c8y/ngx-components/global-context';\nimport { quoteAndEscape } from '@c8y/ngx-components/context-dashboard';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class HtmlWidgetConfigFactory implements ExtensionFactory<WidgetConfigSectionDefinition> {\n private readonly betaPreviewService = inject(PreviewService);\n private readonly baseWidgetConfigDefinition: WidgetConfigSectionDefinition[] = [\n {\n widgetId: defaultWidgetIds.HTML,\n providers: () =>\n import('@c8y/ngx-components/widgets/implementations/html-widget').then(m => [\n m.HtmlWidgetConfigService\n ]),\n label: gettext('Asset selection'),\n loadComponent: () =>\n import('@c8y/ngx-components/context-dashboard').then(m => m.WidgetAssetSelectorComponent),\n priority: 100,\n initialState: {\n isRequired: false,\n groupsSelectable: true\n }\n },\n {\n widgetId: defaultWidgetIds.HTML,\n label: gettext('Asset properties'),\n loadComponent: () =>\n import('@c8y/ngx-components/context-dashboard').then(m => m.AssetPropertyMappingsComponent),\n priority: 70,\n initialState: {\n widgetConfigPath: ['properties'],\n initialMappings: {\n lastUpdated: {\n label: 'Last updated',\n assetProperty: {\n c8y_JsonSchema: {\n properties: {\n lastUpdated: {\n type: 'string',\n label: 'Last updated'\n }\n }\n },\n name: 'lastUpdated',\n label: 'Last updated',\n type: 'string',\n isEditable: false,\n isStandardProperty: true,\n active: true\n }\n },\n lastDeviceMessage: {\n label: 'Last device message',\n assetProperty: {\n c8y_JsonSchema: {\n properties: {\n lastDeviceMessage: {\n label: 'Last device message',\n type: 'string'\n }\n }\n },\n name: 'lastDeviceMessage',\n label: 'Last device message',\n printFormat: 'datetime',\n type: 'string',\n computed: true,\n isEditable: false,\n isStandardProperty: true,\n active: true\n }\n }\n },\n allowAddingNewMappings: true,\n allowRenamingMappings: true,\n allowRelabellingMappings: false,\n allowEditingMappings: true,\n allowRemovingMappings: true,\n showLabels: false,\n showNames: true,\n showAssets: true,\n showValues: true,\n onBeforeCopyMappingToClipboard: (mapping: AssetPropertyMapping) => {\n const nonAlphanumericRegex = /[^a-zA-Z0-9]/;\n const name = String(mapping.name);\n const nameQuotedEscaped = quoteAndEscape(name);\n const key = nonAlphanumericRegex.test(name) ? `[${nameQuotedEscaped}]` : name;\n return '${this.c8yProperties?.' + key + '}';\n }\n }\n },\n {\n widgetId: defaultWidgetIds.HTML,\n priority: 40,\n label: gettext('Time context'),\n initialState: {\n controls: PRESET_NAME.AUTO_REFRESH_ONLY_CONFIG\n },\n loadComponent: () =>\n import('@c8y/ngx-components/context-dashboard').then(m => m.GlobalContextSectionComponent)\n },\n {\n widgetId: defaultWidgetIds.HTML,\n providers: () =>\n import('@c8y/ngx-components/widgets/implementations/html-widget').then(m => [\n m.HtmlWidgetConfigService\n ]),\n label: gettext('Settings'),\n loadComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/html-widget').then(\n m => m.HtmlWidgetConfigComponent\n ),\n priority: 0,\n expanded: true\n }\n ];\n\n get(): Observable<WidgetConfigSectionDefinition[]> {\n return this.betaPreviewService.getState$('ui.html-widget.v2').pipe(\n map(state => {\n if (state) {\n return this.baseWidgetConfigDefinition;\n }\n return [];\n })\n );\n }\n}\n","import { inject, Injectable } from '@angular/core';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport {\n DynamicComponentDefinition,\n DynamicManagedObjectResolver,\n DynamicWidgetDefinition,\n ExtensionFactory,\n PreviewService,\n WIDGET_CONFIGURATION_GRID_SIZE\n} from '@c8y/ngx-components';\nimport { map, Observable } from 'rxjs';\nimport { defaultWidgetIds } from '@c8y/ngx-components/widgets/definitions';\nimport {\n exportConfigWithDevice,\n importConfigWithDevice\n} from '@c8y/ngx-components/widgets/import-export-config';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class HtmlWidgetFactory implements ExtensionFactory<DynamicComponentDefinition> {\n private readonly betaPreviewService = inject(PreviewService);\n private readonly baseWidgetDefinition: DynamicComponentDefinition = {\n id: defaultWidgetIds.HTML,\n label: gettext('HTML'),\n description: gettext(`Display custom HTML code.`),\n loadComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/html-widget').then(\n m => m.HtmlWidgetComponent\n ),\n previewImage: 'c8y-style-assets/html-widget-pr.png',\n data: {\n schema: () =>\n import(\n 'c8y-schema-loader?interfaceName=HtmlWidgetConfig&type=widget-config!@c8y/ngx-components/widgets/implementations/html-widget'\n ),\n export: exportConfigWithDevice,\n import: importConfigWithDevice,\n settings: {\n noNewWidgets: false,\n configurationViewGridSize: WIDGET_CONFIGURATION_GRID_SIZE.HALF,\n widgetDefaults: {\n _width: 8,\n _height: 4\n }\n }\n },\n resolve: {\n device: DynamicManagedObjectResolver\n }\n };\n\n get(): Observable<DynamicWidgetDefinition[]> {\n return this.betaPreviewService.getState$('ui.html-widget.v2').pipe(\n map(state => {\n if (state) {\n return [this.baseWidgetDefinition];\n }\n return [];\n })\n );\n }\n}\n","import { hookPreview, hookWidget } from '@c8y/ngx-components';\nimport { hookWidgetConfig } from '@c8y/ngx-components/context-dashboard';\nimport { HtmlWidgetConfigFactory } from './html-widget-config.factory';\nimport { HtmlWidgetFactory } from './html-widget.factory';\n\nexport const htmlWidgetProviders = [\n hookWidget(HtmlWidgetFactory),\n hookWidgetConfig(HtmlWidgetConfigFactory),\n hookPreview({\n key: 'ui.html-widget.v2',\n label: 'Improved HTML widget',\n description: () =>\n import('@c8y/style/markdown-files/html-widget-preview.md').then(m => m.default),\n settings: {\n reload: true\n }\n })\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;MAea,uBAAuB,CAAA;AAHpC,IAAA,WAAA,GAAA;AAImB,QAAA,IAAA,CAAA,kBAAkB,GAAG,MAAM,CAAC,cAAc,CAAC;AAC3C,QAAA,IAAA,CAAA,0BAA0B,GAAoC;AAC7E,YAAA;gBACE,QAAQ,EAAE,gBAAgB,CAAC,IAAI;AAC/B,gBAAA,SAAS,EAAE,MACT,OAAO,yDAAyD,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI;AAC1E,oBAAA,CAAC,CAAC;iBACH,CAAC;AACJ,gBAAA,KAAK,EAAE,OAAO,CAAC,iBAAiB,CAAC;AACjC,gBAAA,aAAa,EAAE,MACb,OAAO,uCAAuC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,4BAA4B,CAAC;AAC3F,gBAAA,QAAQ,EAAE,GAAG;AACb,gBAAA,YAAY,EAAE;AACZ,oBAAA,UAAU,EAAE,KAAK;AACjB,oBAAA,gBAAgB,EAAE;AACnB;AACF,aAAA;AACD,YAAA;gBACE,QAAQ,EAAE,gBAAgB,CAAC,IAAI;AAC/B,gBAAA,KAAK,EAAE,OAAO,CAAC,kBAAkB,CAAC;AAClC,gBAAA,aAAa,EAAE,MACb,OAAO,uCAAuC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,8BAA8B,CAAC;AAC7F,gBAAA,QAAQ,EAAE,EAAE;AACZ,gBAAA,YAAY,EAAE;oBACZ,gBAAgB,EAAE,CAAC,YAAY,CAAC;AAChC,oBAAA,eAAe,EAAE;AACf,wBAAA,WAAW,EAAE;AACX,4BAAA,KAAK,EAAE,cAAc;AACrB,4BAAA,aAAa,EAAE;AACb,gCAAA,cAAc,EAAE;AACd,oCAAA,UAAU,EAAE;AACV,wCAAA,WAAW,EAAE;AACX,4CAAA,IAAI,EAAE,QAAQ;AACd,4CAAA,KAAK,EAAE;AACR;AACF;AACF,iCAAA;AACD,gCAAA,IAAI,EAAE,aAAa;AACnB,gCAAA,KAAK,EAAE,cAAc;AACrB,gCAAA,IAAI,EAAE,QAAQ;AACd,gCAAA,UAAU,EAAE,KAAK;AACjB,gCAAA,kBAAkB,EAAE,IAAI;AACxB,gCAAA,MAAM,EAAE;AACT;AACF,yBAAA;AACD,wBAAA,iBAAiB,EAAE;AACjB,4BAAA,KAAK,EAAE,qBAAqB;AAC5B,4BAAA,aAAa,EAAE;AACb,gCAAA,cAAc,EAAE;AACd,oCAAA,UAAU,EAAE;AACV,wCAAA,iBAAiB,EAAE;AACjB,4CAAA,KAAK,EAAE,qBAAqB;AAC5B,4CAAA,IAAI,EAAE;AACP;AACF;AACF,iCAAA;AACD,gCAAA,IAAI,EAAE,mBAAmB;AACzB,gCAAA,KAAK,EAAE,qBAAqB;AAC5B,gCAAA,WAAW,EAAE,UAAU;AACvB,gCAAA,IAAI,EAAE,QAAQ;AACd,gCAAA,QAAQ,EAAE,IAAI;AACd,gCAAA,UAAU,EAAE,KAAK;AACjB,gCAAA,kBAAkB,EAAE,IAAI;AACxB,gCAAA,MAAM,EAAE;AACT;AACF;AACF,qBAAA;AACD,oBAAA,sBAAsB,EAAE,IAAI;AAC5B,oBAAA,qBAAqB,EAAE,IAAI;AAC3B,oBAAA,wBAAwB,EAAE,KAAK;AAC/B,oBAAA,oBAAoB,EAAE,IAAI;AAC1B,oBAAA,qBAAqB,EAAE,IAAI;AAC3B,oBAAA,UAAU,EAAE,KAAK;AACjB,oBAAA,SAAS,EAAE,IAAI;AACf,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,8BAA8B,EAAE,CAAC,OAA6B,KAAI;wBAChE,MAAM,oBAAoB,GAAG,cAAc;wBAC3C,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;AACjC,wBAAA,MAAM,iBAAiB,GAAG,cAAc,CAAC,IAAI,CAAC;AAC9C,wBAAA,MAAM,GAAG,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,iBAAiB,CAAA,CAAA,CAAG,GAAG,IAAI;AAC7E,wBAAA,OAAO,wBAAwB,GAAG,GAAG,GAAG,GAAG;oBAC7C;AACD;AACF,aAAA;AACD,YAAA;gBACE,QAAQ,EAAE,gBAAgB,CAAC,IAAI;AAC/B,gBAAA,QAAQ,EAAE,EAAE;AACZ,gBAAA,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC;AAC9B,gBAAA,YAAY,EAAE;oBACZ,QAAQ,EAAE,WAAW,CAAC;AACvB,iBAAA;AACD,gBAAA,aAAa,EAAE,MACb,OAAO,uCAAuC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,6BAA6B;AAC5F,aAAA;AACD,YAAA;gBACE,QAAQ,EAAE,gBAAgB,CAAC,IAAI;AAC/B,gBAAA,SAAS,EAAE,MACT,OAAO,yDAAyD,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI;AAC1E,oBAAA,CAAC,CAAC;iBACH,CAAC;AACJ,gBAAA,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC;AAC1B,gBAAA,aAAa,EAAE,MACb,OAAO,yDAAyD,CAAC,CAAC,IAAI,CACpE,CAAC,IAAI,CAAC,CAAC,yBAAyB,CACjC;AACH,gBAAA,QAAQ,EAAE,CAAC;AACX,gBAAA,QAAQ,EAAE;AACX;SACF;AAYF,IAAA;IAVC,GAAG,GAAA;AACD,QAAA,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAChE,GAAG,CAAC,KAAK,IAAG;YACV,IAAI,KAAK,EAAE;gBACT,OAAO,IAAI,CAAC,0BAA0B;YACxC;AACA,YAAA,OAAO,EAAE;QACX,CAAC,CAAC,CACH;IACH;+GAzHW,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,cAFtB,MAAM,EAAA,CAAA,CAAA;;4FAEP,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAHnC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;MCMY,iBAAiB,CAAA;AAH9B,IAAA,WAAA,GAAA;AAImB,QAAA,IAAA,CAAA,kBAAkB,GAAG,MAAM,CAAC,cAAc,CAAC;AAC3C,QAAA,IAAA,CAAA,oBAAoB,GAA+B;YAClE,EAAE,EAAE,gBAAgB,CAAC,IAAI;AACzB,YAAA,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC;AACtB,YAAA,WAAW,EAAE,OAAO,CAAC,CAAA,yBAAA,CAA2B,CAAC;AACjD,YAAA,aAAa,EAAE,MACb,OAAO,yDAAyD,CAAC,CAAC,IAAI,CACpE,CAAC,IAAI,CAAC,CAAC,mBAAmB,CAC3B;AACH,YAAA,YAAY,EAAE,qCAAqC;AACnD,YAAA,IAAI,EAAE;AACJ,gBAAA,MAAM,EAAE,MACN,OACE,6HAA6H,CAC9H;AACH,gBAAA,MAAM,EAAE,sBAAsB;AAC9B,gBAAA,MAAM,EAAE,sBAAsB;AAC9B,gBAAA,QAAQ,EAAE;AACR,oBAAA,YAAY,EAAE,KAAK;oBACnB,yBAAyB,EAAE,8BAA8B,CAAC,IAAI;AAC9D,oBAAA,cAAc,EAAE;AACd,wBAAA,MAAM,EAAE,CAAC;AACT,wBAAA,OAAO,EAAE;AACV;AACF;AACF,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA,MAAM,EAAE;AACT;SACF;AAYF,IAAA;IAVC,GAAG,GAAA;AACD,QAAA,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAChE,GAAG,CAAC,KAAK,IAAG;YACV,IAAI,KAAK,EAAE;AACT,gBAAA,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC;YACpC;AACA,YAAA,OAAO,EAAE;QACX,CAAC,CAAC,CACH;IACH;+GAzCW,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cAFhB,MAAM,EAAA,CAAA,CAAA;;4FAEP,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;ACdM,MAAM,mBAAmB,GAAG;IACjC,UAAU,CAAC,iBAAiB,CAAC;IAC7B,gBAAgB,CAAC,uBAAuB,CAAC;AACzC,IAAA,WAAW,CAAC;AACV,QAAA,GAAG,EAAE,mBAAmB;AACxB,QAAA,KAAK,EAAE,sBAAsB;AAC7B,QAAA,WAAW,EAAE,MACX,OAAO,kDAAkD,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;AACjF,QAAA,QAAQ,EAAE;AACR,YAAA,MAAM,EAAE;AACT;KACF;;;AChBH;;AAEG;;;;"}
@@ -12,7 +12,7 @@ const imageWidgetDefinition = {
12
12
  loadConfigComponent: () => import('@c8y/ngx-components/widgets/implementations/image').then(m => m.ImageWidgetConfigComponent),
13
13
  previewImage: 'c8y-style-assets/image-widget.png',
14
14
  data: {
15
- schema: () => import('c8y-schema-loader?interfaceName=ImageWidgetConfig!@c8y/ngx-components/widgets/implementations/image'),
15
+ schema: () => import('c8y-schema-loader?interfaceName=ImageWidgetConfig&type=widget-config!@c8y/ngx-components/widgets/implementations/image'),
16
16
  export: exportImageWidgetConfig,
17
17
  import: importImageWidgetConfig,
18
18
  settings: {
@@ -1 +1 @@
1
- {"version":3,"file":"c8y-ngx-components-widgets-definitions-image.mjs","sources":["../../widgets/definitions/image/index.ts","../../widgets/definitions/image/c8y-ngx-components-widgets-definitions-image.ts"],"sourcesContent":["import type { DashboardMetadata } from '@c8y/ngx-components/context-dashboard';\nimport type {\n DynamicWidgetDefinition,\n WidgetImportExportInjectorOptions\n} from '@c8y/ngx-components';\nimport { hookWidget } from '@c8y/ngx-components';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport { defaultWidgetIds } from '@c8y/ngx-components/widgets/definitions';\nimport type { ImageWidgetConfig } from '@c8y/ngx-components/widgets/implementations/image';\nimport { inject, Injector } from '@angular/core';\nimport { InventoryService, QueriesUtil } from '@c8y/client';\n\nexport interface ExportedImageWidgetConfig extends ImageWidgetConfig {\n imageDetails: { file: { name: string; type: string }; base64: string; c8y_SHA256: string };\n}\n\nexport const imageWidgetDefinition = {\n id: defaultWidgetIds.IMAGE,\n label: gettext('Image'),\n description: gettext(`Display a single image selected from the user's file system.`),\n loadComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/image').then(\n m => m.ImageWidgetViewComponent\n ),\n loadConfigComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/image').then(\n m => m.ImageWidgetConfigComponent\n ),\n previewImage: 'c8y-style-assets/image-widget.png',\n\n data: {\n schema: () =>\n import(\n 'c8y-schema-loader?interfaceName=ImageWidgetConfig!@c8y/ngx-components/widgets/implementations/image'\n ),\n export: exportImageWidgetConfig,\n import: importImageWidgetConfig,\n settings: {\n noNewWidgets: false,\n widgetDefaults: {\n _width: 8,\n _height: 4\n },\n ng1: {\n options: {\n noDeviceTarget: true,\n groupsSelectable: false\n }\n }\n }\n }\n} satisfies DynamicWidgetDefinition;\n\nexport const imageWidgetProviders = [hookWidget(imageWidgetDefinition)];\n\nasync function exportImageWidgetConfig(\n config: ImageWidgetConfig,\n _dashboardData: DashboardMetadata,\n _options: WidgetImportExportInjectorOptions\n): Promise<ExportedImageWidgetConfig> {\n const { ImageWidgetService } = await import('@c8y/ngx-components/widgets/implementations/image');\n const injector = inject(Injector);\n const imageWidgetService = injector.get(ImageWidgetService);\n const imageDetails = await imageWidgetService.getImageDetails(config.imageBinaryId);\n\n return {\n ...config,\n imageDetails: {\n base64: imageDetails.base64,\n c8y_SHA256: imageDetails.c8y_SHA256,\n file: {\n name: imageDetails.file.name,\n type: imageDetails.file.type\n }\n }\n };\n}\n\nasync function importImageWidgetConfig(\n config: ExportedImageWidgetConfig,\n dashboardData: DashboardMetadata,\n _options: WidgetImportExportInjectorOptions\n): Promise<ImageWidgetConfig> {\n const injector = inject(Injector);\n const inventoryService = injector.get(InventoryService);\n\n const baseQuery = {\n __filter: { c8y_SHA256: { __eq: config.imageDetails.c8y_SHA256 } }\n };\n const queriesUtil = new QueriesUtil();\n const query = queriesUtil.buildQuery(baseQuery);\n\n // check if image already exists in inventory\n const fileBySha = (await inventoryService.list({ query, pageSize: 1 })).data?.[0];\n if (fileBySha) {\n return {\n imageBinaryId: fileBySha.id,\n styling: config.styling\n };\n }\n\n // create image file from base64\n const url = config.imageDetails.base64;\n const fileName = config.imageDetails.file.name;\n const type = config.imageDetails.file.type;\n const file = await fetch(url)\n .then(res => res.blob())\n .then(blob => {\n return new File([blob], fileName, { type });\n });\n\n const { ImageWidgetService } = await import('@c8y/ngx-components/widgets/implementations/image');\n const imageWidgetService = injector.get(ImageWidgetService);\n const imageBinaryId = await imageWidgetService.uploadFile(file, {\n dashboardMoId: dashboardData.mo.id,\n isDeviceTypeDashboard:\n !!dashboardData.mo.c8y_Dashboard.deviceType &&\n !!dashboardData.mo.c8y_Dashboard.deviceTypeValue\n });\n\n return {\n imageBinaryId,\n styling: config.styling\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"c8y-ngx-components-widgets-definitions-image.mjs","sources":["../../widgets/definitions/image/index.ts","../../widgets/definitions/image/c8y-ngx-components-widgets-definitions-image.ts"],"sourcesContent":["import type { DashboardMetadata } from '@c8y/ngx-components/context-dashboard';\nimport type {\n DynamicWidgetDefinition,\n WidgetImportExportInjectorOptions\n} from '@c8y/ngx-components';\nimport { hookWidget } from '@c8y/ngx-components';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport { defaultWidgetIds } from '@c8y/ngx-components/widgets/definitions';\nimport type { ImageWidgetConfig } from '@c8y/ngx-components/widgets/implementations/image';\nimport { inject, Injector } from '@angular/core';\nimport { InventoryService, QueriesUtil } from '@c8y/client';\n\nexport interface ExportedImageWidgetConfig extends ImageWidgetConfig {\n imageDetails: { file: { name: string; type: string }; base64: string; c8y_SHA256: string };\n}\n\nexport const imageWidgetDefinition = {\n id: defaultWidgetIds.IMAGE,\n label: gettext('Image'),\n description: gettext(`Display a single image selected from the user's file system.`),\n loadComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/image').then(\n m => m.ImageWidgetViewComponent\n ),\n loadConfigComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/image').then(\n m => m.ImageWidgetConfigComponent\n ),\n previewImage: 'c8y-style-assets/image-widget.png',\n\n data: {\n schema: () =>\n import(\n 'c8y-schema-loader?interfaceName=ImageWidgetConfig&type=widget-config!@c8y/ngx-components/widgets/implementations/image'\n ),\n export: exportImageWidgetConfig,\n import: importImageWidgetConfig,\n settings: {\n noNewWidgets: false,\n widgetDefaults: {\n _width: 8,\n _height: 4\n },\n ng1: {\n options: {\n noDeviceTarget: true,\n groupsSelectable: false\n }\n }\n }\n }\n} satisfies DynamicWidgetDefinition;\n\nexport const imageWidgetProviders = [hookWidget(imageWidgetDefinition)];\n\nasync function exportImageWidgetConfig(\n config: ImageWidgetConfig,\n _dashboardData: DashboardMetadata,\n _options: WidgetImportExportInjectorOptions\n): Promise<ExportedImageWidgetConfig> {\n const { ImageWidgetService } = await import('@c8y/ngx-components/widgets/implementations/image');\n const injector = inject(Injector);\n const imageWidgetService = injector.get(ImageWidgetService);\n const imageDetails = await imageWidgetService.getImageDetails(config.imageBinaryId);\n\n return {\n ...config,\n imageDetails: {\n base64: imageDetails.base64,\n c8y_SHA256: imageDetails.c8y_SHA256,\n file: {\n name: imageDetails.file.name,\n type: imageDetails.file.type\n }\n }\n };\n}\n\nasync function importImageWidgetConfig(\n config: ExportedImageWidgetConfig,\n dashboardData: DashboardMetadata,\n _options: WidgetImportExportInjectorOptions\n): Promise<ImageWidgetConfig> {\n const injector = inject(Injector);\n const inventoryService = injector.get(InventoryService);\n\n const baseQuery = {\n __filter: { c8y_SHA256: { __eq: config.imageDetails.c8y_SHA256 } }\n };\n const queriesUtil = new QueriesUtil();\n const query = queriesUtil.buildQuery(baseQuery);\n\n // check if image already exists in inventory\n const fileBySha = (await inventoryService.list({ query, pageSize: 1 })).data?.[0];\n if (fileBySha) {\n return {\n imageBinaryId: fileBySha.id,\n styling: config.styling\n };\n }\n\n // create image file from base64\n const url = config.imageDetails.base64;\n const fileName = config.imageDetails.file.name;\n const type = config.imageDetails.file.type;\n const file = await fetch(url)\n .then(res => res.blob())\n .then(blob => {\n return new File([blob], fileName, { type });\n });\n\n const { ImageWidgetService } = await import('@c8y/ngx-components/widgets/implementations/image');\n const imageWidgetService = injector.get(ImageWidgetService);\n const imageBinaryId = await imageWidgetService.uploadFile(file, {\n dashboardMoId: dashboardData.mo.id,\n isDeviceTypeDashboard:\n !!dashboardData.mo.c8y_Dashboard.deviceType &&\n !!dashboardData.mo.c8y_Dashboard.deviceTypeValue\n });\n\n return {\n imageBinaryId,\n styling: config.styling\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -77,7 +77,7 @@ const infoGaugeWidgetDefinition = {
77
77
  },
78
78
  errorStrategy: DynamicComponentErrorStrategy.OVERLAY_ERROR,
79
79
  data: {
80
- schema: () => import('c8y-schema-loader?interfaceName=InfoGaugeWidgetConfig!@c8y/ngx-components/widgets/implementations/info-gauge'),
80
+ schema: () => import('c8y-schema-loader?interfaceName=InfoGaugeWidgetConfig&type=widget-config!@c8y/ngx-components/widgets/implementations/info-gauge'),
81
81
  export: exportConfigWithTargets,
82
82
  import: importConfigWithTargets,
83
83
  settings: {
@@ -1 +1 @@
1
- {"version":3,"file":"c8y-ngx-components-widgets-definitions-info-gauge.mjs","sources":["../../widgets/definitions/info-gauge/info-gauge.constants.ts","../../widgets/definitions/info-gauge/index.ts","../../widgets/definitions/info-gauge/c8y-ngx-components-widgets-definitions-info-gauge.ts"],"sourcesContent":["import { DatapointAttributesFormConfig } from '@c8y/ngx-components/datapoint-selector';\nimport { AbstractControl, FormGroup, ValidatorFn } from '@angular/forms';\nimport { gettext } from '@c8y/ngx-components/gettext';\n\nconst AT_LEAST_ONE_ACTIVE_ERROR_KEY = 'noActiveDataPoint';\n\nexport function atLeastOneDataPointActive(dataPointsControlNames: string[]): ValidatorFn {\n const validatorFn = (formGroup: AbstractControl) => {\n if (!(formGroup instanceof FormGroup)) return null;\n\n const errorKey = AT_LEAST_ONE_ACTIVE_ERROR_KEY;\n let anyActive = false;\n\n for (const controlName of dataPointsControlNames) {\n const control = formGroup.get(controlName);\n const value = control?.value;\n if (Array.isArray(value) && value.some(item => item?.__active)) {\n anyActive = true;\n break;\n }\n }\n\n // If none are active\n if (!anyActive) {\n // Set error on all specified controls\n for (const controlName of dataPointsControlNames) {\n const control = formGroup.get(controlName);\n if (control) {\n const errors = { ...(control.errors || {}) };\n errors[errorKey] = true;\n control.setErrors(errors);\n }\n }\n // Set error on the group\n return { [errorKey]: true };\n } else {\n // Remove error from all specified controls if present\n for (const controlName of dataPointsControlNames) {\n const control = formGroup.get(controlName);\n if (control?.errors?.[errorKey]) {\n const errors = { ...control.errors };\n delete errors[errorKey];\n control.setErrors(Object.keys(errors).length ? errors : null);\n }\n }\n // Validation passes for the group\n return null;\n }\n };\n\n // Attach metadata to the validator function\n (validatorFn as any).controlNames = dataPointsControlNames;\n\n return validatorFn;\n}\n\nexport const DEFAULT_FORM_CONFIG: Partial<DatapointAttributesFormConfig> = {\n showRedRange: true,\n showYellowRange: true,\n showRange: true,\n selectableChartRenderTypes: []\n};\n\nexport const DATAPOINTS_GAUGE_CONTROL_NAME = 'datapointsGauge';\nexport const DATAPOINTS_LABELS_CONTROL_NAME = 'datapointsLabels';\n\nexport const minActiveDataPointError = {\n [AT_LEAST_ONE_ACTIVE_ERROR_KEY]: gettext(\n 'At least 1 data point must be selected and active for the gauge or the labels.'\n )\n} as const;\n","import type { DynamicWidgetDefinition } from '@c8y/ngx-components';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport {\n DynamicDatapointsResolver,\n hookWidget,\n DynamicComponentErrorStrategy\n} from '@c8y/ngx-components';\nimport { defaultWidgetIds } from '@c8y/ngx-components/widgets/definitions';\nimport {\n exportConfigWithTargets,\n importConfigWithTargets\n} from '@c8y/ngx-components/widgets/import-export-config';\nimport { hookWidgetConfig } from '@c8y/ngx-components/context-dashboard';\nimport {\n DATAPOINTS_LABELS_CONTROL_NAME,\n DEFAULT_FORM_CONFIG,\n atLeastOneDataPointActive,\n DATAPOINTS_GAUGE_CONTROL_NAME,\n minActiveDataPointError\n} from './info-gauge.constants';\n\nexport const infoGaugeWidgetDefinition = {\n id: defaultWidgetIds.INFO_GAUGE,\n label: gettext('Info gauge'),\n description: gettext('Radial gauge and multiple label and value pairs for data points'),\n loadComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/info-gauge').then(\n m => m.InfoGaugeWidgetViewComponent\n ),\n loadConfigComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/info-gauge').then(\n m => m.InfoGaugeWidgetConfigComponent\n ),\n previewImage: 'c8y-style-assets/info-gauge-widget-pr.png',\n resolve: {\n datapointsLabels: DynamicDatapointsResolver,\n datapointsGauge: DynamicDatapointsResolver\n },\n errorStrategy: DynamicComponentErrorStrategy.OVERLAY_ERROR,\n data: {\n schema: () =>\n import(\n 'c8y-schema-loader?interfaceName=InfoGaugeWidgetConfig!@c8y/ngx-components/widgets/implementations/info-gauge'\n ),\n export: exportConfigWithTargets,\n import: importConfigWithTargets,\n settings: {\n noNewWidgets: false,\n widgetDefaults: {\n _width: 4,\n _height: 2\n },\n ng1: {\n options: {\n noDeviceTarget: true,\n groupsSelectable: false\n }\n }\n }\n }\n} satisfies DynamicWidgetDefinition;\n\nexport const infoGaugeWidgetProviders = [\n hookWidget(infoGaugeWidgetDefinition),\n hookWidgetConfig({\n widgetId: defaultWidgetIds.INFO_GAUGE,\n label: gettext('Gauge`display`'),\n loadComponent: () =>\n import('@c8y/ngx-components/datapoint-selector').then(\n m => m.WidgetDatapointsSelectorComponent\n ),\n initialState: {\n minActiveCount: 0,\n defaultFormOptions: DEFAULT_FORM_CONFIG,\n controlName: DATAPOINTS_GAUGE_CONTROL_NAME\n },\n expanded: true,\n validators: [\n atLeastOneDataPointActive([DATAPOINTS_GAUGE_CONTROL_NAME, DATAPOINTS_LABELS_CONTROL_NAME])\n ],\n validationErrors: minActiveDataPointError,\n priority: 110\n }),\n hookWidgetConfig({\n widgetId: defaultWidgetIds.INFO_GAUGE,\n label: gettext('Multiple label and value pairs'),\n loadComponent: () =>\n import('@c8y/ngx-components/datapoint-selector').then(\n m => m.WidgetDatapointsSelectorComponent\n ),\n initialState: {\n minActiveCount: 0,\n defaultFormOptions: DEFAULT_FORM_CONFIG,\n controlName: DATAPOINTS_LABELS_CONTROL_NAME\n },\n validators: [\n atLeastOneDataPointActive([DATAPOINTS_GAUGE_CONTROL_NAME, DATAPOINTS_LABELS_CONTROL_NAME])\n ],\n validationErrors: minActiveDataPointError,\n priority: 100\n })\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"c8y-ngx-components-widgets-definitions-info-gauge.mjs","sources":["../../widgets/definitions/info-gauge/info-gauge.constants.ts","../../widgets/definitions/info-gauge/index.ts","../../widgets/definitions/info-gauge/c8y-ngx-components-widgets-definitions-info-gauge.ts"],"sourcesContent":["import { DatapointAttributesFormConfig } from '@c8y/ngx-components/datapoint-selector';\nimport { AbstractControl, FormGroup, ValidatorFn } from '@angular/forms';\nimport { gettext } from '@c8y/ngx-components/gettext';\n\nconst AT_LEAST_ONE_ACTIVE_ERROR_KEY = 'noActiveDataPoint';\n\nexport function atLeastOneDataPointActive(dataPointsControlNames: string[]): ValidatorFn {\n const validatorFn = (formGroup: AbstractControl) => {\n if (!(formGroup instanceof FormGroup)) return null;\n\n const errorKey = AT_LEAST_ONE_ACTIVE_ERROR_KEY;\n let anyActive = false;\n\n for (const controlName of dataPointsControlNames) {\n const control = formGroup.get(controlName);\n const value = control?.value;\n if (Array.isArray(value) && value.some(item => item?.__active)) {\n anyActive = true;\n break;\n }\n }\n\n // If none are active\n if (!anyActive) {\n // Set error on all specified controls\n for (const controlName of dataPointsControlNames) {\n const control = formGroup.get(controlName);\n if (control) {\n const errors = { ...(control.errors || {}) };\n errors[errorKey] = true;\n control.setErrors(errors);\n }\n }\n // Set error on the group\n return { [errorKey]: true };\n } else {\n // Remove error from all specified controls if present\n for (const controlName of dataPointsControlNames) {\n const control = formGroup.get(controlName);\n if (control?.errors?.[errorKey]) {\n const errors = { ...control.errors };\n delete errors[errorKey];\n control.setErrors(Object.keys(errors).length ? errors : null);\n }\n }\n // Validation passes for the group\n return null;\n }\n };\n\n // Attach metadata to the validator function\n (validatorFn as any).controlNames = dataPointsControlNames;\n\n return validatorFn;\n}\n\nexport const DEFAULT_FORM_CONFIG: Partial<DatapointAttributesFormConfig> = {\n showRedRange: true,\n showYellowRange: true,\n showRange: true,\n selectableChartRenderTypes: []\n};\n\nexport const DATAPOINTS_GAUGE_CONTROL_NAME = 'datapointsGauge';\nexport const DATAPOINTS_LABELS_CONTROL_NAME = 'datapointsLabels';\n\nexport const minActiveDataPointError = {\n [AT_LEAST_ONE_ACTIVE_ERROR_KEY]: gettext(\n 'At least 1 data point must be selected and active for the gauge or the labels.'\n )\n} as const;\n","import type { DynamicWidgetDefinition } from '@c8y/ngx-components';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport {\n DynamicDatapointsResolver,\n hookWidget,\n DynamicComponentErrorStrategy\n} from '@c8y/ngx-components';\nimport { defaultWidgetIds } from '@c8y/ngx-components/widgets/definitions';\nimport {\n exportConfigWithTargets,\n importConfigWithTargets\n} from '@c8y/ngx-components/widgets/import-export-config';\nimport { hookWidgetConfig } from '@c8y/ngx-components/context-dashboard';\nimport {\n DATAPOINTS_LABELS_CONTROL_NAME,\n DEFAULT_FORM_CONFIG,\n atLeastOneDataPointActive,\n DATAPOINTS_GAUGE_CONTROL_NAME,\n minActiveDataPointError\n} from './info-gauge.constants';\n\nexport const infoGaugeWidgetDefinition = {\n id: defaultWidgetIds.INFO_GAUGE,\n label: gettext('Info gauge'),\n description: gettext('Radial gauge and multiple label and value pairs for data points'),\n loadComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/info-gauge').then(\n m => m.InfoGaugeWidgetViewComponent\n ),\n loadConfigComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/info-gauge').then(\n m => m.InfoGaugeWidgetConfigComponent\n ),\n previewImage: 'c8y-style-assets/info-gauge-widget-pr.png',\n resolve: {\n datapointsLabels: DynamicDatapointsResolver,\n datapointsGauge: DynamicDatapointsResolver\n },\n errorStrategy: DynamicComponentErrorStrategy.OVERLAY_ERROR,\n data: {\n schema: () =>\n import(\n 'c8y-schema-loader?interfaceName=InfoGaugeWidgetConfig&type=widget-config!@c8y/ngx-components/widgets/implementations/info-gauge'\n ),\n export: exportConfigWithTargets,\n import: importConfigWithTargets,\n settings: {\n noNewWidgets: false,\n widgetDefaults: {\n _width: 4,\n _height: 2\n },\n ng1: {\n options: {\n noDeviceTarget: true,\n groupsSelectable: false\n }\n }\n }\n }\n} satisfies DynamicWidgetDefinition;\n\nexport const infoGaugeWidgetProviders = [\n hookWidget(infoGaugeWidgetDefinition),\n hookWidgetConfig({\n widgetId: defaultWidgetIds.INFO_GAUGE,\n label: gettext('Gauge`display`'),\n loadComponent: () =>\n import('@c8y/ngx-components/datapoint-selector').then(\n m => m.WidgetDatapointsSelectorComponent\n ),\n initialState: {\n minActiveCount: 0,\n defaultFormOptions: DEFAULT_FORM_CONFIG,\n controlName: DATAPOINTS_GAUGE_CONTROL_NAME\n },\n expanded: true,\n validators: [\n atLeastOneDataPointActive([DATAPOINTS_GAUGE_CONTROL_NAME, DATAPOINTS_LABELS_CONTROL_NAME])\n ],\n validationErrors: minActiveDataPointError,\n priority: 110\n }),\n hookWidgetConfig({\n widgetId: defaultWidgetIds.INFO_GAUGE,\n label: gettext('Multiple label and value pairs'),\n loadComponent: () =>\n import('@c8y/ngx-components/datapoint-selector').then(\n m => m.WidgetDatapointsSelectorComponent\n ),\n initialState: {\n minActiveCount: 0,\n defaultFormOptions: DEFAULT_FORM_CONFIG,\n controlName: DATAPOINTS_LABELS_CONTROL_NAME\n },\n validators: [\n atLeastOneDataPointActive([DATAPOINTS_GAUGE_CONTROL_NAME, DATAPOINTS_LABELS_CONTROL_NAME])\n ],\n validationErrors: minActiveDataPointError,\n priority: 100\n })\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -22,7 +22,7 @@ const kpiWidgetDefinition = {
22
22
  },
23
23
  errorStrategy: DynamicComponentErrorStrategy.OVERLAY_ERROR,
24
24
  data: {
25
- schema: () => import('c8y-schema-loader?interfaceName=KpiWidgetConfig!@c8y/ngx-components/widgets/implementations/kpi'),
25
+ schema: () => import('c8y-schema-loader?interfaceName=KpiWidgetConfig&type=widget-config!@c8y/ngx-components/widgets/implementations/kpi'),
26
26
  export: exportConfigWithTargets,
27
27
  import: importConfigWithTargets,
28
28
  controls: PRESET_NAME.KPI_CONFIG,
@@ -1 +1 @@
1
- {"version":3,"file":"c8y-ngx-components-widgets-definitions-kpi.mjs","sources":["../../widgets/definitions/kpi/kpi.constants.ts","../../widgets/definitions/kpi/index.ts","../../widgets/definitions/kpi/c8y-ngx-components-widgets-definitions-kpi.ts"],"sourcesContent":["import { DatapointAttributesFormConfig } from '@c8y/ngx-components/datapoint-selector';\n\nexport const KPI_FORM_OPTIONS: Partial<DatapointAttributesFormConfig> = {\n showRedRange: true,\n showYellowRange: true\n};\n","import { gettext } from '@c8y/ngx-components/gettext';\nimport {\n DynamicComponentErrorStrategy,\n DynamicDatapointsResolver,\n DynamicWidgetDefinition,\n hookWidget\n} from '@c8y/ngx-components';\nimport { defaultWidgetIds } from '@c8y/ngx-components/widgets/definitions';\nimport {\n exportConfigWithTargets,\n importConfigWithTargets\n} from '@c8y/ngx-components/widgets/import-export-config';\nimport {\n GlobalContextSectionComponent,\n hookWidgetConfig\n} from '@c8y/ngx-components/context-dashboard';\nimport { PRESET_NAME } from '@c8y/ngx-components/global-context';\nimport { KPI_FORM_OPTIONS } from './kpi.constants';\n\nexport const kpiWidgetDefinition = {\n id: defaultWidgetIds.KPI,\n label: gettext('KPI'),\n description: gettext('Displays the last measurement value of a device.'),\n loadComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/kpi').then(m => m.KpiWidgetViewComponent),\n loadConfigComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/kpi').then(m => m.KpiWidgetConfigComponent),\n previewImage: 'c8y-style-assets/kpi-widget.png',\n resolve: {\n datapoints: DynamicDatapointsResolver\n },\n errorStrategy: DynamicComponentErrorStrategy.OVERLAY_ERROR,\n data: {\n schema: () =>\n import(\n 'c8y-schema-loader?interfaceName=KpiWidgetConfig!@c8y/ngx-components/widgets/implementations/kpi'\n ),\n export: exportConfigWithTargets,\n import: importConfigWithTargets,\n controls: PRESET_NAME.KPI_CONFIG,\n settings: {\n noNewWidgets: false,\n widgetDefaults: {\n _width: 4,\n _height: 2\n },\n ng1: {\n options: {\n noDeviceTarget: true,\n groupsSelectable: false\n }\n }\n }\n }\n} satisfies DynamicWidgetDefinition;\n\nexport const kpiWidgetProviders = [\n hookWidget(kpiWidgetDefinition),\n hookWidgetConfig<GlobalContextSectionComponent>({\n widgetId: defaultWidgetIds.KPI,\n priority: 10,\n label: gettext('Time context'),\n initialState: {\n controls: PRESET_NAME.KPI_CONFIG\n },\n loadComponent: () =>\n import('@c8y/ngx-components/context-dashboard').then(m => m.GlobalContextSectionComponent)\n }),\n hookWidgetConfig({\n widgetId: defaultWidgetIds.KPI,\n label: gettext('Data point selection'),\n loadComponent: () =>\n import('@c8y/ngx-components/datapoint-selector').then(\n m => m.WidgetDatapointsSelectorComponent\n ),\n initialState: {\n minActiveCount: 1,\n maxActiveCount: 1,\n defaultFormOptions: KPI_FORM_OPTIONS\n },\n expanded: true,\n priority: 100\n })\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAEO,MAAM,gBAAgB,GAA2C;AACtE,IAAA,YAAY,EAAE,IAAI;AAClB,IAAA,eAAe,EAAE;CAClB;;ACcM,MAAM,mBAAmB,GAAG;IACjC,EAAE,EAAE,gBAAgB,CAAC,GAAG;AACxB,IAAA,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC;AACrB,IAAA,WAAW,EAAE,OAAO,CAAC,kDAAkD,CAAC;AACxE,IAAA,aAAa,EAAE,MACb,OAAO,iDAAiD,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,sBAAsB,CAAC;AAC/F,IAAA,mBAAmB,EAAE,MACnB,OAAO,iDAAiD,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,wBAAwB,CAAC;AACjG,IAAA,YAAY,EAAE,iCAAiC;AAC/C,IAAA,OAAO,EAAE;AACP,QAAA,UAAU,EAAE;AACb,KAAA;IACD,aAAa,EAAE,6BAA6B,CAAC,aAAa;AAC1D,IAAA,IAAI,EAAE;AACJ,QAAA,MAAM,EAAE,MACN,OACE,iGAAiG,CAClG;AACH,QAAA,MAAM,EAAE,uBAAuB;AAC/B,QAAA,MAAM,EAAE,uBAAuB;QAC/B,QAAQ,EAAE,WAAW,CAAC,UAAU;AAChC,QAAA,QAAQ,EAAE;AACR,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,cAAc,EAAE;AACd,gBAAA,MAAM,EAAE,CAAC;AACT,gBAAA,OAAO,EAAE;AACV,aAAA;AACD,YAAA,GAAG,EAAE;AACH,gBAAA,OAAO,EAAE;AACP,oBAAA,cAAc,EAAE,IAAI;AACpB,oBAAA,gBAAgB,EAAE;AACnB;AACF;AACF;AACF;;AAGI,MAAM,kBAAkB,GAAG;IAChC,UAAU,CAAC,mBAAmB,CAAC;AAC/B,IAAA,gBAAgB,CAAgC;QAC9C,QAAQ,EAAE,gBAAgB,CAAC,GAAG;AAC9B,QAAA,QAAQ,EAAE,EAAE;AACZ,QAAA,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC;AAC9B,QAAA,YAAY,EAAE;YACZ,QAAQ,EAAE,WAAW,CAAC;AACvB,SAAA;AACD,QAAA,aAAa,EAAE,MACb,OAAO,uCAAuC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,6BAA6B;KAC5F,CAAC;AACF,IAAA,gBAAgB,CAAC;QACf,QAAQ,EAAE,gBAAgB,CAAC,GAAG;AAC9B,QAAA,KAAK,EAAE,OAAO,CAAC,sBAAsB,CAAC;AACtC,QAAA,aAAa,EAAE,MACb,OAAO,wCAAwC,CAAC,CAAC,IAAI,CACnD,CAAC,IAAI,CAAC,CAAC,iCAAiC,CACzC;AACH,QAAA,YAAY,EAAE;AACZ,YAAA,cAAc,EAAE,CAAC;AACjB,YAAA,cAAc,EAAE,CAAC;AACjB,YAAA,kBAAkB,EAAE;AACrB,SAAA;AACD,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,QAAQ,EAAE;KACX;;;AClFH;;AAEG;;;;"}
1
+ {"version":3,"file":"c8y-ngx-components-widgets-definitions-kpi.mjs","sources":["../../widgets/definitions/kpi/kpi.constants.ts","../../widgets/definitions/kpi/index.ts","../../widgets/definitions/kpi/c8y-ngx-components-widgets-definitions-kpi.ts"],"sourcesContent":["import { DatapointAttributesFormConfig } from '@c8y/ngx-components/datapoint-selector';\n\nexport const KPI_FORM_OPTIONS: Partial<DatapointAttributesFormConfig> = {\n showRedRange: true,\n showYellowRange: true\n};\n","import { gettext } from '@c8y/ngx-components/gettext';\nimport {\n DynamicComponentErrorStrategy,\n DynamicDatapointsResolver,\n DynamicWidgetDefinition,\n hookWidget\n} from '@c8y/ngx-components';\nimport { defaultWidgetIds } from '@c8y/ngx-components/widgets/definitions';\nimport {\n exportConfigWithTargets,\n importConfigWithTargets\n} from '@c8y/ngx-components/widgets/import-export-config';\nimport {\n GlobalContextSectionComponent,\n hookWidgetConfig\n} from '@c8y/ngx-components/context-dashboard';\nimport { PRESET_NAME } from '@c8y/ngx-components/global-context';\nimport { KPI_FORM_OPTIONS } from './kpi.constants';\n\nexport const kpiWidgetDefinition = {\n id: defaultWidgetIds.KPI,\n label: gettext('KPI'),\n description: gettext('Displays the last measurement value of a device.'),\n loadComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/kpi').then(m => m.KpiWidgetViewComponent),\n loadConfigComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/kpi').then(m => m.KpiWidgetConfigComponent),\n previewImage: 'c8y-style-assets/kpi-widget.png',\n resolve: {\n datapoints: DynamicDatapointsResolver\n },\n errorStrategy: DynamicComponentErrorStrategy.OVERLAY_ERROR,\n data: {\n schema: () =>\n import(\n 'c8y-schema-loader?interfaceName=KpiWidgetConfig&type=widget-config!@c8y/ngx-components/widgets/implementations/kpi'\n ),\n export: exportConfigWithTargets,\n import: importConfigWithTargets,\n controls: PRESET_NAME.KPI_CONFIG,\n settings: {\n noNewWidgets: false,\n widgetDefaults: {\n _width: 4,\n _height: 2\n },\n ng1: {\n options: {\n noDeviceTarget: true,\n groupsSelectable: false\n }\n }\n }\n }\n} satisfies DynamicWidgetDefinition;\n\nexport const kpiWidgetProviders = [\n hookWidget(kpiWidgetDefinition),\n hookWidgetConfig<GlobalContextSectionComponent>({\n widgetId: defaultWidgetIds.KPI,\n priority: 10,\n label: gettext('Time context'),\n initialState: {\n controls: PRESET_NAME.KPI_CONFIG\n },\n loadComponent: () =>\n import('@c8y/ngx-components/context-dashboard').then(m => m.GlobalContextSectionComponent)\n }),\n hookWidgetConfig({\n widgetId: defaultWidgetIds.KPI,\n label: gettext('Data point selection'),\n loadComponent: () =>\n import('@c8y/ngx-components/datapoint-selector').then(\n m => m.WidgetDatapointsSelectorComponent\n ),\n initialState: {\n minActiveCount: 1,\n maxActiveCount: 1,\n defaultFormOptions: KPI_FORM_OPTIONS\n },\n expanded: true,\n priority: 100\n })\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAEO,MAAM,gBAAgB,GAA2C;AACtE,IAAA,YAAY,EAAE,IAAI;AAClB,IAAA,eAAe,EAAE;CAClB;;ACcM,MAAM,mBAAmB,GAAG;IACjC,EAAE,EAAE,gBAAgB,CAAC,GAAG;AACxB,IAAA,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC;AACrB,IAAA,WAAW,EAAE,OAAO,CAAC,kDAAkD,CAAC;AACxE,IAAA,aAAa,EAAE,MACb,OAAO,iDAAiD,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,sBAAsB,CAAC;AAC/F,IAAA,mBAAmB,EAAE,MACnB,OAAO,iDAAiD,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,wBAAwB,CAAC;AACjG,IAAA,YAAY,EAAE,iCAAiC;AAC/C,IAAA,OAAO,EAAE;AACP,QAAA,UAAU,EAAE;AACb,KAAA;IACD,aAAa,EAAE,6BAA6B,CAAC,aAAa;AAC1D,IAAA,IAAI,EAAE;AACJ,QAAA,MAAM,EAAE,MACN,OACE,oHAAoH,CACrH;AACH,QAAA,MAAM,EAAE,uBAAuB;AAC/B,QAAA,MAAM,EAAE,uBAAuB;QAC/B,QAAQ,EAAE,WAAW,CAAC,UAAU;AAChC,QAAA,QAAQ,EAAE;AACR,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,cAAc,EAAE;AACd,gBAAA,MAAM,EAAE,CAAC;AACT,gBAAA,OAAO,EAAE;AACV,aAAA;AACD,YAAA,GAAG,EAAE;AACH,gBAAA,OAAO,EAAE;AACP,oBAAA,cAAc,EAAE,IAAI;AACpB,oBAAA,gBAAgB,EAAE;AACnB;AACF;AACF;AACF;;AAGI,MAAM,kBAAkB,GAAG;IAChC,UAAU,CAAC,mBAAmB,CAAC;AAC/B,IAAA,gBAAgB,CAAgC;QAC9C,QAAQ,EAAE,gBAAgB,CAAC,GAAG;AAC9B,QAAA,QAAQ,EAAE,EAAE;AACZ,QAAA,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC;AAC9B,QAAA,YAAY,EAAE;YACZ,QAAQ,EAAE,WAAW,CAAC;AACvB,SAAA;AACD,QAAA,aAAa,EAAE,MACb,OAAO,uCAAuC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,6BAA6B;KAC5F,CAAC;AACF,IAAA,gBAAgB,CAAC;QACf,QAAQ,EAAE,gBAAgB,CAAC,GAAG;AAC9B,QAAA,KAAK,EAAE,OAAO,CAAC,sBAAsB,CAAC;AACtC,QAAA,aAAa,EAAE,MACb,OAAO,wCAAwC,CAAC,CAAC,IAAI,CACnD,CAAC,IAAI,CAAC,CAAC,iCAAiC,CACzC;AACH,QAAA,YAAY,EAAE;AACZ,YAAA,cAAc,EAAE,CAAC;AACjB,YAAA,cAAc,EAAE,CAAC;AACjB,YAAA,kBAAkB,EAAE;AACrB,SAAA;AACD,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,QAAQ,EAAE;KACX;;;AClFH;;AAEG;;;;"}
@@ -23,7 +23,7 @@ const linearGaugeWidgetDefinition = {
23
23
  },
24
24
  errorStrategy: DynamicComponentErrorStrategy.OVERLAY_ERROR,
25
25
  data: {
26
- schema: () => import('c8y-schema-loader?interfaceName=LinearGaugeWidgetConfig!@c8y/ngx-components/widgets/implementations/linear-gauge'),
26
+ schema: () => import('c8y-schema-loader?interfaceName=LinearGaugeWidgetConfig&type=widget-config!@c8y/ngx-components/widgets/implementations/linear-gauge'),
27
27
  export: exportConfigWithTargets,
28
28
  import: importConfigWithTargets,
29
29
  settings: {
@@ -1 +1 @@
1
- {"version":3,"file":"c8y-ngx-components-widgets-definitions-linear-gauge.mjs","sources":["../../widgets/definitions/linear-gauge/linear-gauge.constants.ts","../../widgets/definitions/linear-gauge/index.ts","../../widgets/definitions/linear-gauge/c8y-ngx-components-widgets-definitions-linear-gauge.ts"],"sourcesContent":["import { DatapointAttributesFormConfig } from '@c8y/ngx-components/datapoint-selector';\n\nexport const LINEAR_GAUGE_OPTIONS: Partial<DatapointAttributesFormConfig> = {\n showRedRange: true,\n showYellowRange: true,\n showRange: true,\n showTarget: true\n};\n","import type { DynamicWidgetDefinition } from '@c8y/ngx-components';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport {\n DynamicComponentErrorStrategy,\n DynamicDatapointsResolver,\n hookWidget\n} from '@c8y/ngx-components';\nimport { defaultWidgetIds } from '@c8y/ngx-components/widgets/definitions';\nimport {\n exportConfigWithTargets,\n importConfigWithTargets\n} from '@c8y/ngx-components/widgets/import-export-config';\nimport { hookWidgetConfig } from '@c8y/ngx-components/context-dashboard';\nimport { LINEAR_GAUGE_OPTIONS } from './linear-gauge.constants';\n\nexport const linearGaugeWidgetDefinition = {\n id: defaultWidgetIds.LINEAR_GAUGE,\n label: gettext('Linear Gauge'),\n description: gettext('A linear gauge graph displaying current values for selected measurements'),\n loadComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/linear-gauge').then(\n m => m.LinearGaugeWidgetViewComponent\n ),\n loadConfigComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/linear-gauge').then(\n m => m.LinearGaugeWidgetConfigComponent\n ),\n previewImage: 'c8y-style-assets/linear-gauge-widget-pr.png',\n resolve: {\n datapoints: DynamicDatapointsResolver\n },\n errorStrategy: DynamicComponentErrorStrategy.OVERLAY_ERROR,\n data: {\n schema: () =>\n import(\n 'c8y-schema-loader?interfaceName=LinearGaugeWidgetConfig!@c8y/ngx-components/widgets/implementations/linear-gauge'\n ),\n export: exportConfigWithTargets,\n import: importConfigWithTargets,\n settings: {\n noNewWidgets: false,\n widgetDefaults: {\n _width: 4,\n _height: 3\n },\n ng1: {\n options: {\n noDeviceTarget: true,\n groupsSelectable: false\n }\n }\n }\n }\n} satisfies DynamicWidgetDefinition;\n\nexport const linearGaugeWidgetProviders = [\n hookWidget(linearGaugeWidgetDefinition),\n hookWidgetConfig({\n widgetId: defaultWidgetIds.LINEAR_GAUGE,\n label: gettext('Data point selection'),\n loadComponent: () =>\n import('@c8y/ngx-components/datapoint-selector').then(\n m => m.WidgetDatapointsSelectorComponent\n ),\n initialState: {\n minActiveCount: 1,\n maxActiveCount: 1,\n defaultFormOptions: LINEAR_GAUGE_OPTIONS\n },\n expanded: true,\n priority: 100\n })\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAEO,MAAM,oBAAoB,GAA2C;AAC1E,IAAA,YAAY,EAAE,IAAI;AAClB,IAAA,eAAe,EAAE,IAAI;AACrB,IAAA,SAAS,EAAE,IAAI;AACf,IAAA,UAAU,EAAE;CACb;;ACQM,MAAM,2BAA2B,GAAG;IACzC,EAAE,EAAE,gBAAgB,CAAC,YAAY;AACjC,IAAA,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC;AAC9B,IAAA,WAAW,EAAE,OAAO,CAAC,0EAA0E,CAAC;AAChG,IAAA,aAAa,EAAE,MACb,OAAO,0DAA0D,CAAC,CAAC,IAAI,CACrE,CAAC,IAAI,CAAC,CAAC,8BAA8B,CACtC;AACH,IAAA,mBAAmB,EAAE,MACnB,OAAO,0DAA0D,CAAC,CAAC,IAAI,CACrE,CAAC,IAAI,CAAC,CAAC,gCAAgC,CACxC;AACH,IAAA,YAAY,EAAE,6CAA6C;AAC3D,IAAA,OAAO,EAAE;AACP,QAAA,UAAU,EAAE;AACb,KAAA;IACD,aAAa,EAAE,6BAA6B,CAAC,aAAa;AAC1D,IAAA,IAAI,EAAE;AACJ,QAAA,MAAM,EAAE,MACN,OACE,kHAAkH,CACnH;AACH,QAAA,MAAM,EAAE,uBAAuB;AAC/B,QAAA,MAAM,EAAE,uBAAuB;AAC/B,QAAA,QAAQ,EAAE;AACR,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,cAAc,EAAE;AACd,gBAAA,MAAM,EAAE,CAAC;AACT,gBAAA,OAAO,EAAE;AACV,aAAA;AACD,YAAA,GAAG,EAAE;AACH,gBAAA,OAAO,EAAE;AACP,oBAAA,cAAc,EAAE,IAAI;AACpB,oBAAA,gBAAgB,EAAE;AACnB;AACF;AACF;AACF;;AAGI,MAAM,0BAA0B,GAAG;IACxC,UAAU,CAAC,2BAA2B,CAAC;AACvC,IAAA,gBAAgB,CAAC;QACf,QAAQ,EAAE,gBAAgB,CAAC,YAAY;AACvC,QAAA,KAAK,EAAE,OAAO,CAAC,sBAAsB,CAAC;AACtC,QAAA,aAAa,EAAE,MACb,OAAO,wCAAwC,CAAC,CAAC,IAAI,CACnD,CAAC,IAAI,CAAC,CAAC,iCAAiC,CACzC;AACH,QAAA,YAAY,EAAE;AACZ,YAAA,cAAc,EAAE,CAAC;AACjB,YAAA,cAAc,EAAE,CAAC;AACjB,YAAA,kBAAkB,EAAE;AACrB,SAAA;AACD,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,QAAQ,EAAE;KACX;;;ACvEH;;AAEG;;;;"}
1
+ {"version":3,"file":"c8y-ngx-components-widgets-definitions-linear-gauge.mjs","sources":["../../widgets/definitions/linear-gauge/linear-gauge.constants.ts","../../widgets/definitions/linear-gauge/index.ts","../../widgets/definitions/linear-gauge/c8y-ngx-components-widgets-definitions-linear-gauge.ts"],"sourcesContent":["import { DatapointAttributesFormConfig } from '@c8y/ngx-components/datapoint-selector';\n\nexport const LINEAR_GAUGE_OPTIONS: Partial<DatapointAttributesFormConfig> = {\n showRedRange: true,\n showYellowRange: true,\n showRange: true,\n showTarget: true\n};\n","import type { DynamicWidgetDefinition } from '@c8y/ngx-components';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport {\n DynamicComponentErrorStrategy,\n DynamicDatapointsResolver,\n hookWidget\n} from '@c8y/ngx-components';\nimport { defaultWidgetIds } from '@c8y/ngx-components/widgets/definitions';\nimport {\n exportConfigWithTargets,\n importConfigWithTargets\n} from '@c8y/ngx-components/widgets/import-export-config';\nimport { hookWidgetConfig } from '@c8y/ngx-components/context-dashboard';\nimport { LINEAR_GAUGE_OPTIONS } from './linear-gauge.constants';\n\nexport const linearGaugeWidgetDefinition = {\n id: defaultWidgetIds.LINEAR_GAUGE,\n label: gettext('Linear Gauge'),\n description: gettext('A linear gauge graph displaying current values for selected measurements'),\n loadComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/linear-gauge').then(\n m => m.LinearGaugeWidgetViewComponent\n ),\n loadConfigComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/linear-gauge').then(\n m => m.LinearGaugeWidgetConfigComponent\n ),\n previewImage: 'c8y-style-assets/linear-gauge-widget-pr.png',\n resolve: {\n datapoints: DynamicDatapointsResolver\n },\n errorStrategy: DynamicComponentErrorStrategy.OVERLAY_ERROR,\n data: {\n schema: () =>\n import(\n 'c8y-schema-loader?interfaceName=LinearGaugeWidgetConfig&type=widget-config!@c8y/ngx-components/widgets/implementations/linear-gauge'\n ),\n export: exportConfigWithTargets,\n import: importConfigWithTargets,\n settings: {\n noNewWidgets: false,\n widgetDefaults: {\n _width: 4,\n _height: 3\n },\n ng1: {\n options: {\n noDeviceTarget: true,\n groupsSelectable: false\n }\n }\n }\n }\n} satisfies DynamicWidgetDefinition;\n\nexport const linearGaugeWidgetProviders = [\n hookWidget(linearGaugeWidgetDefinition),\n hookWidgetConfig({\n widgetId: defaultWidgetIds.LINEAR_GAUGE,\n label: gettext('Data point selection'),\n loadComponent: () =>\n import('@c8y/ngx-components/datapoint-selector').then(\n m => m.WidgetDatapointsSelectorComponent\n ),\n initialState: {\n minActiveCount: 1,\n maxActiveCount: 1,\n defaultFormOptions: LINEAR_GAUGE_OPTIONS\n },\n expanded: true,\n priority: 100\n })\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAEO,MAAM,oBAAoB,GAA2C;AAC1E,IAAA,YAAY,EAAE,IAAI;AAClB,IAAA,eAAe,EAAE,IAAI;AACrB,IAAA,SAAS,EAAE,IAAI;AACf,IAAA,UAAU,EAAE;CACb;;ACQM,MAAM,2BAA2B,GAAG;IACzC,EAAE,EAAE,gBAAgB,CAAC,YAAY;AACjC,IAAA,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC;AAC9B,IAAA,WAAW,EAAE,OAAO,CAAC,0EAA0E,CAAC;AAChG,IAAA,aAAa,EAAE,MACb,OAAO,0DAA0D,CAAC,CAAC,IAAI,CACrE,CAAC,IAAI,CAAC,CAAC,8BAA8B,CACtC;AACH,IAAA,mBAAmB,EAAE,MACnB,OAAO,0DAA0D,CAAC,CAAC,IAAI,CACrE,CAAC,IAAI,CAAC,CAAC,gCAAgC,CACxC;AACH,IAAA,YAAY,EAAE,6CAA6C;AAC3D,IAAA,OAAO,EAAE;AACP,QAAA,UAAU,EAAE;AACb,KAAA;IACD,aAAa,EAAE,6BAA6B,CAAC,aAAa;AAC1D,IAAA,IAAI,EAAE;AACJ,QAAA,MAAM,EAAE,MACN,OACE,qIAAqI,CACtI;AACH,QAAA,MAAM,EAAE,uBAAuB;AAC/B,QAAA,MAAM,EAAE,uBAAuB;AAC/B,QAAA,QAAQ,EAAE;AACR,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,cAAc,EAAE;AACd,gBAAA,MAAM,EAAE,CAAC;AACT,gBAAA,OAAO,EAAE;AACV,aAAA;AACD,YAAA,GAAG,EAAE;AACH,gBAAA,OAAO,EAAE;AACP,oBAAA,cAAc,EAAE,IAAI;AACpB,oBAAA,gBAAgB,EAAE;AACnB;AACF;AACF;AACF;;AAGI,MAAM,0BAA0B,GAAG;IACxC,UAAU,CAAC,2BAA2B,CAAC;AACvC,IAAA,gBAAgB,CAAC;QACf,QAAQ,EAAE,gBAAgB,CAAC,YAAY;AACvC,QAAA,KAAK,EAAE,OAAO,CAAC,sBAAsB,CAAC;AACtC,QAAA,aAAa,EAAE,MACb,OAAO,wCAAwC,CAAC,CAAC,IAAI,CACnD,CAAC,IAAI,CAAC,CAAC,iCAAiC,CACzC;AACH,QAAA,YAAY,EAAE;AACZ,YAAA,cAAc,EAAE,CAAC;AACjB,YAAA,cAAc,EAAE,CAAC;AACjB,YAAA,kBAAkB,EAAE;AACrB,SAAA;AACD,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,QAAQ,EAAE;KACX;;;ACvEH;;AAEG;;;;"}
@@ -136,7 +136,7 @@ const mapWidgetDefinition = {
136
136
  previewImage: 'c8y-style-assets/map-widget-pr.png',
137
137
  errorStrategy: DynamicComponentErrorStrategy.OVERLAY_ERROR,
138
138
  data: {
139
- schema: () => import('c8y-schema-loader?interfaceName=MapWidgetConfig!@c8y/ngx-components/widgets/implementations/map'),
139
+ schema: () => import('c8y-schema-loader?interfaceName=MapWidgetConfig&type=widget-config!@c8y/ngx-components/widgets/implementations/map'),
140
140
  export: exportConfigWithDevice,
141
141
  import: importConfigWithDevice,
142
142
  widgetControls: mapWidgetControls,
@@ -1 +1 @@
1
- {"version":3,"file":"c8y-ngx-components-widgets-definitions-map.mjs","sources":["../../widgets/definitions/map/map-widget-controls-definitions.ts","../../widgets/definitions/map/index.ts","../../widgets/definitions/map/c8y-ngx-components-widgets-definitions-map.ts"],"sourcesContent":["import {\n defineWidgetControls,\n GLOBAL_CONTEXT_DISPLAY_MODE,\n REFRESH_OPTION\n} from '@c8y/ngx-components/global-context';\n\nexport const mapWidgetControls = defineWidgetControls({\n name: 'map-widget',\n supports: ['liveRefresh', 'displayMode', 'refreshInterval', 'refreshOption'],\n supportedModes: [REFRESH_OPTION.LIVE],\n settings: {\n dashboard: {\n live: {\n inline: {\n showAutoRefresh: true\n }\n },\n history: {\n inline: {\n showRefresh: true\n }\n }\n },\n config: {\n live: {\n inline: {\n showAutoRefresh: false,\n showRefresh: true,\n showRefreshInterval: false\n },\n configuration: {\n showAutoRefresh: true,\n showRefreshInterval: true,\n showTimeContext: false\n }\n },\n history: {\n inline: {\n showTimeContext: true\n },\n configuration: {\n showTimeContext: true\n }\n }\n },\n viewAndConfig: {\n live: {\n inline: {\n showAutoRefresh: true,\n showRefreshInterval: false,\n showTimeContext: false\n },\n configuration: {\n showAutoRefresh: true,\n showRefreshInterval: true,\n showTimeContext: false\n }\n },\n history: {\n inline: {\n showRefresh: true\n },\n configuration: {}\n }\n },\n defaultLinks: {\n config: {},\n dashboard: {\n live: {\n isAutoRefreshEnabled: true\n },\n history: {}\n },\n viewAndConfig: {}\n }\n },\n handlers: {\n startFollow: {\n handler: () => ({\n inlineControlSettings: { showAutoRefresh: false },\n dashboardControlSettings: { showAutoRefresh: false },\n links: {},\n options: undefined\n })\n },\n stopFollow: {\n handler: state => {\n const { config } = state;\n const displayMode = config.displayMode || GLOBAL_CONTEXT_DISPLAY_MODE.DASHBOARD;\n const refreshOption = config.refreshOption || REFRESH_OPTION.LIVE;\n const isDashboardMode = displayMode === GLOBAL_CONTEXT_DISPLAY_MODE.DASHBOARD;\n\n if (isDashboardMode) {\n return {\n inlineControlSettings:\n refreshOption === REFRESH_OPTION.LIVE\n ? { showAutoRefresh: false }\n : { showAutoRefresh: true },\n dashboardControlSettings: { showAutoRefresh: false },\n links:\n refreshOption === REFRESH_OPTION.LIVE\n ? { isAutoRefreshEnabled: true }\n : { isAutoRefreshEnabled: false },\n options: undefined\n };\n }\n\n return {\n inlineControlSettings: {},\n dashboardControlSettings: {},\n links: {},\n options: undefined\n };\n }\n },\n disableCounter: {\n handler: () => ({\n inlineControlSettings: {},\n dashboardControlSettings: {},\n links: {},\n options: { noAutoRefreshCounter: true }\n })\n }\n }\n});\n","import { gettext } from '@c8y/ngx-components/gettext';\nimport {\n DynamicManagedObjectResolver,\n DynamicComponentErrorStrategy,\n hookWidget\n} from '@c8y/ngx-components';\nimport type { DynamicWidgetDefinition } from '@c8y/ngx-components';\nimport {\n hookWidgetConfig,\n GlobalContextSectionComponent\n} from '@c8y/ngx-components/context-dashboard';\nimport { defaultWidgetIds } from '@c8y/ngx-components/widgets/definitions';\nimport {\n importConfigWithDevice,\n exportConfigWithDevice\n} from '@c8y/ngx-components/widgets/import-export-config';\nimport { mapWidgetControls } from './map-widget-controls-definitions';\n\nexport const mapWidgetDefinition = {\n id: defaultWidgetIds.MAP,\n label: gettext('Map'),\n description: gettext('Shows the position of a device or all devices in a group.'),\n loadComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/map').then(m => m.MapWidgetComponent),\n loadConfigComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/map').then(m => m.MapWidgetConfigComponent),\n /*providers: [\n\n ],*/\n resolve: {\n device: DynamicManagedObjectResolver\n },\n previewImage: 'c8y-style-assets/map-widget-pr.png',\n errorStrategy: DynamicComponentErrorStrategy.OVERLAY_ERROR,\n data: {\n schema: () =>\n import(\n 'c8y-schema-loader?interfaceName=MapWidgetConfig!@c8y/ngx-components/widgets/implementations/map'\n ),\n export: exportConfigWithDevice,\n import: importConfigWithDevice,\n widgetControls: mapWidgetControls,\n settings: {\n noNewWidgets: false,\n widgetDefaults: {\n _width: 8,\n _height: 4\n },\n ng1: {\n options: {\n noDeviceTarget: false,\n groupsSelectable: true,\n deviceTargetNotRequired: true\n }\n }\n },\n displaySettings: {\n globalTimeContext: false,\n globalAutoRefreshContext: true,\n globalRealtimeContext: true\n }\n }\n} satisfies DynamicWidgetDefinition;\n\nexport const mapWidgetProviders = [\n hookWidget(mapWidgetDefinition),\n hookWidgetConfig<GlobalContextSectionComponent>({\n widgetId: defaultWidgetIds.MAP,\n priority: 10,\n label: gettext('Time context'),\n initialState: {\n widgetControls: mapWidgetControls\n },\n loadComponent: () =>\n import('@c8y/ngx-components/context-dashboard').then(m => m.GlobalContextSectionComponent)\n })\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"c8y-ngx-components-widgets-definitions-map.mjs","sources":["../../widgets/definitions/map/map-widget-controls-definitions.ts","../../widgets/definitions/map/index.ts","../../widgets/definitions/map/c8y-ngx-components-widgets-definitions-map.ts"],"sourcesContent":["import {\n defineWidgetControls,\n GLOBAL_CONTEXT_DISPLAY_MODE,\n REFRESH_OPTION\n} from '@c8y/ngx-components/global-context';\n\nexport const mapWidgetControls = defineWidgetControls({\n name: 'map-widget',\n supports: ['liveRefresh', 'displayMode', 'refreshInterval', 'refreshOption'],\n supportedModes: [REFRESH_OPTION.LIVE],\n settings: {\n dashboard: {\n live: {\n inline: {\n showAutoRefresh: true\n }\n },\n history: {\n inline: {\n showRefresh: true\n }\n }\n },\n config: {\n live: {\n inline: {\n showAutoRefresh: false,\n showRefresh: true,\n showRefreshInterval: false\n },\n configuration: {\n showAutoRefresh: true,\n showRefreshInterval: true,\n showTimeContext: false\n }\n },\n history: {\n inline: {\n showTimeContext: true\n },\n configuration: {\n showTimeContext: true\n }\n }\n },\n viewAndConfig: {\n live: {\n inline: {\n showAutoRefresh: true,\n showRefreshInterval: false,\n showTimeContext: false\n },\n configuration: {\n showAutoRefresh: true,\n showRefreshInterval: true,\n showTimeContext: false\n }\n },\n history: {\n inline: {\n showRefresh: true\n },\n configuration: {}\n }\n },\n defaultLinks: {\n config: {},\n dashboard: {\n live: {\n isAutoRefreshEnabled: true\n },\n history: {}\n },\n viewAndConfig: {}\n }\n },\n handlers: {\n startFollow: {\n handler: () => ({\n inlineControlSettings: { showAutoRefresh: false },\n dashboardControlSettings: { showAutoRefresh: false },\n links: {},\n options: undefined\n })\n },\n stopFollow: {\n handler: state => {\n const { config } = state;\n const displayMode = config.displayMode || GLOBAL_CONTEXT_DISPLAY_MODE.DASHBOARD;\n const refreshOption = config.refreshOption || REFRESH_OPTION.LIVE;\n const isDashboardMode = displayMode === GLOBAL_CONTEXT_DISPLAY_MODE.DASHBOARD;\n\n if (isDashboardMode) {\n return {\n inlineControlSettings:\n refreshOption === REFRESH_OPTION.LIVE\n ? { showAutoRefresh: false }\n : { showAutoRefresh: true },\n dashboardControlSettings: { showAutoRefresh: false },\n links:\n refreshOption === REFRESH_OPTION.LIVE\n ? { isAutoRefreshEnabled: true }\n : { isAutoRefreshEnabled: false },\n options: undefined\n };\n }\n\n return {\n inlineControlSettings: {},\n dashboardControlSettings: {},\n links: {},\n options: undefined\n };\n }\n },\n disableCounter: {\n handler: () => ({\n inlineControlSettings: {},\n dashboardControlSettings: {},\n links: {},\n options: { noAutoRefreshCounter: true }\n })\n }\n }\n});\n","import { gettext } from '@c8y/ngx-components/gettext';\nimport {\n DynamicManagedObjectResolver,\n DynamicComponentErrorStrategy,\n hookWidget\n} from '@c8y/ngx-components';\nimport type { DynamicWidgetDefinition } from '@c8y/ngx-components';\nimport {\n hookWidgetConfig,\n GlobalContextSectionComponent\n} from '@c8y/ngx-components/context-dashboard';\nimport { defaultWidgetIds } from '@c8y/ngx-components/widgets/definitions';\nimport {\n importConfigWithDevice,\n exportConfigWithDevice\n} from '@c8y/ngx-components/widgets/import-export-config';\nimport { mapWidgetControls } from './map-widget-controls-definitions';\n\nexport const mapWidgetDefinition = {\n id: defaultWidgetIds.MAP,\n label: gettext('Map'),\n description: gettext('Shows the position of a device or all devices in a group.'),\n loadComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/map').then(m => m.MapWidgetComponent),\n loadConfigComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/map').then(m => m.MapWidgetConfigComponent),\n /*providers: [\n\n ],*/\n resolve: {\n device: DynamicManagedObjectResolver\n },\n previewImage: 'c8y-style-assets/map-widget-pr.png',\n errorStrategy: DynamicComponentErrorStrategy.OVERLAY_ERROR,\n data: {\n schema: () =>\n import(\n 'c8y-schema-loader?interfaceName=MapWidgetConfig&type=widget-config!@c8y/ngx-components/widgets/implementations/map'\n ),\n export: exportConfigWithDevice,\n import: importConfigWithDevice,\n widgetControls: mapWidgetControls,\n settings: {\n noNewWidgets: false,\n widgetDefaults: {\n _width: 8,\n _height: 4\n },\n ng1: {\n options: {\n noDeviceTarget: false,\n groupsSelectable: true,\n deviceTargetNotRequired: true\n }\n }\n },\n displaySettings: {\n globalTimeContext: false,\n globalAutoRefreshContext: true,\n globalRealtimeContext: true\n }\n }\n} satisfies DynamicWidgetDefinition;\n\nexport const mapWidgetProviders = [\n hookWidget(mapWidgetDefinition),\n hookWidgetConfig<GlobalContextSectionComponent>({\n widgetId: defaultWidgetIds.MAP,\n priority: 10,\n label: gettext('Time context'),\n initialState: {\n widgetControls: mapWidgetControls\n },\n loadComponent: () =>\n import('@c8y/ngx-components/context-dashboard').then(m => m.GlobalContextSectionComponent)\n })\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ const markdownWidgetDefinition = {
11
11
  loadConfigComponent: () => import('@c8y/ngx-components/widgets/implementations/markdown').then(m => m.MarkdownWidgetConfigComponent),
12
12
  previewImage: 'c8y-style-assets/markdown-widget.png',
13
13
  data: {
14
- schema: () => import('c8y-schema-loader?interfaceName=MarkdownWidgetConfig!@c8y/ngx-components/widgets/implementations/markdown'),
14
+ schema: () => import('c8y-schema-loader?interfaceName=MarkdownWidgetConfig&type=widget-config!@c8y/ngx-components/widgets/implementations/markdown'),
15
15
  export: exportMarkdownWidgetConfig,
16
16
  import: importMarkdownWidgetConfig,
17
17
  settings: {
@@ -1 +1 @@
1
- {"version":3,"file":"c8y-ngx-components-widgets-definitions-markdown.mjs","sources":["../../widgets/definitions/markdown/index.ts","../../widgets/definitions/markdown/c8y-ngx-components-widgets-definitions-markdown.ts"],"sourcesContent":["import type {\n DynamicWidgetDefinition,\n WidgetImportExportInjectorOptions\n} from '@c8y/ngx-components';\nimport { hookWidget } from '@c8y/ngx-components';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport { defaultWidgetIds } from '@c8y/ngx-components/widgets/definitions';\nimport { inject, Injector } from '@angular/core';\nimport type { MarkdownWidgetConfig } from '@c8y/ngx-components/widgets/implementations/markdown';\nimport type { DashboardMetadata } from '@c8y/ngx-components/context-dashboard';\n\nexport interface ExportedMarkdownWidgetConfig extends MarkdownWidgetConfig {\n markdownDetails?: { file: { name: string; type: string }; text: string };\n}\n\nexport const markdownWidgetDefinition = {\n id: defaultWidgetIds.MARKDOWN,\n label: gettext('Markdown widget'),\n description: gettext(\n 'Display content provided as Markdown. You can write Markdown text directly, upload a file, or provide a file path.'\n ),\n loadComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/markdown').then(\n m => m.MarkdownWidgetViewComponent\n ),\n loadConfigComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/markdown').then(\n m => m.MarkdownWidgetConfigComponent\n ),\n previewImage: 'c8y-style-assets/markdown-widget.png',\n\n data: {\n schema: () =>\n import(\n 'c8y-schema-loader?interfaceName=MarkdownWidgetConfig!@c8y/ngx-components/widgets/implementations/markdown'\n ),\n export: exportMarkdownWidgetConfig,\n import: importMarkdownWidgetConfig,\n settings: {\n noNewWidgets: false,\n widgetDefaults: {\n _width: 8,\n _height: 4\n },\n ng1: {\n options: {\n noDeviceTarget: true,\n groupsSelectable: false\n }\n }\n }\n }\n} satisfies DynamicWidgetDefinition;\n\nexport const markdownWidgetProviders = [hookWidget(markdownWidgetDefinition)];\n\nasync function exportMarkdownWidgetConfig(\n config: MarkdownWidgetConfig,\n _dashboardData: DashboardMetadata,\n _options: WidgetImportExportInjectorOptions\n): Promise<ExportedMarkdownWidgetConfig> {\n const { MarkdownWidgetService } = await import(\n '@c8y/ngx-components/widgets/implementations/markdown'\n );\n const injector = inject(Injector);\n if (config.contentUrl && !config.markdownBinaryId) {\n return config;\n }\n const markdownWidgetService = injector.get(MarkdownWidgetService);\n const file = await markdownWidgetService.getFile(config.markdownBinaryId);\n const content = await file.text();\n\n return {\n ...config,\n markdownDetails: {\n text: content,\n file: {\n name: file.name,\n type: file.type\n }\n }\n };\n}\n\nasync function importMarkdownWidgetConfig(\n config: ExportedMarkdownWidgetConfig,\n _dashboardData: DashboardMetadata,\n _options: WidgetImportExportInjectorOptions\n): Promise<MarkdownWidgetConfig> {\n const { MarkdownWidgetService } = await import(\n '@c8y/ngx-components/widgets/implementations/markdown'\n );\n if (!config.markdownDetails) {\n return config;\n }\n const injector = inject(Injector);\n const markdownService = injector.get(MarkdownWidgetService);\n const fileToUpload = new File([config.markdownDetails.text], config.markdownDetails.file.name, {\n type: config.markdownDetails.file.type\n });\n const markdownBinaryId = await markdownService.uploadFile(fileToUpload);\n\n return {\n contentUrl: config.contentUrl,\n markdownBinaryId,\n markdownContent: null\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAeO,MAAM,wBAAwB,GAAG;IACtC,EAAE,EAAE,gBAAgB,CAAC,QAAQ;AAC7B,IAAA,KAAK,EAAE,OAAO,CAAC,iBAAiB,CAAC;AACjC,IAAA,WAAW,EAAE,OAAO,CAClB,oHAAoH,CACrH;AACD,IAAA,aAAa,EAAE,MACb,OAAO,sDAAsD,CAAC,CAAC,IAAI,CACjE,CAAC,IAAI,CAAC,CAAC,2BAA2B,CACnC;AACH,IAAA,mBAAmB,EAAE,MACnB,OAAO,sDAAsD,CAAC,CAAC,IAAI,CACjE,CAAC,IAAI,CAAC,CAAC,6BAA6B,CACrC;AACH,IAAA,YAAY,EAAE,sCAAsC;AAEpD,IAAA,IAAI,EAAE;AACJ,QAAA,MAAM,EAAE,MACN,OACE,2GAA2G,CAC5G;AACH,QAAA,MAAM,EAAE,0BAA0B;AAClC,QAAA,MAAM,EAAE,0BAA0B;AAClC,QAAA,QAAQ,EAAE;AACR,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,cAAc,EAAE;AACd,gBAAA,MAAM,EAAE,CAAC;AACT,gBAAA,OAAO,EAAE;AACV,aAAA;AACD,YAAA,GAAG,EAAE;AACH,gBAAA,OAAO,EAAE;AACP,oBAAA,cAAc,EAAE,IAAI;AACpB,oBAAA,gBAAgB,EAAE;AACnB;AACF;AACF;AACF;;AAGI,MAAM,uBAAuB,GAAG,CAAC,UAAU,CAAC,wBAAwB,CAAC;AAE5E,eAAe,0BAA0B,CACvC,MAA4B,EAC5B,cAAiC,EACjC,QAA2C,EAAA;IAE3C,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,OACtC,sDAAsD,CACvD;AACD,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IACjC,IAAI,MAAM,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE;AACjD,QAAA,OAAO,MAAM;IACf;IACA,MAAM,qBAAqB,GAAG,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC;IACjE,MAAM,IAAI,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC;AACzE,IAAA,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;IAEjC,OAAO;AACL,QAAA,GAAG,MAAM;AACT,QAAA,eAAe,EAAE;AACf,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,IAAI,EAAE;gBACJ,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,IAAI,CAAC;AACZ;AACF;KACF;AACH;AAEA,eAAe,0BAA0B,CACvC,MAAoC,EACpC,cAAiC,EACjC,QAA2C,EAAA;IAE3C,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,OACtC,sDAAsD,CACvD;AACD,IAAA,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;AAC3B,QAAA,OAAO,MAAM;IACf;AACA,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IACjC,MAAM,eAAe,GAAG,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC;IAC3D,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE;AAC7F,QAAA,IAAI,EAAE,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC;AACnC,KAAA,CAAC;IACF,MAAM,gBAAgB,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,YAAY,CAAC;IAEvE,OAAO;QACL,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,gBAAgB;AAChB,QAAA,eAAe,EAAE;KAClB;AACH;;AC3GA;;AAEG;;;;"}
1
+ {"version":3,"file":"c8y-ngx-components-widgets-definitions-markdown.mjs","sources":["../../widgets/definitions/markdown/index.ts","../../widgets/definitions/markdown/c8y-ngx-components-widgets-definitions-markdown.ts"],"sourcesContent":["import type {\n DynamicWidgetDefinition,\n WidgetImportExportInjectorOptions\n} from '@c8y/ngx-components';\nimport { hookWidget } from '@c8y/ngx-components';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport { defaultWidgetIds } from '@c8y/ngx-components/widgets/definitions';\nimport { inject, Injector } from '@angular/core';\nimport type { MarkdownWidgetConfig } from '@c8y/ngx-components/widgets/implementations/markdown';\nimport type { DashboardMetadata } from '@c8y/ngx-components/context-dashboard';\n\nexport interface ExportedMarkdownWidgetConfig extends MarkdownWidgetConfig {\n markdownDetails?: { file: { name: string; type: string }; text: string };\n}\n\nexport const markdownWidgetDefinition = {\n id: defaultWidgetIds.MARKDOWN,\n label: gettext('Markdown widget'),\n description: gettext(\n 'Display content provided as Markdown. You can write Markdown text directly, upload a file, or provide a file path.'\n ),\n loadComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/markdown').then(\n m => m.MarkdownWidgetViewComponent\n ),\n loadConfigComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/markdown').then(\n m => m.MarkdownWidgetConfigComponent\n ),\n previewImage: 'c8y-style-assets/markdown-widget.png',\n\n data: {\n schema: () =>\n import(\n 'c8y-schema-loader?interfaceName=MarkdownWidgetConfig&type=widget-config!@c8y/ngx-components/widgets/implementations/markdown'\n ),\n export: exportMarkdownWidgetConfig,\n import: importMarkdownWidgetConfig,\n settings: {\n noNewWidgets: false,\n widgetDefaults: {\n _width: 8,\n _height: 4\n },\n ng1: {\n options: {\n noDeviceTarget: true,\n groupsSelectable: false\n }\n }\n }\n }\n} satisfies DynamicWidgetDefinition;\n\nexport const markdownWidgetProviders = [hookWidget(markdownWidgetDefinition)];\n\nasync function exportMarkdownWidgetConfig(\n config: MarkdownWidgetConfig,\n _dashboardData: DashboardMetadata,\n _options: WidgetImportExportInjectorOptions\n): Promise<ExportedMarkdownWidgetConfig> {\n const { MarkdownWidgetService } = await import(\n '@c8y/ngx-components/widgets/implementations/markdown'\n );\n const injector = inject(Injector);\n if (config.contentUrl && !config.markdownBinaryId) {\n return config;\n }\n const markdownWidgetService = injector.get(MarkdownWidgetService);\n const file = await markdownWidgetService.getFile(config.markdownBinaryId);\n const content = await file.text();\n\n return {\n ...config,\n markdownDetails: {\n text: content,\n file: {\n name: file.name,\n type: file.type\n }\n }\n };\n}\n\nasync function importMarkdownWidgetConfig(\n config: ExportedMarkdownWidgetConfig,\n _dashboardData: DashboardMetadata,\n _options: WidgetImportExportInjectorOptions\n): Promise<MarkdownWidgetConfig> {\n const { MarkdownWidgetService } = await import(\n '@c8y/ngx-components/widgets/implementations/markdown'\n );\n if (!config.markdownDetails) {\n return config;\n }\n const injector = inject(Injector);\n const markdownService = injector.get(MarkdownWidgetService);\n const fileToUpload = new File([config.markdownDetails.text], config.markdownDetails.file.name, {\n type: config.markdownDetails.file.type\n });\n const markdownBinaryId = await markdownService.uploadFile(fileToUpload);\n\n return {\n contentUrl: config.contentUrl,\n markdownBinaryId,\n markdownContent: null\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAeO,MAAM,wBAAwB,GAAG;IACtC,EAAE,EAAE,gBAAgB,CAAC,QAAQ;AAC7B,IAAA,KAAK,EAAE,OAAO,CAAC,iBAAiB,CAAC;AACjC,IAAA,WAAW,EAAE,OAAO,CAClB,oHAAoH,CACrH;AACD,IAAA,aAAa,EAAE,MACb,OAAO,sDAAsD,CAAC,CAAC,IAAI,CACjE,CAAC,IAAI,CAAC,CAAC,2BAA2B,CACnC;AACH,IAAA,mBAAmB,EAAE,MACnB,OAAO,sDAAsD,CAAC,CAAC,IAAI,CACjE,CAAC,IAAI,CAAC,CAAC,6BAA6B,CACrC;AACH,IAAA,YAAY,EAAE,sCAAsC;AAEpD,IAAA,IAAI,EAAE;AACJ,QAAA,MAAM,EAAE,MACN,OACE,8HAA8H,CAC/H;AACH,QAAA,MAAM,EAAE,0BAA0B;AAClC,QAAA,MAAM,EAAE,0BAA0B;AAClC,QAAA,QAAQ,EAAE;AACR,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,cAAc,EAAE;AACd,gBAAA,MAAM,EAAE,CAAC;AACT,gBAAA,OAAO,EAAE;AACV,aAAA;AACD,YAAA,GAAG,EAAE;AACH,gBAAA,OAAO,EAAE;AACP,oBAAA,cAAc,EAAE,IAAI;AACpB,oBAAA,gBAAgB,EAAE;AACnB;AACF;AACF;AACF;;AAGI,MAAM,uBAAuB,GAAG,CAAC,UAAU,CAAC,wBAAwB,CAAC;AAE5E,eAAe,0BAA0B,CACvC,MAA4B,EAC5B,cAAiC,EACjC,QAA2C,EAAA;IAE3C,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,OACtC,sDAAsD,CACvD;AACD,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IACjC,IAAI,MAAM,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE;AACjD,QAAA,OAAO,MAAM;IACf;IACA,MAAM,qBAAqB,GAAG,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC;IACjE,MAAM,IAAI,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC;AACzE,IAAA,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;IAEjC,OAAO;AACL,QAAA,GAAG,MAAM;AACT,QAAA,eAAe,EAAE;AACf,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,IAAI,EAAE;gBACJ,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,IAAI,CAAC;AACZ;AACF;KACF;AACH;AAEA,eAAe,0BAA0B,CACvC,MAAoC,EACpC,cAAiC,EACjC,QAA2C,EAAA;IAE3C,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,OACtC,sDAAsD,CACvD;AACD,IAAA,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;AAC3B,QAAA,OAAO,MAAM;IACf;AACA,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IACjC,MAAM,eAAe,GAAG,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC;IAC3D,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE;AAC7F,QAAA,IAAI,EAAE,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC;AACnC,KAAA,CAAC;IACF,MAAM,gBAAgB,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,YAAY,CAAC;IAEvE,OAAO;QACL,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,gBAAgB;AAChB,QAAA,eAAe,EAAE;KAClB;AACH;;AC3GA;;AAEG;;;;"}
@@ -24,7 +24,7 @@ const radialGaugeWidgetDefinition = {
24
24
  datapoints: DynamicDatapointsResolver
25
25
  },
26
26
  data: {
27
- schema: () => import('c8y-schema-loader?interfaceName=InfoGaugeWidgetConfig!@c8y/ngx-components/widgets/implementations/info-gauge'),
27
+ schema: () => import('c8y-schema-loader?interfaceName=InfoGaugeWidgetConfig&type=widget-config!@c8y/ngx-components/widgets/implementations/info-gauge'),
28
28
  export: exportConfigWithTargets,
29
29
  import: importConfigWithTargets,
30
30
  settings: {
@@ -1 +1 @@
1
- {"version":3,"file":"c8y-ngx-components-widgets-definitions-radial-gauge.mjs","sources":["../../widgets/definitions/radial-gauge/radial-gauge.constants.ts","../../widgets/definitions/radial-gauge/index.ts","../../widgets/definitions/radial-gauge/c8y-ngx-components-widgets-definitions-radial-gauge.ts"],"sourcesContent":["import { DatapointAttributesFormConfig } from '@c8y/ngx-components/datapoint-selector';\n\nexport const RADIAL_GAUGE_OPTIONS: Partial<DatapointAttributesFormConfig> = {\n showRedRange: true,\n showYellowRange: true,\n showRange: true,\n selectableChartRenderTypes: []\n};\n","import type { DynamicWidgetDefinition } from '@c8y/ngx-components';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport { DynamicDatapointsResolver, hookWidget } from '@c8y/ngx-components';\nimport {\n exportConfigWithTargets,\n importConfigWithTargets\n} from '@c8y/ngx-components/widgets/import-export-config';\nimport { defaultWidgetIds } from '@c8y/ngx-components/widgets/definitions';\nimport { hookWidgetConfig } from '@c8y/ngx-components/context-dashboard';\nimport { RADIAL_GAUGE_OPTIONS } from './radial-gauge.constants';\n\nexport const radialGaugeWidgetDefinition = {\n id: defaultWidgetIds.RADIAL_GAUGE,\n label: gettext('Radial gauge'),\n // Info gauge config and view components are used for the radial gauge. Eventually both will be merged into one component.\n description: gettext('Shows the device measurements in a radial gauge.'),\n loadComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/info-gauge').then(\n m => m.InfoGaugeWidgetViewComponent\n ),\n // Gauge type is determined in the component\n loadConfigComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/info-gauge').then(\n m => m.InfoGaugeWidgetConfigComponent\n ),\n previewImage: 'c8y-style-assets/radial-gauge-pr.png',\n resolve: {\n datapoints: DynamicDatapointsResolver\n },\n data: {\n schema: () =>\n import(\n 'c8y-schema-loader?interfaceName=InfoGaugeWidgetConfig!@c8y/ngx-components/widgets/implementations/info-gauge'\n ),\n export: exportConfigWithTargets,\n import: importConfigWithTargets,\n settings: {\n noNewWidgets: false,\n widgetDefaults: {\n _width: 8,\n _height: 4\n },\n ng1: {\n options: {\n noDeviceTarget: true,\n groupsSelectable: false\n }\n }\n }\n }\n} satisfies DynamicWidgetDefinition;\n\nexport const radialGaugeWidgetProviders = [\n hookWidget(radialGaugeWidgetDefinition),\n hookWidgetConfig({\n widgetId: defaultWidgetIds.RADIAL_GAUGE,\n label: gettext('Data point selection'),\n loadComponent: () =>\n import('@c8y/ngx-components/datapoint-selector').then(\n m => m.WidgetDatapointsSelectorComponent\n ),\n initialState: {\n minActiveCount: 1,\n maxActiveCount: 1,\n defaultFormOptions: RADIAL_GAUGE_OPTIONS,\n controlName: 'datapointsGauge'\n },\n expanded: true,\n priority: 100\n })\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAEO,MAAM,oBAAoB,GAA2C;AAC1E,IAAA,YAAY,EAAE,IAAI;AAClB,IAAA,eAAe,EAAE,IAAI;AACrB,IAAA,SAAS,EAAE,IAAI;AACf,IAAA,0BAA0B,EAAE;CAC7B;;ACIM,MAAM,2BAA2B,GAAG;IACzC,EAAE,EAAE,gBAAgB,CAAC,YAAY;AACjC,IAAA,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC;;AAE9B,IAAA,WAAW,EAAE,OAAO,CAAC,kDAAkD,CAAC;AACxE,IAAA,aAAa,EAAE,MACb,OAAO,wDAAwD,CAAC,CAAC,IAAI,CACnE,CAAC,IAAI,CAAC,CAAC,4BAA4B,CACpC;;AAEH,IAAA,mBAAmB,EAAE,MACnB,OAAO,wDAAwD,CAAC,CAAC,IAAI,CACnE,CAAC,IAAI,CAAC,CAAC,8BAA8B,CACtC;AACH,IAAA,YAAY,EAAE,sCAAsC;AACpD,IAAA,OAAO,EAAE;AACP,QAAA,UAAU,EAAE;AACb,KAAA;AACD,IAAA,IAAI,EAAE;AACJ,QAAA,MAAM,EAAE,MACN,OACE,8GAA8G,CAC/G;AACH,QAAA,MAAM,EAAE,uBAAuB;AAC/B,QAAA,MAAM,EAAE,uBAAuB;AAC/B,QAAA,QAAQ,EAAE;AACR,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,cAAc,EAAE;AACd,gBAAA,MAAM,EAAE,CAAC;AACT,gBAAA,OAAO,EAAE;AACV,aAAA;AACD,YAAA,GAAG,EAAE;AACH,gBAAA,OAAO,EAAE;AACP,oBAAA,cAAc,EAAE,IAAI;AACpB,oBAAA,gBAAgB,EAAE;AACnB;AACF;AACF;AACF;;AAGI,MAAM,0BAA0B,GAAG;IACxC,UAAU,CAAC,2BAA2B,CAAC;AACvC,IAAA,gBAAgB,CAAC;QACf,QAAQ,EAAE,gBAAgB,CAAC,YAAY;AACvC,QAAA,KAAK,EAAE,OAAO,CAAC,sBAAsB,CAAC;AACtC,QAAA,aAAa,EAAE,MACb,OAAO,wCAAwC,CAAC,CAAC,IAAI,CACnD,CAAC,IAAI,CAAC,CAAC,iCAAiC,CACzC;AACH,QAAA,YAAY,EAAE;AACZ,YAAA,cAAc,EAAE,CAAC;AACjB,YAAA,cAAc,EAAE,CAAC;AACjB,YAAA,kBAAkB,EAAE,oBAAoB;AACxC,YAAA,WAAW,EAAE;AACd,SAAA;AACD,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,QAAQ,EAAE;KACX;;;ACrEH;;AAEG;;;;"}
1
+ {"version":3,"file":"c8y-ngx-components-widgets-definitions-radial-gauge.mjs","sources":["../../widgets/definitions/radial-gauge/radial-gauge.constants.ts","../../widgets/definitions/radial-gauge/index.ts","../../widgets/definitions/radial-gauge/c8y-ngx-components-widgets-definitions-radial-gauge.ts"],"sourcesContent":["import { DatapointAttributesFormConfig } from '@c8y/ngx-components/datapoint-selector';\n\nexport const RADIAL_GAUGE_OPTIONS: Partial<DatapointAttributesFormConfig> = {\n showRedRange: true,\n showYellowRange: true,\n showRange: true,\n selectableChartRenderTypes: []\n};\n","import type { DynamicWidgetDefinition } from '@c8y/ngx-components';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport { DynamicDatapointsResolver, hookWidget } from '@c8y/ngx-components';\nimport {\n exportConfigWithTargets,\n importConfigWithTargets\n} from '@c8y/ngx-components/widgets/import-export-config';\nimport { defaultWidgetIds } from '@c8y/ngx-components/widgets/definitions';\nimport { hookWidgetConfig } from '@c8y/ngx-components/context-dashboard';\nimport { RADIAL_GAUGE_OPTIONS } from './radial-gauge.constants';\n\nexport const radialGaugeWidgetDefinition = {\n id: defaultWidgetIds.RADIAL_GAUGE,\n label: gettext('Radial gauge'),\n // Info gauge config and view components are used for the radial gauge. Eventually both will be merged into one component.\n description: gettext('Shows the device measurements in a radial gauge.'),\n loadComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/info-gauge').then(\n m => m.InfoGaugeWidgetViewComponent\n ),\n // Gauge type is determined in the component\n loadConfigComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/info-gauge').then(\n m => m.InfoGaugeWidgetConfigComponent\n ),\n previewImage: 'c8y-style-assets/radial-gauge-pr.png',\n resolve: {\n datapoints: DynamicDatapointsResolver\n },\n data: {\n schema: () =>\n import(\n 'c8y-schema-loader?interfaceName=InfoGaugeWidgetConfig&type=widget-config!@c8y/ngx-components/widgets/implementations/info-gauge'\n ),\n export: exportConfigWithTargets,\n import: importConfigWithTargets,\n settings: {\n noNewWidgets: false,\n widgetDefaults: {\n _width: 8,\n _height: 4\n },\n ng1: {\n options: {\n noDeviceTarget: true,\n groupsSelectable: false\n }\n }\n }\n }\n} satisfies DynamicWidgetDefinition;\n\nexport const radialGaugeWidgetProviders = [\n hookWidget(radialGaugeWidgetDefinition),\n hookWidgetConfig({\n widgetId: defaultWidgetIds.RADIAL_GAUGE,\n label: gettext('Data point selection'),\n loadComponent: () =>\n import('@c8y/ngx-components/datapoint-selector').then(\n m => m.WidgetDatapointsSelectorComponent\n ),\n initialState: {\n minActiveCount: 1,\n maxActiveCount: 1,\n defaultFormOptions: RADIAL_GAUGE_OPTIONS,\n controlName: 'datapointsGauge'\n },\n expanded: true,\n priority: 100\n })\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAEO,MAAM,oBAAoB,GAA2C;AAC1E,IAAA,YAAY,EAAE,IAAI;AAClB,IAAA,eAAe,EAAE,IAAI;AACrB,IAAA,SAAS,EAAE,IAAI;AACf,IAAA,0BAA0B,EAAE;CAC7B;;ACIM,MAAM,2BAA2B,GAAG;IACzC,EAAE,EAAE,gBAAgB,CAAC,YAAY;AACjC,IAAA,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC;;AAE9B,IAAA,WAAW,EAAE,OAAO,CAAC,kDAAkD,CAAC;AACxE,IAAA,aAAa,EAAE,MACb,OAAO,wDAAwD,CAAC,CAAC,IAAI,CACnE,CAAC,IAAI,CAAC,CAAC,4BAA4B,CACpC;;AAEH,IAAA,mBAAmB,EAAE,MACnB,OAAO,wDAAwD,CAAC,CAAC,IAAI,CACnE,CAAC,IAAI,CAAC,CAAC,8BAA8B,CACtC;AACH,IAAA,YAAY,EAAE,sCAAsC;AACpD,IAAA,OAAO,EAAE;AACP,QAAA,UAAU,EAAE;AACb,KAAA;AACD,IAAA,IAAI,EAAE;AACJ,QAAA,MAAM,EAAE,MACN,OACE,iIAAiI,CAClI;AACH,QAAA,MAAM,EAAE,uBAAuB;AAC/B,QAAA,MAAM,EAAE,uBAAuB;AAC/B,QAAA,QAAQ,EAAE;AACR,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,cAAc,EAAE;AACd,gBAAA,MAAM,EAAE,CAAC;AACT,gBAAA,OAAO,EAAE;AACV,aAAA;AACD,YAAA,GAAG,EAAE;AACH,gBAAA,OAAO,EAAE;AACP,oBAAA,cAAc,EAAE,IAAI;AACpB,oBAAA,gBAAgB,EAAE;AACnB;AACF;AACF;AACF;;AAGI,MAAM,0BAA0B,GAAG;IACxC,UAAU,CAAC,2BAA2B,CAAC;AACvC,IAAA,gBAAgB,CAAC;QACf,QAAQ,EAAE,gBAAgB,CAAC,YAAY;AACvC,QAAA,KAAK,EAAE,OAAO,CAAC,sBAAsB,CAAC;AACtC,QAAA,aAAa,EAAE,MACb,OAAO,wCAAwC,CAAC,CAAC,IAAI,CACnD,CAAC,IAAI,CAAC,CAAC,iCAAiC,CACzC;AACH,QAAA,YAAY,EAAE;AACZ,YAAA,cAAc,EAAE,CAAC;AACjB,YAAA,cAAc,EAAE,CAAC;AACjB,YAAA,kBAAkB,EAAE,oBAAoB;AACxC,YAAA,WAAW,EAAE;AACd,SAAA;AACD,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,QAAQ,EAAE;KACX;;;ACrEH;;AAEG;;;;"}