@c8y/ngx-components 1023.71.1 → 1023.76.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (207) hide show
  1. package/asset-properties/index.d.ts +19 -1
  2. package/asset-properties/index.d.ts.map +1 -1
  3. package/cockpit-config/index.d.ts +4 -3
  4. package/cockpit-config/index.d.ts.map +1 -1
  5. package/context-dashboard/index.d.ts +202 -4
  6. package/context-dashboard/index.d.ts.map +1 -1
  7. package/datapoints-export-selector/index.d.ts +8 -1
  8. package/datapoints-export-selector/index.d.ts.map +1 -1
  9. package/device-profile/index.d.ts +8 -1
  10. package/device-profile/index.d.ts.map +1 -1
  11. package/events/cockpit/index.d.ts +6 -0
  12. package/events/cockpit/index.d.ts.map +1 -0
  13. package/events/devicemanagement/index.d.ts +6 -0
  14. package/events/devicemanagement/index.d.ts.map +1 -0
  15. package/events/events-timeline/index.d.ts +10 -10
  16. package/events/events-timeline/index.d.ts.map +1 -1
  17. package/events/index.d.ts +363 -5
  18. package/events/index.d.ts.map +1 -1
  19. package/fesm2022/c8y-ngx-components-alarm-event-selector.mjs +1 -1
  20. package/fesm2022/c8y-ngx-components-alarm-event-selector.mjs.map +1 -1
  21. package/fesm2022/c8y-ngx-components-alarms.mjs +1 -1
  22. package/fesm2022/c8y-ngx-components-alarms.mjs.map +1 -1
  23. package/fesm2022/c8y-ngx-components-asset-properties.mjs +2 -2
  24. package/fesm2022/c8y-ngx-components-asset-properties.mjs.map +1 -1
  25. package/fesm2022/c8y-ngx-components-auth-configuration.mjs +1 -1
  26. package/fesm2022/c8y-ngx-components-auth-configuration.mjs.map +1 -1
  27. package/fesm2022/c8y-ngx-components-branding-plain-branding-editor.mjs +1 -1
  28. package/fesm2022/c8y-ngx-components-branding-plain-branding-editor.mjs.map +1 -1
  29. package/fesm2022/c8y-ngx-components-branding-shared-lazy-add-branding-modal.mjs +1 -1
  30. package/fesm2022/c8y-ngx-components-branding-shared-lazy-add-branding-modal.mjs.map +1 -1
  31. package/fesm2022/c8y-ngx-components-branding-shared-lazy.mjs +2 -2
  32. package/fesm2022/c8y-ngx-components-branding-shared-lazy.mjs.map +1 -1
  33. package/fesm2022/c8y-ngx-components-cockpit-config.mjs +8 -11
  34. package/fesm2022/c8y-ngx-components-cockpit-config.mjs.map +1 -1
  35. package/fesm2022/{c8y-ngx-components-computed-asset-properties-alarm-count-config.component-CPLDClTp.mjs → c8y-ngx-components-computed-asset-properties-alarm-count-config.component-DX9Rgjgl.mjs} +2 -2
  36. package/fesm2022/{c8y-ngx-components-computed-asset-properties-alarm-count-config.component-CPLDClTp.mjs.map → c8y-ngx-components-computed-asset-properties-alarm-count-config.component-DX9Rgjgl.mjs.map} +1 -1
  37. package/fesm2022/{c8y-ngx-components-computed-asset-properties-c8y-ngx-components-computed-asset-properties-9be_iMQg.mjs → c8y-ngx-components-computed-asset-properties-c8y-ngx-components-computed-asset-properties-CRpLJ5H7.mjs} +8 -8
  38. package/fesm2022/{c8y-ngx-components-computed-asset-properties-c8y-ngx-components-computed-asset-properties-9be_iMQg.mjs.map → c8y-ngx-components-computed-asset-properties-c8y-ngx-components-computed-asset-properties-CRpLJ5H7.mjs.map} +1 -1
  39. package/fesm2022/{c8y-ngx-components-computed-asset-properties-configuration-snapshot-config.component-B2em01_W.mjs → c8y-ngx-components-computed-asset-properties-configuration-snapshot-config.component-2rDsrxcs.mjs} +2 -2
  40. package/fesm2022/{c8y-ngx-components-computed-asset-properties-configuration-snapshot-config.component-B2em01_W.mjs.map → c8y-ngx-components-computed-asset-properties-configuration-snapshot-config.component-2rDsrxcs.mjs.map} +1 -1
  41. package/fesm2022/{c8y-ngx-components-computed-asset-properties-event-count-config.component-CQuGa1RI.mjs → c8y-ngx-components-computed-asset-properties-event-count-config.component-BJNoqWZf.mjs} +2 -2
  42. package/fesm2022/{c8y-ngx-components-computed-asset-properties-event-count-config.component-CQuGa1RI.mjs.map → c8y-ngx-components-computed-asset-properties-event-count-config.component-BJNoqWZf.mjs.map} +1 -1
  43. package/fesm2022/{c8y-ngx-components-computed-asset-properties-fieldbus-item-status-config.component-CkmurxJv.mjs → c8y-ngx-components-computed-asset-properties-fieldbus-item-status-config.component-DYac6foX.mjs} +3 -3
  44. package/fesm2022/{c8y-ngx-components-computed-asset-properties-fieldbus-item-status-config.component-CkmurxJv.mjs.map → c8y-ngx-components-computed-asset-properties-fieldbus-item-status-config.component-DYac6foX.mjs.map} +1 -1
  45. package/fesm2022/{c8y-ngx-components-computed-asset-properties-last-measurement-config.component-CTK9zNUh.mjs → c8y-ngx-components-computed-asset-properties-last-measurement-config.component-3yTe6lIr.mjs} +3 -3
  46. package/fesm2022/{c8y-ngx-components-computed-asset-properties-last-measurement-config.component-CTK9zNUh.mjs.map → c8y-ngx-components-computed-asset-properties-last-measurement-config.component-3yTe6lIr.mjs.map} +1 -1
  47. package/fesm2022/c8y-ngx-components-computed-asset-properties.mjs +1 -1
  48. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-appearance-settings.component-DsCDppJx.mjs → c8y-ngx-components-context-dashboard-dashboard-appearance-settings.component-C7yXSDYC.mjs} +3 -3
  49. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-appearance-settings.component-DsCDppJx.mjs.map → c8y-ngx-components-context-dashboard-dashboard-appearance-settings.component-C7yXSDYC.mjs.map} +1 -1
  50. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-general-settings.component-RdLW5nde.mjs → c8y-ngx-components-context-dashboard-dashboard-general-settings.component-w8N16Z3t.mjs} +4 -4
  51. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-general-settings.component-RdLW5nde.mjs.map → c8y-ngx-components-context-dashboard-dashboard-general-settings.component-w8N16Z3t.mjs.map} +1 -1
  52. package/fesm2022/c8y-ngx-components-context-dashboard.mjs +561 -21
  53. package/fesm2022/c8y-ngx-components-context-dashboard.mjs.map +1 -1
  54. 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-DVEnCRzW.mjs} +2 -2
  55. package/fesm2022/c8y-ngx-components-dashboard-details-advanced-tab-dashboard-details-advanced-tab.component-DVEnCRzW.mjs.map +1 -0
  56. package/fesm2022/c8y-ngx-components-dashboard-details-advanced-tab.mjs +2 -2
  57. package/fesm2022/c8y-ngx-components-datapoint-explorer-view.mjs +2 -2
  58. package/fesm2022/c8y-ngx-components-datapoint-explorer-view.mjs.map +1 -1
  59. package/fesm2022/c8y-ngx-components-datapoint-library-details.mjs +1 -1
  60. package/fesm2022/c8y-ngx-components-datapoint-library-details.mjs.map +1 -1
  61. package/fesm2022/c8y-ngx-components-datapoint-selector.mjs +1 -1
  62. package/fesm2022/c8y-ngx-components-datapoint-selector.mjs.map +1 -1
  63. package/fesm2022/c8y-ngx-components-datapoints-export-selector.mjs +41 -8
  64. package/fesm2022/c8y-ngx-components-datapoints-export-selector.mjs.map +1 -1
  65. package/fesm2022/c8y-ngx-components-device-profile.mjs +38 -12
  66. package/fesm2022/c8y-ngx-components-device-profile.mjs.map +1 -1
  67. package/fesm2022/c8y-ngx-components-ecosystem-license-confirm.mjs +1 -1
  68. package/fesm2022/c8y-ngx-components-ecosystem-license-confirm.mjs.map +1 -1
  69. package/fesm2022/c8y-ngx-components-ecosystem-shared.mjs +1 -1
  70. package/fesm2022/c8y-ngx-components-ecosystem-shared.mjs.map +1 -1
  71. package/fesm2022/c8y-ngx-components-ecosystem.mjs +1 -1
  72. package/fesm2022/c8y-ngx-components-ecosystem.mjs.map +1 -1
  73. package/fesm2022/c8y-ngx-components-events-cockpit.mjs +54 -0
  74. package/fesm2022/c8y-ngx-components-events-cockpit.mjs.map +1 -0
  75. package/fesm2022/c8y-ngx-components-events-devicemanagement.mjs +79 -0
  76. package/fesm2022/c8y-ngx-components-events-devicemanagement.mjs.map +1 -0
  77. package/fesm2022/c8y-ngx-components-events-events-timeline.mjs +30 -23
  78. package/fesm2022/c8y-ngx-components-events-events-timeline.mjs.map +1 -1
  79. package/fesm2022/c8y-ngx-components-events.mjs +1080 -4
  80. package/fesm2022/c8y-ngx-components-events.mjs.map +1 -1
  81. package/fesm2022/c8y-ngx-components-file-preview.mjs +48 -41
  82. package/fesm2022/c8y-ngx-components-file-preview.mjs.map +1 -1
  83. package/fesm2022/c8y-ngx-components-files-repository.mjs +1 -1
  84. package/fesm2022/c8y-ngx-components-files-repository.mjs.map +1 -1
  85. package/fesm2022/c8y-ngx-components-global-context.mjs +108 -52
  86. package/fesm2022/c8y-ngx-components-global-context.mjs.map +1 -1
  87. package/fesm2022/c8y-ngx-components-interval-picker.mjs +3 -3
  88. package/fesm2022/c8y-ngx-components-interval-picker.mjs.map +1 -1
  89. package/fesm2022/c8y-ngx-components-location.mjs +1 -1
  90. package/fesm2022/c8y-ngx-components-location.mjs.map +1 -1
  91. package/fesm2022/c8y-ngx-components-operation-picker.mjs +1 -1
  92. package/fesm2022/c8y-ngx-components-operation-picker.mjs.map +1 -1
  93. package/fesm2022/c8y-ngx-components-operations-bulk-operation-scheduler.mjs +1 -1
  94. package/fesm2022/c8y-ngx-components-operations-bulk-operation-scheduler.mjs.map +1 -1
  95. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs +1 -1
  96. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs.map +1 -1
  97. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-software.mjs +1 -1
  98. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-software.mjs.map +1 -1
  99. package/fesm2022/c8y-ngx-components-protocol-lpwan.mjs +5 -5
  100. package/fesm2022/c8y-ngx-components-protocol-lpwan.mjs.map +1 -1
  101. package/fesm2022/c8y-ngx-components-protocol-opcua.mjs +2 -2
  102. package/fesm2022/c8y-ngx-components-protocol-opcua.mjs.map +1 -1
  103. package/fesm2022/c8y-ngx-components-remote-access-shared.mjs +1 -1
  104. package/fesm2022/c8y-ngx-components-remote-access-shared.mjs.map +1 -1
  105. package/fesm2022/c8y-ngx-components-remote-access-ssh-remote-access-ssh-endpoint-modal.mjs +1 -1
  106. package/fesm2022/c8y-ngx-components-remote-access-ssh-remote-access-ssh-endpoint-modal.mjs.map +1 -1
  107. package/fesm2022/c8y-ngx-components-remote-access-vnc-remote-access-vnc-endpoint-modal.mjs +1 -1
  108. package/fesm2022/c8y-ngx-components-remote-access-vnc-remote-access-vnc-endpoint-modal.mjs.map +1 -1
  109. package/fesm2022/c8y-ngx-components-remote-access-vnc-vnc-viewer.mjs +1 -1
  110. package/fesm2022/c8y-ngx-components-remote-access-vnc-vnc-viewer.mjs.map +1 -1
  111. package/fesm2022/c8y-ngx-components-repository-firmware.mjs +1 -1
  112. package/fesm2022/c8y-ngx-components-repository-firmware.mjs.map +1 -1
  113. package/fesm2022/c8y-ngx-components-static-assets-modal.mjs +1 -1
  114. package/fesm2022/c8y-ngx-components-static-assets-modal.mjs.map +1 -1
  115. package/fesm2022/c8y-ngx-components-time-context.mjs +1 -1
  116. package/fesm2022/c8y-ngx-components-time-context.mjs.map +1 -1
  117. package/fesm2022/c8y-ngx-components-translation-editor-lazy.mjs +1 -1
  118. package/fesm2022/c8y-ngx-components-translation-editor-lazy.mjs.map +1 -1
  119. package/fesm2022/c8y-ngx-components-widgets-definitions-alarms-alarm-list.mjs +1 -1
  120. package/fesm2022/c8y-ngx-components-widgets-definitions-alarms-alarm-list.mjs.map +1 -1
  121. package/fesm2022/c8y-ngx-components-widgets-definitions-alarms-all-critical-alarms.mjs +4 -5
  122. package/fesm2022/c8y-ngx-components-widgets-definitions-alarms-all-critical-alarms.mjs.map +1 -1
  123. package/fesm2022/c8y-ngx-components-widgets-definitions-alarms-recent-alarms.mjs +4 -5
  124. package/fesm2022/c8y-ngx-components-widgets-definitions-alarms-recent-alarms.mjs.map +1 -1
  125. package/fesm2022/c8y-ngx-components-widgets-definitions-asset-notes.mjs +1 -1
  126. package/fesm2022/c8y-ngx-components-widgets-definitions-asset-notes.mjs.map +1 -1
  127. package/fesm2022/c8y-ngx-components-widgets-definitions-asset-table.mjs +1 -1
  128. package/fesm2022/c8y-ngx-components-widgets-definitions-asset-table.mjs.map +1 -1
  129. package/fesm2022/c8y-ngx-components-widgets-definitions-datapoints-graph.mjs +1 -1
  130. package/fesm2022/c8y-ngx-components-widgets-definitions-datapoints-graph.mjs.map +1 -1
  131. package/fesm2022/c8y-ngx-components-widgets-definitions-datapoints-table.mjs +1 -1
  132. package/fesm2022/c8y-ngx-components-widgets-definitions-datapoints-table.mjs.map +1 -1
  133. package/fesm2022/c8y-ngx-components-widgets-definitions-device-control-message.mjs +1 -1
  134. package/fesm2022/c8y-ngx-components-widgets-definitions-device-control-message.mjs.map +1 -1
  135. package/fesm2022/c8y-ngx-components-widgets-definitions-event-list.mjs +39 -1
  136. package/fesm2022/c8y-ngx-components-widgets-definitions-event-list.mjs.map +1 -1
  137. package/fesm2022/c8y-ngx-components-widgets-definitions-html-widget.mjs +77 -5
  138. package/fesm2022/c8y-ngx-components-widgets-definitions-html-widget.mjs.map +1 -1
  139. package/fesm2022/c8y-ngx-components-widgets-definitions-image.mjs +1 -1
  140. package/fesm2022/c8y-ngx-components-widgets-definitions-image.mjs.map +1 -1
  141. package/fesm2022/c8y-ngx-components-widgets-definitions-info-gauge.mjs +1 -1
  142. package/fesm2022/c8y-ngx-components-widgets-definitions-info-gauge.mjs.map +1 -1
  143. package/fesm2022/c8y-ngx-components-widgets-definitions-kpi.mjs +1 -1
  144. package/fesm2022/c8y-ngx-components-widgets-definitions-kpi.mjs.map +1 -1
  145. package/fesm2022/c8y-ngx-components-widgets-definitions-linear-gauge.mjs +1 -1
  146. package/fesm2022/c8y-ngx-components-widgets-definitions-linear-gauge.mjs.map +1 -1
  147. package/fesm2022/c8y-ngx-components-widgets-definitions-map.mjs +1 -1
  148. package/fesm2022/c8y-ngx-components-widgets-definitions-map.mjs.map +1 -1
  149. package/fesm2022/c8y-ngx-components-widgets-definitions-markdown.mjs +1 -1
  150. package/fesm2022/c8y-ngx-components-widgets-definitions-markdown.mjs.map +1 -1
  151. package/fesm2022/c8y-ngx-components-widgets-definitions-radial-gauge.mjs +1 -1
  152. package/fesm2022/c8y-ngx-components-widgets-definitions-radial-gauge.mjs.map +1 -1
  153. package/fesm2022/c8y-ngx-components-widgets-definitions-silo.mjs +1 -1
  154. package/fesm2022/c8y-ngx-components-widgets-definitions-silo.mjs.map +1 -1
  155. package/fesm2022/c8y-ngx-components-widgets-definitions-three-d-rotation.mjs +1 -1
  156. package/fesm2022/c8y-ngx-components-widgets-definitions-three-d-rotation.mjs.map +1 -1
  157. package/fesm2022/c8y-ngx-components-widgets-implementations-alarms.mjs +67 -60
  158. package/fesm2022/c8y-ngx-components-widgets-implementations-alarms.mjs.map +1 -1
  159. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-graph.mjs +1 -1
  160. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-graph.mjs.map +1 -1
  161. package/fesm2022/c8y-ngx-components-widgets-implementations-events.mjs +236 -0
  162. package/fesm2022/c8y-ngx-components-widgets-implementations-events.mjs.map +1 -0
  163. package/fesm2022/c8y-ngx-components-widgets-implementations-html-widget.mjs +271 -31
  164. package/fesm2022/c8y-ngx-components-widgets-implementations-html-widget.mjs.map +1 -1
  165. package/fesm2022/c8y-ngx-components-widgets-implementations-image.mjs +1 -1
  166. package/fesm2022/c8y-ngx-components-widgets-implementations-image.mjs.map +1 -1
  167. package/fesm2022/c8y-ngx-components-widgets-implementations-info-gauge.mjs +2 -2
  168. package/fesm2022/c8y-ngx-components-widgets-implementations-info-gauge.mjs.map +1 -1
  169. package/fesm2022/c8y-ngx-components-widgets-implementations-kpi.mjs +1 -1
  170. package/fesm2022/c8y-ngx-components-widgets-implementations-kpi.mjs.map +1 -1
  171. package/fesm2022/c8y-ngx-components-widgets-implementations-linear-gauge.mjs +1 -1
  172. package/fesm2022/c8y-ngx-components-widgets-implementations-linear-gauge.mjs.map +1 -1
  173. package/fesm2022/c8y-ngx-components-widgets-implementations-map.mjs +1 -1
  174. package/fesm2022/c8y-ngx-components-widgets-implementations-map.mjs.map +1 -1
  175. package/fesm2022/c8y-ngx-components.mjs +380 -170
  176. package/fesm2022/c8y-ngx-components.mjs.map +1 -1
  177. package/file-preview/index.d.ts +7 -6
  178. package/file-preview/index.d.ts.map +1 -1
  179. package/global-context/index.d.ts +90 -1
  180. package/global-context/index.d.ts.map +1 -1
  181. package/index.d.ts +116 -15
  182. package/index.d.ts.map +1 -1
  183. package/locales/de.po +120 -3
  184. package/locales/es.po +120 -3
  185. package/locales/fr.po +120 -3
  186. package/locales/ja_JP.po +120 -3
  187. package/locales/ko.po +120 -3
  188. package/locales/locales.pot +120 -3
  189. package/locales/nl.po +120 -3
  190. package/locales/pl.po +120 -3
  191. package/locales/pt_BR.po +120 -3
  192. package/locales/zh_CN.po +120 -3
  193. package/locales/zh_TW.po +120 -3
  194. package/package.json +1 -1
  195. package/widgets/definitions/alarms/all-critical-alarms/index.d.ts +1 -2
  196. package/widgets/definitions/alarms/all-critical-alarms/index.d.ts.map +1 -1
  197. package/widgets/definitions/alarms/recent-alarms/index.d.ts +1 -2
  198. package/widgets/definitions/alarms/recent-alarms/index.d.ts.map +1 -1
  199. package/widgets/definitions/event-list/index.d.ts +44 -1
  200. package/widgets/definitions/event-list/index.d.ts.map +1 -1
  201. package/widgets/implementations/alarms/index.d.ts +8 -1
  202. package/widgets/implementations/alarms/index.d.ts.map +1 -1
  203. package/widgets/implementations/events/index.d.ts +89 -0
  204. package/widgets/implementations/events/index.d.ts.map +1 -0
  205. package/widgets/implementations/html-widget/index.d.ts +69 -9
  206. package/widgets/implementations/html-widget/index.d.ts.map +1 -1
  207. package/fesm2022/c8y-ngx-components-dashboard-details-advanced-tab-dashboard-details-advanced-tab.component-Cek3_qZQ.mjs.map +0 -1
@@ -1,6 +1,8 @@
1
1
  import { gettext } from '@c8y/ngx-components/gettext';
2
+ import { DynamicComponentErrorStrategy, DynamicManagedObjectResolver, hookWidget } from '@c8y/ngx-components';
2
3
  import { hookWidgetConfig } from '@c8y/ngx-components/context-dashboard';
3
4
  import { defaultWidgetIds } from '@c8y/ngx-components/widgets/definitions';
5
+ import { importConfigWithDevice, exportConfigWithDevice } from '@c8y/ngx-components/widgets/import-export-config';
4
6
  import { defineWidgetControls } from '@c8y/ngx-components/global-context';
5
7
 
6
8
  const eventListWidgetControls = defineWidgetControls({
@@ -90,7 +92,43 @@ const eventListWidgetControls = defineWidgetControls({
90
92
  }
91
93
  });
92
94
 
95
+ const eventListWidgetDefinition = {
96
+ id: defaultWidgetIds.EVENT_LIST,
97
+ label: gettext('Event list'),
98
+ description: gettext('Displays a list of events filtered by object, type and date'),
99
+ loadComponent: () => import('@c8y/ngx-components/widgets/implementations/events').then(m => m.EventListWidgetComponent),
100
+ loadConfigComponent: () => import('@c8y/ngx-components/widgets/implementations/events').then(m => m.EventListWidgetConfigComponent),
101
+ previewImage: 'c8y-style-assets/event-list-widget.png',
102
+ resolve: {
103
+ device: DynamicManagedObjectResolver
104
+ },
105
+ errorStrategy: DynamicComponentErrorStrategy.OVERLAY_ERROR,
106
+ data: {
107
+ schema: () => import('c8y-schema-loader?interfaceName=EventListWidgetConfig!@c8y/ngx-components/widgets/implementations/events'),
108
+ export: exportConfigWithDevice,
109
+ import: importConfigWithDevice,
110
+ settings: {
111
+ noNewWidgets: false,
112
+ widgetDefaults: {
113
+ _width: 8,
114
+ _height: 4
115
+ },
116
+ ng1: {
117
+ options: {
118
+ noDeviceTarget: false,
119
+ groupsSelectable: true,
120
+ deviceTargetNotRequired: true
121
+ }
122
+ }
123
+ },
124
+ displaySettings: {
125
+ globalTimeContext: true,
126
+ globalAutoRefreshContext: true
127
+ }
128
+ }
129
+ };
93
130
  const eventListWidgetProviders = [
131
+ hookWidget(eventListWidgetDefinition),
94
132
  hookWidgetConfig({
95
133
  widgetId: defaultWidgetIds.EVENT_LIST,
96
134
  priority: 10,
@@ -106,5 +144,5 @@ const eventListWidgetProviders = [
106
144
  * Generated bundle index. Do not edit.
107
145
  */
108
146
 
109
- export { eventListWidgetProviders };
147
+ export { eventListWidgetDefinition, eventListWidgetProviders };
110
148
  //# sourceMappingURL=c8y-ngx-components-widgets-definitions-event-list.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"c8y-ngx-components-widgets-definitions-event-list.mjs","sources":["../../widgets/definitions/event-list/event-list-widget-controls-definition.ts","../../widgets/definitions/event-list/index.ts","../../widgets/definitions/event-list/c8y-ngx-components-widgets-definitions-event-list.ts"],"sourcesContent":["import { defineWidgetControls } from '@c8y/ngx-components/global-context';\n\nexport const eventListWidgetControls = defineWidgetControls({\n name: 'event-list-widget',\n supports: ['timeRange', 'liveRefresh', 'displayMode', 'refreshInterval', 'refreshOption'],\n settings: {\n dashboard: {\n live: {\n inline: {\n showAutoRefresh: true,\n showTimeContext: true,\n showRefreshInterval: true\n }\n },\n history: {\n inline: {\n showTimeContext: true\n }\n }\n },\n config: {\n live: {\n inline: {\n showAutoRefresh: true,\n showTimeContext: false,\n showAggregation: false\n },\n configuration: {\n showTimeContext: true,\n showAutoRefresh: true,\n showAggregation: false\n }\n },\n history: {\n inline: {\n showRefresh: true,\n showTimeContext: false,\n showAggregation: false\n },\n configuration: {\n showAutoRefresh: false,\n showRefreshInterval: false,\n showTimeContext: true,\n showAggregation: false\n }\n }\n },\n viewAndConfig: {\n live: {\n inline: {\n showAutoRefresh: true,\n showRefreshInterval: true,\n showTimeContext: true,\n showAggregation: false\n },\n configuration: {\n showAutoRefresh: true,\n showRefreshInterval: true,\n showTimeContext: true,\n showAggregation: false\n }\n },\n history: {\n inline: {\n showTimeContext: true,\n showAggregation: false\n },\n configuration: {\n showTimeContext: true,\n showAggregation: false\n }\n }\n },\n defaultLinks: {\n config: {},\n dashboard: {\n live: {\n dateTimeContext: true,\n isAutoRefreshEnabled: true\n },\n history: {\n dateTimeContext: true\n }\n },\n viewAndConfig: {}\n }\n }\n});\n","import { gettext } from '@c8y/ngx-components/gettext';\nimport {\n GlobalContextSectionComponent,\n hookWidgetConfig\n} from '@c8y/ngx-components/context-dashboard';\nimport { defaultWidgetIds } from '@c8y/ngx-components/widgets/definitions';\nimport { eventListWidgetControls } from './event-list-widget-controls-definition';\n\nexport const eventListWidgetProviders = [\n hookWidgetConfig<GlobalContextSectionComponent>({\n widgetId: defaultWidgetIds.EVENT_LIST,\n priority: 10,\n label: gettext('Time context'),\n initialState: {\n widgetControls: eventListWidgetControls\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":";;;;;AAEO,MAAM,uBAAuB,GAAG,oBAAoB,CAAC;AAC1D,IAAA,IAAI,EAAE,mBAAmB;IACzB,QAAQ,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,eAAe,CAAC;AACzF,IAAA,QAAQ,EAAE;AACR,QAAA,SAAS,EAAE;AACT,YAAA,IAAI,EAAE;AACJ,gBAAA,MAAM,EAAE;AACN,oBAAA,eAAe,EAAE,IAAI;AACrB,oBAAA,eAAe,EAAE,IAAI;AACrB,oBAAA,mBAAmB,EAAE;AACtB;AACF,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA,MAAM,EAAE;AACN,oBAAA,eAAe,EAAE;AAClB;AACF;AACF,SAAA;AACD,QAAA,MAAM,EAAE;AACN,YAAA,IAAI,EAAE;AACJ,gBAAA,MAAM,EAAE;AACN,oBAAA,eAAe,EAAE,IAAI;AACrB,oBAAA,eAAe,EAAE,KAAK;AACtB,oBAAA,eAAe,EAAE;AAClB,iBAAA;AACD,gBAAA,aAAa,EAAE;AACb,oBAAA,eAAe,EAAE,IAAI;AACrB,oBAAA,eAAe,EAAE,IAAI;AACrB,oBAAA,eAAe,EAAE;AAClB;AACF,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA,MAAM,EAAE;AACN,oBAAA,WAAW,EAAE,IAAI;AACjB,oBAAA,eAAe,EAAE,KAAK;AACtB,oBAAA,eAAe,EAAE;AAClB,iBAAA;AACD,gBAAA,aAAa,EAAE;AACb,oBAAA,eAAe,EAAE,KAAK;AACtB,oBAAA,mBAAmB,EAAE,KAAK;AAC1B,oBAAA,eAAe,EAAE,IAAI;AACrB,oBAAA,eAAe,EAAE;AAClB;AACF;AACF,SAAA;AACD,QAAA,aAAa,EAAE;AACb,YAAA,IAAI,EAAE;AACJ,gBAAA,MAAM,EAAE;AACN,oBAAA,eAAe,EAAE,IAAI;AACrB,oBAAA,mBAAmB,EAAE,IAAI;AACzB,oBAAA,eAAe,EAAE,IAAI;AACrB,oBAAA,eAAe,EAAE;AAClB,iBAAA;AACD,gBAAA,aAAa,EAAE;AACb,oBAAA,eAAe,EAAE,IAAI;AACrB,oBAAA,mBAAmB,EAAE,IAAI;AACzB,oBAAA,eAAe,EAAE,IAAI;AACrB,oBAAA,eAAe,EAAE;AAClB;AACF,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA,MAAM,EAAE;AACN,oBAAA,eAAe,EAAE,IAAI;AACrB,oBAAA,eAAe,EAAE;AAClB,iBAAA;AACD,gBAAA,aAAa,EAAE;AACb,oBAAA,eAAe,EAAE,IAAI;AACrB,oBAAA,eAAe,EAAE;AAClB;AACF;AACF,SAAA;AACD,QAAA,YAAY,EAAE;AACZ,YAAA,MAAM,EAAE,EAAE;AACV,YAAA,SAAS,EAAE;AACT,gBAAA,IAAI,EAAE;AACJ,oBAAA,eAAe,EAAE,IAAI;AACrB,oBAAA,oBAAoB,EAAE;AACvB,iBAAA;AACD,gBAAA,OAAO,EAAE;AACP,oBAAA,eAAe,EAAE;AAClB;AACF,aAAA;AACD,YAAA,aAAa,EAAE;AAChB;AACF;AACF,CAAA,CAAC;;AC/EK,MAAM,wBAAwB,GAAG;AACtC,IAAA,gBAAgB,CAAgC;QAC9C,QAAQ,EAAE,gBAAgB,CAAC,UAAU;AACrC,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;;;AClBH;;AAEG;;;;"}
1
+ {"version":3,"file":"c8y-ngx-components-widgets-definitions-event-list.mjs","sources":["../../widgets/definitions/event-list/event-list-widget-controls-definition.ts","../../widgets/definitions/event-list/index.ts","../../widgets/definitions/event-list/c8y-ngx-components-widgets-definitions-event-list.ts"],"sourcesContent":["import { defineWidgetControls } from '@c8y/ngx-components/global-context';\n\nexport const eventListWidgetControls = defineWidgetControls({\n name: 'event-list-widget',\n supports: ['timeRange', 'liveRefresh', 'displayMode', 'refreshInterval', 'refreshOption'],\n settings: {\n dashboard: {\n live: {\n inline: {\n showAutoRefresh: true,\n showTimeContext: true,\n showRefreshInterval: true\n }\n },\n history: {\n inline: {\n showTimeContext: true\n }\n }\n },\n config: {\n live: {\n inline: {\n showAutoRefresh: true,\n showTimeContext: false,\n showAggregation: false\n },\n configuration: {\n showTimeContext: true,\n showAutoRefresh: true,\n showAggregation: false\n }\n },\n history: {\n inline: {\n showRefresh: true,\n showTimeContext: false,\n showAggregation: false\n },\n configuration: {\n showAutoRefresh: false,\n showRefreshInterval: false,\n showTimeContext: true,\n showAggregation: false\n }\n }\n },\n viewAndConfig: {\n live: {\n inline: {\n showAutoRefresh: true,\n showRefreshInterval: true,\n showTimeContext: true,\n showAggregation: false\n },\n configuration: {\n showAutoRefresh: true,\n showRefreshInterval: true,\n showTimeContext: true,\n showAggregation: false\n }\n },\n history: {\n inline: {\n showTimeContext: true,\n showAggregation: false\n },\n configuration: {\n showTimeContext: true,\n showAggregation: false\n }\n }\n },\n defaultLinks: {\n config: {},\n dashboard: {\n live: {\n dateTimeContext: true,\n isAutoRefreshEnabled: true\n },\n history: {\n dateTimeContext: true\n }\n },\n viewAndConfig: {}\n }\n }\n});\n","import { gettext } from '@c8y/ngx-components/gettext';\nimport {\n type DynamicWidgetDefinition,\n DynamicComponentErrorStrategy,\n DynamicManagedObjectResolver,\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 exportConfigWithDevice,\n importConfigWithDevice\n} from '@c8y/ngx-components/widgets/import-export-config';\nimport { eventListWidgetControls } from './event-list-widget-controls-definition';\n\nexport const eventListWidgetDefinition = {\n id: defaultWidgetIds.EVENT_LIST,\n label: gettext('Event list'),\n description: gettext('Displays a list of events filtered by object, type and date'),\n loadComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/events').then(\n m => m.EventListWidgetComponent\n ),\n loadConfigComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/events').then(\n m => m.EventListWidgetConfigComponent\n ),\n previewImage: 'c8y-style-assets/event-list-widget.png',\n resolve: {\n device: DynamicManagedObjectResolver\n },\n errorStrategy: DynamicComponentErrorStrategy.OVERLAY_ERROR,\n data: {\n schema: () =>\n import(\n 'c8y-schema-loader?interfaceName=EventListWidgetConfig!@c8y/ngx-components/widgets/implementations/events'\n ),\n export: exportConfigWithDevice,\n import: importConfigWithDevice,\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: true,\n globalAutoRefreshContext: true\n }\n }\n} satisfies DynamicWidgetDefinition;\n\nexport const eventListWidgetProviders = [\n hookWidget(eventListWidgetDefinition),\n hookWidgetConfig<GlobalContextSectionComponent>({\n widgetId: defaultWidgetIds.EVENT_LIST,\n priority: 10,\n label: gettext('Time context'),\n initialState: {\n widgetControls: eventListWidgetControls\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":";;;;;;;AAEO,MAAM,uBAAuB,GAAG,oBAAoB,CAAC;AAC1D,IAAA,IAAI,EAAE,mBAAmB;IACzB,QAAQ,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,eAAe,CAAC;AACzF,IAAA,QAAQ,EAAE;AACR,QAAA,SAAS,EAAE;AACT,YAAA,IAAI,EAAE;AACJ,gBAAA,MAAM,EAAE;AACN,oBAAA,eAAe,EAAE,IAAI;AACrB,oBAAA,eAAe,EAAE,IAAI;AACrB,oBAAA,mBAAmB,EAAE;AACtB;AACF,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA,MAAM,EAAE;AACN,oBAAA,eAAe,EAAE;AAClB;AACF;AACF,SAAA;AACD,QAAA,MAAM,EAAE;AACN,YAAA,IAAI,EAAE;AACJ,gBAAA,MAAM,EAAE;AACN,oBAAA,eAAe,EAAE,IAAI;AACrB,oBAAA,eAAe,EAAE,KAAK;AACtB,oBAAA,eAAe,EAAE;AAClB,iBAAA;AACD,gBAAA,aAAa,EAAE;AACb,oBAAA,eAAe,EAAE,IAAI;AACrB,oBAAA,eAAe,EAAE,IAAI;AACrB,oBAAA,eAAe,EAAE;AAClB;AACF,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA,MAAM,EAAE;AACN,oBAAA,WAAW,EAAE,IAAI;AACjB,oBAAA,eAAe,EAAE,KAAK;AACtB,oBAAA,eAAe,EAAE;AAClB,iBAAA;AACD,gBAAA,aAAa,EAAE;AACb,oBAAA,eAAe,EAAE,KAAK;AACtB,oBAAA,mBAAmB,EAAE,KAAK;AAC1B,oBAAA,eAAe,EAAE,IAAI;AACrB,oBAAA,eAAe,EAAE;AAClB;AACF;AACF,SAAA;AACD,QAAA,aAAa,EAAE;AACb,YAAA,IAAI,EAAE;AACJ,gBAAA,MAAM,EAAE;AACN,oBAAA,eAAe,EAAE,IAAI;AACrB,oBAAA,mBAAmB,EAAE,IAAI;AACzB,oBAAA,eAAe,EAAE,IAAI;AACrB,oBAAA,eAAe,EAAE;AAClB,iBAAA;AACD,gBAAA,aAAa,EAAE;AACb,oBAAA,eAAe,EAAE,IAAI;AACrB,oBAAA,mBAAmB,EAAE,IAAI;AACzB,oBAAA,eAAe,EAAE,IAAI;AACrB,oBAAA,eAAe,EAAE;AAClB;AACF,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA,MAAM,EAAE;AACN,oBAAA,eAAe,EAAE,IAAI;AACrB,oBAAA,eAAe,EAAE;AAClB,iBAAA;AACD,gBAAA,aAAa,EAAE;AACb,oBAAA,eAAe,EAAE,IAAI;AACrB,oBAAA,eAAe,EAAE;AAClB;AACF;AACF,SAAA;AACD,QAAA,YAAY,EAAE;AACZ,YAAA,MAAM,EAAE,EAAE;AACV,YAAA,SAAS,EAAE;AACT,gBAAA,IAAI,EAAE;AACJ,oBAAA,eAAe,EAAE,IAAI;AACrB,oBAAA,oBAAoB,EAAE;AACvB,iBAAA;AACD,gBAAA,OAAO,EAAE;AACP,oBAAA,eAAe,EAAE;AAClB;AACF,aAAA;AACD,YAAA,aAAa,EAAE;AAChB;AACF;AACF,CAAA,CAAC;;ACrEK,MAAM,yBAAyB,GAAG;IACvC,EAAE,EAAE,gBAAgB,CAAC,UAAU;AAC/B,IAAA,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC;AAC5B,IAAA,WAAW,EAAE,OAAO,CAAC,6DAA6D,CAAC;AACnF,IAAA,aAAa,EAAE,MACb,OAAO,oDAAoD,CAAC,CAAC,IAAI,CAC/D,CAAC,IAAI,CAAC,CAAC,wBAAwB,CAChC;AACH,IAAA,mBAAmB,EAAE,MACnB,OAAO,oDAAoD,CAAC,CAAC,IAAI,CAC/D,CAAC,IAAI,CAAC,CAAC,8BAA8B,CACtC;AACH,IAAA,YAAY,EAAE,wCAAwC;AACtD,IAAA,OAAO,EAAE;AACP,QAAA,MAAM,EAAE;AACT,KAAA;IACD,aAAa,EAAE,6BAA6B,CAAC,aAAa;AAC1D,IAAA,IAAI,EAAE;AACJ,QAAA,MAAM,EAAE,MACN,OACE,0GAA0G,CAC3G;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,aAAA;AACD,YAAA,GAAG,EAAE;AACH,gBAAA,OAAO,EAAE;AACP,oBAAA,cAAc,EAAE,KAAK;AACrB,oBAAA,gBAAgB,EAAE,IAAI;AACtB,oBAAA,uBAAuB,EAAE;AAC1B;AACF;AACF,SAAA;AACD,QAAA,eAAe,EAAE;AACf,YAAA,iBAAiB,EAAE,IAAI;AACvB,YAAA,wBAAwB,EAAE;AAC3B;AACF;;AAGI,MAAM,wBAAwB,GAAG;IACtC,UAAU,CAAC,yBAAyB,CAAC;AACrC,IAAA,gBAAgB,CAAgC;QAC9C,QAAQ,EAAE,gBAAgB,CAAC,UAAU;AACrC,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;;;AC1EH;;AAEG;;;;"}
@@ -1,10 +1,11 @@
1
- import { PreviewService, DynamicManagedObjectResolver, hookWidget, hookPreview } from '@c8y/ngx-components';
2
- import { hookWidgetConfig } from '@c8y/ngx-components/context-dashboard';
1
+ import { PreviewService, DynamicManagedObjectResolver, WIDGET_CONFIGURATION_GRID_SIZE, hookWidget, hookPreview } from '@c8y/ngx-components';
2
+ import { quoteAndEscape, hookWidgetConfig } from '@c8y/ngx-components/context-dashboard';
3
3
  import * as i0 from '@angular/core';
4
4
  import { inject, Injectable } from '@angular/core';
5
5
  import { gettext } from '@c8y/ngx-components/gettext';
6
6
  import { map } from 'rxjs';
7
7
  import { defaultWidgetIds } from '@c8y/ngx-components/widgets/definitions';
8
+ import { PRESET_NAME } from '@c8y/ngx-components/global-context';
8
9
  import { importConfigWithDevice, exportConfigWithDevice } from '@c8y/ngx-components/widgets/import-export-config';
9
10
 
10
11
  class HtmlWidgetConfigFactory {
@@ -27,8 +28,78 @@ class HtmlWidgetConfigFactory {
27
28
  {
28
29
  widgetId: defaultWidgetIds.HTML,
29
30
  label: gettext('Asset properties'),
30
- loadComponent: () => import('@c8y/ngx-components/widgets/implementations/html-widget').then(m => m.HtmlWidgetPropertiesSelectorComponent),
31
- priority: 50
31
+ loadComponent: () => import('@c8y/ngx-components/context-dashboard').then(m => m.AssetPropertyMappingsComponent),
32
+ priority: 70,
33
+ initialState: {
34
+ widgetConfigPath: ['properties'],
35
+ initialMappings: {
36
+ lastUpdated: {
37
+ label: 'Last updated',
38
+ assetProperty: {
39
+ c8y_JsonSchema: {
40
+ properties: {
41
+ lastUpdated: {
42
+ type: 'string',
43
+ label: 'Last updated'
44
+ }
45
+ }
46
+ },
47
+ name: 'lastUpdated',
48
+ label: 'Last updated',
49
+ type: 'string',
50
+ isEditable: false,
51
+ isStandardProperty: true,
52
+ active: true
53
+ }
54
+ },
55
+ lastDeviceMessage: {
56
+ label: 'Last device message',
57
+ assetProperty: {
58
+ c8y_JsonSchema: {
59
+ properties: {
60
+ lastDeviceMessage: {
61
+ label: 'Last device message',
62
+ type: 'string'
63
+ }
64
+ }
65
+ },
66
+ name: 'lastDeviceMessage',
67
+ label: 'Last device message',
68
+ printFormat: 'datetime',
69
+ type: 'string',
70
+ computed: true,
71
+ isEditable: false,
72
+ isStandardProperty: true,
73
+ active: true
74
+ }
75
+ }
76
+ },
77
+ allowAddingNewMappings: true,
78
+ allowRenamingMappings: true,
79
+ allowRelabellingMappings: false,
80
+ allowEditingMappings: true,
81
+ allowRemovingMappings: true,
82
+ showLabels: false,
83
+ showNames: true,
84
+ showAssets: true,
85
+ showValues: true,
86
+ onBeforeCopyMappingToClipboard: (mapping) => {
87
+ const nonAlphanumericRegex = /[^a-zA-Z0-9]/;
88
+ const name = String(mapping.name);
89
+ const nameQuotedEscaped = quoteAndEscape(name);
90
+ const key = nonAlphanumericRegex.test(name) ? `[${nameQuotedEscaped}]` : name;
91
+ return '${this.c8yProperties?.' + key + '}';
92
+ }
93
+ }
94
+ },
95
+ {
96
+ widgetId: defaultWidgetIds.HTML,
97
+ priority: 40,
98
+ label: gettext('Time context'),
99
+ initialState: {
100
+ controls: PRESET_NAME.AUTO_REFRESH_ONLY_CONFIG
101
+ },
102
+ loadComponent: () => import('@c8y/ngx-components/context-dashboard').then(m => m.GlobalContextSectionComponent)
32
103
  },
33
104
  {
34
105
  widgetId: defaultWidgetIds.HTML,
@@ -70,11 +141,12 @@ class HtmlWidgetFactory {
70
141
  loadComponent: () => import('@c8y/ngx-components/widgets/implementations/html-widget').then(m => m.HtmlWidgetComponent),
71
142
  previewImage: 'c8y-style-assets/html-widget-pr.png',
72
143
  data: {
73
- 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'),
74
145
  export: exportConfigWithDevice,
75
146
  import: importConfigWithDevice,
76
147
  settings: {
77
148
  noNewWidgets: false,
149
+ configurationViewGridSize: WIDGET_CONFIGURATION_GRID_SIZE.HALF,
78
150
  widgetDefaults: {
79
151
  _width: 8,
80
152
  _height: 4
@@ -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 { WidgetConfigSectionDefinition } from '@c8y/ngx-components/context-dashboard';\nimport { map, Observable } from 'rxjs';\nimport { defaultWidgetIds } from '@c8y/ngx-components/widgets/definitions';\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/widgets/implementations/html-widget').then(\n m => m.HtmlWidgetPropertiesSelectorComponent\n ),\n priority: 50\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} 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 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":"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"}
@@ -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;;;;"}
@@ -23,7 +23,7 @@ const siloWidgetDefinition = {
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: {